Névjegyzék

XML webszolgáltatások. Felülvizsgálati technológia. Mi a webes szolgáltatások, és miért fontos

webes szolgáltatás, Web Service (ENG. Web Service) - A webcímszoftver rendszer által azonosított szabványosított interfészekkel.

A webes szolgáltatások kölcsönhatásba léphetnek egymással és harmadik féltől származó alkalmazások Specifikus protokollokon alapuló üzeneteken keresztül \u003d

  • XML-RPC.
  • stb.

A webszolgáltatás a modularitás egysége a szolgáltatásorientált alkalmazási architektúra használatakor.

A mindennapi életben a webszolgáltatásokat az interneten nyújtott szolgáltatásoknak nevezik.
Ebben a fogyasztásban a kifejezés tisztázást igényelAkár a keresés, webmail, dokumentumok, fájlok, könyvjelzők stb.
Az ilyen webszolgáltatások az internet-hozzáférés, a számítógép vagy a böngésző függetlenül használhatók.

Építészet

Amint az az ábrán látható, megkülönböztetheti az internetes szolgáltatáson belüli kölcsönhatásokat. A nevüket ügyfelek, előadóművészekként és könyvtárként (Service Requestor, Szolgáltató és Szolgáltató Broker) fordítjuk le.

Amikor a szolgáltatást tervezték, a vállalkozó regisztrálja azt a katalógusban, ahol a potenciális ügyfelek megtalálják. Az ügyfél, a megfelelő szolgáltatás megtalálása a könyvtárban, behozza a WSDL specifikációját, és kifejleszti a szoftvert. A WSDL leírja az Ügyfél és a Vállalkozó által a munka során kicserélt kérelmek és válaszok formátumát. Az interakció biztosítása érdekében a következő szabványokat használják:

  • Bővíthető jelölőnyelv strukturált adatok tárolására és átadására;
  • Üzenetek az XML adatbázisban;
  • : Leírás Nyelv külső interfészek XML webes szolgáltatások;
  • Univerzális felismerési felület, leírások és integráció (univerzális felfedezés, leírás és integráció).

A webes szolgáltatások könyvtárai és információi az univerzális használatra vagy konkrét vállalatokra nyújtott vállalatokról. Míg az UDDI azonban csak a kis márkás hálózatokban létezik, és még nem találták meg széles körben elterjedt Open Online.

Fejlesztési módszerek

Vannak eszköze a webszolgáltatások fejlesztésének, elválasztva két fő csoportba.

Az alulról felfelé történő fejlesztésekor a végrehajtási osztályok végrehajtása meg van írva, és a WSDL-fájlok dokumentálása a forrásszövegből származik. Ennek a módszernek a hátránya a Java osztályok gyakori változásai. A felülről lefelé haladva a WSDL-t először készítik el, és egy Java osztály csontvázát generál, és végrehajtja a szolgáltatást. Ez az út nehezebbnek tekinthető, de a változásoktól védett tisztább és jobb döntéseket eredményez. Míg az ügyfelek és az előadóművész által nem változott üzenetek formátuma, amelyek nem változnak, mindegyikük nem sérti az interakciót. Ezt a technikát néha "szerződésnek" nevezik, mivel a kiindulási pont a WSDL ("szerződés" az ügyfél és az előadó között).

Méltóság

  1. A webszolgáltatások biztosítják kölcsönhatás szoftverrendszerek A platformtól függetlenül. Például a Windows-C # -cent kommunikálhat egy Linux alatt futó Java szerverrel.
  2. A webszolgáltatások nyílt szabványokon és protokollokon alapulnak. Köszönöm xML használat könnyen megvalósítható és hibakeresési webszolgáltatások érhetők el.
  3. Az internetes protokoll használatával rendelkezik HTTP kölcsönhatás szoftverrendszerek tűzfalon keresztül. Ez jelentős előnye a technológiához képest, mint a Corba, a DCom vagy a Java RMI. Másrészt a webszolgáltatás a HTTP-hez nem kötődik - más protokollok használhatók -.

hátrányok

  1. Kis teljesítmény és nagyobb hálózati forgalomaz RMI, CORBA, DCOM technológiákkal összehasonlítva szöveges XML üzenetekkel. Néhány webszerveren azonban a hálózati forgalmi tömörítés konfigurálása lehetséges.
  2. A biztonság szempontjai. A felelős webszolgáltatásoknak kódolást kell használniuk, a felhasználói hitelesítést igényelhetik. A HTTP-k vagy megoldások, mint például az XML aláírás, az XML titkosítás vagy a saml-nek előnyösek, hogy a fejlesztőt megoldani kell-e.

Példák

A légitársaságok és az utazási irodák közötti követelmények. Az első olyan webszolgáltatásokon keresztül történik, amelyek hasznos információkat tartalmaznak, amelyeket a második az ügyfelek számára optimális ajánlatok keresnek.

A Google 2002-től 2009-ig olyan webes szolgáltatást nyújtott, amely lehetővé tette az ügyfelek keresni szükséges információ Az interneten, mint a hétköznapi felhasználók. A kényelem érdekében ez egy páratlanul, például a HTML-szöveges Google oldalak automatikus elemzésével.

Az Amazon.com webes szolgáltatása különböző webes szolgáltatásokat nyújt (valami "szolgáltatásként" - felhő technológiák)

A téma fejléc valóban egy kérdés, mert Én magam nem tudom, mit próbálok dolgozni ezzel a cikkben. Az egyetlen dolog, amit garantálhatok, hogy az alább beadott kód működik, de a kifejezésem csak feltételezések és találgatás, hogy én magam is megértsem ezt. Akkor gyerünk ...

