bitFaktura: Java JEE fejlesztés, C++ programozás, .Net, C#, PHP szoftverfejlesztés choose language Java fejlesztés, C++ programozás, PHP, .Net, C# szoftverfejlesztés Deutsch - Java Entwicklung, C++ Programmieren, PHP, .Net, C# Software Entwicklung English - Java Development, C++, PHP, .Net, C# Software Development bitFaktura: Java J2EE, PHP fejlesztés, C++ programozás, .Net, C# szoftverek készítése

Szoftverfejlesztés, programozás, internetes megoldások, többrétegű kliens-szerver rendszerek

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

Java szoftverfejlesztés, C++, .Net, C# programozás
Magunkról | Termékek és szolgáltatások | Technológiáink | Referenciák | Hírek | IT állásajánlatok | Elérhetőség
© 2007 bitFaktura | Szoftverfejlesztés, web programozás