IBM
Canada's e-business Architecture Center of Excellence

Tom Bridge

TRENDS IN OBJECT TECHONOLOGY: A NORTH AMERICAN PERSPECTIVE

 

 

dr.Matjaž B.Jurič

NOVA GENERACIJA KOMPONENTNIH MODELOV: CORBA 3, COM+, EJB

V prispevku bomo prikazali najnovejše različice treh najpomembnejših komponentnih modelov. Na osnovi funkcionalne primerjave bomo predstavili prednosti in slabosti, izpostavili najzanimivejše arhitekturne rešitve in določili problemske domene za katere so posamezni komponentni modeli najprimernejši. Ugotoviti bomo poskustili, kakšen nivo abstrakcije modeli nudijo in prikazali približevanje faze implementacije in arhitekturnega načrtovanja in vlogo, ki jo pri tem igrajo CIDL-ji in UML. Hkrati bomo poskusili določiti strateško vlogo komponentnih modelov in določiti smernice nadaljnjega razvoja.


Iskratel, Telekomunikacijski sistemi, d.o.o, Kranj Ljubljanska c. 24a, 4000 Kranj, Slovenija


mag. Ana Robnik
robnik@iskratel.si
Tel.:+386 (04) 207 26 86


dr. Igor Šalamun
salamun@iskratel.si
Tel.:+386 (04) 207 35 81

 

Objektna tehnologija v sistemih nadzora in vodenja produktne linije SI2000 verzije 5

Strežniki za nadzor in vodenje omrežja in storitev so vitalna nadgradnja sistema upravljanja vozlišč iz programa produktov SI2000 verzije 5. Predstavljajo funkcionalno in komunikacijsko vez med produktno linijo vozlišč SI2000 in EWSD ter poslovno ravnjo in aplikacijami ostalih tujih proizvajalcev. Programska oprema postaja torej funkcionalno vse bolj odprta, združljiva in nadgradljiva, povezljivost med programskimi opremami različnih proizvajalcev pa je bodisi med ravnmi ali znotraj ravni. Tako pokrivamo omrežno in storitveno raven ter povezljivost med ravnjo upravljavcev elementov omrežja na spodnji ravni in poslovno ravnjo na vrhu piramidalnega arhitekturnega koncepta TMN, ki ga je standardizirala mednarodna organizacija ITU-T. V članku je opisan Iskratelov pogled pri uporabi in uvajanju porazdeljene objektne tehnologije v svoje sisteme vodenja in upravljanja telekomunikacijskega omrežja. Značilnost novega sistema je trislojna arhitektura, uporaba programskega jezika Jave, porazdeljenih objektov in razširitev podatkovnega strežnika z aplikativnim in pogojno tudi s programskim strežnikom. V klasični dvoslojni arhitekturi odjemalec/strežnik, sloj debelega odjemalca obsega sloj z aplikativno logiko in sloj tankega odjemalca. Sloj aplikativne logike predstavlja most med odjemalcem in strežnikom. Optimalna realizacija aplikativne logike kliče po arhitekturi porazdeljenih objektov. Opravlja funkcijo funkcionalnega in podatkovnega vmesnika med odjemalcem in strežnikom. Sloj tankega odjemalca vsebuje le grafične elemente, ki so realizirani kot samostojna aplikacija ali pa z njimi razširimo funkcionalnost brskalnika. Opisan koncept nadzora in vodenja omrežja in uporaba objektne in komponentne tehnologije ter arhitekture porazdeljenih objektov vpeljuje visoko stopnjo modularnosti pri gradnji celotnega TMN sistema in je v skladu s svetovnimi tokovi na danem področju. Aplikativni nivo, realiziran v porazdeljeni objektni tehnologiji, omogoča enostavno medsebojno funkcionalno povezovanje aplikacij in gradnje različnih grafičnih vmesnikov, ki so prilagojeni operaterjem in ne strojni opremi.


HERMES SoftLab/Telekom Solutions Center


dr.Andrej Šoštarič
andrej.sostaric@hermes.si
Tel.:+386 61 1865 814


Črtomir Oblonšek

Komponentna objektna tehnologija v svetu mobilnih operaterjev ali kako pripeljati informacije z interneta na mobilni telefon

