A tapasztalatok azt mutatják, hogy a soa-környezetekben folyó fejlesztéseknél a tesztelés módszertanát és a felhasznált eszközöket érdemes a soa-architektúrák egyedi jellegének megfelelően meghatározni – mondja Rátonyi János, az Alerant Informatikai Zrt. szakértője.
Egyedi jellemzők
Szolgáltatásorientált környezetekben az alkalmazások által meghatározott funkciók webszolgáltatásokként jelennek meg. A szolgáltatások olyan jól definiálható elemek, amelyeket akár több alkalmazás is használhat. Föléjük épülnek aztán az üzleti folyamatokat meghatározó alkalmazások, valamint a felhasználói felületek. Az architektúra tehát két vagy három egymástól jól elhatárolható rétegből áll. Az egyes rétegek közötti csatolófelületeket általában a projekt elején, a fejlesztési fázisban alakítják ki, ezért elméletileg elválhat egymástól a szolgáltatások és a hívó alkalmazások fejlesztése. Amíg azonban a szolgáltatások nem készülnek el, nem lehet ellenőrizni a szolgáltatáshívások helyességét. Ezt a problémát speciális eszközök nélkül is több módon lehet kezelni.
Szimulált szolgáltatás
A fejlesztési fázis nagy részében megoldható, hogy a webszolgáltatásokat hívó kódrészleteket úgy készítsék el, hogy maguk a szolgáltatások még nincsenek készen. Ebben az esetben a fejlesztési fázis végén illesztik össze a két réteget. Ezen a ponton azonban általában javítani kell azokat hibákat, amelyek a hívó és a hívott alkalmazás eltérő fejlesztéséből adódnak. A problémák kiküszöbölhetők, ha az üzleti alkalmazások és a felhasználói felület fejlesztése a szolgáltatások elkészítése után történik. Ez a megoldás azonban időigényes, továbbá ha a szolgáltatásokat és a felületet különböző fejlesztőcsapatok készítik, akkor a csapatok kihasználtsága gondot okozhat. Az egyik leghasználhatóbb megoldást a szimulált, úgynevezett dummy szolgáltatásváltozatok elkészítése jelentheti. A fejlesztési fázis elején a webszolgáltatások fejlesztői készítik el a dummy szolgáltatásokat, amelyek interfésze megfelel a szolgáltatás terveinek, de még nem tartalmazzák az üzleti funkciót. Figyelembe kell azonban venni, hogy előállításuk fejlesztői erőforrásokat igényel.
Hívó és hívott
Az architektúrarétegek egymástól való függősége a projekt tesztelési szakaszában is megoldandó feladat. Az üzleti alkalmazás tesztelésekor például tulajdonképpen valamennyi réteget és azok kapcsolódó funkcióit vizsgáljuk. Bármilyen megtalált hiba esetén így az első feladat meghatározni, melyik réteg kódját kell javítani. Ráadásul egy-egy webszolgáltatás funkciója addig nem is tesztelhető, amíg a hívóalkalmazás el nem készül. A soa alapú alkalmazások tesztelése mindezeken túlmenően is több új feladatot állít a szakemberek elé. Így például, ha egy webszolgáltatás valamennyi funkcióját több hívással lehet csak tesztelni, akkor a tesztek során a felhasználói felületen minden esetben el kell jutni a szolgáltatáshívásáig, s ez időbe kerül. A szolgáltatásoknak lehetnek olyan speciális lefutási esetei is, amelyeket a szolgáltatást hívó üzleti alkalmazásból nem vagy csak nehezen lehet előállítani. Fontos az alkalmazások teljesítménytesztje is, sokszor lehet szükség a webszolgáltatások teljesítményének önálló tesztelésére.
Teszttámogató eszközök
A fenti problémák megoldására már léteznek professzionális soa-tesztelőeszközök. Közülük az egyik legeredményesebb, a nyílt forráskódú soapui, például alapvetően három feladat ellátására alkalmas: a webszolgáltatások szimulációjára, hívására
és teljesítménytesztek elvégzésére.
A szolgáltatásszimuláció során bármilyen
kliensalkalmazás fejlesztője webszolgáltatás hívásokat küldhet, amelyre szintaktikailag helyes válaszokat fog kapni. Az eszköz tulajdonképpen a webszolgáltatás kiszolgálóját helyettesíti. A megoldás előnye, hogy a webszolgáltatások logikáját a hívó alkalmazásokkal párhuzamosan fejleszthetjük. Az eszköz egy kliensfelületet is biztosít a szolgáltatások teszteléséhez, amellyel tetszőleges számú teszteset definiálható, s ezek igény szerint bármikor futtathatók. A válaszok manuálisan és automatikusan is ellenőrizhetők.
Mártonffy Attila
Nő az elfogadottság
Az IDC 2008 első félévében végzett felmérése azt mutatja, hogy nő a soa elfogadottsága a nyugat-európai piacon. A válaszadó pénzintézetek 25 százalékának, az államigazgatási intézmények 18 százalékának van már soa-megoldása, 21 százalék, illetve 8 százaléka most építi ki, 27, illetve 26 százaléka pedig az elkövetkező két évben tervezi bevezetni azt. A felmérés azt is megállapítja, hogy a soa bevezetésétől a válaszadók 26-26 százaléka várja az informatikai rendszerek minőségének javulását és a működtetési költségek csökkenését.