Informatika | Adatbázisok » Mátéfi Gergely - Oracle portal

A doksi online olvasásához kérlek jelentkezz be!

Mátéfi Gergely - Oracle portal

A doksi online olvasásához kérlek jelentkezz be!


 2002 · 9 oldal  (170 KB)    magyar    53    2012. június 15.  
    
Értékelések

Nincs még értékelés. Legyél Te az első!

Tartalmi kivonat

V. gyakorlat: Oracle Portal Szerző: Mátéfi Gergely 1 Bevezetés Vállalati információs portálon olyan egységes, de személyre szabható felhasználói felületet értünk, amelyen keresztül az alkalmazottak közvetlenül hozzáférnek a személyüket, munkakörüket érintő rendszerezett információkhoz, információs szolgáltatásokhoz: hírekhez, dokumentumokhoz, adatbázis szolgáltatásokhoz, fórumokhoz. További elvárást jelenthet a vállalati portálokkal szemben például a dokumentumtár és -menedzsment képesség, a munkafolyamatok támogatása stb. A szoftverpiacon több cég is kínál portálok kialakításához fejlesztő- és keretrendszert (framework), megemlítendők többek között a Microsoft Sharepoint Server, az IBM Websphere vagy a Yahoo PortalBuilder elnevezésű termékei. Jelen segédletben a laborkörnyezethez igazodva az Oracle Portal szoftvercsomaggal foglalkozunk. Az Oracle Portal vállalati információs portálok számára biztosít webes

technológiákon alapuló integrált keretrendszert. A Portal magja az Oracle adatbázis-kezelőre épülő oldalkészítő motor, amely oldalvázakból, stíluselemekből és ún. portletekből állítja össze a felhasználó számára megjelenő oldalakat A portlet olyan szabványos szoftverkomponens, amely a HTML- vagy XML/XSL-kódban egy adategység – például dokumentum, alkalmazás vagy tartalomszolgáltatás – megjelenítéséért felelős. Egy oldal több portletet tartalmazhat, és egy portlet több helyen, több kontextusban is felhasználható. A portlet a keretrendszerre támaszkodva vezérelhet olyan komplex, ám portálokon gyakran előjövő funkciókat is, mint a Legnépszerűbb oldalak megjelenítése, Szavazógép vagy Regisztráció. Az ilyen tipikus portletek könyvtárakba szervezhetők, és más portálok kialakításakor újrafelhasználhatók. Az Oracle egységes portletkönyvtárat is szállít a Portal mellé. A Portal teljes üzemeltetése ezen

portletek segítségével, webes felületen keresztül történik. A Portal szemszögéből élesen elkülönülnek az információszolgáltatók, a portált üzemeltetők és a felhasználók. Az információszolgáltatók azon belső vagy külső szervezetek, akik a rendszerezett információk előállításáért, illetve feldolgozásáért felelnek, például a telefonkönyv, a hír- vagy a vállalati alkalmazások szolgáltatói. A portált üzemeltetők feladata a struktúra és a megjelenés kialakítása, a portál adminisztrációja. A felhasználóknak lehetőségük van a kialakított lapok testreszabására, akár saját lapok kialakítására is. A Portal kialakításakor figyelembe vették, hogy a vállalati mély tartalom (deep content) jelentős része a felhasználóknál keletkezik, jelentések, kimutatások, körlevelek formájában. Az egységes portletkészet ezért önkiszolgáló (webmester közreműködése nélküli) tartalomtár-kezelési felületet is

tartalmaz: lehetővé teszi dokumentumok internetes megjelenítését, osztályozását, verziókövetését, hozzáféréskezelését. Ezen túlmenően a portletkészlet tartalmaz egy egyszerű alkalmazásgenerátort is, melynek segítségével lehetőség van deklaratív módon adatbázis-alapú komponensek (listák, beviteli űrlapok, grafikonok stb.) létrehozására, portletként való megjelenítésére is. A laborgyakorlat egyrészt esettanulmány, melyben napjaink nem egy klasszikus nyilvántartási problémájának adatbázis-alapú megoldását tekintjük át. Másrészt, célkitűzésünk egy magas szintű, deklaratív fejlesztőeszköz megismertetése egy adott terméken keresztül. A segédlet a keretrendszer felépítésének legfontosabb fogalmait foglalja össze. A labor két részből áll: az első gyakorlaton a Portal kezelőfelületét és a fejlesztés lépéseit mutatjuk be, ezek ismeretében a második gyakorlaton önálló feladatmegoldásra kerül sor. A