V Sloveniji je podrocje mobilne telefonije dobro razvito in se v kakovosti storitev lahko primerja z razvitejsim svetom. Vsak dan smo blize novim tehnologijam, ki bodo razsirile krog ponudnikov informacij in storitev, vendar ze danes mobilni operaterji in ponudniki storitev pogresajo orodje, ki omogoca dostop do storitev ne glede na vrsto ali zmogljivost naprav, ki jih uporabniki uporabljajo. Zapisemo lahko, da mobilnost informacij v doloceni meri zaostaja za mobilnostjo uporabnikov, ki postajajo iz dneva v dan bolj zahtevni. Slednji zelijo izbrane informacije spremljati neodvisno od (mobilnih) naprav, ki jih uporabljajo. Podobne zahteve postavljajo tudi ponudniki informacij in storitev. HERMES SoftLab razvija sistem, ki v obliki pametnega posrednika omogoca prav to. SSM (Smart Service Mediator) Framework, ki je v celoti zgrajen na objektni tehnologiji oz. tehnologijah COM, MTS in MSMQ, omogoca povezovanje mobilnih (SMS, SAT, WAP, VT) naprav s ponudniki informacij, katerih vsebina je lahko zapisana v poljubni obliki (HTML, WML, tekst, zvok itn.). Ponudnikom storitev poleg zanesljivega prenosa sporocil ponujamo tudi nabor funkcij - skupnih storitev, ki so v tesni povezavi z mobilnim operaterjem. Mednje sodijo gradnja uporabniskih profilov, nadzor uporabnikov in zaracunavanje storitev.

 

 

 

 


Center za objektno tehnologijo


Simon Beloglavec
simon.beloglavec@uni-mb.si
Tel.:+386 62 235 5166

POVEZOVALNI ARHITEKTURNI MODELI ZA SPLETNE INFORMACIJSKE SISTEME NA OSNOVI JAVE

Java nudi za realizacijo spletnega informacijskega sistema množico tehnologij, kot so na primer servleti, strežniške javanske strani in strežniška zrna. V primeru manjših projektov (majhen razvojni tim, ni kompleksne poslovne logike, ne nudijo podpore kritičnim poslovnim procesom) lahko vključujemo navedene tehnologije posamično in med projektom, glede na usposobljenost posameznikov. V primeru srednjih in večjih projektov, kjer se srečujemo z večjim številom načrtovalcev in razvijalcev pa izbrana kombinacija predstavlja strateško usmeritev in je ključnega pomena že pri določanju vlog posameznikov v razvojni skupini. Za izbiro ustrezne kombinacije je poleg obvladovanja posamičnih tehnologij, pomembno še poznavanje možnosti povezovanja oziroma povezovalnih arhitekturnih modelov. Izbran model vpliva na minimalen zahtevan nivo znanja načrtovalcev in razvijalcev ter na način nadgrajevanja oziroma spreminjanja prikazovalne, povezovalne in poslovne logike. Članek opisuje pogosto uporabljane povezovalne arhitekturne modele in obravnava njihovo primernost za posamezen tip projekta.


Samo Pitamic
Samo.Pitamic@co..

Mobilni agenti in Java

Količina informacij na internetu se povečuje z eksponentno hitrostjo. Vprašanje ni več, ali informacija obstaja, temveč, kako jo najti in jo obdelati, da bo uporabniku koristna. Obvladovanje te ogromne količine informacij postaja čedalje težja naloga. Kako iz poplave informacij pridobiti znanje, ki nas zanima? Iskalniki so dosegli meje učinikovitosti, čas je za drugačne rešitve. Prihajajo inteligentni agenti. Kaj lahko izboljšajo? Kaj lahko ponudi Java? Prispevek bo prikazal trenutno stanje na področju raziskav o inteligentnih agentih ter opisal nekatere rešitve. Opisal bo tudi objektni pristop k reševanju te problematike v Javi in ponudil izhodišče za nadaljnji razvoj mobilnih agentov.

 


Center za objektno tehnologijo


Aleš Živkovič
Ales.Zivkovic@uni-mb.si
Tel.:+386 62 235 5117

Varno poslovanje na spletu z uporabo Java 2 platforme

Poslovanje na spletu je postala nuja. Podjetja poskušajo vse več poslovnih funkcij opravljati preko Interneta oziroma intraneta. V obeh primerih se srečamo s precej perečim vprašanjem zagotavljanja varnosti kot enega izmed osnovnih pogojev za migracijo poslovanja v nov prostor, ki praktično nima mej. V prispevku bomo definirali pojem zagotavljanja varnosti in opisali mehanizme, ki jih ponuja Java v svoji zadnji različici specifikacije J2SE. Naredili bomo primerjavo treh modelov varnosti od verzije 1.0 do verzije 1.2, poudarek pa bo na zadnjem najbolj prilagodljivem modelu. Predstavljena bo tudi razširitev z najbolj znanimi kriptografskimi algoritmi in podane smernice uporabe pri gradnji vernih spletnih poslovnih sistemov.

 

 

 


Marand d.o.o.


Boris Ciperman
borisc@marand.si


Tomaž Gornik
tomazg@marand.si

Trinivojska arhitektura v sistemih za obračunavanje storitev

