Objektna tehnologija v Sloveniji



Miro Lozej, MAOP Računalniški inženiring d.o.o.
Objekti so najprej v glavi
Ob razvoju tehnologije uporabniki zahtevajo rešitve, ki jih z objektnim pristopom gradimo najlažje. Objektno usmerjena razvojna orodja podpirajo koncepte, v veliki meri pa jih lahko koristno upoštevamo tudi ob drugih razvojnih orodjih. V prispevku bomo opisali izkušnje, ki smo jih na MAOP pridobili pri razvoju poslovnih aplikacij z orodji Oracle Designer/2000 in Developer/2000, in pri tem uporabili nekatera načela objektne usmerjenosti.

Matevž Rostaher, Andrej Kline, Peter Repinc, , OdaTeam d.o.o.
Proces skupinskega razvoja kakovostnih objektnih in komponentnih aplikacij
(Extreme Programming)

V podjetju OdaTeam se že celo desetletje uspešno ukvarjamo s projekti, ki temeljijo na objektni tehnologiji. Objektna tehnologija sama še ne zagotavlja uspeha. Zelo pomembni so odnosi, ki vladajo v razvojni skupini. Ideja ekstremnega programiranja temelji na udarni skupini, ki goji skupinsko zavest in razmišljanje ter si sama postavlja pravila. Za delo v skupini je pomembna dobra komunikacija tako med stranko in razvijalci kot med razvijalci samimi. Prav tako pomembno je tudi testiranje, ki nam omogoča, da preverimo ali je skupina uspešna. Če želimo delati udarno je ključnega pomena tudi enostavnost. Razvijamo natančno to kar stranke potrebujejo in ne funkcionalnosti, ki bo morda potrebna v prihodnosti. Zgoraj naštete cilje dosežemo s t.i. lahkim procesom razvoja, ki se izogiba nepotrebni dokumentaciji in drugim balastom ter uvaja metode dela kot so skupinsko lastništvo izvorne kode, programiranje v parih in uporaba vzorcev. Naše izkušnje v zadnjem letu so pozitivne. Zvišala se je kakovost produktov in zadovoljstvo razvojne skupine.


Marko Krajnc, Andrej Krajnc, David Gorišek
XML - stari prah ali novi adut
Extensible Markup Language (XML) je novorojenec, katerega starši živijo že desetletja. Kljub delnemu uspehu njegovih prednikov mu mnogi napovedujejo svetlo prihodnost in so ga krstili za standard standardov. Prispevek obravnava poglavitne prednosti novinca, ki mu omogočajo izpolnitev svetlih napovedi, hkrati pa predstavlja področja na katerih bo XML odigral najpomembnejšo vlogo.

Robert Leskovar, FERI Maribor, Inštitut za informatiko
V novo tisočletje z Javo in XML
Svetovni splet predstavlja ocean podatkov, ki so v veliki večini predstavljeni brez znanja o njihovem pomenu. Ob današnjih potrebah in težnjah po sodelovanju organizacij in ljudi enakih strok, po sodelovanju podjetij v globalnem elektronskem poslovanju in po krojenju Spletnih storitev ter izdelkov glede na želje in potrebe posameznikov so stare tehnologije, ki so vezane v veliki meri na proizvajalca, preokorne in neprimerne. Verjetno je v tem razlog, da so prihod programskega jezika Java in jezika Extensible Markup Language (XML) spremljali navdušenje, odobravanje, pretiravanje in delovna vnema številnih podjetij, organizacij in posameznikov. V prispevku bomo pogledali, kakšne prednosti prinaša XML, kakšne so potrebe današnjih Spletnih aplikacij in kako jim lahko zadosti, ujemanje XML in Jave ter princip dela v Javi z dokumenti v XML.

Andrej Koman, Matjaž Trtnik, Robert Zevnik, Marko Šmid, Marko Kejžar, SRC INFO d.o.o.
Kaj je novega v svetu Jave
Ena od glavnih značilnosti uspešnih podjetij, ki si želijo zagotoviti prednost v boju s konkurenco je tudi uporaba sodobnih tehnologij. Prispevek opisuje novosti na področju JAVA tehnologije in projekt, na katerem smo jih uporabili pri enem od naših naročnikov. Projekt predstavlja hkrati tudi enega od možnih načinov prehoda iz starih aplikacij tipa odjemalec/strežnik na spletno arhitekturo.