Bevezetés

Meg kell kezdeni azzal a ténnyel, hogy a webszolgáltatások fogalmát hozták létre. A koncepció időpontjában már olyan technológiák történtek, amelyek lehetővé teszik az alkalmazások számára, hogy egy távolságot kölcsönhatásba léphessenek, ahol egy program bármilyen módszert okozhat egy másik programban, amely egy másik városban vagy akár az országban található számítógépen indítható. Mindez rövidítve van az úgynevezett RPC (távoli eljárás hívása - távoli eljáráshívás). A Corba Technologies példák, valamint a Java - RMI (távoli módszer, amely meghívja a távvezérlő módszereket). És minden jól van benne, különösen Corba-ban, mert Bármely programozási nyelven dolgozhat, de valami még mindig hiányzott. Úgy vélem, hogy a mínusz Corba az, hogy egy bizonyos hálózati protokollok Az egyszerű http helyett, amely bármilyen tűzfalon áttör. A webszolgáltatás ötlete az volt, hogy ilyen RPC-t hozzon létre, amelyet HTTP-csomagokba dobnak. Így kezdte a szabvány fejlesztését. Melyek a szabvány alapfogalma:
  1. SZAPPAN.. A távoli eljárás hívása előtt le kell írnia ezt a hívást XML fájl.e formátumú szappan. A SOAP csak az egyik számos XML jelölés, amelyet a webes szolgáltatásokban használnak. Mindaz, amit valahol a HTTP-n keresztül szeretne küldeni, először a szappan XML leírásá válik, majd a HTTP-csomagba burkolva, és a TCP / IP hálózat másik számítógépére küldi.
  2. Wsdl. Van egy webes szolgáltatás, azaz A program, amelynek módszereit távolról hívhatja. De a szabvány megköveteli, hogy egy leírást készítsen ehhez a programhoz, amely kimondja, hogy "Igen, akkor nem tévedsz - ez tényleg webes szolgáltatás, és ilyen módszereket okozhat." Az ilyen leírás egy másik XML-fájlnak tűnik, amelynek másik formátuma van, nevezetesen WSDL. Azok. A WSDL csak egy XML webes szolgáltatásleírás fájl és semmi más.
Miért kérdezsz röviden? És részletesebben lehetetlen? Valószínűleg lehetséges, de ehhez kapcsolatba kell lépnie olyan könyvekkel, mint a Masnin T. "Java Web Services". Az első 200 oldalra megy részletes leírás Minden szappan és WSDL szabvány címke. Érdemes ezt csinálni? Véleményem szerint nincs, mert Mindez a Java automatikusan létrejön, és csak az eltávolított módszerek tartalmát kell írni. Tehát Java-ban egy ilyen API jelent meg JAX-RPC-nek. Ha valaki tudja, mikor azt mondják, hogy a Java ilyen API-nak van, azt jelenti, hogy van egy csomag egy olyan osztályú osztály, amely a szóban forgó technológiát kapja. A JAX-RPC hosszú időt fejlesztett ki a verzióból a verzióra, és végül Jax-Ws-ba fordult. WS, nyilvánvalóan azt jelenti, WebService, és úgy gondolja, hogy ez egy egyszerű RPC átnevezve a népszerű szó. Ez nem olyan, mert Most a webszolgáltatások elmozdultak a kezdeti ötletből, és lehetővé teszik, hogy ne csak a távoli módszereket hívja, hanem egyszerűen küldjön üzeneteket szappan formátumban is. Miért van szükségem rá, még nem tudom, nem valószínű, hogy itt a válasz "csak abban az esetben, ha hirtelen szüksége lesz." Én magam szeretnék tanulni tapasztaltabb elvtársak. Nos, az utolsó, akkor még mindig Jax-Rs volt az úgynevezett nyugodt webszolgáltatások számára, de ez egy külön cikk témája. Ez a bevezetés befejezhető, mert Ezután megtanulunk dolgozni JAX-WS-vel.

Általános megközelítés

Webes szolgáltatások Mindig van ügyfél és szerver. A szerver a webes szolgáltatásunk, és néha végpontnak nevezik (például a végpont, ahol a szappanüzenetek származnak az ügyféltől). A következőket kell tennünk:
  1. Ismertesse webszolgáltatásunk felületét
  2. Végezze el ezt az interfészt
  3. Futtassa webszolgáltatását
  4. Írjon egy ügyfélt, és távolról hívja a kívánt webes szolgáltatási módszert
A webszolgáltatás futtatása különböző utak: Ismertesse az osztályt a fő módszerrel, és indítsa el a webszolgáltatást közvetlenül a kiszolgálónak, vagy a Tomcat típusú szerverhez vagy bármely máshoz. A második esetben mi magunk nem futtunk új kiszolgálót, és ne nyissuk meg egy másik portot a számítógépen, és egyszerűen beszéljünk a Tomcat Servlet tartályával, hogy "Itt írtuk a webes szolgáltatás osztályát, kérjük, tegye közzé őket Mindazok, akik hívnak, webes szolgáltatásunkat használhatnánk. A webszolgáltatás elindításának módjától függetlenül az ügyfélnek ugyanaz az ügyfél lesz.

szerver