Lastniki novih sistemov storitev, ki se pojavljajo na razraščajočih se omrežjih, potrebujejo njihovo natančno vrednotenje, na podlagi katerega lahko te storitve obračunavajo in tudi analizirajo, tako stroške kakor tudi dobiček. Na voljo so fleksibilni sistemi za obračunavanje storitev s pomočjo katerih si ponudniki storitev pomagajo pri konkurenčnem tržnem nastopu. S pomočjo nadzornih modulov in na podlagi vzorcev obnašanja uporabnikov, nadzorujejo tržni strokovnjaki rast svojega izdelka ter pripravljajo strategijo ponudbe paketov storitev. Z dodatnimi izboljšavami si ponudniki zagotavljajo konkurenčno prednost in prepoznavnost na trgu. Obračunske dokumente je moč prilagajati potrebam in posameznim ciljnim skupinam oziroma so na voljo preko spleta. Java je z verzijo 1.2 postala zrelo okolje, ki je primerno za razvoj vseh nivojev večnivojskih sistemov za obarčunavanje storitev. Java je varna izbira, saj je neodvisna od posameznih operacijskih sistemov in strojne opreme. Vsebuje popoln nabor razredov potrebnih za izgradnjo najzahtevnejših poslovnih aplikacij, komponente pa omogočajo izdelavo profesionalnih grafičnih vmesnikov, gradnjo poslovnih objektov na vmesnem nivoju in dostop do podatkovnih baz. CORBA omogoča sodelovanje porazdeljenih objektov, ki se lahko nahajajo na različnih platformah in so napisani v različnih programskih jezikih. Prilagodljiv varnostni model skrbi za zaščito podatkov in upravljanje pravic uporabnika, skupine ali celega sistema. Večnivojski sistemi postajajo neločljivo povezani z internetom in tudi zato je java njihovo naravno razvojno okolje.


ICOS d.o.o., Hermes Plus Group
http://www.icos.si


Petar Brajak
Peter.brajak@icos.si

Izkušnje pri razvoju EJB aplikacij

V tem prispevku bomo predstavili ključne značilnosti Java strežniških zrn in poudarili njihovo kvalitativno vlogo pri razvoju porazdeljenih informacijskih sistemov. V nadaljevanju bomo opozorili tudi na določene pomanjkljivosti v njihovi specifikaciji in implementaciji. Ključni del prispevka bo predstavitev naših izkušenj uporabe teh zrn pri razvoju kompleksnih zaslonskih mask, ki pregledujejo in obdelujejo podatke shranjene v relacijskem strežniku. Naše izkušnje kažejo, da je na tem področju narejenega zelo malo; vizualna razvojna orodja še nimajo kvalitetnih rešitev za hitro in enostavno programiranje “data entry” mask ter, da so strežniške komponente QueryNavigator, FocusGuard in ProgresMonitor, razvite v podjetju ICOS d.o.o., kvalitativen prispevek na tem področju in zanimive za vse, ki potrebujejo in zahtevajo hiter in učinkovit razvoj vseh vrst “database” zaslonskih mask in pripadajočih operacij ( navigacija, QBE, “zoom”, “master-detail”, kontrola fokusa in uporabniškega vnosa, itd.).


EMG d.d.


Franjo Pustolemšek


Center za objektno tehnologijo


Simon Beloglavec
simon.beloglavec@uni-mb.si
Tel.:+386 62 235 5166

Razvoj in uporaba poslovnih objektov za proizvodnjo na osnovi ogrodja IBM SanFrancisco

Ogrodje poslovnih objektov IBM SanFrancisco nudi v obliki vertikalno organizirane več-nivojske arhitekture posamezne množice rešitev, ki jih načrtovalec integrira v bodoči informacijski sistem. Uporaba ogrodja poenostavi aktivnost načrtovanja osnovnih gradnikov in vzpostavljanje osnovnih podpornih mehanizmov. Tako razvijalci večino časa posvetijo prilagoditvi obstoječih komponent. Aplikacija že izdelanih komponent v novem projektu zahteva v večini primerov prilagajanje specifičnim zahtevam novega okolja. Članek obravnava na primerih iz realnih projektov pristope k prilagajanju že obstoječih komponent ali izgradnji novih komponent, kjer je to potrebno.

 

 

 

 

 

 

 


Institut informacijskih znanosti, Maribor, Slovenija


Marko Krajnc
marko.krajnc@izum.si


Bojan Štok
bojan.stok@izum.si

Poslovni objekti in procesi

Namen informacijskih sistemov je pomagati ljudem pri svojem delu in pri tem izboljšati njihov način dela. Človeško delo je sestavljeno iz mnogih osnovnih opravil in sestavljenih postopkov. Skupek teh opravil in postopkov v neki dejavnosti lahko imenujemo poslovni proces. Informacijski sistem, ki pomaga ljudem pri delu, je močno povezan s poslovnim procesom, v katerem se uporablja. Za razvoj dobrega informacijskega sistema je torej potrebno natančno proučiti poslovni proces in le tega morda celo vključiti v sam informacijski sistem. Informacijski sistemi shranjujejo in obdelujejo informacije. Le te so danes že marsikje predstavljene v obliki objektov, ki jim zaradi narave dejavnosti, v kateri se uporabljajo, mnogokrat rečemo poslovni objekti. Poslovni objekti so tesno povezani s poslovnim procesom, saj človek pri svojem delu (poslovni proces) uporablja mnogo informacij (poslovni objekt). Medtem, ko je izdelava poslovnih objektov dokaj dobro raziskana, je vključevanje poslovnih procesov v informacijske sisteme mnogo manj razjasnjeno. Namen tega prispevka je predstaviti poglede in obravnavati možnosti za tesnejšo vključitev poslovnih procesov v informacijske sisteme. Potrebno je namreč zapolniti del vrzeli, ki je nastala med človekom in njegovim delom na eni strani ter računalnikom in informacijskimi sistemi na drugi strani. Prispevek je namenjen vsem, ki uporabljajo informacijske sisteme, predstavljene pa bodo tudi praktične izkušnje, ki smo jih pridobili na IZUMu pri vključevanju poslovnih procesov in objektov v programsko opremo COBISS3.

  • Poslovni objekti - razvoj in uporaba

 