Žiga Vaupot, Oracle Software d.o.o.
Java v podatkovni bazi
Oracle je z novo različico svoje podatkovne zbirke Oracle8i naredil zelo velik korak k uresničitvi svoje vizije internet računalništva. Oracle8i je danes na voljo in omogoča dostop do podatkov preko standardnih programskih vmesnikov, kot so različni tipi JDBC vmesnikov, ki so namenjeni različnim tipom uporabnikov. V Oracle8i je prvič implementiran nastajajoči standard SQLJ, ki bistveno poenostavlja dostop do podatkov iz Java aplikacije do relacijske baze podatkov. Osrednji del Oracla8i je vgrajena Java VM, ki omogoča zelo učinkovito, varno in prilagodljivo izvajanje Java aplikacij v podatkovni bazi. Oracle je v okviru Java VM zagotovil podporo izvajanju več programskim modelom, kot so Java shranjene procedure v bazi, Enterprise JavaBeans in CORBA objekti v bazi, ter Java Servlets. V Oracu8i je podprt dostop do baze tudi preko drugih protokolov, kot sta na primer HTTP in IIOP in ne več izključno z uporabo protokola Net8. Pri razvoju Java VM in ostalih elementov Oracle JServerja, Oracle sledi vsem dogovorjenim standardom in implementira svoje rešitve v skladu z njimi.

Boris Cimperman, Dominik Roblek, Marand d.o.o.
Sodobni aplikacijski strežniki
V prispevku so opisani glavni koncepti modernih aplikacijskih strežnikov. Predstavljena je kratka zgodovina razvoja aplikacijskih strežnikov. Zaradi velikega števila ponudnikov, so v glavnem delu prispevka predstavljeni kriteriji, ki naj bi vplivali na odločitev o izbiri produkta. Opisanih je več ponudnikov aplikacijskih strežnikov ter njihovih produktov, na koncu pa je izvršena krajša primerjava.

Matjaž B. Jurič, FERI Maribor, Inštitut za informatiko
Objektne transakcijske storitve modela CORBA
Vloga objektnih transakcijskih storitev je neprecenljiva pri izgradnji porazdeljenih objektnih informacijskih sistemov, pri razširitvi obstoječih sistemov in pri spletno-orientiranih aplikacijah. V prispevku je opredeljena vloga transakcijskih storitev napram sorodnim tehnologijam. Prikazana je arhitektura in način delovanja transakcijskih storitev modela CORBA in njihova povezava z obstoječimi sistemi. Narejen je pregled najpomembnejših implementacij omenjenega standarda in prikazani so kriteriji za njihovo izbiro.


Simon Beloglavec, FERI Maribor, Inštitut za informatiko
Prednosti in pasti ogrodij poslovnih objektov na primeru spletne aplikacije SFCash
Članek podaja izkušnje pridobljene na projektih, kjer je razvoj informacijskega sistema temeljil na uporabi objektno orientiranih poslovnih ogrodij. Uporaba ogrodja pri razvoju pomeni preskok v razvojni paradigmi in zahteva pridobitev novih znanj in izkušenj. Če govorimo v kontekstu spletnega informacijskega sistema, se ne moremo izogniti spoznavanju Jave in objektno orientiranega jezika za modeliranje UML. Za razvijalce obstoječih informacijskih sistemov to pomeni sprejetje novih načinov dela in skoraj praviloma popolno nov nabora načrtovalskih in razvojnih orodij. Vodja projekta pa mora pri določanju časovnega plana upoštevati množico dejavnikov, ki se pojavljajo z razvojem same Jave in spletnih tehnologij in v dosedanjih projektih niso bili toliko očitni. Namen članka je opozoriti na nekaj teh dejavnikov in opozoriti na prednosti ter slabosti, ki jih prinaša preskok paradigme.

Franjo Pustoslemšek, Anton Rozman, Matjaž Terglav, EMG d.d.
Izkušnje z razvojem in uporabo poslovnih objektov v Javi
Objektna tehnologija in Java ponujata edinstveno priložnost tistim podjetjem v IT industriji, ki hočejo iti v korak s hitro rastočo tehnologijo in hitrimi spremembami na tržišču zahtev. S tehnološke perspektive je potreba po neodvisnih rešitvah glede na strojno opremo in platformo večja kot kadarkoli prej. Prav tu igra Java zelo pomembno vlogo. Java dokazuje, da jo lahko uporabljamo za projekte, kjer se maksimalno približamo zahtevam podjetij ali ustanov glede na njihove posebnosti. IBM SanFrancisco lahko močno zmanjša trud, potreben za izgradnjo novih aplikacij.

