Szolgáltatásorientált rendszerintegráció SOA-alapú rendszerintegráció
Integrált szolgáltatások kialakításának tipikus követelményei
Tartalom Információk a tárgyról Közigazgatás Általános rendszerintegrációs követelmények Rendszerintegráció megvalósításának topológiai lehetőségei Sín topológiájú megvalósítás követelményei
© Simon Balázs, BME IIT, 2010.
2
INFORMÁCIÓK A TÁRGYRÓL
© Simon Balázs, BME IIT, 2010.
3
Információk a tárgyról
Oktatók:
Kondorosi Károly Ercsényi András Simon Balázs
Párhuzamosan két tárgy:
Gazdinfo: Szolgáltatásorientált rendszerintegráció (3/0/1) Választható tárgy: SOA alapú rendszerintegráció (2/1/0)
Honlap: http://www.iit.bme.hu/~soarinteg/ Előadások + laborok/gyakorlatok
Pontos beosztás a weben
© Simon Balázs, BME IIT, 2010.
4
Labor/gyakorlat
egy SOA eszközzel valamilyen feladat megoldása
2 órás gyakorlat: bemutatjuk
az eszköz használatát önálló feladatmegoldás célszerű laptop-ot használni mentés pendrive-ra
© Simon Balázs, BME IIT, 2010.
5
Gyakorlati feladatok
Web szolgáltatások 10
különféle web service készítése tesztelése
„Rinteg” feladat átírása adott
egy servlet-jsp feladat szolgáltatásokat kiválasztani web service-ek elkészítése beintegrálás az eredeti rendszerbe
© Simon Balázs, BME IIT, 2010.
6
Követelmények
Szorgalmi időszakban: aláírás
feltétele: házi feladat 6. héten kerül kiadásra 14. héten kell beadni
Vizsgaidőszakban: írásbeli
vizsga
© Simon Balázs, BME IIT, 2010.
7
Házi feladatok
Különféle típusok hasonlóak
a gyakorlaton készítettekhez
kalkulátor célkalkulátor (pl. [(xy) + (x+y)]^2 kifejezést számító) irányítószám-kereső, stb.
egyszerű
vagy „secure” megoldásban
Készítése, tesztelés, dokumentálás
© Simon Balázs, BME IIT, 2010.
8
KÖZIGAZGATÁS
© Simon Balázs, BME IIT, 2010.
9
Közigazgatás szereplői Állampolgár Szakrendszer Ügyintéző
© Simon Balázs, BME IIT, 2010.
10
Papír alapú közigazgatás
Az állampolgár ügyintézési kérelmet nyújt be Csatolja az igazolásokat, vagy azok másolatait Az ő felelőssége, hogy a megfelelő szakrendszereket a megfelelő sorrendben személyesen felkeresse Az ügyintézők aktákkal dolgoznak Az aktákat fizikailag tárolni kell Az eredményről az ügyfél értesítése postai úton
© Simon Balázs, BME IIT, 2010.
11
Ideális e-közigazgatás
Az ügyfél hitelesen (digitális aláírással) azonosítja magát és belép az ügyfélkapun Kiválasztja a megfelelő ügyet Az ügyintézéshez szükséges, de a szakrendszerek valamelyikénél tárolt adatot nem kell megadni, ez automatikusan összegyűjtésre kerül Csak az egyéb információkat kell biztosítani A szakrendszerek bejárását az ügyfélkapun futó elektronizált folyamat végzi Az ügyintézők is elektronikus űrlapokkal dolgoznak Az eredményről az ügyfél az elektronikus tárhelyén értesül
© Simon Balázs, BME IIT, 2010.
12
Megvalósulás Van ügyfélkapu, lehet használni Sok ügyet már elektronikusan lehet intézni Kényelmi szolgáltatások is vannak
„lejár
a jogosítvány”
© Simon Balázs, BME IIT, 2010.
13
Problémák
Jelenleg nincs minden állampolgároknak saját elektronikus azonosítása ill.tanúsítványa Az igazolások, illetve ezek másolatai a szakrendszerek valamelyikénél meglévő információként tárolva Az állampolgárnak személyesen kell az egyes szakrendszereknél megjelennie (sorbanállás, utazás, stb.)
© Simon Balázs, BME IIT, 2010.
14
Problémák
Az adatvédelmi jogszabályok jelentősen megnehezítik az adatok felderítését nem
lehet egyetlen közös azonosítón keresztül összekötni az állampolgár adatait (ld. személyi szám eltörlése)
Az elszigeteltségnek köszönhetően a szakrendszerek önálló szoftverbeszerzéseket és -fejlesztéseket hajtottak végre, autonómmá váltak
© Simon Balázs, BME IIT, 2010.
15
BANK, BIZTOSÍTÓ
© Simon Balázs, BME IIT, 2010.
16
Pénzügyi szféra szereplői Ügyfél Szakrendszer Ügyintéző
© Simon Balázs, BME IIT, 2010.
17
Papír alapú ügyfélkezelés
Az ügyfél ügyintézési kérelmet nyújt be Csatolja az igazolásokat, vagy azok másolatait Egyablakos kiszolgálás de
más intézmények igazolása is szükséges lehet
Az ügyintézők aktákkal dolgoznak Az aktákat fizikailag tárolni kell Az eredményről az ügyfél értesítése postai úton
© Simon Balázs, BME IIT, 2010.
18
Ideális e-ügyfélszolgálat
Az ügyfél hitelesen (digitális aláírással vagy máshogy) azonosítja magát és belép az ügyfélkapun Kiválasztja a megfelelő ügyet Az ügyintézéshez szükséges, de a szakrendszerek valamelyikénél tárolt adatot nem kell megadni, ez automatikusan összegyűjtésre kerül Csak az egyéb információkat kell biztosítani A szakrendszerek bejárását az adott pénzügyi ügyfélkapun futó elektronizált folyamat végzi Az ügyintézők is elektronikus űrlapokkal dolgoznak Az eredményről az ügyfél elektronikus úton értesül (azonnali folyamat vagy pl. email)
© Simon Balázs, BME IIT, 2010.
19
Megvalósulás
Van ügyfélkapu, lehet használni sőt;
sok is van mindegyiken másfajta azonosítás
Sok ügyet már elektronikusan lehet intézni Külön kedvezmények az e-ügyintézésben
bank:
pénzátutalás olcsóbb biztosító: e-KFG, e-Casco © Simon Balázs, BME IIT, 2010.
20
Problémák
Nem lehet teljesen ügyintéző-mentesíteni a folyamatokat biztosító:
kárbecslőnek ki kell jönnie
Ügyintézési hibaesetek megfelelő megoldásához is ember-ügyintéző kell call-center
© Simon Balázs, BME IIT, 2010.
is működik
21
ÁLTALÁNOS RENDSZERINTEGRÁCIÓS KÖVETELMÉNYEK
© Simon Balázs, BME IIT, 2010.
22
Általános rendszerintegrációs (nemfunkcionális) követelmények
Bővíthetőség Rugalmasság Interoperabilitás Nyitottság Újrahasznosíthatóság Biztonság
© Simon Balázs, BME IIT, 2010.
Teljesítmény Skálázhatóság Rendelkezésre állás Megbízhatóság Karbantarthatóság
23
Bővíthetőség A rendszer gazdaságosan új funkciókkal bővíthető Meglévő funkcionalitások kiterjeszthetők Ezek korlátozása nélkül Pl. jogszabályok folyamatos változása miatt
© Simon Balázs, BME IIT, 2010.
24
Rugalmasság
A kialakított architektúra topológiájának tulajdonsága A rugalmasság annak a mértéke, hogy az architektúrát új nemfunkcionális követelmények megjelenése esetén milyen könnyen lehet módosítani A rugalmas topológia elősegíti a gyors változtathatóságot, ezzel javítva a rendelkezésre állást, megbízhatóságot és skálázhatóságot
© Simon Balázs, BME IIT, 2010.
25
Interoperabilitás Az interoperabilitás az együttműködési képességet jelenti Heterogén szoftverrendszerekkel rendelkező szereplők kommunikációképessége Függetlenül a szoftvergyártóktól és a felhasznált alsóbb protokolloktól
© Simon Balázs, BME IIT, 2010.
26
Interoperabilitás szintjei
Szintaktikai: megfelelő
protokollok megválasztása adatformátumok egyeztetése
Szemantikai ugyanazt
kell érteni az adatok jelentésén
Intézményi az
egyes szakrendszerek egymással szakmailag és politikailag is tudnak tárgyalni és meg tudnak egyezni
© Simon Balázs, BME IIT, 2010.
27
Nyitottság A nyitottság azt jelenti, hogy meglévő és új szereplők minél kisebb költséggel integrálhatók a teljes rendszerbe Ehhez jól definiált interfészekre van szükség
© Simon Balázs, BME IIT, 2010.
28
Újrahasznosíthatóság
Bizonyos komponensek vagy szolgáltatások azonos vagy hasonló feladatok megoldása során is felhasználhatók legyenek, ezáltal elkerülhető a redundáns fejlesztés Különböző absztrakciós szinteken történhet, pl.: közös
adat- és folyamatmodellek közös architektúraminták központosított szolgáltatások © Simon Balázs, BME IIT, 2010.
29
Biztonság Az információkat csak a kialakított biztonságpolitikának megfelelően lehet megszerezni vagy módosítani A legfontosabb szempontok:
azonosítás,
hitelesítés, felhatalmazás, titkosság, sértetlenség és letagadhatatlanság
© Simon Balázs, BME IIT, 2010.
30
Teljesítmény A teljesítmény azt jelenti, hogy a rendszer funkcionalitását elég gyorsan végre lehet hajtani ahhoz, hogy a használhatóság biztosítva legyen Mértéke az időegység alatt kiszolgált kérések száma
© Simon Balázs, BME IIT, 2010.
31
Skálázhatóság A skálázhatóság azt jelenti, hogy a rendszer növekvő terhelés mellett is képes a kívánt hatékonyságot és teljesítményt biztosítani Ehhez biztosítani kell új erőforrások problémamentes bevonását
© Simon Balázs, BME IIT, 2010.
32
Rendelkezésre állás
A rendelkezésre állás annak a mértéke, hogy a rendszer milyen módon képes a funkcionalitását, szolgáltatásait és erőforrásait kiesésmentesen biztosítani
© Simon Balázs, BME IIT, 2010.
33
Megbízhatóság A rendszer hálózati problémák vagy bizonyos komponensek kiesése esetén is képes a kérések fogadására A befogadott kérések nem veszhetnek el, azoknak előbb-utóbb meg kell érkeznie
© Simon Balázs, BME IIT, 2010.
34
Karbantarthatóság
A rendszer komolyabb előképzettség nélkül olyan külső szereplők által is gazdaságosan működtethető, akik a rendszer kifejlesztésében nem vettek részt
© Simon Balázs, BME IIT, 2010.
35
RENDSZERINTEGRÁCIÓ MEGVALÓSÍTÁSÁNAK TOPOLÓGIAI LEHETŐSÉGEI
© Simon Balázs, BME IIT, 2010.
36
Rendszerintegráció megvalósításának topológiai lehetőségei
Mindenki mindenkivel kommunikál
A szereplőket egy sín köti össze
© Simon Balázs, BME IIT, 2010.
37
Mindenki mindenkivel kommunikál N szereplő esetén O(N2) kapcsolat Adatkonverzió O(N2) féle szükséges Nehéz karbantartani Minden szereplőnek biztosítania kell a magas rendelkezésre állást Nehéz új szereplővel bővíteni
© Simon Balázs, BME IIT, 2010.
38
Sín topológia
A sín biztosítja a kapcsolatot a szereplők között Mindenki csak a sínnel kommunikál: O(N) kapcsolat A sínen célszerű egy közös adatformátumot használni: O(N) konverzió Könnyen karbantartható Elegendő, ha a sín megbízható, nem kötelező minden szereplőnek magas rendelkezésre állást biztosítania Könnyű új szereplővel bővíteni A sín fizikailag lehet:
elosztott központosított: könnyebb felügyelni
© Simon Balázs, BME IIT, 2010.
39
SÍN TOPOLÓGIÁJÚ MEGVALÓSÍTÁS KÖVETELMÉNYEI
© Simon Balázs, BME IIT, 2010.
40
Sín topológia rétegszerkezete Szolgáltató
Szolgáltató
Alkalmazás
Alkalmazás
Szolgáltatás
Szolgáltatás
Adapter
Adapter
Sín © Simon Balázs, BME IIT, 2010.
41
Sín topológiájú megvalósítás technológiai követelményei
Sín:
Adapter:
nagy rendelkezésre állású megbízható aszinkron csomagátviteli közeg üzenetek be/kicsomagolása üzenetek küldése/fogadása
Szolgáltatás: a szolgáltató által biztosított alkalmazás (képesség vagy erőforrás) elérhetővé tétele a többi szereplő számára biztonságos módon nyílt szabványokon alapul, interoperábilis újrahasznosítható
Alapszolgáltatások:
szolgáltatáskatalógus jogosultságkezelés
© Simon Balázs, BME IIT, 2010.
42
Sín topológiájú megvalósítás adminisztrációs követelményei Szervezeti követelmények Adminisztrációs követelmények
alacsony
szintű üzemeltetési feladatok szolgáltatás szintű adminisztrációs feladatok
Felügyelettel kapcsolatos követelmények Felügyeleti sínnel kapcsolatos követelmények
© Simon Balázs, BME IIT, 2010.
43
Szervezeti követelmények
Dedikált szervezet kell: üzemeltetésre
adminisztrációs
feladatokra
felügyeletre közös
szabványok, protokollok, adatformátumok kialakítására jogi és személyi problémák kezelésére alapszolgáltatások üzemeltetése © Simon Balázs, BME IIT, 2010.
44
Alacsony szintű üzemeltetési feladatok Technikai üzemeltetés Szerverek telepítése Hálózat konfigurálása Hálózat monitorozása Adapterek terhelésének figyelése Felmerülő hibák javítása Stb.
© Simon Balázs, BME IIT, 2010.
45
Szolgáltatás szintű adminisztrációs feladatok Szolgáltatók regisztrálása Szolgáltatások üzembe helyezése, törlése Szolgáltatások regisztrálása a szolgáltatáskatalógusba Szolgáltatásleírók módosítása Szolgáltatások auditálása Tanúsítványok kiadása és visszavonása
© Simon Balázs, BME IIT, 2010.
46
Felügyelettel kapcsolatos követelmények Komponensek azonosítása és felismerése Megfigyelhetőség Követés Problémakezelés Pénzügyek Biztonság
© Simon Balázs, BME IIT, 2010.
47
Komponensek azonosítása és felismerése A rendszer komponensei változhatnak Világos, áttekinthető kép kell a mindenkori rendszer szerkezetéről Elérhető szolgáltatások, komponensek Szolgáltatások magasszintű kezelése
leállítás,
újraindítás, stb.
© Simon Balázs, BME IIT, 2010.
48
Megfigyelhetőség
A rendszer működésének monitorozása Beavatkozási lehetőségek biztosítása Paraméterek változtatása, hangolása Quality of Service (QoS) jellemzők mérése, gyűjtése Szolgáltatások és erőforrások igénybevételének mértéke, ennek időbeli eloszlása Teljesítményigények Eszközök, komponensek rendelkezésre állása
© Simon Balázs, BME IIT, 2010.
49
Követés Komponensek fejlődésének követése Teljes élettörténet Verziókezelés Változatok közötti különbségek Verziók közti függőségek
© Simon Balázs, BME IIT, 2010.
50
Problémakezelés
Nagyfokú dinamizmus miatt növekedhet a kivételes helyzetek gyakorisága Egyszerűsíteni kell a kivételek kezelésével kapcsolatos folyamatokat Kivétel okának felderítése Kivételkezelő folyamat lefutásának figyelése Ehhez pontos naplózás szükséges Elosztott naplók összegyűjtése
© Simon Balázs, BME IIT, 2010.
51
Pénzügyek
A komponensek használata elszámolást, fizetési kötelezettséget vonhat maga után Ennek alapja lehet: erőforrások
használata (memória, tár, licensz,
stb.) díjköteles szolgáltatások (illeték, SMS, letöltések száma, stb.)
Elszámoláshoz szükséges adatok gyűjtése Számlázás a kliens vagy külső szolgáltató felé
© Simon Balázs, BME IIT, 2010.
52
Biztonság
Biztonsági előírások felvétele Betartásuk ellenőrzése Szolgáltatáskérések biztonsági szempontból történő ellenőrzése Felhasználók adminisztrációja Elosztott azonosítás (federated authentication) Elosztott adatok integritásának (konzisztenciájának) védelme Tranzakciók felügyelete Adatok gyűjtése a rendszer auditálásának elősegítéséhez
© Simon Balázs, BME IIT, 2010.
53
Felügyeleti sínnel kapcsolatos követelmények Konzol Életjel Naplózás Statisztikák Diagnosztika Tesztelés
© Simon Balázs, BME IIT, 2010.
54
Konzol
Szolgáltatások (beleértve a menedzsmenttel kapcsolatosak) monitorozása, közvetlen elérése, elindítása, leállítása Paraméterek lekérdezése, beállítása Hálózati monitorozás Üzenetek követése Szükség esetén az üzenetekben lévő adatszerkezetek megjelenítése Interceptorok közbeiktatása, üzenetek transzformálása
© Simon Balázs, BME IIT, 2010.
55
Életjel Valós képet kell adni a rendszer aktuális állapotáról Mely szolgáltatások és folyamatok állnak rendelkezésre Melyek vannak üzemen kívül Hol jelentkeznek szűk keresztmetszetek Kritikus helyzetek felismerése, előjelzése Javaslat a konfiguráció megváltoztatására
© Simon Balázs, BME IIT, 2010.
56
Naplózás
Üzenetkezelés szintjén az
Szolgáltatások szintjén a a a a a
üzenetkezelő megfelelő funkcióinak használatakor
szolgáltatás indításakor szolgáltatás igénybevételekor kiszolgálás megkezdésekor szolgáltatás végzése közben opcionálisan bármikor szolgáltatás leállításakor
Adatok tárolása a
felügyelet segítése de az adatvédelmi jogszabályok betartása © Simon Balázs, BME IIT, 2010.
57
Statisztikák
A rendszerre nézve fontos illetve közigazgatási szempontból érdekes indikátorok meghatározása Statisztikák készítése A helyi jelleggel gyűjtött naplók összesítése A naplózott adatok alapján a meghatározott mérőszámok kiszámítása Tipikus szolgáltatásszintű indikátorok:
szolgáltatáskérések száma sikeres/sikertelen kérések aránya hibák teljesítménymutatók szolgáltatási követelmények megsértése (pl. határidők)
© Simon Balázs, BME IIT, 2010.
58
Diagnosztika Folyamatosan új szolgáltatások indulnak Régi szolgáltatások eltűnnek vagy új verziójuk lép életbe Új komponens beállításakor vagy hiba fellépésekor célszerű diagnosztikát futtatni Diagnosztika esetén úgy ellenőrizzük a rendszer működőképességét, hogy a valós adatokon nem történik változás
© Simon Balázs, BME IIT, 2010.
59
Tesztelés
A rendszer részei vagy egésze működhet teszt módban Éles rendszer helyett egy kitüntetett tesztrendszert használunk Funkcionális követelmények vizsgálata Nemfunkcionális követelmények vizsgálata Teljesítménymérések, benchmark-ok készítése Kivételes helyzetek definit körülmények között történő vizsgálata
© Simon Balázs, BME IIT, 2010.
60
Közigazgatás szereplői Állampolgár Szakrendszer Ügyintéző
© Simon Balázs, BME IIT, 2010.
61
Papír alapú közigazgatás
Az állampolgár ügyintézési kérelmet nyújt be Csatolja az igazolásokat, vagy azok másolatait Az ő felelőssége, hogy a megfelelő szakrendszereket a megfelelő sorrendben személyesen felkeresse Az ügyintézők aktákkal dolgoznak Az aktákat fizikailag tárolni kell Az eredményről az ügyfél értesítése postai úton
© Simon Balázs, BME IIT, 2010.
62
Ideális e-közigazgatás
Az ügyfél hitelesen (digitális aláírással) azonosítja magát és belép az ügyfélkapun Kiválasztja a megfelelő ügyet Az ügyintézéshez szükséges, de a szakrendszerek valamelyikénél tárolt adatot nem kell megadni, ez automatikusan összegyűjtésre kerül Csak az egyéb információkat kell biztosítani A szakrendszerek bejárását az ügyfélkapun futó elektronizált folyamat végzi Az ügyintézők is elektronikus űrlapokkal dolgoznak Az eredményről az ügyfél az elektronikus tárhelyén értesül
© Simon Balázs, BME IIT, 2010.
63
Problémák Jelenleg nincs az állampolgároknak saját elektronikus tanúsítványa Az igazolások, illetve ezek másolatai a szakrendszerek valamelyikénél meglévő információként tárolva Az állampolgárnak személyesen kell az egyes szakrendszereknél megjelennie (sorbanállás, utazás, stb.)
© Simon Balázs, BME IIT, 2010.
64