Computer Science Institute,
Brandenburg University of Technology at Cottbus
PostBox
101344, D-03013 Cottbus

Bernhard Thalheim thalheim@informatik.tu-cottbus.de

 

 

 

 

Codesign of Database Systems and Interaction = Thin and Consistent UML

The Unified Modeling Language UML is becoming the quasi-standard for development of object-oriented systems although it lacks in formal semantics, integration of parts and pieces, validation and thus leads to inconsistent systems- For this reason, design of systems on the UML basis becomes as cumbersome as previous object-oriented approaches. Another obstacle of oo development languages is the understimation of user interaction support. Opposite to this situation the entity-relationship model has got such rich extensions which enable the developer to cope with all aspects of systems development in an integrated and consistent fashion. This rich theory is the basis for a design methodology for design of database structures, database functions, static and dynamic integrity constraints together with the design of the interaction space of users. In the paper we give a survey on the codesign approach to development of database systems and interaction. The codesign approach is based on the higher-order entity-relationship model [Tha00], allows to model applications on all levels of development and has a rich translation theory in order to transfer the specification to implementation structures and functions. Thus, the codesign approach might be understood together with the model as the next generation UML or Super-UML. The approach has been succesfully applied to large and complex applications including internet information services.

 

Alcad d.o.o.


Alenka Skrbinek


Martina Krančan


Štefan Trčko

Izkušnje pri razvoju EJB aplikacij

V našem podjetju smo z objektno tehnologijo seznanjeni že nekaj let. Še pred nekaj meseci smo zahteve uporabnika dokumentirali le na papirju; podobno je bilo s poslovnim modelom. Z raznimi orodji smo želeli čimbolj podpreti delo vseh sodelavcev pri novem projektu. Tako smo rezultate pogovorov z uporabniki prenesli v Rational Rose. Tu smo najprej definirali primere uporabe in kasneje tudi razredni model. Za preslikavo tega modela v VisualAge for Java smo uporabili XMI bridge. S tem smo dobili strežniška Java zrna (Enterprise Java Beans). Vsak razred iz modela, narejenega z orodjem Rational Rose, se preslika v CMP zrno (Container Managed Persistence Bean). Atributi se prenesejo v polja, hkrati pa se ohranjajo asociacije in dedovanje. Z orodjem VisualAge for Java smo potem strežniška Java zrna še obdelali in sestavili končno aplikacijo.

 

 

UML - Je standardno pogoj za univerzalno?

V prispevku bomo prikazali vizijo razvoja in uporabe modernih podpornih orodij, kjer s komponentno gradnjo zagotavljamo širši nabor funkcionalnosti, kot ga pri CASE orodjih poznamo danes. Uporaba komponent različnih proizvajalcev, neodvisnost od implementacijskega okolja in možnost poljubne kompozicije komponent definira zahtevo po možnosti komunikacije med komponentami brez izgube informacij - zahtevo za univerzalen komunikacijski kanal.

Tako bomo poskušali odgovoriti na vprašanje ali je standarden jezik za objektno modeliranje UML tudi univerzalno uporaben - ali je uporaben tudi v scenariju povezave množice komponentno zasnovanih orodij, ki poenostavljajo razvoj in evolucijo objektnih sistemov. Ugotovitve bomo podprli s konkretnimi primeri, pokazali bomo na možnost razširjanja jezika UML in vplive takšnega pristopa na standardiziranost in univerzalnost jezika. In nenazadnje, prikazali bomo nekatere rešitve, ki že danes omogočajo medsebojno povezovanje orodij.

 

OdaTeam d.o.o.


Matevž Rostaher
matevz@odateam.com


Andrej Kline
drejo@odateam.com


Ivan Slamek
ivo@odateam.com

Oblikovanje okolja za ekstremno programiranje

