Internet ablakok Android

Webszolgáltatások – példák. Mi az a webszolgáltatás? Nyilvános webszolgáltatás

Az 1C:Enterprise Webszolgáltatások mechanizmusa azonos nevű metaadat objektumok használatán alapul, pl. konfigurációs objektumok a "Webszolgáltatások" ágból.

1. ÁLTALÁNOS FOGALOMMEGHATÁROZÁSOK

Próbáljuk meg általánosítani a „webszolgáltatás” fogalmát.

Web-szolgáltatás egy hálózati technológia, amely biztosítja programközi kölcsönhatás(különböző alkalmazások között) alapján webes szabványok. A webszolgáltatások lehetővé teszik az egyik alkalmazásból a másikba való hozzáférést, és ezzel egyidejűleg bizonyos funkciók végrehajtását.

A webszolgáltatást egy URI karakterlánc (Uniform Resource Identifier) ​​azonosítja – egy egységes erőforrás-azonosító (ez egy karakterlánc, amely lehetővé teszi az erőforrás azonosítását).

A webszolgáltatás formátumban bemutatott programozási felülettel rendelkezik WSDL(Web Services Description Language) – a webszolgáltatások leírására és az azokhoz való hozzáférésre szolgáló nyelv, amely az XML nyelven alapul (http://www.w3.org/TR/wsdl specifikáció). Egy webszolgáltatás külső felületeinek egységes bemutatására szolgál, és arra szolgál, hogy egy másik program tudja, hogy ez a program rendelkezik ilyen "szolgáltatással" (azaz a webhely első programja a WSDL fájlban rögzíti a szolgáltatásaira vonatkozó információkat formátum).

Más rendszerek SOAP (Simple Object Access Protocol) üzenetek cseréjével lépnek kapcsolatba a webszolgáltatással – egy protokoll strukturált üzenetek cseréjére egy elosztott számítási környezetben (http://www.w3.org/TR/soap specifikáció). Mint minden szövegalapú protokoll, a SOAP is használható bármilyen alkalmazási réteg protokollal: SMTP, FTP, HTTPS és még sok más, de leggyakrabban a SOAP-ot HTTP-n keresztül használják.

1. ábra Webszolgáltatás koncepciója.

A SOAP tetszőleges XML üzenetküldéshez és távoli eljáráshíváshoz (RPC) használatos.

Így a webszolgáltatás és az alkalmazás között XML dokumentumok üzenetek formájában cserélődnek ki. A webszolgáltatások szabványai meghatározzák:

Üzenetformátum, interfész, amelyre az üzenet elküldésre kerül;

Az üzenet tartalmának a szolgáltatást megvalósító alkalmazáshoz való kötésére vonatkozó szabályok és fordítva;

Közzétételi és interfészkeresési mechanizmusok.

A webszolgáltatások legegyszerűbb és legkézenfekvőbb felhasználási módja az interneten elérhető közszolgáltatások referenciaadatainak beszerzése. Például az Aeroflot egy webszolgáltatáson keresztül ad tájékoztatást járatairól, a Bank of Russia - információkat az árfolyamokról, értékpapírokról, hitelintézetekről - sok lehetőség lehet.

2. WEB-SZOLGÁLTATÁSOK AZ „1C: VÁLLALATI” RENDSZERBEN

Az 1C:Enterprise 8 alkalmazási megoldása lehet:

Webszolgáltató;

Az 1C:Enterprise 8 rendszerben a webszolgáltatások a más információs rendszerekkel és az 1C:Enterprise 8 alkalmazásokkal való integrációhoz használt platformmechanizmusok egyike.

Más szavakkal, az 1C:Enterprise webszolgáltatásokon keresztül exportálhatja funkcióit. Meghatározásaik a konfigurációs fában kerülnek beállításra, és tetszőleges információs rendszerek számára elérhetővé válnak webszerveren való közzétételükkel.

Az 1C:Enterprise webszolgáltatási mechanizmusa a szolgáltatás-orientált architektúra (SOA) támogatásának eszköze, ami azt jelenti, hogy a programok „szolgáltatásokat” használnak az adatok egymás közötti cseréjére.

Ahhoz, hogy az 1C:Enterprise funkcionalitása elérhető legyen a webszolgáltatások külső fogyasztói számára, a következőket kell tennie:

Hozza létre a szükséges számú webszolgáltatást a konfigurációban;

A webszolgáltatás létrehozása:

A webszolgáltatás konfigurációs objektumának metaadatfáján kívül;

A webszolgáltatás által végrehajtható műveletek leírása;

A működési paraméterek leírása.

A webszolgáltatás konfigurációs objektuma egy olyan modult tartalmaz, amely a beépített nyelven eljárásokat hoz létre, amelyek bizonyos webszolgáltatási műveletek meghívásakor végrehajtódnak. A webszolgáltatás működési paraméterei az XDTO típusok segítségével vannak leírva, és lehetnek XDTO értékek vagy XDTO objektumok.

A webszolgáltatás hívása a következőképpen zajlik:

A kapcsolatkészletből kiválasztunk egy megfelelő kapcsolatot az infobázissal; szükséges kapcsolat hiányában kapcsolat jön létre;

Új munkamenet jön létre;

A kért webszolgáltatási metódus meghívásra kerül.

Az 1C:Enterprise-ben megvalósított webszolgáltatási mechanizmus a következő szabványokat támogatja:

WS-I alapprofil 1.1;

SSL 3.0/TLS 1.0.

3. TANULMÁNYWEB-SZOLGÁLTATÁSOK AZ „1C: VÁLLALATI” RENDSZERBEN

A webszolgáltatások a más információs rendszerekkel való integrációhoz használt platformmechanizmusok egyike. Ez a SOA (Service-Oriented Architecture) – szolgáltatás-orientált architektúra – támogatásának eszköze, amely az alkalmazások és információs rendszerek integrálásának modern szabványa.

A szolgáltatás-orientált architektúra jelentős előnye, hogy lehetővé teszi a vállalat infrastruktúrájának homogén fejlesztését anélkül, hogy a meglévő megoldásokat tönkretenné. Használata lehetővé teszi a költségek minimalizálását azáltal, hogy heterogén és örökölt rendszereket integrál a modern vállalati környezetbe. Lehetővé teszi lazán csatolt szoftverkomponensek megvalósítását, hogy maximalizálja újrafelhasználhatóságukat.

A szolgáltatás-orientált architektúrát a nagy gyártók aktívan fejlesztik és támogatják. Szolgáltatásokra épül, autonóm vagy kívülről irányított. A webszolgáltatások a legelőnyösebb módja ezek megvalósításának. Platformfüggetlenek, önállóak és egyetemesen támogatottak.

Az 1C:Enterprise 8 alkalmazásmegoldás webszolgáltatások szolgáltatója és más szolgáltatók által közzétett webszolgáltatások fogyasztója is lehet.

Tetszőleges hardver- és szoftverplatformot használó rendszerek fogyasztóként működhetnek. A webszolgáltatások technológia platformfüggetlen.


Webszolgáltatások technikai megvalósítása

Ha az alkalmazásmegoldás webszolgáltató, akkor mind a fájl, mind a kliens-szerver működési változatban az alkalmazásmegoldás és a webszolgáltatás fogyasztói közötti interakció a webszerveren keresztül, a webszerver bővítő modul segítségével valósul meg.

Ebben az esetben, amikor a fogyasztó hozzáfér az alkalmazásmegoldás webszolgáltatásához, a webszolgáltatási modul végrehajtásra kerül. Ezt a modult a konfiguráció tartalmazza, és a webszolgáltatás bizonyos műveleteinek meghívásakor végrehajtott eljárásokat tartalmazza.

Kliens-szerver művelet esetén ez a modul egy fürtben kerül végrehajtásra. A munka fájlverziója esetén - a webszerver kiterjesztési moduljában.

Ha az alkalmazásmegoldás egy harmadik féltől származó webszolgáltatás fogyasztója, akkor az alkalmazásmegoldás és a webszolgáltató közötti interakciót az ügyfélalkalmazás végzi. Meghívja a webszolgáltatás bizonyos műveleteit és feldolgozza a kapott adatokat.

A webszolgáltatás fogyasztójaként működő 1C:Enterprise platform támogatja a bináris adatok optimalizált átvitelét az MTOM protokollon keresztül. Az MTOM mód automatikusan engedélyezve van az 1C:Enterprise-ben.

A webszolgáltatás-architektúra alapján a következő két komponenst hozzuk létre a webszolgáltatás megvalósításának részeként:

Szolgáltató vagy kiadó

Ez egy webszolgáltató. A szolgáltató ezt a szolgáltatást megvalósítja és elérhetővé teszi az interneten vagy intraneten. Egy egyszerű webszolgáltatást fogunk írni és közzétenni a .NET SDK használatával.

Szolgáltató vagy fogyasztó

Ez a webszolgáltatás bármely fogyasztója. A kérelmező egy meglévő webszolgáltatást használ fel egy hálózati kapcsolat megnyitásával és egy XML kérés elküldésével. Két webszolgáltatási kérelmet is írunk: egy webes fogyasztót (ASP.NET alkalmazás) és egy másik fogyasztót, amely Windows alkalmazásokon alapul.

Az alábbiakban bemutatjuk az első példánkat egy webszolgáltatásra, amely szolgáltatóként fut, és két módszert (az add és a SayHello) tesz közzé webszolgáltatásként az alkalmazások számára. Ez a webszolgáltatás szabványos sablonja. A .NET szolgáltatások az .asmx kiterjesztést használják. Vegye figyelembe, hogy a webszolgáltatásként közzétett metódusoknak van WebMethod attribútuma. Mentse ezt a fájlt FirstService.asmx néven az IIS virtuális könyvtárába (az IIS beállításánál leírtak szerint, például c:\MyWebSerces).

FirstService.asmx

<%@ WebService language = "C" class = "FirstService" %>Rendszer használata; a System.Web.Services használatával; a System.Xml.Serialization használatával; public class FirstService: WebService ( public int Add(int a, int b) ( return a + b; ) public String SayHello() ( return "Hello World"; ) )

A webszolgáltatás teszteléséhez közzé kell tenni. A webszolgáltatás intraneten vagy az interneten is közzétehető. Ezt a webszolgáltatást közzétesszük a helyi gépen futó IIS-en. Kezdjük az IIS beállításával.

  • Nyissa meg a Start → Beállítások → Vezérlőpult → Felügyeleti eszközök → Internetszolgáltatás-kezelő lehetőséget.
  • Bontsa ki, és kattintson jobb gombbal az Alapértelmezett webhely elemre; válassza az Új → Virtuális címtár lehetőséget. Megnyílik a Virtuális címtár-létrehozó varázsló. Kattintson a "Tovább" gombra.
  • Megjelenik a Virtuális címtár képernyő. Adja meg a virtuális könyvtár nevét. Például a MyWebServices. és kattintson a Tovább gombra.
  • Megnyílik a „Web Content Directory” képernyő.
  • Adjon meg egy könyvtárnevet a virtuális könyvtár számára. Például: c:\MyWebServices Kattintson a Tovább gombra.
  • Megjelenik a Hozzáférési engedély képernyő. Módosítsa a beállításokat igényei szerint. Tartsuk meg ennek a gyakorlatnak az alapértelmezett beállításait.
  • Kattintson a "Tovább" gombra. Ezzel befejezi az IIS beállítását.
  • Kattintson a „Befejezés” gombra a beállítás befejezéséhez.

Annak ellenőrzéséhez, hogy az IIS megfelelően van-e konfigurálva, másolja a HTML-fájlt (például x.html) a fent létrehozott virtuális könyvtárba (C:\MyWebServices). Most nyissa meg az Internet Explorert, és írja be a http://localhost/MyWebServices/x.html címet. Meg kell nyitnia az x.html fájlt.

jegyzet. Ha ez nem működik, próbálja meg lecserélni a localhost elemet az eszköz IP-címére. Ha továbbra sem működik, ellenőrizze, hogy fut-e az IIS; előfordulhat, hogy újra kell konfigurálnia az IIS-t és a virtuális könyvtárat.

A webszolgáltatás teszteléséhez másolja a FirstService.asmx fájlt a fent létrehozott IIS virtuális könyvtárba (C:\MyWebServices). Nyissa meg a webszolgáltatást az Internet Explorerben (http://localhost/MyWebServices/FirstService.asmx). Meg kell nyitnia a webszolgáltatás oldalát. Az oldalnak tartalmaznia kell két olyan módszerre mutató hivatkozást, amelyeket webszolgáltatásként biztosítunk az alkalmazásunkhoz. Gratulálunk! Megírta az első webszolgáltatását!

Webszolgáltatás tesztelése

Ahogy az imént láttuk, a .NET-keretrendszerben könnyű webszolgáltatásokat írni. A webszolgáltatások írása is egyszerű a .NET környezetben; azonban valamivel aktívabb. Amint arról korábban szó volt, kétféle szolgáltatásfogyasztóról fogunk írni: az egyik egy webhely, a másik pedig egy felhasználó alapú Windows alkalmazás. Írjuk meg első webszolgáltatás fogyasztónkat.

Webszolgáltatások

Írjon egy webfogyasztót az alábbiak szerint. Nevezze el WebApp.aspx-nek. Vegye figyelembe, hogy ez egy ASP.NET alkalmazás. Mentse ezt a webszolgáltatás virtuális könyvtárába (c:\MyWebServices\WebApp.axpx). Ez az alkalmazás két szövegmezővel rendelkezik, amelyek segítségével a felhasználó számokat kérhet hozzá. Egyetlen Futtatás gombja van, amelyre kattintva az Add és SayHello webszolgáltatások jelennek meg.

WebApp.axpx

<%@ Page Language="C#" %>

Első hozzáadandó szám: 4< /asp:TextBox>

Második hozzáadandó szám: 5

Webszolgáltatás eredménye -

hello world service : címke< /asp:Label>

Szolgáltatás hozzáadása elemre : & címke



A fogyasztó létrehozása után proxyt kell létrehoznunk a webszolgáltatás fogyasztásához. Ezt a munkát a Visual Studio .NET automatikusan elvégzi helyettünk, amikor a hozzáadott webszolgáltatásra hivatkozunk. Íme a követendő lépések:

  • Hozzon létre egy proxyt a webszolgáltatás használatához. A proxy a .NET SDK-hoz tartozó WSDL segédprogrammal jön létre. Ez a segédprogram információkat kér le egy webszolgáltatásból, és proxyt hoz létre. A proxyszerver csak egy adott webszolgáltatáshoz érvényes. Ha más webszolgáltatást kell használnia, akkor ehhez a szolgáltatáshoz proxyt is létre kell hoznia. A Visual Studio .NET automatikusan létrehoz egy proxyt, amikor webszolgáltatási hivatkozást ad hozzá. Hozzon létre proxyt a webszolgáltatáshoz a .NET SDK-hoz tartozó WSDL segédprogrammal. Létrehoz egy FirstSevice.cs fájlt az aktuális könyvtárban. Le kell fordítanunk a FirstService.dll (proxy) létrehozásához a webszolgáltatáshoz.
  • c:>WSDL http://localhost/MyWebServices/FirstService.asmx?WSDL
  • c:> csc /t:library FirstService.cs
  • Helyezze a lefordított proxyt a webszolgáltatás virtuális könyvtárának bin könyvtárába (c:\MyWebServices\bin). Az Internet Information Services (IIS) proxykiszolgálót keres ebben a könyvtárban.
  • Hozzon létre egy szolgáltatás fogyasztót, ahogy mi tettük. Vegye figyelembe, hogy a webszolgáltatás proxy objektuma a fogyasztón jön létre. Ez a proxy gondoskodik a szolgáltatással való interakcióról.
  • Adja meg a fogyasztói URL-t az IE-ben a teszteléshez (például http://localhost/MyWebServices/WebApp.aspx).

Windows alkalmazásokon alapuló webszolgáltatás fogyasztó

Egy webszolgáltatási alkalmazás Windows-alkalmazásokon alapuló írása hasonló bármely más Windows-alkalmazás írásához. Csak egy proxyt kell létrehozni (amit már megtettünk), és erre a proxyra hivatkozni kell az alkalmazás összeállításakor. Az alábbiakban a webszolgáltatást használó Windows alkalmazásunk látható. Ez az alkalmazás létrehoz egy webszolgáltatás objektumot (természetesen proxyt), és meghívja rajta a SayHello és Add metódusokat.

WinApp.cs

Rendszer használata; a System.IO használatával; névtér SvcConsumer ( osztály SvcEater ( public static void Main(String args) ( FirstService mySvc = new FirstService(); Console.WriteLine("Hello World Service: " + mySvc.SayHello()); Console.WriteLine("Calling Add()) 2, 3) Szolgáltatás: " + mySvc.Add(2, 3).ToString()); ) ) )

Fordítsa le a c: \> csc /r:FirstService.dll WinApp.cs paranccsal. Ez létrehoz egy WinApp.exe fájlt. Futtassa az alkalmazás és a webszolgáltatás teszteléséhez.

A kérdés most az: hogyan lehet biztos abban, hogy ez az alkalmazás valóban egy webszolgáltatást hív?

Könnyű ellenőrizni. Állítsa le a webszervert, hogy a webszolgáltatás ne tudjon kapcsolatba lépni vele. Most indítsa el a WinApp alkalmazást. Futás közben kivételt fog dobni. Most indítsa újra a webszervert. Dolgoznia kell.

Megjegyzés: Felhasználási területek. Előnyök. Webszolgáltatások fejlesztésének jellemzői .NET platformra. Egy webszolgáltatás leírása és felfedezése

Mi az XML webszolgáltatás?

Az információs technológia fejlődésével a programok írásának különböző megközelítései jelentek meg: moduláris programozás, eseményvezérelt programozás, alkatrész-orientált programozásés tervezés. E megközelítések logikus folytatása szolgáltatás-orientált volt szoftverfejlesztés.

A szolgáltatás-orientált megközelítések alkalmazása lehetővé teszi, hogy makroszinten (szolgáltatási szinten) beszéljünk újrahasználatról (reuse), szemben a mikroszinttel (objektumszint). A szolgáltatás-orientált megközelítés egyszerű és általánosan elfogadott szabványok használatát foglalja magában, ami lehetővé teszi, hogy az alkalmazások széles skálája használja egymás funkcióit. A szolgáltatások a legkülönfélébb programozási nyelvek használatával írhatók, különféle platformokon. Ezenkívül a szolgáltatások külön-külön vagy egy szoftvercsomag részeként telepíthetők bárhol a világon, és így hozzáférést biztosítanak funkcióikhoz a hálózaton keresztül.

Hívjuk szolgáltatás olyan erőforrás, amely üzleti funkciót valósít meg, és a következő tulajdonságokkal rendelkezik:

  • újrafelhasználható;
  • egy vagy több explicit technológia-független interfész határozza meg;
  • lazán kapcsolódnak más hasonló erőforrásokhoz, és olyan kommunikációs protokollokon keresztül hívhatók meg, amelyek lehetővé teszik az erőforrások számára, hogy kölcsönhatásba lépjenek egymással.

Egy szolgáltatás speciális esete az XML webszolgáltatás.

XML webszolgáltatás egy speciális típusú webes alkalmazás, amely:

  • webszerverre telepítve;
  • külső kliensek által meghívható webmetódusokat tesz közzé;
  • várja a HTTP kérések beérkezését, amelyek webmetódusok hívására szolgáló parancsok;
  • webmetódusokat hajt végre, és eredményeket ad vissza.

A hagyományos webes alkalmazásokkal ellentétben a webszolgáltatásnak nincs felhasználói felülete. Ehelyett van benne API, vagyis egy webszolgáltatás távolról (például az interneten keresztül) hívható funkciókat (webes metódusokat) biztosít. A webszolgáltatást nem a végfelhasználók kiszolgálására tervezték. Feladata, hogy szolgáltatásokat nyújtson más alkalmazások számára, legyenek azok webalkalmazások, GUI-alkalmazások vagy konzolalkalmazások.

A webszolgáltatás valós idejű információkat nyújthat a részvényárfolyamokról, ellenőrizheti a hitelkártyákat, vagy jelentést tehet az időjárásról. A webszolgáltatások ugyanolyan változatosak, mint a hagyományos alkalmazások.

A webszolgáltatások nem egy adott cég tulajdonát képezik. Nyílt protokollokon (SOAP, HTTP stb.) alapuló ipari szabvány. A webszolgáltatások különféle platformokon vannak telepítve (beleértve a Windows vagy UNIX rendszerű kiszolgálókat is). A webszolgáltatások számos fejlesztőeszköz segítségével fejleszthetők (a szövegszerkesztőtől a Microsoft Visual Studio családig).

A legtöbb webszolgáltatás módszerét SOAP-üzeneteket tartalmazó HTTP-kérés hívja meg. A SOAP egy XML-nyelv (XML-szókincs), amely távoli eljárások HTTP-n és más protokollokon keresztüli meghívására szolgál (a SOAP teljes leírása: http://www.w3.org/TR/SOAP) .

A webszolgáltatások helye az egyéb távoli hívástechnológiák között

Számos távoli hívási protokoll és technológia létezik: Microsoft Distributed Component Object Model (DCOM), az Object Management Group Common Object Request Broker Architecture (CORBA), a Sun Remote Method Invocation (RMI), . NET Remoting, XML webszolgáltatások.

Mindezeket a komponens-orientált technológiákat (DCOM, CORBA és RMI) évek óta sikeresen alkalmazzák intranetes alkalmazásokban. Robusztus, méretezhető architektúrát biztosítanak. Azonban két fő probléma van e technológiák internetes használatával. Először is, nem kommunikálnak jól egymással. Minden technológia objektumokon működik, de a részletekben jelentősen eltérnek egymástól: életciklus-kezelés, konstruktorok támogatása és az öröklődés támogatásának mértéke. A második, fontosabb szempont, hogy az RPC interakciókra való összpontosítás szorosan összekapcsolt rendszerek felépítéséhez vezet, amelyek explicit objektum metódushívásokon alapulnak.

Ezekkel a technológiákkal ellentétben az XML Web Services és a . NET Remoting teljesen megvalósítható objektum-orientált megközelítés webes programozáshoz.

XML webszolgáltatás- olyan összetevő, amely az internetes ügyfelek számára API-funkciókat vagy webes metódusokat biztosít. Az XML a név része, mert a webszolgáltatások és ügyfeleik adatcserére használják. A webszolgáltatások olyan nyílt szabványokon alapulnak, mint a HTTP, XML (Extensible Markup Language), SOAP (Simple Object Access Protocol – egy internetes szabvány, amely leírja, hogy az alkalmazások hogyan tudnak interakcióba lépni, azaz hogyan hívhatják meg egymás metódusait HTTP és más protokollok használatával). A webszolgáltatások fő feladata a programok közötti interakció biztosítása. Sok UNIX szerveren fut, és Windows kliensek érik el. A webszolgáltatásoknak továbbított adatokat XML-be sorozzák, és SOAP-csomagokban küldik el. Az ilyen üzenetek tartalmára vonatkozó metaadatokat a webszolgáltatás WSDL-szerződése és XSD-sémái tárolják. Ennek a megközelítésnek a fő előnye a metaadatok olvashatósága. A fejlesztő könnyedén megtekintheti a webszolgáltatás teljes leírását, és akár saját modult is létrehozhat, amely elemzi a SOAP-csomagokat.

.NET Remoting infrastruktúrát biztosít az elosztott objektumok számára. Sokkal összetettebb, mint egy egyszerű, üzenettovábbításon alapuló webszolgáltatás-architektúra. . A NET Remoting magában foglalja a paraméterek hivatkozás és érték szerinti átadását, a visszahívásokat, a több objektum aktiválását és az életciklus-kezelési házirendeket. E szolgáltatások használatához az ügyfélalkalmazásnak minden technológiában jártasnak kell lennie. Adatok be. A NET Remoting bináris vagy SOAP formátumban kerül elküldésre. A továbbított információ szerkezetére vonatkozó metaadatokat azonban mindenesetre a közös nyelvi futtatókörnyezet tartalmazza. Közös nyelvi futtatókörnyezet (CLR) nélkül az ügyfélalkalmazás nem tudja elemezni a . NET Remoting SOAP fejlécek. Azaz. A NET Remoting lényegesen magasabb követelményeket támaszt, mint a webszolgáltatások.

Webszolgáltatások fejlesztése .NET platformon

Számos módja van a webszolgáltatások írásának. Fejleszthetők kézzel, vagy a Microsoft, az IBM és mások által biztosított SOAP eszközökkel Webes szolgáltatások írása a Microsofttal. A NET-nek két előnye van:

  • A .NET-keretrendszer nagymértékben leegyszerűsíti a fejlesztési folyamatot azáltal, hogy osztálykönyvtárat biztosít és automatizálja az egyes fejlesztési lépéseket;
  • A .NET-keretrendszerrel írt webszolgáltatások felügyelt alkalmazások. Vagyis az ilyen alkalmazásokban nincs memóriaszivárgás, helytelenül inicializált mutatók és egyéb tipikus programozási problémák.

Teremtés

Készítsünk egy egyszerű AdditionService webszolgáltatást, amely két szám összeadását hajtja végre. Csak egy Add metódusa lesz, amely két egész számot vesz paraméterként, és egy egész számot ad vissza. Az AdditionService bemutatja a webszolgáltatások Microsoft .NET-keretrendszer használatával történő programozásának számos fontos alapelvét.

  • A webszolgáltatások ASMX-fájlokként vannak megvalósítva. Az ASMX egy speciális fájlnév-kiterjesztés, amelyet az ASP .NET (pontosabban az ASP.NET HTTP-kezelő) regisztrált a fő ASP .NET Machine.config konfigurációs fájlban.
  • Az ASMX fájlok a @WebService direktívával kezdődnek. Ennek a direktívának tartalmaznia kell legalább a Class attribútumot, amely meghatározza azt az osztályt, amelyből a webszolgáltatás áll.
  • A webszolgáltatási osztályok opcionális WebService attribútumokkal rendelkezhetnek. Ebben a példában ez az attribútum adja meg a webszolgáltatás nevét és a leírást, amely akkor jelenik meg a HTML oldalon, amikor a felhasználó meghívja az AdditionService.asmx fájlt a böngészőben.
  • A webes metódusok deklarálása a WebMethod attribútumnak a webszolgáltatási osztály nyilvános metódusaihoz való hozzárendelésével történik. A belsőleg használt, de külső ügyfelek számára nem elérhető segédmetódusoknál ez az attribútum egyszerűen kimarad.
  • A HTTP, az XML és a SOAP „láthatatlan”. Az XML-adatokat és a SOAP-üzeneteket a .NET-keretrendszer kezeli.

AdditionService.asmx<%@ WebService language="C#" Class="AddService" %>Rendszer használata System.Web.Services osztály AddService használatával ( public int Add (int a, in b) ( return a + b ) )

Kis mérete ellenére az AdditionService.asmx egy ASP.NET webszerverre telepítve egy teljes webszolgáltatás. Metódusait SOAP, HTTP GET és HTTP POST hívják meg, és SOAP-válaszként vagy egyszerű XML-burkolóként tud eredményeket adni.

A háttérkód segítségével a webszolgáltatási osztályok kivehetők az asmx fájlokból külön fájlokba.

A webszolgáltatások támogatják a használatot összetett adattípusok bemeneti vagy kimeneti paraméterként. Az összetett adattípusok támogatottak, mivel az XML megkönnyíti a legtöbb adattípus sorba rendezését. Egy webszolgáltatás automatikus tesztelésekor azonban az ASP.NET nem hoz létre tesztoldalakat az összetett adattípusokat elfogadó módszerekhez. Ennek az az oka, hogy nem adhat át összetett adattípusokat a webes metódusnak HTTP GET és POST használatával.

A webszolgáltatások lehetővé teszik saját módszereinek meghívását aszinkron módon. Az aszinkron hívás azonnal visszatér, függetlenül attól, hogy a webszolgáltatásnak mennyi ideig tart a hívás feldolgozása. Az aszinkron hívások akkor hasznosak, ha egy hívás feldolgozása hosszú ideig tart. Az alkalmazás kezdeményezi a hívást, majd a hívás eredményének megvárása nélkül fut tovább, majd később fogadja az aszinkron hívás eredményét. Az eredmény akkor érhető el, ha a webes metódust az alkalmazás számára megfelelő időpontban ismét meghívják, vagy feliratkozunk a webszolgáltatás hívásfeldolgozásának befejezéséről szóló értesítésre (delegálási mechanizmus).

A webszolgáltatások olyan eszközök segítségével hozhatók létre, mint pl Microsoft Visual Studio 2005. A webszolgáltatások létrehozására külön ASP .NET Web Service projekttípus létezik. A Visual Studio létrehoz egy asmx fájlt, egy háttérkóddal rendelkező fájlt a webszolgáltatási osztályok leírásához, egy webszolgáltatás konfigurációs fájlt stb. Amikor a projektet elindítják végrehajtásra, a szolgáltatási osztályok összeállításra kerülnek, és az asmx fájl megnyitásra kerül egy böngészőablakban.

Webszolgáltatások leírása szerződések segítségével

Ahhoz, hogy más fejlesztők használhassák az AdditionService-t, tudniuk kell, hogy milyen metódusokat tesz közzé, milyen protokollokat támogat, metódus-aláírásokat és a webszolgáltatás címét (URL). Mindezek és egyéb információk WSDL-ben (Web Service Description language) írhatók le.


Webszolgáltatás felfedezése

Honnan tudnak más fejlesztők az AdditionService létezéséről?

Először is, a DISCO (a felfedezés rövidítése) segítségével - a helyi webszolgáltatások keresésére szolgáló fájlmechanizmus, vagyis egy olyan mechanizmus, amely a webszervereken tárolt DISCO-fájlokból megszerezheti az elérhető webszolgáltatások listáját. Ezenkívül a DISCO-fájlok tartalmazzák az elérhető szolgáltatások WSDL-szerződéseinek helyét. A DISCO fájl egy XML fájl rekordokkal.

Lehetőség van VSDISCO fájlok használatára is, amelyek hasonlóak a DISCO fájlokhoz, de tartalmuk a webszolgáltatások dinamikus keresésének eredménye a megadott könyvtárakban és az összes beágyazott alkönyvtárban. Az ASP .NET leképezi a .vsdisco fájlnév-kiterjesztést egy HTTP-kezelőre, amely az adott könyvtárban és annak alkönyvtáraiban keresi az asmx és disco fájlokat, és egy dinamikusan generált DISCO dokumentumot ad vissza. Biztonsági okokból a dinamikus keresés le van tiltva a .NET-keretrendszer egyes verzióiban, de engedélyezheti a Machine.config fájl bejegyzéseinek szerkesztésével.

De hogyan zajlik a webszolgáltatások keresése a globális hálózatban? A webszolgáltatások globális hálózaton belüli kereséséhez a Microsoft, az IBM és az Ariba közösen fejlesztette ki az UDDI-t (Universal Description Discovery and Integration) – az elosztott adatbázisok felépítésére szolgáló specifikációt, amely lehetővé teszi a webszolgáltatások keresését. Az UDDI-t több száz cég támogatja. Az UDDI webhelyek maguk is webszolgáltatások. Bárki közzéteheti nyilvántartását UDDI alapján. A legtöbb fejlesztő soha nem használja közvetlenül az UDDI API-t. Ehelyett az UDDI-nyilvántartásokat fejlesztőeszközök érik el. A felfedezett és kiválasztott webszolgáltatásokhoz wrapper osztályokat is generálnak.

Eredmények

Az XML webszolgáltatás egy olyan szoftverösszetevő, amely olyan funkcionalitást biztosít, amelyet számos olyan rendszer használhat, amelyek támogatják az olyan szabványokat, mint az XML és a HTTP. A webszolgáltatás ügyfelek lehetnek helyi és távoli alkalmazások is. A webszolgáltatások lehetővé teszik olyan struktúrák létrehozását, amelyek lehetővé teszik a különböző rendszerek egyszerű, általánosan elfogadott szabványok alapján történő egyszerű integrálását.

WEB-szolgáltatás - (az angol web-szolgáltatásból, szinonimája - online szolgáltatás). A webszolgáltatások olyan szolgáltatások, amelyeket speciális programok segítségével nyújtanak az interneten. Gyakoriak például az olyan szolgáltatások, mint: hosting, e-mail, különféle információk tárolása az interneten (fájlok, könyvjelzők), naptár stb. A webszolgáltatás fontos tulajdonsága, hogy nem függ a szolgáltatótól, a számítógéptől vagy a böngészőtől – adataival a világon bárhol dolgozhat, ahol hozzáférése van a .

Knyazev A.A. Enciklopédikus tömegszótár. - Bishkek: KRSU Kiadó. A. A. Knyazev. 2002 .

Nézze meg, mi a "WEB-szolgáltatás" más szótárakban:

    webszolgáltatás

    webszolgáltatás- Webszolgáltatás. Webszolgáltatás, webszolgáltatás (angolul web service) egy szoftverrendszer, amelyet XML-ben definiált interfészsor azonosít, és internetes protokollok segítségével továbbítanak. A webszolgáltatás a modularitás egysége a ... ... Wikipédia használatakor

    Web gyorsítótár kommunikációs protokoll- A Cisco által kifejlesztett (WCCP) Content Redirection Protocol. Mechanizmust biztosít a forgalom valós idejű átirányítására. Beépített méretezéssel, terheléselosztással, hibatűréssel rendelkezik. Cisco IOS ... ... Wikipédia

    Webes térképszolgáltatás- (WMS orosz webes térképszolgáltatás) szabványos protokoll a földrajzilag hivatkozott képek interneten keresztüli kiszolgálására, amelyeket egy térképezőszerver generál egy térinformatikai adatbázisból származó adatok alapján. Ezt a szabványt fejlesztették ki, és először ... ... a Wikipédia

    Web Hotel Salvador- (Salvador, Brazília) Szállodakategória: 2 csillagos szálloda Cím: Rua das Alfazemas … Szállodakatalógus

    Web Hotel Aparecida- (Aparecida, Brazília) Szállodakategória: 3 csillagos szálloda Cím: Av. Isaac Ferrei … Szállodakatalógus

    Szolgáltatás Alapú Achitektúra- A szervezet üzleti folyamatai a Megrendelő meglévő alkalmazásai által nyújtott szolgáltatások alapján valósulnak meg. Ha az alkalmazások nem támogatják a szolgáltatásnyújtás képességét (Web Services), akkor a termékmegvalósítás fejlődik ... ... Műszaki fordítói kézikönyv

    web 2

    Web 2.0- A Web 2.0-hoz kapcsolódó kulcsfogalmak A Web 2.0 (definíciója Tim O'Reilly) olyan rendszerek tervezésének technikája, amelyek a hálózati interakciók figyelembevételével egyre jobbak, minél többen használják őket. Web 2.0 funkció. az elv ... ... Wikipédia

    weboldal- A "webhely" lekérdezés ide kerül átirányításra. Lát más jelentések is. Weboldal (angol nyelvről Weboldal: web web és site "place") számítógépes hálózatban, amely egy domain név vagy IP-cím alatt egyesül) magánszemély dokumentumainak gyűjteménye vagy ... ... Wikipédia

Könyvek

  • Információs technológiák a turizmusban, VN Shitov. A kézikönyv részletesen tárgyalja az általános célú számítógépes technológiákat a népszerű Microsoft Office 2010 csomagok és alternatív komplexumok használatával, ... Vásárlás 546 rubelért
  • 75 kész megoldás az Ön webhelyére PHP-ben , Steinmetz W., Ward B.. Mindenki, aki saját webhelyet készít vagy készíteni fog, elkerülhetetlenül számos feladattal és nehézséggel kell szembenéznie: hogyan készítsen blogot az oldalon…. "gyorsítsd" a szavazást, zárj le bizonyos ...