Indítsa el az ötletet, és hozzon létre egy új projektet Új projekt létrehozása. Megadjuk a nevet Hellowebservice. És kattintson a gombra Következő, Következő gomb BEFEJEZ. Mappában src Hozzon létre egy csomagot ru.javarush.ws.. Ebben a csomagban hozzon létre egy HellowebeService interfészt: Package Ru. Javarush. Ws; // ez a jegyzetek, azaz az osztályunk és módszerek megünneplésére // a webes szerviz technológiával kapcsolatban Javax importálása. Jws. Webmethod; Javax importálása. Jws. Webes szolgáltatás; Javax importálása. Jws. SZAPPAN. Szappankötés; // azt mondjuk, hogy az interfészünk webes szolgáltatásként fog működni @Webes szolgáltatás. // azt mondjuk, hogy a webes szolgáltatást a módszerek hívására használják @Soapbinding (Style \u003d Soapbinding. Style. RPC) Public Interface Hellowerbservice ( // azt mondjuk, hogy ezt a módszert távolról lehet hívni @Webmethod nyilvános karakterlánc Gethellostring (String Name); ) Ebben a kódban a WebService és a Webmethod osztályai az úgynevezett megjegyzések, és nem tesznek semmit, csak akkor jelöljük az interfészünket és a módszert webes szolgáltatásként. Ugyanez vonatkozik a szappankötési osztályra is. Az egyetlen különbség az, hogy a szappankötés absztrakt paraméterekkel. Ebben az esetben a stílusparamétert olyan értékkel használják, amely hangszórók, hogy a webszolgáltatás nem fog dolgozni a dokumentumokon, de klasszikus RPC-ként, azaz. Hívja a módszert. Végezzük el a felületünk logikáját, és hozzon létre egy HellowebeServiceImpl osztályt a csomagunkban. By the way, megjegyzem, hogy az osztály vége az összefüggésben a Java-i megállapodás, amely szerint ez azt jelenti, hogy végrehajtó interfészek (implementum - a végrehajtás, azaz végrehajtás). Ez nem követelmény, és szabadon hívhatja az osztályt, amennyit csak akarsz, de az ehhez szükséges jó hangszabályok: Package Ru. Javarush. Ws; // ugyanaz az absztrakt, mint az interfész leírásakor, Javax importálása. Jws. Webes szolgáltatás; //, de itt használják a végponttalpi paraméterrel, // a webszolgáltatásunk interfészosztályának teljes nevét jelzi @Webservice (endpointerface \u003d "Ru.javarush.ws.hellowebService") Nyilvános osztály HellowebeServiceImpl eszközök Hellowebebservice (@override nyilvános string Gethellostring (String Name) ( // csak üdvözletet adjon vissza Visszatérés "Hello," + Name + "!" ; )) Indítsa el webszolgáltatását független szerverként, azaz. Az összes Tomcat és alkalmazásszerver részvétele nélkül (ez egy külön beszélgetés témája). Ehhez a mappában lévő projektszerkezetben src Hozzon létre egy csomagot Ru.Javarush.endpoint, és létrehozunk egy HellowebyServicePublisher osztályt a fő: csomag RU módszerrel. Javarush. végpont; // osztály, webszerver indításához webes szolgáltatásokkal Javax importálása. Xml. Ws. Végpont; Webes szolgáltatásunk osztálya Import RU. Javarush. Ws. HellowebebszerviceImpl; Nyilvános osztály HellowebeServicePublisher (nyilvános kijelző Void Main (String .. args) ( // futtasson egy webkiszolgálót a Port 1986-ban // és az első érvben megadott címen, // futtasson egy webes szolgáltatást a második érvben Végpont. Közzéteszi ( "http: // localhost: 1986 / wss / hello", új HellogeebebserviceImpl ()); )) Most indítsa el ezt az osztályt a kattintással Shift + F10.. A konzolban semmi sem jelenik meg, de a szerver fut. Ez látható a böngészőben a böngészőben http: // localhost: 1986 / wss / hello? Wsdl. Az egyrészt megnyitott oldal bizonyítja, hogy van egy webszerver (http: //) az 1986-os kikötőn, másrészt pedig bemutatja webszolgáltatásunk WSDL leírását. Ha abbahagyja az alkalmazást, a leírás nem lesz elérhető, mint maga a webszolgáltatás, így nem fogjuk ezt megtenni, de az ügyfél írására fogunk fordulni.

Ügyfél

A projekt mappában src Hozzon létre egy csomagot Ru.Javarush.Client, és benne a HelloWebserviceclient osztály a fő: csomag RU módszerrel. Javarush. Ügyfél; // WSDL leírást és rajta kell // elérje a legtöbb webszolgáltatást Import Java. HÁLÓ. URL; // Az URL objektummal való együttműködés során egy ilyen exePeCne fordul elő Import Java. HÁLÓ. Malformedurlexcale; // Osztályok ellenáll az XML-KU-nak a WSDL leírásával // és elérje a szolgáltatási címkét Javax importálása. Xml. Névtér. Qname; Javax importálása. Xml. Ws. Szolgáltatás; // webszolgáltatásunk interfésze (többre van szükségünk) Import RU. Javarush. Ws. Hellowebservice; Nyilvános osztály Hellowebiceclient (Static Statikus Void Main (String Args) dobja a malformedurlexception ( // Hozzon létre egy linket a WSDL leírásához URL URL \u003d Új URL ( "Http: // localhost: 1986 / wss / hello? wsdl") ; // A következő tervező paraméterek az első WSDL leírási címke - definíciókat néznek // 1. argumentum nézze meg a TargetNamesce attribútumot // 2. érvelés A név attribútumot nézzük Qname qname \u003d új qname ("http://ws.javarush.ru/" http://ws.javarush.ru/ "," HellogeebebRiceImplservice "); // Most elérjük a szolgáltatási címkét a WSDL leírásban, Szolgáltatási szolgáltatás. \u003d Szolgáltatás. Létrehozása (URL, QNAME); // továbbá a befektetett portcímke // kap egy linket egy webes szolgáltatás távoli tőlünk Hellobservice hello \u003d szolgáltatás. Getport (Hellowebebservice. Osztály); // Hurrá! Most hívhatsz távoli módszer Rendszer. Ki. Println (Hello. Gethellostring ("Javarush")); )) A jegyzékben a kódex maximális megjegyzését adtam. Nincs semmi hozzáadás, így futok (Shift + F10). Meg kell látnunk a szöveget: Hello, Jakarush! Ha nem látta, akkor látszólag elfelejtette elindítani a webszolgáltatást.