Opisali bomo praktične izkušnje pri vpeljevanju strategij ekstremnega programiranja v obstoječe rezvojno okolje. Predstavili bomo nekaj ključnih prvin, ki smo jih pri vpeljavi XP discipline v naš razvoj še posebej občutili:

  • Potreba po spremembah razvoja programske opreme - ali kako kontrolirati stroške, povezane s spremembami programske opreme
  • Postopki, ki jih XP prevzema od 'tradicionalnih' paradigm - kako jih prevzema, kako jih priredi svojimu razmišljanju:
    • Igra načrtovanja
    • Pogoste izdaje
    • Metafora
    • Preprosto oblikovanje
    • Testiranje
    • Preoblikovanje programske opreme [navezava na članek Uroša in Petra]
    • Programiranje v parih, skupno lastništvo kode
    • Kontinuirana integracija
    • Standardi kodiranja
  • ˇ Odraz discipline XP v delovnem okolju:
    • filozofija razvoja; nenavadnost, drugačnost
    • sprejetje s strani upravljanja
    • odraz XP aktivnosti pri končnih uporabnikih programske opreme
    • slabosti, ki jih prinaša "polovičarski XP"

Navedeno je le približno kazalo vsebine, ki jo želimo posredovati. Zelo je strnjeno, kar je posledica trenutnega pomanjkanja časa. V prispevkih in kasneje pri predstavitvi bomo poskušali posamezne postopke, zlasti njihovo spremembo pri prehodu na XP, ponazoriti z iskustvenimi primeri.

OdaTeam d.o.o.


Uroš Grajfoner
uros@odateam.com


Peter Repinc
pero@odateam.com

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Refactoring - Preoblikovanje programske kode

Potreba po preoblikovanju

V življenjskem ciklu informacijskega sistema naletimo na dele informacijskega sistema, ki ne odsevajo več dejanskega stanja v realnosti. Ko se v realnosti pojavijo spremembe, se morajo te spremembe odražati tudi na programski kodi. Zaradi spreminjanja sistema skozi čas se zgradba in namembnost sistema zamegli. K temu doprinesejo še kratkoročni in hitri posegi v sistem, ki so posledica zahtev uporabnikov, časovne stiske, ipd. Zaradi tega se dogaja, da določeni deli sistema vsebujejo veliko začasnih rešitev, naknadnih dograditev in jih je posledično vedno težje vzdrževati, so vedno bolj nepregledni, vedno pogosteje se dogaja, da se nove funkcionalnosti ne da enostavno dodati. Zaradi tega pridemo do logičnega zaključka, da je sistem treba preoblikovati, da lahko še vedno ustrezno deluje. En način je, da določen podsistem zgradimo znova. Tak pristop pa je lahko zelo drag, dolgotrajen in zelo tvegan. Druga možnost pa je, da sistem preoblikujemo v majhnih, obvladljivih korakih.

Definicija preoblikovanja

Preoblikovanje je proces spreminjanja informacijskega sistema tako, da se obnašanje sistema navzven ne spremeni, spremeni in izboljša(!) pa se notranja struktura sistema. Je sistematičen način "prečiščevanja" kode in zmanjševanja možnosti napak. Namen preoblikovanja je spreminjanje sistema tako, da ga je lažje razumeti in dopolnjevati. Preoblikovanje spreminja način gradnje informacijskih sistemov iz ustaljenega zaporedja "načrtovanje, gradnja, vzdrževanje" v delovni proces, kjer načrtovanje, gradnja in vzdrževanje niso več ločeni procesi, ampak se prepletajo in ponavljajo v celotnem življenjskem ciklu informacijskega sistema. S pomočjo preoblikovanja lahko sistem načrtujemo tudi, ko je že implementiran.

Preoblikovanje kot del delovnega procesa

Način uporabe preoblikovanja je naslednji: majhnim predelavam vedno sledijo testi, ki zagotavljajo, da v kodi ni novo nastalih napak in da se pomen programa ni spremenil. Preoblikovanje je sestavljeno iz velikega števila majhnih korakov, katerih pravila so natančno definirana. Pred in po izvedbi vsakega koraka je potrebno pognati teste, ki nam zagotavljajo, da nismo ničesar pokvarili. Logična posledica pogostega testiranja je, da morajo biti testi avtomatizirani. To nam tudi omogoča, da se preoblikovanja lotimo z zavestjo, da imamo na vsaki stopnji spreminjanja sistema možnost preverjanja, da sistem vseskozi zagotavlja enako funkcionalnost. Obstoječi testi so torej predpogoj, da s preoblikovanjem sistema lahko sploh začnemo. Celotno gradnjo informacijskih sistemov lahko zožimo na dva procesa, ki se dopolnjujeta: preoblikovanje in dodajanje nove funkcionalnosti. S preoblikovanjem izboljšujemo obstoječo kodo in ohranjamo enako funkcionalnost, kar zagotavljamo z obstoječimi testi. Z dodajanjem nove funkcionalnosti pa ustvarjamo novo kodo in ne spreminjamo obstoječe, dodajamo pa seveda tudi nove teste.

Zaključek