segédlet a következőképpen épül fel: a 2 fejezetben a Portal architektúráját vesszük szemügyre. A 3 fejezetben az oldalak Portal-féle modelljét és a felépítésükben szerepet játszó entitásokat nézzük meg közelebbről. Ezt követi a beépített alkalmazásgenerátor ismertetése, végül az ún. tartalomtárakkal foglalkozunk 1 2 Az Oracle Portal architektúrája Skálázhatósági és üzemeltethetőségi szempontok miatt a dinamikus oldalakat létrehozó Portal felépítése három rétegre tagolódik: a tartalomelemeket és információforrásokat tároló adatbázis rétegre (database tier), az oldalak összerakását végző középső rétegre (middle tier) és a megjelenítést végző kliens rétegre. Middle Tier Browser Portal Content Database Provider Page Metadata Portal Node mod plsql Jserv Apache HTTP Server Page Request Database Tier Parallel Page Engine Portal Cache Web Provider A Portal különböző elemeinek és komponenseinek

tárolása egy megkülönböztetett Oracle adatbázisban, az ún. Portal Node-on történik A Portal Node tartalmazza Portal alkalmazás kódját, tárolt eljárásait, a standard portleteket, a beépített eszközökkel létrehozott alkalmazás komponenseket (űrlapok, listák, grafikonok stb.) és a tartalomtárban (content area) elhelyezett dokumentumokat Itt található a Portal Repository is, amely a stíluselemek, az elrendezések, az oldalakat leíró metaadatok, a szolgáltató regisztrációk és az egyéni beállítások gyűjteménye. A Portalon megjeleníteni kívánt alkalmazások és információforrások tulajdonosait a Portal terminológiája egységesen szolgáltatóknak (Providers) nevezi. A szolgáltatók megjelenési, kezelési felületeit a szolgáltató által biztosított környezetben futó portletek jelenítik meg a Portal számára. Egy szolgáltató egy, vagy akár több portletet is felkínálhat. A belső szolgáltatók a Portal Node infrastruktúráját

használják, ilyenek például az egységes portletkészlet, vagy a beépített eszközökkel létrehozott portletek szolgáltatói. A külső szolgáltatók saját kiszolgálóval (server) rendelkeznek és a portleteket saját kiszolgálóikon futtatják. A Portal kétféle szolgáltatótípust különít el: • Adatbázis-szolgáltatók (Database Providers): Oracle adatbázisok, amelyekben a portletek PL/SQL vagy Java nyelvű tárolt eljárásokként futnak. A Portal az adatbázis-szolgáltatók portletjeit a Net8 protokollon keresztül a tárolt eljárások meghívásával éri el, amelyek a tartalmat HTML/XML formátumban leírva adják vissza. Ezen megoldás Oracle adatbázisra épülő alkalmazások megjelenítésekor előnyös. • Webszolgáltatók (Web Providers): webes keretrendszerre épülő kiszolgálók, amelyek a portletek saját technológiával állítják elő (pl. ASP, JSP stb) A Portal a HTTP protokollon keresztül éri el ezen szolgáltatókat, a tartalmat

HTML/XML formátumban leírva kapja vissza. A Portal középső rétege állítja össze a metaadatok, az elrendezés, a stíluselemek és a portlettartalom alapján az egyes oldalakat. A középső réteg keretrendszerét az Apache HTTP szervere biztosítja A webszerveren Java nyelvű servletként fut az ún. Parallel Page Engine (PPE), a Portal oldalkészítőmotorja Ha a felhasználó egy dinamikus oldal lehívását kezdeményezi, a webszerver átadja a kérést a 2 PPE-nek. A PPE először betölti a Repositoryból a kért oldal elrendezését, stílusát, az érintett portletek hivatkozását és a felhasználó egyedi beállításait tartalmazó metaadatokat, majd felveszi a kapcsolatot az egyes portletszolgáltatókkal, végül a kapott kódrészletek alapján összeállítja és a felhasználó felé továbbíta az oldal HTML kódját. A középső réteg az Oracle adatbázisokkal a mod plsql modulon keresztül kommunikál. Az adatbázis-kapcsolatok felépítésének