Következtetés

Ebben a témában bemutatták rövid kirándulás webszolgáltatásokban. Még egyszer azt fogom mondani, hogy sokat mondok, amit írtam, az én találataim arról, hogyan működik, ezért nem kell sokat bízni. Hálás leszek, ha az ismerős emberek kijavítanak engem, mert akkor megtanulok valamit. UPD.

Jegyzet: Használati területek. Előnyök. A webes szolgáltatások fejlesztésének jellemzői platform.net. Leírás és webszolgáltatás észlelése

Mi az XML webszolgáltatás?

Mivel az információs technológiák kidolgozása, különböző megközelítések az írási programokhoz: moduláris programozás, eseményorientált programozás, komponensorientált programozás és design. Ezeknek a megközelítéseknek a logikus folytatása szervezett szoftverfejlesztés.

A szolgáltatásorientált megközelítések használata lehetővé teszi számunkra, hogy beszéljünk az újrafelhasználásról (újrafelhasználás) a makroszintű (szolgáltatási szint), a mikro-szinttől eltérően (objektumszint). A szolgáltatásorientált megközelítés magában foglalja az egyszerű és általánosan elfogadott szabványok használatát, amelyek lehetővé teszik a legkülönbözőbb alkalmazások használatát az egymás funkcionalitásának használatához. A szolgáltatások különböző platformokon különböző programozási nyelvek segítségével írhatók. Ezenkívül a szolgáltatások külön-külön vagy a szoftvercsomagon belül telepíthetők a világ bármely pontján, és így hozzáférést biztosítanak hálózati funkcionalitásukhoz.

Név szolgáltatás (szolgáltatás) Az üzleti funkció végrehajtása és a következő tulajdonságokkal rendelkező erőforrás:

  • újra felhasználásra kerül;
  • egy vagy több explicit technológiailag független interfész határozza meg;
  • gyengeen kapcsolódik más hasonló erőforrásokhoz, és a kommunikációs protokollok okozhatják, biztosítva az erőforrások közötti kölcsönhatás lehetőségét.

A szolgáltatás különleges esete XML Web -Service.

XML webszolgáltatás - Ez egy különleges típusú web-ajánlat, amely:

  • webszerveren telepített;
  • közzéteszi a külső ügyfelek által okozott webes módszereket;
  • várja a http kérések kézhezvételét, amelyek a webes módszerek kihívásainak parancsát tartalmazzák;
  • végezze el a webes módszereket és adja meg az eredményeket.

A hagyományos weboldaltól eltérően a Web -Service nincs felhasználói felülete. Ehelyett van egy szoftveres felület, azaz a Web -Service funkciók (webes módszerek), amelyek távolról (például az interneten) okozhatnak. A Web -Service nem célja a végfelhasználók számára. Feladata az, hogy szolgáltatásokat nyújtson más alkalmazásokhoz, akár webes kifejezés, grafikus alkalmazások felhasználói felület vagy konzol alkalmazások.

A Web -Service valós idejű információt nyújthat a promóciós tanfolyamokról, ellenőrzi a hitelkártyákat, vagy jelenteni az időjárás-előrejelzést. A webes-services ugyanolyan változatos, mint a szokásos alkalmazások.

A Web -Service nem egy adott vállalat tulajdonát képezi. Ez egy ipari szabvány, amely nyílt protokollok (szappan, http stb.). A Web -Service különböző platformokon (beleértve a Windows vagy UNIX rendszert futtató kiszolgálókat is). A webes-service számos fejlesztési eszközzel (a szöveg szerkesztő A Microsoft Visual Studio család előtt).

