A webes szolgáltatás (vagy web szolgáltatás ) egy számítógép interfész protokoll a család webes technológiák lehetővé teszik a kommunikáció és adatcsere közötti heterogén alkalmazások és rendszerek elosztott környezetekben . Ezért ez egy olyan funkciókészlet, amelyet az interneten vagy az intraneten jelenítenek meg az alkalmazások vagy gépek, emberi beavatkozás nélkül, szinkron vagy aszinkron módon. A kommunikációs protokollt a SOAP szabvány keretein belül határozza meg a kiszolgált szolgáltatás aláírása ( WSDL ). Jelenleg a szállítási protokoll elsősorban HTTP . A koncepciót a Web Services Activity keretein belül tisztázták és hajtották végre a W3C-n , különösen a SOAP protokollal. Az elektronikus adatcseréhez (EDI) társítva az ebXML konzorcium felhasználta a vállalkozások közötti csere automatizálására. A koncepció azonban gazdagodik az erőforrás és az állam fogalmának elmélyítésével, a REST modell keretein belül , és a szolgáltatás fogalmának elmélyítésével, a SOA modellel .
Legáltalánosabb bemutatásakor a webszolgáltatást egy ügynök testesíti meg, amelyet egy szolgáltató sajátos számítógépes technológia felhasználásával állít elő. A kérelmező a kérelem-ügynök segítségével ezt a szolgáltatást használja. A szolgáltató és a kérelmező ugyanazt a webszolgáltatási szemantikát használja, míg az ügynök és a kérelmező ugyanazt a szolgáltatási leírást használja a kicserélt üzenetek összehangolásához.
A webszolgáltatások kifejezés mögött számos technológia áll:
A WS- * szabványokat gyakran kritizálják azzal, hogy veszélyeztetik a versenyt a technológiai teljesítményért. A szakemberek közötti szolgáltatások terén elismert robusztusságukat azonban továbbra is széles körben használják. Tehát inkább arra késztetjük őket, hogy fejlődjenek.
A világháló a REST architektúrának megfelelően tervezett alkalmazás . A web architektúrája ezért az ügyfél- és kiszolgálóalkalmazások fogalmát az ügynökök és az erőforrások fogalmával helyettesíti . Az ügynökök erőforrásokkal lépnek kapcsolatba erőforrások létrehozása, olvasása, módosítása vagy törlése céljából. Mostanáig elsősorban a felhasználói ügynökök , elsősorban az erőforrásokkal böngészők közötti interakcióról beszéltünk .
Ma egyre többet beszélünk az erőforrás-ügynökök közötti interakcióról ; vagyis az erőforrások közötti kapcsolat: az erőforrás egy másik erőforrás ügynökévé válik, de maga más erőforrások által elérhető erőforrás marad. Pontosan ezt az architektúrát írja le a mashup alkalmazások megvalósításának példája .
A webszolgáltatások tehát olyan erőforrás-ügynökökkel foglalkoznak, ahol a klasszikus Web modus operandi felhasználói ügynökökről beszél. De a két koncepció ugyanazon az architektúrán alapszik: REST .
Ezért nincs alapvető különbség a böngésző erőforrással való interakciója és a webes szolgáltatás erőforrással való interakciója között. A fő különbség az adatábrázolás formátumában van: HTML a böngészők vagy felhasználói ügynökök számára, XML vagy JSON a webszolgáltatások vagy erőforrás-ügynökök számára.
Ezért egy webszolgáltatást definiálhatunk egy erőforrás szoftveres megvalósításaként, amelyet URI azonosít és elérhető HTTP használatával . Az ügynökök a tartalommal, az állapotuk ábrázolásával foglalkoznak, nem pedig a tartalom típusával. Ezért a webszolgáltatásokat az információk manipulálásának eszközeként kell kezelnünk, nem pedig egyszerű szolgáltatóként.
A WS- * webszolgáltatások a WS- * specifikációk szoftveres megvalósítását jelölik, és mindezek protokollok és alapvető szabványok sorozatán alapulnak, amelyek heterogén környezetben történő alkalmazások cseréjére szolgálnak :
Ezeket a WS- * webszolgáltatásokat a SOA architektúra típusa szerint is definiálják .
A különféle programozási nyelveken és különböző platformokon írt szoftverek WS- * webszolgáltatásokat alkalmazhatnak adatcserére számítógépes hálózatokon , például az Interneten keresztül . Az OASIS és a World Wide Web Consortium (W3C) koordinálja a webszolgáltatások felépítéséért és szabványosításáért felelős bizottságokat. A webszolgáltatások megvalósításának interoperabilitásának javítása érdekében a WS-I szervezet egy sor profilt dolgozott ki a jövőbeni szabványok fejlesztése érdekében.
A HTTP protokoll alapján a webszolgáltatások sok tűzfalon keresztül működhetnek, anélkül, hogy a szűrőszabályok módosítása szükséges lenne .
A WS- * webszolgáltatások ilyen egyszerű megvalósításának van hátránya: a WS- * webszolgáltatásokra jellemző biztonsági szabályok bonyolultabbak, mint egy klasszikus webszerveren .
A webszolgáltatások olyan üzleti logikát valósítanak meg, amelyet a szabványok (főleg TCP / IP , URI , MIME , HTTP , SMTP , SOAP , TLS stb. A szállításhoz, majd XML a tartalomhoz) használatával fogyaszthatóvá tesznek, amely lehetővé teszi bármely, az ezeket a szabványokat használó technológia alkalmazását. képes kihasználni, megkönnyítve ezzel az alkalmazások interoperabilitását .
A webszolgáltatások létrehozását a szolgáltatásorientált architektúra indokolja, vagyis az a vágy, hogy hozzáférhetővé tegyék a felhasználók elől rejtett üzleti logikát megvalósító szolgáltatást.
Az üzleti vállalkozások közötti adatcsere-szerződésekben , csakúgy, mint az üzleti vállalkozások és a fogyasztók közötti kereskedelemben , egy másik előny, amelyre a webszolgáltatásokat alkalmazzák, az, hogy azok a HTTP protokollon alapulnak (amely alapértelmezés szerint a 80-as portot használja). Ennek megértéséhez nem szabad megfeledkezni arról, hogy sok vállalkozás megvédte magát olyan tűzfalak alkalmazásával, amelyek biztonsági okokból szűrik és blokkolják a nagy internetes forgalmat. Ebben a környezetben sok (szinte az összes) port el van zárva a bejövő és kimenő forgalom elől, és a tűzfalak rendszergazdái nem hajlandók megnyitni azokat. A 80-as port azonban mindig nyitva van, mert a webböngészők által használt HTTP protokoll használja . Ezzel az előnnyel a webszolgáltatások egyfajta alagutat jelentenek .
A webszolgáltatások az alkalmazáskiszolgáló szoftver segítségével telepíthetők :