-
Evgen Meklav
ANALIZA ORACLE PORTALA IN RAZVOJ
SPLETNE APLIKACIJE NA OSNOVI
ADF KOMPONENT
Diplomsko delo
Maribor, julij 2009
-
I
Diplomsko delo univerzitetnega študijskega programa
ANALIZA ORACLE PORTALA IN RAZVOJ SPLETNE APLIKACIJE NA
OSNOVI ADF KOMPONENT
Študent: Evgen Meklav
Študijski program: UN Računalništvo in informatika
Smer: Informatika
Mentor: izred. prof. dr. Branko Matjaž Jurič
Somentor: doc. dr. Boštjan Brumen
Lektorica: Pavla Premoša
Maribor, julij 2009
UNIVERZA V MARIBORU
__________________________________________________
-
II
(ime fakultete oz. visoke strokovne šole)
Številka: _________________
Datum: __________________
SKLEP O DIPLOMSKEM DELU
1. ________________________________, študent-ka univerzitetnega (visokošolskega strokovnega) študija ________________________________, izpolnjuje pogoje, zato se mu dovoljuje izdelati diplomsko delo.
2. Tema diplomskega dela je s področja katedre/oddelka/inštituta __________________________________________________________________________, pri predmetu ____________________________________. Mentor-ica: ____________________________
Somentor-ica: __________________________
3. Naslov diplomskega dela: ________________________________________________ _____________________________________________________________________
4. Vsebina diplomskega dela: _______________________________________________ _________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
5. Diplomsko delo je potrebno izdelati skladno z »Navodili za izdelavo diplomskega dela« in ga oddati v ____ izvodih do _____________ v referatu za študentske zadeve.
Predstojnik katedre/oddelka/inštituta:
________________________
Mentor:
_______________________
Dekan-ica:
______________________
-
III
ZAHVALA
Zahvaljujem se mentorju, za pomoč in vodenje
pri opravljanju diplomskega dela. Hvala tudi
Pavli za nesebično pomoč pri lektoriranju in
podpori pri delu.
Posebej se zahvaljujem mami in babici, ki so mi
omogočili študij.
-
IV
ANALIZA ORACLE PORTALA IN RAZVOJ SPLETNE
APLIKACIJE NA OSNOVI ADF KOMPONENT
Ključne besede: Portal, ADF, Oracle
UDK: 004.774:004.777(043.2)
Povzetek
V diplomski nalogi smo identificirali in analizirali lastnosti portalov. Proučili smo
standarde in specifikacije za razvoj portalov na platformi Java EE. V teoretičnem delu
smo se natančneje seznanili, proučili in analizirali Oracle Portal in Oracle ADF
komponente. Teoretska znanja smo v praktičnem delu nadgradili s poskusom razviti
praktično aplikacijo – spletno aplikacijo z uporabo ADF komponent in Oracle Portal-a.
Praktično aplikacijo smo zgradili z uporabo ADF komponent. Zajemala je izgradnjo
poslovne logike, izgradnjo uporabniškega vmesnika, vgradnjo zaščite v aplikacijo in
spletne storitve, ki je kreirala PDF dokument. Že zgrajeno spletno aplikacijo smo
vgradili v Oracle Portal, ki predstavlja celovito in logično povezano strukturo za
razvijanje, razvoj in upravljanje portalov. Iz spletne aplikacije v praktičnem delu smo
razvili portlet, ki je z uporabo koncepta SOA arhitekture (WSRP tehnologije)
prikazoval aplikacijo na ločenem aplikacijskem strežniku in v Oracle Portal-u.
-
V
ANALYSIS OF ORACLE PORTAL AND DEVELOPMENT WEB
APPLICATION BASED ON ADF COMPONENTS
Key words: Portals, ADF, Oracle
UDK: 004.774:004.777(043.2)
Abstract
In the Thesis we identified and analyzed the characteristics of portals. We examined the
standards and specifications for the portal development on the Java EE platform. In
theoretical work we have specifically acquainted, studied and analyzed Oracle Portal
and Oracle ADF components. We extended theoretical knowledge in practical work
section with the experiment to develop a practical application - Web application using
the ADF components and Oracle Portal.
Practical application was built using the ADF components. It included building of
business logic, user interface, application security and Web services, which generated
PDF document. Already built web application we have included into Oracle Portal,
which presents a comprehensive and logical structure for the development of integrated
development and management portals. In practical work we have deveoloped web
application into Portlet, which is using the concept of SOA architecture (WSRP
technology) where application is run on a separate application server and on the Oracle
Portal.
-
VI
VSEBINA
SKLEP O DIPLOMSKEM DELU .............................................................. II
1 UVOD ............................................................................................................................ 1
1.1 PREDSTAVITEV PROBLEMA ............................................................................. 1
1.2 NAMEN, CILJI DIPLOMSKEGA DELA .............................................................. 1
1.3 METODE RAZISKOVANJA ................................................................................. 1
2 SPLOŠNO O PORTALU ............................................................................................. 3
2.1 VRSTE PORTALOV .............................................................................................. 4
2.2 ZGRADBA PORTALA .......................................................................................... 9
2.3 LASTNOSTI PORTALA ...................................................................................... 11
2.4 PREDNOSTI PORTALA ...................................................................................... 14
2.5 CRM ..................................................................................................................... 15
2.6 CMS ....................................................................................................................... 17
3 ORACLE ADF KOMPONENTE ............................................................................. 22
3.1 ORACLE ADF ARHITEKTURA ......................................................................... 22
3.2 POSLOVNO STORITVENI NIVO (ANGL. BUSSINESS SERVICES) ............................ 23
3.2.1 ADF poslovne komponente (angl. ADF Business Components) .................... 23
3.3 MODEL (ANGL. MODEL) ......................................................................................... 26
3.3.1 ADF Model ..................................................................................................... 26
3.4 KONTROLNI NIVO (ANGL. CONTROLLER) .............................................................. 28
3.4.1 ADF kontroler (angl. ADF Controller) ......................................................... 28
3.5 POGLED (ANGL. VIEW) ........................................................................................... 28
3.5.1 ADF Faces ...................................................................................................... 29
3.5.2 ADF zaščita ................................................................................................... 31
3.5.3 Avtorizacija .................................................................................................... 32
3.5.4 Avtentifikacija ................................................................................................. 34
4 ORACLE PORTAL .................................................................................................. 36
4.1 PREDSTAVITEV ................................................................................................ 36
-
VII
4.2 ARHITEKTURA ORACLE PORTALA .............................................................. 37
4.2.1 WSRP ............................................................................................................. 39
4.2.2 Spletna storitev (angl. Web Services) ............................................................. 41
4.2.3 JSR 168 Container ........................................................................................ 42
4.3 ADMINISTRACIJA .............................................................................................. 44
4.3.1 Tipi uporabnikov ........................................................................................... 45
4.3.2 Skupine uporabnikov ...................................................................................... 46
4.4 PORTLETI ............................................................................................................ 48
4.5 ENKRATNA PRIJAVA ........................................................................................ 50
4.6 NAVIGACIJA ....................................................................................................... 52
4.7 RELACIJA MED ADF IN ORACLE PORTALOM ........................................... 52
5 PRAKTIČNI DEL ...................................................................................................... 54
5.1 ADF KOMPONENTE (SPECIFIKACIJA) .................................................................... 54
5.1.1 Diagram primera uporabe ............................................................................. 54
5.1.2 Opredelitev problema .................................................................................... 55
5.1.3 Opis tabel ....................................................................................................... 56
5.2 PRISTOP K RAZVOJU PRAKTIČNEGA DELA ............................................... 59
5.3 IZGRADNJA POSLOVNE LOGIKE ................................................................... 59
5.4 GRADNJA UPORABNIŠKEGA VMESNIKA .................................................... 61
5.4.1 Uporabniški vmesnik za urejanje vozil ........................................................... 64
5.4.2 Uporabniški vmesnik za urejanje vrste obračuna .......................................... 64
5.4.3 Uporabniški vmesnik za urejanje osebe ......................................................... 65
5.4.4 Uporabniški vmesnik za iskanje potnega naloga ........................................... 66
5.5 PROBLEMI PRI GRADNJI UPORABNIŠKEGA VMESNIKA ........................ 67
5.6 IZGRADNJA PDF DOKUMENTA ...................................................................... 67
5.7 VARNOST ADF APLIKACIJE ............................................................................ 71
5.8 PORTLETIZACIJA ADF APLIKACIJE PREKO WSRP PROTOKOLA .......... 74
5.9 ANALIZA ORACLE PORTALA ......................................................................... 76
5.10 REGISTRACIJA WSRP PORTLETA ................................................................ 79
5.11 SKLEP ................................................................................................................. 80
6 ZAKLJUČEK ............................................................................................................. 82
-
VIII
7 VIRI, LITERATURA ................................................................................................. 84
8 PRILOGE .................................................................................................................... 88
8.1 SEZNAM SLIK ..................................................................................................... 88
8.2 SEZNAM PREGLEDNIC IN KOD ........................................................................................ 89
8.3 NASLOV ŠTUDENTA ..................................................................................................... 90
8.4 KRATEK ŽIVLJENJEPIS .................................................................................................. 90
-
Analiza Oracle portala in razvoj spletne aplikacije na osnovi ADF komponent Stran 1
1 UVOD
1.1 PREDSTAVITEV PROBLEMA
Živimo v dobi, v kateri se nenehno srečujemo z informacijami. Do njih dostopamo z
različnimi mediji, zlasti internetom za lažji pregled informacij. Najprej so se razvili spletni
imeniki, ki so nudili lažji pregled informacij. V njih so avtorji spletnih strani vnašali
najnujnejše podatke o svoji spletni strani (naziv, naslov in kratek opis). Kasneje so spletni
imeniki prerasli v spletne iskalnike, ki so že vsebovali algoritme za samodejno iskanje
spletnih vsebin. Taki iskalniki so kmalu postali preobsežni in nepregledni pri posredovanju
informacij, saj je bilo informacije čedalje težje najti. Razvil se je nov sistem obvladovanja
podatkov, t.i. spletni portali (kasneje samo portali).
Bistvo portalov je prav efektivno zbiranje in distribucija informacij. Običajni dostop
do podatkov je zakodiran v portalski kodi, kar poveča stroške razvijanja in vzdrževanja ter
zmanjša uporabnost rešitev. Oracle pa je razvil rešitev, ki nudi poenoten dostop do
različnih virov podatkov in jih prikazuje na enostaven in organiziran način. Oracle Portal
predstavlja portal, kot vir vseh potrebnih informacij znotraj organizacije in tako z njihovo
centralizacijo poveča preglednost podatkov.
1.2 NAMEN, CILJI DIPLOMSKEGA DELA
Identificirati in analizirati lastnosti portalov.
Proučiti standarde in specifikacije za razvoj portalov na platformi Java EE.
Podrobno se seznaniti z Oracle Portalom.
Proučiti in analizirati ADF.
Razviti praktično aplikacijo – aplikacijo z uporabo ADF in Oracle Portala.
1.3 METODE RAZISKOVANJA
Diplomska naloga je razdeljena na dva dela, teoretični in praktični del.
-
Analiza Oracle portala in razvoj spletne aplikacije na osnovi ADF komponent Stran 2
V teoretičnem delu bomo podali splošni pregled spoznanj in teorije, in sicer bomo
uporabili deskriptivno metodo podajanja teorije.
Najprej se bomo osredotočili na portale v splošnem pogledu. Poskusili bomo
definirati portale; kaj so in kdaj so začeli dobivati tako pomembno vlogo. Predstavili bomo
razloge, na podlagi katerih se podjetja odločajo za izgradnjo portalov in osvetlili njihove
prednosti. Skušali bomo podati nazorno razdelitev portalov glede na vrste, čeprav je portal
dejansko hibridne narave in ga zato težko uvrstimo v eno samo vrsto [34]. Nato bomo
opisali zgradbo portala iz logičnega vidika, t.j. modulov, ki sestavljajo portal, in iz
uporabniškega vidika, torej kot ga vidi uporabnik. Sledil bo opis lastnosti oziroma
funkcionalnosti, ki jih portal omogoča uporabniku. V tretjem poglavju bomo podrobneje
predstavili ADF komponente. V četrtem poglavju bomo spoznali Oracle portal (kaj je, opis
arhitekture, administracijo, enkratno prijavo in navigacijo).
Praktičnega dela naloge se bomo lotili z empirično metodo. Zgradili bomo
aplikacijo z uporabo ADF komponent. Znotraj ADF aplikacije bomo definirali in uporabili
spletno storitev. Nato bomo iz spletne aplikacije naredili portlet ter preko WSRP protokola
poskušali prikazati na Oracle portalu.
-
Analiza Oracle portala in razvoj spletne aplikacije na osnovi ADF komponent Stran 3
2 SPLOŠNO O PORTALU
Začetki portalov segajo v pozna 90-a leta prejšnjega stoletja. Sama beseda „portal“ v
SSKJ-ju (Slovarju slovenskega knjižnega jezika) pomeni arhitekturno poudarjen vhod v
stavbo (ponavadi je predstavljal vhod v kakšno katedralo). Druga razlaga besede portal je,
da izvira iz latinščine in pomeni glavni vhod ali vrata.
Prva znana, bolj strokovna, definicija portala sega v leto 1998, ko sta Shilakes in
Tyleman iz podjetja Merill Lynch definirala poslovni portal takole: „Informacijski portal
je programska rešitev, ki omogoča podjetju, da ponudi notranje in zunanje informacije
uporabnikom in nudi uporabnikom enotno pot do informacij, ki jih potrebujejo za
oblikovanje poslovnih odločitev.“[6]. Portali so informacijska središča, ki spletnim
uporabnikom ponujajo različne informacije, aplikacije in informacijske storitve. V tej
množici podatkov se uporabnik vedno težje znajde, zato narašča trend izgradnje portalov,
ki uporabnikom ne le ponujajo kopice podatkov, ampak mu omogočajo zlasti njihovo
personalizacijo.
Portal lahko v grobem definiramo kot okno, ki omogoča transparenten dostop do
informacijskih objektov, generiranih z raznimi aplikacijami in analitičnimi orodji za
izdelovanje predefiniranih poročil in generiranje novih. Ali povedano enostavneje: portal
je točka na spletišču, ki nam nudi ogromne količine podatkov oziroma storitev. Vendar je,
tako kot ostale stvari v našem okolju, šel tudi portal skozi nekatere ključne faze razvoja; od
imenikov in iskalnikov do portalov, kot jih poznamo danes, ki omogočajo proces
prilagajanja uporabniku oziroma sistem personalizacije. To pomeni, da uporabnik ob
registraciji v poljuben portal vnese osebne podatke in osebna zanimanja. Na podlagi
vnešenih atributov sistem zgradi za vsakega uporabnika poseben profil, ki najbolje odseva
njegove interese. Na podlagi tega profila portal razvršča uporabnike po skupinah in vrši
selekcijo zanimivih in želenih informacij ob vsakokratni prijavi v sistem oziroma njegovi
uporabi. Pri tem ima pomembno vlogo tudi vsebina portala, njeno vsakodnevno
spreminjanje, izgled in hitrost nalaganja posamezne strani. To so bistvene stvari, ki
omogočajo obdržati ali na novo privabiti uporabnika. Uporabniki se načeloma ne odločajo
za velike migracije iz enega portala na drugega, saj to s sabo potegne tudi novo
prilagajanje. Vendar se to dogaja, kadar uporabnik sam oceni, da kvaliteta vsebine ne
zadošča več njegovim interesom. Da bi se portali še bolj približali uporabnikom, so
-
Analiza Oracle portala in razvoj spletne aplikacije na osnovi ADF komponent Stran 4
kasneje dodajali na portale razne ankete in forume, s pomočjo katerih so dobili povratne
informacije, o tem, kaj si uporabniki želijo. Velikokrat lahko zasledimo na portalu razne
aktualne dnevne novice, kot so vreme, nagradne igre, ipd. Pomembno je, da uporabnik
lahko dostopa do portalnih vsebin z različno strojno opremo, kot so brskalniki preko
osebnih računalnikov ali WAP sistemov na telefonih ter z drugimi napravami za
komuniciranje s portali.
Bistvena razlika, ki je nastala med navadno spletno stranjo in portalom, je, da je portal
dinamična stran, ki ima zagotovljeno vsakodnevno ažuriranje in le-to lahko izvaja tudi
uporabnik, ki nima posebnega ali prav nobenega znanja o programiranju, saj mu že sama
tehnologija - portal omogoča preprosto dodajanje in urejanje besedila. Omogoča nam
sistem sledenja aktivnosti uporabnika. Na ta način izdeluje vzorce obnašanja in
samodejnega prilagajanja vsebin njegovim potrebam. Ena ključnih razlik pa je sistem
personalizacije oziroma zmožnost osebnega prilagajanja delovnega okolja z uporabo
filtriranja informacij, naročanja nanje in na informacijske storitve. Po drugi strani navadne
spletne strani niso tako enostavne za delo iz več razlogov. Prvi razlog je sprememba
vsebin. Uporabniki, ki želijo spreminjati vsebino strani, morajo poznati spletni jezik, s
katerim je bila izdelana spletna stran. Drugi razlog se nahaja v samem spreminjanju
vsebine, ki je precej zamudno in nepraktično, posledično tudi precej drago. Ponavadi je
namreč potrebno, da sta na razpolago najmanj dva uporabnika (urednik in programer).
Tudi oblikovanje navadne spletne strani ni preprosto, saj ne podpira konstantnih izgledov
(„angl. look and feelov“) in nobenih vnaprej narejenih predlog („angl. templatov“).
Elementi, ki so skupni skoraj vsem portalom in jih mora portal vsebovati, so skupna
vstopna točka oziroma nek uporabniški vmesnik, integracija najrazličnejših informacij,
zagotavljanje sistema personalizacije, podpora različnim storitvam in prilagajanje prikaza
vsebine za različne prejemnike (RSS, WAP, ...).
2.1 VRSTE PORTALOV
Zaradi vsesplošne uporabe portalov, ki ponujajo raznolike informacije, je težko
določiti mejnike, kam kateri spadajo. Ne glede na to obstajajo značilnosti, ki so skupne
skoraj vsem vrstam portalov in ki predstavljajo potrebne pogoje, da lahko neko spletno
stran imenujemo portal.
-
Analiza Oracle portala in razvoj spletne aplikacije na osnovi ADF komponent Stran 5
Portale, ki jih bomo opisali v nadaljevanju, lahko delimo na osebne, javne in
poslovne portale [33, 37]. Lahko jih delimo tudi glede na „širino“ publike, ki ji je portal
namenjen (vertikalni in horizontalni) [32]. Poskušali bomo zajeti obe delitvi hkrati.
Javni portali so velika spletna mesta, ki uporabnikom ponujajo širok spekter vsebin.
Sem sodijo portali velikih podjetij kot so Yahoo, Altavista in MSN. Primer
javnega portala prikazuje slika 1, in sicer portal MSN. Namenjeni so zelo
širokemu spektru uporabnikov, ki jih združujejo skupni interesi (izbrana tematika,
skupni poklic). Javni portali nudijo velike količine smiselno urejenih podatkov in
informacijskih storitev. Svoje storitve ponujajo preko imeniških struktur. Pri teh
vrstah portalov avtorizacija ni nujna. Potrebna je le, kadar želimo dostopati do
vseh vsebin in storitev, ki jih portal nudi. Zagotavljajo torej tudi personalizacijo
podatkov. Delimo jih na:
Slika 1: Javni portal msn
- splošno javne portale, beležijo največje število obiskov na dan (mesečno
približno 10 milijonov obiskovalcev). So nasledniki internetnih iskalnikov,
ki so svojo dejavnost razvili v portale, iskalnike pa ohranili kot del portala.
Njihova vsebina pokriva zelo splošno področje, saj gre za razgledane
uporabnike (yahoo.com, altavista.com, msn.com ...).
-
Analiza Oracle portala in razvoj spletne aplikacije na osnovi ADF komponent Stran 6
- industrijske portale, ki so vezani na neko določeno skupino ljudi, s
skupnimi poslovnimi interesi. Zajema tisti segment ljudi, ki želi med sabo
poslovati, si izmenjavati podatke in nastopati na tržišču kot predstavniki
določene stroke. Primeri takšnih portalov so npr. portali s ponudbo
proizvajalcev avtomobilov in ponudnikov sestavnih delov.
- bloge ali spletnike, ki predstavljajo nov trend javnih portalov. So nekakšni
spletni dnevniki, ki jih ustvarjajo uredniki, za katere ni nujno, da obvladajo
kakšen programski jezik. Vsebina je poljubna in zato tudi precej raznolika,
saj odseva urednikove interese, izobrazbo, zanimanja, nazore. Pri klasičnih
forumih lahko objavi novico vsak uporabnik. Uporabniki so si enakovredni.
Pri blogih dodaja novice na portal samo urednik, komentirajo jih lahko vsi
uporabniki, v kolikor urednik to dopušča. Pomemben del bloga je RSS, ki
ni nujno vezan samo na blog, ampak se lahko pojavi tudi pri ostalih vrstah
portalov, omogoča pa nam prebiranje novic brez obiska samega portala.
Osebni portali so portali, ki vsakemu uporabniku posebej omogočajo, da definira
svoje delovno okolje („angl. Workplace“ vsebino, oblike, informacijske vire in
storitve), ki ga želi uporabljati. Poleg klasičnega dostopa do informacij in
informacijskih sistemov, lahko do vsebin dostopamo tudi z dlančniki in mobilnimi
telefoni. Poznamo dve podskupini:
- mobilni portali, ki so namenjeni tistim uporabnikom, ki si želijo hiter
dostop do informacij o različnih stanjih (stanje na cesti, cene, statusi naročil
in plačil). Do njih lahko dostopajo s pomočjo dlančnikov in mobilnih
telefonov.
- portali v različnih napravah, so portali, ki jih največkrat zasledimo v
televizorjih (v raznih hotelih) in v avtomobilih (prikažejo pozicijo, vreme,
stanje na cestah ...).
Poslovni portali so interna vstopna točka v podjetju. Služijo upravljanju z znanjem,
komunikaciji z dobavitelji in strankami. Namenjeni so ožjemu krogu ljudi,
največkrat samo strankam, poslovnim partnerjem in zaposlenim. Slednji na tem
-
Analiza Oracle portala in razvoj spletne aplikacije na osnovi ADF komponent Stran 7
mestu dobijo vse potrebne informacije o poslovnih procesih, ki se odvijajo znotraj
podjetja. Služijo tudi podpori raznih vnaprej določenih ciljev (npr. vzpostavitev
centra za samopodporo strank). Primer poslovnega portala prikazuje slika 2.
Slika 2: Primer poslovnega portala enaa.com
Poznamo več vrst poslovnih portalov [37]:
portali za odločanje (angl. Decision Portals), ki imajo enotno vstopno
točko, ki ima dostop do vseh informacij, potrebnih za odločanje. Namenjeni
so predvsem vodstvenim delavcem in drugim zaposlenim. V ta namen
uporabljajo in združujejo informacije iz različnih analitskih virov. Mnoga
podjetja imajo veliko število implementiranih sistemov za poročanje. Med
njimi je zelo pogost sistem OLAP, ki izdeluje različna poročila.
dokumentni portali (angl. Publishing Portals), ki so orientirani na reševanje
problemov z veliko količino dokumentov (kot npr. opisov produktov,
poročila o raziskavah ...), ki jih podjetje objavlja na internetnih straneh.
Poudarek je predvsem na kategorizaciji, iskanju in personalizaciji.
-
Analiza Oracle portala in razvoj spletne aplikacije na osnovi ADF komponent Stran 8
portali za skupinsko delo (angl. Collaborative Portals), temeljijo predvsem
na zagotavljanju interakcije med zaposlenimi, strankami in poslovnimi
partnerji. Lahko so del sistema za upravljanje odnosov med zaposlenimi v
podjetju in strankami. Ti portali so sporočilno usmerjeni, poudarek imajo na
odzivanju uporabnikov in e-mail integraciji. Sem spadajo t.i. timski portali
(angl. Team Portals), ki podpirajo manjše delovne skupinice, vključujejo
interne in eksterne sodelavce. Običajno so vezani na izmenjavo informacij
(poročila o delu, vključevanje novih sodelavcev), ki jih uporabniki sami
objavljajo.
operativni portali (angl. Operational Portals), so predvsem portali, ki
ponujajo zaposlenim in poslovnim partnerjem prijazen in enostaven način
dostopa do vseh poslovnih aplikacij podjetja.
portali za e-poslovanje služijo trem poslovnim procesom (B2B, B2C, B2E).
B2B (angl. Business to Bussines); njihov namen je posredovati
poslovnim partnerjem informacije o ceni, količini in zalogi izdelkov,
na podlagi katerih se ti odločijo o nakupu. Njihov namen je privabiti
čim več partnerjev in dobaviteljev ter podpirati celotne procese in
poslovne aktivnosti za celo podjetje.
B2C (angl. Business to Consumer); njihova naloga je, da privabljajo
potencialne kupce v čim večji meri in jih poskušajo zadržati.
Izvajajo aktivnosti zaračunavanja, naročanja, ponujanja izdelkov in
podporo sistema med prodajalcem in stranko.
B2E (angl. Buisness to Employe); njihova naloga je povezovanje
med zaposlenimi, zagotavljanje poslovnih informacij oziroma
oskrbovanje zaposlenih s strukturiranimi in nestrukturiranimi
informacijami. Izboljšuje poslovna odločanja in poslovne procese.
EIP (angl. Enterprise Information Portals) oziroma podjetniški portali
predstavljajo vhodna vrata (na spletu) znotraj podjetja. V večini primerov
gre za privatne in varovane portale. Pomembna značilnost EIP portalov je,
da so prešli iz dokumentno orientiranega okolja v dinamični informacijski
model in so centralizirani ter omogočajo stranki ali uslužbencu enostaven
-
Analiza Oracle portala in razvoj spletne aplikacije na osnovi ADF komponent Stran 9
dostop do poročil, storitev in pravil, s katerimi podjetje razpolaga.
Usmerjeni so v poslovanje z vsemi oblikami, ki jih poznamo preko interneta
(B2B, B2C, B2E). Prilagojeni so za vsako podjetje posebej. Leta 1998 je
Merrill Lynch predvideval, da bo uporaba EIP sistemov kmalu prehitela
ERP market [5].
Osnovno delitev portalov povzemamo v tabelaričnem prikazu, kot jih prikazuje tabela 1.
Tabela 1: Tabelarični prikaz predstavljenih portalov
Vrste portalov
Javni Osebni Poslovni
1. splošno javni2. industrijski3. blogi
(1) mobilni(2) predstavitev v
različnih napravah
1. za odločanje(1) dokumentni(2) za skupinsko delo
(3) timski(4) operativni (5) za e-poslovanje
(6) B2B(7) B2C(8) B2E
(9) podjetniški
2.2 ZGRADBA PORTALA
Portal je zgrajen iz različnih komponent na različnih nivojih, kot prikazuje slika 3. Na
najnižjem nivoju je prikazan sloj že obstoječih in tehnološko zastarelih aplikacij z
neobstoječimi uporabniškimi vmesniki. Sledi sloj, ki je namenjen povezovanju med
obstoječimi aplikacijami, podatkovnimi bazami, imeniškimi strežniki, spletnimi storitvami
in sistemi za integracijo aplikacij. Višji nivo je namenjen funkcijskim komponentam, ki so
namenjene komunikaciji z uporabniškim vmesnikom, ki ga upravlja uporabnik. Zadnji
predstavitveni nivo je namenjen vsem napravam, ki znajo komunicirati in predstaviti
vsebino portala [34].
-
Analiza Oracle portala in razvoj spletne aplikacije na osnovi ADF komponent Stran 10
Slika 3: Prikaz logične zgradbe portala [34]
Uporabniški nivo portala pomeni tisti nivo, ki ga vidimo ob vstopu v nek portal. Slika 4
prikazuje primer portala mestne občine Maribor, ki ima elemente splošno javnega portala.
Na vrhu portala je glava portala, sledita ji navigacija in baner. Slednji ima poljubno sliko,
ki se navadno menjuje. Pod baner-jem na čisto levi strani je meni, ki nam omogoča izbor
želenih vsebin portala, ki ležijo v sredini. Pod menijem na levi strani so hitre povezave na
druge aktualne strani. Na desni strani portala, čisto zgoraj, je iskalnik, ki omogoča hitro
iskanje vsebin po portalu. Takoj spodaj je jezikovni meni, ki omogoča izbiro jezika
(angleški ali nemški), pod njim se nahajajo aktualni podatki. Čisto spodaj zaključuje portal
t.i. noga portala.
-
Analiza Oracle portala in razvoj spletne aplikacije na osnovi ADF komponent Stran 11
Slika 4: Primer portala mesta Maribor kot ga vidi uporabnik
(www.maribor.si)
2.3 LASTNOSTI PORTALA
Portalna struktura pomaga pri kreiranju, integriranju in upravljanju s podatkovno
vsebino. S pomočjo portala lahko vsebino poljubno prikazujemo, organiziramo in
oblikujemo v neko smiselno celoto, ki bo za uporabnika čimbolj razumljiva. Na ta način
povečamo učinkovitost iskanja informacij, prav tako pa administratorju olajšamo delo pri
pomoči uporabnikom.
Osnovne lastnosti portala so upravljanje z dokumenti, iskanje informacij, integracija
aplikacijskih storitev znotraj IS in z zunanjim IS, navzkrižno povezovanje vsebin in
storitev, omogočanje storitev sodelovanja, kategorizacija informacij, zagotavljanje
neodvisnosti podatkov od njihove predstavitve v različnih elektronskih medijih,
predstavitev informacij v več jezikih, avtentifikacija in avtorizacija dostopa do podatkov in
storitev ter zagotavljanje varnosti, personalizacija z vidika vsebin in vizualnega izgleda.
http://www.maribor.si/podrocje.aspx
-
Analiza Oracle portala in razvoj spletne aplikacije na osnovi ADF komponent Stran 12
Upravljanje z dokumenti
Portal omogoča nadzorovano spreminjanje želenih dokumentov in s tem zagotavlja, da ne
prihaja do izgubljanja ali podvajanja vsebin. Omogoča tako imenovan “ angl. check out“,
kar pomeni, da bo urednik oziroma uporabnik datoteko spreminjal, in “angl. check in“, kar
pomeni, da je končal s spreminjanjem in dodal datoteko nazaj. Beleži zgodovino
spreminjanja dokumenta tako, da lahko v vsakem trenutku izvemo, kdo in kdaj je
spreminjal dokument.
Iskanje informacij
Gre za kategorizacijo podatkov na podlagi ti. meta-podatkov. Iskalniki preiskujejo spletne
strani rekurzivno, po principu iz spletne strani izvlečenih naslovov. Vsaka raziskana stran
se indeksira. Če je potrebno primerno uteži, hkrati pa se analizira njena vsebina tako, da se
ustvarjajo meta-podatki. Drug način za ustvarjanje meta-podatkov je uporaba šifrantov, ki
podrobneje okarakterizirajo podatke.
Integracija aplikacijskih storitev in vsebin znotraj portala in z zunanjimi
informacijskimi sistemi
Portal je zasnovan po sistemu modularizacije. Imamo nek centralni modul, ki mu po
potrebi dodajamo nove module oziroma funkcionalnosti. Za dinamičnost portala je
potrebno zagotoviti čim večjo učinkovitost navigacije med ali nad moduli. Funkcionalnost
portala povečamo tako, da omogočimo povezavo zunanjih storitev s samo hierarhično
strukturo. Integracija med portali in storitvami portala je možna preko vmesnika, ki je
definiran na osnovi standardov XML, WSDL ... Komunikacija med storitvijo in portalom
poteka na osnovi protokolov SOAP, XML - HTTP in IIOP. Da bi uporabnik uporabljal
določeno storitev, ima zgrajen uporabniški vmesnik, ki skrije komunikacije, ki se odvijajo
v ozadju in opravi transformacijo v ciljni uporabniški vmesnik (HTML in WML).
Navzkrižno povezovanje vsebin in storitev [8]
Gre za povezovanje različnih vsebin in storitev na portalu. npr. predstavljamo turistično
kmetijo. Na ta opis se vežejo navzkrižni podatki o tem, koliko stanejo kosila, kakšna je
cena prenočišča, kakšne aktivnosti ponuja, kje se nahaja, ....
-
Analiza Oracle portala in razvoj spletne aplikacije na osnovi ADF komponent Stran 13
Omogočanje storitev sodelovanja
Pomeni sodelovanje, kjer se le-to zaračunava (npr. neko podjetje želi oglaševati na našem
portalu proti plačilu).
Kategorizacija informacij
Pri tem gre za smiselno urejanje podatkov in informacij po kategorijah (šport,
gospodarstvo, svet in Slovenija ...).
Zagotavljanje neodvisnosti podatkov od njihove predstavitve v različnih
elektronskih medijih
Uporabnik lahko dostopa do vsebine in funkcij portala ne glede na elektronski medij
(WAP telefoni, dlančniki, internet, informacijskih terminali in interaktivne televizije), ki ga
želi uporabiti. Portali morajo v ta namen vsebovati posebno večslojno arhitekturo, ki
temelji na izdelavi in transformaciji XML dokumentov.
Večslojna arhitektura je sestavljena iz:
• uporabniških vmesnikov za posamezne skupine elektronskih naprav in
medijev,
• transformacijskih adapterjev za posamezne skupine naprav in medijev in
• strežnika dokumentov.
Predstavitev informacij v več jezikih
Zaradi neomejenega dostopa je pomemben segment portala tudi internacionalizacijo.
Pomeni, da portal podpira poleg nacionalnega jezika (npr. slovenščine) še vsaj enega bolj
razširjenih jezikov (angleški, nemški, španski, francoski ali italijanski ...). Tako uporabniki
(tujci), ki se zanimajo za portal ali storitev, ki jo portal ponuja, lažje pridobivajo želene
informacije (Npr. rusko podjetje se zanima za poslovanje s slovenskim. Informacije o
dejavnosti, kontaktu lahko tako pridobi že na spletnem portalu v želenem jeziku ali jeziku,
ki mu je najbližji).
Avtorizacija in avtentifikacija
Primer avtorizacije prikazuje slika 5. Uporaba avtorizacije je enostavna, saj zahteva od nas
le uporabniško ime in geslo, ki smo ga predhodno dobili ob kreiranju računa. Poznamo tudi
način avtorizacije s pomočjo digitalnega certifikata, ki ga dobimo ob pravilni registraciji v
sistem. To se uporablja predvsem za HTTPS portale. Sama avtorizacija se izvrši le enkrat
-
Analiza Oracle portala in razvoj spletne aplikacije na osnovi ADF komponent Stran 14
in mora delovati za celotni čas uporabnikovega obiska. Namenjena je tudi preprečevanju
dostopa do vsebin portala uporabnikom, ki zato niso registrirani. [8]
Slika 5: Avtorizacija v sistem [8]
Personalizacija z vidika vsebine in vizualnega izgleda
Gre za proces, ki se izvrši v fazi avtentifikacije v sistem. Vsak uporabnik ima možnost, da
kreira svoj profil. To mu omogoča sistem portala v fazi kreiranja računa, kjer odgovarja na
razna vprašanja, na podlagi katerih se oblikuje njegov spekter zanimanj. Drugi način
personalizacije je avtomatičen. Sistem sam sledi uporabniku, njegovim klikom na želeno.
Na podlagi tega mu ustvari profil in ga avtomatsko razvrsti v neke kategorije s podobnimi
interesi. Tem kategorijam priredi informacije in pogled nanje. Določena obvestila lahko
uporabnik po predhodnem naročilu dobiva v svoj elektronski predal ali v obliki SMS ali
MMS sporočil. Druga obvestila portal sam pošilja naokoli, seveda glede na vlogo, ki jo
ima uporabnik v sistemu (npr. vodje programerjev želijo biti obveščeni o tem, kaj
posamezen programer dela) [8, 26] .
2.4 PREDNOSTI PORTALA
Težnja po izgradnji portalov v zadnjih letih zelo narašča. Portal prinaša nov način
komuniciranja, ki ima številne prednosti, tako za uporabnika kot za podjetje. Naštejmo
nekaj najbolj pomembnih [33]:
1. Je zanesljivo komunikacijsko sredstvo, ki nudi informacije tako zaposlenim, kot
strankam.
-
Analiza Oracle portala in razvoj spletne aplikacije na osnovi ADF komponent Stran 15
2. Omogoča podporo poslovanju preko interneta, kar je tako za poslovne partnerje kot
za navadne stranke zelo pregledno in udobno. Naročila lahko oddajo iz domačega
fotelja vsak dan ne glede na dneve in pozne ure.
3. Omogočajo neomejeno širjenje poslovanja in sklepanje partnerstev širom sveta.
4. Z informacijami, ki jih zbirajo o strankah, ponudniki izvajajo tržne analize in akcije,
kar jim omogoča konkurenčne prednosti.
5. Zaradi zelo strukturiranih informacij imajo uporabniki manj težav pri iskanju
koristnih informacij, ki jih lahko uporabijo tudi pri poslovnih priložnostih.
6. Zaradi poslovanja, ki se odvija preko interneta, je ponudniku omogočena izjemna
avtomatizacija poslov, kar ima za posledico nižje stroške poslovanja. Tako lahko
pridobi tudi stranka, saj ji ni potrebno plačevati raznih stroškov (administrativni
stroški, provizije), ki nastajajo pri navadnem poslovanju.
2.5 CRM
CRM je poslovna strategija podjetja, ki se v večini primerov uporablja znotraj portala.
CRM poslovni strategiji sledi tudi Oracle Portal, ki ga bomo podrobneje predstavili v po-
glavju 4. Kot prikazuje slika 6, CRM povezuje ljudi in tehnologijo z organizacijo z name-
nom, da bi s strankami ustvarili dolgoročne stike [12]. Podjetje, ki želi uspeti, mora pozna-
ti želje strank, njihove nakupovalne navade, demografske značilnosti, saj mora izbrati pravi
komunikacijski kanal za interakcijo z njimi. Ker je konkurenca oddaljena le nekaj klikov z
miško, morajo podjetja vložiti veliko truda v razvoj čvrstih odnosov z uporabniki in v ne-
govanje njihove lojalnosti. Osnovni namen CRM-ja je tako zagotoviti informacije oziroma
podatke o stranki v vsakem trenutku in na način, kot jih potrebujejo, da oblikujejo profil
posamezne stranke. Na ta način lahko podjetje poglobi odnos s stranko z dodajanjem udob-
nosti, prijetnosti, učinkovitosti, prihranka pri stroških in z obsežno paleto dodatnih storitev.
Vse te lastnosti omogoča portal, ki obenem služi tako podjetju kot stranki. Portal, grajen s
CRM poslovno strategijo, nudi podjetju enotno in stalno osveženo bazo podatkov, do kate-
rih se lahko dostopa mobilno od koderkoli. Standardizirane podatke je mogoče enostavno
izvoziti za druge namene (Access, Excel). Možno je določati nivoje dostopa in privilegije
posameznega uporabnika. Skratka, za podjetja je tak portal preprost za upravljanje s podat-
ki in omogoča velik pregled in nadzor nad poslovanjem.
-
Analiza Oracle portala in razvoj spletne aplikacije na osnovi ADF komponent Stran 16
Tudi za stranko je personaliziran portal zanimivejši. Vzame ji manj časa, da najde že-
leno in bolj se lahko posveti stvarem, ki jo zares zanimajo.
Slika 6: Primer CRM-ja v podjetju [12]
Upravljanje s strankami je sistem z arhitekturo, ki za celovit pogled na stranko zajema
tri vidike:
Operativni CRM, ki se nanaša na izvajanje postopkov, s katerimi se podjetje
povezuje s strankami, sprejema in posreduje naročila, opravlja transakcije in
strankam ponuja dodatne storitve in podporo. Značilno za to vrsto CRM-ja je
prenova avtomatizacije oziroma informatizacija poslovnih procesov na področjih,
ki vsakodnevno sodelujejo s strankami (prodaja in storitvene aktivnosti).
Vključujejo vzpostavitev klicnega centra in spletnega portala. Ključno za
opravljanje operativnega CRM-ja je vzpostavitev povezanosti vseh sistemov
znotraj podjetja. Operativni CRM torej ne izboljšuje direktne povezave odnosa do
strank, ampak je namenjen izboljšanju organiziranosti podjetja.
Organizacijski CRM omogoča stranki stik s podjetjem. Zagotavlja sodelovanje med
dobavitelji, partnerji in strankami, kar omogoča izboljšave postopkov in pripomore
k zadovoljevanju potreb strank. Vmesniki (elektronska pošta, konferenca, klepet
…) zagotavljajo interakcijo med organizacijo in strankami. Skrbijo za informacije
znotraj podjetja glede stvari, ki se zadevajo njihovih strank in aktivnosti. Te
informacije zna razširjati in jih deliti.
-
Analiza Oracle portala in razvoj spletne aplikacije na osnovi ADF komponent Stran 17
Analitični CRM, ki predstavlja aplikacije, ki podjetju omogočajo analizo podatkov
z namenom uspešnejšega komuniciranja s stranko in upravljanja poslovne
uspešnosti. Gre za analiziranje, modeliranje in ocenjevanje podatkov o strankah, ki
so v podatkovnih skladiščih ali podatkovnih zbirkah, z namenom ustvarjati
medsebojno koristne odnose. Sem spadajo sistemi za trženje in orodja za analizo
prodaje. Gre za glavnega uporabnika podatkov, ki jih zagotavlja operativni CRM.
Samo z analizo podatkov o strankah lahko podjetje bolje razume vzorce obnašanja,
trende, ki se pojavljajo in lahko izpelje vzročne povezave, kar pomaga napovedati
obnašanje in zadovoljstvo strank, ki je ključnega pomena za uspeh. Analiza je za
uspeh CRM-ja najbolj kritična.
2.6 CMS
Portali lahko za upravljanje s spletno vsebino v portalu uporabljajo CMS sistemov, ki
jih prikazujemo na sliki 7. CMS temelji na dinamični strežniški tehnologiji PHP-ja, v
povezavi s podatkovno bazo (najpogosteje MySQL). Eden večjih CMS sistemov je Oracle
Portal. CMS omogoča hitro, enostavno (ne zahteva posebnega predznanja zahtevnih
programskih jezikov) urejanje (dodajanje in spreminjanje preprostega besedila, slik in
dokumentov) spletne vsebine preko vmesnika, ki ga podpirajo spletni brskalniki (med
njimi najpogosteje Firefox in Internet Explorer). Prav tako vsebuje avtomatsko kreiranje
vsebine za spletne iskalnike, oddaljen dostop do urejevalnika iz katerega koli računalnika z
internetno povezavo, dodajanje in urejanje CSS funkcij, HTML funkcij, kodnih vstavkov
(BLOB), uporabnikov in novic. Poleg tega, da je CMS namenjen avtomatizaciji spletnih
vsebin, je uporaben tudi na drugih področjih kot so: multimedija, tiskani mediji, saj je prav
tako primerna za upravljanje s katalogi, časopisi, CDROM-i ali knjigami.
-
Analiza Oracle portala in razvoj spletne aplikacije na osnovi ADF komponent Stran 18
Slika 7: Primer vnosa besedila s pomočjo CMS. [36]
Enostavno urejanje in vzdrževanje portala je cilj vsakega skrbnika portala. Tako
prihrani pri času in ponudi uporabniku bolj kakovostne vsebine, ki jih hitreje osvežuje. S
spletno vsebino se ukvarja ponudnik sam, saj lahko v okviru izdelane grafične podobe
poljubno dodaja nove vsebinske sklope, informacije in jih osveži. Celotno vsebino spletnih
strani lahko spreminja kjerkoli in kadarkoli. Zadostuje namreč že delujoča internetna
povezava in delujoč internetni strežnik z delujočo CMS aplikacijo. Uredniku omogoča, da
z vnaprej pripravljenimi predlogami (angl. templates) objavi spletno vsebino na portal, ki
jo je odobril glavni urednik. Grafični oblikovalec sodeluje le občasno, ko je potrebno
spremeniti obliko določene predloge ali ustvariti novo. Poglavitna slabost uporabe CMS-ja
je omejitev, ki jo predstavlja struktura vsebine, saj česarkoli ne moremo dati na portal [35].
Če upoštevamo dejstvo kot npr., da „Prva postavitev spletne ponudbe predstavlja le
10% stroškov, levji delež preostalih 90% gre na račun osveževanja vsebine.“ [35], lahko
rečemo, da je CMS aplikacija ekonomsko ugodna. Uporaba CMS aplikacije omogoča tudi
avtomatizacijo poslovnih procesov. Za objavljanje spletnih vsebin namreč sedaj
potrebujemo le urednika brez razvojne skupine, ki je prej zagotavljala objavo spletnih
-
Analiza Oracle portala in razvoj spletne aplikacije na osnovi ADF komponent Stran 19
vsebin na portalu. Slika 8 prikazuje graf, ki prikazuje razliko ročnim načinom vzdrževanja
vsebine in CMS sistemom.
Slika 8: Graf obsega vzdrževanja vsebine s pomočjo CMS-ja in ročnega vzdrževanja [35]
Pomanjkljivosti in prednosti, na katere lahko naletijo CMS uporabniki, so naslednje
[36]:
Pri komercialnih sistemih imajo uporabniki zagotovljen nadaljnji razvoj, podporo
pri uporabi, kjer imajo zapisana popolna navodila za uporabo in specifične
prilagoditve za vsakega uporabnika posebej. Pri teh sistemih je glavna prednost
podpora pri uvajanju sistema v podjetje in zagotavljanje njegovega nadaljnjega
razvoja. Vendar imajo tudi slabosti: že sam nakup takšnega sistema je lahko zelo
drag, tudi same prilagoditve niso poceni.
Odprtokodni sistemi so sicer zastonj in imajo poleg aplikacije priloženo tudi
izvorno kodo, ki jo potrebujemo, kadar želimo prilagajati rešitve zase. Po drugi
strani tu ni garancije, da vse deluje brezhibno. Če neka verzija zaide v slepo ulico,
lahko to za nas pomeni konec. Nihče nam namreč ne zagotavljala podpore,
specifičnih lastnosti za posameznega uporabnika in podpore pri uvajanju sistema v
podjetju.
Slika 9 prikazuje vse akterje, ki nastopajo in komunicirajo med sabo v CMS sistemu.
Spletni urednik preko CMS dostopa do aplikacijskega strežnika, ki shranjuje podatke in jih
hkrati prikazuje končnemu uporabniku na portalu.
-
Analiza Oracle portala in razvoj spletne aplikacije na osnovi ADF komponent Stran 20
Slika 9: Pregled toka prenosa podatkov [36]
CMS sistemi omogočajo različne funkcionalnosti glede na zahteve uporabnikov.
Najpogosteje omogočajo naslednje funkcionalnosti [35]:
preprosto, hitro oblikovanje brez napak in urejanje spletnih vsebin,
možnost integracije zunanjih CSS stilov, kar zagotavlja samostojno oblikovanje
stilov spletnih vsebin in možnost večkratne uporabe ter samostojnega
dopolnjevanja,
dodajanje in urejanje slik, grafov in povezav,
samostojno urejanje strukture strani spletnega mesta, gradnje menijev in
podmenijev,
vključevanje že vnaprej izdelanih modulov ali obrazcev za vnos podatkov na
spletni strani (ankete, forume, koledar ...),
možnost dodajanja dokumentov na spletno stran (pdf, doc, zip ...),
časovno vodenje objave vsebine (določimo, kdaj naj se vsebina objavi in kako
dolgo naj bo na prvi strani),
možnost uvoza in izvoza podatkov v Word, Excel, Access ...,
kreiranje podatkov za RSS sisteme vsebin,
kreiranje meta oznak, ki so pomembne za lociranje spletnih strani v iskalniku,
možnost dodeljevanja pravic upravljanja (večuporabniški sistem z reguliranim
dostopom področnih urednikov do posameznih vsebin),
-
Analiza Oracle portala in razvoj spletne aplikacije na osnovi ADF komponent Stran 21
administracijo baze partnerjev in avtomatizirano korespondenco z njimi v smislu
obveščanja partnerjev o aktivnostih podjetja,
možnost administracije uporabnikov,
podrobno statistiko obiskanosti portala,
arhiviranje podatkov,
kontrolo verzij za objavo (katera verzija dokumenta se bo objavila danes, jutri - gre
za časovno vodenje objav spletnih vsebin),
zmanjševanje stroškov vzdrževanja in osveževanja spletnih vsebin,
gradnjo hierarhičnih menijev in podmenijev ter avtomatični sistem navigacije,
urejanje različnih jezikovnih različic, ki se vsebinsko in grafično ujemajo z
originalno vsebino.
Možnosti, ki jih ponujajo CMS sistemi, so praktično neomejene, saj je večina sistemov
zasnovana modularno. Na ta način omogoča fleksibilnost v smislu dodajanja vedno novih
in spreminjajočih se obstoječih funkcionalnosti.
-
Analiza Oracle portala in razvoj spletne aplikacije na osnovi ADF komponent Stran 22
3 ORACLE ADF KOMPONENTE
Oracle ADF komponente sestavljajo celovito rešitev za gradnjo modulov, saj pokrivajo
vsak segment MVC arhitekture. Spadajo med 4GL jezike - jezike četrte generacije, ki so v
celoti objektno orientirani in imajo v naprej zgrajene komponente. Komponente so
zgrajene na J2EE odprto kodnih standardih, z namenom poenostavitve in pohitritve
izgradnje modulov, ki temeljijo na SOA arhitekturi [29]. S tem ko podpirajo J2EE odprto
kodne standarde jih lahko namestimo na vsak aplikacijski strežnik, ki podpira te standarde
(Oracle, WebSphere, Tomcat ...), neodvisno od proizvajalca [17]. S pomočjo ADF
komponent lahko naredimo aplikacijo od najnižjega nivoja (zajemanje podatkov) do
najvišjega nivoja (prikaz podatkov na ekranu). Uporaba ADF komponent zmanjša potrebo
po pisanju programske kode, saj vnaprej pripravljene komponente omogočajo hitro in
enostavno gradnjo aplikacij. Tako se razvijalec v večji meri posveča vsebini. Na ta način
zmanjšamo napake človeškega faktorja, ki bi lahko nastale pri implementaciji. ADF
komponente in Oracle JDeveloper predstavljata okolje, ki podpira celotni razvojni cikel
aplikacije (načrtovanje, razvoj, testiranje in namestitev na strežnik) [29].
3.1 ORACLE ADF ARHITEKTURA
Oracle ADF arhitektura implementira MVC (angl. Model View Controller)
arhitekturo, ki predstavlja model gradnje spletnih aplikacij. Arhitektura zagotavlja
precejšnjo neodvisnost med nivoji, poenostavitev vzdrževanja in boljšo preglednost
problema. Manjša sklopljenost MVC arhitekture pomeni večjo neodvisnost med
posameznimi moduli. Omogoča ponovno uporabo posameznih modulov v obstoječi ali
novi aplikaciji. Sama izbira na določenem nivoju je neodvisna in omogoča izbiro najboljše
možne tehnologije za gradnjo aplikacije [1]. Oracle ADF arhitektura je sestavljena, kot
prikazuje slika 10, iz [28]:
− pogleda (angl. View), ki zajema grafične komponente za prikazovanje poslovne
logike uporabniku,
− krmilnika (angl. Controller), ki interpretira ukaze miške in tipkovnice poglednemu
ali modelnemu nivoju, ki se temu ustrezno spreminjata in
-
Analiza Oracle portala in razvoj spletne aplikacije na osnovi ADF komponent Stran 23
− modela (angl. Model), ki predstavlja logiko aplikacije, podatke domene in ponuja
svoje stanje ter se odziva na zahteve po spremembi.
− poslovno storitvenega nivoja (angl. Business services), ki je najnižji nivo v Oracle
ADF arhitekturi in zagotavlja komponentam neposredno delo s podatkovno bazo.
Slika 10: Prikaz ADF komponent [28]
3.2 POSLOVNO STORITVENI NIVO (angl. Bussiness services)
Predstavlja nivo neposredne komunikacije s podatkovnim izvorom. Zagotavlja dostop
do podatkovnega izvora, upravljanje s transakcijami in izvajanjem poslovne logike. V
poslovno storitvenem nivoju se nahaja več vrst tehnologij za zajemanje podatkov iz baze
(Web Services, EJB, JavaBeans, kot prikazuje slika 10). V praktičnem delu bomo
uporabili ADF poslovne komponente.
3.2.1 ADF poslovne komponente (angl. ADF Business Components)
ADF poslovne komponente zagotavljajo gradnike, s pomočjo katerih enostavno in na
deklarativen način zgradimo poslovno logiko. Njihova primarna funkcija je zajemanje in
vnašanje podatkov v podatkovni izvor. Lahko pa z njimi tudi zgradimo E-R diagram in ga
nato shranimo v katerikoli podatkovni izvor. Omogočajo tudi obratni inženiring (angl.
Reverse engineering), kar pomeni, da lahko že predhodno zgrajen podatkovni model v
podatkovnem izvoru uporabimo pri gradnji aplikacije. Praviloma so komponente zgrajene
iz Jave in XML datoteke, ali samo iz XML datoteke. XML dokument vsebuje definicijo
komponente. Z Java kodo pa preberemo informacije, shranjene v XML dokumentih. Java
predstavlja modularen in prenosljiv jezik, idealen za komunikacijo med poslovnimi
-
Analiza Oracle portala in razvoj spletne aplikacije na osnovi ADF komponent Stran 24
aplikacijami, medtem ko XML jezik omogoča poljubno razširljivost in prilagodljivost. To
zagotavlja ADF poslovnim komponentam, da se lahko povežejo do podatkov, neodvisno
od izvora podatkov. Vso poslovno logiko lahko prenesemo na katerikoli aplikacijski
strežnik. V Orale ADF arhitekturi se nahaja na najnižjem nivoju [18]. Spodnja slika 11
prikazuje vse možne načine gradnje poslovne logike znotraj Oracle JDeveloperja.
Slika 11: Prikaz vseh možnih načinov izgradnje poslovne logike s pomočjo ADF [18]
Osnovni gradniki ADF poslovnih komponent [18]:
⇒ Entitetni objekt in asociacije (angl. Entity Object and Associations)
Entitetni objekt je preslikava tabele iz podatkovne baze v aplikacijo. Vsak
atribut v podatkovni bazi se preslika v ustrezen podatkovni tip v aplikaciji.
Vsebujejo različne funkcije, ki nam olajšajo delo in pohitrijo izgradnjo
aplikacije. Vsebuje funkcijo za validacijo vsakega posameznega atributa (od
primerjalnega seznama vrednosti, vrednosti vnosa od do, “regular expression1“
in poljubno definirane validacije z Java metodo).
Entitetni objekt omogoča avtorizacijo vsakega atribua posebej. Vsakemu
uporabniku ali skupini uporabnikov lahko določimo pravice za delo s
posameznim atributom. Entitetni objekt omogoča predefiniranje privzete
1Je tekstovni vzorec, narejen v skladu s sintaktičnimi pravili.
-
Analiza Oracle portala in razvoj spletne aplikacije na osnovi ADF komponent Stran 25
poslovne logike na osnovi jave. Za povezovanje entitet uporabljamo asociacije.
Le-te omogočajo vse možne povezave, ki jih poznamo v E-R diagramu.
⇒ Pogledni objekt in povezave (angl. View Object and Links)
Je komponenta, ki nam omogoča pisanje poljubnih SQL stavkov za želeno
entiteto ali nad več entitetami v poslovni logiki oziroma nad želeno tabelo ali
več tabelami v podatkovni bazi. Kot rezultat nam vračajo podatke iz
podatkovne baze.
Komponenta omogoča dinamično prikazovanje podatkov glede na vhodne
spremenljivke. To dosežemo s funkcijo “angl. Bind Variables“, kjer
specificiramo vse spremenljivke, za katere želimo, da bi se njihove vrednosti
dinamično spreminjale v SQL stavku. Omogoča, da lahko predefiniramo java
razrede, ki jih je komponenta generirala kot privzete, glede na uporabnikove
zahteve. Pogledne povezave (angl. Links) določajo povezavo med dvema
poglednima objektoma. Omogočajo vse vrste povezav, ki jih lahko naredimo v
E-R modelu.
⇒ Aplikacijski modul (angl. Application Modul)
Je transakcijska komponenta, ki jo uporabljamo za vključevanje poglednih
objektov v aplikacijski modul in njihovo testiranje. Narejena je s pomočjo
ADF Swing komponent in predstavlja namizno (angl. desktop) aplikacijo za
povezovanje s podatkovno bazo. Omogoča vnašanje, brisanje, validiranje
pravilnega vnosa in pregled podatkov iz podatkovne baze. Z aplikacijskim
modulom dodajamo poslovno logiko v ADF podatkovno kontrolno zbirko
(angl. ADF Data Controls Palette), ki omogoča enostavno preslikavo poslovne
logike na uporabniško stran (angl. JSF page).
Če želimo, lahko predefiniramo Java razrede, ki jih komponenta generira kot
privzete glede na uporabnikove zahteve.
⇒ Domena (angl. Domain)
-
Analiza Oracle portala in razvoj spletne aplikacije na osnovi ADF komponent Stran 26
Predstavlja povezave med podatkovnimi tipi v poslovni logiki in podatkovnimi
tipi v podatkovni bazi. Primer: če izberemo za spremenljivko v poslovni logiki
podatkovni tip številka (angl. Number), lahko za to spremenljivko izberemo
(angl. Number ali angl. Float), kot podatkovni tip v podatkovni bazi.
3.3 MODEL (angl. Model)
Zagotavlja abstraktni nivo nad modelnim nivojem in omogoča uporabniškemu in
kontrolnemu nivoju, da dela z različnimi implementacijami poslovnih storitev. Predstavlja
povezovalni nivo med poslovno storitvenim in uporabniškim nivojem. Zagotavlja funkcije
za zajemanje in vnašanje podatkov iz in v poslovno storitveni nivo.
3.3.1 ADF Model
Zagotavlja enoten vmesnik za dostop do kateregakoli tipa poslovne storitve. V ta
namen je implementiran JSR-227, imenovan tudi (angl. Data Control) in nam omogoča
ločevanje poslovnega od uporabniškega dela. S tem nam nazorno prikaže koncept, ki so ga
posnemali od SOA arhitekture znotraj aplikacije. Omogoča namreč, da s pomočjo različnih
tehnologij, ki smo jih uporabili v poslovni logiki, predstavimo poslovno logiko
poglednemu nivoju na enak način.
Tehnologija, za preslikavo poslovne logike, ki smo jo uporabili pri ADF komponentah
je ADF aplikacijski modul (angl. ADF Application Modules), ki je del storitvenih razredov
modula za poslovne komponente (angl. ADF Business Components module) [18].
Podpira dve komponenti, ki zagotavljata ločevanje poslovnega in uporabniškega nivoja:
ADF kontrolna zbirka podatkov (angl. ADF Data Controls), le-ta prikazuje
preslikavo poslovne logike. Preslikamo jo lahko s pomočjo aplikacijskega modela
(angl. Application Module), Java razreda, XML, spletne storitve ali iz Enterprise
JavaBeans (EJB) Session Beans.
ADF povezavo podatkov (angl. ADF Data Bindings), ki zagotavlja povezavo med
ADF Faces komponentami, to so že pripravljene komponente, ki temeljijo na Javi,
in podatki v podatkovni bazi. Za vsak uporabniški vmesnik oziroma JSF stran se v
ozadju kreira “angl. page definition file“. “angl. Page definition file“ je XML
datoteka, ki vsebuje podatke o objektih, ki so na uporabniškem vmesniku. Poznamo
-
Analiza Oracle portala in razvoj spletne aplikacije na osnovi ADF komponent Stran 27
več vrst povezav do podatkov. Prva je “angl. Iterator bindings“, ki nam omogoča
preslikavo iz vrstic v podatkovni bazi v dinamično tabelo. Druga je “angl. Value
bindings“, ki poveže UI komponento s podatkovnim tipom v podatkovni bazi.
Tretja vrsta pa je “angl. Action bindings“, ki sproži zahteve uporabnika nad zbirko
podatkov [28].
Primer uporabe:
Medtem ko povlečemo komponento iz “angl. Data Control Palette“ (to je del, kjer so
prikazane vse komponente, ki jih uporabljamo pri “Data Controlls“) na JSF stran, se
avtomatično kreirajo spodaj naštete stvari:
• “DataBindings.cpx“ datoteka - je datoteka, ki vsebuje podatke o definicijski
datoteki, JSF strani in podatek o imenu preslikane poslovne logike.
• ADF Bindings (oracle.adf.model.servlet.ADFBindingFilter ) filter - je filter, ki se
ustvari v web.xml datoteki in nam pove, kateri del poslovne logike se je preslikal na
stran.
ADF fazni poslušalec (angl. ADF phase listener), ki ga prikazuje koda 1, se uporablja za
izvrševanje ADF življenjskega cikla. ADF fazni poslušalec posluša vse faze, če je potrebno
karkoli izvršiti pred ali po kreiranju stran.
oracle.adf.controller.faces.lifecycle.ADFPhaseListener
Koda 1: Koda, ki se avtomatično doda v datoteko faces-config.xml ob dodani logiki na stran
[19]
• Definicijska datoteka (angl. Page Definition File) je datoteka, ki vsebuje podatke o
komponentah, ki so na pripadajoči JSF strani.
http://java.sun.com/JSF/Configuration
-
Analiza Oracle portala in razvoj spletne aplikacije na osnovi ADF komponent Stran 28
3.4 KONTROLNI NIVO (angl. Controller)
Kontrolni nivo zagotavlja mehanizem, ki nadzira potek izvajanja dinamičnih spletnih
aplikacij. Komunicira z uporabniškim nivojem in zagotavlja pretvorbo klientovih akcij v
akcije, ki jih razume modelni nivo. Vsebuje sistem za upravljanje z napakami. Poznamo
dve osnovni kontrolni možnosti znotraj MVC arhitekture. Prva je “angl. Apache Jakarta
Struts Controller“ in druga možnost pa je JSF kontroler (angl. JSF Controller). Prvi je že
v zatonu in ga še redko uporabljajo za gradnjo spletnih aplikacij. Drugi način kontrole pa
se še vedno intenzivno uporablja z manjšimi izboljšavami. Eni izmed tistih, ki so naredili
določene izboljšave, so bili tudi pri ADF komponentah.
3.4.1 ADF kontroler (angl. ADF Controller)
Predstavlja kontroler, ki podeduje lastnosti JSF kontrolerja z dodanimi lastnimi
izboljšavami. Ena izmed najbolj pomembnih omogoča ponovno uporabo poteka opravil
(angl. Task Flow) v drugih aplikacijah in pošiljanje parametrov med njimi. Primer prikaza
kontrolnega nivoja je slika 12 spodaj. Prikazan je deklarativen način “faces-config.xml“
datoteke. To je datoteka, v kateri je definiran kontrolni nivo aplikacije.
Slika 12: Prikaz datoteke faces-config.xml [28]
3.5 POGLED (angl. View)
Pogledni ali predstavitveni nivo si najlažje predstavljamo kot nivo, kjer gradimo
uporabniški vmesnik za dostop in upravljanje uporabnika s spletno aplikacijo. Predstavlja
-
Analiza Oracle portala in razvoj spletne aplikacije na osnovi ADF komponent Stran 29
najvišji nivo v MVC arhitekturi in hkrati najbližji uporabnikovemu razumevanju. Na tem
nivoju imamo različne tehnologije, s pomočjo katerih gradimo uporabniški vmesnik, med
katerimi so: HTML, JSP, JSF, Swing, ADF Faces itd. Za vsako od teh naštetih tehnologij
imamo že v naprej pripravljene komponente, ki omogočajo hitrejšo, robustnejšo in
enostavnejšo gradnjo uporabniškega vmesnika. Torej, pogledni nivo predstavlja vizualno
predstavitev poslovne logike. Pogledni nivo je lahko spletni odjemalec ali namizna
aplikacija odjemalec – strežnik.
3.5.1 ADF Faces
ADF Faces temelji na JavaServer Faces (JSF) kompatibilnih knjižnicah, ki ponujajo
širok spekter obogatenih UI komponent za razvoj JSF aplikacij. Zasnovan je na JSR-1271
specifikaciji, zato je uporaben v katerikoli spletni aplikaciji, ki temelji na JSF [15].
ADF zagotavlja konsistentni videz aplikacije, kar uporabniku omogoča, da se osredotoči
na postavitev komponent na uporabniškem vmesniku. Knjižnica, ki sestavlja ADF Faces,
nudi podporo za internacionalizacijo spletne strani. Omogoča prikaz uporabniškega
vmesnika in vsebine ne glede na odjemalno napravo, sposobnost osveževanja poljubnega
dela strani kar pomeni, da lahko zgradimo interaktivno spletno stran, ki osvežuje prikaz
brez osvežitve celotne strani. Omogoča validacijo na strani odjemalca.
Primer komponente ADF Faces 10.1.3
ADF Faces Core so komponente, ki omogočajo izgradnjo dinamičnega uporabniškega
vmesnika. Namespace: http://xmlns.oracle.com/adf/faces
Short name: af
na sliki 13 prikazujemo primer ADF komponente, ki uporabniku
omogoča enostavno izbiro datuma.
Slika 13: Primer izbire datuma ADF Faces 1Je specifikacija arhitekture in API-jev, z namenom poenostavitve in pohitritve izgradnje uporabniških
vmesnikov, ki temeljijo na Javi.
-
Analiza Oracle portala in razvoj spletne aplikacije na osnovi ADF komponent Stran 30
Oracle je ADF Faces nadgradil v Oracle ADF Faces Rich Client Components, ki so
predstavniki Web 2.0 tehnologije [16]. Razvil se je iz JSF 1.2. Vsebuje celoten JavaScript
API. Poudarek je na uporabniku zelo všečni komponenti, predvsem privlačnega videza
komponente in barvne usklajenosti. Tako je obogatil samo interaktivnost komponente.
Dodane so tudi nove komponente. Združljiv je z ADF kontrolerjem, ki podpira “angl.
TaskFlow“ in označevanje, in ADF Modelom, ki podpira povezovanje podatkov.
Zagotavljajo tudi “angl. ADF Data Visualization“ komponente, ki sposobne prikazovanja
dinamičnih grafov, merilnih naprav in ostalih grafičnih komponent, ki prikažejo realne
podatke [15].
Primer komponente ADF Faces Rich Client
ADF Faces Rich UI so komponente, ki temeljijo na JavaScripti in so bile prvič
dodane kot knjižnica v Jdeveloper 11.
Namespace: http://xmlns.oracle.com/adf/faces/rich
Short name: af
predstavlja komponento, slika 14, z istimi funkcionalnostmi kot
komponenta na sliki 13.
Slika 14: Primer izbire datuma ADF Faces RC
Oracle ADF Swing predstavlja razvojno okolje namizno zasnovanih odjemalec-
strežnik aplikacij in večplastnih podatkovnih aplikacij v Javi znotraj Oracle JDeveloper-ja
in Oracle ADF Frameworka. Oracle ADF Swing vsebuje ozek povezovalni nivo, ki se
obnaša kot model v Swingu. Povezava med Swing komponentami in poslovno logiko je
osnovana na deklarativni ravni. Oracle ADF Swing vsebuje vizualno razvojno okolje za
podatkovne aplikacije, ki je primerljivo z Oracle Forms in drugimi 4GL razvojnimi okolji.
http://xmlns.oracle.com/adf/faces/rich
-
Analiza Oracle portala in razvoj spletne aplikacije na osnovi ADF komponent Stran 31
ADF Mobile je nadgradnja Oracle ADF za mobilne uporabnike. Le-ti lahko dostopajo
do mobilnih aplikacij do podatkov v realnem času brez kakšnih posebnih zahtev glede
namestitve. ADF Mobile podpira UI komponente, ki so optimizirane za prikaz na
mobilnih napravah. Vsebuje tudi AJAX napredne funkcije, ki podpirajo validacijo na strani
odjemalca in osvežitev točno določenega dela strani [15].
3.5.2 ADF zaščita
ADF zaščita je namenjena preprečevanju nepooblaščenih dostopov v aplikacijo,
njenih strani, podatkov in funkcij. Najprej je bilo potrebno vse nastavitve za
implementacijo zaščite v aplikacijo narediti ročno, od verzije JDeveloper 10.1.3.0 pa je
ADF Varnost (angl. ADF Security) vgrajena kot produkt, ki nam omogoča zelo enostavno
in hitro vgradnjo zaščite v aplikacijo na deklarativni način. Za zaščito uporablja J2EE
upravljavca vsebnikov (angl. Container-manage) za avtentifikacijo na enega izmed
naslednjih načinov: “angl. Basic Authentication“, “angl. Digest Authentication“, “angl.
Forms-Based“, “angl. Client Certificate“. Med razvijanjem in testiranjem aplikacije je
ADF zaščita nastavljena v “system-jazn-data.xml“ datoteki, ki temelji na XML varnostnem
repozitoriju za Oracle JAAS. Datoteka vsebuje uporabnike, gesla, uporabniške skupine in
ADF varnostna JAAS dovoljenja (angl. ADF Security JAAS Permissions). Po namestitvi
na Oracle Application Server je lahko zaščita spremenjena na OID (angl. Oracle Internet
Directory) [14].
J2EE varnostne vloge so definirane v web.xml datoteki in povezane z uporabniki in
skupinami v “system-jazn-data.xml“ datoteki. Če se ime vloge iz web.xml datoteke ujema
z imenom skupine v “system-jazn-data.xml“ datoteki, ne potrebujemo nobenega
nadaljnjega povezovanja. Če se pa imena ne ujemata, potem se morata povezati preko
“orion-application.xml“ datoteke, ki je konfiguracijska datoteka za LDAP [27]. Primer
kode 3 spodaj kaže, kako programsko preverimo, če je ADF varnost vključena.
if (ADFContext.getCurrent().getSecurityContext().isAuthorizationEnabled()) {
Permission p = new RegionPermission("view.pageDefs.page1PageDef", "Edit");AccessController.checkPermission(p);// izvedi zaščitno akcijo
-
Analiza Oracle portala in razvoj spletne aplikacije na osnovi ADF komponent Stran 32
} catch (AccessControlException ace) { // sporoči sporočilo ob zavrnitvi dostopa
}
Koda 3: Primer preverjanja vključenosti zaščite nad modulom
3.5.3 Avtorizacija
Avtorizacija je namenjena preprečitvi dostopa do vsebin za katere uporabnik nima
pravic. Temelji na JAAS, ki omogoča preverjanje uporabnikov, definiranih v skupinah v
aplikaciji (v datoteki web.xml) in v skupinah na aplikacijskem strežniku (v datoteki
system-jazn-data.xml). Uporabniki so lahko shranjeni v različnih izvorih (LDAP, XML
datoteki …) [27]. Spodaj na sliki 15 prikazujemo uporabnika, ki želi dostopati do spletnih
vsebin.
Slika 15: Prikaz avtorizacije uporabnika v aplikacijo [27]
Avtorizacija v ADF Security je definirana preko Java Permission, določena pa je
deklarativno za “angl. iterator bindings“, “angl. action bindings“, “angl. method
binding“ in za celotno “angl. ADF page definition“ datoteko, kot prikazuje tabela 2.
Tabela 2: Tabelarični prikaz avtorizacije v ADF aplikaciji [27]
ADF
Modelni
Objekti Področje delovanja Vpliv na komponente v uporabniškem vmesniku
Povezova grant – lahko dodeljuje Na straneh, ki omogočajo izvajanje prilagoditve, je vsaka
-
Analiza Oracle portala in razvoj spletne aplikacije na osnovi ADF komponent Stran 33
ADF
Modelni
Objekti Področje delovanja Vpliv na komponente v uporabniškem vmesniku
lni
vmesnik
za spletno
stran
pravice na strani povezava ali gumb nastavljena tako da onemogoča dostop
uporabnikom, ki nimajo zahtevanih dovoljenj.
edit – lahko ureja vsebino
na strani
Če ima uporabnik dovoljenje samo za ogled (angl. view), ne
pa tudi za urejanje (angl. edit), potem so vsi vneseni podatki
prikazani samo za branje (angl. read only).
personalize – dovoljuje
uporabniku prilagoditev
strani
Strani, ki omogočajo personalizacijo, so prikazane in
dostopne le uporabnikom, ki imajo ta dovoljenja.
view – lahko vidi stran Uporabnik, ki nima tega dovoljenja, bo prikazan kot
avtorizacijska napaka (angl. authorization error).
Povezova
nje
dinamični
h polj
read – lahko bere vrnjene
vrstice
Vse vrstice podatkov bodo vrnjene. Uporabnik lahko določi,
kaj bo prikazano ali nadgrajeno z individualnimi dovoljenji
za posamezen atribut
update – lahko nadgradi
podatke v vrstici
„Commit operation“ , ki je nastavljena kot „command
button“, ni omogočena uporabnikom, ki nimajo nastavljene te
pravice. Namesto omejevanja spreminjanja celotne vrstice,
lahko omejimo vsak posamezen atribut.
create – lahko ustvari
novo vrstico
„Create operation“ , ki je nastavljena kot „command button“,
ni omogočena uporabnikom, ki nimajo te pravice.
delete – lahko zbriše
vrstico
„Delete operation“, ki je nastavljena kot „command button“,
ni na voljo uporabnikom, ki nimajo te pravice.
Povezova
nje metod
invoke – metoda, ki lahko
izvrši
Če je metoda povezana z „command button“, je ta gumb
onemogočen za uporabnike brez te pravice. Če je metoda
sprožena implicitno, se izvrši samo za uporabnike, ki imajo to
pravico.
Povezova
nje na
read – lahko bere Vrednosti atributov bodo prikazane.
-
Analiza Oracle portala in razvoj spletne aplikacije na osnovi ADF komponent Stran 34
ADF
Modelni
Objekti Področje delovanja Vpliv na komponente v uporabniškem vmesniku
nivoju
atributov
vrednosti atributov
update – lahko nadgradi
vrednost atributov
Vsi vneseni podatki bodo prikazani samo za branje za
uporabnike brez tega dovoljenja.
3.5.4 Avtentifikacija
Na sliki 16 vidimo primer implicitne avtentifikacije za dostop do ADF spletne vsebine.
Implicitna avtentifikacija pomeni, da hoče uporabnik dostopati do ADF spletne vsebine
brez vnaprejšnje avtentifikacije. Le-ta se izvede preko servleta, ki je definiran, kot
“adfAuthentication“ v “web.xml“ datoteki.
Slika 16: Prikaz implicitne avtentifikacije [27]
Postopek avtentifikacije je sledeč:
Ko zahtevamo spletno stran, ADF povezovalni filter za servlet preusmeri zahtevo
na ADF avtentifikacijski servlet in shrani logično operacijo, ki je sprožila vpis.
(Korak 1)
-
Analiza Oracle portala in razvoj spletne aplikacije na osnovi ADF komponent Stran 35
ADF avtentifikacijski servlet ima Java EE varnostne omejitve, ki povzroči da Java
EE vsebnik sproži nastavljen vpisni mehanizem. (Korak 2)
• Prikaže se vpisna stran za avtentifikacijo. (2a)
• Uporabnik vnese podatke za vpis. (2b)
• Vneseni podatki se pošljejo nazaj do vsebnika z metodo
j_security_check(). (2c)
• Java EE vsebnik avtentificira uporabnika z uporabo avtentifikacijskega
modula (2d)
Po uspešni avtentifikaciji vsebnik preusmeri uporabnika nazaj do servleta, ki je
sprožil avtentifikacijo. (Korak 3)
In na koncu ADF avtentifikacijski servlet preusmeri uporabnika do prvotno želene
vsebine. (Korak 4)
Eksplicitna avtentifikacija se izvrši, ko uporabnik, preden dostopa do ADF spletne
vsebine, zahteva obrazec za vpis v aplikacijo. Izvrši se postopek avtentifikacije, ki je enak,
kot pri implicitni avtentifikaciji. Po končanem postopku ga le-ta vrne nazaj na stran, kjer je
zahteval avtentifikacijo s to razliko, da je sedaj avtentificiran.
-
Analiza Oracle portala in razvoj spletne aplikacije na osnovi ADF komponent Stran 36
4 ORACLE PORTAL
4.1 PREDSTAVITEV
Oracle portal (v nadaljevanju OP) je spletni produkt, ki omogoča gradnjo, nameščanje
in upravljanje s portleti oziroma spletno vsebino [30]. Je naslednik WebDB1 okolja, ki je
temeljilo na HTML orodju za razvijanje dinamičnih spletnih strani in aplikacij. Izgradnja
portala z OP ne zahteva dodatne programske opreme, kakor tudi ne posebnega znanja
kateregakoli programskega jezika. Izvede se v celoti preko brskalnika. Dostopen je preko
brskalnikov (Firefox, Internet Explorer, Google Chrome ...), ki za naslavljanje uporabljajo
URL. Tudi upravljanje s portalom je preprosto, saj prav tako ne zahteva 3GL
programerskih izkušenj. OP namreč vsebujejo že pripravljene standardne predloge za
izgradnjo poročil, grafov in raznih izpisov podatkov iz podatkovne baze [30].
OP je zgrajen iz infrastrukturnega in iz aplikativnega dela. Infrastrukturni del vsebuje
aplikacijski server, na katerem temelji celotni OP. Aplikativni del pa predstavlja portlete,
ki gradijo OP.
Za gradnjo aplikacije v praktičnem delu diplomske naloge smo uporabili OP 10.1.4
verzijo, ki predstavlja že tretjo generacijo Oracle AS. Zasnovana je bila kot nova vodilna
podjetniška rešitev za podjetja, ki potrebujejo celovito in logično povezano strukturo za
razvijanje, razvoj in upravljanje portalov. Temelji na novem konceptu izgradnje aplikacije,
ki se imenuje SOA. Le-ta predstavlja nove temelje za oblikovanje in izgradnjo aplikacij,
kot tudi novo pot za že zgrajene obstoječe sisteme in poslovne aplikacije. SOA je tudi
temelj celovite in integrirane podjetniške aplikacije za sistemsko programsko opremo.
OP vsebuje orodja za kreiranje aplikacij, ki nam omogočajo dinamično predstavitev
podatkovne baze. Te komponente vsebujejo obrazce za vnos podatkov, poročil, diagramov,
koledarjev, menijev, ... Orodja za sledenje nam izpišejo odzivni čas, ime osebe, ki zahteva
neko dejanje in varnostno zgodovino za te komponente. OP podpira še dodatna orodja, ki
zagotavljajo uporabnikom brskanje po podatkovni bazi (tabele, poglede, PL/SQL rutine,
indeksiranje, ...) preko HTML strani in OP vmesnika. Strani portala2 so zgrajene iz
komponent (portletov), ki omogočajo dostop do spletne strani, aplikacij, poročil, novic in 1 WebDB je je eno zadnjih spletnih orodij RDBMS (angl. Relational database management system ), ki ga je izdalo podjetje Oracle in se uporablja za razvijanje in upravljanje s portalom.
-
Analiza Oracle portala in razvoj spletne aplikacije na osnovi ADF komponent Stran 37
ostalih stvari. Portlete1 lahko razvijejo uporabniki sami, lahko pa jih izberejo med že
narejenimi Oracle portleti ali katerimi drugimi. OP zagotavlja storitve kot so prijava,
sortiranje vsebine, iskanje, integracijo menijev in varnost.
Uporabnikom ponuja centraliziran dostop do podatkov, aplikacij in poslovnih
procesov. Večina portalov podpira le dostop do informacij, OP pa omogoča tudi dostop do
spletnih servisov, sistemov in aplikacij. Razvil je še koncept integracije BPM orodja s
portalom. Vodilna ideja je bila, da bi OP 10.1.4 omogočal smiselno združevanje poslovne
logike (angl. business intelligence applications), poslovnih procesov (angl. business
process systems) in spletnih servisov (angl. web services) v enovito produktivno okolje.
Nadalje se je razvijal in bogatil s pomočjo povezovanja z ostalimi programi, kot so
Microsoft Office in Windows namizje. OP je del Oracle Application Server-ja.
4.2 ARHITEKTURA ORACLE PORTALA
Arhitektura OP je troslojna, kot prikazuje slika 17. Prvi sloj predstavlja podatkovni
strežnik. Drugi sloj predstavlja aplikativni strežnik, ki omogoča prikaz posameznih
aplikacij, s katerimi uporabnik dostopa do želenih podatkov. Tretji sloj predstavlja
„lahkega“ odjemalca (angl. „thin client“), t.j. uporabnika, ki se preko OP poslužuje
aplikacij, ki nudijo informacije, shranjene v podatkovni bazi [38].
Slika 17: Prikaz troslojne arhitekture OP [38]2 Portal je spletna aplikacija, ki vsebuje personalizaci