Programska koda skrbi za dve vrsti komunikacije. Prva in neizpodbitna vrsta je komunikacija med programsko kodo in računalnikom. Računalnik nedvoumno razume in dosledno izvaja programsko kodo. Druga vrsta komunikacije, ki na prvi pogled ni opazna, je komunikacija med programsko kodo in programerjem. Le-ta pa ni nujno nedvoumna in lahko funkcionira zelo slabo. Z preoblikovanjem izboljšujemo predvsem komunikacijo med programsko kodo in programerjem. Hkrati pa skrbimo, da je naš informacijski sistem jasna in nedvoumna slika realnosti.


TIS Inženiring za telematiko in software d.o.o.,


Vjekoslav Nesek

Ločitev vsebine in prikaza dokumentov z uporabo XML in XSLT

Jedan od najvecih problema pri razvoju Internet aplikacija je mijesanje prikaza i sadrzaja dokumenta. XML kao univerzalan jezik za opis strukturiranih dokumenata daje nam mogucnost stvaranja dokumenata koji su prilagodeni za odredenu primjenu, npr. vijest, narudzba ili podaci o osobi. XSLT je deklarativan jezik koji opisuje transformaciju XML dokumenta, dajuci nam mogucnost da razdvojimo sadrzaj od prikaza. Pokazat cemo kako iz izvornog XML dokumenta jednostavnim XSLT transformacijama mozemo dobiti HTML za prikaz u web pregledniku, WML za mobilni telefon, VoiceXML za buduce glasovne preglednike ili SQL naredbe za unos podataka u bazu.


Andrej Krajnc


dr. Tatjana Welzer Družovec
welzer@uni-mb.si
Tel.:062/220-7401

 

 

 

 

 

 

 

 

 

 

 

 


XML in podatkovne baze

XML tehnologija spada med najpomembnejše tehnologije, ki so se pojavile v zadnjem času. Omogoča prenosljivost podatkov ne glede na izbrano platformo. Vedno več podatkov se pojavlja v XML obliki, uporaba tehnologije XML pa se bo le še širila.

XML podatke lahko v splošnem delimo na takšne, ki so podatkovne narave in tiste, ki so dokumentne narave. Pri prvih je pomembna predvsem le struktura, pri drugih pa je med drugim pomembno tudi zaporedje in hierarhija objektov.

Zaradi potencialno zelo velike razširjenosti uporabe XMLa na številnih področjih obstaja potreba po shranjevanju teh XML podatkov v podatkovnih bazah. Za shranjevanje lahko uporabimo različne vrste podatkovnih baz (relacijske, objektne, hierarhične). Dostop do XML dokumentov je možen z uporabo XQL, standardiziranega jezika za izvajanje povpraševanj.

Uporabo XMLa v podatkovnih bazah lahko zagotovimo na več načinov:

  • dodatki za podatkovne baze (middleware) Zunanji proizvajalci izdelujejo dodatke za podatkovne baze, ki omogočajo uporabo XML (XML <=> podatkovne baze). ˇ razširitve podatkovnih baz (XML-Enabled Databases) Proizvajalci podatkovnih baz razširjajo funkcionalnost na uporabo XML. Največkrat gre za podporo podatkovno naravnanih XML struktur. V to kategorijo spada večina največjih ponudnikov baz. Oracle, DB2, Informix, Microsoft SQL Server, Sybase, itd.
  • XML strežniki (XML Servers) XML strežniki so spletni strežniki, ki pripravijo (potencialno tudi sprejemajo) XML dokumente za splet. Ponavadi vključujejo okolja za razvoj aplikacij, vključno z dostopom do baz, transakcij, itd. V to kategorijo lahko uvrstimo Bluestone XML Server, Excelon, Tamino, itd.
  • sistemi za upravljanje z vsebinami (content management systems) Sistemi za upravljanje z vsebinami so sistemi za shranjevanje, kreiranje in združevanje XML dokumentov. V splošnem naj bi vsebovali tudi komponente za oblikovanje XML dokumentov in za upravljanje z verzijami le teh. Temeljijo na podatkovnih bazah. Razlike med XML strežniki in sistemi za upravljanje z vsebinami velikokrat ni mogoče jasno določiti. V splošnem velja da so XML strežniki podatkovno naravnani, sistemi za upravljanje z vsebinami pa dokumentno naravnani. Primer sistema za upravljanje z vsebinami je POET Content Management Suite.

Ker so relacijske podatkovne baze na veliko razširjene, je veliko ljudi prepričanih, da je za shranjevanje XML dokumentov najbolje uporabiti prav to vrsto baz. V mnogih primerih temu ni tako. Glavni razlog za to je v tem, da relacijske baze v marsičem ne zadovoljijo dovolj dobro zahtev, ki bi jih naj imeli sistemi za upravljanje z vsebinami. Predvsem gre za zaporedja, hierarhije, nenavadne strukture, polja z nedoločeno dolžino in podobne zadeve, ki se pojavljajo v XML dokumentih in jih je potrebno upoštevati pri delu s podatkovnimi bazami. Zato ne čudi, da večina sistemov za upravljanje z vsebinami temelji na objektnih oz. hierarhičnih podatkovnih bazah. Čeprav "XML podatkovne baze" verjetno še nekaj časa ne bodo popolnoma zrele, lahko predvsem zaradi uporabljenih odprtih standardov predstavljajo eno izmed močnejših smeri razvoja na področju podatkovnih baz.


