Kontakty

XML webové služby. Review Technology. Čo sú webové služby a prečo sú dôležité

webová služba, webová služba (ENG. Webová služba) - identifikovaná softvérovým systémom webových adries s štandardizovanými rozhraniami.

Webové služby môžu navzájom komunikovať a aplikácie tretích strán Prostredníctvom správ na základe špecifických protokolov \u003d

  • XML-RPC.
  • atď.

Webová služba je modulárnou jednotkou pri použití architektúry orientovanej na servis.

V každodennom živote sa webové služby nazývajú služby poskytované na internete.
V tejto spotrebe si tento termín vyžaduje objasnenieČi už ide o vyhľadávanie, webmail, ukladanie dokumentov, súborov, záložiek atď.
Takéto webové služby môžu byť použité bez ohľadu na internetový prístup, počítač alebo prehliadač.

Architektúra

Ako je znázornené na obrázku, môžete rozlíšiť tri inštancie, ktoré interakciu v rámci webovej služby. Preložíme svoje mená ako zákazník, výkonný umelec a adresár (servis, poskytovateľ služieb a servisný maklér).

Keď je služba navrhnutá, dodávateľ ho registruje v katalógu, kde ho môžu nájsť potenciálnych zákazníkov. Zákazník, nájsť príslušnú službu v adresári, importuje svoje špecifikácie WSDL odtiaľ a vyvíja svoj softvér podľa neho. WSDL opisuje formát požiadaviek a odpovedí, ktoré zákazník a dodávateľ vymieňajú počas práce. Na zabezpečenie interakcie sa používajú tieto normy: \\ t

  • Rozsiahly značný jazyk na ukladanie a prevedenie štruktúrovaných údajov;
  • Správy na databáze XML;
  • : Popis Jazyk externé rozhrania XML webové služby;
  • Rozhranie univerzálneho rozpoznávania, opisy a integrácia (univerzálny objav, popis a integrácia).

Katalóg webových služieb a informácií o spoločnostiach poskytujúcich webové služby na univerzálne použitie alebo špecifické spoločnosti. Kým UDDI existuje, ale len v malých značkových sieťach a ešte neboli nájdené rozsiahly Otvorené online.

Vývojové metódy

Existujú prostriedky na automatizáciu vývoja webových služieb, oddelené do dvoch hlavných skupín.

Pri vývoji z zdola nahor, implementácia implementačných tried je napísaná a WSDL súbory dokumentujúce služby sú generované z ich zdrojového textu. Nevýhodou tejto metódy je vystavenie triedam Java Triedy časté zmeny. Pri približovaní sa k zhora nadol, WSDL je najprv pripravený a z neho vygeneruje kostru triedy Java a implementuje službu. Táto cesta je považovaná za ťažšie, ale vedie k čistejším a lepším rozhodnutiam chráneným pred zmenami. Kým formát správ komunikujúcich, s ktorým zákazník a výkonný umelec nemení, zmeny v každom z nich neporušujú interakciu. Táto technika sa niekedy nazýva "Zmluva ako prvý", pretože východiskovým bodom je WSDL ("Zmluva" medzi zákazníkom a interpretom).

Dôstojnosť

  1. Webové služby interakcia softvérové \u200b\u200bsystémy Bez ohľadu na platformu. Napríklad Windows-C # -Cent môže komunikovať s Java serverom bežiacim pod Linuxom.
  2. Webové služby sú založené na otvorených štandardoch a protokoloch. Vďaka xML použitie jednoduché rozvíjanie a debug webové služby sa dosiahne.
  3. Používanie internetového protokolu poskytuje HTTP Interakcia softvérových systémov prostredníctvom brány firewall. To je významná výhoda v porovnaní s technológiou, ako je CORBA, DCOM alebo Java RMI. Na druhej strane, webová služba nie je možné použiť na http - iné protokoly -.

nevýhody

  1. Malá výkonnosť a väčšia sieťová prevádzkav porovnaní s RMI, CORBA, DCOM technológiami pomocou textových XML správ. Avšak, na niektorých webových serveroch je možné konfigurovať kompresiu sieťovej dopravy.
  2. Aspekty bezpečnosti. Zodpovedné webové služby by mali používať kódovanie, je možné požadovať overovanie používateľa. Je tu výhodné https, alebo riešenia, ako je napríklad podpis XML, XML šifrovanie alebo SAML, či je potrebné vyriešiť vývojár.

Príklady

Požiadavky medzi leteckými spoločnosťami a cestovými agentúrami. Prvý je poskytovaný prostredníctvom webových služieb užitočné informácie, že druhý sa používa pri hľadaní optimálnych ponúk svojim zákazníkom.

Google od roku 2002 do roku 2009 poskytol webovú službu, ktorá umožnila zákazníkom hľadať potrebné informácie Na internete rovnako ako obyčajní používatelia. Pre pohodlie je napríklad neporovnateľne, napríklad s automatickou analýzou HTML-text stránok Google.

Amazon.com má webovú službu poskytujúcu rôzne webové služby (niečo "ako služba" - Cloud Technologies)

Topic Header je naozaj otázka, pretože Ja sám neviem, čo sa najprv pokúsite pracovať s týmto v tomto článku. Jediná vec, ktorú môžem zaručiť, že kód odoslaný nižšie bude fungovať, ale moje frázy budú len predpoklady a odhady o tom, ako som sám chápem všetko. Tak, poďme ...