időigényessége miatt a Portal állandósult (permanens) adatbázis kapcsolatokat tart fenn. A dinamikus oldalak előállítása erőforrás-igényes művelet (hálózati overhead, lekérdezések végrehajtása, portletek futtatása), melyek számát a Portal gyorsítótár (Portal Cache) alkalmazásával minimalizálja. A gyorsítótárban a lapok vagy a lapok egyes részei (váz, portlet kódrészletek) tárolódnak, komponensenként eltérő időtartamig. A Portal támogatja mind a megadott időtartamig szóló, mind az érvényesítésen alapuló tárolást; utóbbi esetben a lap minden meghívásakor a gyorsítótár lekérdezi a forrást, érvényes-e még a tárolt tartalom. A Portal a felhasználókat egységes rendszerben azonosítja, egyszeri bejelentkezés után valamennyi portlet a közös felhasználói adatbázist használja. A Portal hozzáférési felületet biztosít külső, ún partner alkalmazások számára is ezen azonosítási információ lekérésére, a

többszörös bejelentkeztetés elkerülésére. A felhasználói adatbázis alapesetben a Portal Node-on tárolódik, de lehetőség van külső Login Server beillesztésére is. A HTTP protokoll állapotmentes jellege miatt a bejelentkezett felhasználó adatai cookie-k formájában tárolódnak a böngészőben. 3 Oldalak felépítése A Portal oldalkészítő motorja a lap elrendezéséből (layout), a fejlécből (banner) és a stílusleírásból (page style) állítja össze a lap HTML vázát, amelybe az egyes portletektől kapott kódrészleteket behelyettesítve áll össze a teljes oldal. Fejléc Egy tipikus lap elrendezését a mellékelt ábra mutatja. A lap táblázatszerűen épül fel, ún régiókra oszlik. Egy régió vízszintes vagy függőleges felosztásban további régiókat tartalmazhat, így a Portal számára a régióhierarchia írja le a lap elrendezését1. Fül-1 Fül-2 Fül-3 Régió-2.1 Régió-1 A Portal specialitásaként a régiókhoz fülek

(tabs) is rendelhetők, az egyes fülekre kattintva a régiók területén eltérő tartalom jelenhet meg, akár eltérő elrendezésben: egyik fülre kattintva a tartalom teljesen kitölti a régiót, másik esetén viszont két alrégióra válhat szét a terület2. Régió-2.21 Régió-2.22 A hierarchia legalsó elemei tartalmazhatják az egyes portleteket. Egy régióba több portlet is kerülhet, ekkor azok a régióbeállítástól függően egymás alá, vagy egymás mellé kerülnek. Az egyes portleteknek saját megjelenési felülettel („ablakkal”) és opcionális fejléccel rendelkeznek. A lap kitüntetett része a fejléc és az opcionális lábrész, amelyek a portál egységes kinézetét és az egyszerűbb navigációt segítik: díszítőelemek (képek), címszöveg, és menüsor helyezhető el rajtuk. A menüsor elemei a Portal gyakran használt funkcióit hívhatják (nyitólapra ugrás, Navigator indítás, lap 1 A böngésző számára küldött HTML kódban

természetesen táblázatként kerül leírásra a lap, a Repositoryban azonban önálló entitásként szerepel a régió. 2 A valóságban a fül is egy egyszerű portlet, amely kattintásra tartalmat jelenít meg a régióban. 3 testreszabás, kijelentkezés stb.), ezek mellé szabványos leíróval (Universal Resource Locator, URL) megadott linkek is felhelyezhetők. A lap kinézetét a stílusleírás (page style) határozza meg: a lap háttérszíne; az aktív és inaktív fülek, valamint a portlet fejlécek színe; a fejlécen, a füleken, a portletek fejlécében és törzsében elhelyezkedő feliratok stílusa (betűtípus, méret, szín) stb. A stílusleírások önálló entitásként jelentkeznek a Repositoryban, egy laphoz egy stílusleírás társítható. A Portal lehetővé teszi az egyes oldalak felhasználónkénti testre szabását (customization): a felhasználók az eredeti elrendezés megtartása mellett az egyes régiókba újabb portleteket helyezhetnek

