Az elmúlt időszakot az jellemezte, hogy a vállalatok az egyes üzletágak bizonyos feladatainak ellátására vásároltak rendszerek, amelyek aztán IT-részleg többnyire csak üzemeltetett. Így alakultak ki a szigetrendszerek vagy silók. Ezek a rendszerek különböző platformokra, különböző technológiával készültek, és adott üzleti területeket csak a "bedrótozott" folyamat szerint támogatnak, nincsenek felkészítve a folyamatok módosítására és más üzleti folyamatokhoz kapcsolására.
A szükségessé váló alkalmazásintegrációt többnyire pont-pont alapon, sokféle egyedi technikával oldották meg, tovább növelve a komplexitást. De nemcsak a funkciók és folyamatok vannak silókba zárva, hanem az adatok is, amelyek heterogén formájúak és inkonzisztensek, ami rendkívül megnehezíti azok egységes vállalati szintű kezelését.
Ebben a környezetben a "visszapillantó tükör" jellegű IT-költségvetés a jellemző: a költségek nagy része az üzemeltetésre és karbantartásra megy el, kevés jut stratégiai célokra, a versenyképességet javító új fejlesztésekre.
Ugyanakkor napjaink üzleti elvárásai lényegesen megváltoztak az IT-vel szemben.
Mit várunk az IT-től?
ˇ Gyors, rugalmas reagálást a piaci változásokra (time to market).
ˇ Vállalati szintű és a vásárlókra, partnerekre kiterjesztett folyamatok automatizálását/informatikai támogatását, pl. az elektronikus értékesítési csatornák kiszolgálását.
ˇ Átlátható, rugalmasan alakítható, mérhető üzleti folyamatok kialakítását.
ˇ Egységes vállalati adatnézetek és törzsadatok biztosítását.
ˇ Az IT-költségek szinten tartását és ésszerűbb felhasználását
ˇ Az IT-beruházások üzleti prioritások szerinti megvalósítását
ˇ Meglévő rendszereinket a kockázatok és költségek miatt csak indokolt esetben cseréljük le.
ˇ Nem akarunk hosszú ideig tartó, kockázatos, nagy átalakításokat.
Ezek az elvárások erősen függenek az IT rugalmasságától, hatékonyságától, és jelzik, hogy a meglévő architektúrával, illetve irányítási megközelítéssel ezen üzleti célok nem érhetők el. A problémák elsősorban a folyamatok, alkalmazások és adatok integrációja, valamint a fejlesztés és üzemeltetés hatékonysága körül jelennek meg.
Mivel az üzleti igények általánosak és sürgetők, az IT-iparág kialakította válaszát: a SOA (Service Oriented Architecture), magyar terminológiával Szolgáltatás Alapú Architektúra, az a megközelítés, ami a fenti elvárásokat biztosítani képes, és az informatikai ipar fejlődésének hajtóerejévé vált.
A SOA informatikai stratégia
Technikai megközelítésben a SOA egy architektúra és technológiai modell, amely lehetővé teszi, hogy különböző alkalmazásokban (alkalmazáscsomagok, egyedi fejlesztésű alkalmazások stb.) megvalósított különálló üzleti és technikai funkciókból, szolgáltatásokból üzleti folyamatokat megvalósító alkalmazásokat állítsunk össze.
Tágabb megközelítésben a SOA informatikai stratégia, amely irányítja az egységes SOA alapú vállalati architektúra kialakítását és a vállalati alkalmazásokban található diszkrét üzleti és technikai funkciók együttműködő, szabványokon alapuló szolgáltatásokká szervezését, azaz meghatározza az IT működési és megvalósítási folyamatait és előírásait (lásd az 1. ábrát).
A SOA stratégiának két, egymással szorosan összefüggő része van, a szolgáltatás-infrastruktúra (SOA architektúra) vagy másképpen a működtető technológia és a SOA irányítás (SOA Governance).
Szolgáltatás-infrastruktúra
A SOA nyílt, szabványos komponens technológia, amelynek építőelemei a szolgáltatások. A szolgáltatások önállóan is működőképesek, platform- és eszközfüggetlenek (tetszőleges technológiával készülhetnek), szabványos, jól definiált interfésszel rendelkeznek, és szabványos adatcsere- és kommunikációs protokollokkal érhetők el az elosztott hálózatokban.
A szolgáltatások két alapvető típusát különböztetjük meg. Az üzleti szolgáltatások teljes vagy rész üzleti funkciókat valósítanak meg (ügyfélkezelés, számlakezelés stb.). Az üzleti szolgáltatások megvalósításához az egységesítés és újrafelhasználás érdekében nélkülözhetetlenek a technikai szolgáltatások, amelyek alacsonyabb szintű építőelemek, és az üzleti felhasználók számára nem láthatók. Technikai szolgáltatás például a naplózás, az archiválás, a dokumentumtárolás, a megjelenítési szolgáltatások stb. A szolgáltatások összekapcsolásából úgynevezett kompozit alkalmazásokat építhetünk kódolással vagy dinamikus láncolással, utóbbit üzleti folyamatkezelő eszközök segítségével.
A szolgáltatásokra alapozott alkalmazások megvalósításához azonban nem elegendő a komponens alapú architektúra - még akkor sem, ha a szolgáltatások mint üzleti logika egységek vannak megvalósítva - mert egyrészt a nagy számú szolgáltatás tervezési és végrehajtási szintű kezelése speciális megoldásokat igényel, másrészt a hagyományos komponenstechnológiában a folyamatvezérlés, az integrációs mechanizmusok és a szükséges adattranszformációk bele vannak kódolva a komponensekbe. Komoly gondok forrása az egységes, közös törzsadatok hiánya is. Ezért a Szolgáltatás Alapú Rendszerek kialakításához és működtetéséhez az erre a célra szolgáló SOA architektúrára van szükség.
A SOA infrastruktúra részei
Szolgáltatások: a SOA alapú IT-működés esetén a fejlesztők a projektekben monolit alkalmazások helyett önállóan is életképes technikai és üzleti szolgáltatásokat hoznak létre, alakítanak ki, és azokat szabványos interfészen keresztül publikálják. Az alap üzleti és technikai szolgáltatások összekapcsolásával építhetők fel az üzleti folyamatokat támogató összetett, illetve folyamatcentrikus szolgáltatások.
Folyamatszolgáltatások (Business Process Management): a folyamatok vezérlését, automatizálását megvalósító szolgáltatások, amelyeket a SOA architektúrában üzleti folyamatvezérlő eszközök biztosítanak, amelyek lehetővé teszik a humán feladatok támogatását (workflow) és a folyamatok automatizálását a folyamatelemeket megvalósító szolgáltatások láncolásával, továbbá lehetővé teszik a folyamatok szüntelen monitorozását. A BPM motorok és az üzleti aktivitást monitorozó modulok (BAM) a SOA architektúra fontos elemei, hiszen a SOA megközelítés alapvető célja a rugalmas, könnyen módosítható üzleti folyamatok megvalósíthatóságának a támogatása.
Üzletialkalmazás-szolgáltatások: az újonnan fejlesztett üzleti szolgáltatások futtató környezete. Célszerűen Java J2EE vagy .NET alkalmazásszerveren futó szolgáltatások, de minden más olyan környezet is lehet, amelyben lehetőség van szabványos interfészekkel és kommunikációs felülettel szolgáltatásokat publikálni.
Szolgáltatásbusz (ESB): a SOA alapú IT-infrastruktúra idegrendszerként funkcionál; egységes, központilag menedzselt kommunikációs és biztonsági szolgáltatásokat nyújt a szolgáltatások és SOA infrastruktúra elemeinek az összekapcsolására, valamint a szolgáltatáshoz kapcsolódó szabályzatok és nem funkcionális követelmények érvényesítésére.
Szolgáltatástár (Registry-Repository): a SOA alapú IT-működés és irányítás a szolgáltatásdefiníciók és a kapcsolódó követelmények központi tárolásával lehetővé teszi a szolgáltatás tervezési és fejlesztési ciklusának hatékony menedzselését, beleértve a publikálást, újrafelhasználást, a függőségek, verziók és követelmények kezelését.
Elérési (access) szolgáltatások: azokat a technikai szolgáltatásokat soroljuk ebbe a kategóriába, amelyek segítségével biztosíthatjuk a meglévő alkalmazáscsomagokban (ERP, CRM, SCM stb. ) és egyedi fejlesztésekben található funkciók szolgáltatásként való publikációját.
IT Service Management: monitorozza, menedzseli és biztosítja a szolgáltatásokat, alkalmazásokat és erőforrásokat. A SOA alapú IT-működés nagyon fontos része, hogy a szolgáltatások különböző aspektusait mérni tudjuk, beleértve a szolgáltatás felhasználásának mértékét, a nem funkcionális követelmények teljesülését, az adatforgalmat, a SOA infrastruktúra komponenseinek a rendelkezésre állását stb. A folyamatos mérések lehetővé teszik a hibák gyors elhárítását és a hatékony üzemeltetést, sőt az üzleti folyamatok optimalizálását is.
Üzleti monitorozás, dashboard: a SOA megközelítés egyik alappillére a rugalmas, átlátható és mérhető üzleti folyamatok biztosítása. Ezért a SOA architektúra az üzleti vezetés számára is biztosít üzleti szemléletű monitorozási és beavatkozási felületeket, ahol az üzleti teljesítménymutatók figyelemmel kísérhetők, és lehetőség van a beavatkozásra.
Front-end rendszerek, a szolgáltatások felhasználói: a szolgáltatásokat különféle alkalmazások használhatják, amelyek közül a legfontosabbakat emeljük ki. A Business Process Management Solution (BPMS) segítségével szolgáltatásokból üzleti folyamatokat lehet felépíteni akár az IT bevonása nélkül is - így ezek a folyamatok rugalmasan, gyorsabban és kisebb költséggel módosíthatók, hiszen a központi folyamatvezérlés megszünteti a fejlesztés és működtetés redundanciáit. Az egységes vállalati intra/internet Portál biztosítja az alkalmazottaknak és az ügyfeleknek az egységes, de személyre és szerepkörre szabható, több csatornán elérhető felhasználói felületet. A B2B/B2C megoldásokkal a szolgáltatások biztonságosan elérhetővé tehetők az üzleti partnereknek és ügyfeleknek. A felhasználói felületek kialakítását a prezentációs és kollaborációs szolgáltatások teszik gyorsabbá és egységesebbé.
SOA-irányítás
A SOA infrastruktúra, a szolgáltatások és az ezekre épülő üzleti alkalmazások megtervezése, megvalósítása és működtetése a korábbi silók üzemeltetéséhez képest gyökeresen új megközelítést igényel. A SOA előnyei csak megfelelő irányítás mellett érhetők el. A SOA-irányítás az IT-irányítás kiterjesztését jelenti a szolgáltatások teljes életciklusára a tervezéstől a megvalósításon és tesztelésen át az üzemeltetésig. A SOA-irányítás feladata nem a silók, hanem a szolgáltatások és a szolgáltatásokból épülő alkalmazások fejlesztése és üzemeltetése, másrészt a szigetszemlélet helyett a teljes IT-infrastruktúrában, szolgáltatatás- és alkalmazás portfólióban mint egy virtuális egészben kell gondolkodni. Ugyanez igaz az üzleti folyamatokra is, a helyi üzletági folyamatok mellett a teljes vállalaton átívelő és sok esetben azon túlnyúló folyamatokban kell gondolkodni.
Az SOA-irányítás fő alkotóelemei a következők:
SOA irányítási modell: meghatározza a szerepköröket, a döntési jogokat, a kapcsolódó mérési és ellenőrzési mechanizmusokat és folyamatokat, amelyek az IT-döntések előkészítéséhez, meghozatalához és végrehatásához szükségesek. A döntési és végrehajtási mechanizmusuk szabályzatokon (policy) alapulnak, amelyek meghatározzák pl. az alkalmazások architekturális szabályait vagy a csomagalkalmazások kiválasztási szempontjait. Az irányítási modellnek fontos eleme a projektfinanszírozási szabályzat, valamint a folyamattulajdonosok és -szponzorok meghatározása. Az irányítási modellben el kell helyezni a SOA kompetenciaközpont feladatait és felelősségi körét is.
SOA referencia-architektúra: ez írja le teljes vállalati SOA architektúra tervét teljes kiépítés esetén. A referenciamodell meghatározza az alkotóelemeket, azon belül is a modulok szétválasztását és kapcsolódását, ami lehetővé teszi a SOA infrastruktúra lépcsőzetes, inkrementális fejlesztését. Az izoláció és a kapcsolódás az ESB-n keresztül történik. Mivel a referencia-architektúra kialakítása hosszú távra szól, a beruházás értékállósága és későbbi módosíthatósága végett célszerű nyílt szabványokat alkalmazni. A SOA architektúra komponens alapú fejlesztést tesz lehetővé oly módon, hogy a komponensek, azaz szolgáltatások üzleti feladatokat valósítanak meg, a folyamatvezérlés, biztonsági elemek és az integrációs/kommunikációs funkciókat nem kell és nem is szabad a szolgáltatásokba bekódolni, azokat egységes, újrafelhasználható módon a SOA infrastruktúra biztosítja.
SOA ütemterv (Roadmap): ez a a SOA infrastruktúra kialakításának terve, amely a referencia-architektúra teljes kiépítéséhez szükséges lépéseket és azok várható ütemezését tartalmazza. Fő területei: alap infrastruktúra (ESB, BPM, Registry stb. bevezetése), üzleti funkció típusú szolgáltatások (pl. hitelezési vagy ügyfélszolgálati folyamatok elemei), információelérési szolgáltatások (pl. központi dokumentumkezelő szolgáltatásainak publikálása), közös IT-szolgáltatások (egységes logolás, felhasználó azonosítás stb.). A referencia-architektúrát és az ütemtervet az üzleti célok és megszerzett tapasztalatok alapján rendszeres felül kell vizsgálni!
Metrikák: a SOA metrikák és siker kritériumok felállítása és bevezetése vállalatonként változó, egyedi és nem feltétlenül egyszerű feladat. A SOA sikerességét három fő szempont alapján lehet talán a legjobban mérni: üzleti előnyök, IT-előnyök, továbbá szolgáltatások és kapcsolódó erőforrások újra felhasználásának a szempontjából.
Az irányítási modell és az ütemterv tervezéséhez el kell végezni az aktuális IT-környezet és a vállalati üzleti folyamatok nagyvonalú felmérését, valamint az aktuális IT-irányítási képességek és irányítási struktúra részletes felmérését és figyelembe kell venni a vállalat üzleti terveit és prioritásait.
A SOA bevezetésének egyik leginkább hangsúlyozott előnye az újrafelhasználhatóság. Ugyanakkor fontos megjegyezni, hogy nem minden vállalatnak egyforma fontosságú és jelentésű az újrafelhasználás. Ez jelentheti egyrészt a meglévő alkalmazás silókba zárt szolgáltatások újrahasznosítását, illetve az újonnan kifejlesztett szolgáltatások, törzsadatok képességét arra, hogy későbbi projektekben újra lehessen hasznosítani őket. Mindkét esetben igaz, hogy az újrafelhasználást igen jól lehet mérni: hány projektben lett hasznosítva egy adott szolgáltatás, hány meglévő szolgáltatást sikerült a SOA rendszerbe integrálni és felhasználni.
A SOA másik, sokszor emlegetett előnye az agilitás, amely már sokkal absztraktabb, nehezebben mérhető fogalom. Az agilitásnak sok oldala van, ezekből talán a következők a legfontosabbak:
ˇ Üzleti vagy IT-igény megvalósításához szükséges idő.
ˇ SOA rendszer toleranciája; üzleti igények szintje, amelyeket a SOA, illetve IT-architektúra jelentős változtatása nélkül meg lehet valósítani.
ˇ Az üzleti igények száma, amelyeket a SOA rendszer képes gyorsan kielégíteni.
A fejlesztési és az üzemeltetési költségek csökkenése azok a további területek, ahol az előnyök megjelennek. Itt az összehasonlíthatóság érdekében a korábbi és az új projektekben is szükség van az összehasonlításhoz megfelelő részletezettségű ráfordításmérésekre, ami általában a korábbi időszakokra nem áll rendelkezésre, de bevezetésük is ellenállásba ütközik.
Befejezésként a SOA alapú IT-működést szeretnénk érzékeltetni néhány fontos kérdés kiemelésével. A SOA architektúra és a szolgáltatások kialakítása lépésekben, az üzleti prioritásokat figyelembe vevő, a szolgáltatásokat felhasználó üzleti projektekben történik. A projektek tervezését és irányítását SOA-irányításban meghatározott folyamatok mentén és az érvényes szabályzatoknak megfelelően kell végrehajtani. A tervezés során, a tervezés alatt álló projekt igényei, a SOA ütemterv és a rendelkezésre álló szolgáltatás katalógus alapján a felelős üzleti és IT-szakértőknek el kell dönteni, hogy a projekt során milyen SOA infrastruktúra- és irányítási elemeket kell bevezetni vagy módosítani, milyen új üzleti és technikai szolgáltatásokat fejlesztenek ki és milyen meglévő szolgáltatásokat használnak fel a projektben készülő alkalmazáshoz. Ugyancsak határozni kell a projektfinanszírozásról. A projekt során újonnan fejlesztendő közös szolgáltatásokat lehet pl. az üzleti projekt költségvetéséből vagy részben/teljes egészében központi SOA költségvetésből finanszírozni. A SOA infrastruktúra- és irányítási elemek bevezetését a SOA kompetenciaközpont végzi. Ugyancsak az ő feladatuk az üzleti projektekben folyó szolgáltatásfejlesztés ellenőrzése és szakmai támogatása.
A SOA előnyei
ˇ Az üzlet és az IT hatékonyabban képes együttműködni: az IT hatékonyabban és gyorsabban ki tudja szolgálni a gyorsan változó üzleti igényeket. Az üzleti folyamatokban és szolgáltatásokban gondolkodás biztosítja a közös nyelvet az Üzlet és IT között.
ˇ Átfogó, a teljes vállalati IT-t és üzleti folyamatokat egységben kezelő, az üzlettel szorosabban együttműködő IT-irányítás alakítható ki.
ˇ Rugalmas, átlátható, mérhető, monitorozható vállalati és kiterjesztett üzleti folyamatok alakíthatók ki.
ˇ Rövidül a piacra jutás átfutási ideje (time to market).
ˇ Az IT-alkalmazások konszolidációja jellemzi. A szolgáltatásokba szervezéssel, a törzsadatok egységes kezelésével hosszú távon megszüntethetők a redundáns alkalmazások.
ˇ Inkrementális, üzleti prioritások szerint, lépésenként alakítható ki az új SOA architektúra, a technikai és üzleti szolgáltatások, új üzleti folyamatok, illetve végezhető el az alkalmazáskonszolidáció.
ˇ Csökkennek az üzemeltetési és adminisztratív költségek. Az alkalmazáskonszolidáció miatt kevesebb alkalmazást kell üzemeltetni. Az üzleti folyamatok és törzsadatok, szolgáltatásközpontú megközelítése radikálisan csökkenti az operátorok napi adminisztratív teendőit, illetve egy hiba elhárításához jóval kevesebb időre van szükség.
ˇ Egységes fejlesztési és üzemeltetési módszertant lehet bevezetni, ezáltal mind csökkenthetők a külső és a belső erőforrások, illetve javul a tervezhetőség.
ˇ Szabványok alkalmazása jellemzi. Így lehetővé válik, hogy az egyes szolgáltatásokat a funkcionális és nem funkcionális, illetve egyéb követelményeknek legmegfelelőbb szállító biztosítsa. Emellett elkerülhetővé teszik, hogy a cég csak egy beszállítótól függjön, ráadásul a kiélezett versenyhelyzet jobb és költséghatékonyabb megoldásokat biztosít.
ˇ A fejlesztési költségek csökkentésének három fő forrása van: egyrészt lehetővé válik a kód-újrafelhasználás az üzleti és technikai szolgáltatások újrahasznosításával, másrészt nő a kódolási hatékonyság. A folyamatok vezérlését, biztonsági szolgáltatásokat, a törzsadatkezelést és az integrációs/transzformációs logikát a SOA infrastruktúra biztosítja, és itt jelentkezik a költségcsökkentés harmadik forrása, az egységes fejlesztési módszertan és joggyakorlat.
Kovács András - IQSYS
A SOA a jövő üzleti és architekturális modellje
A cégek áttekinthetetlen informatikai rendszereire a megoldás nem az IT-költségvetés növelése, hanem a szemléletváltás az irányításban.
Hirdetés
Hirdetés