Úvod

Je potrebné začať so skutočnosťou, že koncepcia webových služieb bola vytvorená. V čase tejto koncepcie už existovali technológie, ktoré umožnia aplikácie komunikovať na diaľku, kde jeden program by mohol spôsobiť akúkoľvek metódu v inom programe, ktorý by mohol byť spustený na počítači nachádzajúcej sa v inom meste alebo dokonca v krajine. To všetko je skrátené nazývané RPC (Vzdialený postup volania - Vzdialený hovor). Technológie CORBA môžu byť uvedené ako príklady, a pre Java - RMI (vzdialená metóda vyvolávajú - diaľkové hovory). A všetko sa zdá byť v nich dobre, najmä v Korbe, pretože Môžete s ním pracovať v akomkoľvek programovacom jazyku, ale niečo stále chýbalo. Verím, že mínus Corba je, že to funguje cez niektoré z nich sieťové protokoly Namiesto jednoduchého http, ktorý sa zlomí cez každú bránu firewall. Myšlienkou webovej služby bola vytvorenie takejto RPC, ktorá bude hodená do balíkov HTTP. Začal tak vývoj štandardu. Aké sú základné pojmy tohto štandardu:
  1. Mydlo.. Pred volaním vzdialeného procesu musíte túto výzvu opísať XML súbor.e formátujte mydlo. Mydlo je len jedno z mnohých XML značenie, ktoré sa používajú vo webových službách. Všetko, čo chceme niekde cez HTTP, najprv zmení na XML Popis mydla, potom zahalený v balíku HTTP a je odoslaný do iného počítača na TCP / IP sieti.
  2. WSDL. Tam je webová služba, t.j. Program, ktorého metódy môžu byť diaľkovo volané. Norma však vyžaduje, aby sa tento program urobil opis, ktorý uvádza, že "áno, nie ste mylne - to je naozaj webová služba a môžete spôsobovať také takéto metódy." Takýto opis sa zdá iné ako XML súbor, ktorý má iný formát, menovite WSDL. Tí. WSDL je len súbor popisu XML Web Service a nič iné.
Prečo sa tak stručne pýtate? A podrobnejšie je to nemožné? Pravdepodobne je to možné, ale pre to budete musieť kontaktovať takéto knihy, ako je Masnin T. "Java Web Services". Tam pre prvých 200 stránok detailný popis Každá značka štandardov mydla a WSDL. Stojí to za to? Podľa môjho názoru nie je žiadny, pretože To všetko je vytvorené na Jave Automaticky a stačí písať obsah metód, ktoré sa predpokladá, že sú odstránené. Takže, v Java, taký API sa objavil ako JAX-RPC. Ak niekto vie, keď hovoria, že Java má také API, to znamená, že existuje balík so súborom tried, ktoré zapuzdrujú technológiu. JAX-RPC vyvinul dlhú dobu od verzie do verzie a nakoniec sa zmenila na JAX-WS. WS, samozrejme, znamená Webservice a môže si myslieť, že je to jednoduchá RPC premenovanie na populárne slovo. Nie je to tak, pretože Teraz webové služby sa presunuli od počiatočnej myšlienky a umožnili vám, aby ste jednoducho hovorili vzdialené metódy, ale tiež jednoducho posielať správy vo formáte mydla. Prečo to potrebujem, ešte neviem, je nepravdepodobné, že odpoveď tu bude "len v prípade, že to zrazu potrebuje." Ja sám by som sa rád učil od skúsenejších kamarátov. No, posledný, potom tam bol ešte JAX-R pre takzvané pokojné webové služby, ale toto je téma samostatného článku. Toto uvedenie môže byť dokončené, pretože Ďalej sa naučíme pracovať s JAX-WS.

Všeobecný prístup

Web Services Existuje vždy klient a server. Server je našou webovou službou a niekedy sa nazýva koncový bod (napríklad koncový bod, kde SOAP správy pochádzajú z klienta). Musíme urobiť nasledovné:
  1. Popíšte rozhranie našej webovej služby
  2. Implementovať toto rozhranie
  3. Spustiť našu webovú službu
  4. Napíšte klienta a na diaľku zavolajte požadovanú metódu webovej služby
Spustenie webovej služby rôzne cesty: Buď opíšte triedu s hlavnou metódou a spustite webovú službu priamo ako server, alebo ho máte na server Tomcat typu alebo iné. V druhom prípade sme sami nespustíme nový server a neotvorte iný port na počítači a jednoducho sa porozprávajte s Tomcat servlet kontajnerom, že "sme tu napísali triedy webovej služby, uverejňujú ich, prosím Všetci, ktorí vám hovoria, mohli by využiť našu webovú službu. V nezávislosti od spôsobu spustenia webovej služby bude mať klient rovnaký klient.

Server

