ugrás a tartalomhoz

SOAP alapkérdés

PiG · 2004. Szep. 13. (H), 15.40
Elöljáróban megköszönném, hogy kérésemre létrejött az XML fórum is! Köszönöm, köszönöm...

Első kérdésem egy teljesen primitív kérdés:
Egy feladat megoldásához SOAP felületen keresztül kellene kapcsolódnom egy webszolgáltatáshoz (webservice). Éppen ezért elkezdtem tanulmányozni a témakört. Nagy örömömre pont itt a weblaboron is találtam két cikket XML-RPC és SOAP témakörben (meg is rendeltem rögtön a könyvet, bár ahogy a tartalomjegyzékét olvastam a témakört mélyebben nem érinti, de jó könyvnek tűnik!). Minél inkáb beleásom magam a témába, annál gyakrabban ötlik fel bennem a kérdés:
Miért kell ilyen "hót" egyszerű dolgkhoz SOAP-ot használni?
A SOAP használata azért jó, mert egységes felületet biztosít... eddig ok. De ahhoz, hogy ezt a felületet elérhessem, mindenképp ismernem kell a szabályokat, eljárásokat, amik segítségével kapcsolódni tudok. Ráadásul a SOAP a főként a HTTP protokollra épülve továbbítja a kéréseket és válaszokat.
Mennyivel jobb, mondjuk meghívnom pl egy scriptből az arfolyam.tozsde.hu:1234 címen található webservice-nél mondjuk a getQuote("ibm") függvényt SOAP üzenetekkel, mint mondjuk arfolyam.tozsde.hu/getquote.php?stock=ibm
Az első megoldást is csak akkor tudom elérni, ha egy csomó szabályt ismerek és betartok, meg a másodikat is. A második megoldás azért sokkal egyszerűbb - persze szerintem.
Tehát mi értelme van egyáltalán így bonyolítani a dolgokat?
Miért jobb webservice-ként megvalósítani ezeket a szolgáltatásokat, mint "hagyományosabb" módon?

Várom az építő és okulást adó válaszokat!
:-)
Sziasztok:
P][G
 
1

Kulcsszó: REST

Hojtsy Gábor · 2004. Szep. 13. (H), 22.42
A hagyományosabb megoldásokat kedvelők a REST összefoglaló név alatt emlegetett technikákat kedvelik. Ezzel sokkal jobban kihasználják a meglévő technológiák adta lehetőségeket új dolgok feltalálása helyett.

Az XML-RPC célja az volt, hogy komplexebb paraméterezésre és adatátvitelre is egységes megoldást adjon. A PHP például támogatja tömbök feltöltését a GET/POST paraméterekből, de ezt nem sok más webes technológia tartalmazza alapkiépítésben. Az XML-RPC-vel lehetőséged van egy nyelvektől független (bár az XML-hez kötött :) eljáráshívási felületet megvalósítani.

A SOAP egy kicsit tovább megy, nem csak eljáráshívással foglalkozik, és a kapcsolódó szabványokon keresztül lehetővé teszi, hogy a szolgáltatások szabványosan felderíthetőek is legyenek. Ezért lehet például egy SOAP szolgálatatás köré automatikusan egy osztályt építeni, mert az automatikus felderítés megmutatja felületi tulajdonságait egy ilyen szolgáltatásnak. Lásd a SOAP-ról szóló cikkünket. Ilyen felderítési kiterjesztés XML-RPC-hez is van, mint ahogy arról szóló cikkünk ezt jelzi is.

Tehát a hagyományos URL paraméterezés nagyonis jól működhet házon belül, de ha más rendszerekkel, termékekkel kell együttműködni, és összetett adatokat kell cserélni (nem csak egy árfolyam lekérdezést kell végrehajtani), akkor első körben az XML-RPC, második körben a SOAP érdemes a megfontolásra.
2

...

Anonymous · 2006. Jún. 21. (Sze), 18.26
Első körben WebService (SOAP)... amúgy egyetértek