SOAP

SOAP (korábban egy egyszerű adattovábbító protokoll) decentralizált, osztott környezetben való használatra. Egy SOAP üzenet egy küldő és egy fogadó közti adatátvitel. Több SOAP üzenet használatával kérés-válasz rendszerek is létrehozhatók.

A SOAP független a szállító rétegtől, de ezt a szerepet a leggyakrabban a HTTP tölti be, hogy a már meglévő internetes infrastruktúrán futhasson. A SOAP lehetővé teszi a kikeresett webszolgáltatások használatát azáltal, hogy az útvonalkezelés számára üzenetútvonalat biztosít. A SOAP protokollt használják a webszolgáltatások UDDI lekérdezéseinél. A munkaterület támogatja a SOAP 1.1 változatot.

A SOAP XML-alapú protokoll, ami minden üzenethez három részt határoz meg:

Kötési stílusok

A SOAP két különböző kommunikációs stílust támogat:

Távoli eljáráshívás (RPC):  Műveleteket hív meg, amik visszaadnak valamilyen eredményt. Általában SOAP kódolással használják, ami nem felel meg a WS-I szabványnak.

Dokumentum stílus:  Dokumentum-központú vagy üzenet-központú néven is ismert. Ez a stílus alacsonyabb szintű absztrakciót használ és több programozási munkát igényel.

Kódolási stílusok

Osztott számítási környezetben a kódolási stílusok határozzák meg, hogy az alkalmazásokban használt adatokat hogyan lehet egy adott protokollformátumban megjeleníteni. Az ehhez szükséges átalakításokat nevezzük sorosításnak és sorosításból visszaolvasásnak.

A SOAP specifikáció meghatározza a SOAP kódolási stílust:

SOAP kódolás:  A SOAP kódolási stílus segítségével lehet a SOAP adatmodell típusait lehet sorosítani. Ezt a kódolási stílust a SOAP 1.1 szabvány írja le, és nem felel meg a WS-I szabványnak.

A WSDL határozza meg a literál XML kódolási stílust:

Literál XML:  A literál szó arra utal, hogy a dokumentumot úgy kell beolvasni, ahogy van, vagyis mindenfajta kódolás nélkül. A dokumentum XMI formába kerül a sorosításkor, ami azt jelenti, hogy az üzenet XML megfelel a WSDL sémájának. A literál kódolás használatakor minden egyes üzenetrész egy konkrét séma definíciónak felel meg. A literál kódolás megfelel a WS-I szabványnak.

Adatmodell

A SOAP adatmodell célja az, hogy programozási nyelvektől független elvonatkoztatást nyújtson az általános használt programnyelvek típusai számára. A következőkből áll:

A SOAP adatmodellt alkotó minden elem és azonosító a névtér URI határoz meg. A SOAP szabvány meghatározza az adattípusok alkotásának szabályait. A konkrét adattípusokat a projektek saját XML sémái adják meg. A SOAP specifikáció elemeit http://schemas.xmlsoap.org/soap/envelope/ és a http://schemas.xmlsoap.org/soap/encoding/ dokumentumok adják meg.

SOAP megvalósítások

A SOAP protokoll több különböző megvalósítása is elérhető napjainkban. Ilyen például az IBM® SOAP4J projektjébõl kinőtt Apache SOAP, az Apache Axis és az IBM WebSphere® futási környezet. A webszolgáltatás eszköz támogatja az Apache SOAP 2.3, Axis 1.0 és az IBM WebSphere megvalósításokat.

Leképezések

A leképezések egy minősített XML elemnevet, egy Java osztályt és egy kódolási osztályt rendelnek össze. A leképezés határozza meg, hogy az adott kódolást használva, miképpen lehet egy beérkező, teljesen minősített nevű XML elemet egy Java osztállyá alakítani és viszont.

További információk az Apache SOAP megvalósításról: xml.apache.org/soap  További információk a SOAP protokollról: www.w3.org/TR/SOAP