A legtöbb webszolgáltatási módszereket HTTP-rekordok, amelyek SOAP SOAP-üzeneteket tartalmaznak - ez XML-nyelv (XML szókincs), hogy a HTTP és más protokollok távoli eljárásait hívja ( teljes leírás Szappan http://www.w3.org/tr/soap).

Webszolgáltatás helye több távoli hívás technológiák között

Számos protokoll és távoli hívás technológia létezik: a Microsoft Distributed Component Object Model (DCOM), az objektumkezelő csoport közös objektumkérelme bróker architektúrája (CORBA), Sun "távoli módszer meghívása (RMI) ,. Net Remoting, XML webes szolgáltatások.

Mindezen összetevőkorientált technológiákat (DCOM, CORBA és RMI) sikeresen alkalmazták intranet alkalmazásokban. Megbízható, skálázható architektúrát biztosítanak. Azonban, ha ezeket a technológiákat alkalmazzák, két komoly probléma merül fel az interneten. Először is, rosszul kölcsönhatásba lépnek egymással. Minden technológia tárgyakkal működik, de részletesen különbözik: az életciklus kezelése, a tervezők támogatása és az öröklési támogatás mértéke. A második, több fontos szempont Ez az, hogy az RPC kölcsönhatás orientációja erősen összekapcsolt rendszerek kialakításához vezet az objektum-módszerek nyilvánvaló hívásain alapulva.

Ezekkel a technológiákkal ellentétben, XML Web Services és. A nettó távoli távoli végrehajtás objektumorientált megközelítés Webes programozáshoz.

XML webszolgáltatás. - Az internet-vevőkészülékek, amelyek API-t vagy webes módszereket biztosítanak. Az XML szerepel a névben, mivel a webes-services és ügyfeleik az adatok cseréjére használják. Alapján Web -Service nyílt szabványok, mint a HTTP, XML (Simple Object Access Protocol - SOAP (Simple Object Access Protocol - Szabványos Intenet, leírja, hogyan alkalmazások kölcsönhatásba léphet, azaz hívják egymást módszerekkel HTTP és más protokollok ). A Web-Service fő feladata a programközi interakció biztosítása. Sok munka a UNIX kiszolgálókon, és a Windows-Tisztításokat címezzük. A WebServis-ba továbbított adatokat XML-ben sorolják, és szappancsomagokra továbbítják. Az ilyen üzenetek tartalmának metaadatait a WSDL-Conface Web -Service és az XSD-rendszerekben tárolja. Ennek a megközelítésnek a fő előnye a metaadatok olvashatósága. A fejlesztő könnyen megtekintheti a webes-service teljes leírását, és még létrehozhatja saját modulját, szétszereli a szappan -paskets-ot.

.NET Remoting. Infrastruktúrát biztosít az elosztott tárgyak számára. Sokkal inkább bonyolultabb az egyszerű internetes-service architektúra az üzenetek átadásán alapul. . A nettó távirányítás magában foglalja a paraméterek referenciaként és érték, visszahívások, az objektumok és az életcikluskezelési politikák közötti többszörös aktiválással. A megadott képességek használatához az ügyfélalkalmazásnak rendelkeznie kell az összes technológiával. Adatok. A nettó távoli eltávolítás bináris vagy szappan formátumban kerül továbbításra. Mindenesetre azonban a továbbított információk szerkezetének metaadatait egy társadalmi végrehajtási környezet tartalmazza. Általános alapú végrehajtó környezet (CLR) nélkül az ügyfélalkalmazás nem lesz képes szétszerelni. Nettó távoli szappan fejlécek. Azaz. A nettó távirányítás lényegesen nagyobb igényeket eredményez a Web -Service-hoz képest.

Webes szolgáltatások fejlesztése platform.net

Sok módja van Web -Service írásához. A Microsoft, az IBM stb. Szappannyomtatását kézzel vagy szappannyomtatással lehet kifejleszteni. Web -Service írása a Microsoft használata.. A NET két előnye van:

  • .NET-keretrendszer jelentősen leegyszerűsíti a fejlesztési folyamatot azáltal, hogy biztosítja a fejlesztési osztályok könyvtárát és automatizálását;
  • A .NET-keretrendszerrel írt webes szolgáltatások kezelt alkalmazások. Vagyis ilyen alkalmazásokban nincsenek problémák a memória szivárgás, helytelenül inicializált mutatók és egyéb tipikus problémák Programozás.

Teremtmény

Mi lesz kifejlesztünk egy egyszerű webszolgáltatás a kiegészítésszolgáltatás, amely kiegészíti a két számot. Ez csak egy hozzáadásával rendelkezik, amely két egész számot fogad el paraméterként, és egy egész számot is visszaad. A kiegészítő szolgáltatások számos fontos alapelvet mutatnak a webszolgáltatások programozásához a Microsoft .NET-keretrendszer használatával.

  • A webszolgáltatásokat az ASMX fájlokként hajtják végre. Az ASMX egy speciális fájlnév kiterjesztés, amelyet ASP .NET (pontosabban, az ASP.NET HTTP kezelő számára a fő ASP .NET machine.config konfigurációs fájlban regisztrált.
  • Az ASMX fájlok a @webservice irányelvvel kezdődnek. Ez az irányelvnek tartalmaznia kell legalább az osztály attribútumot, amely meghatározza az osztályt, amelyből a webszolgáltatás áll.
  • A webszolgáltatási osztályok opcionális webszolgáltatási attribútumokkal rendelkezhetnek. Ebben a példában egy ilyen attribútum hozzárendeli a webszolgáltatás nevét és egy leírást, amely megjelenik a HTML oldalon, amikor a felhasználó hívja a kiegészítéstervice.asmx böngészőt.
  • A webes módszereket nyitott webmothod attribútum-módszerek hozzárendelésével deklarálják. A benne lévő kiegészítő módszerekhez, de a külső ügyfelek számára nem érhető el, ez az attribútum egyszerűen nincs megadva.
  • Http, xml és szappan "láthatatlan". Az XML adatokkal és a SOAP üzenetekkel való együttműködés .NET-keretrendszert hajt végre.

Additservice.asmx.<%@ WebService language="C#" Class="AddService" %> A rendszer használata a System.Web.Services osztályhoz AddService (Public Int Add (INT A, INT B) (A + B visszatérés)

A kisméretek ellenére a kiegészítésszolgáltatás.azmx egy teljes körű webes szolgáltatás, ha telepíti az ASP.NET webszerverre. Módszereit szappan, http Get és HTTP-bejegyzés segítségével hívják fel, és az eredményeket szappanválaszakként vagy egyszerű XML-kagylóként visszaadhatja.

A háttérkód használatával a webszolgáltatási osztályok az ASMX fájlokból külön fájlokká válhatnak.

Webszolgáltatások támogatása komplex adattípusok bemeneti vagy kimeneti paraméterekként. A kifinomult adattípusok támogatottak, mivel az XML megkönnyíti az adattípusok nagy részét. Az Asp .NET Web Service automatikus tesztelése során azonban nem generál tesztoldalakat a komplex adattípusokat kapó módszerekhez. Ez azért van, mert lehetetlen komplex adattípusok webes módszert átadni a HTTP Get és a Post használatával.

A webszolgáltatások lehetővé teszik a módszerek hívását aszinkron. Az aszinkron hívás azonnal visszaadja a vezérlést, függetlenül attól, hogy mennyi időre van szükség a hívásfeldolgozáshoz. Az aszinkron hívások hasznosak, ha a hívásfeldolgozás jelentős időt igényel. Az alkalmazás hívást kezdeményez, majd továbbra is működik a hívás eredményének várása nélkül, és később megkapja az aszinkron hívás eredményeit. Az eredmény megszerzése akkor történik, amikor visszahívás Webes módszer egy kényelmes alkalmazásidőben, vagy ha feliratkozik, hogy értesítse a hívás feldolgozásának végét a webszolgáltatáshoz (delegálók mechanizmus).

Webszolgáltatások létrehozhatók instrumentális eszközök segítségével, például, Microsoft Visual Studio 2005. Webes szolgáltatások létrehozása érdekében különféle ASP .NET webszolgáltatás van. A Visual Studio létrehoz egy ASMX fájlt, egy háttérkódfájlt, amely leírja a webszolgáltatási osztályokat, a webes szolgáltatáskonfigurációs fájlt stb. A projekt elindításakor a szolgáltatási osztályok összeállítása és az ASMX fájl megnyitása a böngészőablakban történik .

A webszolgáltatások leírása szerződésekkel

Annak érdekében, hogy más fejlesztők használják a kiegészítésszolgáltatásokat, tudniuk kell, hogy mely módszereket biztosítja, melyik protokollokat támogatja, aláírja a módszereket és a webszolgáltatás címét (URL) címét. Mindezek és egyéb információk leírhatók a WSDL-ben (Web Service Leírás nyelv).


Web Service Detection

Hogyan tanulnak más fejlesztők a függdétek létezéséről?

Először is, a diszkó (a szó felfedezésének csökkentése) - A helyi webszolgáltatások keresésére vonatkozó fájlmechanizmusa, azaz a rendelkezésre álló webes szolgáltatások listájának megszerzésére szolgáló mechanizmus a webszervereken közzétett disco fájlokból. Ezenkívül a disco fájlok nyilvántartást tartalmaznak a rendelkezésre álló szolgáltatások WSDL-szerződéseinek helyéről. A Disco fájl egy XML-fájl rekordokkal.

Az is lehetséges, hogy használja VSDisco fájlok, amelyek hasonlóak a DISCO fájlokat, de ezek tartalma az eredménye dinamikus keresési webszolgáltatások ezekben a könyvtárakban és az összes alkönyvtárban alkönyvtár. ASP .NET Megjeleníti a fájlnév.vsdisco kiterjesztését a HTTP-PRO-BOTCTIK-on, amely megtalálja ez a katalógus És az ASMX és Disco alkönyvtárai, és dinamikusan generált disco dokumentumot ad vissza. Biztonsági okokból dinamikus keresés számos verzióban .NET-keretrendszerben le van tiltva, de engedélyezhető a gép.config fájlrekordok megváltoztatásával.

De hogyan történik a webes szolgáltatások keresése globális hálózat? Webes szolgáltatások keresése a Global Network Microsoft, IBM és Ariba közösen kifejlesztett UDDI (Univerzális Leírás Discovery és Integration) - Építési specifikáció elosztott bázisok Az adatok, amelyek lehetővé teszik a webszolgáltatások keresését. Az UDDI-t több száz vállalat támogatja. Az UDDI oldalak maguk a webes szolgáltatások. Mindenki közzéteszi UDDI-alapú rendszerleíró adatbázisát. A legtöbb fejlesztő soha nem használja az UDDI API-t közvetlenül. Ehelyett az UDDI regisztrálja a fellebbezést szerszámok Fejlődés. Ők generálják az észlelt és kiválasztott webszolgáltatások héjajánlatait is.

EREDMÉNYEK

Az XML Web -Service egy szoftverkomponens, amely a legtöbbet biztosítja különböző rendszerekAz olyan szabványok támogatása, mint például az XML és a HTTP-k ügyfelei a WebService lehetnek helyi és távoli alkalmazások. A Web -Service lehetővé teszi, hogy olyan struktúrákat hozzon létre, amelyek megkönnyítik a különböző rendszerek integrálását az egyszerű, általában elfogadott szabványok alapján.

A webszolgáltatás olyan program, amelyhez más internet (http) érhető el. Tegyük fel például, hogy van olyan funkciója, amely szöveget ad html formátumban. Az alkalmazás célja olyan webböngésző, amely megjeleníti az eredményeket, és a személy könnyen elolvashatja ezt a szöveget az oldalon.

Másrészt a webszolgáltatás célközönsége más programok vagy más webszolgáltatások, amelyek a webszolgáltatás által szolgáltatott adatokat fogyasztják. Általában a kimenet egy szabványos nyelven történik, amelyet más programok érthetnek. Vegyük a fenti példát, ha a webszolgáltatás XML formátumú szöveget jelenít meg, majd más webes szolgáltatások, amelyek olvashatnak vagy megérthetik az XML-t, használhatják ezt a kimenetet.

A fő előnye a webes szolgáltatás, hogy alkalmazásokat lehet bármilyen nyelven, de lehet adatokat cserélni, adatokat cseréljen egymással az interneten keresztül szolgáltatást. SzoftveralkalmazásokKülönböző programozási nyelveken írva és különböző platformokon dolgozik, internetes szolgáltatásokat használhat az interneten keresztül (http) keresztül. Ez az interakció (például Java és Python között, vagy windows alkalmazások és a nyílt szabványok (XML, SOAP, HTTP) használatával kapcsolatos Linux).

  • SOAP (egyszerű protokoll az objektumokhoz való hozzáférés)
  • UDDI (univerzális leírás, felderítés és integráció)
  • WSDL (Web Service Leírás Nyelv)

Hány különböző típusú webszolgáltatás van ott?

Először is kétféle webes szolgáltatás, egy egyszerű objektum-hozzáférési protokoll (szappan) és reprezentatív államátadás (pihenés).

  • A SOAP WEB SERVICE elfogadja az XML formátumot, és kimenetet generál XML formátumban.
  • A többi webszolgáltatás sokoldalúbb, és megkaphatja az XML-t, valamint a JSON-t lekérdezést, és kimenetet generál az XML-hez, valamint a JSON-ban vagy akár a HTML-ben

Ezt a kérdést a miénken lehet tanulmányozni.

19 válasz

Egyszerű meghatározás: A webszolgáltatás olyan függvény, amelyhez más internetes programok elérhetők (http). Egy kicsit tisztázni, ha létrehoz egy webhelyet a PHP-en, amely a HTML-t jeleníti meg, célja a cél egy böngésző, ráadásul egy személy olvasása a böngészőben. A webszolgáltatás nem az emberek számára készült, hanem más programok számára.

Így a PHP webhelye, amely egy véletlenszerű egész számot generál, webes szolgáltatás lehet, ha egy egész számot jelenít meg, amelyet egy másik program használhat. Ez lehet XML formátumban vagy más formátumban, ha más programok megérthetik a kimenetet.

A teljes definíció nyilvánvalóan bonyolultabb, de megkérdezte az egyszerű angolul.

Egyszerűsített, nem technikai magyarázat: Web servlet lehetővé Program beszélni egy weboldal használata helyett a böngésző, hogy nyit egy weboldalt.

Példa: Maps.google.com-ba tudok menni, és beírhatom az otthoni címét, valamint azt, hogy hol élek a böngészőmben.

De mi van, ha írsz számítógépes programHol szeretné felvenni a címet, és megmutatja egy szép térképet, mint a Google Térkép?

Nos, tökéletesen írhatsz Új program A Scratch-tól való leképezés, vagy hívhatja a Google kártyáinak webszolgáltatását, küldje el a címet, és visszaadja a programban megjelenített hely grafikus kártyáját.

Sok más, mint a többi üzenet megadása, de az eredmény az, hogy lehetővé teszi az alkalmazás számára, hogy az információkat vagy az információkat bizonyos erőforrásokhoz adja át. Néhány más példa:

Igen, ez egy egyszerű webszolgáltatás.

A webszolgáltatások nem más, mint egy lekérdezési / válasz mechanizmus, amely lehetővé teszi az ügyfél számára, hogy távolról hozzáférjen / módosítsa az adatokat. Vannak hivatalos szabványok a webes szolgáltatások (szappan, SOA stb.), De az egyszerű oldal is szolgáltatás.

Az oldal nyomtatásának fő hátránya, hogy a szolgáltatás visszatér a HTML-nek. Az előnyben részesített adatformátumok a JSON és az XML, mivel a legtöbb ügyfélkeret (és kiszolgálói keretek) JSON és XML segítségével vannak kialakítva.

Tehát, ha megváltoztatja a visszatérő szolgáltatást:

néhány véletlen szám

... néhány véletlen szám

hasznosabb lenne a legtöbb ügyfél számára

Egyszerűbb értelemben a webszolgáltatás az adatokat HTTP szolgáltatásként nyújtja. Természetesen nem így van ... de közel van.

Szabványos webszolgáltatások Használja a SOAP protokollt, amely meghatározza és az üzenetszerkezet, és az XML adatformátum.

A webszolgáltatásokat úgy tervezték, hogy alkalmazásokat készítsen különböző technológiák, problémamentesen kölcsönhatásba léphet egymással.

A webszolgáltatások példái olyanok, mint az időjárás.com, amely időjárási információkat szolgáltat, amelyeket a webhelyén vagy az UPS-en használhat, amely egy módszert idézi az idézetek vagy a csomagkövetés idézésére.

A szöveg a szappannal kapcsolatban megváltozik, mivel ez nem mindig szappan, amint említettem, de szeretném megérteni. A kulcs szolgáltatásként ad adatokat, és nem a felhasználói felület elemét.

A webszolgáltatás eltér a weboldaltól, hogy a webszolgáltatás a szoftver által elfogyasztott információkat nyújtja, és nem az emberek. Ennek eredményeként általában beszélünk a kitett JSON, XML vagy SOAP SZOLGÁLTATÁSOKBAN.

A webszolgáltatások kulcsfontosságú komponensek a "mashups" -ben. A mashups akkor van, ha számos webhelyről származó információ automatikusan összesíti az új és hasznos szolgáltatást. Például vannak olyan helyek, amelyek kombinálják Google térkép A rendőrségi jelentésekről, hogy adjon neked grafikai ábrázolás A bűnözésről. Egy másik típusú mashup az lenne, ha valódi adatokat kapna a tartalékok által biztosított egy másik helyszínen, és ötvözi őket egy hamis kereskedelmi alkalmazással, hogy "piaci játékot" hozzon létre a tőzsdén.

A webszolgáltatásokat a hírek (lásd Rss) nyújtására is használják, a webhelyhez hozzáadott legújabb elemek, az új termékek, a podcastok és más figyelemre méltó funkciók tájékoztatása, amelyek modern webes fordulatot tesznek.

Remélhetőleg segít!

A legtöbb webhelyre hTML oldalakamelyet a böngésző használata során meglátogat. Ezek egy személy által olvasott oldalak (a vizualizáció után a böngészőben), ahol sok adat zsúfolt, mert értelme van az embereknek.

Most képzeljük el, hogy valaki ezeket az adatokat akarja használni. Letölthetik az oldalát, és elkezdhetik szűrni az összes "zajt", hogy megkapja a szükséges adatokat, de a legtöbb webhely nem olyan módon épül fel, hogy az adatok 100% -ban biztosan az összes elem számára ugyanazon a helyen kerüljenek be A nehézkes kiegészítés is megbízhatatlanná válik.

Adja meg a webszolgáltatásokat.

A webszolgáltatás az, amit a webhely kínál azoknak, akik szeretnének olvasni, frissíteni és / vagy törölni az adatokat webhelyéről. Az adatokhoz "Backdoor" -t hívhatja. Ahelyett, hogy adatokat küldene egy weboldal részeként, előzetesen biztosított egy bizonyos módon, ahol a legnépszerűbb XML és JSON. Számos módja van a webszolgáltatás kommunikációjával, néhány szappannal, másokkal - pihenési webszolgáltatásokkal, stb.

Az összes webszolgáltatás jellemzője, hogy azok a gépen olvasható, egyenértékű weboldalak, amelyeket a webhely másokat kínál. Ez azt jelenti, hogy mások, akik adatokat kívánnak használni, kérést küldhet bizonyos adatokra, amelyek könnyen szétszerelhetők és használatosak. Egyes oldalak, akkor lehet, hogy adja meg a felhasználónév / jelszó a lekérdezés bizalmas adatokat, míg más oldalak bárki kivonat minden adatot, hogy szüksége lehet.

A legjobb magyarázat angol nyelv Az analógiára magyarázható:

  • A weboldalak lehetővé teszik az emberek számára, hogy kommunikáljanak és együttműködjenek egymással.
  • A webszolgáltatások lehetővé teszik a programokat, hogy kommunikáljanak és együttműködjenek egymással.

A PHP példa a definíció webes szolgáltatása, mivel a kimenet egy másik program használható. De valójában a HTML-kaparó képernyő nem megbízható vagy támogatott módja a webes szolgáltatások létrehozásának.

A webszolgáltatás az alkalmazások vagy rendszerek közötti adatok cseréjére használt nyílt protokollok és szabványok. A különböző programozási nyelveken írt szoftveralkalmazások és a különböző platformokon működő webes szolgáltatások az adatok cseréjére szolgálhatnak számítógépes hálózatok, mint például az internet, az egyik számítógépes interprocesszor kommunikációhoz hasonló módon. Ez a kompatibilitás (például a Java és a Python vagy a Windows és a Linux alkalmazások között) a nyílt szabványok (XML, SOAP, HTTP) használatához kapcsolódik.

Minden szabványos webszolgáltatás a következő összetevők használatával működik:

  • Szappan (egyszerű hozzáférési protokoll objektumok)
  • UDDI (univerzális leírás, felderítés és integráció)
  • WSDL (Web Service Leírás Nyelv)

Ez így működik:

A WebService olyan technológia, amellyel két vagy több távoli webes alkalmazás kölcsönhatásba lép egymással a hálózaton / interneten keresztül. Ez megvalósítható Java, .NET, PHP, stb.

Webszolgáltatás jellemzői: -

Az operációs rendszer biztosítja a GUI (és CLI) interfészt, amellyel kölcsönhatásba léphet. Ezenkívül olyan API-t is biztosít, amellyel kölcsönhatásba léphet a szoftverrel.

Hasonlóképpen, a weboldal olyan HTML oldalakat tartalmaz, amelyekkel kölcsönhatásba léphet, és az API-t is biztosíthatja, amely ugyanazokat az információkat és műveleteket kínálja programmal. Vagy ezek a szolgáltatások csak az API-n keresztül érhetők el a megfelelő felhasználói felület nélkül.

A szoftverfejlesztők által használt webszolgáltatás általában egy távoli kiszolgálón végzett műveletre vonatkozik, és az XML / SOAP specifikáció használatával hívják. Mint minden meghatározásban, vannak árnyalatok, de ez a kifejezés leggyakoribb használata.

A webszolgáltatás magyarázatának egyszerű módja ::

  • A webszolgáltatás két kommunikációs mód elektronikus eszközök A World Wide Web.
  • Ezt úgy lehet felhasználni, hogy a programozó kommunikáljon a szerverrel.
  • A folyamat felhívásához a programozó szappant használhat, stb.
  • A webszolgáltatások nyitott szabványok, például TCP / IP, http

A webszolgáltatás előnye, hogy azt mondják, hogy egy darab v.net kódot fejleszt, és szeretné használni a Java-t a kód használatához. Közvetlenül kölcsönhatásba léphet a nedvelemes réteggel, és nem tudja, hogy a technológia a kód kifejlesztésére készült.

Mivel @Vincent Ramdhanie azt mondta, hogy a webszolgáltatás nem szándékozik megtekinteni / fogyasztani a végfelhasználót és egy másik programot. Így a műszaki logika a programban lesz:

A normál program esetében

Felhasználó a honlapon -\u003e html / js / jquery stb -\u003e adjon nekem véletlenszerű számot -\u003e ur programot

ur program -\u003e véletlenszerű szám létrehozása -\u003e HTML létrehozása és kapszulázása o / p -\u003e Menj vissza a felhasználóhoz



Tetszett a cikket? Oszd meg