Annak érdekében, hogy a szolgáltatás-orientált architektúra nagy szervezeteken belül és azok teljes értékláncolatán keresztül működni tudjon, a technológiának megfizethetőnek kell lennie, és olyan módon kell alkalmazni, hogy az tükrözze azt a valós helyzetet, melyben a szervezet implementálja. A SOA rugalmas kell, hogy legyen, valamint nyitott a helyi igényekre és az apró politikai különbségekre, de ugyanakkor kiterjedt kell legyen, így a helyi kezdeményezések egy igazi vállalati SOA-ba beépíthetők.A SOA-nak menedzselhetőnek kell lennie. Ez a cikk annak az okait vizsgálja, hogy miért lassult le a SOA befogadása a szervezeti- és költségkorlátok hatására, valamint a lehetséges, a nyílt forráskódú alternatívák előnyeit kihasználó megoldásokat taglalja, mellyel lehetővé válik a kezelhető, költséghatékony SOA megvalósítása, ami befektetési megtérülést hoz, és csökkenti a politikai korlátokat.
Nagyobb a SOA körüli hírverés, mint a cselekedetek?
A SOA körüli hírverés vitathatatlan. Minden nagyobb IT piaci résztvevő piacra dobott már legalább egy SOA márkát, és a 2005-ös 1,4 millióról a Google SOA keresőkifejezéseinek száma 2006-ban 72 millióra nőtt, emellett az eBizQ által megkérdezett vállalatok 64 százaléka azt nyilatkozta, hogy SOA-t akarnak használni az üzleti hatékonyság növelésére.
A SOA tényleges használata azonban sokkal kevésbé meggyőző. Egy 2007. áprilisi Evans Data felmérés szerint a vállalati szintű fejlesztők kb. egynegyede használ SOA-t, míg további 28 százalék 2009-ig tervezi a SOA bevezetését. Ugyanezen felmérés szerint az ESB-k (Enterprise Service Bus) körülbelül a nagyvállalatok 15 százalékénál vannak jelen, és a felmérés szerint ez a szám 2009-re 30%-ra nő. Ha mélyebbre ásunk, azt tapasztaljuk, hogy a SOA mögötti számok még csüggesztőbbek. A SOA-t alkalmazó vállalatok 20 százaléka esetén beszélhetünk csak több mint 50 élesüzemű webszolgáltatásról. Másszóval, a legtöbb IT szakértő a technológiát még csak kísérleti fázisában, tesztelés és pilot projektek során használja.
Ezek a számok nem tűnnek túl bizalomgerjesztőnek, főleg azután, hogy annyit hallhattunk már a SOA-ról 2001-es megjelenése óta. Nem 2003 kellett volna, hogy a SOA éve legyen, vagy 2004, 2005 és így tovább? 2005-ben a Gartner azt jósolta, hogy 2008-ra a fejlesztési projektek 80 százalékának alapja a SOA lesz. Már hat éve vagyunk ennek az állítólag korszakalkotó trendnek a részesei, és még mindig a 25%-os befogadás szintjén vagyunk. Mi tart ilyen sokáig?
A tények úgy tűnik azt sugallják, hogy a vállalati SOA akadályba ütközött a befogadás felé vezető úton. Annak a megértéséhez, hogy ez az akadály miért állta olyan makacsul az útját a SOA-nak az elmúlt néhány évben, foglalkoznunk kell néhány legendával és SOA tévhittel. Ha tovább szeretnénk haladni a SOA ígéretének megvalósítása útján, akkor meg kell találnunk a módját annak, hogy a legjobbat hozzuk ki a SOA-ból anélkül, hogy áldozatul esnénk a befogadást megakadályozó erőknek.
A SOA körüli mítosz és valóság
A SOA támogatóitól gyakran hallhatjuk, hogy a webszolgáltatások, melyek a SOA részei, a szoftverek ismételt használatán keresztül lehetővé teszik az üzleti hatékonyság, és az IT költségek csökkentését. Az érv a következőképpen szól: miután egy szoftvert webszolgáltatásként használunk, több ügyfél (kliens) újra felhasználhatja azt, ezáltal a szoftverfejlesztési költségek és a projekt ciklus ideje is csökken. Továbbá, az üzleti folyamatok lépései, melyeket a webszolgáltatásba leképeztünk, szintén újból használhatók több üzletágban is, minimális járulékos költséggel és gyors bevezetési ciklussal.
Míg a szoftver ismételt használatán keresztül megvalósuló költségcsökkenés és hatékonyság a webszolgáltatások elméleti tulajdonságain alapul, a valós körülmények között megvalósuló implementáció gyakran meglehetősen különbözik ettől. Az ismételt felhasználás nem mindig jelentkezik életképes megoldásként, és számos nagy szervezet csak azt veszi észre, hogy visszatér a hagyományos alkalmazás-integráció, a szoftver újrafejlesztés, illetve a manuális, vagy nem létező üzletifolyamat-végrehajtás már ismert folyamataihoz. Összegezve: a SOA által ígér megtakarítások és hatékonyság nem mindig nyilvánvalóak, ezt a tényt pedig a láthatóan lassú SOA befogadás alapozza meg. A vállalatok egy kissé szkeptikusak a SOA hírveréssel kapcsolatban, így tehát fokozatosan közelítik azt meg.
Az ismételt felhasználás alacsony arányának és az ebből eredő lassabb SOA befogadásnak számos oka lehet. Azonban az IT eszközök tulajdonlásával, kezelhetőségével kapcsolatos szervezeti politikák, valamint a tulajdonosi SOA gyártók platformjainak összetettsége, illetve költsége tűnik a legelterjedtebbnek a vállalati SOA befogadását gátló tényezők közül. Abban az esetben, ha az előzetes SOA érv szerint a SOA befektetési megtérülést eredményez a szoftver ismételt használatán keresztül a különböző üzletágakban, akkor a túlsúlyban lévő, valóságon alapuló tények azt mutatják, hogy az újból felhasználható webszolgáltatások megosztása nem olyan könnyű, mint amilyennek tűnik. Nézzünk egy példát, hogy megértsük a SOA terjedésének gátjait!
Képzeljük el, hogy egy nagy bank azt akarja felmérni, hogy mekkora a potenciális befektetési megtérülés, ha webszolgáltatásokat használ számlakezelési és hitelkártya-rendszerében, melyeket különálló részlegek kezelnek. Egy ilyen SOA kezdeményezés kezdeti előnye lehet az, hogy a webszolgáltatások használhatók a hiteltúllépés megakadályozása során a hitelkártya-számlák és bankszámlák egymásnak megfeleltetésekor. Az ilyen webszolgáltatások ismételt használatából eredő potenciális befektetési megtérülés olyan programokat is magában foglalhat, melyek növelik a hitelkártya marketing hozamát azáltal, hogy magasabb minőségű és még inkább valósidejű bankszámla adatokat integrálnak a cél marketing folyamatba. A túldiszponált számlákkal rendelkezőket meg lehetne célozni hitelfejlesztő programokkal, hiteltúllépés védelemmel stb., magas járulékos költségek nélkül.
Ezek azok a felhasználási esetek, melyekről a SOA támogatói már évek óta beszélnek. Ahol ezek az ötletek meghiúsulnak, az az implementáció fázisa. A SOA terv különösen a valós szervezeti kérdések és platform függőségek szempontjából hiányos. A bank példánk esetén valószínűleg nincs megegyezés, vagy talán még eszközök sincsenek a megegyezés elérésére azzal kapcsolatban, hogy hogyan tovább a SOA terv megvalósítása kapcsán. Minden részlegnek megvan a saját működési terve, IT működése, végrehajtást ösztönző tényezői, és számos más, függetlenséget elősegítő szerve, melyek megakadályozzák a részlegeken keresztüli könnyű együttműködést egy-egy főbb IT projekt esetén. A SOA szerves jellemzője, vagyis hogy lehetővé teszi az együttműködést, egyáltalán nem garantálja, hogy ilyen együttműködésre sor kerül.
Egy SOA platform kiválasztása egyaránt lehet megosztó és káros. Minden részleg rendelkezhet saját SOA platformmal, és az új processzor licencek hozzáadása megakadályozhatja azt a fajta gördülékeny ismételt felhasználást, melyről a SOA támogatói beszélnek.
A legtöbb SOA helyi szintű. Mint számos IT projekt, a webszolgáltatások fejlesztése és a SOA is tipikusan egy kifejezett üzleti csoport érdekeit tükrözik. Az IT majdnem minden vállalat esetén, az üzletágak szintjén szolgáltatásokat nyújt a menedzsment számára. Például a nagyvállalatok működési részlegei rendszerint saját, erre szánt, félig autonóm IT részleggel rendelkeznek. Néha a részlegek műszaki vezetői nem is ismerik egymást. Az üzletágak menedzserei a lehető legmélyebb tudással rendelkeznek arról, hogy az IT hogyan szolgálja céljaikat a legjobban, és rendszerint ők azok, akik ezért fizetnek.
Mire van szükség?
Annak érdekében, hogy a SOÁ-t felkarolják és beváltsa ígéreteit, a vállalatoknak a pénzügyi helyzetüknek megfelelően kell tudniuk webszolgáltatásokat fejleszteni és futtatni. Ha a SOA túl drága, összetett, vagy politikailag kihívást jelent, a technológia nem fog elterjedni. Akkor hogyan lehetséges, hogy olyan SOÁ-t építsünk fel, amely felülkerekedik ezeken a politikai és pénzügyi korlátokon? A SOA stratégia sikerességének feltétele egy nagy szervezeten belül egy olyan vállalati szintű műszaki igazgató, aki képes egy vízió kialakítására, egy sor architekturális cél kitűzésére és terv megfogalmazására, valamint a pénzeszközök elosztásában közvetíteni. A műszaki igazgatókat a pénzügyi vezető támogatja, aki a SOA kezdeményezéseket a költségvetés kialakításának folyamata során érvényesítheti.
Egy vállalati architekturális ellenőrző csoport kialakítása elősegítheti a jobb ismételt felhasználást, a jobb technológiai döntéseket, illetve a jobb befektetési megtérülést. A vállalati stratégia és a vezetés kulcsfontosságú, azonban nem elegendő ahhoz, hogy a SOA sikerét elősegítse. Ahhoz, hogy a SOA nagy szervezeteken belül működjön, a technológiának megfizethetőnek kell lennie. Egy egyszerű, nyílt és megfizethető SOA platform számára hosszú az út, míg a fent említett problémák orvoslásra kerülnek. Néhány kedvező kereskedelmi SOA platform ajánlat ellenére nehéz igazolni a SOÁ-ba történő befektetés megtérülését: magas az áruk, programozási modelljük összetett, és hosszú az implementációs ciklusuk, továbbá a szervezet helyzete a széleskörű elfogadást gátolják. Miért is fizessen egy pénzügyi vezető több millió dollárt egy gyártó ESB-jéért, amikor a befektetési megtérülése attól függ, hogy egy másik részleg webszolgáltatásait újból felhasználja, és az a részleg, már rendelkezik ESB-vel egy másik gyártótól? A pénzügyi vezető talán az előzőleg már kifizetett megoldást akarja alkalmazni, azonban a részleg nem biztos, hogy tudja, azt hogyan kell használni, vagy nem tudnak megegyezni a költségek megosztása szempontjából, és így tovább. Az egyik részleg kifizeti vajon a drága processzor licenceket, hogy a másik részleg ESB-jéhez és SOA szolgáltatás fejlesztési platformjaihoz kapacitást adjon hozzá?
Ahhoz, hogy a menedzselhető SOA-t elérjük, olyan webszolgáltatások fejlesztésére szolgáló fejlesztési eszközökkel és platformokkal kell indulnunk, melyek viszonylag alacsony befektetést képviselnek. Ez valószínűleg azt jelenti majd, hogy a nyílt forráskódú eszközök és platformok összességében (támogatással és szolgáltatásokkal, stb.) alacsony áron érhetők el. A példánkra visszatérve, ha a két bankrészleg megosztott SOA alkalmazásában egyezik meg, akkor mind a kettő alacsony kezdeti befektetéssel tud belépni a folyamatba, és azzal a képességgel, hogy menedzseljék a SOA alkalmazását; néhány politikai kihívás magától megoldódik majd. Ideális esetben a teljes SOA kifejlesztéséhez szükséges erőforrások, beleértve a az infrastruktúráját, a létező költségvetésen belül találhatók minden olyan üzletág esetén, melynek szüksége van rá.
Ez tisztán szervezeti kérdéseket vet fel. Ahhoz, hogy a menedzselhető SOA működjön, a szervezetek valós körülményeit kell tükröznie, nem pedig azt, ahogyan azoknak ki kellene nézniük. Ez azt jelenti, hogy a SOA-nak rugalmasnak és nyíltnak kell lenni a helyi igényekre, de átfogó kell legyen, így a helyi kezdeményezések egy igazi vállalati SOÁ-ba egyesíthetők. A SOA erőfeszítésnek fel kell ölelnie a létező SOA infrastruktúrát, mialatt nagyobb rugalmasságot és alacsonyabb költségeket tesz lehetővé.
A legtöbb nagy SOA projekt felülről lefelé irányuló. Ez azt jelenti, hogy a műszaki igazgató és magas szintű IT döntéshozók együttműködésben a magas szintű üzleti döntéshozókkal meghatározzák a SOA kiterjedését és a költségvetést. A projekt ezután a fejlesztők és az IT működtetési munkatársak szintjére kerül. A gyakorlatban azonban számos mai SOA erőfeszítés lentről felfelé irányuló; a fejlesztőkkel indul, akik egyszerű, alacsony költségű webszolgáltatási eszközökkel kísérleteznek, mint például a Microsoft VisualStudio.NET, vagy a JBoss Application Server. Számos nagy SOA projekt valójában az innovatív fejlesztők által kifejlesztett webszolgáltatások ellenőrzésének kézbentartásáról szól.
A menedzselhető SOA a lentről felfelé irányuló fejlesztést bátorítja, de egységes vezérlést, alacsony költségű platform kompononenseket használ, illetve platformok közötti közvetítést, hogy lehetővé tegye a szimultán fentről lentre irányuló menedzsementet és ellenőrzést. Mindkét fél számára ez a legjobb megoldás és a menedzselhető SOA azáltal, hogy kiterjeszti magát a szervezeti határokon túl ilyen egységes módban, felgyorsítja a SOA érték biztosítását a vállalat számára.
A menedzselhető SOA a webszolgáltatások fejlesztése és alkalmazása számára, a nyílt forráskódú megközelítés által nyújtott gazdasági előnyöket és nagyobb technikai rugalmasságot aknázza ki a nyílt forráskódú SOA infrastruktúrában. Ez a nyílt forráskódú SOA platform meghatározó partnereket mondhat magáénak, akik olyan területeken teremtenek értéket, mint a SOA irányítás, a menedzsment és a platformok közötti közvetítés. Ez a kombináció – egy nyílt forráskódú SOA platform robusztus SOA irányító platformmal – rendelkezik a legnagyobb potenciállal, hogy a SOA ígérteket nyújtsa, amik magukban foglalják az üzleti folyamat komponensek hatékony ötvözését és újbóli ötvözését minden helyzetben. A menedzselhető SOA a SOA befogadását gátló politikai korlátokat csökkenti azáltal, hogy a SOA nyílt forráskódú előfizetési modelljét aknázza ki a vállalaton belül. A hatékony irányítással és az egyszerű, nyílt és megfizethető SOA infrastruktúrával a menedzselhető SOA az üzleti vezetők számára a SOA lehetőségeinek legnagyobb fokát biztosítja, a legkifizetődőbb befektetési rátával.