Spustite myšlienku a vytvorte nový projekt Vytvoriť nový projekt. Zadajte názov Hellowebservice. A kliknite na tlačidlo Ďalšie, Ďalšie tlačidlo SKONČIŤ. V priečinku src Vytvorte balík ru.javarush.ws.. V tomto balíku vytvorte hllowebsservice rozhranie: balenie ru. Javarush. Ws; // Toto sú anotácie, t.j. Cesta na oslavu našich tried a metód // súvisiace s technológiou webových služieb Import Javax. Jws. Webmetod; Import Javax. Jws. Webová služba; Import Javax. Jws. Mydlo. Mydlo; // hovoríme, že naše rozhranie bude fungovať ako webová služba @Webová služba. // hovoríme, že webová služba bude použitá na volanie metódy @Oapbinding (štýl \u003d mydlobinding. Štýl. RPC) Verejné rozhranie HellowersService ( // hovoríme, že táto metóda môže byť nazývaná na diaľku @Webmethod Public String Gethellostring (názov string); ) V tomto kódexe sú triedy WebService a WebMethode tzv. Anotácie a nerobia nič, ale keď označujeme naše rozhranie a jeho metódu ako webová služba. To isté platí aj pre triedu mydla. Jediným rozdielom je, že mydlo je abstrakt s parametrami. V tomto prípade sa parameter štýlu používa s hodnotou, ktorú reproduktory, ktoré webová služba nebude fungovať prostredníctvom dokumentov, ale ako klasická RPC, t.j. Zavolať na metódu. Poďme implementovať logiku nášho rozhrania a vytvoriť triedu HellowebserviceImpl v našom balení. Mimochodom, všimol som si, že koniec triedy o IMPL je dohode v Jave, podľa ktorého znamená implementáciu rozhraní (IMPL - od implementácie slov, t.j. implementácie). Toto nie je požiadavka a môžete volať triedu, ako chcete, ale pravidlá dobrého tónu toho, ktoré vyžadujú: balík ru. Javarush. Ws; // rovnaký abstraktný, ako pri opise rozhrania, Import Javax. Jws. Webová služba; //, ale tu sa používa s parametrom endpointinterface, // označujú celé meno triedy rozhrania našej webovej služby @Webservice (endpointinterface \u003d "ru.javarush.ws.hellowebsservice") Verejná trieda HellowebsServiceImpLPL implementy HellowEbsService (@OVERIDE Public String Gethellostring (názov string) ( // len vráťte pozdravy Návrat "ahoj," + name + "!" ; \\ T ) Začnime našu webovú službu ako nezávislý server, t.j. Bez účasti všetkých serverov Tomcat a aplikačných serverov (toto je téma samostatnej konverzácie). Ak to chcete urobiť, v štruktúre projektu v priečinku src Vytvorte balík ru.javash.endpoint a vytvoríme hellowebservicepubliisher triedy s hlavnou metódou balenia RU. Javarush. koncový bod; // trieda, spustiť webový server s webovými službami Import Javax. XML. Ws. Koncový bod; // trieda našej webovej služby Import RU. Javarush. Ws. Hellowebsserviceimpl; Trieda verejnej triedy HellowebsServicePublisher (verejný stav Void Main (reťazec .. Args) ( // Spustite webový server na prístave 1986 // a na adrese uvedenej v prvom argumente, \\ t // Spustite webovú službu prenášanú v druhom argumente Koncový bod. Publikovať ( "http: // LOCALHOST: 1986 / WSS / Ahoj", Nový HellogeeebsServiceImp ()); )) Teraz začneme túto triedu kliknutím SHIFT + F10.. V konzole sa nič nezobrazí, ale server beží. To možno vidieť v prehliadači v prehliadači http: // LocalHost: 1986 / WSS / Ahoj? WSDL. Stránka, ktorá sa otvorila, na jednej strane, dokazuje, že máme webový server (http: //) na porte z roku 1986, a na druhej strane ukazuje popis WSDL našej webovej služby. Ak zastavíte aplikáciu, opis bude k dispozícii, ako samotná webová služba, takže to neurobíme, ale obrátime sa na písanie klienta.

Zákazník

V priečinku projektu src Vytvorte balík ru.javash.Client a v ňom HellowebsSivsVent Class s hlavnou: Balíkovou ruskou metódou. Javarush. Zákazník; // Potrebujete získať WSDL popis a cez to // dosiahnuť najviac webovú službu Dovoz Java. Sieť. URL; // Takáto exepectne sa vyskytne pri práci s objektom URL Dovoz Java. Sieť. MalformEdurlexception; // Triedy odolať XML-KU s WSDL Popis // a dosiahnuť servisnú značku v ňom Import Javax. XML. Smespace. Qname; Import Javax. XML. Ws. Služby; // rozhranie našej webovej služby (potrebujeme viac) Import RU. Javarush. Ws. Hellowebservice; Public Class HellowEbsVersVeclient (String Static Void Main (String Args) Hodí MalformEdurLuxception ( // Vytvorte odkaz na Popis WSDL URL URL \u003d Nová adresa URL ( "http: // LOCALHOST: 1986 / WSS / Ahoj? WSDL") ; // Nasledujúce parametre dizajnéra sa pozerajú na prvý WSDL Popis Tag - Definície // 1. argument sledovať TargetNamespace Atribút // 2. argument sa pozrieme na atribút názvu QNAME QNAME \u003d NOVÝ QNAME ("http://ws.javash.ru/", "helogeebsserviceimplservice"); // Teraz môžeme dosiahnuť servisnú značku v popise WSDL, Servis. \u003d Služba. Vytvoriť (URL, QNAME); // ďalej na prístavnú značku investovanú do neho // Získajte odkaz na webovú službu vzdialené od nás Hellobservice Hello \u003d služba. Getport (hellitheybservice. Trieda); // Hoolay! Teraz môžete volať vzdialená metóda Systém. Von. PrintLN (Ahoj. Gethellostring ("Javarush"); )) Dal som maximálny komentár kódu v zozname. Nemám čo pridať, takže som bežal (Shift + F10). Musíme vidieť text: Ahoj, Javarush! Ak ste nevideli, potom zabudli na spustenie webovej služby.

