|
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.).
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|