el, esetleg az eredeti lapon szereplő portletek közül bizonyosak megjelenítését megtilthatják. A testre szabásnak nincs visszahatása sem a lap eredeti, sem más felhasználók beállításaira, ugyanakkor az eredeti lapon később végrehajtott változtatások a testre szabást alkalmazó felhasználóknál is megjelennek. Az egyes oldalakról többszintű hozzáférési jogosultság-rendszert tart nyilván a Portal, amelyek közül leglényegesebb a teljes szerkeszthetőségi (Manage), a testre szabhatósági (Customization) és a betekintési (View-only) jogok. A jogosultságok külön állíthatóak az egyes fülekre is, ezáltal bizonyos információk vagy funkciók csak meghatározott felhasználói csoportnál jelennek meg. A jogosultság-kezelést egyszerűsíti, hogy az egyes lapokhoz „aloldalak” (subpages) hozhatók létre, melyek öröklik a főlap beállításait. 4 HTML formátumú tartalom megjelenítése Az egyes régiók megjelenését az ott

elhelyezkedő portletek szabályozzák. Legegyszerűbb esetben a tartalmat közvetlenül HTML formátumban is meg lehet adni, melyet speciális portletek jelenítenek meg. Statikus HTML tartalom megjelenítésére az egységes portletkészletből a HTML portlet használható. A portlet egyetlen paramétert vár: a megjeleníteni kívánt kódot. A kód értelemszerűen csak a <BODY> részt tartalmazhatja, az esetlegesen megadott <HTML> és <TITLE> tagokat a portlet lefejti. Egy külső kép például elegendő az alábbi kóddal jeleníthető meg: <IMG SRC=”http://www.bethu/tozsdegif”> Közvetlen adatbázis lekérdezéseket tartalmazó dinamikus HTML tartalom az ún. dinamikus lap komponens (Dynamic Page Component) segítségével jeleníthető meg 3. A komponensnek megadandó a lap HTML kódja, amelybe SQL, illetve PL/SQL kódrészletek helyezhetők el az <ORACLE> és </ORACLE> tagok között, mint az alábbi példa szemlélteti:

<HTML><BODY> <H4>Laborfelelősök</H4> <ORACLE> select sorszam,labor.nev, egyennev from labor, egyen where labor.felelos1=egyenegyen kulcs order by sorszam </ORACLE> </BODY></HTML> HTML formátumú külső oldalak beillesztéséhez az URL komponens használható. A komponensnek megadandó a beilleszteni kívánt, kötelezően HTML formátumú oldal elérhetősége (URL). A portletként beillesztett külső lapot a komponens a Portal oldal kinézetéhez igazítva (háttérszín, betűtípusok stb.) jeleníti meg. 3 Az alkalmazás komponensekkel bővebben a 5. fejezet foglalkozik 4 5 Alkalmazás komponensek 5.1 Alkalmazás komponensekről általában A Portal beépített fejlesztőeszközökkel támogatja egyszerű webes alkalmazások elkészítését. A fejlesztőeszközzel létrehozott alkalmazások ún. alkalmazás komponensekből (application components) állnak. A komponensek többsége adatbázis-alapú: ilyenek az

adatbázisból származó információkat megjelentető jelentések, grafikonok, naptárkomponensek, vagy az adatbázis műveleteket (beszúrás, adatmódosítás, tárolt eljárás meghívás) kezdeményező űrlapok. Más komponensek nem kötődnek az adatbázishoz, ilyenek a korábban már említett dinamikus lap vagy URL komponensek. A komponenseket az adatbázisban futó PL/SQL csomagok valósítják meg4, a fejlesztőeszköz „varázslói” a csomagok forrását automatikusan generálják. Az egyes komponensek alkalmazásokká (applications) szerveződve tárolódnak a Portal Node-on. Alkalmazás lehet például a labor adminisztrációja, melynek egyes komponensei például a csoportbeosztások listái, az eredmények felvitelére szolgáló űrlapok és az eredmények megoszlását mutató grafikonok. Az elkészített alkalmazáskomponensek önálló weboldalként megjeleníthetők, vagy – az alkalmazás szolgáltatóként (provider) történő regisztrációját követően

– portletként meghirdethetők. A Portal beépített fejlesztői környezete speciális portletekből áll. A fejlesztői környezet vázát a Navigator képezi, amellyel az oldalak, tartalomtárak, alkalmazások és adatbázis sémák és az alájuk szerveződő elemek karbantarthatók, azaz létrehozhatók, szerkeszthetők, futtathatók-megjeleníthetők, valamint szerkeszthetőek az egyes elemek hozzáférési jogosultságainak listája, továbbá komponensek esetén kiexportálható az elem forráskódja is. Új elem létrehozását minden esetben „varázsló portletek” támogatják. A menedzselhető elemek • oldalak esetén a felsőszintű (top-level) és a felhasználói oldalak, stílusleírások, elrendezés minták (page layouts) • tartalomtárak esetén a tárolt dokumentumok, továbbá az osztott objektumok (shared objects): az egyéni mappák (personal folders), a kategóriák, a nézőpontok (perspectives), a navigációs pultok (navigation bars), a stílusok