Uroš Novak
uros.novak@uni-mb.si


Zlatko Čajić
zlatko.cajic@uni-mb.si


Borut Gorenjak
borut.gorenjak@uni-mb.si


Milan Ojsteršek
milan.ojstersek@uni-mb.si

Integracija XML tehnologij v projekte, temelječe na objektni tehnologiji

XML je eden izmed redkih standardov, ki je deležen nedeljenega priznanja in podpore s strani industrije programske opreme. To zanimivo in široko-uporabno tehnologijo smo začeli uporabljati pred letom dni, ko sta naraščajoča uporaba in zanimanje za XML postajala očitna. V tem prispevku želimo opisati naše izkušnje in opažanja v zvezi z integracijo XML tehnologij v projektih, ki temeljijo na objektni tehnologiji. Opisani primeri so podani na osnovi treh projektov: Visual Media Center, Prireditve v Sloveniji in Informacijski sistem za predstavitev mest v elektronskih medijih. V naštetih projektih se je izkazalo, da lahko uporaba XML tehnologij olajša izdelavo splošnih in odprtih rešitev. To lastnost smo izkoristili pri nadzorovanju infoterminalov, upravljanju opravil, izdelavi prilagodljivega uporabniškega vmesnika in modeliranju XML shem, ki so osnova za avtomatski generator uporabniškega vmesnika. Na osnovi izdelanih rešitev smo razpoznali nekaj vzorcev, ki jih opisujemo v prispevku.

 

 

 

 

 

 

 


Robert Korošec

Oracle 8iFS - datotečni sistem v podatkovni bazi

Oracle8i File System (8iFS) je datotečni sistem in razvojna platforma, ki teče neposredno v Oracle8i bazi podatkov. 8iFS omogoča mehanizem za kreiranje, shranjevanje in upravljanje različnih tipov informacij, ki so shranjene v skupnem repozitoriju. Za uporabnike je 8iFS viden kot navaden datotečni strežnik, s hierarhično organiziranimi imeniki in datotekami. Uporabniki ne morejo vedeti da so podatki shranjeni v bazi, saj se 8iFS obnaša kot vsak datotečni, spletni strežnik ali strežnik elektronske pošte.

 

Infonet d.o.o.


Rok Vrbica


Flavio Fuart

 

 

 

 

Implementacija trajnega nivoja objektnega aplikacijskega strežnika

Članek obravnava faze načrtovanja in implementacije aplikacije zasnovane na 3-nivojski objektni tehnologiji. Po uvodu v tronivojsko arhitekturo in osnove objektnega modeliranja, obravnavamo mehanizme implementacije persistence domenskih objektov. Poleg osnovnih mehanizmov (referenciranje objektov, Retain/release algoritmi za grafe objektov, transakcije, zaklepanje objektov, brisanje, predpomnilnik (cache) za objekte, branje vnaprej (read-ahead), mapiranje iz relacijskega modela v objektni in obratno, sistem notifikacij med objekti) bomo pokazali probleme pri razvoju tovrstnih sistemov in aplikacij, ter orodja, ki smo jih razvili za iskanje napak in opazovanje delovanja aplikacijskega strežnika (log datoteke, monitor objektov v spominu, graf odvisnosti objektov, statusi objektov). Opisali bomo tudi način izdelave uporabniškega vmesnika. Vsi razredi iz domenskega nivoja (domain layer) imajo ustrezen par v grafičnem nivoju (User interface layer). S tem je omogočen enoten prikaz lastnosti objekta skozi vse module aplikacije. Sistem je izveden na področju medicinske informatike. Osnova za domenski model pa je HISA (Healthcare Standard Information Architecture) standard (CEN TC 251). Opisali bomo izkušnje s programskim paketom ISOZ 21 (Informacijski sistem osnovnega zdravstva), ki že uspešno deluje na več lokacijah. Pokazali bomo, kako je možno enostavno model nadgrajevati in ponovno uporabljati (re-use) obstoječe razrede. Podali bomo primer dodajanja novega razreda od načrta do implementacije v kodi in kreiranja ustreznih tabel v relacijski podatkovni bazi. Uporabljena tehnologija in orodja: Visio, PowerDesigner 6.1, Delphi 4.0, Oracle DBMS.

 

Internet


Uroš Sajko
Uros.Sajko@hermes.si

 

 

 

 

 

 

 

Upravljanje konfiguracije na projektu OmniBack