Andrej Krajnc, Bojan Štok, Marjan Vaupotič, Institut informacijskih znanosti Maribor
Oblikovanje poročil z uporabo objektne in XML tehnologije
V času informacijske dobe postaja hitro in kvalitetno pridobivanje informacij vedno bolj pomemben dejavnik za uspešnost organizacij. Novim razmeram se morajo prilagoditi tudi sistemi za generiranje poročil, ki morajo vključiti čimveč prednosti, ki jih prinašajo nove tehnologije, kot so internet, java, XML, porazdeljeni sistemi (CORBA, DCOM, Enterprise JavaBeans) itd. Uporaba objektne tehnologije in tehnologije XML nam prinaša številne prednosti, ki jih prej nismo bili deležni. V sklopu programske opreme COBISS3 je bil razvit tudi segment COBISS3/Izpisi, ki se ukvarja z definiranjem in kreiranjem izpisov. V procesu prenove programske opreme COBISS je bila implementirana prva verzija segmenta COBISS3/Izpisi, ki temelji na uporabi objektne tehnologije in tehnologije XML.






David Gorišek, iFace AG
Zagotavljanje trajnosti Java objektov
Prispevek predstavlja možnosti shranjevanja Java objektov v podatkovne baze in različne pristope k implementaciji trajnih objektov. Poudarek prispevka je na interakciji med programerjem in podatkovno bazo. Na kratko so predstavljeni standardni Java vmesniki za dostop do podatkov v relacijskih in objektnih podatkovnih bazah, kot so JDBC, SQLJ in ODMG Java jezikovna povezava. Glede na to, da ima izbrana podatkovna baza in način interakcije z njo daljnosežen vpliv tako na arhitekturo celotnega sistema, kot tudi na potek projekta, je potrebno pri odločitvi upoštevati več vidikov. Potrebno je natančno definirati pravila za preslikavo objektnega modela v podatkovno bazo in določiti programski vmesnik za interakcijo s podatkovno bazo. Če tega predhodno ne definiramo bo postal razvoj vsake večje aplikacije z njeno rastjo vedno bolj nepregleden, njeno vzdrževanje pa bo zelo drago.

Janko Mivšek, EraNova d.o.o.
Zanesljivost in razpoložljivost objektnih sistemov
Objektni sistemi, ki temeljijo na troslojni arhitekturi, zahtevajo veliko zanesljivost drugega sloja - poslovnega modela ter tretjega sloja - podatkovne baze, saj v primeru izpada kateregakoli izmed njih izpade celoten sistem. V prispevku bomo predstavili naše rešitve za povečano odpornost proti izpadom obeh slojev na primeru sistema AIDA/Web - spletnega strežnika ter ogrodja za dinamične Internet/Intranet sisteme. AIDA/Web teče v okolju Smaltalk, ki je tesno povezan z objektno podatkovno bazo Gemstone. Prikazati želimo tudi ideje za še večjo razpoložljivost sistemov s povezovanjem le-teh v gručo (cluster), samodejnim prenašanjem poslov med njimi v primeru izpadov (failover) ter samodejnim razporejanjem poslov glede na obremenitev (load balancing).

Milan Gabor, FERI Maribor & HERMES SoftLab d.d.
Preverjanje varnosti računalniških sistemov ali pasti in nevarnosti omrežnega računalništva
V članku je predstavljen problem varnosti računalniških sistemov in način kako preveriti, ali je računalniški sistem varen. Predstavil bom tudi pričakovanja za letošnje leto in napovedi glede varnosti računalniških sistemov. Poleg tega se bom dotaknil problema komercialnih varnostnih orodij in na drugi strani orodij, ki so dostopna v celoti, torej s celotno izvorno kodo.


Bojan Štok, Robert Vehovec, Marko Krajnc , Institut informacijskih znanosti Maribor
Spletna arhitektura programske opreme COBISS3
V članku je predstavljena spletna arhitektura programske opreme COBISS3. Predstavljeno je tudi ogrodje, ki smo ga razvili in uporabili pri razvoju programske opreme COBISS3. Ogrodje na eni strani programerja razbremenjuje ponavljajočih se del, na drugi strani pa končnemu uporabniku nudi enoten uporabniški vmesnik za vse dele sistema. Pri razvoju aplikacije je potrebno opisati metamodel aplikacije, ki ga ogrodje uporablja za avtomatsko oblikovanje uporabniškega vmesnika, navigacijo, zaklepanje, odpiranje in zapiranje transakcij ter dostop do porazdeljenih objektov.