és az egyedi típusok • alkalmazások esetén az egyes alkalmazások komponensei, továbbá az osztott komponensek (shared components): a színek, a betűtípusok, a képek, a Javascript források, a felhasználói felület sablonjai (user interface templates) • adatbázis sémák esetén a sémák objektumai (a táblák, a nézetek, a számlálók, az indexek, a tárolt eljárások stb.) 4 A procedurális elemeket tartalmazó PL/SQL nyelven megírt, az adatbázisban futó függvényeket és eljárásokat nevezzük együttesen tárolt eljárásoknak. A tárolt eljárások könyvtárakba, Oracle terminológiával csomagokba szervezhetők. 5 5.2 Jelentések (Reports) A leggyakrabban használt alkalmazáskomponensek a jelentések, amelyek egy megadott tábla vagy SQL lekérdezés eredményének sorait jelenítik meg. A megjelenítéshez háromféle elrendezést kínál a komponens: • táblázatszerű, a táblázat egyes sorai felelnek meg az egyes rekordoknak, a

táblázat oszlopai pedig az egyes mezőknek, mint például a Csoportok listája az ábrán • űrlapszerű, az egyes rekordok blokkokban, a blokkon belül a mezők egymás alatt jelennek meg • egyedi megadású elrendezés, a rekordok táblázatban jelennek meg, a táblázat sorain belül a rekordok elrendezése megadható. Például az ábrán szereplő LabHírek jelentésben a hír címe és címfeje az adatbázis tábla CIM és CIMFEJ oszlopából származik, a kinézetet definiáló kód: <TD ALIGN=LEFT><#CIM.FIELD#><P> <#CIMFEJ.FIELD#> <HR> </TD> A jelentésben szereplő egyes mezők teljes oldalas és portletként való megjelenése (betűtípus, szín, igazítás, oszlopszélesség) külön-külön szabályozható. A kinézet függhet a mezők tartalmától:,a fenti LabHírekben a fontos hírek például más (félkövér) betűtípussal jelennek meg, mint normál társaik. A jelentés tartalmazhat rejtett mezőket is, ezek nem

jelennek meg az oldalon, de szerepel az értékük az oldal kódjában. A Csoportlistán ilyen mező a csoport kulcsa, amelyet például a laboridőpontok nevű link meghívásakor ad tovább az oldal. A jelentés teljes kinézete szintén alakítható, így beállítható a háttérszín, az oszlopfejlécek formátuma, az egy oldalon megjeleníteni kívánt sorok száma stb. A lista fejléce és lábléce külön is szerkeszthető HTML formátumban. A lista megjelenítésének egyes fázisaikor (fejléc, sorok, lábléc kirajzolás) külön meghívandó PL/SQL kód is megadható, melyekkel például dinamikus fejléc hozható létre. 5.3 Űrlapok (Forms) Az űrlap komponensek HTML űrlapok megjelenítését és kezelését végzik. Az űrlapok a szokásos HTML vezérlőket tartalmazhatják: feliratokat (Label), szövegmezőket (TextBox), legördülő listákat (ComboBox), rádiógombokat (Radio Group), nyomógombokat (Button) stb. A Portal beépített eszközeivel a felhasználási

céltól függően többféle űrlap is létrehozható. A legegyszerűbb űrlapok a táblán vagy nézeten alapuló űrlapok (Forms Based on Tables or Views). Ezen űrlapok elkészítésekor a választott tábla, illetve nézet minden mezőjéhez egy vezérlőt helyez el a Portal: alapértelmezésben szövegmezőket, de lehetőség van értéklisták (LOV, ld. később) segítségével legördülő listák, 6 rádiógombok használatára is. Ezen űrlapokhoz szokványos nyomógombkészletet is tartozik: lekérdezés, előző és következő rekord kiválasztása, beszúrás, módosítás, törlés. A tárolt eljáráson alapuló űrlapok (Forms Based on Stored Procedures) egyénileg megírt, az adatbázisban tárolt PL/SQL eljárásokhoz nyújtanak kezelőfelületet. Ilyen az ábrán szereplő Szavazás komponens is, amely egy értéklistából megjeleníti az adatbázisban szereplő labortémákat, a gomb lenyomására pedig meghívja a Szavazok függvényt, amely megnöveli a

