Web Services - webszolgáltatások
Egy Web Service egy olyan, a többszintű webes rendszerekben megjelenĹ‘ szoftver alkalmazás, amely egy URI (Uniform Resource Identifier) segĂtsĂ©gĂ©vel egyĂ©rtelműen azonosĂthatĂł Ă©s amely a direkt kommunikáciĂłt támogatja a legkĂĽlönbözĹ‘bb ágensek közt XML alapĂş ĂĽzenetek Ă©s webprotokollok segĂtsĂ©gĂ©vel.
A kliens programok rendszerint egy Web Service-nek kĂĽldik le a kĂ©rdĂ©seiket, Ă©s ez a megkĂvánt informáciĂłt adja válaszul. TalálĂłan azt szokták mondani, hogy a számĂtĂłgĂ©p számára a Web Service ugyanazt jelenti, mint az embereknek a weboldalak. A webszolgáltatások azonban nemcsak az emberi felhasználĂłknak szĂłlnak, hanem a kĂĽlönfĂ©le szoftverrendszereknek, melyek közt automatizált adatcsere folyik Ă©s/vagy távoli számĂtĂłgĂ©peken lĂ©vĹ‘ funkciĂłkat hĂvnak fel.
A webszolgáltatások a szolgáltatásorientált architektĂşrára (SOA) irányulnak, Ăgy egyesĂtik az objektumorientált Ă©s elosztott programozĂłi szabványokat.
Alapvetően 3 szintet különböztetünk meg: felhasználó, szolgáltató és könyvtár. Az ún. szolgáltató egy könyvtárban hozza a nyilvánosságra a szolgáltatásait. A felhasználó átnézi a könyvtárat, és kiválasztja a megfelelő szolgáltatást. A felhasználó tehát dinamikus összeköttetésbe kerül a szolgáltatóval, miközben különböző metódusokat használ.
Ennek a folyamatnak az alapját 3 szabvány képezi, amelyek mindegyike az XML-en alapul:
- UDDI: szolgáltatásjegyzék a webszolgáltatások regisztrálására, mely lehetővé teszi a webszolgáltatások dinamikus megtalálását a felhasználó számára.
- WSDL: a támogatott metĂłdusok Ă©s azok paramĂ©tereinek (pl. dátum) a leĂrására szolgál a programozĂłk számára.
- SOAP (vagy XML-RPC): a kommunikáciĂł cĂ©ljábĂłl, azaz itt indul a tulajdonkĂ©ppeni felhĂvás.
A webszolgáltatások a kliens Ă©s szerver közti egyĂĽttműködĂ©s 3 legfontosabb rĂ©szĂ©t kĂ©pezik le: az informáciĂł összegyűjtĂ©sĂ©t, az összekötĂ©st Ă©s az adatcserĂ©t. A webszolgáltatásokat egy egyĂ©rtelmű URI azonosĂtja, azaz ezen keresztĂĽl elĂ©rhetĹ‘ek. A felhasznált, plattformfĂĽggetlen szabványok kĂ©pesek arra, hogy bármilyen plattform távoli felhĂvását dekĂłdolják Ă©s egy alkalmazás során továbbĂtsák. Ezen a mĂłdon egy szĂ©ttagolt architektĂşra jön lĂ©tre. A webszolgáltatásokkal törtĂ©nĹ‘ kommunikáciĂł ĂĽzeneteken keresztĂĽl zajlik melyeket többfĂ©le protokoll is szállĂthat.
A Google ĂĽzemeltetĹ‘je pl. 2002 Ăłta olyan Web-Service-t használ, mely a funkcionalitását tekintve ugyanazokat a lehetĹ‘sĂ©geket kĂnálja, mint a magán a web-oldalon lĂ©vĹ‘ felhasználĂłi interface. A programok tehát az interface meghĂvásával közvetlenĂĽl is tudnak informáciĂłkat keresni az interneten az interface segĂtsĂ©gĂ©vel megkapják az eredmĂ©nyadatokat Ă©s ezeket felhasználják a saját feladataikhoz. A Google találat weboldal elemzĂ©se ezzel mĂ©g megközelĂtĹ‘leg sem egyenĂ©rtĂ©kű alternatĂva.
Egy további pĂ©lda az interakciĂł a lĂ©gitársaságok Ă©s az utazási irodák között. A lĂ©gitársaságok egy web-servicen keresztĂĽl kĂĽlönfĂ©le lehetĹ‘sĂ©geket kĂnálnak fel repĂĽlĹ‘járatokra valĂł rákeresĂ©shez Ă©s foglaláshoz. Az utazási irodák a Web-oladalaikon kĂĽlönbözĹ‘ lĂ©gitársaságok járatait kĂnálják, mely járatokrĂłl az irodák az UDDI-n keresztĂĽl Ă©rtesĂĽlnek. A vevĹ‘ az utazási irodák oldalain keresztĂĽl központilag meg tudja nĂ©zni a kĂĽlönfĂ©le lĂ©gitársaságok járatainak az árát Ă©s indulási idejĂ©t, össze tudja hasonlĂtani azokat, Ă©s közvetlenĂĽl foglalhat is jegyet.
A nyĂlt forráskĂłdĂş szabványoknak köszönhetĹ‘en nincs fizetendĹ‘ licenszdĂj, Ă©s mivel ezek közĂ© a szabványok közĂ© tartoznak általában a mai internet alapĂş technolĂłgiák is, sokfelĂ© Ă©s sokfĂ©lekĂ©pen bevethetĹ‘k. Az adatátvitelhez általában használt http-nek köszönhetĹ‘en ritkábban lĂ©pnek fel problĂ©mák a tűzfallal mint a hasonlĂł technolĂłgiákkal, mint pl. a CORBA, DCOM vagy akár a Java RMI. A WEB Services azonban nem kötĹ‘dik a http-hez, hanem más protokollal is átvihetĹ‘k, mint pl. az SMTP vagy az FTP, Ăgy szinte bármilyen felhasználásra nyitottak. A már meglĂ©vĹ‘ Ă©s szĂ©leskörben elterjedt Internet szabványoknak köszönhetĹ‘en egy nyitott Ă©s rugalmas architektĂşra jön lĂ©tre, mely a mindenkori platformtĂłl, valamint a programnyelvtĹ‘l Ă©s protokolltĂłl fĂĽggetlen. Pl. a felhasználĂłk minden gond nĂ©lkĂĽl kommunikálhatnak Windows C# ĂĽgyfelekkel egy Linuxban implementált, Java-serverek kĂ©pezte tűzfal mögött. A már emlĂtett szĂ©leskörben elterjedt standard protokollok lehetĹ‘vĂ© teszik a teljes interoperabilitást az interneten.
A webszolgtatások alkalmazásának a hátrányai közé a biztonsági szempontok tartoznak. Az adatátvitel során figyelni kell arra, hogy a fontos webszolgtatások kódolva maradjanak. Mérlegelni kell, hogy ehhez elegendő-e a HTTPS, vagy az olyan megoldások mint XML Signature, vagy XML Encrypton, esetleg SAML a jobbak.
A teljesĂtmĂ©nyre is figyelni kell, mivel az XMP parserek Ă©s a filemĂ©ret ezt negatĂvan befolyásolják. ErĹ‘sen tagolt rendszereknĂ©l tĂşlzottan megnĹ‘het az overhead, ami lelassĂtja az adatátvitelt. Az olyan programnyelvekhez, amelyekkel a Web Servicest alkalmazni akarjuk speciális könyvtárakra van szĂĽksĂ©g (pl. DOM), Ă©s ehhez több ismeret szĂĽksĂ©ges, mint pl. az RPC-hez. Emellett az interfaceket is pontosan kell definiálni.
A Web Services Ăşj távlatokat nyitnak az Enterprise Application Integration (EAI) Ă©s a Grid-Computing terĂĽletĂ©n. A legfĹ‘bb alkalmazási terĂĽlete a B2B. A webszolgáltatások lehetĹ‘vĂ© teszik az egyes vállalatok határain tĂşlnyĂşlĂł ĂĽzleti folyamatok problĂ©mamentes lebonyolĂtását. Az ezt lehetĹ‘vĂ© tevĹ‘ programnyelv a BPEL.
A webszolgáltatások egy olyan technológia, amely a legkülönfélébb aspektusok szerint használható. A 3 jelenleg legelterjedtebb a következő:
- RPC - távoli metĂłdusok felhĂvása WSDL bázison
- SOA - szolgáltásorientált architektúra, a WSDL a kommunikációs interface
- REST - próbálkozás, hogy az interface-t néhány meghatározott standard operációra lehessen redukálni (a http-mintájára: GET, PUT, DELETE)
vissza

|