analiza oracle portala in razvoj spletne aplikacije na osnovi adf komponent · 2017. 11. 27. ·...

103
Evgen Meklav ANALIZA ORACLE PORTALA IN RAZVOJ SPLETNE APLIKACIJE NA OSNOVI ADF KOMPONENT Diplomsko delo Maribor, julij 2009

Upload: others

Post on 05-Feb-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

  • 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