Záver

V tejto téme bola prezentovaná krátka exkurzia vo webových službách. Ešte raz poviem, že veľa z toho, čo som napísal, je moje odhady o tom, ako to funguje, a preto by som nemal dôverovať moc. Budem vďačný, keby ma informovali, že ma budú opraviť, pretože potom niečo sa dozviem. Up.

Anotácia: Oblasti používania. Výhody. Vlastnosti vývoja webových služieb pre platformu.net. Popis a detekcia webových služieb

Čo je to XML Web Service?

Ako informačné technológie sa rozvíjajú, rôzne prístupy k písaniu programov: modulárne programovanie, orientovaný na udalosť programovanie, komponent-orientovaný programovanie a dizajn. Logické pokračovanie týchto prístupov sa stalo servisným orientovaným vývoj softvéru.

Použitie prístupov orientovaných na servis nám umožňuje hovoriť o opätovnom použití (opätovné použitie) na úrovni makra (úroveň služieb), na rozdiel od mikroúrovňovej úrovne (úroveň objektu). Prístup orientovaný na službu zahŕňa použitie jednoduchých a všeobecne akceptovaných noriem, ktoré umožňujú najreobejšie aplikácie používať funkčnosť navzájom. Služby môžu byť napísané pomocou rôznych programovacích jazykov na rôznych platformách. Okrem toho môžu byť služby nasadené samostatne alebo v rámci softvérového balíka v ktoromkoľvek bode sveta a tým poskytujú prístup k ich sieťovej funkcii.

názov služba (služba) Zdroj implementácia obchodnej funkcie a vlastníctvo nasledujúcich vlastností:

  • je opätovne použitý;
  • určené jedným alebo viacerými explicitnými technologicky nezávislými rozhraniami;
  • solné spojené s inými podobnými zdrojmi a môžu byť spôsobené komunikačnými protokolmi, ktoré poskytujú možnosť interakcie medzi zdrojmi medzi sebou.

Špeciálnym prípadom služby je XML Web -service.

XML Web Service - Toto je špeciálny typ web-ponúk, ktorý:

  • na webovom serveri;
  • publikuje webové metódy, ktoré môžu byť spôsobené externými klientmi;
  • Čaká na prijatie požiadaviek HTTP, ktoré sú príkazy na výzvy webových metód;
  • vykonáva webové metódy a vráti výsledky.

Na rozdiel od tradičných webových stránok, web -service nemá žiadne užívateľské rozhranie. Namiesto toho má softvérové \u200b\u200brozhranie, to znamená, že web -service poskytuje funkcie (webové metódy), ktoré môžu byť spôsobené diaľkovo (napríklad na internete). Web -service nie je určený na prijímanie koncových užívateľov. Jeho úlohou je poskytovať služby iným aplikáciám, či už webovým vyjadrením, aplikáciám s grafikou užívateľské rozhranie alebo konzolové aplikácie.

Web -service môže poskytnúť informácie o reálnom čase o propagačných kurzoch, skontrolovať kreditné karty alebo nahlásiť predpoveď počasia. Web -services sú rovnako rôznorodé ako bežné aplikácie.

