Heterogén rendszerek együttmûködése SOAP segítségével

Csúcs Gergely <wizard@avalon.aut.bme.hu>

BME AAIT

Marossy Kálmán <coloman@avalon.aut.bme.hu>

BME AAIT

Charaf Hassan Phd <hassan@avalon.aut.bme.hu>

BME AAIT


Napjainkban a komponensalapú szoftverfejlesztés képviseli a szoftverfejlesztés fõ irányvonalát. A szoftverösszeszerelés (assembly) során használt komponensek sokféle forrásból származhatnak, közös bennük viszont, hogy a semmibõl nem képzõdnek: valakinek meg kell írnia õket.

A mindenhol használatos komponensek (pl. GUI elemek) többnyire együtt érkeznek a választott fejlesztõeszközzel. Egyéb, tipikus magasszintû szolgáltatásokhoz (pl. biztonsági szolgáltatások: autentikáció vagy akár tranzakciókezelés) szintén hozzájuthatunk.

A maradékot viszont nekünk kell megírnunk. Nem biztos azonban, hogy ez mindig járható út: például nincs rá idõ. Ilyenkor juthat eszünkbe a mondás: nincs új a nap alatt. Nagyon valószínûtlen, hogy minden általunk egyedileg igényelt szolgáltatás vadonatúj gondolaton alapulna. Az élet ugyanis egy folyamat; a készülõ szoftver által támogatni kívánt (vagy legalább egy ahhoz hasonló) tevékenység eddig is mûködött valahogyan, és még az is elképzelhetõ, hogy már eddig is rendelkezett valamilyen szintû informatikai támogatással. Ezt kellene kiaknázni, ami többféle akadályba ütközhet: a szoftver vagy egyáltalán nem rendelkezik elérhetõ forráskóddal, vagy esetleg “egzotikus” programnyelven született, amihez nem értünk, és persze az inputja/outputja is saját formátumú. Tipikus döntés, hogy magához a programhoz nem nyúlunk, csak telepítünk köré egy csomagolót (wrappert), ami komponens-szerûvé alakítja a program viselkedését — rendszerünkben nekünk tetszõ adatformátumon kommunikáló interaktív entitásként látszik.

A nekünk tetszõ adatformátum lehet például XML (a W3C által kifejlesztett adatleíró nyelv). És hogy az interaktivitás is meglegyen, használhatjuk a SOAP-ot, ami az XML egy pont erre a célra fejlesztett alkalmazása.

Cikkünkben és elõadásunkban általános útmutatást kívánunk nyújtani a korábban megvalósított (legacy) rendszerek SOAP alapú kommunikációra alkalmas komponenssé alakításáról, mind az adatleírás, mind az interaktivitás terén.