Mik azok a webszolgáltatások? Építészet, típusok, példa

Tartalomjegyzék:

Anonim

Mi az a webszolgáltatás?

A webszolgáltatás egy szabványosított médium a kliens és a kiszolgálóalkalmazások közötti kommunikáció terjesztésére a világhálón. A webszolgáltatás egy szoftver modul, amelyet bizonyos feladatsorok végrehajtására terveztek.

  • A felhőszámítástechnika webszolgáltatásai a hálózaton keresztül kereshetők, és ennek megfelelően meghívhatók is.
  • Meghívásakor a webszolgáltatás képes lesz biztosítani a funkcionalitást az ügyfél számára, amely meghívja az adott webszolgáltatást.

Ebben a Web Service oktatóanyagban megtanulhatja a webszolgáltatások alapjait -

  • Hogyan működnek a webszolgáltatások?
  • Miért van szükség webszolgáltatásra?
  • A webszolgáltatás típusa
  • Webszolgáltatások előnyei
  • Web Service architektúra
  • Webszolgáltatás jellemzői
  • Hogyan működnek a webszolgáltatások?

    Hogyan működnek a webszolgáltatások?

    A fenti ábra nagyon leegyszerűsítve szemlélteti, hogyan működne egy webszolgáltatás. Az ügyfél webszolgáltatási hívások sorozatát hívná meg egy szerverre, amely a tényleges webszolgáltatást tárolja.

    Ezeket a kéréseket úgynevezett távoli eljáráshívásokon keresztül teszik meg. A távoli eljáráshívások (RPC) olyan hívások, amelyek olyan módszerekre érkeznek, amelyeket a megfelelő webszolgáltatás tárol.

    Például az Amazon olyan webszolgáltatást nyújt, amely az amazon.com-on keresztül online értékesített termékek árát biztosítja. A kezelőfelület vagy a bemutató réteg lehet .Net vagy Java nyelven, de bármelyik programozási nyelv képes kommunikálni a webszolgáltatással.

    A webszolgáltatás tervezésének fő alkotóeleme az ügyfél és a szerver között továbbított adatok, vagyis az XML. Az XML (Extensible markup language) a HTML megfelelője, és könnyen érthető a köztes nyelv, amelyet sok programozási nyelv ért.

    Tehát amikor az alkalmazások egymással beszélgetnek, valójában XML-ben beszélnek. Ez közös platformot biztosít az alkalmazás számára, amelyet különféle programozási nyelveken fejlesztettek ki egymással való beszélgetésre.

    A webszolgáltatások SOAP (Simple Object Access Protocol) néven használnak valamit az XML adatok küldéséhez az alkalmazások között. Az adatokat normál HTTP-n keresztül küldjük. A webszolgáltatásból az alkalmazásnak elküldött adatokat SOAP üzenetnek nevezzük. A SOAP üzenet nem más, mint egy XML dokumentum. Mivel a dokumentum XML-ben íródott, a webszolgáltatást hívó ügyfélalkalmazás bármilyen programozási nyelven írható.

    Miért van szükség webszolgáltatásra?

    A mai üzleti alkalmazások különféle programozási platformokat használnak webalapú alkalmazások fejlesztéséhez. Egyes alkalmazások Java-ban, mások .Net-ben, míg mások Angular JS-ben, Node.js-ben stb.

    Leggyakrabban ezeknek a heterogén alkalmazásoknak valamilyen kommunikációra van szükségük közöttük. Mivel különböző fejlesztési nyelveket használnak, nagyon nehézzé válik az alkalmazások közötti pontos kommunikáció biztosítása.

    Itt jönnek létre a webszolgáltatások. A webszolgáltatások közös platformot kínálnak, amely lehetővé teszi, hogy a különféle programozási nyelvekre épülő több alkalmazás képes legyen egymással kommunikálni.

    A webszolgáltatás típusa

    Főleg kétféle webszolgáltatás létezik.

    1. SOAP webszolgáltatások.
    2. RESTful webszolgáltatások.

    Annak érdekében, hogy a webszolgáltatás teljes mértékben működőképes legyen, bizonyos összetevőknek a helyükön kell lenniük. Ezeknek az összetevőknek jelen kell lenniük, függetlenül attól, hogy a webszolgáltatás programozásához milyen fejlesztési nyelvet használnak.

    Nézzük meg ezeket az összetevőket részletesebben.

    SOAP (egyszerű objektum-hozzáférési protokoll)

    A SOAP transzportfüggetlen üzenetküldési protokoll néven ismert. A SOAP az XML adatok SOAP üzenetekként történő továbbításán alapul. Minden üzenetnek van valami, amit XML dokumentumként ismerünk. Csak az XML dokumentum felépítése követ egy adott mintát, a tartalom azonban nem. A webszolgáltatások és a SOAP legjobb része az, hogy mindet HTTP-n keresztül küldik, ami a szokásos webes protokoll.

    Itt áll a SOAP üzenet

    • Minden SOAP dokumentumnak rendelkeznie kell egy gyökérelemmel, amelyet elemnek neveznek. A gyökérelem az XML-dokumentum első eleme.
    • A "boríték" viszont 2 részre oszlik. Az első a fejléc, a következő pedig a test.
    • A fejléc tartalmazza az útválasztási adatokat, amelyek alapvetően azok az információk, amelyek megmondják az XML dokumentumnak, hogy melyik ügyfélnek kell elküldeni.
    • A törzs tartalmazza a tényleges üzenetet.

    Az alábbi ábra a SOAP-on keresztüli kommunikáció egyszerű példáját mutatja be.

    SOAP Protokoll

    A SOAP-ot részletesen megvitatjuk ebben az oktatóanyagban.

    WSDL (webszolgáltatások leírási nyelve)

    Webes szolgáltatás nem használható, ha nem található . A webszolgáltatásra hivatkozó ügyfélnek tudnia kell, hogy a webszolgáltatás valójában hol található.

    Másodszor, az ügyfélalkalmazásnak tudnia kell, hogy a webszolgáltatás valójában mit csinál, hogy a megfelelő webszolgáltatásra hivatkozhasson. Ez a WSDL segítségével történik, amely a webszolgáltatások leírási nyelve. A WSDL fájl ismét egy XML alapú fájl, amely alapvetően megmondja az ügyfélalkalmazásnak, hogy mit csinál a webszolgáltatás. A WSDL dokumentum használatával az ügyfélalkalmazás megértené, hogy hol található a webszolgáltatás, és hogyan használható.

    Példa a webszolgáltatásra

    Az alábbiakban egy WSDL fájl webes szolgáltatásainak példáját adjuk meg.

    
    
    
    

    A webszolgáltatások fenti WSDL deklarációs példáival kapcsolatos fontos szempontok a következők:

    1. <üzenet> - A WSDL definícióban szereplő üzenetparaméter a különböző adatelemek meghatározására szolgál a webszolgáltatás minden egyes műveletéhez. Tehát a fenti webszolgáltatási példákban 2 üzenetünk van, amelyeket kicserélhetünk a webszolgáltatás és az ügyfélalkalmazás között, az egyik a "TutorialRequest", a másik a "TutorialResponse" művelet. A TutorialRequest tartalmaz egy "TutorialID" nevű elemet, amely a karakterlánc típusa. Hasonlóképpen, a TutorialResponse művelet tartalmaz egy "TutorialName" nevű elemet, amely szintén egy karakterlánc.
    2. - Ez tulajdonképpen leírja azt a műveletet, amelyet a webes szolgáltatás végezhet, amelyet esetünkben Tutorialnak hívunk. Ez a művelet 2 üzenetet vehet igénybe; az egyik egy bemeneti üzenet, a másik pedig a kimeneti üzenet.
    3. - Ez az elem tartalmazza a használt protokollt. Tehát esetünkben a http ( http://schemas.xmlsoap.org/soap/http ) használatát definiáljuk . Más részleteket is megadunk a művelet törzséhez, például a névteret és azt, hogy az üzenetet kódolni kell-e.

    Ebben a bemutatóban részletesen megvitatjuk a "WDSL" -et.

    Univerzális leírás, felfedezés és integráció (UDDI)

    Az UDDI egy szabvány az adott szolgáltató által nyújtott webszolgáltatások leírására, közzétételére és felfedezésére. Olyan specifikációt nyújt, amely segíti a webszolgáltatások információinak tárolását.

    Most az előző témában tárgyaltuk a WSDL-t és annak információkat, hogy a webszolgáltatás valójában mit tartalmaz. De hogyan lehet egy ügyfélalkalmazás megkeresni egy WSDL fájlt a webszolgáltatás által kínált különféle műveletek megértése érdekében? Tehát az UDDI a válasz erre, és adattárat nyújt, amelyen WSDL fájlokat lehet tárolni. Tehát az ügyfélalkalmazás teljes hozzáféréssel rendelkezik az UDDI-hez, amely az összes WSDL-fájlt tartalmazó adatbázisként működik.

    Ahogy egy telefonkönyvben szerepel egy adott személy neve, címe és telefonszáma, ugyanúgy az UDDI nyilvántartásban is megtalálhatók lesznek a webszolgáltatáshoz szükséges információk . Annak érdekében, hogy egy ügyfélalkalmazás tudja, hol található.

    Webszolgáltatások előnyei

    Már megértettük, hogy miért is jöttek létre először a webes szolgáltatások, amelyek egy olyan platformot szolgáltattak, amely lehetővé teszi a különböző alkalmazások számára, hogy egymással beszéljenek.

    De nézzük meg a webszolgáltatások előnyeinek listáját, miért fontos a webszolgáltatások használata.

    1. Az üzleti funkciók leleplezése a hálózaton - A webszolgáltatás a felügyelt kód egysége, amely valamilyen funkcionalitást biztosít az ügyfélalkalmazásoknak vagy a végfelhasználóknak. Ez a funkció meghívható a HTTP protokollon keresztül, ami azt jelenti, hogy az interneten keresztül is meghívható. Manapság minden alkalmazás az interneten van, ami a webszolgáltatások célját hasznosabbá teszi. Ez azt jelenti, hogy a webszolgáltatás bárhol lehet az interneten, és szükség szerint biztosítja a szükséges funkciókat.

    2. Interoperabilitás az alkalmazások között - A webszolgáltatások lehetővé teszik a különböző alkalmazások számára, hogy egymással beszéljenek, és adatokat és szolgáltatásokat osszanak meg egymás között. Minden típusú alkalmazás képes egymással beszélgetni. Tehát olyan kód írása helyett, amelyet csak bizonyos alkalmazások érthetnek meg, most írhat általános kódot, amely minden alkalmazás számára érthető

    3. Szabványosított protokoll, amelyet mindenki ért - A webszolgáltatások szabványosított ipari protokollt használnak a kommunikációhoz. Mind a négy réteg (Service Transport, XML Messaging, Service Description és Service Discovery réteg) jól definiált protokollokat használ a webszolgáltatások protokollkötegében.

    4. Csökkenti a kommunikáció költségeit - A webszolgáltatások a SOAP-ot HTTP protokollon keresztül használják, így a meglévő olcsó internetet használhatja a webszolgáltatások megvalósításához.

    Web Services architektúra

    Minden keretrendszernek valamilyen architektúrára van szüksége annak biztosításához, hogy a teljes keretrendszer a kívánt módon működjön, hasonlóan a webszolgáltatásokhoz. A Web Services architektúra három különálló szerepből áll, az alábbiak szerint:

    1. Szolgáltató - A szolgáltató létrehozza a webszolgáltatást, és elérhetővé teszi azt az ügyfélalkalmazások számára, akik használni akarják.
    2. Kérelmező - A kérelmező nem más, mint az ügyfélalkalmazás, amelynek kapcsolatba kell lépnie egy webszolgáltatással. Az ügyfélalkalmazás lehet .Net, Java vagy bármely más nyelv alapú alkalmazás, amely valamilyen funkciót keres egy webszolgáltatáson keresztül.
    3. Bróker - A bróker nem más, mint az alkalmazás, amely hozzáférést biztosít az UDDI-hez. A korábbi témakörben tárgyalt UDDI lehetővé teszi az ügyfélalkalmazás számára a webszolgáltatás megkeresését.

    Az alábbi ábra azt mutatja be, hogy a Szolgáltató, a Szolgáltatás-igénylő és a Szolgáltatás-nyilvántartás hogyan hat egymással.

    Web Services architektúra
    1. Közzététel - A szolgáltató a bróker közzétételi felületének használatával tájékoztatja a brókert (szolgáltatási nyilvántartást) a webszolgáltatás létezéséről a szolgáltatás elérhetővé tétele érdekében az ügyfelek számára
    2. Keresés - A kérelmező konzultál a közvetítővel egy közzétett webszolgáltatás megkeresése érdekében
    3. Kötés - A brókertől (szolgáltatásnyilvántartástól) a webszolgáltatással kapcsolatban nyert információkkal a kérelmező képes lekötni vagy meghívni a webszolgáltatást.

    Webszolgáltatás jellemzői

    A webszolgáltatások a következő speciális viselkedési jellemzőkkel rendelkeznek:

    1. XML-alapúak - a Web Services XML-t használ az adatok ábrázolására az ábrázolási és az adatátviteli rétegekben. Az XML használata kiküszöböli a hálózati, operációs rendszer vagy platformfüggőséget, mivel az XML a mindenki által értett közös nyelv.

    2. Lazán összekapcsolt - A lazán összekapcsolt azt jelenti, hogy az ügyfél és a webszolgáltatás nincs kötve egymáshoz, ami azt jelenti, hogy még akkor is, ha a webszolgáltatás idővel változik, nem szabad megváltoztatnia azt, ahogyan az ügyfél felhívja a webszolgáltatást. A lazán összekapcsolt architektúra alkalmazása megkönnyíti a szoftverrendszerek könnyebb kezelhetőségét és egyszerűbb integrációt tesz lehetővé a különböző rendszerek között.

    3. Szinkron vagy aszinkron funkcionalitás - A szinkronitás az ügyfélnek a szolgáltatás végrehajtásához való kötésére utal. Szinkron műveletek esetén az ügyfél valóban megvárja, amíg a webszolgáltatás befejezi a műveletet. Erre példa valószínűleg egy olyan forgatókönyv, amelyben adatbázis-olvasási és -írási műveletet hajtanak végre. Ha az adatokat az egyik adatbázisból olvassák le, majd a másikba írják, akkor a műveleteket szekvenciálisan kell elvégezni. Az aszinkron műveletek lehetővé teszik az ügyfél számára, hogy szolgáltatást hívjon elő, majd párhuzamosan végrehajtson más funkciókat is. Ez az egyik legáltalánosabb és valószínűleg a legelőnyösebb technika annak biztosítására, hogy más szolgáltatásokat ne állítsanak le egy adott művelet végrehajtásakor.

    4. Távoli eljáráshívások (RPC) támogatása - A webszolgáltatások lehetővé teszik az ügyfelek számára, hogy XML-alapú protokoll használatával meghívják az eljárásokat, függvényeket és módszereket távoli objektumokon. A távoli eljárások felfedik azokat a bemeneti és kimeneti paramétereket, amelyeket egy webszolgáltatásnak támogatnia kell.

    5. Támogatja a dokumentumcserét - Az XML egyik legfontosabb előnye, hogy nem csak adatokat, hanem összetett dokumentumokat is képvisel. Ezek a dokumentumok lehetnek ugyanolyan egyszerűek, mint egy aktuális címet, vagy ugyanolyan összetettek, mint egy teljes könyvet.