IBM TRIRIGA Application Platform változat 3 alváltozat 4.2
Alkalmazáskészítés az IBM TRIRIGA Application Platform rendszerben: Teljesítménykezelési keretrendszer
Megjegyzés A kiadvány és a tárgyalt termék használatba vétele előtt olvassa el a “Nyilatkozatok” oldalszám: 77 szakasz tájékoztatását.
E kiadás az IBM TRIRIGA Application Platform 3.4.2 változatára, továbbá minden ezt követő változatra és módosításra vonatkozik mindaddig, amíg az újabb kiadások ezt másképp nem jelzik. © Szerzői jog IBM Corporation 2011, 2015. © Copyright IBM Corporation 2011, 2015.
Tartalom 1. fejezet Teljesítménykezelési keretrendszer . . . . . . . . . . . . 1 2. fejezet Adatszerkezetek . . . . . . . 3 Az architektúra áttekintése. . . . . . . . . . . 3 Ténytáblák . . . . . . . . . . . . . . . 4 Példa ténytáblára és a társított dimenziókra . . . . . 7 Mutatószámok struktúrája . . . . . . . . . . . 8 ETL integráció . . . . . . . . . . . . . . 10 ETL integrációs architektúra. . . . . . . . . 10 ETL integrációs folyamat . . . . . . . . . 12 Előfeltételek beállítása az ETL integráció számára . . 15 ETL átalakítások meghatározása és karbantartása . . 16 ETL műveletek használata a Pentaho Spoon rendszerrel . . . . . . . . . . . . . 16 ETL műveletek használata az IBM Tivoli Directory Integrator rendszer Konfigurációszerkesztő eszközével . . . . . . . . . . . . . 34 ETL átalakítások futtatása . . . . . . . . . 56 ETL feladatelemek, feladatcsoportok és feladatütemezők . . . . . . . . . . . 56 ETL feladatelemek létrehozása vagy módosítása . . 57 Feladatcsoportok hozzáadása vagy módosítása . . 59 Feladatütemezők létrehozása vagy módosítása . . 59 Átalakítási objektumok személyre szabása . . . . 61 Átalakítási üzleti objektumok, űrlapok és munkafolyamatok meghatározása . . . . . . 61 Az átalakításhoz tartozó XML fájl mentése a Tartalomkezelő eszközbe . . . . . . . . . 62
© Szerzői jog IBM 2011, 2015
A munkafolyamat futási környezetének beállítása ETL egyéni munkafolyamat-feladatok meghatározásainak futtatása . . . . . . .
62 . 63
3. fejezet Mutatószámok . . . . . . . 65 Mutatószám-jelentések Fontos mutatószámok . Űrlapmutatószámok . Adatszűrés . . . Részjelentések . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
65 66 66 67 67
4. fejezet Hierarchiasimító . . . . . . 69 Sima hierarchiák . . . . . Példák sima hierarchiákra . Hierarchiastruktúra-kezelő . . Hierarchiastruktúrák elérése . Adathierarchia létrehozása . Űrlap-hierarchia létrehozása .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
69 70 71 71 71 72
5. fejezet Ténytáblák . . . . . . . . . 73 A támogatott ténytáblák és mutatószámok listája . . . . 73 Különleges állomásoztatási táblákat és ETL műveleteket igénylő ténytáblák . . . . . . . . . . . . . 73 Függő ETL műveletek . . . . . . . . . . . 74
Nyilatkozatok . . . . . . . . . . . . 77 Adatvédelmi szempontok. Védjegyek . . . . .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. 78 . 79
iii
iv
© Copyright IBM Corp. 2011, 2015
1. fejezet Teljesítménykezelési keretrendszer Az IBM® TRIRIGA Workplace Performance Management és az IBM TRIRIGA Real Estate Environmental Sustainability rendszer jól használható megoldásokat kínál, amellyel elősegítik a vállalatoknak a létesítmények és ingatlanok kezelésével kapcsolatos folyamatok stratégiai tervezését, felügyeletét, kiértékelését és továbbfejlesztését. Az IBM TRIRIGA teljesítménykezelési keretrendszer a TRIRIGA Workplace Performance Management és a TRIRIGA Real Estate Environmental Sustainability alkalmazásban felügyelhető. A keretrendszer az alábbi összetevőket foglalja magában: v Adatátalakítási és ténytábla-betöltési szolgáltatások v Az Adatmodellező eszközt használó mutatószám-tervező v Mutatószám-lekérdezési alrendszer v Kiterjesztett jelentéskezelő a mutatószám-jelentések összeállításához v Speciális portálszolgáltatások a mutatószám-eredménymutatók előállításához v Előregyártott mutatószámok, jelentések és riasztások sorozata, amelyek jelentősen javítják a TRIRIGA rendszerben támogatott számos szerep hatékonyságát.
© Szerzői jog IBM 2011, 2015
1
2
© Copyright IBM Corp. 2011, 2015
2. fejezet Adatszerkezetek A TRIRIGA rendszer kinyerési, átalakítási és betöltési (ETL) műveleteket végző fejlesztői környezetet használ az adatok üzletiobjektum- és ténytáblák közötti áthelyezésének mechanizmusaként. A mutatószámok, jelentések, eredménymutatók és egyéb teljesítménymérési elemek megjelenítéséhez az adatoknak olyan tény- és sima hierarchiatáblák formájában kell rendelkezésre állniuk, amelyeket a jelentéskészítési eszközök fel tudnak dolgozni.
Az architektúra áttekintése A TRIRIGA Workplace Performance Management rendszer forrásadatai a TRIRIGA alkalmazás adatbázisából, egy külső pénzügyi rendszerből importált pénzügyi összefoglaló adatokból, valamint külső épületkezelési rendszerekből importált épületmérési adatokból származnak. Az ETL technológia segítségével a forrásadatok ténytáblákba kerülnek betöltésre. A tény- és dimenziótáblák a TRIRIGA alkalmazásokkal megegyező adatbázis-lerakatban helyezkednek el. A ténytáblák olyan, ténynek nevezett numerikus adatokat tárolnak, amelyek a TRIRIGA Workplace Performance Management rendszer mutatószámértékeinek kiszámításához kerülnek felhasználásra. A ténytáblák minden sora legalább egy kapcsolódó üzleti objektumra vagy osztályozásra, illetve a tényeket csoportosító és szűrő listára hivatkozik. Ezeket a sorokat dimenziónak szokás nevezni. A mutatószám-lekérdezési alrendszer lekérdezéseket futtat a tény- és dimenziótáblákon. A mutatószám-lekérdezések gyorsan újraszámítják a mutatószámértékeket, ahogy a felhasználó felfelé vagy lefelé lép a hierarchikus dimenziók között. Az alábbi diagram az ezen architektúrát alkotó különálló rétegeket, valamint az adatok rétegek közötti áramlását mutatja be:
© Szerzői jog IBM 2011, 2015
3
Ténytáblák A ténytáblák a mutatószám-jelentésekben szereplő mutatószámok kiszámításához használt adatokat tárolják. A ténytáblák csak ETL átalakításokon keresztül kerülnek feltöltésre. Az üzleti objektumok ténytáblaként való azonosításához az Adatmodellező eszközben állítsa be a Külső kezelésű jelzőparamétert a ténytábla üzletiobjektum-meghatározásában. Minden egyes ténytábla olyan speciális üzleti objektumként kerül megvalósításra az IBM TRIRIGA Application Platform rendszerben, amely legalább néhánnyal, vagy akár az elemek mindegyikével rendelkezik az alábbiak közül:
4
© Copyright IBM Corp. 2011, 2015
1. táblázat: Ténytáblák Ténytábla eleme
Leírás
Hierarchikus dimenziók
Minden egyes hierarchikus dimenzió egy hierarchikus modulhoz tartozó üzleti objektum helymeghatározó mezője (például: Épület, Szolgáltatásiköltség-kód vagy Város). Az egyes hierarchikus dimenziók esetén a megfelelő hierarchiastruktúra támogatja a mutatószám-jelentéseket. A hierarchikus dimenzió az adott modulon belüli néhány vagy összes üzleti objektumra hivatkozhat. Legyen a lehető legpontosabb. Az adott üzleti objektum célzott meghatározása javítja a jelentéskészítés részletezettségét. Minden egyes hierarchikus dimenziónak rendelkeznie kell egy megfelelő meghatározott hierarchiastruktúrával. A hierarchiastruktúrák a mutatószám-jelentések részletezési útvonalához kerülnek felhasználásra.
Nem hierarchikus dimenziók
Minden egyes nem hierarchikus dimenzió egy nem hierarchikus modulhoz tartozó üzleti objektum lista- vagy helymeghatározó mezője (például: Feladat vagy Személy).
Numerikus ténymezők
A numerikus ténymezők általános numerikus mezők, amelyek vagy tartalmaznak mértékegység-tulajdonságokat, vagy nem. A numerikus ténymezők az alábbi típusok egyikével jellemezhetők: v Összegző – Az összes dimenzió körében összesíthető. v Félig összegző – Csak néhány dimenzió körében összesíthető. Például egy épület havonta rögzített összesített létszámát nem lehet negyedévente összegezni, hiszen ha ezt tennénk, azzal nem kapnánk meg a negyedév összesített eredményét, azonban földrajzi elhelyezkedés szerint már részt vehet az összesítésben. Ezért ez a tény nem összegző az idő függvényében. v Nem összegző – Egyetlen dimenzió körében sem lehet összesíteni. Például a százalékos arány nem összegző, hiszen az arányszámokat nem lehet összesíteni. A különböző részletezettségű értékeket tartalmazó mezők ugyancsak nem összegzőek.
Mértékegységmezők
A mértékegységmezők (a terület-mértékegységek kivételével) a hozzájuk tartozó helyi megadott mértékegységben kerülnek rögzítésre.
Területmezők
A területmezők birodalmi (pl.: négyzetláb) és metrikus (pl.: négyzetméter) értékekként egyaránt rögzítésre kerülnek.
Pénznemmezők
A pénznemmezők az alappénznem felhasználásával kerülnek rögzítésre. Nem kerül sor pénznemátváltásra.
2. fejezet Adatszerkezetek
5
1. táblázat: Ténytáblák (Folytatás) Ténytábla eleme
Leírás
Aktuális időszak
Az időszak-dimenzió azon dátum/időpont típusú időszak azonosítására szolgál, amely egyetlen tényrekordra alkalmazható. Ez valószínűleg az adatok rögzítésének időszaka. Azokban az esetekben, amikor az időszak-dimenzió nem kerül részletezési útvonalként vagy szűrőként alkalmazásra, a triCapturePeriodTX mezőt kötelező feltölteni, hogy jelezze a rögzítési időszak megadására szolgáló dimenziót. Ha ez a mező létezik, akkor az adott dimenzióhoz tartozó megfelelő üzleti objektumnak tartalmaznia kell egy triCurrentBL nevű mezőt, amely az aktuális időszakot tükröző dimenziórekordok jelzésére szolgál. Ezek a rekordok ezután a mutatószám-jelentés eredményhalmazának szűréséhez kerülnek felhasználásra.
Pénzügyi időszak
A pénzügyi időszak osztályozása segítségével az ETL folyamat a tényrekordok rögzítési időszakát határozza meg. Ez a mutatószám-jelentések elsődleges időszak-dimenziója. Mivel lehetőség van arra, hogy a felhasználó különböző rögzítési gyakoriságokra épülő adatokat tartalmazó különféle ténytáblákkal rendelkezzen, ahol a hierarchia minden szintjéhez tartozik egy-egy rekord, az egyes szintek megjelölhetők az aktuális időszakkal. Ha például a pénzügyi időszak osztályozásán belül egy év/negyedév/hónap hierarchia kerül létrehozásra, akkor lehetőség van arra, hogy a felhasználó azonosítsa az aktuális évet, negyedévet és hónapot. Egy különleges ETL munkafolyamat-feladattípus gondoskodik ezen adatok összehangoltságának megőrzéséről. Általános szabályként elmondható, hogy egyetlen ténytábla valamennyi adata az időszak ugyanazon részletezettsége mellett/szintjén (év, negyedév, hónap) rögzítendő. Ha az időszak részletezettsége/szintje megváltozik, miután az adatokat rögzítették az adott ténytábla számára, akkor a kérdéses ténytábla valamennyi adatát vagy felül kell vizsgálni a helyes részletezettség/szint szempontjából, vagy el kell végezni azok csonkolását/eltávolítását.
Ténytábla üzleti objektuma
Amennyiben ténytábla-támogatással rendelkezőként kíván azonosítani egy üzleti objektumot, úgy létrehozásakor jelölje be az üzleti objektum tulajdonságai között található Külső kezelésű választógombot.
Tipp: Ne törölje vagy változtassa meg a szabványos TRIRIGA szoftverrel szállított Tény üzleti objektumokat, ténytáblákat és ETL parancsfájlokat. Ehelyett egy meglévő elem módosításához készítsen róla másolatot, nevezze azt át, majd szabja igényeire ezt a példányt.
6
© Copyright IBM Corp. 2011, 2015
Példa ténytáblára és a társított dimenziókra A tény- és dimenziótáblák az adattárház-tervezés csillagsémára épülő módszerével kerülnek összeállításra. A rendszer ugyanabban az adatbázis-lerakatban tárolja ezeket a táblákat, mint a TRIRIGA alkalmazásokat. A következő diagram a TRIRIGA Workplace Performance Management rendszerben előre beállított ténytáblák egyikére mutat példát:
A diagram a területténytáblát mutatja be, amely öt ténnyel rendelkezik: területkapacitás, teljes létszám, fennmaradó kapacitás, térterület és kiosztott terület. A területténytábla emellett hét dimenzióra hivatkozik: terület, épület, hely, földrajzi elhelyezkedés, területosztály, épületosztály és haszonbérlet időtartama. A ténytáblában szereplő dimenziók a megfelelő dimenziótáblákkal kötik össze a tényeket. Egyes dimenziók hierarchikusak - ilyen például a hely és a földrajzi elhelyezkedés -, mások viszont nem azok (pl.: terület és épület). A sima hierarchiatáblák a kiválasztott üzleti objektum leszármazottainak azonosítására szolgálnak. A sima hierarchiatáblák teszik lehetővé a mutatószám-lekérdezési alrendszernek a hierarchikus modulok, üzleti objektumok és osztályozások tallózását. A következő táblázat a földrajzi elhelyezkedésre épülő sima hierarchiára mutat példát: 2. táblázat: Példa a földrajzi elhelyezkedés sima hierarchiájára SPEC_ID
Szint száma
1. szintű SPEC_ID
2. szintű SPEC_ID
3. szintű SPEC_ID
4. szintű SPEC_ID
Világ
1
Világ
N/A
N/A
N/A
Észak-Amerika 2
Világ
Észak-Amerika N/A
N/A
2. fejezet Adatszerkezetek
7
2. táblázat: Példa a földrajzi elhelyezkedés sima hierarchiájára (Folytatás) SPEC_ID
Szint száma
1. szintű SPEC_ID
2. szintű SPEC_ID
3. szintű SPEC_ID
4. szintű SPEC_ID
Európa, Közel-Kelet és Afrika
2
Világ
Európa, Közel-Kelet és Afrika
N/A
N/A
Ázsia és 2 Csendes-óceáni térség
Világ
Ázsia és N/A Csendes-óceáni térség
N/A
Egyesült Államok
3
Világ
Észak-Amerika Egyesült Államok
N/A
Kanada
3
Világ
Észak-Amerika Kanada
N/A
Nevada
4
Világ
Észak-Amerika Egyesült Államok
Nevada
Texas
4
Világ
Észak-Amerika Egyesült Államok
Texas
A példa alapján elmondható, hogy ha az Észak-Amerika leszármazottait jelentő földrajzi elhelyezkedések mindegyikét azonosítani kívánja, akkor először a földrajzi elhelyezkedés sima példatáblázatának első oszlopában kell kikeresnie Észak-Amerika SPEC_ID értékét. Ezután Észak-Amerika szintszámát használhatja (2) a szűrőoszlop meghatározásához. A SPEC_ID érték és a szintszám segítségével Észak-Amerika közvetlen és közvetett leszármazottait, illetve bármely szintű alárendeltjét azonosítani lehet a földrajzi elhelyezkedések körében.
Mutatószámok struktúrája A TRIRIGA Workplace Performance Management alkalmazás funkciói a mutatószám típusú tények rögzítésére, valamint a mutatószámok jelentésének lehetővé tételére összpontosítanak. A TRIRIGA rendszer mutatószámainak mindegyike többdimenziós, ahol ugyanaz a mutatószám magas szintű összegző nézetet nyújt (ilyen például a teljes szervezetre és portfolióra jellemző Teljes működési költség/terület mutatószám), illetve a különféle dimenziók vagy szűrők révén részletezve szerepre jellemző nézetet is biztosít (ilyen például az észak-amerikai szervezetek által üzemeltett létesítmények észak-amerikai egységeire vonatkozó Teljes működési költség/terület mutatószám). A mutatószámok a folyamat teljesítményét mérik, amellyel képesek azonosítani az intézkedést igénylő eredményeket. A mérések jellemzően arányszámok, százalékok vagy pontszámok formájában állnak elő. A mutatószámok célértékekkel, küszöbértékekkel, intézkedési feltételekkel, nyomon követhetőséggel és műveleti feladatfunkciókkal rendelkeznek. A TRIRIGA Workplace Performance Management alkalmazás a mutatószámok következő típusait foglalja magában, amelyek a Fontos mutatószámok portálszakaszban található Eredménymutató-kategóriákban helyezkednek el: Ügyfelek mutatószámai Az ügyfél-elégedettséget mérik Pénzügyi mutatószámok A pénzügyi teljesítményt mérik Portfolió-mutatószámok Az üzemeltetési kihasználtságot és az eszközéletciklus állapotát mérik
8
© Copyright IBM Corp. 2011, 2015
Folyamat-mutatószámok A folyamathatékonyságot és -hatásfokot mérik Jelentéskészítési és elemzési mutatószámok Adott teljesítmény-mutatószámokat elemeznek Emellett az TRIRIGA Real Estate Environmental Sustainability alkalmazás az alábbi mutatószámtípusokat is tartalmazza: Környezeti A környezetvédelmi kezdeményezések teljesítményét mérik Épületmérések A mérőberendezések és érzékelők által jelentett épületjellemzőket mérik A következő magas szintű folyamatábra a mutatószámok meghatározási, rögzítési és felhasználóknak történő megjelenítési módját ábrázolja:
A TRIRIGA adatbázis a ténytáblákba betöltendő működési adatok összegyűjtésének elsődleges forrása. Választható módon más forrásokból is kinyerhet adatokat, hogy betöltse azokat a ténytáblákba. Minden egyes ténytábla az összesített adatok legalacsonyabb (például épületre jellemző) szintjét tartalmazza a mutatószám-kategóriák esetében. Hatékonysági okokból a ténytáblák denormalizáltak (simítottak), amelyek több TRIRIGA táblából tartalmaznak adatelemeket. A dimenziótáblák az egyes mutatószámok dimenzióit tartalmazzák. A dimenziók a hatékonyság céljából külön táblában tárolódnak. A ténytábla minden egyes dimenzióhoz tartalmaz egy kulcsot (speciális azonosítót). A dimenziótábla egy sima hierarchiatábla, illetve TRIRIGA üzletiobjektum-tábla lehet. A mutatószám-feldolgozási alrendszer (Elemzési/jelentéskészítési eszköz) a mutatószám-beállítási és dimenzióadatok mellett a ténytáblákban tárolt adatok segítségével állítja elő a mutatószámokat.
2. fejezet Adatszerkezetek
9
A mutatószámadatok az értesítésekkel, intézkedésekkel és riasztásokkal együtt a mutatószám-beállítási táblában szereplő meghatározás szerint a szerepalapú portálon különféle formákban (köztük jelentések, lekérdezések és diagramok formájában) kerülnek a felhasználóknak megjelenítésre. A felhasználó a számára megjelenített mutatószámadatok további elemzése érdekében részletezheti az adott objektumot, illetve megvizsgálhatja a részletezési útvonalat. A mutatószám-jelentések készítése a mutatószámok ténytábláitól függ. Ezek a ténytáblák az Adatmodellező eszköz segítségével kerülnek megvalósításra, de egy egyedi objektumtípussal kerülnek azonosításra, amely jelzi azok mutatószám-objektum jellegét. A mutatószám-objektumok egy ETL fejlesztői környezet segítségével kerülnek feltöltésre, amelyek különböznek a metaadatok rétegén keresztül frissített minden egyéb objektumtípustól. Az ETL folyamat ütemezése a Feladatütemező segítségével vezérelhető a TRIRIGA rendszerben.
ETL integráció A TRIRIGA rendszer az Tivoli Directory Integrator ETL fejlesztői környezetben elérhető Konfigurációszerkesztő eszköz, illetve a Pentaho ETL fejlesztői környezet Spoon eszköze segítségével állítja elő az átalakításhoz tartozó XML fájlokat. Ezeket az átalakításokat az alkalmazásprogramozási felületen keresztül futtatva az adatok a forrástáblákból a céltáblákba kerülnek áthelyezésre.
ETL integrációs architektúra A TRIRIGA rendszer két ETL környezetet használ a ténytáblákat feltöltő ETL parancsfájlok létrehozásához. E két ETL fejlesztői környezet az Tivoli Directory Integrator alkalmazás Konfigurációszerkesztő eszköze, valamint a Pentaho Spoon adatintegrációs eszköz. Az ETL fejlesztői környezetek olyan SQL lekérdezések létrehozását teszik lehetővé, amelyek adatokat olvasnak be a TRIRIGA üzletiobjektum-táblákból, az eredményeket pedig a ténytáblákra és dimenzióoszlopokra képezik le, illetve alakítják át. A következő diagram a forrásadatok, az ETL fejlesztői környezet, valamint a TRIRIGA Workplace Performance Management adatmodellrétegek közötti adatáramlást mutatja be:
10
© Copyright IBM Corp. 2011, 2015
Az ETL feladatelemek jelentik azokat az üzleti objektumokat, amelyek a ténytáblák feltöltésére szolgáló ETL parancsfájlokra hivatkoznak. Az TRIRIGA Workplace Performance Management rendszer általános TRIRIGA Application Platform eszközökkel dolgozik. A következő diagram az alkalmazásplatform-eszközöket mutatja be:
2. fejezet Adatszerkezetek
11
ETL integrációs folyamat Az adatok forrás- és céltáblák közötti áthelyezéséhez azokat az ETL átalakítási fájlokat kell futtatnia, amelyeket a Tivoli Directory Integrator rendszer Konfigurációszerkesztő eszközével, vagy az alkalmazásprogramozási felületen keresztül a Pentaho Spoon eszközzel állított össze. Minden egyes ténytáblához léteznie kell átalakításnak. A ténytáblák csak ETL átalakításokon keresztül tölthetők fel, a TRIRIGA alkalmazás révén erre nincs mód. A TRIRIGA Application Platform rendszer tartalmaz egy olyan munkafolyamatot, amely a ténytáblák betöltése érdekében ütemezés szerint kerül futtatásra. A munkafolyamat a platform egyéni munkafolyamat-feladatát hívja meg, amely a Tartalomkezelőből lekéri az átalakításhoz tartozó legfrissebb XML fájlt, majd az Tivoli Directory Integrator vagy a Kettle API segítségével futtatja az átalakítást.
12
© Copyright IBM Corp. 2011, 2015
Három fő folyamat létezik: v Beállítás, amely az átalakításhoz tartozó üzleti objektum/űrlap/navigációs elem, valamint maga a munkafolyamat létrehozását foglalja magában. v Az átalakításhoz tartozó XML fájl létrehozása/karbantartása az ETL fejlesztői környezet segítségével. v A futási környezet, vagyis az azon egyéni munkafolyamat-feladatot végrehajtó ütemezett munkafolyamat, amely a ténytáblák frissítése érdekében rendszeres időközönként futtatásra kerül az átalakításokon. A következő diagram ezeket a folyamatokat foglalja össze a Pentaho Spoon ETL átalakítások esetén:
2. fejezet Adatszerkezetek
13
Az alábbi diagram ezeket a folyamatokat összegzi a Tivoli Directory Integrator rendszer Konfigurációszerkesztő eszközével végzett ETL átalakítások esetén:
14
© Copyright IBM Corp. 2011, 2015
Az adatokat ETL parancsfájlok veszik át az üzleti objektumokból, köztük például azon Pénzügyi összefoglaló üzleti objektumból is, amelybe táblázatokból, illetve a pénzügyi rendszerek ügyfelek által tervezett felületeiről kerülnek pénzügyiösszefoglaló-rekordok importálásra.
Előfeltételek beállítása az ETL integráció számára A TRIRIGA Application Platform rendszerben egy üzleti objektum és egy űrlap kezeli az átalakításokat. Az átalakítások létrehozása érdekében a forrástáblákat és a cél ténytáblát kötelező meghatározni, valamint ismerni kell a leképezéseket is. A rendszer rekordokat készít az átalakításon keresztül betöltött egyes ténytáblákról. Az Átalakítás üzleti objektum egyik bináris mezője kéri le az átalakításhoz tartozó XML fájlt a 2. fejezet Adatszerkezetek
15
Tartalomkezelő eszközbe. Az űrlap lehetőséget ad az XML fájl le-/feltöltésére, így az átalakításokhoz tartozó XML fájlok karbantartása könnyen elvégezhető. A TRIRIGA rendszer előre meghatározott ETL feladateleme ezen üzleti objektum vagy űrlap megvalósítása. A TRIRIGA Application Platform rendszerben egy ütemezés szerint futtatott munkafolyamat hívja meg az egyes betöltendő vagy frissítendő ténytáblákhoz tartozó egyéni munkafolyamat-feladatokat. A feladatütemező biztosítja azt a mechanizmust, amely automatikusan meghívja az ETL feladatelemek egyéni munkafolyamat-feladatát. A TRIRIGA rendszer minden olyan üzleti objektumot, űrlapot és munkafolyamatot biztosít, amelyre a szállított TRIRIGA Workplace Performance Management és TRIRIGA Real Estate Environmental Sustainability termék támogatásához csak szükség van.
ETL átalakítások meghatározása és karbantartása Az adatok áthelyezésére szolgáló átalakításokat ETL fejlesztői környezet segítségével hozhatja létre. Az átalakítás során számításokat végezhet, valamint felhasználhatja a TRIRIGA Application Platform alkalmazásból és a rendszerből származó változókat.
ETL műveletek használata a Pentaho Spoon rendszerrel A Pentaho Spoon rendszer ETL fejlesztői környezetként használható. A Pentaho Spoon rendszer használatának áttekintése: Először létre kell hoznia a forrás- és céltáblákat, valamint ki kell alakítania a megfelelő leképezéseket. Ezután azonosítania kell az átalakításnak átadandó változókat, majd fel kell vennie a kérdéses változókat az átalakítás üzleti objektumába vagy űrlapjára. Ezután a Pentaho Spoon eszköz felhasználásával és a következő lépések segítségével határozhatja meg és tarthatja karban az átalakításokat. Tipp: Előfordulhat, hogy az alábbi lépések közül nem mindet szükséges végrehajtania. A szükséges lépések köre attól függ, hogy éppen az átalakítás meghatározását vagy karbantartását végzi-e. v A Spoon eszköz megnyitásával futtassa a spoon.bat vagy a kettle.exe fájlt. Válassza a Nincs lerakat beállítást, mivel nem lesz szüksége annak használatára. v Nyisson meg egy meglévő XML fájlt, amely az Átalakítási űrlap segítségével került a fájlrendszerbe letöltésre, vagy a Fájl > Új > Átalakítás menüponttal hozzon létre új átalakítást. v Határozza meg a helyi adatbázis JNDI beállításait. A kapcsolat neveként használja a TRIRIGA értéket. Állítsa be az eszközben az adatbázis-kapcsolatot a Nézet > Adatbázis-kapcsolatok > Új menüponttal. Amikor a munkafolyamat futtatja az átalakítást, a kapcsolat felülírásra kerül az alkalmazáskiszolgáló csatlakozási információival. v A Tervezés menü segítségével az alábbiak szerint adja meg az átalakítás elrendezését: – Nyerjen ki sorokat a táblákból a Tervezés > Bemenet > Táblabemenet menüponttal. – Győződjön meg róla, hogy az összes sormező rendelkezik értékkel a következő menüponttal végzett számításban való használata során: Tervezés > Átalakítás > Értékleképező. – A számításokhoz használja a Tervezés > Átalakítás > Számítás menüpontot. – A NEXTVAL tárolt adatbázis-eljárás segítségével adja meg a célsorok sorrendjét a Tervezés > Kikeresés > Adatbázis-eljárás meghívása menüponttal. – A Parancsfájlkezelés > Módosított JavaScript érték menüponttal és egyéb lépésekkel szükség szerint alakítsa át az adatokat. – A Tervezés > Kimenet > Táblakimenet menüponttal azonosítsa azt a táblát, amelybe a sorok kimenetként kiírásra kerülnek.
16
© Copyright IBM Corp. 2011, 2015
– A céllépés előállított leképezéseivel végezze el a mezők leképezését. v Csatolja a lépéseket a Nézet > Állomások menüponttal, majd lépésenként adja meg az átalakítás elrendezését. v Az execute parancs és más elérhető segédprogramok igénybevételével végezzen alapos tesztelést. A teszteléssel meggyőződhet a folyamat pontosságáról, valamint a várt sorok megfelelő visszaadásáról és átalakításáról. v A Fájl > Mentés paranccsal végezze el az átalakítás mentését. Ne a lerakatba mentsen. Helyette állítsa be XML értékre a fájltípust, majd végezze el a mentést a .ktr fájlkiterjesztéssel. Ha nem állítja be a fájltípust, akkor az alapértelmezett érték a Kettle átalakítás lesz, amely egy .ktr fájlkiterjesztésű XML fájlba végzi el a mentést. A Pentaho Spoon rendszer telepítése: A Pentaho Spoon rendszer ETL fejlesztői környezetként telepíthető. Ehhez használja a 3.1 változatot, amely a TRIRIGA rendszer által integrált verziónak felel meg. Eljárás 1. Keresse meg a Pentaho Spoon 3.1 változatát a következő címen: http://sourceforge.net/ projects/pentaho/files/Data%20Integration/3.1.0-stable/pdi-open-3.1.0-826.zip. 2. Bontsa ki úgy a .zip fájlban található fájlokat, hogy a könyvtárstruktúra sértetlen maradjon. 3. Tekintse át a Pentaho Spoon eszköz és a hozzá kapcsolódó részletes dokumentáció legújabb változatát a következő címen: http://kettle.pentaho.org/. Helyi JNDI beállítások megadása: A tulajdonságfájl frissítése révén meg kell határoznia adatbázisa helyi JNDI beállításait. Eljárás 1. A pdi-open-3.1.0-826/simple-jndi könyvtárban a jdbc.properties fájl szerkesztése során adja hozzá a következő tulajdonságokat: v LocalJNDI/type=javax.sql.DataSource v LocalJNDI/driver=oracle.jdbc.driver.OracleDriver v LocalJNDI/url=jdbc:oracle:thin:@localhost:1521:orcl v LocalJNDI/user=tridata2 v LocalJNDI/password=tridata2 2. Igény szerint frissítse az információkat, köztük az illesztőprogramot is, ha DB2 vagy SQL Server rendszert használ. 3. Végezze el a fájl mentését és bezárását. Átalakítások és adatbázis-kapcsolatok létrehozása: Átalakításokat és adatbázis-kapcsolatokat hozhat létre azok Pentaho Spoon és TRIRIGA rendszer közötti felhasználása céljából. Eljárás 1. A Spoon eszköz megnyitásával futtassa a spoon.bat fájlt a pdi-open-3.1.0-826 könyvtárban. Válassza a lerakat nélküli futtatást. 2. Új átalakítás létrehozásához kattintson a jobb egérgombbal az Átalakítások lehetőségre, majd válassza az előugró menü Új menüpontját.
2. fejezet Adatszerkezetek
17
3. Nézet módban hozza létre az adatbázis-kapcsolatot. Kattintson a jobb egérgombbal az Átalakítások közötti Adatbázis-kapcsolatok lehetőségre, majd válassza az előugró menü Új menüpontját. 4. Az egyéni munkafolyamat-feladat a TRIRIGA kapcsolatot felülírja az alkalmazáskiszolgáló JNDI beállításaival. Az alábbiak szerint konfigurálja az adatbázis-kapcsolatot: v Kapcsolat neve: TRIRIGA v Kapcsolat típusa: Oracle v Hozzáférés: JNDI v Beállítások: JNDI név: LocalJNDI 5. A Tesztelés gombra kattintva győződjön meg a kapcsolat megfelelő beállításáról. 6. Végezze el az adatbázis-kapcsolat részleteinek mentését. 7. Győződjön meg róla, hogy az átalakítás mentését XML fájlként, nem pedig a lerakatban hajtja végre. A Kettle átalakítás kiterjesztése: .ktr. A Kettle átalakítás alapértelmezett beállítása .ktr kiterjesztéssel hajtja végre a fájl mentését. Átalakítások futtatása a Pentaho Spoon rendszerből: A befejezett, valamint a befejezés alatt lévő átalakításokat futtathatja. Eljárás 1. Végezze el az átalakítás mentését, majd válassza a Futtatás lehetőséget. 2. Szükség esetén állítsa be a változókat. 3. Az egyes lépések futtatása során a bemeneti adatfolyamot érintő módosítások megjelenítéséhez válassza az Előkép lehetőséget. Spoon lépések kiválasztása: A különféle Spoon lépéstípusok kiválasztásához, majd azok átalakításhoz történő hozzáadásához a Tervezés módot veheti igénybe. Eljárás 1. A lépések átalakításhoz való hozzáadásához válassza ki a Lépés típusa értékét, majd a bal oldali navigációs sávról húzza át a lépést a palettára. 2. Két lépés összekapcsolásához válassza a Nézet lehetőséget a bal oldali navigációs sávon, majd kattintson duplán az Állomások lehetőségre. 3. Adja meg a Forrás és a Cél lépést, majd válassza az OK gombot. 4. Alternatív megoldásként alkalmazza a Ctrl+kattintás kiválasztási technikát a két lépésen, kattintson a jobb egérgombbal a lépések egyikére, majd válassza az előugró menü Új állomás menüpontját. 5. Ha megjegyzést kíván hozzáadni az átalakításhoz, akkor kattintson a jobb egérgombbal a palettára, majd válassza az előugró menü Új megjegyzés menüpontját. Példa Spoon átalakításra: A létező ETL feladatelemekben található meglévő .ktr parancsfájlok bármelyikének másolatát letöltheti, hogy kövesse a lépések leírását. Az alábbiakban egy Spoon átalakításra láthat példát. A szállított ETL műveletek többsége a példával megegyező folyamattal rendelkezik, de a részleteik eltérőek lehetnek, ilyenek például az adatok kinyeréséhez használt adatbázistáblák, valamint az adatok átalakításának módja.
18
© Copyright IBM Corp. 2011, 2015
A példaátalakítás a következő elemeket tartalmazza: v Bemeneti sorokat és mezőket emel be a T_TRIORGANIZATIONALLOCATION org szervezetből és a T_TRISPACE space területről, ahol org.TRILOCATIONLOOKUPTXOBJID = space.SPEC_ID. v Az IBS_SPEC.UPDATED_DATE változót használja a kiválasztott sorok számának korlátozásához, amelyhez az Átalakítás üzleti objektumból átadott dátumtartományt veszi igénybe. v Az Értékleképező funkció segítségével győződjön meg róla, hogy szerepel érték a space.TRIHEADCOUNTNU, space.TRIHEADCOUNTOTHERNU és org.TRIALLOCPERCENTNU összes sorában, ha pedig nincs, akkor állítsa az értéket 0-ra. v A Számítás funkció segítségével állítja be a TRIFACTTOTALWORKERSASS változó értékét a következőre: (space.TRIHEADCOUNTNU + space.TRIHEADCOUNTOTHERNU) * org.TRIALLOCPERCENTNU. v Lekéri a TRICREATEDBYTX és TRIRUNDA változót, amely a Változók lekérdezése lépés révén az Átalakítás üzleti objektumból kerül átadásra. v A Konstans hozzáadása művelet segítségével állítja be a sorozat nevét, illetve növekményét, hogy az rendelkezésre álljon a sorozatkezelési lépéshez tartozó bemeneti adatfolyamban. v A NEXTVAL adatbázis-eljárás segítségével állítja be a SPEC_ID változó értékét. A jobb teljesítmény érdekében adja meg ebben a lépésben öt szál használatát. v A JavaScript parancsfájl-kezelési lépés segítségével határozza meg, hogy a projekt tartja-e a határidőt vagy sem, valamint kiszámítja a projekt időtartamát. A jobb teljesítmény érdekében adja meg ebben a lépésben három szál használatát. v Leképezi a mezőket a következő változóra: T_TRISPACEALLOCFACTOID. Az alábbi elemek tartoznak az átalakítás összeállítása során figyelembe veendő fontos szempontok közé: v Az egyes lépések hozzáadásakor végezzen tesztelést, hogy meggyőződjön arról: az átalakítás a kívánt módon működik. v Az átalakításokat védekező hozzáállással kell fejleszteni. Ha például adott mezőkre épülő számításokat végez, akkor minden sornak rendelkeznie kell értékkel ezekben a mezőkben, nem lehetnek üresek. Ha ez nem így van, akkor az átalakítás összeomlik. Az Értékleképező eszköz segítségével gondoskodjék róla, hogy a számításban használt valamennyi mező rendelkezzen értékkel. v A dátumok kezelése nem könnyű feladat, hiszen a TRIRIGA rendszer által támogatott adatbázisok DATE és TIME értékeket egyaránt tárolnak a dátummezőkben. A dátumtartományok SQL kódbeli kezelését a dátummegoldások mutatják be. v Győződjön meg róla, hogy használja a JNDI beállításokat, valamint arról is, hogy átalakítási adatbázisa független, különösen akkor, ha megoldását több adatbázisplatformon (DB2, Oracle és Microsoft SQL Server rendszerben) egyaránt futtatni kell. v Az Átalakítás üzleti objektumhoz tartozó minden attribútum változóként kerül az átalakításnak elküldésre. Ezen szabály alól néhány kivétel létezik csupán. Az Időpont és Rendszerváltozó típusú attribútumok figyelmen kívül maradnak. A változókat felhasználhatja az SQL kódban, vagy a Változók lekérdezése funkció segítségével a következő szintaxis révén beemelheti azokat a bemeneti adatfolyamba: ${változónév}, ahol a változónév az attribútum neve. v Ügyeljen rá, hogy teljes körűen tesztelje és beállítsa az átalakítást, mielőtt változókat használna a táblabemenetben. A JavaScript parancsfájl, a táblabemenet-előkép és a táblaleképezés tesztelése kihívást jelentő feladat. Az átalakításban a Szerkesztés > Környezeti változók beállítása menüponttal, vagy a Végrehajtás oldal Változó szakaszában állíthat be változókat. A változók használatával a Spoon rendszer további tesztelési funkciói is elérhetők. 2. fejezet Adatszerkezetek
19
v A kapcsolat tesztelését még a JNDI használata, a keresések futtatása, valamint a Spoon átalakítások végrehajtása előtt végezze el. A JNDI kapcsolatot a Spoon rendszer teljesítményét érintő lehetséges problémák elkerülése érdekében kell tesztelni. v Fontolja meg egy index felvételét. Ez a teljesítmény szempontjából kulcsfontosságú lehet, mivel az ETL műveletek olyan módon emelnek be adatokat a T táblákból, amely eltér a normál alkalmazástól. Az előző elemek a használt Spoon lépések beállítása során részletekkel látják el az átalakítást. Az elemek a TRIRIGA rendszerrel szállított átalakítások által használt fő lépésekre összpontosítanak. A Spoon rendszer további lépéstípusokat is biztosít, amelyekkel kezelheti adatait; a lépéseket szükség szerint, átalakítási igényeinek megfelelően vegye igénybe. Spoon bemeneti lépések beállítása: A bemeneti lépések segítségével adatokat emelhet be az átalakításba. Erről a feladatról Legtöbb forrásadata táblabemenetként áll rendelkezésre. A megadott adatbázis-kapcsolat használata révén SQL kód beállításával nyerheti ki az adatokat a táblákból. Eljárás 1. Az adott lépéshez tartozó információk megnyitásához kattintson duplán a táblabemeneti lépésre. 2. Állítsa be a TRIRIGA rendszerrel vagy a forrásadatbázissal való kapcsolatot. 3. Az SQL táblázatban adja meg az SQL kódot. 4. A táblabemenet mentéséhez kattintson az OK gombra. 5. A táblabemenet által tartalmazott adatok előzetes megtekintéséhez kattintson az Előkép gombra. Ha változókat használ az SQL kódban, akkor az Előkép működéséhez be kell állítania azokat. A tesztelés során vagy rögzíti a kódban a változók értékét, vagy a változóértékek beállítása érdekében a Szerkesztés > Környezeti változók beállítása menüpontra kattint. Az SQL kódban szereplő változók: $(triActiveStartDA_MinDATE} és ${triActiveEndDA_MaxDATE}. Eredmények A megadott SQL kód sorokat nyer ki a T_TRIORGANIZATIONALLOCATION szervezetből és a T_TRISPACE területről, ahol org.TRILOCATIONLOOKUPTXOBJID = space.SPEC_ID. A kód az Átalakítás üzleti objektumból származó dátumokat használja a tartalmazott adatok korlátozásához. Spoon átalakítási lépések beállítása: Az átalakítási lépések bemeneti adatok módosítására, illetve az információk bemeneti adatfolyamhoz való hozzáadására szolgálnak. Erről a feladatról A Spoon példaátalakításban a Számítás, a Konstansok hozzáadása és az Értékleképező lépés kerül felhasználásra. A Spoon rendszeren keresztül hozzáadhatók sorozatok, de ez nem adatbázis-független és nem működik az SQL Server rendszerben. Helyette a megadott adatbázis-eljárást veheti igénybe.
20
© Copyright IBM Corp. 2011, 2015
Eljárás 1. Az Értékleképező lépés segítségével meggyőződhet róla, hogy a mezők rendelkeznek értékkel, illetve különböző értékekre állíthatja a mezőket. A forrásmezők értékei alapján állíthatja be a célmezők értékeit. Ha a célmező nincs meghatározva, akkor a célmező helyett a forrásmező kerül beállításra. Az eszköz segítségével gondoskodnia kell róla, hogy a számításban valamennyi mező rendelkezzen értékkel. Ha a számítás során nullértéket talál, akkor az átalakítás meghiúsul. 2. Az Értékleképező mezőn végzett dupla kattintás megnyitja a szükséges információk bevitelére szolgáló párbeszédablakot. A Spoon átalakítás példájában ennek segítségével kerül egy mező beállításra (0), ha nem rendelkezik értékkel. 3. A Konstansok hozzáadása lépés segítségével állandókat vehet fel a bemeneti adatfolyamba, illetve itt állíthatja be a NEXTVAL adatbázis-eljárás számára szükséges értékeket. 4. Minden olyan átalakításban rendelkeznie kell ezzel a lépéssel, amely használja a NEXTVAL adatbázis-eljárást. Állítsa a SEQ_NAME paramétert SEQ_FACTSOID, az INCR paramétert pedig 1-re. 5. A Számítás lépés mezőket olvashat be, majd végrehajtja a számítások korlátozott készletét. A mezőértékeken alkalmazható függvények halmazát biztosítja. A Számítás lépés teljesítménye jobb, mint a JavaScript parancsfájl-kezelési lépésnek. 6. A beépített számítások korlátozottak. A Számítás oszlop kiválasztásával megjelenítheti a rendelkezésre álló függvények listáját. Spoon kikeresési lépések beállítása: A kikeresési lépések segítségével további adatokat nyerhet ki az adatbázisból az adatfolyamba. Erről a feladatról Az adatbázis-eljárás meghívása lehetővé teszi az átalakításnak az adatbázis egyik eljárásának meghívását. Az információk áthaladnak az eljáráson, majd visszajutnak az átalakításhoz. Ekkor sorozatokat hozhat létre a ténytábla-bejegyzések számára. Eljárás 1. Állítsa be úgy az adatbázis-eljárás hívását, hogy az a NEXTVAL változót vegye igénybe a SEQ_NAME és INCR változóban történő adatküldéshez, majd a kimenet előállítását a CURR_VALUE változó segítségével hajtsa végre. 2. Határozza meg, hogy a kikeresési lépés hány példányát kell futtatni. Az átalakítás tesztelésekor a lépés öt példánnyal történő futtatása nagyban javítja a teljesítményt. Például 30 000 rekord esetén a végrehajtási idő 90 másodpercről 30 másodpercre csökken. 3. A lépést futtató szálak számának módosításához kattintson a jobb egérgombbal a lépésre, majd válassza az előugró menü Indítandó másolatok számának módosítása menüpontját. 4. Hangolja be az adatbázis-eljárás lépését futtató szálak számát. Spoon feladatlépések beállítása: Még ha nem is olyan feladatokat hoz létre, amelyek megkövetelnék a Kettle változók és mezők elhelyezését a bemeneti adatfolyamban, biztosítania kell, hogy be tudja állítani a változók kimeneti mezőjét.
2. fejezet Adatszerkezetek
21
Erről a feladatról A Spoon példaátalakításban a triCreatedByTX és a triRunDA változó kerül beemelésre a bemeneti adatfolyamba. Szerepelnek még ott változók a ONTIME és a DURATION változó beemeléséhez is, így azokat be tudja állítani a JavaScript parancsfájl-kezelési lépés során. Eljárás Az átalakítás során fellépő hiba esetére futtatásakor fontos időpecséttel ellátni az átalakítást. A példában mindez a triRunDA változóval történik, amely lehetővé teszi a visszagörgetést, még akkor is, ha a folyamat nem rendelkezik hozzá kifejezett lépésekkel. Amikor az átalakításban beállítja a mezők értékeit, akkor azoknak azonos típusúnak kell lenniük, mert ellenkező esetben az átalakítás meghiúsul. Spoon parancsfájl-kezelési lépések beállítása: A JavaScript szolgáltatásokat parancsfájl-kezelési lépések segítségével valósíthatja meg. Erről a feladatról Az eljárás révén olyan meghatározott adatkezelési műveleteket végezhet a bemeneti adatfolyamon, amelyeket a Számítás segítségével nem tud végrehajtani. Kiszámíthatja az időtartamot, valamint if/then/else részkifejezéssel más értékekre épülő értékeket állíthat be az adatfolyamban. Konstansokat, illetve változókból származó értékeket állíthat be az átalakítási adatfolyamban. Eljárás 1. Akkor használja a JavaScript parancsfájlkezelést, ha értékek beállítását végző funkcióra van szüksége. 2. A Spoon példaátalakításban az időtartam két dátum egymásból való kivonásával kerül kiszámításra. Az időtartam ezután meghatározza, hogy a terv tartja-e a határidőt. 3. Ha a JavaScript parancsfájl-kezelési szolgáltatásokkal információkat kíván kapni a táblabemeneti sorokból, akkor iterációk révén kell megkeresnie a kívánt mezőt. A mező közvetlenül nem érhető el, hacsak a táblabemeneti lépésben nem kapcsol álnevet a mezőhöz. Példa A JavaScript parancsfájl-kezelési példa a változók lekérdezési és beállítási módját részletezi. var var var var var var var
actualEnd; actualStart; plannedEnd; plannedStart; duration; valueDuration; valueOnTime;
// ciklus indítása a bemeneti adatfolyam során, valamint a kezelni // kívánt mezők lekérdezése for (var i=0;i
22
© Copyright IBM Corp. 2011, 2015
} if (value.getName().equals("TRIPLANNEDENDDA")) { plannedEnd = value.getNumber(); } if (value.getName().equals("TRIPLANNEDSTARTDA")) { plannedStart = value.getNumber(); } // ezek az adatfolyam azon ’változói’, amelyekre szükségünk van // az időtartam, illetve a határidő tartása ("ontime") beállítás // frissítéséhez, így a változó tényleges értékosztályát, nem pedig // annak értékét szeretnénk megtudni if (value.getName().equals("DURATION")) { valueDuration = value; } if (value.getName().equals("ONTIME")) { valueOnTime = value; } } // az időtartam kiszámítása napokban duration = Math.round((actualEnd - actualStart) / (60*60*24*1000)); // az időtartam kiszámítása órákban // duration = (actualEnd - actualStart) / (60*60*1000); // az időtartam beállítása a sor ’változójában’ valueDuration.setValue(duration); // a határidő tartásának ("ontime") megállapítása és a sor adatfolyamához // tartozó ’változó’ beállítása a megfelelő értékre if ((actualEnd == null) || (plannedEnd == null)) valueOnTime.setValue(""); else if (actualEnd > plannedEnd) valueOnTime.setValue("no"); else valueOnTime.setValue("yes");
A JavaScript parancsfájl fordításának ellenőrzése érdekében kattintson a Parancsfájl tesztelése gombra. A táblabemenet Parancsfájl tesztelése és Előkép lépése nem tud változókat kezelni, hacsak be nem állítja azokat. A Szerkesztés > Környezeti változók beállítása menüponttal állíthat be változókat az átalakításban. Ez elérhetővé teszi a Pentaho Spoon rendszer további tesztelési funkcióit. Például a Szerkesztés > Környezeti változók beállítása menüpont segítségével beállíthatja a triActiveStartDA_MinDATE változót a következőre: to_date(‘20061201’, ‘YYYYmmdd’). Ha a lekérdezés meghatározásakor oszlopálneveket használ, akkor ugyanazt az álnevet kell alkalmaznia, amikor a getName függvénnyel kikeresési az oszlopot. A táblabemeneti lépés következő példája a SELECT utasítás beállítását mutatja be: SELECT mainProject.triProjectCalcEndDA ActualEndDate, mainProject.triProjectActualStartDA ActualStartDate
Ha az ActualEndDate értéket keresi ki, akkor a bemutatott módon az adatbázisbeli oszlopnév helyett használja az álnevet: if (value.getName().equals("ActualEndDate")) { actualEnd = value.getNumber(); }
Spoon kimeneti lépések beállítása: A kimeneti lépések segítségével az adatokat visszaírhatja az adatbázisba. 2. fejezet Adatszerkezetek
23
Erről a feladatról A táblakimenet és a táblakimenet-leképezés az adatbázisban tárolja az információkat. Ezek az információk ezt követően a ténytáblákban kerülnek felhasználásra. Amikor már minden információval rendelkezik az átalakítás mentéséhez, akkor kimeneti lépéseket adhat az átalakítás végéhez, majd azokat az utolsó lépéshez csatlakoztathatja. Eljárás 1. Kattintson duplán és vegye fel a csatlakozási információkat, valamint a kimeneti táblaként használni kívánt ténytáblát. 2. Ha a beállítás megtörtént, a lépések pedig csatlakoztatásra kerültek, akkor kattintson a jobb egérgombbal a táblakimeneti lépésre. 3. Válassza az előugró menü Leképezés előállítása ehhez a céllépéshez menüpontját. 4. Képezze le a forrásmezőket a céladatbázisban lévő célmezőkre, majd kattintson az OK gombra. A forrásmezők közé tartoznak a bemeneti adatfolyamhoz hozzáadott további mezők is. Ügyeljen rá, hogy a táblaleképezést még a változók táblabemeneti lépésben történő felhasználása előtt beállítsa. 5. Az átalakítás végrehajtásához húzza át a leképezési lépést az utolsó két lépés között. 6. Szükség esetén módosíthatja és további mezőkkel egészítheti ki a leképezési lépést. Az átalakítás tesztelése: Az egyes Spoon lépések hozzáadása után, vagy már minden Spoon lépés befejezését követően végezheti el az átalakítás tesztelését. Az egyes lépések utáni tesztelés egyszerűbbé teszi a hibakeresést. Az átalakítás teszteléséhez először végre kell hajtania az átalakítás mentését. Erről a feladatról A változók szakasza az átalakításban használt változókat részletezi. Amikor a Spoon eszközzel teszteli az átalakítást, akkor beállíthatja ezen változók értékeit. Az átalakítás TRIRIGA rendszerből való futtatásakor a változók az átalakítási üzleti objektum részét képezik. Az egyéni munkafolyamat-feladat meghívása előtt állítsa be és mentse el a használt értékeket az intelligens objektumban. Eljárás 1. Állítsa be a triRunDA változót a munkafolyamat futtatásának dátumára és időpontjára. Nem szükséges az átalakítási üzleti objektum egyik attribútumának lennie. Ez a futtatás dátumának és időpontjának számként történő ábrázolása. A triRunDA változó nem rendelkezik a dátum hat formátumával, mivel azt az egyéni munkafolyamat-feladat dinamikusan állítja elő. A triRunDA érték a ténysor létrehozási dátumának beállítására szolgál. 2. A triCreatedByTX az átalakítási üzleti objektum egyik attribútuma. 3. A triActiveStartDA_MinDATE és a triActiveEndDA_MaxDATE változó a triActiveStartDA és triActiveEndDA változó átalakított ábrázolása. Oracle vagy DB2 rendszerben végzett vizsgálat esetén a Spoon tesztelés során a változókat a to_date(‘kívánt dátum’, ‘formátum’) függvény segítségével át kell alakítani. 4. Az átalakítás futtatásához kattintson az Indítás gombra. Ha az egyik lépés hibás, akkor az vörös színnel jelenik meg, a hiba pedig mentésre kerül a naplófájlban. A naplófájlt a naplóoldalon keresztül érheti el.
24
© Copyright IBM Corp. 2011, 2015
Dátummegoldás: A Pentaho Spoon eszközben történő felhasználása során számos dátumváltozó számítást és összehasonlítást igényel. A dátummegoldás ezen számításokat és összehasonlításokat teszi lehetővé. Három fő példahelyzet létezik, amikor dátummegoldásra van szükség: 1. Két dátum összehasonlítása. Ezen összehasonlítás segítségével megállapítható, hogy egy projekt tartja-e a határidőt. 2. Két dátum közötti időtartam kiszámítása napokban. Egyes esetekben ez a számítás az időtartam órákban való kiszámításához kerül felhasználásra. 3. Egy dátum, például a módosítási vagy feldolgozási dátum adott dátumtartománnyal, például a hónap első és utolsó napjával való összehasonlítása. Az első és második példahelyzet JavaScript parancsfájl-kezelési lépésekkel oldható meg. A harmadik példahelyzet egy dátumtartomány táblabemenetben való felhasználásával oldható meg. A dátumok két típusa különböztethető meg. Az első az adatbázisban dátum adattípusú értékként, a második pedig a számként tárolt dátumoknak felel meg. Tipp: Minden TRIRIGA objektum számként tárolja a Dátum, illetve a Dátum és időpont típusú mezőket az adatbázisban. Az üzletiobjektum-táblákkal való együttműködéshez számként válassza ki a mezőket. A dátumként meghatározott rendszerplatformtábla-mezőkkel történő együttműködés érdekében dátumként végezze el a mezők kiválasztását. Mező dátumként történő kiválasztása: A mezők dátumként való kiválasztásával működhet együtt a dátumként meghatározott rendszerplatformtábla-mezőkkel. Az alábbi példa az IBS_SPEC.UPDATED_DATE táblamezőt használja dátummezőként annak meghatározásához, hogy szükség van-e az adott sorra. A triActiveStartDA és a triActiveEndDA változó jelöli ki a dátumtartományt. Ezek a dátumok az átalakítási üzleti objektum triActiveStartDA és triActiveEndDA mezőjéből származnak. Az IBS_SPEC tábla nem egy TRIRIGA objektum. Ez a rendszerplatformtábla az objektumok TRIRIGA rendszerbeli követésére szolgál. Rendelkezik egy olyan mezővel, amely minden alkalommal módosul, amikor frissítenek egy objektumot a TRIRIGA rendszerben. Ez az UPDATED_DATE mező, amely az adatbázisban dátum, nem pedig szám típusú mező. A következő példa kódjában a ${triActiveStartDA_MinDATE} és a ${triActiveEndDA_MaxDATE} változó kerül felhasználásra. Ezen átalakított dátummezők minden olyan rekordot lehívnak, amelyek a kezdő dátum napján de. 12:00-tól a befejező dátum napján du. 11:59-ig módosultak. SELECT org.SPEC_ID ORG_SPEC_ID, org.TRIORGANIZATIONLOOKUOBJID, space.CLASSIFIEDBYSPACESYSKEY, org.TRIALLOCPERCENTNU, org.TRIALLOCAREANU, space.TRIHEADCOUNTNU, space.TRIHEADCOUNTOTHERNU, spec.UPDATED_DATE FROM T_TRIORGANIZATIONALLOCATION org, T_TRISPACE space, IBS_SPEC spec WHERE org.TRILOCATIONLOOKUPTXOBJID = space.SPEC_ID and space.SPEC_ID = spec.SPEC_ID and spec.UPDATED_DATE >= ${triActiveStartDA_MinDATE} and spec.UPDATED_DATE <= ${triActiveEndDA_MaxDATE} order by UPDATED_DATE
2. fejezet Adatszerkezetek
25
Oracle vagy DB2 rendszerben a ${triActiveStartDA_MinDATE} változó a következőképpen jelenik meg: to_date (‘20070701 00:00:00’, ‘YYYYmmdd hh24:mi:ss’), a ${triActiveEndDA_MaxDATE} változó pedig így szerepel: to_date (‘20070731 23:59:59’, ‘YYYYmmdd hh24:mi:ss’). SQL Server rendszerben - az adatbázis jellemzői miatt - ezek a dátumok kissé eltérően jelennek meg, de úgy kerülnek beállításra, hogy a rendszer a két dátum közötti összes sort rögzítse. Mező számként történő kiválasztása: A mezők számként való kiválasztásával működhet együtt az üzletiobjektum-táblákkal. Ahelyett, hogy az IBS_SPEC.UPDATED_DATE táblamezőt használná a TRIRIGA dátumhoz kapcsolódó dátummeghatározási mezőként, ez a módszer közvetlenül hasonlítja össze a meghatározási mezőt a triActiveStartDA és triActiveEndDA értékkel, mivel ezek egyaránt számként kerülnek tárolásra az adatbázisban. A következő példa kódjában a triCaptureDA változó a T_TRISPACE tábla mezője. SELECT org.SPEC_ID ORG_SPEC_ID, org.TRIORGANIZATIONLOOKUOBJID, space.CLASSIFIEDBYSPACESYSKEY, org.TRIALLOCPERCENTNU, org.TRIALLOCAREANU, space.TRIHEADCOUNTNU, space.TRIHEADCOUNTOTHERNU, space.TRICAPTUREDA FROM T_TRIORGANIZATIONALLOCATION org, T_TRISPACE space, IBS_SPEC spec WHERE org.TRILOCATIONLOOKUPTXOBJID = space.SPEC_ID and space.TRICAPTUREDA >= ${triActiveStartDA_Min} and space.TRICAPTUREDA <= ${triActiveEndDA_Max} order by space.TRICAPTUREDA
A dátummezőkhöz hasonlóan a Min és a Max változó segítségével gondoskodhat róla, hogy a kezdés 00:00:00, a befejezés pedig 23:59:59 legyen. Például ezen változók segítségével keresése kiválaszthat egy december 31-i, délután 13:54-es időponttal rendelkező rekordot. Dátumváltozók: A Tényátalakítás üzleti objektumhoz tartozó minden egyes dátum- vagy dátum-/időpont-attribútumhoz a rendszer hat Kettle változót hoz létre. Az alábbi táblázat ezeket a Kettle változókat foglalja össze: 3. táblázat: Kettle változók
26
Kettle változó
Leírás
${triActiveStartDA}
Nincs utótag = a 2014. január 1-je óta eltelt idő értéke ezredmásodpercben, az időpont módosítása nélkül. Ez a változó a számként ábrázolt mezők céljait szolgálja.
${triActiveStartDA_Min}
Min = a 2014. január 1-je óta eltelt idő értéke ezredmásodpercben, az időpont 00:00:00 értékre beállítva a megadott napon. Ez a változó a számként ábrázolt mezők céljait szolgálja.
${triActiveStartDA_Max}
Max = a 2014. január 1-je óta eltelt idő értéke ezredmásodpercben, az időpont 23:59:59 értékre beállítva a megadott napon. Ez a változó a számként ábrázolt mezők céljait szolgálja.
© Copyright IBM Corp. 2011, 2015
3. táblázat: Kettle változók (Folytatás) Kettle változó
Leírás
${triActiveStartDA_DATE}
DATE = az átalakított érték dátumformátumban, az időpont módosítása nélkül. Ez a változó az adatbázisban dátumként ábrázolt mezők céljait szolgálja. Oracle vagy DB2 rendszer esetén az érték átalakított, és a következőhöz hasonló: to_date(‘20070615 22:45:10’,’YYYYmmdd h24:mi:ss’). SQL Server rendszer esetén a következőhöz hasonlóként jelenhet meg: ‘20070615 22:45:10’.
${triActiveStartDA_MinDATE}
MinDATE = az átalakított érték dátumformátumban, 00:00:00 értékre beállított időponttal. Ez a változó az adatbázisban dátumként ábrázolt mezők céljait szolgálja.
${triActiveStartDA_MaxDATE}
MaxDATE = az átalakított érték dátumformátumban, 23:59:59 értékre beállított időponttal. Ez a változó az adatbázisban dátumként ábrázolt mezők céljait szolgálja.
Amikor meghatározza a ${triActiveStartDA_Min} és a ${triActiveStartDA_Max} változót a két dátum közötti időtartam megjelenítése érdekében, akkor az időtartam alatti sorok mindegyikének rögzítését kell végrehajtania. Éjfélkor kell indítania, illetve 1 másodperccel éjfél előtt kell befejeznie az időszakot. Ha csupán magát a dátumértéket használja, akkor a változóhoz tartozó időponttól függően előfordulhat, hogy nem kapja meg az összes kívánt sort. A perceket és másodperceket egyaránt meg kell határoznia, mivel a TRIRIGA adatbázisok dátum/időpont vagy szám típusú mezőként tárolják a dátumokat. A ${triActiveStartDA_MinDATE} és a ${triActiveStartDA_MaxDATE} változó a dátumok összehasonlítását segíti elő. Például a 20070615 22:45:10 értékű triActiveStartDA változó esetén: triActiveStartDA_MinDATE = (Oracle) to_date('20070615 00:00:00','YYYYmmdd h24:mi:ss') (SQL Server) '20070615 00:00:00' triActiveStartDA_MaxDATE = (Oracle) to_date('20070615 23:59:59','YYYYmmdd h24:mi:ss') (SQL Server) '20070615 23:59:59'
ETL parancsfájlok áthelyezése a Kettle alkalmazásból a TRIRIGA rendszerbe: Elkészítését és tesztelését követően az átalakítást fel kell tölteni a TRIRIGA ETL feladatelembe. Ne feledje: Végezze el az átalakítás XML típusú és .ktr kiterjesztésű fájlként történő mentését. Az alábbi grafika az ETL környezet és a TRIRIGA rendszer közötti adatfolyamot mutatja be.
2. fejezet Adatszerkezetek
27
A Kettle rendszernek átadott változók: A Kettle rendszernek átadott változók mindegyike karaktersorozat típusú. A szám típusú változókat az egyéni munkafolyamat-feladat ezért karaktersorozat típusúvá alakítja át. A Kettle rendszerben támogatott TRIRIGA mezőtípusok a következők: szöveg, logikai, dátum, dátum és időpont, helymeghatározók és számok. 4. táblázat: Az alábbiakban az ETL feladatelem példamezői kerülnek bemutatásra: Mező neve
Mezőcímke
Mezőtípus
triActiveEndDA
Aktív befejező dátum
Dátum
triActiveStartDA
Aktív kezdő dátum
Dátum
triBONamesTX
Üzletiobjektum-nevek
Szöveg
triControlNumberCN
Ellenőrzőszám
Ellenőrzőszám
triCreatedByTX
Létrehozó
Szöveg
triLocator
triLocator
Szöveg
triModuleNamesTX
Modulnevek
Szöveg
triNameTX
Név
Szöveg
triTransformBI
Átalakítási fájl
Bináris
5. táblázat: A Kettle rendszernek átadott változók a következők:
28
Kettle rendszernek átadott változó
Leírás
triNameTX
(Szöveg)
© Copyright IBM Corp. 2011, 2015
5. táblázat: A Kettle rendszernek átadott változók a következők: (Folytatás) Kettle rendszernek átadott változó
Leírás
triActiveStartDA
(Szám) A 2014. január 1-je óta a dátumig eltelt idő ezredmásodpercben
triActiveStartDA_DATE
(Dátum) Oracle vagy DB2 rendszer esetén átalakítva, az attribútumhoz tartozó időpont
triActiveStartDA_MinDATE
(Dátum) Oracle vagy DB2 rendszer esetén átalakítva, az időpont: 00:00:00
triActiveStartDA_MaxDATE
(Dátum) Oracle vagy DB2 rendszer esetén átalakítva, az időpont: 23:59:59
triActiveStartDA_Min
(Szám) A 2014. január 1-je óta a dátumig eltelt idő ezredmásodpercben, az időpont: 00:00:00
triActiveStartDA_Max
(Szám) A 2014. január 1-je óta a dátumig eltelt idő ezredmásodpercben, az időpont: 23:59:59
triActiveEndDA
(Szám) A 2014. január 1-je óta a dátumig eltelt idő ezredmásodpercben
triActiveEndDA_DATE
(Dátum) Oracle vagy DB2 rendszer esetén átalakítva, az attribútumhoz tartozó időpont
triActiveEndDA_MinDATE
(Dátum) Oracle vagy DB2 rendszer esetén átalakítva, az időpont: 00:00:00
triActiveEndDA_MaxDATE
(Dátum) Oracle vagy DB2 rendszer esetén átalakítva, az időpont: 23:59:59
triActiveEndDA_Min
(Szám) A 2014. január 1-je óta a dátumig eltelt idő ezredmásodpercben, az időpont: 00:00:00
triActiveEndDA_Max
(Szám) A 2014. január 1-je óta a dátumig eltelt idő ezredmásodpercben, az időpont: 23:59:59
triActiveEndDA
(Szám) A 2014. január 1-je óta a dátumig eltelt idő ezredmásodpercben
triCreatedByTX
(Szöveg)
triRunDATE
(Szám) Az egyéni munkafolyamat-feladat által beállított futtatási dátum
triLocator
(Szöveg – helymeghatározó) Ez egy keresőmező, amely egy másik üzleti objektumra mutató hivatkozást tartalmaz. Ez a változó tartalmazza az adott rekord mezőjének szöveges értékét.
triLocator_IBS_SPEC
(Szöveg - helymeghatározó) A triLocator mezőben szereplő rekord spec_id azonosítóját tartalmazza. Ezen spec_id azonosító segítségével keresheti meg az adott rekordhoz kapcsolódó információkat az egyéb adatbázistáblákban.
A triControlNumberCN és a triTransformBI változó nem kerül a Kettle rendszernek átadásra. Fontos: A változókkal kapcsolatban észben kell tartani az alábbiakat: v Hat változó tartozik minden egyes dátum, illetve dátum és időpont típusú mezőhöz. A TRIRIGA rendszer átalakítja az értéket és hat különböző formátumban adja azt át a Kettle rendszernek. v A Kettle rendszerben minden változó karaktersorozat. Ha a változónak számnak kell lennie a parancsfájlban, akkor átalakítás használatára lesz szükség. Például a TRICREATEDDA
2. fejezet Adatszerkezetek
29
számmezőt a triRunDATE változóval állíthatja be. A Kettle rendszer elvégez néhány implicit átalakítást, ha azonban változóval kíván számításokat végezni, akkor ehhez először számmá kell alakítania a változót. v A dátumok esetében helyes ábrázolást kell használnia. Például nem foglalhatja be a következőt kiválasztásába: spec.UPDATED_DATE >= ${triCreatedDA}. Amíg a spec.UPDATED_DATE egy dátum, addig a triCreatedDA egy szám. Az eredmények pontatlanul állnak elő, vagy az SQL kód sikertelen lesz. v A Kettle rendszernek való átadás esetében támogatott attribútumtípusok a következőkre korlátozódnak: szöveg, logikai, dátum, dátum és időpont, számok. Minden egyéb TRIRIGA adattípus kihagyásra kerül (a helymeghatározók kivételével). v A helymeghatározó mezők esetében két változó kerül létrehozásra, az egyik a helymeghatározó szövegét, a másik pedig a csatolt rekord SPEC_ID azonosítóját tartalmazza. Ezen SPEC_ID azonosító segítségével keresheti meg az adott rekordhoz kapcsolódó információkat az egyéb adatbázistáblákban. ETL parancsfájlok hibakeresése az alkalmazásban: Az ETL parancsfájlok alkalmazásban történő hibakereséséhez először be kell állítania a naplózást, majd a naplóinformációk megjelenítéséhez aktiválnia kell a RunETL egyéni munkafolyamat-feladatot. Naplózás beállítása: A TRIRIGA rendszer hibakeresési képességeket biztosít arra az esetre, amikor az ETL parancsfájlok futtatásra kerülnek a TRIRIGA alkalmazásban. Eljárás 1. Az Adminisztrátori konzolon válassza ki a Platformnaplózás felügyelt objektumot. Ezután válassza ki az ETL naplózás bekapcsolására szolgáló beállítást. 2. Válassza az ETL kategória > Átalakítások > Átalakítás futtatása menüpontot, ha be szeretné kapcsolni a hibakeresés naplózását az ETL feladatelemeket feldolgozó TRIRIGA platform kódjában. A naplóüzenetek a server.log naplófájlban jelennek meg. 3. Válassza az ETL kategória > Átalakítások > Kettle menüpontot, ha a Kettle átalakításokban be szeretné kapcsolni a hibakeresés naplózását. A naplóüzenetek a server.log naplófájlban jelennek meg. 4. Alkalmazza a módosításokat. Ezután az ETL parancsfájlok futtatásakor az ETL műveletekhez kapcsolódó információk kiírásra kerülnek a kiszolgálónaplóba. Fontos: A naplókban található információk nagy mennyisége miatt állítsa be úgy a Pentaho Spoon naplózást, hogy csak az ETL feladatelem egy végrehajtása esetében végezzen hibakeresést. Hibakeresés ETL feladatok segítségével: Miután beállította a naplózást, szüksége van egy módszerre, amellyel a naplókban szereplő információk megtekintése érdekében aktiválhatja a RunETL egyéni munkafolyamat-feladatot. Erről a feladatról Ha az ETL feladatelemet használja, akkor egyszerűen kattintson a Folyamat futtatása műveletre az adott űrlapon.
30
© Copyright IBM Corp. 2011, 2015
Eljárás Ne felejtse kitölteni az űrlap azon mezőértékeit, amelyekre az ETL parancsfájl számíthat. A Folyamat futtatása műveletet csak hibakeresési célokra használja. Éles környezetben használja helyette a feladatütemezőt. Vegye figyelembe, hogy a Folyamat futtatása frissíteni fogja a táblákat az adatbázisban, így ne használja ezt a műveletet éles környezetben. Példa A következők a naplókimenet mintáját mutatják be: 2011-01-21 14:01:27,125 HIBAKERESÉS [com.tririga.platform.workflow.runtime.taskhandler. ETL.RunETL](WFA:11325389 - 3070255 triProcessManual:38447392 IE=38447392) Beállított Kettle változó - ${triCalendarPeriodTX_SPEC_ID} = 3103902 2011-01-21 14:01:27,125 HIBAKERESÉS [com.tririga.platform.workflow.runtime.taskhandler. ETL.RunETL](WFA:11325389 - 3070255 triProcessManual:38447392 IE=38447392) Beállított Kettle változó - ${triCalendarPeriodTX} = \Classifications\Calendar Period\2010 \Q4 - 2010\October - 2010 2011-01-21 14:01:27,125 HIBAKERESÉS [com.tririga.platform.workflow.runtime.taskhandler. ETL.RunETL](WFA:11325389 - 3070255 triProcessManual:38447392 IE=38447392) *** talált objektummező = BoFieldImpl[name=triEndDA,id=1044,Section=BoSectionImpl[name=General, id=BoSectionId[categoryId=1,subCategoryId=1],Business Object=BoImpl [name=triETLJobItem, id=10011948,module=ModuleImpl[name=triJobItem,id=22322]]]] 2011-01-21 14:01:27,125 HIBAKERESÉS [com.tririga.platform.workflow.runtime.taskhandler. ETL.RunETL](WFA:11325389 - 3070255 triProcessManual:38447392 IE=38447392) Beállított Kettle változó - ${triEndDA_MinDATE} = to_date (’20101031 00:00:00’,’YYYYmmdd hh24:mi:ss’) 2011-01-21 14:01:27,125 HIBAKERESÉS [com.tririga.platform.workflow.runtime.taskhandler. ETL.RunETL](WFA:11325389 - 3070255 triProcessManual:38447392 IE=38447392) Beállított Kettle változó - ${triEndDA_MaxDATE} = to_date (’20101031 23:59:59’,’YYYYmmdd hh24:mi:ss’) 2011-01-21 14:01:27,125 HIBAKERESÉS [com.tririga.platform.workflow.runtime.taskhandler. ETL.RunETL](WFA:11325389 - 3070255 triProcessManual:38447392 IE=38447392) Beállított Kettle változó - ${triEndDA_DATE} = to_date(’20101031 00:00:00’,’YYYYmmdd h24:mi:ss’) 2011-01-21 14:01:27,125 HIBAKERESÉS [com.tririga.platform.workflow.runtime.taskhandler. ETL.RunETL](WFA:11325389 - 3070255 triProcessManual:38447392 IE=38447392) Beállított Kettle változó - ${triEndDA} = 1288508400000 2011-01-21 14:01:27,125 HIBAKERESÉS [com.tririga.platform.workflow.runtime.taskhandler. ETL.RunETL](WFA:11325389 - 3070255 triProcessManual:38447392 IE=38447392) Beállított Kettle változó - ${triEndDA_Min} = 1288508400000 2011-01-21 14:01:27,125 HIBAKERESÉS [com.tririga.platform.workflow.runtime.taskhandler. ETL.RunETL](WFA:11325389 - 3070255 triProcessManual:38447392 IE=38447392) Beállított Kettle változó - ${triEndDA_Max} = 1288594799000 2011-01-21 14:02:10,595 INFO [SpaceFact](WFA:11325389 - 3070255 triProcessManual: 38447392 IE=38447392) SpaceFact - A nullértékek eltávolítási folyamata (LEGALINTEREST_SPEC_ID)’.0 sikeresen befejeződött, 3282 sor került feldolgozásra. (76 sor/mp) 2011-01-21 14:02:10,595 INFO [SpaceFact](WFA:11325389 - 3070255 triProcessManual: 38447392 IE=38447392) SpaceFact - A nullértékek eltávolítási folyamata ( REALPROPERTYUSE_SPEC_ID)’. 0 sikeresen befejeződött, 3282 sor került feldolgozásra. (76 sor/mp) 2011-01-21 14:02:10,595 INFO [SpaceFact](WFA:11325389 - 3070255 triProcessManual: 38447392 IE=38447392) SpaceFact - A nullértékek eltávolítási folyamata ( REALPROPERTYTYPE_SPEC_ID)’. 0 sikeresen befejeződött, 3282 sor került feldolgozásra. (76 sor/mp) 2011-01-21 14:02:10,595 INFO
[SpaceFact](WFA:11325389 - 3070255 triProcessManual: 2. fejezet Adatszerkezetek
31
38447392 IE=38447392) SpaceFact - A sorok szűrési folyamat’.0 sikeresen befejeződött, 3307 sor került feldolgozásra. (76 sor/mp) 2011-01-21 14:02:10,595 INFO [SpaceFact](WFA:11325389 - 3070255 triProcessManual: 38447392 IE=38447392) SpaceFact - Az üres folyamat (nincs teendő)’.0 sikeresen befejeződött, 25 sor került feldolgozásra. (0 sor/mp) 2011-01-21 14:02:10,595 INFO [SpaceFact](WFA:11325389 - 3070255 triProcessManual: 38447392 IE=38447392) SpaceFact - A területlekérdezési folyamat’.0 sikeresen befejeződött, 0 sor került feldolgozásra. (0 sor/mp)
Teljesítményhangolási tippek: A következő tippek segítségével az ETL műveletek teljesítményét javíthatja a Spoon eszköz használata esetén. Összegzés 1. Amikor már befejezte az ETL folyamat beállítását, és az már úgy működik, ahogyan elvárja tőle, végezze el az alapkonfiguráció teljesítményének mérését. 2. A Spoon rendszer segítségével futtassa az ETL folyamatot egy olyan adatbázison, ahol már több ezer sort adott hozzá a ténytáblához. 3. Gondoskodjék róla, hogy JNDI kapcsolatot használjon, a Spoon rendszert pedig azon a hálózaton futtassa, ahol az adatbázis működik, így nem kell hálózati késleltetéssel számolnia. Ne futtassa virtuális magánhálózaton keresztül. 4. Kérje le a végrehajtott futtatás eredményeinek listába szedett adatait. Használja például a triSpacePeopleFact ETL futási eredményeit. Elemzés 1. A JavaScript parancsfájlkezelés és az Adatbázis-eljárás (Következő speciális azonosító lekérdezése) lépésének több másolattal kell rendelkeznie. Kattintson a jobb egérgombbal a lépésre, majd módosítsa az elindítandó másolatok számát. v Az előző triSpacePeopleFact ETL példafuttatás esetén a JavaScript parancsfájlkezelés és az Adatbázis-eljárás (Következő speciális azonosító lekérdezése) lépése egyenként három példányra módosul: v Változatlanul: 12.9, 12.7, 12.5, 12.6 v Egyenként három másolattal: 11.4, 11.6, 12.3, 12.2 2. Módosítsa a sorkészlet alapértelmezett 1000-es értékét 10000-re. Az új átalakítások esetében ez automatikusan beállításra kerül. Kattintson a jobb egérgombbal az ETL műveletre, majd nyissa meg az átalakítás tulajdonságait. 3. Elemezze a futási eredményeket. Tapasztalható szűk keresztmetszet? Van olyan lépés, amely lassabb a többinél? A többi lépés talán további másolatokkal rendelkezhetne a jobb áteresztőképesség érdekében. 4. Az adatbeviteli lépés szűk keresztmetszetnek számít? Az adatbázis indexelése segíteni fog? Ha igen, végezze el az index hozzáadását, majd futtassa újra. Javult a teljesítmény? Használjon talán egy Szűrő lépést ahelyett, hogy az adatbázis szűrné az eredményhalmazt. 5. Az elemzés ismétlődő folyamat. Mindig rendelkezzen több másolattal a JavaScript parancsfájlkezelés és az Adatbázis-eljárás (Következő speciális azonosító lekérdezése) lépéséből. 6. Az ETL folyamat másodpercenként 300-800 sort eredményező futtatása jó teljesítménynek számít, és mindenképpen az elfogadható teljesítménytartományba esik. A triSpacePeopleFact ETL esetén a művelet kezdeti összeállítását követően alapvető javulás tapasztalható csupán az 1. és 2. lépés segítségével.
32
© Copyright IBM Corp. 2011, 2015
A triSpaceFact ETL esetében ezzel szemben az 1., 2. és 4. lépés segítségével alapvető javulás tapasztalható. Az alábbiak a triSpacePeopleFact ETL 1. és 2. lépéssel történő futtatásának eredményét mutatják be: Területi személyek lekérdezése: Idő = 11,6 mp; Sebesség (sor/mp) = 743.6
Az alábbiak a triSpaceFact ETL 1. és 2. lépéssel történő futtatásának eredményét mutatják be: Terület lekérdezése: Idő = 313,9 mp; Sebesség (sor/mp) = 24,0
Figyelje meg, hogy az adatbeviteli lépést jelentő Terület lekérdezése lépés - a másodpercenként 24 soros feldolgozási eredményével - egyértelműen szűk keresztmetszetet jelent. Figyelje meg azt is, hogy a Terület lekérdezése lépéssel szemben a Területi személyek lekérdezése nem jelent szűk keresztmetszetet. A triSpaceFact ETL az 1. és 2. lépésen túl minden módosítás nélkül jól futtatható, hiszen másodpercenként 700-nál is több sort dolgoz fel. A triSpaceFact ETL 4. lépése esetén tekintse meg a Terület lekérdezése feladathoz tartozó SQL kódot. Figyelje meg, hogy az SQL kódban összesítések szerepelnek. Az összesítések erőforrás-igényes műveletek, különösen azért, mert kettő ilyen is található a kódban, ugyanakkor pedig a mezők egyike sincs indexelve. Vegyen fel egy indexet a T_TRIORGANIZATIONALLOCATION.TRILOCATIONLOOKUPTXOBJID oszlophoz. Az indexet csupán a TRILOCATIONLOOKUPTXOBJID oszlophoz kell hozzáadni, még akkor is, ha a TRISTATUSCL oszlop szerepel a SELECT SUM WHERE részkifejezésben. A TRISTATUSCL oszlop egy 1000 karakteres mező, ami lassúvá tenné az indexelést, és SQL Server rendszerben nem is lenne megvalósítható. CREATE INDEX IDX01_TRIORGALLOC ON T_TRIORGANIZATIONALLOCATION (TRILOCATIONLOOKUPTXOBJID) NOPARALLEL;
Futtassa újra az ETL műveletet. Az alábbiakban a triSpaceFact ETL futtatás eredménye kerül bemutatásra az 1., 2. és 4. lépésben. Terület lekérdezése: Idő = 3,2 mp; Sebesség (sor/mp) = 2378,3
Figyelje meg az adatbeviteli lépés másodpercenkénti sorértékének változását (2378,3), valamint az ETL művelet futási idejét (3,2 másodperc 7544 sor esetén). Fontos: Az ETL műveletek összeállítása során figyelembe veendő szempontok: v Kerülje az összetett SQL kód, valamint a COUNT, MIN, MAX és SUM összesítési függvények használatát. Amennyiben használnia kell ezeket a függvényeket, úgy vizsgálja meg, hogy egy index javítana-e valamit az adatbeviteli lépésen. Ne hozzon létre nagyméretű VARCHAR mezőre épülő indexet, mivel az SQL Server rendszer csak < 900 byte méretű indexeket tud kezelni. v Lehetőség szerint kerülje a logikai OR (vagy) és NOT (nem) operátort, valamint a (TRIRIGA adatbázisokban M_táblanév jelölésű) nézetek használatát. v Ha lehetséges, akkor a JavaScript parancsfájlkezelés helyett használja a Számítás lépést. A JavaScript parancsfájlkezelés lépés erőforrás-igényes lehet. v Csak egy JavaScript parancsfájlkezelés lépéssel rendelkezzen. 2. fejezet Adatszerkezetek
33
ETL műveletek használata az IBM Tivoli Directory Integrator rendszer Konfigurációszerkesztő eszközével A Tivoli Directory Integrator Konfigurációszerkesztő eszköze a Tivoli Directory Integrator rendszerben biztosított ETL fejlesztői környezetnek felel meg. Az egyszerre átfogó és bővíthető fejlesztői környezet biztosítása érdekében az Eclipse platformra épülő Konfigurációszerkesztő eszköz a Tivoli Directory Integrator által konfigurációs fájloknak nevezett ETL átalakítások létrehozását, karbantartását, tesztelését és hibakeresését teszi lehetővé.
Mielőtt elkezdené Azoknak a rendszerfejlesztőknek, akik az átalakítások meghatározásáért vagy karbantartásáért felelősek, munkájukat pedig a Konfigurációszerkesztő eszközzel végzik, hozzáféréssel kell rendelkezniük a TRIRIGA adatbázisokhoz, illetve járatosnak kell lenniük azok kezelésében. Mielőtt a Tivoli Directory Integrator rendszer Konfigurációszerkesztő eszközével meghatározhatná és karbantarthatná az ETL átalakításokat, végre kell hajtania a következő feladatokat: v Forrás- és céltáblák létrehozása v A megfelelő leképezések kialakítása v Az átalakításnak átadandó változók azonosítása v Változók hozzáadása az átalakítási üzleti objektumnak vagy űrlapnak A Tivoli Directory Integrator rendszer Konfigurációszerkesztő eszközének használata: Bár a Tivoli Directory Integrator futásikörnyezet-kiszolgáló automatikusan telepítésre kerül a TRIRIGA rendszerrel, a Tivoli Directory Integrator futószalagok létrehozásához vagy módosításához telepítenie kell a Konfigurációszerkesztő eszközt arra a munkaállomásra, amelyet igénybe fog venni az ETL fejlesztéshez. Eljárás 1. Töltse le és telepítse a megfelelő Tivoli Directory Integrator telepítőcsomagot a következő címen elérhető Passport Advantage webhelyről: http://www.ibm.com/software/howtobuy/ passportadvantage/pao_customers.htm.
34
Beállítás
Leírás
TDI711_TAP340_Install_Wind.zip
IBM Tivoli Directory Integrator v7.1.1 telepítő az IBM TRIRIGA Application Platform v3.4.0 számára többnyelvű Windows rendszeren
TDI711_TAP340_Install_Linux.tar
IBM Tivoli Directory Integrator v7.1.1 telepítő az IBM TRIRIGA Application Platform v3.4.0 számára többnyelvű Linux rendszeren
TDI711_TAP340_Install_SOLIntl.tar
IBM Tivoli Directory Integrator v7.1.1 telepítő az IBM TRIRIGA Application Platform v3.4.0 számára többnyelvű Solaris Intel rendszeren
TDI711_TAP340_Install_SOLSprc.tar
IBM Tivoli Directory Integrator v7.1.1 telepítő az IBM TRIRIGA Application Platform v3.4.0 számára többnyelvű Solaris Sparc rendszeren
TDI711_TAP340_Install_AIX.tar
IBM Tivoli Directory Integrator v7.1.1 telepítő az IBM TRIRIGA Application Platform v3.4.0 számára többnyelvű AIX rendszeren
© Copyright IBM Corp. 2011, 2015
2. Frissítsen az IBM Tivoli Directory Integrator 7.1.1 változat 3-as javítócsomagjára, amely a következő címen érhető el: http://www.ibm.com/support/ docview.wss?uid=swg27010509. 3. Alkalmazza a 7.1.1-TIV-TDI-LA0014 javítást, amelynek elérése érdekében kapcsolatba kell lépnie az IBM terméktámogatással. 4. A TRIRIGA telepítési könyvtárból másolja át a futószalagjainak csatlakoztatásához használt adatbázistípushoz tartozó JDBC illesztőprogramot a Tivoli Directory Integrator könyvtárba: TDI_telepítési_könyvtár/jars. v SQL Server esetén másolja át a következőt: jtds-1.2.8.jar v Oracle esetén másolja át a következőt: ojdbc6.jar v DB2 esetén másolja át a következőt: db2jcc4.jar A Tivoli Directory Integrator rendszer által használt portok módosítása: A Tivoli Directory Integrator alkalmazás által használt portokat a TRIRIGA rendszer telepítése során határozhatja meg. Ritkán előfordulhat, hogy később módosítania kell ezeket a portbeállításokat. Erről a feladatról Ha módosítani kívánja azt a portot, amelyen keresztül a TRIRIGA rendszer végrehajtandó ETL átalakításokat küld a Tivoli Directory Integrator alkalmazásnak, akkor módosítsa a TDI_HTTP_SERVER_PORT paramétert a TRIRIGAWEB.properties tulajdonságfájlban. v A Tivoli Directory Integrator ügynök által a Tivoli Directory Integrator kiszolgáló kezeléséhez használt port módosításához tegye a következőket: v Módosítsa a TDI_SERVER_PORT paramétert a TRIRIGAWEB.properties tulajdonságfájlban. v Módosítsa az api.remote.naming.port paramétert a TRIRIGA_telepítési_könyvtár/ TDI_IE/TDISolDir/solution.properties tulajdonságfájlban. A Tivoli Directory Integrator rendszerben elérhető Konfigurációszerkesztő eszköz használatának megkezdése: Úgy készülhet fel az ETL műveletek Konfigurációszerkesztő segítségével végzett meghatározására és karbantartására, hogy először megismerkedik az alapvető feladatokkal például a Konfigurációszerkesztő megnyitásával -, továbbá a nézetekkel, valamint a projektek, futószalagok, horgok, parancsfájlok és kapcsolatok létrehozásának módjával, majd elvégzi egy konfigurációs fájl importálását. A Konfigurációszerkesztő az ibmditk fordítóparancsfájl segítségével indítható el. A parancsfájl a Tivoli Directory Integrator rendszer telepítési könyvtárában helyezkedik el. A projektek és fájlok tárolásához kiválaszthat egy munkaterület-mappát. A Konfigurációszerkesztő eszköz munkaterületi ablaka az alábbi nézeteket jeleníti meg: v A (bal felső) navigátor tartalmazza a kiszolgálókonfigurációkhoz és Tivoli Directory Integrator megoldásokhoz kapcsolódó valamennyi projektet és forrásfájlt. A navigátor emellett egyéb fájlokat és projekteket, például szövegfájlokat is magában foglalhat. A Konfigurációszerkesztő eszköz kifejezetten a Tivoli Directory Integrator projekteket kezeli, így az egyéb fájlokra és projektekre az eszköz nincs hatással. v A (bal alsó) kiszolgálónézet a TDI kiszolgálók projektben meghatározott egyes kiszolgálók státuszát jeleníti meg. Korlátlan számú kiszolgálót határozhat meg. A kiszolgálónézet 2. fejezet Adatszerkezetek
35
számos olyan funkciót biztosít, amellyel műveleteket végezhet a kiszolgálókon és azok konfigurációján. A Frissítés gomb a nézetben szereplő összes kiszolgáló státuszát frissíti. v A (jobb felső) szerkesztőterület a dokumentumok, például a futószalag-konfigurációk szerkesztésre történő megnyitásának helyszíne. A terület függőlegesen fel van osztva egy olyan területtel, ahol különféle, egyéb fontos információkat nyújtó nézetek kerültek elhelyezésre. A legfontosabbak közé tartozik a Tivoli Directory Integrator összetevőkkel kapcsolatos lehetséges problémákat megjelenítő Problémák nézet, a megoldások fejlesztése során fellépő hibákat felsoroló Hibanapló, valamint a például a Konfigurációszerkesztő eszköz által elindított Tivoli Directory Integrator kiszolgálók futtatására szolgáló konzolt megjelenítő Konzol nézet. Az általános tevékenységek a következő alapvető feladatokat foglalják magukban: v Projekt létrehozásához kattintson a jobb egérgombbal, majd válassza az előugró menü Fájl > Új > Projekt menüpontját. v Futószalag létrehozásához válasszon egy projektet a navigátorból, kattintson rá a jobb egérgombbal, majd válassza az előugró menü Fájl > Új > Futószalag menüpontját. A futószalag az adatok áthelyezése és átalakítása érdekében egymáshoz kapcsolt összetevők készlete. A futószalag írja le azt az útvonalat, amelyen az adatok átadása történik. Az ezen út során kezelt adatokat egy bejegyzésobjektum ábrázolja. A futószalag minden egyes ciklusa során egyszerre egy bejegyzést kezel. Ez a Tivoli Directory Integrator rendszer munkaegysége, amely jellemzően a legalább egy adatforrás és legalább egy cél között áramló információfolyamot ábrázolja. Az új futószalag számára adott nevet akkor kell meghatároznia, amikor létrehozza az ezen futószalagot a TRIRIGA rendszerben futtató ETL feladatelemet. v Futószalaghorog hozzáadásához a szerkesztőterületen kattintson a Beállítások > Futószalaghorgok menüpontra. Jelölje be a horgok egyike melletti jelölőnégyzetet, majd kattintson a Bezárás gombra. Hozzáadása után kiválaszthatja a horgot, majd felveheti annak JavaScript kódját. v Parancsfájl hozzáadásához a szerkesztőterületen válassza ki a Feed (Hírfolyam) vagy a Data Flow (Adatfolyam) mappát. Kattintson rá a jobb egérgombbal, majd válassza az előugró menü Összetevő hozzáadása menüpontját. Válassza ki a parancsfájlszűrőt, az összetevőt, majd kattintson a Befejezés gombra. Válassza ki a futószalaghoz hozzáadott parancsfájlt, majd vegye fel a felhasználó által megadott JavaScript kód blokkját. v Kapcsolat hozzáadásához a szerkesztőterületen válassza ki a Feed (Hírfolyam) vagy a Data Flow (Adatfolyam) mappát. Kattintson rá a jobb egérgombbal, majd válassza az előugró menü Összetevő hozzáadása menüpontját. Válassza ki a kapcsolatszűrőt, az összetevőt, majd kattintson a Befejezés gombra. Válassza ki a futószalaghoz hozzáadott kapcsolatot, majd határozza meg a szükséges konfigurációs adatokat. v Konfigurációs fájl importálásához kattintson a Fájl > Importálás menüpontra, majd válassza ki az IBM Tivoli Directory Integrator és a Konfiguráció lehetőséget. Kattintson a Tovább gombra, határozzon meg egy konfigurációs fájlt, majd kattintson a Befejezés gombra. Amikor a rendszer felszólítja, adja meg a projekt nevét és kattintson a Befejezés gombra. Ha a Tivoli Directory Integrator rendszer használatával kapcsolatban további információkra van szüksége, akkor a következő címen tekintse meg az IBM Tivoli Directory Integrator 7.1.1 információs központot: http://publib.boulder.ibm.com/infocenter/tivihelp/v2r1/topic/ com.ibm.IBMDI.doc_7.1.1/welcome.htm. Tivoli Directory Integrator ügynök: A Tivoli Directory Integrator ügynök biztosítja a Tivoli Directory Integrator futásikörnyezet-kiszolgáló TRIRIGA rendszerből történő elindításához és leállításához szükséges felületet.
36
© Copyright IBM Corp. 2011, 2015
A Tivoli Directory Integrator kiszolgálónak futnia kell ahhoz, hogy a Tivoli Directory Integrator típusú ETL feladatelemek sikeresen végrehajtásra kerüljenek. Az ETL feladatelemek végrehajtása meghiúsul, ha nem fut a Tivoli Directory Integrator kiszolgáló. Ekkor hiba kerül kiírásra a TRIRIGA kiszolgálónaplóba. A Tivoli Directory Integrator kiszolgáló elindításához vagy leállításához lépjen át az Adminisztrátori konzol Ügynökkezelő paneljére, majd ott indítsa el vagy állítsa le a Tivoli Directory Integrator ügynököt. Elindítását követően az ügynök ütemezés szerint kerül futtatásra és figyelemmel kíséri a Tivoli Directory Integrator kiszolgáló működését. Ha azt tapasztalja, hogy nem fut a Tivoli Directory Integrator kiszolgáló, akkor kísérletet tesz az újraindítására. Ha az Ügynökkezelő panel használatával kapcsolatban további információkra van szüksége, akkor forduljon az IBM TRIRIGA Application Platform 3 - Adminisztrátori konzol felhasználói kézikönyv című kiadványhoz. A Tivoli Directory Integrator ügynök beállítása: Beállíthatja azokat a tulajdonságokat, amelyek a Tivoli Directory Integrator kiszolgáló futását ellenőrzik. A Tivoli Directory Integrator ügynököt futtató alkalmazáskiszolgálóhoz tartozó TDI_AGENT_SLEEPTIME tulajdonság azt vezérli, hogy az ügynök milyen gyakran ellenőrzi a Tivoli Directory Integrator kiszolgáló futását, illetve próbálja meg újraindítani azt. A Tivoli Directory Integrator ügynököt futtató alkalmazáskiszolgáló TDI_SERVER_TIMEOUT tulajdonsága azt vezérli, hogy a hibajelzés előtt mennyi ideig kell várakozni a Tivoli Directory Integrator kiszolgálót elindító vagy leállító parancs befejezésére. Ezek a tulajdonságok a TRIRIGAWEB.properties fájlban kerülnek meghatározásra. A Tivoli Directory Integrator ügynök naplózása: A Tivoli Directory Integrator ügynökkel kapcsolatos problémák a server.log fájlban kerülnek naplózásra. További információk lekérdezéséhez kapcsolja be a hibakeresés naplózását a Tivoli Directory Integrator ügynökben - ehhez módosítsa az ügynök futtatási helyéül szolgáló kiszolgálón működő Adminisztrátori konzol platformnaplózási beállításait. Kiegészítő naplózási beállítások hajthatók végre, ha módosítja a log4j beállításokat azon a kiszolgálón, ahol az ügynök fut. A Tivoli Directory Integrator kiszolgálóval kapcsolatos problémák megfigyelését például az általános log4j megállapodásokat követve hajthatja végre. Ha a Tivoli Directory Integrator ügynök nem tudja elindítani a Tivoli Directory Integrator kiszolgálót, akkor a következő log4j kategóriában ír ki egy hibát: "com.tririga.platform.tdi.agent.TDIAgent.TDISTARTFAILED". Alapértelmezésben az ezen kategóriában kiírt hibák bekerülnek a TRIRIGA kiszolgálónaplóba. Ettől eltérő viselkedést is beállíthat, előírhatja például egy e-mail értesítés elküldését is, ha úgy konfigurálja a kategóriát, hogy az egy másik log4j hozzáfűzőbe végezze el a kiírást. Átalakítások futtatása a Tivoli Directory Integrator alkalmazás Konfigurációszerkesztő eszközében: A fejlesztés alatt lévő, illetve befejezett átalakítások futtatásához végezze el az adott átalakítás mentését, majd kattintson az eszköztáron a Futtatás gombra.
2. fejezet Adatszerkezetek
37
Erről a feladatról A szerkesztési területen a rendszer egy új ablakot vagy lapot nyit meg a futószalaggal azonos néven. Ez az ablak jeleníti meg a futószalag végrehajtásából származó eredményeket. Az egyes lépések végrehajtása során a bemeneti adatfolyamot érintő módosítások megtekintéséhez a Hibakereső gombot is igénybe veheti. Példa a Tivoli Directory Integrator rendszer Konfigurációszerkesztő eszközével végzett átalakításra: A következő információk a Tivoli Directory Integrator átalakításokban érintett lépések közül néhányra mutatnak példát. Letöltheti a meglévő ETL feladatelemekben található ‘Mérési elem állomásoztatási táblájának betöltése’ .xml konfigurációs fájl másolatát, hogy kövesse a lépések leírását. A szállított ETL műveletek közül sokan ugyanezt a folyamatot követik, azzal a kivétellel, hogy a részleteik különböznek; ilyenek például az adatok lehívásához használt adatbázistáblák, valamint az adatok átalakításának módja. Ez a példaátalakítás a következő műveleteket hajtja végre: v Meghatározza az ezen futószalag által felhasználásra kerülő naplózási paramétereket, köztük a következőket: Naplózó típusa, Fájlútvonal, Hozzáfűzés, Dátumminta, Elrendezésminta, Naplószint és Napló engedélyezve. v Adatbázis-kapcsolatot létesít a DB-TRIRIGA adatbázis számára konfigurált futószalag-csatlakozási paraméterek segítségével. v Lekéri az Energianapló várakozási ideje paramétert az Alkalmazásbeállítások táblából. v A JDBC kapcsolat segítségével rekordokat kér le az Eszköz óránkénti tényei táblából. v Bemeneti attribútumleképezést használ az adatbázisoszlopok belső Tivoli Directory Integrator munkabejegyzés-attribútumokra való leképezéséhez. v Tivoli Directory Integrator horgokat és parancsfájlokat használ az adatátalakítások végrehajtásához. v JDBC kapcsolat segítségével szúr be vagy frissít rekordokat a környezeti mérési elem állomásoztatási táblájába. v Kimeneti attribútumleképezést használ a belső munkaváltozóknak a JDBC kimeneti kapcsolatban konfigurált táblában található adatbázisoszlopokra való leképezéséhez. v A siker esetére vonatkozó horgot használja a következő feladatok végrehajtásához: – A futtatás feldolgozási statisztikáinak naplózása – Hibaszám (errCount) és hibaüzenet (errMsg) beállítása v A sikertelenség esetére vonatkozó Tivoli Directory Integrator horgot használja a következő feladatok végrehajtásához: – Hibaüzenetek naplózása – Hibaszám (errCount) és hibaüzenet (errMsg) beállítása A következő szakaszok további részletekkel szolgálnak a Tivoli Directory Integrator átalakítás fontos összetevőivel kapcsolatban. Bemutatásuk a TRIRIGA rendszerrel szállított átalakítás által használt fő komponensekre összpontosít. A Tivoli Directory Integrator rendszer számos további komponenst is biztosít, amelyekkel átalakítási igényeinek megfelelően kezelheti adatait. Az átalakítások összeállítása során tartsa szem előtt a következő tippeket: v A futószalag összeállítása során rendelkezésre álló tesztelési szolgáltatások segítségével meggyőződhet róla, hogy az átalakítás a kívánt módon működik.
38
© Copyright IBM Corp. 2011, 2015
v Az átalakításokat védekező hozzáállással kell fejleszteni. Ha például adott mezőket használó számításokat végez, akkor minden sornak rendelkeznie kell értékkel ezekben a mezőkben, nem lehetnek üresek. Ha ez nem így van, akkor az átalakítás összeomlik. Ellenőrzési funkció hozzáadásával gondoskodjék róla, hogy a számításban használt valamennyi mező rendelkezzen értékkel. v Ellenőrizze a nullértékű vagy meghatározatlan változókat, majd jelezzen hibákat, ha a nullértékű vagy meghatározatlan változókra szükség van a futószalag sikeres futtatásához. Ha például futószalagja a DB-OTHER változóktól (például: jdbcOthUrl, jdbcOthDriver) függ a külső adatbázishoz való csatlakozás létrehozása során, akkor ellenőriznie kell a kérdéses változók meghatározását, illetve megfelelően kezelnie a hibaeseteket. v A dátumok kezelése nem könnyű feladat, hiszen a TRIRIGA rendszer által támogatott adatbázisok mindegyike DATE és TIME értékeket egyaránt tárol a dátummezőkben. v Győződjön meg róla, hogy használja a futószalag-kapcsolatokat, valamint tegye függetlenné átalakítási adatbázisát, különösen akkor, ha megoldását több adatbázisplatformon (DB2, Oracle és Microsoft SQL Server rendszerben) egyaránt futtatni kell. v Tesztelje futószalag-kapcsolatait, mielőtt futtatná a Tivoli Directory Integrator átalakítást. Ellenkező esetben átalakítása adatbázis-csatlakozási hiba miatt befejeződhet. Naplózók beállítása: Beállíthatja a futószalag-naplózókat, valamint megadhatja a futószalag által használt naplózási paramétereket, így például a következőket: Naplózó típusa, Fájlútvonal, Hozzáfűzés, Dátumminta, Elrendezésminta, Naplószint és Napló engedélyezve. Erről a feladatról Megjegyzés: Ragaszkodjon a következő naplóbeállítási megállapodások betartásához, hogy a TRIRIGA rendszer megfelelően kezelje ETL naplózását, amikor az átalakítás futtatásra kerül a TRIRIGA rendszerből: v A fájlútvonal beállításakor relatív elérési útvonalat határozzon meg: ../../log/TDI/naplónév, ahol a naplónév a futószalag megnevezése. Például: Fájlútvonal = ../log/TDI/triLoadMeterData.log. Ezzel biztosítható, hogy a triLoadMeterData.log napló megjeleníthető legyen a TRIRIGA rendszer Adminisztrációs konzoljáról a többi TRIRIGA naplóval együtt. v Állítsa a Naplózó típusa paramétert DailyRollingFileAppender értékre, hogy összhangban legyen az egyéb TRIRIGA naplókkal. Ezek a naplóbeállítások az átalakítás Konfigurációszerkesztő eszközből való futtatásakor létrehozott naplókra vonatkoznak. Egyes értékeket a rendszer felülbírál, amikor az átalakítás meghívásra kerül egy TRIRIGA ETL feladatelemből. A Naplószint, Dátumminta és Elrendezésminta felülbírálásra kerül a TRIRIGA rendszerhez tartozó log4j .xml fájlban megadott értékekkel, hogy a Tivoli Directory Integrator naplók összhangban legyenek a TRIRIGA naplókkal, valamint a TRIRIGA naplókkal azonos módon lehessenek azok is beállíthatók. Eljárás A szerkesztőterületen kattintson a Beállítások > Naplóbeállítások menüpontra a futószalag-naplózók beállításához, valamint a futószalag által használt naplózási paraméterek meghatározásához.
2. fejezet Adatszerkezetek
39
Példa A példában a DailyRollingFileAppender napló kerül beállításra a következő értékű fájlútvonallal: ../../log/TDI/triLoadMeterData.log. A futószalaghorgok az alábbihoz hasonló parancs kiadásával írhatnak ki adatokat ebbe a naplóba: var methodName = "triLoadMeterData - LookupMeterItemDTO "; task.logmsg("HIBAKERESÉS", methodName + "Belépés");
Futószalagok inicializálása: A futószalag inicializálása során a parancsfájlalrendszer elindításra kerül, a rendszer pedig meghívja a futószalag bevezető horgait. Eljárás 1. A szerkesztőterületen hozzon létre egy futószalaghorgot, amelyhez kattintson a Beállítások > Futószalaghorgok lehetőségre, majd kapcsolja be a Bevezető – inicializálás előtt jelölőnégyzetet. 2. A következő JavaScript kód parancsfájlhoz való hozzáadásával hozzon létre adatbázis-kapcsolatot és kérje le az alkalmazásbeállítási paramétereket: var methodName = "triLoadMeterData - Bevezető - Inicializálás előtt - "; // Alapértelmezésben ez a futószalag a TRIRIGA rendszerből való futtatásra van beállítva. // Ha a futószalagot a TDI rendszer Konfigurációszerkesztő eszközéből kívánja futtatni, // akkor a runStandAlone jelzőparamétert 1-re kell beállítani, az adatbázis-csatlakozási // paramétereket pedig meg kell adni az alábbiakban. var runStandAlone = 1; // A futószalagnak átadott adatbázis-csatlakozási paraméterek lekérése a TRIRIGA rendszerből if (runStandAlone == 0) { task.logmsg("HIBAKERESÉS", methodName + "TRIRIGA adatbázis-csatlakozási paraméterek beállítása"); var op = task.getOpEntry(); var jdbcTriURL = op.getString("jdbcTriURL"); var jdbcTriDriver = op.getString("jdbcTriDriver"); var jdbcTriUser = op.getString("jdbcTriUser"); var jdbcTriPassword = op.getString("jdbcTriPassword"); } else // Módosítsa ezeket az adatbázis-csatlakozási paramétereket, ha közvetlenül a // TDI rendszerből végez futtatást { task.logmsg("HIBAKERESÉS", methodName + "Önálló: Alapértelmezett TRIRIGA adatbáziscsatlakozási paraméterek beállítása"); var jdbcTriURL = "jdbc:oracle:thin:@1.1.1.1:1521:test"; var jdbcTriDriver = "oracle.jdbc.driver.OracleDriver"; var jdbcTriUser = "userid"; var jdbcTriPassword = "password"; } try { triConn.initialize(new Packages.com.ibm.di.server. ConnectorMode("Iterator")); } catch (err) { task.logmsg("HIBA", methodName + "A TRIRIGA csatlakozás sikertelen"); task.logmsg("HIBAKERESÉS", methodName + "Kivétel:" + err); dbConnectionFailed = true; errCount=1; system.abortAssemblyLine("A TRIRIGA adatbázis-csatlakozás sikertelen"); return;
40
© Copyright IBM Corp. 2011, 2015
} triConn.setCommitMode("Minden adatbázis-művelet (többek között: SELECT) után"); var conn2 = triConn.getConnection(); conn2.setAutoCommit(true); task.logmsg("HIBAKERESÉS", methodName + "A TRIRIGA csatlakozás sikeres"); ... // Alkalmazásbeállítások lekérése task.logmsg("HIBAKERESÉS", methodName + "triALEnergyLogLagTimeNU lekérése az Alkalmazásbeállítások közül"); var selectStmt1 = conn1.createStatement(); var query = "select TRIALENERGYLOGLAGTIMEN from T_TRIAPPLICATIONSETTINGS"; task.logmsg("HIBAKERESÉS", methodName + "lekérdezés:" + query); var rs1 = selectStmt1.executeQuery(query); var result = rs1.next(); while (result) { try { energyLogLagTime = rs1.getString("TRIALENERGYLOGLAGTIMEN"); if (energyLogLagTime == null) energyLogLagTime=5 } catch (err) { task.logmsg("INFORMÁCIÓK", methodName + "Alapértékek beállítása az az Alkalmazásbeállítások közül"); energyLogLagTime=5 } task.logmsg("INFORMÁCIÓK", methodName + "energyLogLagTime:" + energyLogLagTime); result = rs1.next(); } rs1.close(); selectStmt1.close();
3. Végezze el a futószalaghorog mentését. Példa A példában a következő feladatok kerülnek a Bevezető – Inicializálás előtt horogban végrehajtásra: v A futószalagban átadott Tivoli Directory Integrator átalakítási változók lekérése. Erre csak akkor kerül sor, ha a futószalag egy ETL feladatelemből kerül futtatásra. Ha a futószalagot a Konfigurációszerkesztő eszközből hívják meg, akkor a JDBC csatlakozási paramétereket be kell állítani a bevezetőben. v Adatbázis-kapcsolatok kialakítása. v Futószalagra jellemző beállítások lekérése az Alkalmazásbeállítások rekordból. Adatok lekérése: Az adatok kapcsolatok és egyfajta beviteli mód segítségével lépnek be a futószalagra a csatlakoztatott rendszerekből. A példában egy JDBC kapcsolat és egy attribútumleképezés kerül az adatok futószalagra való betöltéséhez felhasználásra.
2. fejezet Adatszerkezetek
41
Kapcsolat Legtöbb forrásadata táblabemenetként áll rendelkezésre. Ezen a ponton állítja be azt a kapcsolatot, amely a futószalagnak az inicializálás során átadott adatbázis-csatlakozási paraméterek segítségével adatokat emel be a táblákból. A példában a JDBCConnectorToHourlyFact nevű kapcsolat kéri le a bemeneti sorokat az Óránkénti ténytáblából. Ez a komponens a futószalag betöltési szakaszához kerül hozzáadásra. A Kapcsolat lap a JDBC csatlakozási paraméterek beállítását teszi lehetővé. A példában a Speciális (Javascript) beállítás kerül felhasználásra a futószalagnak az inicializálás során átadott csatlakozási paraméterek lekéréséhez. Ezenkívül a következő SQL lekérdezés kerül megadásra a Speciális szakasz SQL kiválasztás mezőjében, amellyel szűkíthető az adatbázistáblából lekért adatok hatóköre. select * from T_TRIASSETENERGYUSEHFACT where TRIMAINMETERBL in (’TRUE’) and TRI-MAINMETERPROCESSEDN = 0 order by TRIWRITETIMETX.
Tipp: A kapcsolathoz tartozó SQL utasítások naplózásának engedélyezéséhez kapcsolja be a Részletes napló jelölőnégyzetet a Kapcsolat lapon. Attribútumleképezés A Kapcsolatattribútum-leképezés funkció segítségével biztosítsa, hogy bizonyos mezők rendelkezzenek értékkel, illetve állítsa be a mezőket egy másik értékre. Az Attribútumleképezés eszközben a forrásmezők értékei alapján állíthatja be a célmezők értékeit. Ha a célmező nincs meghatározva, akkor a célmező helyett a mező alapértelmezett értékre kerülhet beállításra. Kattintson a JDBCConnectorToHourlyFact kapcsolatra, majd az Attribútumleképezés megjelenítéséhez a Bemeneti leképezés lapra. A példában a leképezés segítségével egyes mezők alapértékei kerülnek beállításra. Miután az első kapcsolat elvégezte feladatát, az információk gyűjteménye (a helyes módon "munkának" nevezett "munkabejegyzés") a futószalag mentén átadásra kerül a következő komponensnek. Parancsfájlkezelés: A parancsfájlok hozzáadását a felhasználó által megadott JavaScript kódblokkok megvalósítása érdekében hajthatja végre. A következő példában a parancsfájlkezelés a futószalag egyéni feldolgozással való ellátásához kerül felhasználásra. Az alábbi szakaszok a parancsfájlkezelés különböző módjai közül mutatnak be néhányat. Érvényesítés A példában mezőérvényesítés kerül végrehajtásra a bemeneti adatokon, ahogy az a következő parancsfájlban is megfigyelhető: var methodName = "triLoadMeterData - JDBCConnectorToHourlyFact GetNext Successful "; task.logmsg("HIBAKERESÉS", methodName + "Belépés"); rowsProcessed = parseInt(rowsProcessed) + 1;
42
© Copyright IBM Corp. 2011, 2015
var SPEC_ID = work.SPEC_ID.getValue(); task.logmsg("HIBAKERESÉS", methodName + "SPEC_ID: " + SPEC_ID); // Kötelező mezők ellenőrzése, és a rekord feldolgozására nem kerül sor, ha // értékek hiányoznak validData = true; if (work.TRICAPTUREDDT.getValue() == null) { task.logmsg("HIBA", methodName + "TRICOSTNU nullértékű."); validData=false; } if (work.TRICOSTNU.getValue() == null) { task.logmsg("HIBA", methodName + "TRICOSTNU nullértékű."); validData=false; } if (work.TRICOSTNU_UOM.getValue() == null) { task.logmsg("HIBA", methodName + "TRICOSTNU_UOM nullértékű."); validData=false; } if (work.TRIDIMASSETTX.getValue() == null) { task.logmsg("HIBA", methodName + "TRIDIMASSETTX nullértékű."); validData=false; } if (work.TRIENERGYTYPECL.getValue() == null) { task.logmsg("HIBA", methodName + "TRIENERGYTYPECL nullértékű."); validData=false; } if (work.TRIENERGYTYPECLOBJID.getValue() == null) { task.logmsg("HIBA", methodName + "TRIENERGYTYPECLOBJID nullértékű."); validData=false; } if (work.TRIMETERIDTX.getValue() == null) { task.logmsg("HIBA", methodName + "TRIMETERIDTX nullértékű."); validData=false; } if (work.TRIRATENU.getValue() == null) { task.logmsg("HIBA", methodName + "TRIRATENU nullértékű."); validData=false; } if (work.TRIRATENU_UOM.getValue() == null) { task.logmsg("HIBA", methodName + "TRIRATENU_UOM nullértékű."); validData=false; } if (work.TRIWRITETIMETX.getValue() == null) { task.logmsg("HIBA", methodName + "TRIWRITETIMETX nullértékű."); validData=false; } if (!validData) { rowsNotValid = rowsNotValid + 1; task.logmsg("HIBA", methodName + "A rekord NEM kerül feldolgozásra."); var selectStmt1 = conn1.createStatement(); var query = "update " + tableName + " set TRIMAINMETERPROCESSEDN = 3 where SPEC_ID = \’" + SPEC_ID + "\’"; task.logmsg("HIBAKERESÉS", methodName + "lekérdezés:" + query); var count = selectStmt1.executeUpdate(query);
2. fejezet Adatszerkezetek
43
task.logmsg("HIBAKERESÉS", methodName + "Frissítésszámláló:" + count); selectStmt1.close(); system.exitBranch(); }
Adatszűrés A példában egy olyan parancsfájl szerepel, amely meghatározza, hogy fel kell-e dolgozni a rekordot. Az alábbi parancsfájl feltételes utasítással hasonlítja össze a két dátummezőt. Ha a feltétel igaz, akkor a system.exitBrankch() metódus kerül meghívásra, amely az aktuális rekord kihagyását eredményezi. // Fel kell dolgozni ezt a rekordot? if (capturedDT < earliestDateUTC) { task.logmsg("HIBAKERESÉS", methodName + "Kihagyás!"); rowsSkipped = rowsSkipped + 1; // Állítsa be a triMainMeterProcessedNU=2 jelzőparamétert a // T_TRIASSETENERYUSEHFACT táblában, jelezve, hogy a rekord nem kerül feldolgozásra var selectStmt1 = conn1.createStatement(); var query = "update " + tableName + " set TRIMAINMETERPROCESSEDN = 2 where SPEC_ID = \’" + SPEC_ID + "\’"; task.logmsg("HIBAKERESÉS", methodName + "lekérdezés:" + query); var count = selectStmt1.executeUpdate(query); task.logmsg("HIBAKERESÉS", methodName + "Frissítésszámláló:" + count); selectStmt1.close(); system.exitBranch(); }
Adatbázis-eljárás meghívása A JavaScript kódból tárolt eljárások is meghívhatók. Az információk az eljáráson keresztül haladnak át, majd térnek vissza az átalakításhoz. A fenti példa nem valósít meg tárolteljárás-hívást, de az alábbiakban megadásra kerül egy erre vonatkozó minta. Következzék egy ténytáblabejegyzések sorozatainak létrehozását bemutató példa. Az adatbázis-eljárás a DB2, SQL Server vagy Oracle rendszerben kerül a NEXTVAL változó segítségével meghívásra. A következő a NEXTVAL tárolt eljárásra mutat példát: // Tárolt eljárás meghívása task.logmsg("HIBAKERESÉS", methodName + "Tárolt eljárás meghívása") var command = "{call NEXTVAL(?,?,?)}"; try { cstmt = conn2.prepareCall(command); cstmt.setString(1, "SEQ_FACTSOID"); cstmt.setInt(2, 1); cstmt.registerOutParameter(3, java.sql.Types.INTEGER); cstmt.execute(); result = cstmt.getInt(3); task.logmsg("HIBAKERESÉS", methodName + "Eredmény:" + result); work.setAttribute("SPECID", result) cstmt.close(); } catch (e) { task.logmsg("HIBAKERESÉS", "A tárolt eljárás meghívása kivétellel meghiúsult:" + e); }
44
© Copyright IBM Corp. 2011, 2015
Különböző adatforrásokból származó adatok összefésülése kikeresési kapcsolat segítségével: A kikeresés végrehajtása lehetővé teszi a különböző adatforrásokból származó adatok összefésülését. Ez a művelet egy egyéni parancsfájl vagy kikeresési kapcsolat segítségével valósítható meg. Erről a feladatról A következő példában a parancsfájl egy adatbázis-kikeresés végrehajtásához, valamint az adatfolyam kiegészítő adatokkal való ellátásához kerül felhasználásra. Eljárás 1. A parancsfájl létrehozásához a szerkesztőterületen kattintson az Adatfolyam lehetőségre. 2. Kattintson az Összetevő hozzáadása lehetőségre, válassza ki az Üres parancsfájl elemet, majd kattintson a Befejezés gombra. 3. A Mérőberendezés-cikk DTO tábla egyik rekordjának kikereséséhez adja hozzá a következő JavaScript kódot a parancsfájlhoz. var methodName = "triLoadMeterData - LookupMeterItemDTO "; task.logmsg("HIBAKERESÉS", methodName + "Belépés"); // A mérőberendezés-cikk DTO rekordjának kikeresése var recordFound = false; var selectStmt1 = conn1.createStatement(); var rs1 = selectStmt1.executeQuery("select DC_SEQUENCE_ID, TRICOSTPERUNITNU, TRIQUANTITYNU from S_TRIENVMETERITEMDTO1 where TRIMETERIDTX = \’" + work.TRIMETERIDTX.getValue() + "\’ and TRITODATEDA = " + TRITODATEDA ); var result = rs1.next(); while (result) { ... } rs1.close(); selectStmt1.close();
Bejegyzések adatforrásokba való kiírása: A kimenet előállítása során az átalakított adatok a futószalag mentén bizonyos kimeneti mód esetén egy másik JDBC kapcsolatnak kerülnek átadásra, amely az adatokat kimenetként eljuttatja a csatlakoztatott rendszernek. Mivel a csatlakoztatott rendszer rekordorientált, a munka különféle attribútumai kimeneti attribútumleképezés segítségével kerülnek a rekord oszlopaira leképezésre. Kapcsolat A táblakimenet jelenti legtöbb adata célját. Ezen a ponton állítja be azt a JDBC kapcsolatot, amely a futószalagnak az inicializálás során átadott adatbázis-csatlakozási paraméterek segítségével adatokat szúr be vagy frissít a táblákban. A példában a JDBCConnectoToMeterItemDTO nevű kapcsolat kerül felhasználásra az információk tárolásához a TRIRIGA rendszer Környezetvédelmi mérőberendezés-napló állomásoztatási táblájában. Ez a komponens a futószalag végéhez kerül hozzáadásra, miután már rendelkezik az előállított mentendő információk mindegyikével. A kapcsolat Csatolási feltételek lapja a következő feltételek megadására szolgál, amelyekkel előállítható egy SQL utasítás a kimeneti tábla frissítéséhez. A példában a feltételek a következő bejegyzéseket jelentik: 2. fejezet Adatszerkezetek
45
v TRIMETERIDTX equals $TRIMETERIDTX v TRITODATEDA equals $TRITODATEDA Tipp: A $ karakter annak jelzésére szolgál, hogy az azt követő változónevet a belső munkabejegyzés-értékre kell cserélni. Attribútumleképezés A kapcsolat olyan kimeneti attribútumleképezéssel rendelkezik, amely a belső munkaváltozók és a kimeneti táblában szereplő oszlopnevek közötti leképezés meghatározására szolgál. Válassza ki a ‘JDBCConnectorToMeterItemDTO’ komponenst, majd kattintson a Kimeneti leképezés lapra. Megnyílik a Kimeneti leképezés oldal. Ezen oldal segítségével leképezheti a forrásmezőket a céladatbázisban található célmezőkre. Vegye figyelembe, hogy a forrásmezők közé tartoznak a bemeneti adatfolyamhoz hozzáadott további mezők is. Állapot továbbítása az ETL feladatelemeknek: Minden parancsfájlnak tartalmaznia kell siker és sikertelenség esetére vonatkozó horgot, amelyek feltöltik a hibaszám (errCount) és a hibaüzenet (errMsg) munkaattribútumát, hogy jelentést tegyenek az állapotról a TRIRIGA rendszernek, amikor az átalakítás futtatásra kerül egy ETL feladatelemből. Erről a feladatról A hibaszám (errCount) munkaattribútum a futószalagfájl futtatásakor a rendszer által talált hibák számának felel meg. A hibaüzenet (errMsg) munkaattribútum a TRIRIGA naplóba kiírt hibaüzenetet jelenti. Eljárás 1. A futószalaghorgok hozzáadásához a szerkesztőterületen kattintson a Beállítások > Futószalaghorgok lehetőségre. 2. Jelölje be a Siker esetén és a Sikertelenség esetén horog melletti jelölőnégyzetet, majd kattintson a Bezárás gombra. 3. A következő kóddal módosítsa a Siker esetén horgot, hogy beállítsa az errCount és az errMsg munkaattribútumot. // A futószalag errCount és errMessage munkaattribútumának beállítása if (task.getResult() == null) { var result = system.newEntry(); result.errCount = errCount; result.errMsg=’A futószalag sikeresen végrehajtásra került.’; task.setWork(result); } else { work.errCount = errCount; work.errMsg=’A futószalag sikeresen végrehajtásra került.’; }
4. A következő kóddal módosítsa a Sikertelenség esetén horgot, hogy beállítsa az errCount és az errMsg munkaattribútumot. // A triDispatcher futószalag errCount és errMessage munkaattribútumának beállítása if (task.getResult() == null) { var result = system.newEntry(); result.errCount = 1; result.errMsg=’A futószalag végrehajtása sikertelen.’; task.setWork(result); }
46
© Copyright IBM Corp. 2011, 2015
else { work.errCount = 1; work.errMsg=’A futószalag végrehajtása sikertelen.’; }
Átalakítások tesztelése a Tivoli Directory Integrator rendszerben: Az egyes lépések utáni tesztelés egyszerűbbé teszi a hibakeresést. Futtatása előtt el kell végeznie az átalakítás mentését, mert ellenkező esetben a Tivoli Directory Integrator rendszer az utolsó mentés óta eszközölt módosítások nélkül hívja meg a futószalagot. Fejlesztése során a teljes futtatás mellett a komponensek egyenként történő bejárásával tesztelheti a futószalagot. A futószalag futtatásához két gomb áll rendelkezésre. A Futtatás a konzolon művelet elindítja a futószalagot és megjeleníti a kimenetet a konzolnézetben. A Hibakereső művelet a hibakeresővel futtatja a futószalagot. A futószalag elindításának folyamata az alábbi lépéseken halad át: 1. Ha a futószalag hibákat tartalmaz, például kimeneti leképezések hiányoznak, akkor a következő üzenettel a rendszer felszólítja a futószalag futtatásának megerősítésére: Ez a futószalag legalább egy hibával rendelkezik. Folytatja a futtatást? 2. A következő ellenőrzés a Tivoli Directory Integrator kiszolgáló rendelkezésre állását vizsgálja meg. Ha a kiszolgáló elérhetetlen, akkor a következő üzenetet fogja látni: A Default.tdiserver kiszolgálóval nem létesíthető kapcsolat. 3. Végezetül a Konfigurációszerkesztő eszköz átviszi a futási környezet konfigurációját a kiszolgálóra, majd megvárja, míg a futószalag elindul. Ebben a lépésben az ablak jobb felső részében láthatja a folyamatjelzőt. A futószalag leállítására szolgáló eszköztárgomb szintén le van tiltva, hiszen a futószalag még nem indult el. Miután már fut a futószalag, a folyamatjelző forogni kezd, a naplóablakban pedig megjelennek az üzenetek. Ekkor az eszköztár Leállítás műveletére kattintva állíthatja le a futószalagot. ETL parancsfájlok áthelyezése a Tivoli Directory Integrator alkalmazásból a TRIRIGA rendszerbe: Elkészítését és tesztelését követően az átalakítást fel kell tölteni a TRIRIGA ETL feladatelembe. Az alábbi grafika az ETL környezet és a TRIRIGA rendszer közötti adatfolyamot mutatja be.
2. fejezet Adatszerkezetek
47
A TRIRIGA adatbázis futószalag-kapcsolatainak beállítása: Mielőtt feltöltené a futási környezethez tartozó konfigurációs fájlt a TRIRIGA ETL feladatelem-rekordhoz, be kell állítania a TRIRIGA adatbázis futószalag-kapcsolatait a Tivoli Directory Integrator futószalagnak az inicializálás során átadandó paraméterekkel. Eljárás 1. Kattintson az Eszközök > Rendszerbeállítás > Általános > Alkalmazásbeállítások lehetőségre. 2. A Környezeti beállítások lap Futószalag-beállítások szakaszában konfigurálja az adatbázis futószalag-kapcsolatait. a. Kötelező: A TRIRIGA adatbázishoz való csatlakozásként állítsa be a DB-TRIRIGA értéket. Ha ez a kapcsolat nincs konfigurálva, akkor a Tivoli Directory Integrator rendszer ETL feladatelemei nem kerülnek futtatásra. b. Választható: Állítsa be a DB-OTHER értéket, ha Tivoli Directory Integrator rendszer futószalagjainak külső adatbázishoz kell csatlakozniuk. Mivel a DB-OTHER érték elhagyható, a TRIRIGA rendszer nem ellenőrzi annak beállítását. Emiatt a futószalagnak kell ellenőriznie a kapcsolat beállítását, mielőtt használatba veszi azt. 3. A csatlakozási adatok helyességének ellenőrzéséhez kattintson az Adatbázis-kapcsolat tesztelése lehetőségre. Futószalag-paraméterek lekérése: Miután beállításra kerültek a TRIRIGA adatbázis futószalag-kapcsolatai, a paraméterek lekérése érdekében módosítsa a futószalagot.
48
© Copyright IBM Corp. 2011, 2015
Eljárás 1. Nyissa meg a futószalagot inicializáló bevezető parancsfájlt. 2. A TRIRIGA-DB csatlakozási paraméterek lekéréséhez adja hozzá a következő utasításokat. var var var var var
op = task.getOpEntry(); jdbcTriURL = op.getString("jdbcTriURL"); jdbcTriDriver = op.getString("jdbcTriDriver"); jdbcTriUser = op.getString("jdbcTriUser"); jdbcTriPassword = op.getString("jdbcTriPassword");
3. Az OTHER-DB csatlakozási paraméterek lekéréséhez adja hozzá a következő utasításokat. var var var var var
op = task.getOpEntry(); jdbcOthURL = op.getString("jdbcOthURL"); jdbcOthDriver = op.getString("jdbcOthDriver"); jdbcOthUser = op.getString("jdbcOthUser"); jdbcOthPassword = op.getString("jdbcOthPassword");
4. Végezze el a módosítások mentését. ETL parancsfájlok áthelyezése a TRIRIGA rendszerbe: Miután összeállította az ETL parancsfájlt a Tivoli Directory Integrator rendszer Konfigurációszerkesztő eszközében, át kell helyeznie azt a TRIRIGA rendszerbe. Erről a feladatról A Tivoli Directory Integrator rendszer Konfigurációszerkesztő eszköze automatikusan a következő helyen tárolja a futási környezethez tartozó konfigurációs fájlt: munkaterület/projektnév/Runtime-projektnév/projektnév.xml. Eljárás 1. Hozzon létre egy ETL feladatelem-rekordot, amelyben a Feladatelem-típus mezőt Tivoli Directory Integrator átalakítás értékre állítja be. 2. Állítsa be a Futószalag neve mezőt a konfigurációs fájl betöltése után elindítani kívánt futószalag nevére. 3. A Konfigurációszerkesztő eszközben létrehozott futásikörnyezet-konfigurációs fájl feltöltésével állítsa be az Átalakítási fájl mezőt. 4. Választható: Ha ETL átalakítása bemenetként fájlokat igényel, akkor társítsa azokat erőforrásfájlokként az ETL feladatelemhez. Ha például ETL átalakításának egy táblázatfájlból kell adatokat feldolgoznia, akkor azt erőforrásfájlként kell társítania. a. Az Erőforrásfájl szakaszban kattintson a Hozzáadás gombra. b. Állítsa be az Erőforrás neve mezőt egy olyan névre, amely az erőforrásfájl azonosításához kerül felhasználásra. Ez a név részét képezi majd azon ideiglenes erőforrásfájl nevének, amelyet a TRIRIGA rendszer küld el az ETL átalakításnak. Ez akkor hasznos, ha több erőforrásfájlt társít egy ETL feladatelemhez, mivel lehetővé teszi az ETL átalakításnak több számára küldött fájl név alapján történő azonosítását. c. Az Erőforrásfájl mező beállításához kattintson a mező mellett az Erőforrásfájl feltöltése ikonra, határozza meg a fájl helyét, majd a fájl Erőforrásfájl mezőbe való feltöltéséhez kattintson az OK gombra. A Tivoli Directory Integrator rendszernek átadott változók: A TRIRIGA rendszer számos bemeneti változót ad át a Tivoli Directory Integrator ETL műveleteknek.
2. fejezet Adatszerkezetek
49
A változók futószalagokban történő felhasználásához azokat a Tivoli Directory Integrator getOpEntry() felületen keresztül érheti el. Például: var op = task.getOpEntry(); var jdbcTriURL = op.getString("jdbcTriURL"); A TRIRIGA rendszer kinyeri a mezőértékeket az ETL feladatelem-rekordból, majd bemeneti paraméterekként adja át azokat. A támogatott mezőtípusok a következők: szöveg, logikai, dátum, dátum és időpont, helymeghatározók és számok. Minden ilyen típusú ETL feladatelem-mező változóként kerül átadásra. Ha az ETL feladatelem a következő mezőkkel rendelkezik, akkor a második táblázatban lévő változók kerülnek a Tivoli Directory Integrator rendszernek átadásra: 6. táblázat: ETL feladatelem-mezők Mező neve
Mezőcímke
Mezőtípus
triActiveEndDA
Aktív befejező dátum
Dátum
triActiveStartDA
Aktív kezdő dátum
Dátum
triControlNumberCN
Ellenőrzőszám
Ellenőrzőszám
triCreatedByTX
Létrehozó
Szöveg
triLocator
triLocator
Szöveg
triNameTX
Név
Szöveg
triTransformBI
Átalakítási fájl
Bináris
A Tivoli Directory Integrator rendszernek átadott változók a következők: 7. táblázat: A Tivoli Directory Integrator rendszernek átadott változók Tivoli Directory Integrator rendszernek átadott változó Leírás
50
triNameTX
(Szöveg)
triActiveStartDA
(Szám) Az 1970. január 1-je óta a dátumig eltelt idő ezredmásodpercben
triActiveStartDA_DATE
(Dátum) Oracle vagy DB2 rendszer esetén átalakítva, az attribútumhoz tartozó időpont
triActiveStartDA_MinDATE
(Dátum) Oracle vagy DB2 rendszer esetén átalakítva, az időpont: 00:00:00
triActiveStartDA_MaxDATE
(Dátum) Oracle vagy DB2 rendszer esetén átalakítva, az időpont: 23:59:59
triActiveStartDA_Min
(Szám) Az 1970. január 1-je óta a dátumig eltelt idő ezredmásodpercben, az időpont: 00:00:00
triActiveStartDA_Max
(Szám) Az 1970. január 1-je óta a dátumig eltelt idő ezredmásodpercben, az időpont: 23:59:59
triActiveEndDA
(Szám) Az 1970. január 1-je óta a dátumig eltelt idő ezredmásodpercben
triActiveEndDA_DATE
(Dátum) Oracle vagy DB2 rendszer esetén átalakítva, az attribútumhoz tartozó időpont
triActiveEndDA_MinDATE
(Dátum) Oracle vagy DB2 rendszer esetén átalakítva, az időpont: 00:00:00
triActiveEndDA_MaxDATE
(Dátum) Oracle vagy DB2 rendszer esetén átalakítva, az időpont: 23:59:59
triActiveEndDA_Min
(Szám) Az 1970. január 1-je óta a dátumig eltelt idő ezredmásodpercben, az időpont: 00:00:00
© Copyright IBM Corp. 2011, 2015
7. táblázat: A Tivoli Directory Integrator rendszernek átadott változók (Folytatás) Tivoli Directory Integrator rendszernek átadott változó Leírás triActiveEndDA_Max
(Szám) Az 1970. január 1-je óta a dátumig eltelt idő ezredmásodpercben, az időpont: 23:59:59
triCreatedByTX
(Szöveg)
triRunDATE
(Szám) Az egyéni munkafolyamat-feladat által beállított futtatási dátum
triLocator
(Szöveg – helymeghatározó) Ez egy keresőmező, amely egy másik üzleti objektumra mutató hivatkozást tartalmaz. Ez a változó tartalmazza az adott rekord mezőjének szöveges értékét.
triLocator_IBS_SPEC
(Szöveg - helymeghatározó) A triLocator mezőben szereplő rekord spec_id azonosítóját tartalmazza. Ezen spec_id azonosító segítségével keresheti meg az adott rekordhoz kapcsolódó információkat az egyéb adatbázistáblákban.
triAssemblyLineNameTX
Az elsődleges futószalag neve a futtatni kívánt ETL átalakításban
A TRIRIGA rendszer erőforrásfájl-változókat is átad. Az erőforrásfájlok a ETL átalakítás által bemenetként megkövetelt fájlokat jelentik. Ha például az ETL átalakításnak egy vesszővel elválasztott értékeket tartalmazó (.csv) fájlból kell adatokat feldolgoznia, akkor az átalakításnak tudnia kell futása során, hogy hol és miként hivatkozhat a kérdéses fájlra. Ha az ETL feladatelem két társított erőforrásfájl-rekorddal rendelkezik, akkor ezekben az alábbi mezők egyaránt megtalálhatók: 8. táblázat: Erőforrásfájl-rekordokhoz társított mezők Mező neve
Mezőcímke
Mezőtípus
triResourceNameTX
Az erőforrásfájl azonosításához használt név
Szöveg
triResourceFileBI
Az erőforrásfájl tartalma
Bináris
A Tivoli Directory Integrator rendszernek ezen erőforrásfájl-rekordok esetén a következő változók kerülnek átadásra: 9. táblázat: A Tivoli Directory Integrator rendszernek átadott változók Tivoli Directory Integrator rendszernek átadott változó Leírás RESOURCE_1
Az erőforrásfájl teljes képzésű fájlneve. A fájlnév a triResourceNameTX mezőből származó értéket tartalmazza, hogy elősegítse az ETL átalakításnak annak azonosítását
RESOURCE_2
A másik erőforrásfájl teljes képzésű fájlneve. A fájlnév a triResourceNameTX mezőből származó értéket tartalmazza, hogy elősegítse az ETL átalakításnak annak azonosítását
2. fejezet Adatszerkezetek
51
10. táblázat: A TRIRIGA rendszer az Alkalmazásbeállítások között meghatározott JDBC bemeneti változókat is átadja. Tivoli Directory Integrator rendszernek átadott változó Leírás jdbcTriURL
A TRIRIGA adatbázis-illesztőprogram URL címe
jdbcTriDriver
A TRIRIGA adatbázis-illesztőprogram neve
jdbcTriUser
A TRIRIGA adatbázis felhasználóneve
jdbcTriPassword
A TRIRIGA adatbázis jelszava
jdbcOthURL
Egyéb adatbázis illesztőprogramjának URL címe
jdbcOthDriver
Egyéb adatbázis illesztőprogramjának neve
jdbcOthUser
Egyéb adatbázis felhasználóneve
jdbcOthPassword
Egyéb adatok
ETL parancsfájlok hibakeresése az alkalmazásban: Az ETL parancsfájlok alkalmazásban történő hibakereséséhez először be kell állítania a naplózást, majd a naplóinformációk megjelenítéséhez aktiválnia kell a RunETL egyéni munkafolyamat-feladatot. Naplózás beállítása: A TRIRIGA rendszer hibakeresési képességeket biztosít arra az esetre, amikor az ETL parancsfájlok futtatásra kerülnek a TRIRIGA alkalmazásban. Eljárás 1. Az Adminisztrátori konzolon válassza ki a Platformnaplózás felügyelt objektumot. Ezután válassza ki az ETL naplózás bekapcsolására szolgáló beállítást. 2. Válassza az ETL kategória > Átalakítások > Átalakítás futtatása menüpontot, ha be szeretné kapcsolni a hibakeresés naplózását az ETL feladatelemeket feldolgozó TRIRIGA platform kódjában. A naplóüzenetek a server.log naplófájlban jelennek meg. 3. Válassza az ETL kategória > Átalakítások > Tivoli Directory Integrator menüpontot, ha a Tivoli Directory Integrator futószalagokban be szeretné kapcsolni a hibakeresés naplózását. A naplóüzenetek a futószalaghoz tartozó naplófájlban jelennek meg. Minden egyes futószalag saját naplófájllal rendelkezik. 4. Alkalmazza a módosításokat. Ezután az ETL parancsfájlok futtatásakor az ETL műveletekhez kapcsolódó információk kiírásra kerülnek a kiszolgáló- vagy futószalagnaplóba. Fontos: A naplókban található információk nagy mennyisége miatt állítsa be úgy a Tivoli Directory Integrator naplózást, hogy csak az ETL feladatelem egy végrehajtása esetében végezzen hibakeresést. Hibakeresés ETL feladatok segítségével: Miután beállította a naplózást, a naplókban szereplő információk megtekintése érdekében aktiválnia kell a RunETL egyéni munkafolyamat-feladatot.
52
© Copyright IBM Corp. 2011, 2015
Eljárás Ha az ETL feladatelemet használja, akkor egyszerűen kattintson a Folyamat futtatása műveletre az adott űrlapon. Ne felejtse kitölteni az űrlap azon mezőértékeit, amelyekre az ETL parancsfájl számíthat. Megjegyzés: A Folyamat futtatása műveletet csak hibakeresési célokra használja. Éles környezetben használja helyette a feladatütemezőt. Vegye figyelembe, hogy a Folyamat futtatása művelet frissíteni fogja a táblákat az adatbázisban, így ne használja ezt a műveletet éles környezetben. Példa A következők a kiszolgálónapló mintakimenetét mutatják be: 2014-03-27 13:18:10,427 HIBAKERESÉS [com.tririga.platform.workflow.runtime. taskhandler.ETL.RunETL] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) Belépés: getETLVarsFromFields ... 2014-03-27 13:18:10,431 HIBAKERESÉS [com.tririga.platform.workflow.runtime. taskhandler.ETL.RunETL] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) Kilépés: getETLVarsFromFields 2014-03-27 13:18:10,431 HIBAKERESÉS [com.tririga.platform.workflow.runtime. taskhandler.ETL.RunETL] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) Belépés: getETLVarsFromResourceFiles 2014-03-27 13:18:10,432 HIBAKERESÉS [com.tririga.platform.workflow.runtime. taskhandler.ETL.RunETL] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) Kilépés: getETLVarsFromResourceFiles 2014-03-27 13:18:10,432 HIBAKERESÉS [com.tririga.platform.workflow.runtime. taskhandler.ETL.RunETL] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) Következő típusú feladatelem feldolgozása = Tivoli Directory Integrator átalakítás 2014-03-27 13:18:10,432 HIBAKERESÉS [com.tririga.platform.workflow.runtime. taskhandler.ETL.RunETL] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) Belépés: transformRecordTDI 2014-03-27 13:18:10,474 HIBAKERESÉS [com.tririga.platform.workflow.runtime. taskhandler.ETL.TDIRequest] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) Belépés: init 2014-03-27 13:18:10,474 HIBAKERESÉS [com.tririga.platform.workflow.runtime. taskhandler.ETL.TDIRequest] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) Kilépés: init 2014-03-27 13:18:10,483 HIBAKERESÉS [com.tririga.platform.workflow.runtime. taskhandler.ETL.RunETL] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) *** ETL változó = triIdTX : triLoadMeterData 2014-03-27 13:18:10,483 HIBAKERESÉS [com.tririga.platform.workflow.runtime. taskhandler.ETL.RunETL] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) *** ETL változó = triAssemblyLineNameTX : triLoadMeterData ... 2014-03-27 13:18:10,483 HIBAKERESÉS [com.tririga.platform.workflow.runtime. taskhandler.ETL.RunETL] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) *** ETL változó = triNameTX : Mérőberendezés-cikk állomásoztatási tábla betöltése 2014-03-27 13:18:10,488 HIBAKERESÉS [com.tririga.platform.workflow.runtime. taskhandler.ETL. DataSourceConnectionInfoImpl] (WFA:221931 - 15290804 2. fejezet Adatszerkezetek
53
triProcessManual:305676189 IE=305676189) Belépés: init 2014-03-27 13:18:10,495 HIBAKERESÉS [com.tririga.platform.workflow.runtime. taskhandler.ETL. DataSourceConnectionInfoImpl] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) Kilépés: init 2014-03-27 13:18:10,495 HIBAKERESÉS [com.tririga.platform.workflow.runtime. taskhandler.ETL. DataSourceConnectionInfoImpl] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) Belépés: init 2014-03-27 13:18:10,496 HIBAKERESÉS [com.tririga.platform.workflow.runtime. taskhandler.ETL. DataSourceConnectionInfoImpl] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) Kilépés: init 2014-03-27 13:18:10,497 INFORMÁCIÓK [com.tririga.platform.workflow.runtime. taskhandler.ETL.RunETL] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) TDI naplózási szint beállítása Hibakeresés értékre. 2014-03-27 13:18:10,503 HIBAKERESÉS [com.tririga.platform.workflow.runtime. taskhandler.ETL. LogSettingsServiceImpl] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) Belépés: getLogSettings 2014-03-27 13:18:10,503 HIBAKERESÉS [com.tririga.platform.workflow.runtime. taskhandler.ETL. LogSettingsServiceImpl] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) A rendszer a következőt találta: DailyRollingFileAppender. 2014-03-27 13:18:10,503 HIBAKERESÉS [com.tririga.platform.workflow.runtime. taskhandler.ETL. LogSettingsServiceImpl] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) Kilépés: getLogSettings 2014-03-27 13:18:10,503 HIBAKERESÉS [com.tririga.platform.workflow.runtime. taskhandler.ETL.TDIRequest] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) Belépés: send 2014-03-27 13:18:14,396 HIBAKERESÉS [com.tririga.platform.workflow.runtime. taskhandler.ETL.TDIRequest] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) Kilépés: send 2014-03-27 13:18:14,396 INFORMÁCIÓK [com.tririga.platform.workflow.runtime. taskhandler.ETL.RunETL] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) RunETL kérés visszaadva a következő helyről: TDI kiszolgáló változata: 7.1.1.3 - 2013-12-06 a következő gazdagépen fut: i3650x3cr2 2014-03-27 13:18:14,396 INFORMÁCIÓK [com.tririga.platform.workflow.runtime. taskhandler.ETL.RunETL] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) RunETL: Előkészítés=2014/03/27 13:18:10.475 Indítás=2014/03/27 13:18:10.503 Leállítás=2014/03/27 13:18:14.396 2014-03-27 13:18:14,396 INFORMÁCIÓK [com.tririga.platform.workflow.runtime. taskhandler.ETL.RunETL] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) RunETL: Feldolgozás befejezve 3 másodperc elteltével. 2014-03-27 13:18:14,396 HIBAKERESÉS [com.tririga.platform.workflow.runtime. taskhandler.ETL.RunETL] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) Kilépés: transformRecordTDI
A következők a futószalagnapló mintáját mutatják be:
54
© Copyright IBM Corp. 2011, 2015
2014-03-27 13:18:11,062 INFORMÁCIÓK [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] CTGDIS967I Futószalag elindítva a következő által: triLoadMeterData_1395951491025. 2014-03-27 13:18:11,063 INFORMÁCIÓK [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] CTGDIS255I Futószalag AssemblyLines/triLoadMeterData elemei elindítva. 2014-03-27 13:18:11,073 HIBAKERESÉS [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] CTGDIS089I Aktuális statisztika: Időtartam=0, Hibák maximális száma=0, Beolvasások maximális száma=0 2014-03-27 13:18:11,073 HIBAKERESÉS [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] CTGDIS069I Kapcsolatok betöltése. ... 2014-03-27 13:18:14,384 HIBAKERESÉS [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] triLoadMeterData - Siker esetén belépés 2014-03-27 13:18:14,384 INFORMÁCIÓK [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] triLoadMeterData - Siker esetén feldolgozás sikerült 2014-03-27 13:18:14,384 INFORMÁCIÓK [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] triLoadMeterData - Siker esetén ---------------------------------------------------------------------------2014-03-27 13:18:14,384 INFORMÁCIÓK [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] triLoadMeterData - Siker esetén feldolgozási összegzés 2014-03-27 13:18:14,384 INFORMÁCIÓK [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] triLoadMeterData - Siker esetén rowsProcessed = 360 2014-03-27 13:18:14,384 INFORMÁCIÓK [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] triLoadMeterData - Siker esetén stagingTableWriteRowSuccess = 360 2014-03-27 13:18:14,384 INFORMÁCIÓK [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] triLoadMeterData - Siker esetén stagingTableWriteRowFail = 0 2014-03-27 13:18:14,384 INFORMÁCIÓK [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] triLoadMeterData - Siker esetén rowsSkipped = 0 2014-03-27 13:18:14,384 INFORMÁCIÓK [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] triLoadMeterData - Siker esetén rowsNotValid = 0 2014-03-27 13:18:14,384 INFORMÁCIÓK [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] triLoadMeterData - Siker esetén dcJobsToReadyState = 0 2014-03-27 13:18:14,384 INFORMÁCIÓK [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] triLoadMeterData - Siker esetén createdDT = 1395951491088 2014-03-27 13:18:14,384 INFORMÁCIÓK [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] triLoadMeterData - Siker esetén finishedDT = 1395951494384 2014-03-27 13:18:14,384 INFORMÁCIÓK [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] triLoadMeterData - Siker esetén seconds = 3 2014-03-27 13:18:14,384 INFORMÁCIÓK [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] triLoadMeterData - Siker esetén secondsPerRecord = 0.01 2014-03-27 13:18:14,384 INFORMÁCIÓK [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] triLoadMeterData - Siker esetén ---------------------------------------------------------------------------2014-03-27 13:18:14,386 HIBAKERESÉS [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] triLoadMeterData - Siker esetén kilépés 2014-03-27 13:18:14,386 INFORMÁCIÓK [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9]
2. fejezet Adatszerkezetek
55
CTGDIS116I A siker esetére vonatkozó horogtípus befejeződött. 2014-03-27 13:18:14,386 INFORMÁCIÓK [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] CTGDIS080I Sikeresen leállítva (0 hiba).
Teljesítményhangolási tippek: A teljesítmény javításához az alábbi információkat veheti igénybe. Amikor már pályára állította az ETL folyamatot, és az már úgy működik, ahogyan elvárja tőle, végezze el az alapkonfiguráció teljesítményének mérését. 1. A Tivoli Directory Integrator rendszer Konfigurációszerkesztő eszköze segítségével futtassa az ETL folyamatot egy olyan adatbázison, ahol már több ezer sort adott hozzá a ténytáblához. 2. Gondoskodjék az adatbázis-kapcsolat használatáról, a Tivoli Directory Integrator átalakítást pedig azon a hálózaton futtassa, ahol az adatbázis működik, így nem kell hálózati késleltetéssel számolnia. Ne futtassa virtuális magánhálózaton keresztül. 3. Vizsgálja felül a futás naplózott információit. Például a triLoadMeterData ETL művelet futtatása esetén tekintse át a triLoadMeterData.log naplófájl tartalmát. A futás elemzése: 1. Elemezze a futási eredményeket. Van olyan lépés, amely lassabb a többinél? 2. Lassú az adatbeviteli lépés? Fel kell venni egy indexet az adatbázisba? Ha igen, végezze el az index hozzáadását, majd futtassa újra. Javult a teljesítmény? Talán szűrőlépést kellene használni ahelyett, hogy az adatbázis szűrné az eredményhalmazt. Tippek az ETL műveletek fejlesztésére: v Kerülje az összetett SQL kód, valamint a COUNT, MIN, MAX és SUM összesítési függvények használatát. Amennyiben használnia kell ezeket, úgy vizsgálja meg, hogy egy index javítana-e valamit az adatbeviteli lépésen. Ne hozzon létre nagyméretű VARCHAR mezőre épülő indexet, mivel az SQL Server rendszer csak < 900 byte méretű indexeket tud kezelni. v Lehetőség szerint kerülje a logikai OR (vagy) és NOT (nem) operátort, valamint az (IBM TRIRIGA adatbázisokban M_táblanév jelölésű) nézetek használatát.
ETL átalakítások futtatása A TRIRIGA rendszer Feladatütemező eszköze segítségével futtathatja azokat az ETL feladatelemeket és feladatcsoportokat, amelyek az adatok TRIRIGA ténytáblákba vagy simított hierarchiatáblákba való áthelyezésére szolgálnak.
ETL feladatelemek, feladatcsoportok és feladatütemezők Az ETL feladatelemek olyan ETL átalakítási parancsfájlokat vagy hierarchia-újraépítési folyamatokat határoznak meg, amelyek a TRIRIGA adatbázisból rögzítenek információkat, majd átalakítják és ténytáblákba töltik azokat. Az ETL feladatcsoportok egyszerűen az ETL feladatelemek gyűjteményei. A feladatütemezők határozzák meg, hogy mikor kerüljön sor az ETL feladatelemek és -csoportok futtatására. A hozzájuk társított feladatok futtatásához aktiválni kell az egyes feladatütemezéseket. A TRIRIGA Workplace Performance Management elemzési/jelentéskészítési eszköz a sima hierarchiatáblákban szereplő adatok alapján csoportosított ténytáblák lekérdezése segítségével számítja ki a jelentések és diagramok előállításához használt mutatószámokat. A feladatütemező az ETL feladatelemek felhasználásával aktiválja a forrástáblákból, így például a TRIRIGA üzletiobjektum-táblákból adatokat kinyerő, majd azokat a ténytáblákba betöltő munkafolyamatokat. Az ETL feladatelemek a sima hierarchiák frissítésére is használhatók.
56
© Copyright IBM Corp. 2011, 2015
Az ETL feladatelemek három típusa létezik a TRIRIGA Workplace Performance Management rendszerben: Kettle átalakítás TRIRIGA üzletiobjektum-táblákból nyer ki és TRIRIGA Workplace Performance Management ténytáblákba tölt be adatokat. Tivoli Directory Integrator átalakítás TRIRIGA üzletiobjektum-táblákból, illetve külső forrásokból származó táblákból nyer ki és TRIRIGA Workplace Performance Management ténytáblákba tölt be adatokat. Hierarchia újraépítése TRIRIGA üzletiobjektum-táblákból nyer ki és simított TRIRIGA Workplace Performance Management hierarchiatáblákba tölt be adatokat.
ETL feladatelemek létrehozása vagy módosítása Az ETL feladatelemek a TRIRIGA adatbázisból információkat rögzítő, majd azokat átalakító és tény-, valamint simított hierarchiatáblákba betöltő parancsfájlokat határozzák meg.
Eljárás 1. Kattintson az Eszközök > Rendszerbeállítás > Feladatütemezés > ETL feladatelem menüpontra. 2. Válasszon ki egy meglévő feladatelemet, vagy kattintson a Hozzáadás gombra. 3. Az Általános szakaszban adja meg az ETL feladatelem azonosítóját. Foglalja bele a ténytábla nevét az Azonosító mezőbe. A státuszt a TRIRIGA rendszer adja meg az ETL feladatelem létrehozásakor. 4. Adja meg az ETL feladatelem nevét és leírását. A Részletek szakaszban a Feladatelem-osztály mezőt a TRIRIGA rendszer ETL értékre állítja be. 5. Válassza ki a Feladatelem-típus értékét. 6. Ha a feladatelem-típus Hierarchia újraépítése értékű, akkor tegye a következőket. a. Adja meg a hierarchia modulnevét. Ha megadásra kerül, akkor ennek egy TRIRIGA rendszerben meghatározott hierarchiával rendelkező modulnak kell lennie (például: Hely). Ezen ETL feladatelem futtatásakor a modul minden sima hierarchiája újraépítésre kerül. b. Adja meg a hierarchia nevét. Ezen ETL feladatelem futtatásakor az üzleti objektum sima hierarchiája újraépítésre kerül. Ha megadásra kerül, akkor a hierarchia neve elsőbbséget élvez a hierarchia modulnevével szemben. c. A TRIRIGA rendszer figyelmen kívül hagyja a naptári időszak, pénzügyi időszak, valamint a Részletek szakaszban szereplő egyéb dátummezők megadott információit. d. Az adott modul valamennyi sima hierarchiájának újraépítéséhez határozza meg a hierarchia modulnevét, és hagyja üresen a hierarchia nevét. e. Egyetlen sima hierarchia újraépítéséhez a hierarchia modulnevét és a hierarchia nevét egyaránt határozza meg. f. Amennyiben a hierarchia modulneve és a hierarchia neve egyformán üres, vagy valamelyikük a Mind értéket tartalmazza, úgy az összes sima hierarchia újraépítésre kerül. 7. Ha a feladatelem-típus Kettle átalakítás vagy TDI átalakítás értékű, akkor tegye a következőket. a. A fájl tallózással történő megkeresése és kiválasztása révén határozza meg az átalakítási fájlt. A TRIRIGA rendszer elvárja, hogy a Kettle átalakításhoz tartozó fájl .ktl vagy .xml, a Tivoli Directory Integrator átalakításhoz tartozó fájl pedig .xml formátumú legyen.
2. fejezet Adatszerkezetek
57
b. Választható: Miután feltöltötte az átalakítási fájlt, a Tartalom megjelenítése gombra kattintva tekintheti azt meg. 8. Amikor a feladatelem-típus TDI átalakítás értékű, akkor adja meg a futószalag nevét. 9. Ha a feladatelem-típus Kettle átalakítás értékű: a. Adja meg a modulneveket. Ha több név is megadásra kerül, akkor azokat vesszővel kell elválasztani. v A rendszer minden egyes modulnevet a következő formátumban alakít változóvá az átalakítási fájl számára: ${Module.<modulnév>.ViewName}, ahol a <modulnév> a modul megnevezése. v Az ETL művelet számára átadott egyes változók értéke az adott modulhoz tartozó nézet nevének felel meg. A változó értéke akkor használható, ha az ETL műveletnek ismernie kell az adott modul nézetnek nevét. b. Adja meg az üzletiobjektum-neveket. Ha több üzletiobjektum-nevet is meghatároz, akkor a neveket vesszővel kell egymástól elválasztania. v A rendszer minden egyes üzletiobjektum-nevet a következő formátumban alakít változóvá az átalakítási fájl számára: ${BO.<üzletiobjektum-név>.TableName}, ahol az <üzletiobjektum-név> az üzleti objektum megnevezése. v Az üzleti objektum egyedisége nem garantálható az adatbázisban, hacsak befoglalásra nem kerül a modul neve. Ha nem egyedileg megnevezett üzleti objektumot használ, akkor foglalja bele a modulnevet a vesszővel elválasztott listába. Használja a következő szintaxist: <modulnév>::<üzletiobjektum-név>, ahol a <modulnév> a modul, az <üzletiobjektum-név> pedig az üzleti objektum megnevezése. v A változók a következőként kerülnek az átalakítási fájl számára megadásra: ${BO.<modulnév>::<üzletiobjektum-név>.TableName}. Az egyes változók értéke az adott üzleti objektumhoz tartozó tábla nevének felel meg. A változó értéke akkor használható, ha az ETL műveletnek ismernie kell az adott üzleti objektum táblájának nevét. 10. Ha a feladatelem-típus Kettle átalakítás vagy TDI átalakítás értékű, akkor tegye a következőket. a. Az ETL feladatelemek jellemzően legalább egy feladatütemezés irányítása alatt kerülnek futtatásra. b. Az ETL feladatelem egységteszteléséhez állítsa be a Részletek szakaszban szereplő dátumparamétereket. c. A következő dátumparaméterek az ETL műveletektől függnek: míg egyes ETL műveletek használják az információkat, addig mások nem. A dátumparaméterek felülírásra kerülnek, amikor a feladatütemező futtatja az ETL feladatelemeket. v A feladat naptári időszakát tartalmazó változó átadásához válassza a Naptári időszak lehetőséget. v A feladat pénzügyi időszakát tartalmazó változó átadásához válassza a Pénzügyi időszak lehetőséget. A pénzügyi időszakot a TRIRIGA Workplace Performance Management ténytáblák Rögzítési időszak mezője használja. v A feladat dátumrekordját tartalmazó változó átadásához válassza a Dátum lehetőséget. A dátumrekord a TRIRIGA Workplace Performance Management ténytáblák Dátumdimenzió mezőjének időbélyeggel való ellátásához kerül felhasználásra. v A feladat dátumát tartalmazó változó átadásához válassza a Dátum lehetőséget. Adja meg a dátumot, vagy kattintson a Naptár ikonra és válasszon ki egy dátumot.
58
© Copyright IBM Corp. 2011, 2015
v Válassza ki a Kezdő dátum értéket az első adatrögzítés dátumának meghatározásához, valamint a feladat kezdő dátumát tartalmazó változó átadásához. Adja meg a dátumot, vagy kattintson a Naptár ikonra és válasszon ki egy dátumot. v Válassza ki a Befejező dátum értéket az utolsó adatrögzítés dátumának meghatározásához, valamint a feladat befejező dátumát tartalmazó változó átadásához. Adja meg a dátumot, vagy kattintson a Naptár ikonra és válasszon ki egy dátumot. 11. A Mutatószámok szakasz az ezen ETL feladatelemhez tartozó naplózási adatokat foglalja össze. Az Átlagos időtartam a Teljes időtartam, valamint a Futtatások száma alapján (Teljes időtartam / Futtatások száma) kerül kiszámításra. 12. A Naplók szakasz az ETL feladatelem egyes futtatási alkalmaiból származó időpontot és státuszt jeleníti meg. Ezek az adatok a Mutatószámok szakaszban kerülnek összesítésre. 13. Kattintson a Vázlat létrehozása lehetőségre. 14. Kattintson az Aktiválás gombra.
Eredmények Az ETL feladatelem-rekord létrehozásra került és készen áll arra, hogy befoglalja azt egy feladatcsoportba és/vagy feladatütemezésbe.
Mi a következő lépés? Az egységteszteléshez kattintson a Folyamat futtatása műveletre az ETL feladatelemben megadott Kettle vagy Tivoli Directory Integrator átalakítási, illetve a hierarchia-újraépítési folyamat aktiválásához.
Feladatcsoportok hozzáadása vagy módosítása A feladatütemezés egyszerűbbé tétele érdekében használjon feladatcsoportokat az azonos ütemezés szerint futtatandó ETL feladatelemekből álló gyűjtemények kialakításához.
Eljárás 1. Kattintson az Eszközök > Rendszerbeállítás > Feladatütemezés > Feladatcsoport menüpontra. 2. Válasszon ki egy meglévő feladatcsoportot, vagy kattintson a Hozzáadás gombra. 3. A Feladatcsoport űrlapon adja meg a feladatcsoport nevét és leírását. 4. A Feladatelemek szakaszban adjon hozzá vagy távolítson el ETL feladatelemeket a feladatcsoportból a Keresés vagy az Eltávolítás művelettel. 5. Választható: Állítsa be a feladatelemek sorrendjét. 6. Kattintson a Létrehozás gombra.
Eredmények A feladatcsoport-rekord rendelkezésre áll abból a célból, hogy befoglalják egy feladatütemezésbe.
Feladatütemezők létrehozása vagy módosítása A feladatütemezők segítségével azt ütemezheti, hogy a TRIRIGA rendszer mikor futtatja az ETL feladatelemeket és feladatcsoportokat. A feladatok ütemezésével óránkénti, napi, heti vagy havi rendszerességgel futtathatja a feladatokat.
2. fejezet Adatszerkezetek
59
Mielőtt elkezdené Bár a TRIRIGA rendszer előre meghatározott feladatütemezőket tartalmaz, addig nem kerülnek feladatok ütemezésre, amíg nem módosítja az előre meghatározott feladatütemezőket, illetve kezdő és befejező dátummal rendelkező új feladatütemezőt nem hoz létre, majd az Aktiválás gombra nem kattint.
Eljárás 1. Kattintson az Eszközök > Rendszerbeállítás > Feladatütemezés > Feladatütemező menüpontra. 2. Válasszon ki egy meglévő feladatütemezőt, vagy kattintson a Hozzáadás gombra. 3. Adja meg a feladatütemező nevét és leírását. 4. Az Ütemezés szakaszban szereplő listáról válassza ki az Ütemezés típusa gyakoriságát. v Ha a Napi ütemezési típust választja, akkor megjelenik az Óránkénti és a Minden mező. Kattintson az Óránkénti jelölőnégyzetre a feladatok óránkénti futtatásra való ütemezéséhez, majd kattintson a Minden mezőre, hogy megadja az egyes ütemezett futtatások közötti órák számát. v Ha a Speciális ütemezési típust választja, akkor megjelenik az Ismétlődésminta mező az Ütemezés szakaszban. Kattintson az Ismétlődésminta mezőre a Feladatesemény űrlap megnyitásához, amely rugalmas beállításokat biztosít a feladatütemezés számára. 5. Választható: Az Ütemezés szakaszban jelölje be a Történeti rögzítések futtatása? jelölőnégyzet annak jelzéséhez, hogy szerepeltetni kell a történeti adatokat az ezen feladatütemezésben szereplő tevékenységek eredményéből kiszámított mutatószámokban. A feladatütemezés aktiválásakor ez a beállítás utasítja a feladatütemezőt arra, hogy állítsa elő és futtassa azokat a feladatokat, ahol az ütemezési dátum korábbi, mint a mai dátum. Az időkeret vagy időszak paraméterei, például a kezdő dátum, befejező dátum és pénzügyi időszak a történeti rögzítés szimulálása érdekében átadásra kerülnek az egyes feladatelemeknek. Mivel azonban a folyamat most fut, a sikeres kimenet teljes egészében attól függ, hogy az ETL parancsfájlok miként használják ezeket a paramétereket. A történeti rögzítések futtatása speciális beállítás, ami az egyes parancsfájlok működésének teljes körű megértését igényli. 6. Válassza ki az első rögzítés kezdő, illetve az utolsó rögzítés befejező dátumát, valamint a rögzítési várakozás értékét, amely az egyes rögzítések befejező dátumától kezdve azt az időmennyiséget jelenti, ameddig a rendszer a feladatot feldolgozó munkafolyamatok indítására vár. Minden adatrögzítési időszak a kezdő dátum és az ütemezési típus felhasználásával számítható ki. A rendszer azonnal aktiválja az ETL feladatelemek futtatására szolgáló munkafolyamatot, miután eltelt az egyes rögzítési időszakok befejezésétől számított várakozási időtartam. Ha például a kezdő dátum 01/01/2014, az ütemezési típus havi, a rögzítési várakozás pedig egy nap, akkor a következő események kerülnek ütemezésre: 11. táblázat: A hónap kezdetétől ütemezett feladatfuttatások Feladatfuttatások - pontosan éjfél után
Rögzített adatok befejező Rögzített adatok kezdő dátuma dátuma
02/01/2014
01/01/2014
01/31/2014
03/01/2014
02/01/2014
02/28/2014
04/01/2014
03/01/2014
03/31/2014
A befejező dátum az utolsó rögzítendő eseményt határozza meg. Ha az előző példa szerint 03/15/2014 volt a befejező dátum, akkor az utolsó esemény ütemezése a következő lesz:
60
© Copyright IBM Corp. 2011, 2015
12. táblázat: A hónap közepétől ütemezett feladatfuttatások Feladatfuttatások - pontosan éjfél után
Rögzített adatok befejező Rögzített adatok kezdő dátuma dátuma
03/16/2014
03/01/2014
03/15/2014
v Bejelölése esetén a Rögzítési időszak visszaállítása? jelölőnégyzet minden feladatfuttatás alkalmával kikényszeríti a rendszerben a rögzítési időszak aktuális voltának megőrzését. v Ha például egy aktivált feladatütemező havi ütemezési típussal került beállításra, akkor a rendszer minden hónapban aktiválódik és elvégzi a rekordban szereplő feladatelemek futtatását. Ha bejelölésre került a feladatütemező Rögzítési időszak visszaállítása? értéke, akkor az aktiválódás során a rendszer meggyőződik arról, hogy a rögzítési időszak az aktiválási dátum alapján megfelelően került beállításra. v Ha a feladatelemek és/vagy feladatcsoportok meghatározásakor aktiválta ezt a feladatütemezési rekordot, akkor a feladatütemezéshez tartozó ütemezett események listája megjelenik az Ütemezett feladatok szakaszban. 7. A Feladatelemek szakaszban a Keresés vagy Eltávolítás művelet segítségével választhatja ki az ütemezésbe befoglalandó ETL feladatelemeket és -csoportokat. Ha végzett, kattintson az OK gombra. A feladatelemek a Sorrend oszlopban megadott sorrendben kerülnek futtatásra. v A feladatütemezés aktiválásakor a Mutatószámok szakasz az feladatütemezéshez tartozó naplózási adatokat foglalja össze. v Az átlagos időtartam a teljes időtartam, valamint a futtatások száma alapján (Teljes időtartam / Futtatások száma) kerül kiszámításra. v A feladatütemezés aktiválásakor a Naplók szakasz az ezen feladatütemezés egyes futtatási alkalmaiból származó időpontot és státuszt jeleníti meg. 8. Választható: Állítsa be a feladatelemek sorrendjét. 9. Kattintson a Vázlat létrehozása lehetőségre, majd az Aktiválás gombra.
Eredmények A TRIRIGA rendszer létrehozza azon ütemezett feladatok készletét, amelyek az ütemezési típusra és a befejezési dátumokra épülnek. Ezek a feladatütemezéshez tartozó Ütemezett feladatok szakaszban tekinthetők meg.
Átalakítási objektumok személyre szabása A TRIRIGA rendszer ETL feladatelemeket és átalakítási objektumokat biztosít. Új átalakítási objektumok meghatározása helyett a meglévő ETL feladatelemek átalakítási objektumait is személyre szabhatja. Meglévő átalakítási objektum használata esetén meg kell határoznia, vagy karban kell tartania az átalakítást. Az üzleti objektumokat, űrlapokat és munkafolyamat-feladatokat azonban nem szükséges meghatároznia vagy karbantartania, mivel azok meghatározása már korábban megtörtént.
Átalakítási üzleti objektumok, űrlapok és munkafolyamatok meghatározása Az új átalakítási objektumok meghatározásakor példaként használhatja fel a meglévő TRIRIGA ETL feladatelemeket. Az új saját átalakítási objektumok meghatározása szintén megköveteli az üzleti objektumok, űrlapok és munkafolyamatok meghatározását, illetve karbantartását.
2. fejezet Adatszerkezetek
61
Mielőtt elkezdené Hozza létre a forrás- és céltáblákat (üzleti objektumokat), valamint alakítsa ki a megfelelő leképezéseket.
Eljárás 1. Hozza létre az átalakítási üzleti objektumot. a. Azonosítsa az átalakításnak átadandó változókat, majd adja hozzá azokat az átalakítási üzleti objektumhoz. Például: időtartam. b. Győződjön meg róla, hogy kapcsolódik egy bináris mező az átalakításhoz tartozó XML fájlhoz. 2. Hozza létre az átalakítási űrlapot, majd adja meg az átalakítási űrlap megjelenítésére szolgáló navigációs elemet vagy más metódust. 3. Hozza létre ezt a munkafolyamatot, amely meghívja az ETL átalakítás egyéni munkafolyamat-feladatát. a. Állítsa be úgy a munkafolyamatot, hogy az ütemezés szerint fusson. b. Haladjon végig az átalakítási üzleti objektum kötelezően futtatandó rekordjain, mindegyik esetében meghívva az egyéni munkafolyamat-feladatot.
Az átalakításhoz tartozó XML fájl mentése a Tartalomkezelő eszközbe Miután meghatározta az átalakításhoz tartozó XML fájlt, elvégezheti a fájl mentését a fájlrendszerben, majd feltöltheti azt a TRIRIGA rendszer Tartalomkezelő eszközébe. Ezután egy ETL fejlesztői környezet segítségével végrehajtható az átalakításhoz tartozó XML fájl tesztelése.
Eljárás 1. Nyissa meg az átalakítási üzleti objektumhoz tartozó navigációs elemet. Szerkesszen egy meglévő átalakítási üzleti objektumot, vagy adjon hozzá egy újat. 2. A bináris fájl segítségével töltse fel az átalakításhoz tartozó XML fájlt a TRIRIGA rendszer Tartalomkezelő eszközébe. 3. Szükség esetén frissítse a többi mezőt. 4. Végezze el az átalakításrekord mentését.
A munkafolyamat futási környezetének beállítása Miután feltöltötte az átalakításhoz tartozó XML fájlt a TRIRIGA rendszer Tartalomkezelő eszközébe, beállíthatja a munkafolyamat ütemezés szerinti futtatását. A munkafolyamat végighalad az átalakítási üzleti objektum összes rekordján, majd az egyes rekordok esetében meghívja az egyéni munkafolyamat-feladatot.
Eljárás 1. A munkafolyamat lekéri az átalakítási üzleti objektumhoz tartozó rekordokat. 2. A munkafolyamat meghatározza az egyéni munkafolyamat-feladatnak elküldendő rekordokat. 3. A munkafolyamat az egyes rekordok esetében végighalad az egyéni munkafolyamat-feladat meghívásán. Az osztálynévnek a következő értékűnek kell lennie: com.tririga.platform.workflow.runtime.taskhandler.ETL.RunETL. 4. Az egyéni munkafolyamat-feladat: a. Betölti az átalakításhoz tartozó XML fájlt a Tartalomkezelő eszközből egy ideiglenes fájlba.
62
© Copyright IBM Corp. 2011, 2015
b. Összegyűjti az üzleti objektumhoz tartozó valamennyi mezőt, majd létrehozza az ETL eszköznek átadandó változót. A dátum/dátum és időpont formátum esetén különleges kezelésre van szükség. c. d. e. f.
Létrehozza az ETL környezetet. Beállítja a TRIRIGA kapcsolatot a helyi alkalmazáskiszolgáló JNDI értékére. Az ETL API segítségével futtatja az átalakítást. False (hamis) értékkel tér vissza, ha a feldolgozás során hiba történik, ellenkező esetben pedig true (igaz) értéket ad vissza a munkafolyamatnak.
ETL egyéni munkafolyamat-feladatok meghatározásainak futtatása A munkafolyamat végighalad az átalakítási üzleti objektum összes rekordján, majd az egyes rekordok esetében meghívja az egyéni munkafolyamat-feladatot. Az egyéni munkafolyamat-feladat egy megadott meghatározást foglal magában. Amikor az egyes átalakítási üzleti objektumokon a rendszer meghívja az egyéni munkafolyamat-feladatot, akkor az objektumokhoz tartozó mezők az alábbiak szerint kerülnek feldolgozásra: 1. A triTransformBI mezőt kötelező megadni: ez a mező tartalmazza a futtatni kívánt átalakításhoz tartozó XML fájlra mutató hivatkozást. 2. Ha megadásra kerül, akkor a triBONamesTX mezőt a rendszer üzletiobjektum-nevek vesszővel elválasztott listájaként értelmezi. Az egyéni munkafolyamat-feladat a következő formátumban hozza létre a változókat: ${BO.<üzleti_objektum_neve>.TableName}. Ha például a mező a triBuilding értéket tartalmazza, akkor az ETL parancsfájlban a következő változó áll rendelkezésre: ${BO.triBuilding.TableName}. Ez a változó tartalmazza a triBuilding rekordokat magában foglaló tényleges adatbázistábla nevét. Mivel előfordulhat, hogy az üzletiobjektum-nevek nem egyediek, lehetősége van arra, hogy a következő formátum alkalmazásával meghatározza a modult: <modulnév>::<üzleti_objektum_neve>, amely a megfelelő ${BO.<modulnév>::<üzleti_objektum_neve>.TableName} változót eredményezi. Például a Location::triBuilding a következő változóként érhető el az ETL parancsfájlban: ${BO.Location::triBuilding.TableName}. 3. Ha megadásra kerül, akkor a triModuleNamesTX mezőt a rendszer modulnevek vesszővel elválasztott listájaként értelmezi. Az egyéni munkafolyamat-feladat a következő formátumban hozza létre a változókat: ${Module.<modulnév>.ViewName}.
2. fejezet Adatszerkezetek
63
64
© Copyright IBM Corp. 2011, 2015
3. fejezet Mutatószámok A mutatószámok mérni kívánt működési célkitűzéseket képviselnek. A TRIRIGA mutatószámok mindegyike ugyanazt a mérési technológiát és adatokat használja, rendeltetésüket tekintve azonban a különböző mutatószámok eltérő célokat szolgálnak. A mutatószámok a következő két cél szolgálata szerint oszthatók fel: Teljesítmény-mutatószámok Folyamatteljesítményt mérő mutatószámok, amelyek a teljesítmény javítását célzó intézkedéseket azonosítják. A mérések jellemzően arányszámok, százalékok vagy pontszámok formájában állnak elő. A teljesítmény-mutatószámok célértékekkel, küszöbértékekkel, intézkedési feltételekkel, nyomon követhetőséggel és műveleti feladatfunkciókkal rendelkeznek. Elemzési és jelentéskészítési mutatószámok Az általános jelentéskészítéshez vagy a kapcsolódó teljesítmény-mutatószám további elemzéséhez kötődő információkat megtestesítő mutatószámok. Ezek az információk a dimenzióelemzéshez és navigációhoz hasznosak, így felhasználják a teljesítménykezelési alkalmazás mutatószám-képességeit. Az elemzési és jelentéskészítési mutatószámok nem rendelkeznek célértékekkel, küszöbértékekkel, intézkedési feltételekkel, nyomon követhetőséggel és műveleti feladatokkal. Ezen mutatószámtípus esetében az Eredmények, Cél és Állapot mezőhöz kapcsolódó fontos mutatószámok üresen maradnak. További információkért forduljon az IBM TRIRIGA 10 Workplace Performance Management felhasználói kézikönyv című kiadványhoz.
Mutatószám-jelentések A mutatószám-jelentések a ténytáblákban meghatározott dimenziókat és tényadatmezőket használják az adott mutatószámhoz tartozó számítás ábrázolásához. A mutatószám-jelentések egyetlen mutatószám összesített értékeit jelenítik meg. Az egyes felhasználók szerepeihez kapcsolódó mutatószám-jelentések gyűjteményei a portál Kezdőlap oldalán és a Teljesítménykezelő eszközben jelennek meg. Ne szerkessze vagy módosítsa a szállított mutatószám-jelentéseket, miközben a TRIRIGA szoftver vállalati környezete számára történő testreszabását végzi. Helyette hozzon létre származtatott mutatószám-jelentéseket: készítsen másolatot a meglévő mutatószám-jelentésekről, nevezze azokat át és végezze el szerkesztésüket, vagy hozzon létre teljesen új mutatószám-jelentéseket. A mutatószám-jelentéseket a Saját jelentések > Rendszerjelentések menüpontban, triMetricFact értékre beállított Modul szűrővel, Mutatószám értékre beállított Megjelenítés típusa szűrővel, valamint Mutatószám értékre beállított Név szűrővel tekintheti meg. Ha a mutatószámok grafikus jelentéséhez kapcsolódó táblázatos jelentéseket szeretné megtekinteni, akkor állítsa a Név szűrőt Kapcsolódó jelentések értékre. Minden egyes mutatószám-jelentés a következő elemekből épül fel: Részletezési útvonalak Különleges jelentéskészítési szolgáltatás, amely kiaknázza a hierarchikus dimenziók előnyeit, és lehetővé teszi a jelentés felhasználóinak a hierarchia mentén felfelé és lefelé történő mozgást. © Szerzői jog IBM 2011, 2015
65
Szűrők Lehetővé teszi a jelentés felhasználóinak a jelentésben bemutatott adatok megváltoztatását vagy szűrését. Mutatószám-számítás Az a mutatószám, amelyre a jelentés elsődlegesen összpontosít. Kapcsolódó jelentések További, akár nem mutatószám típusú adatokat jelenítenek meg a mutatószám-jelentéshez kapcsolódóan. További információkért forduljon a következő kiadványhoz: IBM TRIRIGA Application Platform 3 - Jelentéskészítési felhasználói kézikönyv.
Fontos mutatószámok Az Eredménymutató portál Fontos mutatószámok szakaszai egyetlen nézetben gyűjtenek össze számos mutatószámot. Ne szerkessze vagy módosítsa a szállított fontos mutatószámokat, miközben a TRIRIGA rendszer szervezete számára történő testreszabását végzi. Ehelyett a szállított fontos mutatószámok másolása, átnevezése és szerkesztése révén hozzon létre származtatott fontos mutatószámokat. Létrehozhat továbbá egy teljesen új Fontos mutatószámok portálszakaszt is. A portálok beállítása során igénybe vett Eredménymutató-tervező, Portáltervező és Navigációtervező eszköz használatának folyamatát a következő kiadvány dokumentálja: IBM TRIRIGA Application Platform 3 - A felhasználói élmény felhasználói kézikönyve. Tippek: v Az Eredménymutató űrlap Lekérdezések lapján minden olyan lekérdezés szerepel, amelynek meg kell jelennie a Kiválasztott lekérdezések szakasz jelen Fontos mutatószámok portálszakaszában. v Amikor elhelyezi az eredménymutatót egy navigációs elemben, határozza meg az Alapértelmezett jelentés értéket. v A Kezdőlap portálon és a Teljesítménykezelő eszközben végzett mozgásuk során a felhasználók által tapasztalt válaszidő változó lehet. A válaszidő közvetlenül kapcsolódik az eredménymutatóba befoglalt mutatószámok számához, valamint az egyes mutatószámok mögötti adatmennyiséghez. Minél pontosabbak a szűrők, annál jobb lesz a teljesítmény.
Űrlapmutatószámok A mutatószámok megjelenítésének alternatív módszere az űrlapnézetek használatához kapcsolódik. A mutatószámok űrlapokon való megjelenítése egy-egy lekérdezési szakasz űrlapon történő meghatározásával valósítható meg, ahol a hivatkozott lekérdezés egy mutatószám-lekérdezés lesz. A mutatószám-lekérdezés által kiválasztott adatok szűrésével a megjelenítés az űrlap megjelenítési helyéül szolgáló szülőrekordra alapozható. A kapcsolódó jelentések közötti váltás lehetővé teszi a felhasználói műveletekre épülő lekérdezések cseréjét. A tervezés során egy $$RECORDID$$ és $$PARENT::[szakasz]::[mező]$$ szűrővel határozzon meg egy mutatószám-lekérdezést. Futás közben az a szülőrekord, amelyen belül az űrlap megjelenik, implicit módon elvégzi a mutatószám-lekérdezési alrendszer által megjelenítés céljából kiválasztott adatok szűrését.
66
© Copyright IBM Corp. 2011, 2015
Az egyéb mutatószám-lekérdezéseket kapcsolódó jelentésekként határozhatja meg. Amikor futás közben a mutatószám-lekérdezés egy űrlaphoz kapcsolódó jelentésben kerül megjelenítésre, akkor a váltás vezérlőelem teszi lehetővé a felhasználóknak a megjelenített lekérdezés cseréjét.
Adatszűrés Mielőtt a mutatószámok megjelenítésre kerülnének az űrlapokon, a rendszer adatszűrést végez. A futási környezetben a lekérdezés futtatása előtt: v A $$RECORDID$$ szűrőt a rendszer azon szülőrekord rekordazonosítójára cseréli, amelyen belül az űrlap megjelenítésre kerül. v A $$PARENT::[szakasz]::[mező]$$ szűrőt a rendszer a meghatározott szülőrekordmező értékére oldja fel. v Ha egy mutatószám-lekérdezés a szülőrekordon kívül kerül megjelenítésre, akkor a szülőre érzékeny szűrők mindegyike (például: $$RECORDID$$ és $$PARENT::[szakasz]::[mező]$$ figyelmen kívül marad. Határozza meg a $$RECORDID$$ és a $$PARENT::[szakasz]::[mező]$$ szűrőt olyan mezők esetén, amelyek a ténytábla részletezési útvonalán kerültek megadásra. A programok vagy osztályozások esetén szűrt, illetve ezen szűrőket használó mutatószámok hasonlóan viselkednek, mint a részletezési útvonal listájáról történő kiválasztás. Kiszűrik továbbá a megadott rekordot, valamint annak minden leszármazottját befoglalják a műveletbe. Amikor hierarchikus szűrőn kerül megadásra egy $$PARENT::[szakasz]::[mező]$$ szűrőérték, akkor a nullértékű szülőmező egyenértékű a részletezési útvonal gyökércsomópontjának kiválasztásával. Ez tartalmazza a gyökérértéknek megfelelő összes rekordot is. A nem hierarchikus szűrők számos szempontból úgy viselkednek, mint az üzletiobjektum-lekérdezések szűrői, amelyek nullértékű szülőmező esetén a nullértékkel rendelkező rekordok szűrését hajtják végre. A $$RECORDID$$ és a $$PARENT::[szakasz]::[mező]$$ szűrők úgy viselkednek, mintha futásikörnyezet-szűrők lennének, azzal a kivétellel, hogy értékük a szülőrekordtól kerül átadásra. Ha a mutatószámok ugyanazon mezőre meghatározott $$RUNTIME$$ és $$PARENT::[szakasz]::[mező]$$ szűrővel rendelkeznek, akkor a lekérdezés űrlapon belüli megjelenítésekor a $$RUNTIME$$ szűrő vezérlőelem nem kerül felhasználásra. Helyette a rendszer a $$PARENT::[szakasz]::[mező]$$ szűrőtől származó értéket használja szűrőértékként.
Részjelentések Az űrlapmutatószámok táblázatos és grafikus részjelentéseket egyaránt tartalmazhatnak. A táblázatos részjelentések a Teljesítménykezelő egyik kapcsolódó jelentését határozzák meg. A nem táblázatos típusú részjelentések az űrlapon belül átkapcsolható mutatószám-diagramokat ábrázolnak. A táblázatos és grafikus jelentések egyaránt hozzáadhatók a mutatószám-lekérdezések Részjelentések szakaszához. Futás közben a Teljesítménykezelő eszköz csak táblázatos jelentéseket mutat be Kapcsolódó jelentésként, az űrlap lekérdezési szakaszaiban szereplő mutatószámok pedig csak grafikus jelentésekkel rendelkeznek a Részjelentés szakasz cserét végző vezérlőelemeinek kiválasztható elemei között.
3. fejezet Mutatószámok
67
A részjelentés típusa (például: mutatószám, lekérdezés vagy jelentés) a Jelentéstervező eszköz Részjelentések szakaszában jelenik meg. Ezenkívül a mutatószám-lekérdezések esetén a Táblázatos kimenet jelzőparaméter is rendelkezésre áll. A mutatószám-lekérdezések más mutatószám-lekérdezéseket is megjeleníthetnek részjelentésként.
68
© Copyright IBM Corp. 2011, 2015
4. fejezet Hierarchiasimító A TRIRIGA Application Platform rendszerbeli hierarchiák meghatározása rugalmasságot biztosít az adathierarchiák, például a szervezetek több permutációjával rendelkező megvalósítások számára. A jelentéskészítési eszközök azonban inkább a strukturált adatösszegzést részesítik előnyben a jelentéskészítés egyszerűsítése és a teljesítmény maximalizálása céljából. A hierarchiasimító eszköz célja az adminisztrátor szempontjából a megnevezett struktúrák készletének meghatározása, amit a TRIRIGA Mutatószám-jelentési alrendszere használ a hierarchikus adatok gyors rendszerbeli feldolgozása érdekében. Az eredményül kapott struktúrára sima hierarchiaként szokás hivatkozni, ezek a struktúrák pedig mutatószám-jelentésekben kerülnek felhasználásra. Az adminisztrátorok a feladatütemezőt használják arra, hogy - az ETL feladatelemek segítségével - futtassák a hierarchiasimító folyamatot. A rendszerfejlesztők egy egyéni munkafolyamat-feladattal aktiválják a folyamatot. Ebben az esetben a hierarchiasimító folyamat futtatásához használt osztálynév a következő: com.tririga.platform.workflow.runtime.taskhandler.flathierarchy. RebuildFlatHierarchies
A folyamat egyéni munkafolyamat-feladattal történő aktiválását a következő kiadvány tárgyalja: Alkalmazáskészítés az IBM TRIRIGA Application Platform 3-as változatában. Fontos: Minden alkalommal, amikor egy hierarchia módosul a TRIRIGA rendszerben, a hierarchiafa azonnal frissítésre kerül. Például elképzelhető, hogy felvesz egy új triBuilding épületet, majd a rendszer elvégzi a Hely hierarchia frissítését. A triBuilding épülethez kapcsolódó megfelelő sima hierarchia azonban addig nem frissül, amíg a Hierarchia újraépítése feladatelemmel el nem végzi annak újraépítését. Ezért fontos ugyanakkorra ütemeznie a hierarchia-újraépítési feladatelemeket, amikor a TRIRIGA Workplace Performance Management adatokat is rögzíteni kívánja a ténytáblákon keresztül. A hierarchia-újraépítési feladatelemek biztosítják az információk aktualitásának megőrzését.
Sima hierarchiák A hierarchiastruktúra-meghatározások attól függnek, hogy a simítás min alapszik. A sima hierarchia az adott modul hierarchiájához kapcsolódó általános szülő-utód viszonyokra épülhet. Emellett a sima hierarchiát a modul hierarchiájában meglévő adott szintekre, valamint a nekik megfelelő üzleti objektumokra is lehet alapozni. Minden egyes hierarchiastruktúra-meghatározás egyetlen fejlécrekordot foglal magában, amely a hierarchia nevét, a modult és a hierarchia típusát azonosítja. A hierarchia neve leírja a hierarchiát, a modul pedig a hierarchia által képviselt modulnak felel meg. A simítási folyamat az adatok simítási módjának megismerésére használja a hierarchia típusát. Két hierarchiatípus létezik: Adat és Űrlap. Az adathierarchia az adatútvonal simítására szolgál, ami az adott modul hierarchiájához kapcsolódó általános szülő-utód viszonyokra épül. Ez a hierarchiatípus nem rendelkezik nevesített szintekkel, mivel a TRIRIGA Application Platform rendszer alkalmazásai engedélyezik, hogy a modul hierarchiájának ugyanazon fizikai szintjén különféle típusú adatok kerüljenek ábrázolásra. Például előfordulhat, hogy a helyhierarchia mindkét tulajdonság: az épület és az emelet, valamint az épület és emelet esetében egyaránt
© Szerzői jog IBM 2011, 2015
69
rendelkezhet adatokkal. Így ezen hierarchia első szintje az épületek és emeletek tulajdonságainak keverékét, a második szint pedig az épületek és emeletek keverékét tartalmazhatja. Az űrlap-hierarchia az adatútvonal simítására szolgál, ami az adott modul hierarchiájához kapcsolódó szülő-utód viszonyokra, valamint a szinteket képviselő üzleti objektumokra épül. Minden egyes szintet csak egy üzleti objektum ábrázolhat. Minden űrlap-hierarchiának pontos szinteket kell meghatároznia, amelyek tartalmazzák a szint számát, a szint által ábrázolt üzleti objektumot, valamint a típust. A simítási folyamat a szinthez tartozó adatok keresési módjának megismerésére használja a típust. A típus három lehetősége: Keresés, Figyelmen kívül marad és Rekurzív. v Amikor a típus Keresés értékű, akkor a rendszer az adott szálra egészen addig keresést végez a példányadatok alárendelt szintjein, amíg meg nem találja a megadott űrlap rekordját. Ha nincs rekordtalálat, akkor a hierarchiameghatározás hátralévő szintjei figyelmen kívül maradnak, és a kérdéses szálhoz nem kerülnek további sima adatok létrehozásra. Ha van rekordtalálat, akkor az adott csomóponthoz a rendszer létrehoz egy sima adatrekordot, majd továbblép a meghatározás következő szintjére. Ez a mód biztosítja a fa összehúzásának képességét, amellyel jobban igazíthatók üzleti adatai. v Amikor a típus Figyelmen kívül marad értékű, akkor a rendszer megkeresi az adott űrlapot, egy szinttel a legutóbbi szülő alatt. Ha nincs rekordtalálat, akkor az adott szinthez a rendszer létrehoz egy hiányt, majd a meghatározás következő szintjével folytatja a munkát. Ha van rekordtalálat, akkor az adott csomóponthoz a rendszer létrehoz egy sima adatrekordot, majd továbblép a meghatározás következő szintjére. Ez a mód biztosítja a fa kibontásának képességét, amellyel jobban igazíthatók üzleti adatai. A jelentéskészítési folyamat elősegítségéhez a hiányokat névvel vagy címkével kell ellátni. Ebből a célból használja a Hierarchiastruktúra-kezelő Hiánycímke értékét. v Amikor a típus Rekurzív értékű, akkor a rendszer az adott szálra egészen addig keresést végez a példányadatok alárendelt szintjein, amíg meg nem találja a megadott űrlap rekordját. Ha nincs rekordtalálat, akkor a hierarchiameghatározás hátralévő szintjei figyelmen kívül maradnak, és a kérdéses szálhoz nem kerülnek további sima adatok létrehozásra. Minden egyes talált rekord esetén a rendszer létrehoz az adott csomóponthoz egy sima adatrekordot, mielőtt továbblép a meghatározás következő szintjére.
Példák sima hierarchiákra A sima hierarchiákat bemutató példák alapján jobban megismerheti a simahierarchiameghatározások szerkezetét.
Sima hierarchiákhoz tartozó fejlécrekordok mintái A következő táblázat a hierarchiákon belüli modulokra épülő sima hierarchiákra mutat be példákat: 13. táblázat: Fejlécrekordok mintái
70
Hierarchia neve
Modul
Hierarchia típusa
Területhierarchia
Hely
Grafikus felhasználói felület
Telekhierarchia
Hely
Grafikus felhasználói felület
Városhierarchia
Földrajzi elhelyezkedés
Grafikus felhasználói felület
Teljes helyhierarchia
Hely
Adat
Teljes szervezeti hierarchia
Szervezet
Adat
Belső szervezeti hierarchia
Szervezet
Grafikus felhasználói felület
Külső szervezeti hierarchia
Szervezet
Grafikus felhasználói felület
© Copyright IBM Corp. 2011, 2015
Sima hierarchiákhoz tartozó szintrekordok mintái A következő táblázat a hierarchiákon belüli szintekre épülő sima hierarchiákra mutat be példákat: 14. táblázat: Sima hierarchiákhoz tartozó szintrekordok mintái Hierarchia neve
Szint száma
Űrlap
Modulkeresés
Területhierarchia
1
Tulajdonság
Figyelmen kívül marad
Területhierarchia
2
Épület
Keresés
Területhierarchia
3
Emelet
Keresés
Területhierarchia
4
Terület
Rekurzív
Belső szervezeti hierarchia
1
Vállalat
Keresés
Belső szervezeti hierarchia
2
Divízió
Figyelmen kívül marad
Belső szervezeti hierarchia
3
Részleg
Rekurzív
Hierarchiastruktúra-kezelő A hierarchiákat és a szintinformációkat a Hierarchiastruktúra-kezelő segítségével határozhatja meg. A Hierarchiastruktúra-kezelő egyetlen felületet biztosít a sima hierarchiák létrehozásához, frissítéséhez és törléséhez.
Hierarchiastruktúrák elérése A hierarchiák hozzáadása, módosítása vagy törlése érdekében hozzá kell férnie a hierarchiastruktúrák funkcióihoz.
Eljárás 1. Kattintson az Eszközök > Tervezőeszközök > Adatmodellező menüpontra. 2. Kattintson a Segédprogramok lehetőségre. 3. Kattintson a Hierarchiastruktúrák elemre.
Adathierarchia létrehozása Az adathierarchia az adatútvonal simítására szolgál, ami az adott modul hierarchiájához kapcsolódó általános szülő-utód viszonyokra épül. Az adathierarchiák létrehozásakor nincs szükség nevesített szintekre, hiszen a modul hierarchiájának ugyanazon fizikai szintjén különféle típusú adatok ábrázolhatók.
Eljárás 1. Kattintson a Hierarchia létrehozása lehetőségre. 2. 3. 4. 5. 6.
A Név mezőben adjon meg egy nevet, amely leírja, hogy a hierarchia mit képvisel. A Modul listáról válassza ki az adathierarchiához kapcsolódó érintett modult. A Hierarchia típusa listáról válassza ki az Adat lehetőséget. Kattintson a Létrehozás gombra. Kattintson a Mentés, majd a Bezárás gombra.
4. fejezet Hierarchiasimító
71
Űrlap-hierarchia létrehozása Az űrlap-hierarchia az adatútvonal simítására szolgál, ami az adott modul hierarchiájához kapcsolódó szülő-utód viszonyokra, valamint a szinteket képviselő üzleti objektumokra épül. Az űrlap-hierarchiák létrehozásakor minden egyes szintet csak egy üzleti objektum ábrázolhat.
Eljárás 1. 2. 3. 4.
Kattintson a Hierarchia létrehozása lehetőségre. A Név mezőben adjon meg egy nevet, amely leírja, hogy a hierarchia mit képvisel. A Modul listáról válassza ki az űrlap-hierarchiához kapcsolódó érintett modult. A Hierarchia típusa listáról válassza ki az Űrlap lehetőséget.
5. Kattintson a Létrehozás gombra. Megjelenik a Szintek szakasz. Adja meg az 1. szintű űrlap információit. 6. Az Üzleti objektum listáról válassza ki az érintett üzleti objektumot. 7. Az Űrlap listáról válassza ki az érintett űrlapot. 8. A Típus listáról válassza ki a Keresés lehetőséget. A Hiánycímke azt a címkét jelenti, amely abban az esetben kerül megadásra, amikor a Típus listáról a Figyelmen kívül marad értéket választják ki, a rendszer pedig nem talál rekordot. 9. Kattintson a Mentés gombra. 10. Folytassa addig az információk megadását és mentését, amíg az összes szint meghatározásra nem került. 11. Kattintson a Mentés, majd a Bezárás gombra.
72
© Copyright IBM Corp. 2011, 2015
5. fejezet Ténytáblák A ténytáblák üzleti folyamathoz tartozó méréseket, mutatószámokat vagy tényadatokat tartalmaznak. A ténytáblák a mutatószám-jelentésekben szereplő mutatószámok kiszámításához használt adatokat tárolják. A ténytáblák információi a szállított TRIRIGA Workplace Performance Management és TRIRIGA Real Estate Environmental Sustainability termékre épülnek. Előfordulhat azonban, hogy vállalata megvalósítása ettől eltérő. Minden ténytábla rendelkezik egy-egy adatbetöltésre és -kiürítésre szolgáló ETL művelettel. Az adatokat kiürítő ETL műveletek neve "– kiürítés" utótagra végződik, például: Épületi költség ténytábla - kiürítés. Az ETL műveletek megjelenítéséhez kattintson az Eszközök > Rendszerbeállítás > ETL feladatelemek menüpontra.
A támogatott ténytáblák és mutatószámok listája A ténytáblák és mutatószámok referencialistájához fordulva megismerheti a TRIRIGA rendszer vállalatánál működő megvalósítása esetén támogatott elemeket.
Ténytáblák elérése Kattintson az Eszközök > Tervezőeszközök > Adatmodellező menüpontra. Keresse meg a triMetricFact értéket, majd válassza azt ki a ténytáblákhoz tartozó üzleti objektumok listájának megjelenítéséhez.
Mutatószámok elérése Kattintson az Eszközök > Tervezőeszközök > Jelentéskezelő > Rendszerjelentések menüpontra. Végezzen Üzleti objektum és Modul alapján szűrést a mutatószám-információk rendezéséhez, valamint a jelentések aktuális listájának lekérdezéséhez. Tipp: Az #FM# jelölés azt jelenti, hogy az adott mutatószám egyben űrlapmutatószám (Form Metric) is a rendszerben.
Különleges állomásoztatási táblákat és ETL műveleteket igénylő ténytáblák A legtöbb ténytábla esetén a mutatószámok kiszámítása érdekében a tárolt adatok betöltésére szolgáló folyamat egyszerű. Egyes ténytáblák azonban különleges állomásoztatási táblákat és ETL műveleteket igényelnek a betöltési folyamat támogatásához. Az alábbi táblázat a különleges állomásoztatási táblákat és ETL műveleteket igénylő ténytáblákat mutatja be: 15. táblázat: Különleges állomásoztatási táblákat és ETL műveleteket igénylő ténytáblák
© Szerzői jog IBM 2011, 2015
Ténytábla neve
Ténytábla üzleti objektuma
Pénzügyi összefoglaló
triFinancialSummary
73
15. táblázat: Különleges állomásoztatási táblákat és ETL műveleteket igénylő ténytáblák (Folytatás) Ténytábla neve
Ténytábla üzleti objektuma
Normál órák
triStandardHours
Normál órák részletei
triStandardHoursDetails
Óránkénti eszközelemzés ténytáblája
triAssetAnalyticHFact
Eszközök napi energiafelhasználási ténytáblája
triAssetEnergyUseDFact
Eszközök óránkénti energiafelhasználási ténytáblája
triAssetEnergyUseHFact
Eszközök havi energiafelhasználási ténytáblája
triAssetEnergyUseMFact
Függő ETL műveletek Egyes ETL műveletek más ETL műveletektől függenek a betöltési folyamat elősegítése szempontjából. Az alábbi táblázat a más ETL műveletektől függő ETL műveleteket mutatja be: 16. táblázat: Függő ETL műveletek
74
Ténytábla neve
Ténytábla üzleti objektuma
Épületköltség ténytábla-betöltési ETL művelete
Ez az ETL művelet a Pénzügyi összefoglaló táblában szereplő adatok rendelkezésre állásától függ. A Pénzügyi összefoglaló tábla betöltése pénzügyi rendszere háttér-integrációja révén, vagy az Offline pénzügyi összefoglaló Excel-feldolgozása segítségével hajtható végre. Az Offline pénzügyi összefoglaló Excel-feldolgozásának elősegítése érdekében léteznek olyan különleges ETL műveletek, amelyekkel az adatok átküldhetők az Excel/Offline feldolgozásból a Pénzügyi összefoglaló táblába. A szállított TRIRIGA Workplace Performance Management alkalmazásban a különleges ETL műveletek neve: Pénzügyi összefoglaló betöltése az offline állomásoztatási táblából és Pénzügyi összefoglaló törlése az offline állomásoztatási táblából. Ha az Offline pénzügyi összefoglaló Excel-feldolgozása segítségével importál pénzügyi összefoglaló adatokat, akkor ehhez először a Pénzügyi összefoglaló betöltése az offline állomásoztatási táblából ETL műveletet kell futtatnia. Ezután az Épületköltség ténytábla-betöltési ETL műveletét kell futtatnia.
© Copyright IBM Corp. 2011, 2015
16. táblázat: Függő ETL műveletek (Folytatás) Ténytábla neve
Ténytábla üzleti objektuma
Épület ténytábla-betöltési ETL művelete
Ez az ETL művelet a Pénzügyi összefoglaló táblában szereplő adatok rendelkezésre állásától függ. A Pénzügyi összefoglaló tábla betöltése pénzügyi rendszere háttér-integrációja révén, vagy az Offline pénzügyi összefoglaló Excel-feldolgozása segítségével hajtható végre. Az Offline pénzügyi összefoglaló Excel-feldolgozásának elősegítése érdekében léteznek olyan különleges ETL műveletek, amelyekkel az adatok átküldhetők az Excel/Offline feldolgozásból a Pénzügyi összefoglaló táblába. A szállított TRIRIGA Workplace Performance Management alkalmazásban a különleges ETL műveletek neve: Pénzügyi összefoglaló betöltése az offline állomásoztatási táblából és Pénzügyi összefoglaló törlése az offline állomásoztatási táblából. Ha az Offline pénzügyi összefoglaló Excel-feldolgozása segítségével importál pénzügyi összefoglaló adatokat, akkor ehhez először a Pénzügyi összefoglaló betöltése az offline állomásoztatási táblából ETL műveletet kell futtatnia. Ezután az Épület ténytábla-betöltési ETL műveletét kell futtatnia.
Erőforrás ténytábla-betöltési ETL művelete
A Normál órák betöltési ETL műveletétől függ.
Normál órák betöltési ETL művelete
A Normál órák részleteinek betöltési ETL műveletétől függ.
Eszközök napi ténytáblája ETL művelet
Ezen ETL műveletek az állomásoztatási táblában szereplő adatok rendelkezésre állásától függnek. Az állomásoztatási táblának általános típusúnak kell lennie. Az állomásoztatási táblának adott mezőket kell tartalmaznia. Az állomásoztatási tábla az épületkezelési rendszerrel megvalósított háttér-integráció segítségével tölthető be. Az állomásoztatási tábla betöltése emellett az adatokat külső adatbázisból beemelő ETL művelettel is megvalósítható. További részletekért, köztük az állomásoztatási táblák és ETL műveletek mintáiért forduljon az Integrált szolgáltatáskezelési könyvtárhoz.
Eszközök óránkénti ténytáblája ETL művelet Eszközök havi ténytáblája ETL művelet
5. fejezet Ténytáblák
75
76
© Copyright IBM Corp. 2011, 2015
Nyilatkozatok Ezek az információk az Egyesült Államokban forgalmazott termékekre és szolgáltatásokra vonatkoznak. Elképzelhető, hogy a dokumentumban tárgyalt termékeket, szolgáltatásokat vagy lehetőségeket az IBM más országokban nem forgalmazza. Az adott országokban rendelkezésre álló termékekről és szolgáltatásokról az IBM helyi képviseletei szolgálnak felvilágosítással. Az IBM termékeire, programjaira vagy szolgáltatásaira vonatkozó utalások sem állítani, sem sugallni nem kívánják, hogy az adott helyzetben csak az adott termék, program vagy szolgáltatás alkalmazható. Minden olyan működésében azonos termék, program vagy szolgáltatás alkalmazható, amely nem sérti az IBM szellemi tulajdonjogát. A nem IBM termékek, programok és szolgáltatások működésének megítélése és ellenőrzése azonban a felhasználó felelőssége. A dokumentum tartalmával kapcsolatban az IBM bejegyzett vagy bejegyzés alatt álló szabadalmakkal rendelkezhet. Jelen dokumentum nem ad semmiféle jogos licencet e szabadalmakhoz. A licenckérelmeket írásban a következő címre küldheti: IBM Director of Licensing IBM Corporation North Castle Drive Armonk, NY 10504-1785 U.S.A. Ha duplabyte-os (DBCS) információkkal kapcsolatban van szüksége licencre, akkor lépjen kapcsolatban az országában az IBM szellemi tulajdon osztállyal, vagy írjon a következő címre: Intellectual Property Licensing Legal and Intellectual Property Law IBM Japan Ltd. 19-21, Nihonbashi-Hakozakicho, Chuo-ku Tokyo 103-8510, Japan A következő bekezdés nem vonatkozik az Egyesült Királyságra, valamint azokra az országokra, amelyeknek jogi szabályozása ellentétes a bekezdés tartalmával: AZ INTERNATIONAL BUSINESS MACHINES CORPORATION A KIADVÁNYT "JELENLEGI FORMÁJÁBAN", BÁRMIFÉLE KIFEJEZETT VAGY VÉLELMEZETT GARANCIA NÉLKÜL ADJA KÖZRE, IDEÉRTVE, DE NEM KIZÁRÓLAG A JOGSÉRTÉS KIZÁRÁSÁRA, A KERESKEDELMI ÉRTÉKESÍTHETŐSÉGRE ÉS BIZONYOS CÉLRA VALÓ ALKALMASSÁGRA VONATKOZÓ VÉLELMEZETT GARANCIÁT. Bizonyos államok nem engedélyezik egyes tranzakciók kifejezett vagy vélelmezett garanciáinak kizárását, így elképzelhető, hogy az előző bekezdés Önre nem vonatkozik. Jelen dokumentum tartalmazhat technikai pontatlanságokat és sajtóhibákat. A kiadványban leírt információk bizonyos időnként módosításra kerülnek; a módosításokat a kiadvány új kiadásai tartalmazzák. Az IBM mindennemű értesítés nélkül fejlesztheti és/vagy módosíthatja a kiadványban tárgyalt termékeket és/vagy programokat. A kiadványban a nem az IBM által üzemeltetett webhelyek megjelenése csak kényelmi célokat szolgál, és semmilyen módon nem jelenti ezen webhelyek előnyben részesítését © Szerzői jog IBM 2011, 2015
77
másokhoz képest. Az ilyen webhelyeken található anyagok nem képezik az adott IBM termék dokumentációjának részét, így ezek felhasználása csak saját felelősségre történhet. Az IBM belátása szerint bármilyen formában felhasználhatja és továbbadhatja a felhasználóktól származó információkat anélkül, hogy a felhasználó felé ebből bármilyen kötelezettsége származna. A programlicenc azon birtokosai, akik (i) a függetlenül létrehozott programok vagy más programok (beleértve ezt a programot is) közti információcsere, illetve (ii) a kicserélt információk kölcsönös használata céljából szeretnének információkhoz jutni, a következő címre írjanak: IBM Corporation 2Z4A/101 11400 Burnet Road Austin, TX 78758 U.S.A. Az ilyen információk bizonyos feltételek és kikötések mellett állnak rendelkezésre, ideértve azokat az eseteket is, amikor ez díjfizetéssel jár. Az IBM a dokumentumban tárgyalt licencprogramokat és a hozzájuk tartozó licenc anyagokat IBM Vásárlói megállapodás, IBM Nemzetközi programlicenc szerződés vagy a felek azonos tartalmú megállapodása alapján biztosítja. A nem IBM termékekre vonatkozó információk a termékek szállítóitól, illetve azok publikált dokumentációiból, valamint egyéb nyilvánosan hozzáférhető forrásokból származnak. Az IBM nem tesztelte ezeket a termékeket, így a más gyártótól származó termékek esetében nem tudja megerősíteni a teljesítményre és kompatibilitásra vonatkozó, valamint az egyéb állítások pontosságát. A nem IBM termékekkel kapcsolatos kérdéseivel forduljon az adott termék szállítóihoz. Az információk között példaként napi üzleti tevékenységekhez kapcsolódó jelentések és adatok lehetnek. A valóságot a lehető legjobban megközelítő illusztráláshoz a példákban egyének, vállalatok, márkák és termékek nevei szerepelnek. Minden ilyen név a képzelet szüleménye, és valódi üzleti vállalkozások neveivel és címeivel való bármilyen hasonlóságuk teljes egészében a véletlen műve. Szerzői jogi licenc: A kiadvány forrásnyelvi alkalmazásokat tartalmaz, amelyek a programozási technikák bemutatására szolgálnak a különböző működési környezetekben. A példaprogramokat tetszőleges formában, az IBM-nek való díjfizetés nélkül másolhatja, módosíthatja és terjesztheti fejlesztés, használat, eladás vagy a példaprogramot futtató operációs rendszer alkalmazásprogramozási felületének megfelelő alkalmazásprogram terjesztésének céljából. Ezek a példák nem kerültek minden körülmények között tesztelésre. Ennek megfelelően az IBM nem tudja garantálni a programok megbízhatóságát, használhatóságát és működését. A példaprogramok "JELENLEGI FORMÁJUKBAN", bármiféle garancia vállalása nélkül kerülnek közreadásra. Az IBM a példaprogramok használatának következtében fellépő semmilyen kárért nem vállal felelősséget.
Adatvédelmi szempontok Az IBM szoftvertermékek a szoftverszolgáltatási megoldásokat is ideértve (gyűjtőnéven "Szoftverajánlatok") cookie-k és egyéb technikák segítségével adatokat gyűjthetnek a termék felhasználásáról a felhasználói élmény javítása, személyre szabott interakció nyújtása és további célok érdekében. A Szoftverajánlatok számos esetben nem gyűjtenek személyes
78
© Copyright IBM Corp. 2011, 2015
azonosításra alkalmas információkat. Egyes Szoftverajánlatok lehetővé tehetik személyes azonosításra alkalmas információk gyűjtését is. Ha jelen Szoftverajánlat személyes azonosításra alkalmas információk gyűjtésére használ cookie-kat, akkor a cookie-knak az adott ajánlatban való használatáról az alábbiakban tájékozódhat. Jelen Szoftverajánlat nem használ cookie-kat vagy más technikákat személyes azonosításra alkalmas információk gyűjtésére. Ha jelen Szoftverajánlat konfigurációja lehetővé teszi önnek, mint vásárlónak, hogy cookie-k vagy egyéb technikák révén személyes azonosításra alkalmas információkat gyűjtsön a végfelhasználóktól, akkor kérjen jogi tanácsot az ilyen adatok gyűjtésére vonatkozó jogszabályok tekintetében, például a nyilatkozatra és beleegyezésre vonatkozó esetleges követelményekről. Az e célra használható különféle technikákról, például a cookie-król további információkat az IBM adatvédelmi oldalán (http://www.ibm.com/privacy/hu/hu/), az IBM online adatvédelmi tájékoztató (http://www.ibm.com/privacy/details/hu/hu/) "Cookie-k, webjelzők és egyéb technológiák" című szakaszában, illetve az "IBM Software Products and Software-as-a-Service Privacy Statement" című dokumentumban (http://www.ibm.com/ software/info/product-privacy/) talál.
Védjegyek Az IBM, az IBM logó és az ibm.com az International Business Machines Corporationnek a világ számos országában regisztrált védjegye. Más termékek és szolgáltatások neve is az IBM vagy más vállalatok védjegye lehet. A jelenlegi IBM védjegyek felsorolása a “Copyright and trademark information” oldalon tekinthető meg a www.ibm.com/legal/copytrade.shtml címen. A Java™, valamint minden Java alapú jelzés és logó az Oracle és/vagy társvállalatainak védjegye vagy bejegyzett védjegye. A Linux Linus Torvalds védjegye az Egyesült Államokban és/vagy más országokban. A Microsoft, a Windows, a Windows NT és a Windows logó a Microsoft Corporation védjegye az Egyesült Államokban és/vagy más országokban. A UNIX a The Open Group bejegyzett védjegye az Egyesült Államokban és más országokban. Más termékek és szolgáltatások neve is az IBM vagy más vállalatok védjegye lehet.
Nyilatkozatok
79
80
© Copyright IBM Corp. 2011, 2015
Nyomtatva Dániában