kiválasztott labor népszerűségi mutatóját: create or replace procedure Szavazok (pLaborKulcs in number) as begin update labdb.labor set szavazatok = szavazatok + 1 where labor kulcs = pLaborKulcs; end; A függvény a bemenő változójának értékét az űrlap megfelelő vezérlőjétől kapja, a vezérlő nevének kötelezően meg kell egyeznie a változó nevével. Az egyes űrlapok elrendezése lehet táblázatos (tabular) vagy egyéni (custom) szerkezetű. Táblázatos elrendezés esetén a vezérlők egymás alatt, esetleg egy soron belül egymás mellett helyezkednek el, példa erre az előző Egyén adatai és Szavazás komponens. Elkészítésükkor csak a vezérlők sorrendjét kell megadni, az elrendezést a varázsló már magától elvégzi. Bonyolultabb szerkezetű űrlapokhoz egyénileg kell megadni a vezérlők elhelyezkedését HTML nyelven. A mellékelt ábrán szereplő Hírszerkesztés komponens például többoszlopos szerkezete miatt nem írható le

egyszerű táblázatos formában, így az egyedi elrendezést definiáló kód a következő: <TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0"> <TR><TD><#DATUM.LABEL#><BR><#DATUMITEM#> </TD> <TD ROWSPAN=5><#CIM.ITEM#><BR><#LINKITEM#><BR><#CIMFEJITEM#></TD</TR> <TR><TD><#KIEMELT.LABEL#><BR><#KIEMELTITEM#></TD</TR> <TR><TD><#KATEGORIA.ITEM#></TD></TR> <TR><TD><#LEJARAT.LABEL#><BR><#LEJARATITEM#></TD></TR> <TR><TD><#ERVENYES.LABEL#><BR><#ERVENYESITEM#></TD></TR> </TABLE> A kódban a <#MEZO.LABEL#> típusú tagok a vezérlők címkéjét, a <#MEZOITEM#> típusúak pedig a vezérlő helyét definiálják. A varázslókkal létrehozott űrlapokon utólag újabb vezérlők helyezhetők el és a már

meglévők törölhetők. Az egyes vezérlők mérete, kinézete, alapértelmezett értéke beállítható. Az alapértelmezett érték lehet statikus vagy származhat adatbázisból, így az előző Hírszerkesztés példában a hír alapesetben a beírás után 3 hónappal évül el. A vezérlő alapértelmezését a #TO CHAR(ADD MONTHS(SYSDATE,3),’YYYY.MMDD’) kód határozza meg, a sor elején a # karakter figyelmezteti a fordítót, hogy adatbázis makrókra hivatkozunk. 7 A vezérlők bizonyos utasításaihoz Javascript nyelvű eseménykezelők rendelhetők. A varázslók a vezérlőkbe írt értékek ellenőrzésére néhány saját Javascript rutint is felkínálnak (isAlpha, isNumeric, isDate, isEmailAddress stb.) Nyomógombok esetén megadandó a gomb lenyomására meghívásra az adatbázisban meghívásra kerülő PL/SQL függvény is, az előre létrehozott gombok esetén ezt a varázslók már eleve kitöltik. Űrlap szinten megadható továbbá, hogy az