Mojca Indihar Štemberger, Jurij Jaklič, Ekonomska fakulteta Ljubljana
Vloga spletnega dokumenta v troslojni arhitekturi
V praksi se je pri razvoju informacijskih sistemov objektni pristop s svojimi prednostmi, ki jih prinaša, že dodobra uveljavil. Prav tako se širi uporaba troslojne arhitekture informacijskih sistemov, ki jo v večini primerov implementiramo z uporabo spletne tehnologije. Vendar je prav pri spletnih aplikacijah in dokumentih uporaba objektnega pristopa še vse preskromna. Za modeliranje spletnih aplikacij je možno in koristno uporabiti jezik UML z nekaterimi razširitvami. Novi standardi na področju tehnologije spleta, kot so HTML 4.0, CSS, XML in DOM, bodo prinesli mnoge pozitivne spremembe tudi pri razvoju in vzdrževanju spletnih dokumentov.

Štefan Trčko, IBM Slovenija d.o.o., Matija Drobnič, Alcad d.o.o.
Ogrodje za aplikacije elektronskega poslovanja in WebSphere
Internet je od svojih začetkov prehodil dolgo pot od vojaškega projekta prek akademskih okolij do svetovnega fenomena, danes pa predstavlja osnovo za nov tehnološki preskok. V svetu in pri nas podjetja pri načrtovanju in razvoju informacijskih sistemov vse bolj sprejemajo internetne tehnologije. Pri tem nova troslojna arhitektura informacijskih sistemov zamenjuje dosedanji model odjemalec-strežnik, tako da vse bolj govorimo o modelu odjemalec-storitev. Del poslovne logike se pri tej arhitekturi prenese na vmesni sloj, aplikacijski strežnik, s čimer povečamo robustnost in razširljivost sistema. Kot programski jezik za razvoj poslovnih aplikacij na aplikacijskem strežniku se spričo prednosti, ki jih prinaša njena predmetna usmerjenost in prenosljivost med različnimi platformami v zadnjem času vse bolj uveljavlja java.

Matej Trampuš, Matjaž Trontelj, ZASLON d.o.o.
Odprte tehnologije - osnova razvoja sodobnega elektronskega poslovanja
Za sodobne sisteme elektronskega poslovanja je značilno: široka paleta podprtih distribucijskih kanalov, uporaba odprtih standardov in povezljivost, visoka stopnja varnosti in zaščite, porazdeljenost in večkrat tudi decentraliziranost, tesno povezovanje z drugimi informacijskimi sistemi. Odprte tehnologije so osnova, ki omogoča razvoj in uporabo takih rešitev. V prispevku so z vidika medsebojnega povezovanja in dopolnjevanja opisane spletne tehnologije, komponento objektni model gradnje aplikacij, mehanizmi za dostop do različnih virov podatkov, uporaba XMLja, povezovanje brkljalnikov in klasičnih aplikacij, digitalni certifikati, certifikatski strežniki ter pametne kartice. V prispevku je poudarek dan na praktičnem znanju in izkušnjam s tega področja, ki so jih avtorji pridobili pri razvoju sistemov za elektronsko bančnitvo.


Aleš Živkovič, Ivan Rozman, FERI Maribor, Inštitut za informatiko
Značilnosti uspešnih projektov
Vedno znova se srečujemo z zastrašujočimi podatki o neuspešnosti programskih projektov. Razgrnili bomo rezultate, dobljene z izvedeno anketo, v kateri je bilo zajetih 106 programskih projektov, izvedenih v slovenskem prostoru in poskušali ocenit upravičenost do zaskrbljenosti. Nadalje bomo poiskali tiste dejavnike, ki ločijo uspešen projekt od neuspešnega in spregovorili o merilih uspešnosti. Ker na vseh področjih iščemo možnosti izboljševanja, je tudi na področju projektnega vodenja, le to aktualno in zaželeno. S vzpostavitvijo modela, ki omogoča ovrednotenje projekta pri določenem naboru parametrov in zbiranjem metričnih vrednosti za izvedene projekte lahko pripomoremo k boljšim rezultatom, manjšemu tveganju in večjemu deležu uspešnih zaključkov.

Robert Prebil
Vpliv obvladovanja zahtev na uspešnost projektov
Znano je dejstvo, da je so projekti v drugih industrijskih panogah precej bolj uspešni kot projekti razvoja programske opreme. Ali drugače povedano, statistike pravijo, da je verjetnost, da bo vaš IT projekt predrag, da bo zamujal in da ne bo zadovoljil pričakovanj vašega naročnika, približno 3-krat večja, kot pa, da bo projekt uspešen. Raziskave navajajo za to več vzrokov. Eden izmed njih je izvajalčevo slabo obvladovanja tako naročnikovih, kot pričakovanj, želja in zahtev končnih uporabnikov. Sestavek osvetljuje problematiko obvladovanja zahtev in poskuša odgovoriti na vprašanje, koliko lahko uspešno obvladovanje zahtev izboljša možnosti za uspeh projektov razvoja programske opreme.

