A lap tartalmaMit jelent a szolgáltatásorientált architektúra?Napjainkban az informatikusokra egyre összetettebb informatikai portfóliók felügyelete hárul, és az üzleti igények változása esetén is folyamatosan biztosítaniuk kell az alkalmazott technológiák összhangját az üzleti célokkal. Ha ez nem sikerül, veszélybe kerül a szervezet kellően agilis működése. A probléma jellemzően nem a rendelkezésre álló funkciók hiányából ered, hanem abból, hogy a kritikus fontosságú üzleti rendszerek, például az ügyfélkapcsolat-kezelés (CRM) és a vállalati erőforrás-tervezés (ERP) a többi fontos üzleti rendszertől elszigetelten működnek – annak ellenére, hogy az üzleti folyamatok gyakran több alkalmazásra is kiterjednek. Ahhoz, hogy egy komplex üzleti folyamatról átfogó képet lehessen kapni, az elkülönült adattárak és folyamatok integrációjára van szükség. Régebben ezt a feladatot csak időigényes kézi beavatkozással vagy fixen kódolt, nehezen karbantartható megoldások segítségével lehetett végrehajtani. A szolgáltatásorientált megközelítés lényege az elosztott informatikai erőforrások integrált megoldássá történő szervezése, amelynek révén megszűnnek az elszigetelt adattárak, és a vállalat agilitása is maximális lehet. A szolgáltatásorientált szemlélettel az informatikai erőforrások modulárissá alakíthatók, és olyan rugalmasan összekapcsolt üzleti folyamatok hozhatók létre, amelyek integrált módon kezelik a különböző üzleti rendszerekben tárolt információt. A jól megtervezett szolgáltatásorientált architektúra lényege az olyan üzleti folyamatok megteremtése, amelyek viszonylag mentesek a mögöttes informatikai infrastruktúra jelentette korlátoktól, ez biztosítja ugyanis a vállalatok számára a kellő agilitást. A szolgáltatásorientált architektúra (SOA) alapvetően alkalmas a dinamikus alkalmazások új generációjának megvalósítására (ezeket egyes esetekben összetett alkalmazásnak is nevezzük). Ezek az alkalmazások a felhasználók számára a korábbinál pontosabb, átfogó információkat és betekintést nyújtanak a folyamatokba, az adatok elérése és megjelenítése pedig kellően rugalmas módon – akár a weben keresztül, akár egy ügyfélalkalmazás (ún. „gazdag” kliens) vagy mobil eszköz segítségével – történhet. A dinamikus alkalmazások segítségével a vállalatok hatékonyabban, automatikus módon kezelhetik a korábban manuális feladatokat, összefüggő képhez juthatnak ügyfél- és partnerkapcsolataikról, továbbá olyan üzleti folyamatokat alkothatnak meg, amelyek a belső elvárások mellett a külső szabályozásoknak is megfelelnek. Mindezek eredményeként e vállalatok megfelelő agilitásra tesznek szert ahhoz, hogy kimagasló piaci teljesítményt érjenek el. A SOA meghatározásaA szolgáltatásorientált megoldás a különálló rendszerek integrációjának eszköze, amelyben minden egyes informatikai erőforrás, legyen az egy alkalmazás, rendszer vagy kereskedelmi partner, szolgáltatásként áll rendelkezésre. Ezek a lehetőségek ún. interfészeken (illesztőfelületeken) keresztül érhetők el. Az illesztést bonyolítja, ha az egyes szolgáltatók eltérő operációs rendszerek vagy kommunikációs protokollok segítségével működnek, ami az együttműködő-képesség hiányát okozhatja. A szolgáltatásorientált architektúra szabványos protokollok és elfogadott illesztőfelületek – általában webszolgáltatások – alkalmazásával segíti elő a különböző szolgáltatások üzleti logikájának és adatainak elérését. A SOA kimondottan lehetővé teszi a rendelkezésre álló szolgáltatási lehetőségek és illesztőfelületek folyamatokká történő szervezését. Minden egyes folyamat önmagában is egy szolgáltatásnak tekinthető, amely immár új, összekapcsolt lehetőségeket jelent. És mivel minden egyes új folyamat szabványos illesztőfelületen át érhető el, a szolgáltatók tényleges implementációja szabadon változhat anélkül, hogy ez hatással volna a szolgáltatás felhasználására. Érvek a SOA mellettAz összetett, elosztott informatikai erőforrások gondot jelentenek a vállalatok számára. Gyakran előfordul, hogy a meglévő IT-portfólió nem felel meg eléggé az adott üzleti igényeknek, túl költséges a felügyelete és a fenntartása, és nem elég rugalmas a vállalat növekedése vagy változása esetén. A megoldás azonban nem a meglévő rendszerek és alkalmazások lecserélése, sem teljes frissítése vagy átalakítása, hanem egy olyan módszer keresése, amely alkalmas a meglévő informatikai befektetések hasznosításával a szervezet általános célkitűzéseinek hatékony támogatására. A szolgáltatásorientált szemlélet révén megvalósíthatók az említett célok, mert az egyes rendszerek rugalmasabban képesek reagálni a változó üzleti igényekre, egyszerűbben kifejleszthetők, továbbá egyszerűbben karbantarthatók és felügyelhetők. Ha a vállalatok szolgáltatásorientált architektúrával rendelkező megoldást helyeznek üzembe, felkészülten várhatják a változásokat, ahelyett, hogy csak utólagosan reagálnának azokra. A SOA megalkotóiA SOA készítői szigorú értelemben a fejlesztők és a megoldástervezők, azonban a szolgáltatásorientált megoldásban érdekeltek között számos különböző feladatkörű munkatárs megtalálható, és alapvetően fontos, hogy ezek a személyek maguk is aktívan részt vegyenek a SOA-megoldás tervezésében, ne pedig csak az érdekeiket próbálják meg mások figyelembe venni. Ha már a különböző érdekeket említettük, az üzleti elemzőket elsősorban az foglalkoztatja, hogy az informatikai befektetések összhangban álljanak a vállalat üzleti stratégiájával. A fejlesztők számára ez azt jelenti, hogy a SOA-megoldásnak a különböző forrásokból – üzleti rendszerekből, a munkatársaktól és a kereskedelmi partnerektől – származó adatokat olyan egységes és átfogó nézetbe kell szerveznie, amelynek segítségével az üzleti elemzők jobban átláthatják a különféle beruházások költségeit és előnyeit. A szervezet műszaki igazgatója a fejlesztőkkel együtt dolgozik annak érdekében, hogy az üzleti elemzők igényeinek kielégítésére alkalmas megoldás kialakításakor megőrződjön a meglévő informatikai rendszerek és alkalmazások erőforrásainak integritása – még új lehetőségek kifejlesztése esetén is. Az informatikai vezető, akit az elosztott rendszerek hatékony integrációjának kérdése foglalkoztat az egyszerűbb felügyelet érdekében, szintén a fejlesztőkkel közösen dolgozik e célok megvalósításán. A fejlesztők és a megoldástervezők feladata végső soron olyan dinamikus alkalmazások létrehozása, amelyek a különböző érdekeltek mindegyikének céljait teljesítik. A szolgáltatásorientált megközelítés segítségével ezt oly módon valósíthatják meg, amely a szervezet egészének igényeivel is összhangban áll. Mit nem jelent a SOA?A SOA jelentésével kapcsolatban számos téves értelmezés fordul elő: néhányan azt hiszik, hogy egy megvásárolható termékről van szó (pedig nem – a SOA a megoldás elkészítését leíró tervezési filozófia); van, aki szerint a SOA elkészítése a cél (ez sem igaz – a SOA valójában a cél elérésének eszköze); mások szerint pedig a SOA a technológia és az üzleti folyamatok teljes átalakítását igényli (persze erről sincs szó – a SOA-megoldásokat a meglévő befektetésekre alapozva fokozatosan kell megvalósítani). Gyakori az is, hogy egyenlőségjelet tesznek a SOA és a webszolgáltatások közé, és a két kifejezést felváltva használják. Bár igaz, hogy a SOA egyszerűbben és univerzálisabb jelleggel megvalósítható a webszolgáltatás-alapú szabványok és protokollok széles körű alkalmazásával, két különböző fogalomról van szó. A SOA rendszertervezési szemléletmódot – gyakorlatilag architektúraleíró rajzokat vagy terveket – jelent, amely meghatározza az informatikai erőforrások integrálásának módját, valamint azt, hogy milyen szolgáltatások lesznek elérhetők felhasználás céljából. Ezzel szemben a webszolgáltatások olyan megvalósítási módszert takarnak, amely meghatározott szabványokat és nyelvi protokollokat alkalmaz egy SOA-megoldás kivitelezésére. Teendők a SOA megvalósítása előttMielőtt a fejlesztők akár egyetlen kódsort is megírnának, alapvetően fontos meghatározni a SOA-projekt üzleti hajtóerőit, valamint az üzletvitel és a megoldás alapjául szolgáló technológiák közötti függőségi viszonyokat. Ha figyelmen kívül hagyjuk az üzleti környezetet, olyan projekt állhat elő, ahol a SOA-infrastruktúra kizárólag saját céljait szolgálja, vagy pedig a befektetések nem állnak teljes összhangban a vállalat igényeivel és prioritásaival. A SOA megvalósításának két gyakran alkalmazott módszere a felülről lefelé és az alulról felfelé történő építkezés. Mindkét megközelítés számos lehetséges buktatót rejt magában, ami megakadályozhatja a sikeres megvalósítást. Számos szervezet, amely felülről lefelé építkezve próbált meg SOA-infrastruktúrát bevezetni, azt vette észre, hogy amikor az infrastruktúra végül elkészült, már nem volt szinkronban az üzleti igényekkel. Hasonlóképpen, az alulról lefelé építkező módszer is végződhet kudarccal, mert olyan kaotikusan megvalósított szolgáltatásokhoz vezethet, amelyek kialakításánál nem voltak tekintettel a szervezet céljaira. Az ún. „belülről kifelé” („middle-out”) építkezés a másik két módszer sikeres ötvözete. Elsőként az üzleti hajtóerők és a stratégiai jövőkép alapján világos célokat és prioritásokat kell kitűzni. Ezek alapján a szervezet több egymást követő lépésben dolgozza ki a teljes szolgáltatáskészlet „darabjait”, minden egyes lépésben egy olyan új, dinamikus alkalmazást valósítva meg, amely üzleti megtérülést eredményez a vállalatnak. A Microsoft már régóta támogatja a szolgáltatásorientált architektúrák kialakításának ezt a valós életben is alkalmazható módszerét, amely elsősorban a gyors értékteremtésre összpontosít, és az egymást követő, fokozatos lépéseken keresztül olyan üzleti eredményeket nyújt, amelyek elősegítik az informatikai erőforrások szoros összehangolását a folyamatosan változó üzleti feltételekkel. A SOA életciklusaBármely szervezet alapvető informatikai eszközei közé tartoznak a szervezet adatai, régebbi típusú rendszerei, üzleti célú alkalmazásai, célorientált (ún. „előre csomagolt”) alkalmazásai és kereskedelmi partnerei. A felsorolt erőforrások mindegyike olyan szolgáltatónak tekinthető, amely nagyszámú erősen specifikus kimenet – például leltár- vagy ügyféladatok – előállításáért felelős. A szolgáltatásorientált megközelítés ezeket a különálló, autonóm információforrásokat köti össze, egy sor különböző operációs rendszer, technológia és kommunikációs protokoll áthidalásával. Az erre szolgáló iteratív eljárás lépései a következők: új szolgáltatások létrehozása („közzététel”), nagyobb méretű összetett alkalmazások összeállítása az előző lépésben elkészült szolgáltatásokból, végül a kimenetek rendelkezésre bocsátása az üzleti felhasználók számára, felhasználás céljából. ![]() Közzététel A SOA módszer közzétételi fázisa arra összpontosul, hogy milyen szolgáltatásokat kell létrehozni az alapul szolgáló alkalmazásokból és adatokból. A létrehozott szolgáltatások lehetnek ún. „finom” (amikor is egyetlen szolgáltatás egyetlen üzleti folyamatnak felel meg), illetve „durva” szerkezetűek (ekkor több szolgáltatás működik együtt az üzleti funkciók összefüggő csoportjának végrehajtásához). A közzétételi fázisban a szolgáltatások megvalósítási módja is lényeges. A mögöttes informatikai erőforrások funkciói maguk is rendelkezésre bocsáthatók, ha „beszélik a webszolgáltatások nyelvét”, ellenkező esetben pedig egy adapter segítségével tehetők közzé webszolgáltatásként. Összeállítás Az előző fázisban elkészült szolgáltatások ezután összetettebb szolgáltatásokká, alkalmazásokká vagy több üzleti funkcióra kiterjedő üzleti folyamatokká ötvözhetők. Mivel a szolgáltatások egymástól és a mögöttes informatikai infrastruktúrától függetlenül léteznek, a lehető legnagyobb rugalmassággal ötvözhetők és újrahasznosíthatók. Az üzleti folyamatok változásával pedig az üzleti szabályok és eljárások anélkül módosíthatók, hogy ezt a mögöttes alkalmazások bármilyen módon korlátoznák. Felhasználás Miután egy új alkalmazás vagy üzleti folyamat elkészült, az általa kínált funkciókat hozzáférés (felhasználás) céljából elérhetővé kell tenni más informatikai rendszerek vagy végfelhasználók számára. A felhasználás célja olyan új, dinamikus alkalmazások megvalósítása, amelyek a fokozott hatékonyság mellett az üzleti teljesítmény jobb átláthatóságát eredményezik. A felhasználók a felhasznált szolgáltatást számos különböző módon, például webportálok, helyi ügyfélalkalmazások („vastag kliensek”), Office üzleti alkalmazások és mobil eszközök segítségével is hasznosíthatják. A SOA előnyeiA szolgáltatásorientált architektúra legelőször is a nagyobb üzleti agilitás elérésének eszköze a rendelkezésre álló informatikai befektetések alapjaira építve. A SOA-alapú megoldások összekapcsolják a különböző rendszereket, s ezáltal automatizálják a korábban manuális jellegű információátadási folyamatokat, függetlenül attól, hogy a cél új alkalmazások kifejlesztése, különböző rendszerek, munkacsoportok vagy egymástól távoli leányvállalatok összekapcsolása, netán a kereskedelmi partnerekkel való együttműködés. Ugyanakkor a SOA-megoldások beépítve tartalmazzák azokat a szolgáltatásokat, amelyek elengedhetetlenek ahhoz, hogy a megfelelő erőforrásokat csak a megfelelő felhasználók érhessék el. A SOA előnyei két különböző szinten – az informatikai osztálynál és az üzleti felhasználóknál – jelentkeznek a szervezetben, és összességében végül az előnyök rendkívüli növekedést eredményeznek az agilitás és a hatékonyság terén. Az informatikai osztály szemszögéből nézve a SOA-alapú integrációval egyszerűbben felügyelhetők a különböző platformon elosztott erőforrások, a megoldás pedig kevesebb hardvert igényel, megbízhatóbb, megfelel a szabványoknak és kevésbé költséges. Üzleti szemszögből a SOA a dinamikus alkalmazások új generációjának kifejlesztését teszi lehetővé, amely alkalmas a növekedés és a versenyképesség szempontjából meghatározó jelentőségű számos legmagasabb szintű üzleti kérdés megoldására. A SOA-megoldások előnyei:
A SOA megvalósításakor jelentkező kihívásokA SOA nyilvánvaló üzleti előnyöket eredményez az integrációból és az új szolgáltatások létrehozásából adódóan. Ha azonban nem szentelnek kellő figyelmet az irányításnak – azaz a szolgáltatásokkal kapcsolatos felügyeleti és megfigyelési feladatoknak, illetve a szolgáltatások teljesítményének, megbízhatóságának és különösen biztonságának –, ez elégtelenségeket okozhat a rendszerben, és az üzleti folyamatok mellett az általuk kiszolgált felhasználók munkáját is megzavarhatja. Alapvetően fontos, hogy az üzleti igények változása esetén megfelelő irányelvek álljanak rendelkezésre a tervezett megvalósítás előtt álló új üzleti folyamatok és szolgáltatások fontossági rangsorolásához, a folyamatok megtervezéséért felelős személyek kijelöléséhez, a megvalósítás módjának meghatározásához, valamint az új bevezetések sikerének méréséhez. Mindez különösen fontos a SOA-megoldások több üzleti funkcióra kiterjedő természete miatt. A szolgáltatások újrahasznosítása, amiről korábban a SOA első számú előnyeként hallhattunk, valójában csak a szemléletmód „mellékterméke”, nem pedig a cél maga. Az újrahasznosítás ezenkívül a gyakorlatban a vártnál nehezebbnek bizonyult. A meglévő szolgáltatások nem feltétlenül biztosítják pontosan azokat az adatokat, amelyekre egy másik üzleti folyamatnak szüksége van, ezért további munkát tehetnek szükségessé. A szolgáltatások későbbi újrahasznosításra is alkalmas módon történő megtervezése pedig a jövőbeni igények pontos előrejelzését igényli, amiről köztudott, hogy nem egyszerű feladat. A szervezet első lépései a SOA megvalósítása felé
|