Webszolgáltatás

A Wikipédiából, a szabad lexikonból.

A webszolgáltatás alkalmazások közötti adatcserére szolgáló protokollok és szabványok gyűjteménye. Különböző programnyeleveken írt és különböző platformokon futó szoftver alkalmazások számítógép hálózatokon (mint az Internet) keresztül történő adatcserére használják a webszolgáltatásokat, az egygépes folyamatközi kommunikációhoz (IPC) hasonlóan. Ezen interoperabilitás (például Java és Python, illetve Windows és Linux között) a nyílt szabványok használatának eredménye. Az OASIS és a W3C a vezető bizottságok a webszolgáltatások szabványosításának terén. A különböző implementációk fejlesztésének együttműködése érdekében a WS-I szervezet több profilt fejlesztett ki a további szabványok támogatására.

Tartalomjegyzék

[szerkesztés] Felhasznált szabványok

  • Webszolgáltatás protokollkészlet - A webszolgáltatás megvalósítása során felhasznált szabványok és protokollok.
  • XML - Minden kicserélendő adat XML cimkékkel van formázva. Ezen kódolás SOAP vagy XML-RPC formában hajtható végre. Az ipari szabványok (biztonság, együttműködés...) a SOAP-ra alapulnak.
  • Gyakori protokollok - az XML adat mozgatása az alkalmazások között az olyan gyakran alkalmazott protokollokkal történik, mint a HTTP, az FTP, az SMTP és az XMPP.
  • WSDL - a webszolgáltatás nyilvános felülete a Webszolgáltatás leíró nyelvvel (Web Services Description Language, WSDL) van leírva. Ez egy XML alapú leírása a webszolgáltatásokkal történő kommunikációnak.
  • UDDI - A webszolgáltatásokat ezen protokoll segítségével teszik elérhetővé. Lehetővé teszi, hogy információt keressünk webszolgáltatásokról, így segítve a döntést, hogy felhasználjuk-e őket.
  • WS-Security - A Web Services Security (Webszolgáltatás biztonság) prtotokollt az OASIS szabványként fogadta el. Lehetővé teszi a felek azonosítását, valamint az üzenetek titkosítását.

[szerkesztés] Előnyök

  • A webszolgáltatások együttműködést (interoperabilitást) biztosítanak a különböző platformokon futó szoftver alkalmazások között.
  • A webszolgáltatás nyílt szabványokat és protokollokat használ. A protokollok és adatok minden lehetséges helyen szöveg alapúak, így egyszerűsítve a fejlesztők feladatát.
  • A HTTP használatával a webszolgáltatások keresztüljutnak a legtöbb tűzfalon a tűzfal paramétereinek megváltoztatása nélkül.
  • A webszolgáltatások egyszerű módon teszik lehetővé különböző gyártóktól származó szoftverek és szolgáltatások kombinálását új, integrált szolgáltatások létrehozására.
  • A webszolgáltatások lehetővé teszik a szolgáltatások és komponensek újrafelhasználását egy infrastruktúrán belül.

[szerkesztés] Hátrányok

  • A webszolgáltatás szabványok olyan téren, mint a tranzakciókezelés, vagy nem képesek megoldással szolgálni, vagy kényelmetlen a használatuk az olyan kiforrott elosztott rendszereket leíró nyílt szabványokhoz képest, mint CORBA.
  • A webszolgáltatás lassabb, mint az olyan elosztott modellek, mint a DCOM, a CORBA vagy az RMI. Ez a szöveg-alapú formátummal járó hátrány. Az XML tervezési céljai nem tartalmazzák a kódolás tömörségét vagy a feldolgozás hatékonyságát.
  • A HTTP protokoll használatának következtében a webszolgáltatások át tudnak jutni a tűzfalakon, melyeknek célja a programok közti kommunikáció blokkolása vagy ellenőrzése.

[szerkesztés] Webszolgáltatások létrehozásának okai

A legfőbb ok a webszolgáltatások használata mellett az, hogy a TCP kommunikációt használják HTTP protokoll fölött, valamint a 80-as portot. Sok vállalat annak érdekében, hogy megóvja magát, tűzfalakkal szűri vagy blokkolja az internet forgalmat. Ebben a környezetben jellemzően a legtöbb (majdnem mindegyik) port zárva van a kimenő és bejövő forgalom ellen, és a tűzfal rendszergazdái nem is szeretnék ezeket megnyitni. Azonban a 80-as port mindig nyitva van, mivel a webböngészők ezt használják. A webszolgáltatás minden forgalmat a 80-as porton keresztül intéz, így nagyon vonzóvá téve a technológiát.

Másik ok pedig az, ami a SOAP protokoll erőssége, hogy nem voltak eddig igazán jó felületek más gépeken vagy hálózatokon történő függvényhívásra. A legtöbbjük ad hoc jellegű volt, és csak néhány ember tudta az EDI-t, az RPC-t és a hasonló API-kat kezelni. A webszolgáltatások sokkal egységesebb keretrendszert tartalmaznak és így sokkal egyszerűbb őket használni.

Egy harmadik ok, ami a webszolgáltatásokat hasznossá teszi: laza kapcsolatot biztosítanak a webszolgáltatás és az azt használó alkalmazás között. Ez a tulajdonság lehetőséget biztosít, hogy bármelyiket meg lehessen változtatni a másik befolyásolása nélkül. Ez a flexibilitás egyre fontosabbá válik, mivel a szoftverek önálló komponensekből épülnek fel.

[szerkesztés] Platformok

A webszolgáltatások alkalmazás szerver szoftverek segítségével telepíthetők. Néhány ilyen alkalmazás szerver:

  • Microsoft .NET szerverek a Microsoft-tól
  • WebLogic a BEA Systems-től
  • WebSphere Application Server az IBM-től
  • ColdFusion MX a Macromedia-tól
  • Java Web Services Development Pack (JWSDP) a Sun Microsystems-től
  • Axis és Jakarta Tomcat szerverek (Apache projektek)
  • JOnAS (ObjectWeb Open Source kezdeményezés része)
  • Zope (Python nyelven írt objektum-orientált web alkalmazás szerver)