Ninoslav Šimunović, TIS Zagreb
Novi pristopi k projektom z novimi tehnologijami
Pri projektih z uporabo nove tehnologije (to delo govori o novih tehnologijah za razvoj aplikacij) najpogosteje ne dosežemo želenih rezultatov. Morda pri projektih ni le tehnologija ključ uspeha. Zelo pogosto moramo hkrati z novo tehnologijo menjati tudi sebe in svoje okolje, da bi dosegli želene rezultate. Menjati tehnologijo ni lahko, menjati sebe in okolje pa je najpogosteje nemogoče. Projekti, ki jih začenjamo z novimi tehnologijami so običajno pilot projekti, ki nam lahko dajo grobo sliko, kako bi tehnologija pripomogla k reševanju specifičnih problemov. Realnost kaže, kako so lahko takšni projekti dober pokazatelj uporabe tehnologije. Še vedno je veliko število aplikacij narejenih z obstoječo (legacy) tehnologijo in gotovo jih je nemogoče v trenutku zamenjati. Praksa kaže, kako je večina današnjih projektov v bistvu kombinacija obstoječe in nove tehnologije in da pristopi k takšnim projektom zahtevajo določeno specifičnost.


Tomaž Domajnko, FERI Maribor, Inštitut za informatiko
Vzorci in Java
Kljub temu, da objektna tehnologija vzpodbuja delo na višjih nivojih abstrakcije, pa se največkrat ne zadevamo, da te pristope uporabljamo tudi na nivoju programske kode. V prispevku bomo prikazali, da predstavlja uporaba naprednih pristopov k razvoju enega od osnovnih načinov dela s programskim jezikom Java. Pravzaprav edini način. Pokazali bomo, da lahko skozi delo z jezikom Java identificiramo mnoge vzorce, ki so sicer v literaturi opisani kot element ponovne uporabe na najvišjem nivoju abstrakcije. V sklopu prispevka bomo prikazali, kako lahko tudi manj izkušeni razvijalci izkoristijo to lastnost jezika in s tem produktivneje in natančneje rešujejo problemske situacije.

Uroš Grajfoner, Matevž Rostaher, OdaTeam d.o.o.
Testiranje objektnih programskih sistemov
Objektna tehnologija nudi nove možnosti pri gradnji informacijskih sistemov, po drugi strani pa povzroča večjo nedoločenost pri definiciji tako vhodnih podatkov kot rezultatov. Zagotavljanje kakovosti je torej pred novimi izzivi. Na voljo je veliko strategij, ki dajejo smernice za pisanje kakovostne kode z izogibanjem nepotrebnih napak. Prav tako obstaja kopica metodologij in strategij testiranja, ki so v svetu dobro znane. V praksi pa se uporablja samo majhen delež le-teh, saj so večinoma zelo zapletene in časovno zelo zahtevne. Produkcijski termini in konkurenca terjajo od proizvajalcev vedno krajše razvojne cikle, zato se povpraševanje omejuje na hitre in enostavne metodologije, ki dajejo oprijemljive rezultate. Za ta prispevek sem izbral nekaj najatraktivnejših testnih metodologij in strategij izboljševanja kakovosti kode, na kratko pa sem predstavil tudi proces testiranja v našem podjetju.

Igor Zaverski, IZUM Maribor, Tomaž Dogša, FERI Maribor
Ortogonalna klasifikacija napak programov v C++
V prispevku je predstavljena klasifikacija napak, ki so značilne za objektno orientirane programe v C++. Obravnavana je tudi vloga taksonomije napak pri testiranju in tudi v drugih fazah razvoja programske opreme. Za primerjavo so kratko predstavljene nekatere obstoječe taksonomije napak, med katerimi je najbolj znana Beizerjeva, ki pa razvrščajo le napake v tradicionalnih programih. Opisana so tudi priporočila za tvorjenje lastnega taksonomijskega sistema.



Generalni pokrovitelj

Oracle

Nosilni pokrovitelji

Nosilni pokrovitelji

Center za objektno tehnologijo Objektna tehnologija v Sloveniji Novosti pri organizaciji srečanja Sporočila, namenjena organizatorju srečanja