1. Kaj je upravljanje konfiguracije
2. ClearCase - orodje za kontrolo revizij
2.1. Kaj je element ?
2.2. Kaj je VOB?
2.3. Kaj je view?
2.4. Labeliranje, vejenje, zaklepanje, odklepanje
2.5. Triggerji
2.6. Multisite
3. Primer uporabe v OmniBacku
3.1. Predstavitev projekta
3.2. Prehod na ClearCase
3.3. Predstaviev pravil
3.4. VOBi
3.5. Labeliranje in vejenje in zaklepanje
3.6. Triggerji
3.7. Multisite

V prvem delu bi na kratko predstavil kaj se skriva za pojmom upravljanje konfiguracije in kaksne so naloge resuje upravljanje konfiguracije. V drugem delu bi na kratko predstavil orodje ClearCase racunalniske hise Rational, ki omogoca spremljanje revizij kode na projektih z mesanim in geografsko distribuiranim racunalniskim sistemom. Opisal bi njegove osnovne elemente, razlozil osnovne pojme in akcije, ki jih omogoca. V tretjem, zadnjem delu, bi na kratko predstavil konkreten primer uporabe orodja ClearCase na projektu OmniBack II v podjetju Hermes SoftLab. V tem delu bi opisal zakaj uporabljamo to orodje, kaksnih pravil se drzimo glede poimenovanja vej, label in zaklepanja, kako je koda razdeljena po VOBih, zakaj uporabljamo triggerje in multisite.


Center za objektno tehnologijo


Aleš Živkovič
Ales.ivkovic@uni-mb.si
Tel.:+386 62 235 5117


Jernej Kovše
Jernej.Kovse@uni-mb.si

Računalniško podprto ocenjevanje obsega projektov

Ocenitev obsega programske opreme ima zelo velik vpliv na izvajanje programskih projektov, saj posredno določa ceno in s tem zaslužek, kot enega izmed kriterijev uspešnosti. V praksi se redko zatekamo k metodološko podprtim ocenitvam obsega, kar ima za posledico prekoračitve tako časovnih, kot tudi finančnih okvirjev projekta. V prispevku bomo predstavili eno pogosteje uporabljenih metod za ocenitev obsega imenovano Analiza funkcijskih točk in izvedli primerjavo z drugimi podobnimi metodami. Metodo smo računalniško podprli z orodjem, napisanim v Javi, ki bo v prispevku tudi predstavljeno.

 

 

 

 

 

 

 

 

Nova Vizija d.o.o.


Stanko Plohl

stanko.plohl@vizija.si


Tomaz Novak

tomaz.novak@vizija.si


Dejan Zilli

dejan.zilli@vizija.si

Komponentni model COM v praksi

Komponentni model COM ponuja dober standard za sožitje programskih komponent. Prispevek opisuje praktičen primer, kako na osnovi modela COM učinkovito povežemo različne aplikacije. Opisana je pot od potrebe preko snovanja rešitve do nastanka končnega produkta, ki nam omogoča izkoristiti Microsoft Word kot učinkovito orodje na prezentacijskem nivoju za poročila zahtevnih poslovnih aplikacij. Izgled poročila opišemo v predlogi dokumenta, poslovna logika pa je ostala v domeni aplikacije. Doseganje dobrih odzivnih časov nam je omogočila ustrezna razdelitev naših COM objektov v strežnike znotraj procesa (inprocess server) in bodisi lokalne (local server) ali oddaljene strežnike (remote server) COM. Končni rezultat je zelo soroden tiskanju. Pri tem predstavlja Word tiskalnik, čakalno vrsto tvorijo naši vmesni objekti, gonilnik tiskalnika pa je COM objekt, ki zna ustrezno krmiliti Word.

 

 

 

 

 

 

 

 

 

Internet:
http://www.ess.gov.si/


Mitja Kovačič

Mitja.Kovacic@ess.gov.si

 

 

 

Arhitektura, načrtovanje in implementacija Intranet aplikacije

Na ZRSZ-ju je prišlo do reorganizacije službe za Informatiko, kjer smo se vsi zaposleni organizirali v obliki delovnih skupin, ki podpirajo posamezna področja dela. Ker se je pojavila zahteva po podpori spremljanja posameznih problemov naših uporabnikov in spremljanja aktivnosti ter rešitev teh problemov, smo se odločili zadevo implementirati s pomočjo Microsoftovih orodjih, ki so nam na razpolago.Microsoftove objektne tehnologije, ki smo jih uporabili za rešitev problema sovpadajo z posameznimi nivoji aplikacije in te so:

  • Browser Object Model na uporabniškem nivoju,
  • Active Server Object Model in AxtiveX Database Object na srednjem nivoju,
  • Shranjene procedure (neke vrste objekti) na podatkovnem nivoju.

V prispevku bo opisan pristop k razvoju aplikacije, ki je dobila ime CPU (center za podporo uporabnikom), arhitekturo aplikacije s primeri uporabe posameznih objektov na posameznih nivojih ter predviden nadaljni razvoj projekta predvsem v smeri načrtovanja in implementacije lastnih poslovnih objektov.

  • Pet let Centra za objektno tehnologijo