elküldés, illetve végrehajtás után melyik lapra ugorjon a böngésző. A Szavazás elküldése után például a következő kód jeleníti meg a Szavazás állását mutató grafikont: go(’http://rapid.eikbmehu:7778/pls/portal30/labdbszavazasshow’); 5.4 Grafikonok (Charts) A HTML alapú grafikon komponensek segítségével egy lekérdezés alapján egyszerű grafikonok jeleníthetők meg. A grafikont a Portal HTML táblázatként, az oszlopok vagy sorok szélességének megadásával jeleníti meg. A grafikon alapját képező lekérdezésnek tartalmaznia kell az egyes kategóriákat, a kategóriákhoz tartozó (komponensre vagy URL-re mutató) linket és a hozzárendelt értékeket. Paraméteres lekérdezések használhatók, ekkor a megjelenített kategóriák a paraméter értékétől függhetnek. Az ábra példaképpen az előző Szavazás eredményét jeleníti meg, egy paramétere lehetne a vizsgált labor féléve. A grafikon kinézete (elrendezés, szín,

betűtípus stb) beállítható. A képalapú grafikon (Image-Based Charts) komponens lehetővé teszi összetettebb grafikonok megjelenítését is: lehetőség van körcikk (pie), terület (area), oszlop (bar), vonal (line) és háromdimenziós (3D) típusú grafikonok kirajzolására. A komponens a grafikon leírását XML formátumban adja át a Portal középső rétegének, amely ennek alapján állítja össze a tényleges képet 5. 5.5 Értéklisták (List of Values, LOVs) Az értéklista az előzőkkel szemben nem egy megjelenésre szánt komponens, hanem elnevezéseket és a hozzájuk tartozó kódokat tartalmazó lista. Tipikusan űrlapokon használatosak, ahol egy legördülő lista vagy rádiógomb értékkészletét határozzák meg. A korábbi, hallgató adatait tartalmazó ábrán például a csoport vagy a teljesítési opciók is értéklistából származnak: megjelenítéskor az elem elnevezése látszik, míg az adatok elmentésekor a csoport belső kulcsa és a

teljesítés kódja rögzítődik. Szintén értéklistából származtak az előbbi Szavazás űrlap választási elemei is: a felületen a téma elnevezése jelent meg, míg a lefuttatott eljárás a téma kulcsát kapta paraméterként. A példáknak megfelelően az értéklista lehet statikus vagy dinamikus. Statikus értéklista esetén az elemek elnevezése és kódja közvetlenül a komponens kódjába kerül (pl. az Igen/Nem választások), míg a dinamikus értéklista elemei lekérdezésből származnak (entitások és kulcsaik listája, mint a Szavazás példában). 5.6 Linkek (Links) Egy alkalmazás jelentés, illetve grafikon komponensei közvetlen URL megadásával elérhetők az alábbi formában: http://<server>:<port>/pls/<portal schema>/<application>.<component>show 5 A Portal jelenlegi 3.09-es verziója csak a komponens béta változatát tartalmazza, amely unixos középső réteg esetén windowsos kliensekkel nem működik

együtt. 8 ahol a <server> a Portal webszervere és a <port> a webszerver TCP portjának száma, a <portal schema> a Repository-t tartalmazó adatbázis séma elnevezése, az <application> a keresett alkalmazás és a <component> a keresett alkalmazás komponens neve6. A komponens esetleges paraméterei a show után a szokásos HTML paraméterátadással, a .show?p arg names=<arg neve>&p arg values=<arg értéke> formában adhatók meg, ahol <arg neve> az argumentum neve és <arg értéke> az argumentum értéke. A Portal fejlesztői környezete linkek megadására a közvetlen URL helyett a – némileg nehézkesebb – ún. linkkomponenst használja. Példa erre a korábbi, csoportokat listázó komponens, ahol a kód mezőre kattintva a csoport névsora jelenik meg egy új ablakban. Két komponens közötti linkeléskor ezért először a célra mutató linkkomponens létrehozása szükséges, majd a forrás

kiválasztott elemének (pl. oszlopának ) jellemzőjeként állítható be a célra mutató linkkomponens. A paraméterek, esetünkben a kiválasztott csoport kulcsának átadása a fejlesztői környezetben beállítható. 6 Tartalomtárak A Portal dokumentumok, képek, linkek, tárolt eljárások, egyéb fájlok stb. tárolására kifinomult dokumentummenedzsment szolgáltatásokat nyújt az ún. tartalomtáron keresztül. Példaképpen a Portal beépített súgója vagy a regisztrált szolgáltatók és portletek listája is tartalomtárként tárolódik. A tartalomtárban elhelyezett elemek a Portal Node adatbázisába kerülnek. Az egyes elemek ún. kategóriákba és nézőpotokba (perspectives) szervezhetők: egy elem legfeljebb egy kategóriába, de tetszőlegesen sok perspektívába tartozhat. A tartalomtár biztosítja az elemek verziókövetését és a tartalmuk indexelését, visszakeresését. Az elemek megjelenési formája szabályozható. A tartalomtárak

portletszolgáltatóként regisztrálhatók, portletként megjeleníthetőek. 6 A labor Portal szerverének elérhetősége: http://rapid.eikbmehu:7778/pls/portal30 9