Web -service nie je majetkom konkrétnej spoločnosti. Ide o priemyselný štandard na základe otvorených protokolov (mydlových, http atď.). Web -service je nasadený na rôznych platformách (vrátane serverov so systémom Windows alebo UNIX). Web -service je možné vyvinúť pomocou mnohých vývojových nástrojov (z textový editor Pred rodinou Microsoft Visual Studio.

Metódy väčšiny Webservice sa nazývajú HTTP-evidencie obsahujúce správy mydla SOAP - to je XML-Language (XML slovník) na volanie vzdialených postupov pre HTTP a iné protokoly ( Úplný popis Mydlo http://www.w3.org/tr/soap).

Webové služby Miesto medzi inými diaľkovými technológiami

Existuje mnoho protokolov a diaľkových hovorených technológií: Model Microsoft Distributed Component Component Component model (DOCOM), skupina riadenia objektov "S Common Actions Request Request Broker Architecture (CORBA), Vzdialená metóda Sun (RMI),. NET Remoting, XML webové služby.

Všetky tieto komponenty orientované technológie (DCOM, CORBA a RMI) boli úspešne použité v intranetových aplikáciách. Poskytujú spoľahlivú, škálovateľnú architektúru. Pri používaní týchto technológií však na internete vznikajú dva vážne problémy. Po prvé, zle spolupracujú. Všetky technológie fungujú s objektmi, ale v detaile sa výrazne líšia: riadenie životného cyklu, podpora dizajnérov a stupeň podpory dedičstva. Druhý, viac dôležitý aspekt Je to, že orientácia na interakcii RPC vedie k výstavbe silne pripojených systémov založených na zjavných hovoroch metód objektu.

Na rozdiel od týchto technológií, webových služieb XML a. NET Remoting plne implementovať objektovo orientovaný prístup Pre webové programovanie.

XML Web Service. - Komponent, ktorý poskytuje súbor API alebo webových metód internetu. XML je zahrnutý do mena, pretože web -services a ich klienti ho používajú na výmenu údajov. Na základe webu -service sú otvorené štandardy, ako napríklad http, XML (jednoduchý prístupový protokol prístupu objektov - SOAP (jednoduchý Prístupový protokol o objekte - štandardný intenet, opisujúci, ako aplikácie môžu interagovať, to znamená, že zavolajte na každú ďalšiu metódy pomocou HTTP a iných protokolov ). Hlavnou úlohou Web -service je zabezpečiť inter-program interakcie. Mnohé práce na serveroch UNIX a Windows-Caniss sú adresované im. Údaje prenášané na Webservis sú serializované v XML a prenášajú sa na balíky SOAP. Metadáta o obsahu takýchto správ sú uložené v WSDL-ConfAcE Web -service a XSD schémy. Hlavnou výhodou tohto prístupu je čitateľnosť metaúdajov. Developer môže ľahko zobraziť celý popis webu -service a dokonca vytvoriť vlastný modul, demontáž mydla -paskets.

.NET Remoting. Poskytuje infraštruktúru pre distribuované objekty. Jednoduchá webová architektúra je oveľa zložitejšia na základe prenosu správ. . NET Remoting obsahuje prenos parametrov podľa odkazov a hodnoty, spätných väzieb, viacerými aktiváciami politiky objektov a riadenia životného cyklu. Ak chcete použiť špecifikované možnosti, aplikácia klienta by mala vlastniť všetky technológie. Údaje v. NET Remoting sa prenáša v binárnom alebo mydlovom formáte. V každom prípade však metadáta o štruktúre prenášaných informácií je obsiahnutá v spoločenskom vykonávaní. Bez všeobecného vykonávacieho prostredia (CLR) nebude klientská aplikácia schopná rozobrať špecifické pre. NET Remoting Soaper hlavičky. T.j. NET Remoting robí podstatne vyššie nároky v porovnaní s Web -service.

Vývoj webových služieb na platforme.net

Existuje mnoho spôsobov, ako písať web -service. Môžu byť vyvinuté manuálne alebo používanie mydlovej tlače poskytovanej spoločnosťou Microsoft, IBM, atď. Písanie web -service s pomocou spoločnosti Microsoft.. Sieť má dve výhody:

  • .NET rámec výrazne zjednodušuje vývojový proces tým, že poskytuje triednu knižnicu a automatizáciu určitých etáp vývoja;
  • Web Services napísané s .NET Framework sú spravované aplikácie. To znamená, že v takýchto aplikáciách nie sú žiadne problémy únikov pamäte, nesprávne inicializované ukazovatele a iné typické problémy Programovanie.

Stvorenie

Budeme rozvíjať jednoduchú webovú službu pridávania, ktorá pridáva dve čísla. Bude mať len jednu metódu pridania, ktorá prijíma dva celé čísla ako parameter a tiež vracia celé číslo. Dodatočná spoločnosť Demonštruje niekoľko dôležitých princípov programovania webových služieb pomocou rámca spoločnosti Microsoft .NET.

  • Webové služby sú implementované ako súbory ASMX. Asmx je špeciálny príponu názvu súboru, registrovaný pre ASP .NET (presnejšie pre ASP.NET HTTP obslužný program v hlavnom konfiguračnom súbore ASP .NET Machine.config.
  • Asmx súbory začínajú smernicou @webservice. Táto smernica musí obsahovať aspoň atribút triedy, ktorý špecifikuje triedu, z ktorej sa webová služba skladá.
  • Triedy webových služieb môžu mať voliteľné atribúty Webservice. V tomto príklade takýto atribút priradí názov webovej služby a popis, ktorý sa zobrazí na stránke HTML, keď používateľ zavolá prehliadač DodatokService.ASMX.
  • Webové metódy sú deklarované priradením Metódy triedy WebMethod Atribút. Pre pomocné metódy používané v rámci nej, ale neprístupné pre externých klientov, tento atribút jednoducho nie je špecifikovaný.
  • Http, xml a mydlo "neviditeľné". Práca s XML dátovými a mydlovými správami vykonáva .NET rámec.

Addservice.asmx.<%@ WebService language="C#" Class="AddService" %> Používanie systému pomocou systému pomocou systému.web.Services Classervice (verejný int pridať (INT A, INT B) (návrat A + B))

Napriek malým veľkostiam je addsviceservice.asmx je plnohodnotná webová služba, ak ju nainštalujete na webovom serveri s ASP.NET. Jeho metódy sa nazývajú pomocou mydla, HTTP Získajte a HTTP príspevok, a to môže vrátiť výsledky ako mydlové reakcie alebo ako jednoduché XML škrupiny.

Pomocou kódu pozadia môžu byť triedy webových služieb odobraté z súborov ASMX do samostatných súborov.

Použitie webových služieb komplexné typy údajov ako vstupné alebo výstupné parametre. Sofistikované typy údajov sú podporované, pretože XML uľahčuje seriáziu väčšiny typov údajov. Avšak, keď automaticky testovanie webovej služby ASP .NET nevytvára testovacie stránky pre metódy, ktoré dostávajú komplexné typy údajov. Je to preto, že nie je možné prenášať komplexné dátové typy webovej metódy pomocou HTTP Získajte a príspevok.

Web Services vám umožňujú volať svoje metódy asynchrónny. Asynchrónny hovor vráti kontrolu okamžite, bez ohľadu na to, koľko času je potrebná webová služba na spracovanie hovorov. Asynchrónne hovory sú užitočné, ak spracovanie hovorov vyžaduje značný čas. Aplikácia zavolá, potom pokračuje v práci bez čakania na výsledok hovorov a neskôr dostane výsledky asynchrónneho volania. Získanie výsledku sa vyskytuje, keď zavolať Webová metóda na pohodlnom čase aplikácie buď prihlásením na upozornenie na koniec spracovania výzvy na webovú službu (mechanizmus delegátov).

Webové služby môžu byť vytvorené napríklad pomocou inštrumentálnych nástrojov, napr Microsoft Visual Studio 2005. Ak chcete vytvoriť webové služby, je k dispozícii, existuje samostatný typ webovej služby ASP .NET. Visual Studio generuje súbor Asmx, súbor kódu na pozadí, aby opísal triedy webových služieb, konfiguračného súboru webových služieb atď. Pri spustení projektu, kompilácia tried služieb a otvorenie ASMX súboru v okne prehliadača .

Popis webových služieb so zmluvami

Aby ostatní vývojári používali pridávanie, musia vedieť, ktoré metódy poskytuje, ktoré protokoly podporujú, podpisy metód a adresu webovej služby (URL). Všetky tieto a ďalšie informácie môžu byť opísané vo WSDL (Web Service Popis Language).


Detekcia webových služieb

Ako sa iní vývojári dozvedia o existencii závislosti?

Po prvé, pomocou Disco (Redukcia zo slovného objavu) - súborový mechanizmus na vyhľadávanie miestnych webových služieb, to znamená, že mechanizmus na získanie zoznamu dostupných webových služieb z diskových súborov uverejnených na webových serveroch. Okrem toho disco súbory obsahujú záznamy o umiestnení zmlúv WSDL dostupných služieb. Disco súbor je súbor XML so záznamami.

Je tiež možné použiť súbory VSDISCO, ktoré sú podobné disco súborom, ale ich obsah je výsledkom dynamického vyhľadávania webových služieb v týchto adresároch a podadresár podadresára. ASP .NET zobrazí rozšírenie názvu súboru.vsdisco na http-pro-Botchik, ktorý ho nájde tento katalóg A jeho subdirektory ASMX a DISCO a vracajú dynamicky generovaný diskotékový dokument. Z bezpečnostných dôvodov je zakázané dynamické vyhľadávanie v rade verzií .NET Framework, ale môže byť aktivovaný zmenou záznamov súborov.config.

Ako však vyhľadávanie webových služieb v globálna sieť? Vyhľadávanie webových služieb v globálnej sieti Microsoft, IBM a Ariba spoločne vyvinutý UDDI (Universal Popis Discovery and Integration) - Špecifikácia výstavby distribuované základne Údaje, ktoré vám umožňujú vyhľadávanie webových služieb. UDDI podporuje stovky spoločností. Samostatné stránky UDDI sú webové služby. Každý môže publikovať svoj register založený na UDDI. Väčšina vývojárov nikdy nepoužíva UDDI API priamo. Namiesto toho registre UDDI nástroje Rozvoj. Vytvárajú aj triedy škrupiny zistených a vybraných webových služieb.

Výsledok

XML Web -service je softvérový komponent, ktorý poskytuje funkčnosť, ktorá najviac rôzne systémyPodpora štandardov, ako sú XML a HTTP klienti WebService, môžu byť miestne aj vzdialené aplikácie. Web -service vám umožňuje vytvoriť štruktúry, ktoré uľahčujú integráciu rôznych systémov založených na jednoduchých všeobecne prijatých normách.

Webová služba je program, ku ktorým je možné pristupovať ďalší internet (http). Predpokladajme, že máte funkciu, ktorá poskytuje text vo formáte HTML. Účelom aplikácie je webový prehliadač, ktorý zobrazuje výsledky a osoba bude môcť ľahko čítať tento text na stránke.

Na druhej strane cieľová skupina webovej služby sú iné programy alebo iné webové služby, ktoré konzumujú údaje, ktoré slúži Web Service. Obvykle sa výstup vykonáva v štandardnom jazyku, ktorý možno chápať inými programami. Uveďte vyššie uvedený príklad, ak webová služba zobrazí text vo formáte XML, potom môžete tento výstup používať ďalšie webové služby, ktoré môžu čítať alebo pochopiť XML.

Hlavnou výhodou webovej služby je, že aplikácie môžu byť napísané v akomkoľvek jazyku, ale môžu si vymieňať údaje a výmenu dát navzájom prostredníctvom webovej služby. Softvérové \u200b\u200baplikácieNapísané v rôznych programovacích jazykoch a práca na rôznych platformách môžu používať webové služby na výmenu údajov prostredníctvom internetu (http). Toto je interakcia (napríklad medzi Java a Pythonom, alebo aplikácie systému Windows a Linux) spojené s používaním otvorených štandardov (XML, mydlo, http).

  • Mydlo (jednoduchý prístup protokolu k objektom)
  • UDDI (Universal Popis, Detekcia a integrácia)
  • WSDL (jazyk popisu webovej služby)

Koľko rôznych typov webových služieb je tam?

Po prvé, existujú dva typy webových služieb, jednoduchý prístupový protokol prístupu objektu (mydlo) a reprezentatívny stav štátu (odpočinok).

  • SOAP Web Service prijíma formát XML a vytvára výstup vo formáte XML.
  • Zvyšná webová služba je univerzálna a môže prijímať XML, rovnako ako JSON ako dotaz a vytvára výstup na XML, ako aj v JSON alebo dokonca HTML

Táto otázka môže byť študovaná na našom.

19 Odpovede

Jednoduchá definícia: Web Service je funkcia, ku ktorej je možné pristupovať ďalšie internetové programy (http). Ak chcete objasniť trochu, keď vytvoríte webovú stránku na PHP, ktorá zobrazuje HTML, jeho cieľom je prehliadač a navyše osoba čítanie stránky v prehliadači. Webová služba nie je určená pre ľudí, ale skôr pre iné programy.

Tvoja webová stránka PHP, ktorá generuje náhodné celé číslo, môže byť webová služba, ak zobrazuje celé číslo vo formáte, ktorý môže používať iný program. To môže byť vo formáte XML alebo iný formát, ak iné programy môžu pochopiť výstup.

Kompletná definícia je zjavne zložitejšia, ale spýtali ste sa jednoduchú angličtinu.

Zjednodušené, netechnické vysvetlenie: Web Servel umožňuje program hovoriť s webovú stránku, namiesto použitia prehliadača na otvorenie webovej stránky.

Príklad: Môžem ísť na maps.google.com a zadajte svoju domovskú adresu, rovnako ako vidieť, kde bývam v mojom prehliadači.

Ale čo keď píšete počítačový programKde chcete podniknúť adresu a ukázať peknú mapu, rovnako ako Google Maps?

Dobre, mohli by ste dokonale písať nový program Mapovanie od nuly, alebo by ste mohli zavolať na webovú službu, ktorú karty Google poskytujú, pošlite ho na adresu a vráti grafickú kartu umiestnenia, ktorú môžete zobraziť vo vašom programe.

Existuje mnoho ďalších, pretože niektoré z ostatných správ vstúpia, ale výsledkom je, že umožňuje vašej aplikácii alebo extrahovať informácie o informácie alebo prenášať informácie k určitému zdroju. Niektoré ďalšie príklady:

Áno, toto je jednoduchá webová služba.

Webové služby nie sú ničím iným ako mechanizmom dotazu / odozva, ktorý umožňuje klientovi vzdialene pristupovať / zmeniť údaje. Existujú oficiálne normy pre webové služby (mydlo, SOA, atď.), Ale vaša jednoduchá stránka je tiež služba.

Hlavnou nevýhodou tlače na stránke je, že vaša služba vráti HTML. Výhodné formáty údajov sú JSON a XML, pretože väčšina klientskych rámcov (a serverových rámcov) sú navrhnuté pomocou JSON a XML.

Takže, ak zmeníte službu Return:

niektoré náhodné číslo

... niektoré náhodné číslo

bolo by pre väčšinu zákazníkov užitočnejšie

Viac zjednodušených podmienok je webová služba, čo poskytuje údaje ako službu HTTP. Samozrejme, že to nie je ... ale je blízko.

Štandardné webové služby Používajú SOAP protokol, ktorý definuje a konštrukcia správ a XML je formát údajov.

Webové služby sú určené na vytvorenie aplikácií pomocou rôzne technológie, mohol by navzájom vzájomne spolupracovať.

Príkladmi webových služieb sú veci ako Weather.com, poskytuje informácie o počasí, ktoré môžete použiť na vašej webovej stránke, alebo UPS, ktorý poskytuje metódu pre citáciu citácií alebo sledovania paketov.

Znenie sa mení vo vzťahu k mydlu, pretože nie je vždy mydlo, ako som spomínal, ale chcel by som to pochopiteľné. Kľúč poskytuje údaje ako službu a nie je prvkom používateľského rozhrania.

Webová služba sa líši od webovej stránky, ktorú webová služba poskytuje informácie konzumované softvérom, a nie ľudia. V dôsledku toho zvyčajne hovoríme o exponovaných službách JSON, XML alebo SOAP.

Webové služby sú kľúčovým komponentom v "Mashups". Mashups je, keď sú informácie z mnohých lokalít automaticky agregované do novej a užitočnej služby. Existujú napríklad stránky, ktoré kombinujú Google Mapy s informáciami o policajných správach, ktoré vám poskytnú grafické znázornenie O zločinu vo vašej oblasti. Ďalším typom mashup by bolo prijať skutočné údaje o rezervách poskytnutých iným stránkam a kombinovať ich s falošnou aplikáciou obchodovania na vytvorenie "trhovej hry" na akciovom trhu.

Webové služby sa používajú aj na poskytovanie správ (pozri RSS), najnovšie prvky pridané na stránku, informácie o nových produktoch, podcasty a ďalších pozoruhodných funkciách, ktoré vytvárajú moderný web.

Dúfajme, že to pomôže!

Pre väčšinu stránok máte hTML Stránkyktoré navštívite, keď používate prehliadač. Sú to stránky prečítané osobou (po vizualizácii vo vašom prehliadači), kde mnoho údajov môže byť preplnené, pretože to dáva zmysel pre ľudí.

Teraz si predstavte, že niekto chce použiť niektoré z týchto údajov. Môžu si stiahnuť vašu stránku a začať filtrovať všetky "šum", aby ste získali údaje, ktoré potrebujete, ale väčšina webových stránok nie je postavená takým spôsobom, že údaje na 100% budú určite umiestnené na rovnakom mieste pre všetky prvky, tak v Okrem ťažkopádnych, tiež sa stáva nespoľahlivým.

Zadajte webové služby.

Web Service je to, čo webová stránka ponúka ponúknuť tým, ktorí chcú čítať, aktualizovať a / alebo odstrániť údaje z vašich stránok. Môžete to nazvať "Backdoor" pre vaše údaje. Namiesto toho, aby predložili údaje ako súčasť webovej stránky, poskytuje sa vopred určitým spôsobom, kde niektoré z najobľúbenejších sú XML a JSON. Existuje niekoľko spôsobov, ako komunikovať s webovou službou, niektoré použitie mydla, iné - rest webu služby "A atď.

Charakteristika všetkých webových služieb je, že sú to strojovo čitateľné ekvivalentné webové stránky, ktoré stránky ponúka ostatným. To znamená, že iní, ktorí chcú používať údaje, môžu poslať žiadosť o určité údaje, ktoré sa dajú ľahko rozobrať a používať. Na niektorých stránkach, možno budete musieť zadať používateľské meno / heslo v dotaze pre dôverné údaje, zatiaľ čo iné stránky umožňujú komukoľvek získať akékoľvek údaje, ktoré môžu potrebovať.

Najlepšie vysvetlenie anglický jazyk Vysvetlila analógiu:

  • Webové stránky umožňujú ľuďom komunikovať a spolupracovať navzájom.
  • Webové služby umožňujú programy komunikovať a spolupracovať navzájom.

Váš PHP Príklad je webová služba pre túto definíciu, pretože výstup môže byť použitý iným programom. V skutočnosti však obrazovka HTML Scraper nie je spoľahlivým alebo podporovaným spôsobom, ako vytvoriť webové služby.

Webová služba je súbor otvorených protokolov a noriem používaných na výmenu údajov medzi aplikáciami alebo systémami. Softvérové \u200b\u200baplikácie napísané v rôznych programovacích jazykoch a prevádzke na rôznych platformách môžu používať webové služby na výmenu údajov počítačové siete, ako je internet, spôsob, ako podobné komunikácii medzi interprocesorom na jednom počítači. Táto kompatibilita (napríklad medzi Java a Python, alebo Windows a Linux Applications) súvisí s používaním otvorených noriem (XML, mydlo, HTTP).

Všetky štandardné webové služby fungujú pomocou nasledujúcich komponentov:

  • Mydlo (jednoduché objekty prístupového protokolu)
  • UDDI (Universal Popis, Detekcia a integrácia)
  • WSDL (jazyk popisu webovej služby)

Funguje to takto:

Webservice je technológia, ktorou dve alebo viac vzdialených webových aplikácií navzájom navzájom komunikujú cez sieť / internet. Môže sa implementovať pomocou Java, .NET, PHP, atď.

Funkcie webových služieb: -

Operačný systém poskytuje rozhranie GUI (a CLI), s ktorým môžete komunikovať. Poskytuje tiež API, s ktorým môžete komunikovať so softvérom.

Podobne webová stránka poskytuje HTML stránky, s ktorými môžete komunikovať, a môže tiež poskytnúť API, ktorá ponúka rovnaké informácie a operácie programovo. Alebo tieto služby môžu byť dostupné iba prostredníctvom API bez vhodného používateľského rozhrania.

Webová služba používaná vývojármi softvéru sa zvyčajne týka operácie vykonanej na vzdialenom serveri a nazývanej pomocou špecifikácie XML / SOAP. Rovnako ako vo všetkých definíciách, existujú nuansy, ale toto je najčastejšie používanie termínu.

Jednoduchý spôsob, ako vysvetliť webovú službu je ::

  • Webová služba je spôsob komunikácie medzi dvoma elektronické zariadenia na World Wide Web.
  • Môže sa nazývať proces, ktorý programátor používa na komunikáciu so serverom.
  • Ak chcete zavolať tento proces, programátor môže použiť mydlo atď.
  • Webové služby sú vytvorené na vrchole otvorených štandardov, ako je TCP / IP, HTTP

Výhodou webovej služby je, že, povedzte, vyvíjate jeden kus v.netového kódu a chcete použiť jazyk Java na použitie tohto kódu. Môžete spolupracovať priamo s abstraktívnou vrstvou a neviete, že technológia bola navrhnutá na vývoj kódu.

Keďže @Vincent Ramdhanie povedal, že webová služba nie je určená na zobrazenie / konzumovanie koncového používateľa a ďalšieho programu. Technická logika vo vašom programe teda bude:

V prípade normálneho programu

Užívateľ na webových stránkach -\u003e html / js / jquery atď -\u003e Dajte mi náhodné číslo -\u003e ur program

ur Program -\u003e Generovať náhodné číslo -\u003e Generovať HTML a enkapsuláciu O / P -\u003e Vráťte sa k používateľovi



Páči sa vám článok? Zdieľaj to