XML webszolgáltatások. Technológiai áttekintés

A téma címe valóban kérdés, hiszen Jómagam nem tudom, mi ez, és most először próbálok meg vele dolgozni a cikk keretein belül. Az egyetlen dolog, amit garantálhatok, hogy az alábbi kód működni fog, de a mondataim csak feltételezések és találgatások lesznek arról, hogy én magam hogyan értem mindezt. Akkor gyerünk ...

Bevezetés

Kezdjük azzal, hogy mire jött létre a webszolgáltatás fogalma. Amikor ez a koncepció megjelent, már léteztek olyan technológiák a világon, amelyek lehetővé tették az alkalmazások távoli interakcióját, ahol az egyik program egy másik programban meghívott valamilyen metódust, amelyet egy másik városban vagy akár egy országban található számítógépen futtathattak. Mindezt RPC-nek (Remote Procedure Calling) rövidítjük. Ilyen például a CORBA technológia, a Java esetében pedig az RMI (Remote Method Invoking). És úgy tűnik, minden jó bennük, különösen a CORBA, tk. bármilyen programozási nyelven lehet vele dolgozni, de valami mégis hiányzott. Úgy gondolom, hogy a CORBA hátránya az, hogy néhány saját hálózati protokollon keresztül működik az egyszerű HTTP helyett, amely minden tűzfalon átmászik. A webszolgáltatás mögött az volt az ötlet, hogy olyan RPC-t hozzanak létre, amely a HTTP-csomagokba tapad. Így kezdődött a szabvány kidolgozása. Melyek a szabvány alapfogalmai:
  1. SZAPPAN... Távoli eljárás meghívása előtt le kell írnia ezt a hívást egy SOAP XML fájlban. A SOAP egyszerűen egy a webszolgáltatásokban használt XML-jelölések közül. Minden, amit HTTP-n keresztül el akarunk küldeni valahova, először XML SOAP leírássá alakítjuk, majd HTTP-csomagba helyezzük, és TCP / IP-n keresztül elküldjük a hálózat másik számítógépére.
  2. WSDL... Van egy webszolgáltatás pl. olyan program, amelynek metódusai távolról hívhatók. De a szabvány előírja, hogy ehhez a programhoz csatolni kell egy leírást, ami azt írja, hogy "igen, nem tévedsz - ez tényleg egy webszolgáltatás, és lehet belőle ilyen-olyan metódusokat hívni." Ezt a leírást egy másik XML-fájl képviseli, amelynek más formátuma van, nevezetesen a WSDL. Azok. A WSDL csak egy XML-leíró fájl egy webszolgáltatáshoz, és semmi más.
Miért kérdezed ilyen röviden? További részleteket nem kapsz? Valószínűleg megteheti, de ehhez olyan könyvekhez kell fordulnia, mint Mashnin T. "Java Web Services". Ott az első 200 oldalon részletes leírás található a SOAP és WSDL szabványok egyes címkéiről. meg kell tennem? Véleményem szerint nem, tk. mindezt automatikusan generálja a Java, és csak annyit kell tennie, hogy megírja a távolról meghívandó metódusok tartalmát. Tehát a Java-ban volt egy olyan API, mint a JAX-RPC. Ha valaki nem tudja, ha azt mondják, hogy a Java-nak van ilyen-olyan API-ja, az azt jelenti, hogy van egy csomag egy osztálykészlettel, amely a kérdéses technológiát tartalmazza. A JAX-RPC hosszú ideig változatról verzióra fejlődött, és végül JAX-WS-vé fejlődött. A WS nyilvánvalóan a WebService rövidítése, és azt gondolhatja, hogy ez az RPC egyszerű átnevezése manapság népszerű szóvá. Ez nem így van, hiszen A webszolgáltatások most eltávolodtak az eredeti ötlettől, és nem csak távoli metódusok meghívását teszik lehetővé, hanem egyszerűen dokumentumüzenetek SOAP formátumban történő küldését is. Hogy miért van erre szükség, azt még nem tudom, nem valószínű, hogy a válasz "csak abban az esetben, hirtelen szükség lesz rá". Én magam is szeretnék tanulni tapasztaltabb elvtársaktól. És az utolsó dolog, akkor ott volt még a JAX-RS az úgynevezett RESTful webszolgáltatásokhoz, de ez egy külön cikk témája. Ezen a ponton a bevezetőt be lehet fejezni, mert ezután megtanulunk dolgozni a JAX-WS-el.

Általános megközelítés

A webszolgáltatásoknak mindig van egy kliense és egy szerver. A szerver a webszolgáltatásunk, és néha végpontnak is nevezik (például az a végpont, ahová az ügyfél SOAP-üzenetei eljutnak). A következőket kell tennünk:
  1. Ismertesse webszolgáltatásunk felületét
  2. Valósítsa meg ezt a felületet
  3. Indítsa el webszolgáltatásunkat
  4. Írjon egy klienst, és távolról hívja fel a kívánt webszolgáltatási módot
Egy webszolgáltatás többféleképpen indítható el: vagy írjon le egy osztályt egy fő metódussal, és indítsa el a webszolgáltatást közvetlenül, szerverként, vagy telepítse olyan kiszolgálóra, mint a Tomcat vagy bármely más. A második esetben mi magunk nem indítunk új szervert és nem nyitunk másik portot a számítógépen, hanem egyszerűen közöljük a Tomcat servlet konténerrel, hogy „ide írtuk a webszolgáltatás osztályokat, tedd közzé, kérlek, hogy mindenki, aki kapcsolatba lép használhatja a webszolgáltatásunkat". A webszolgáltatás elindításának módjától függetlenül ugyanaz a kliensünk lesz.

szerver

Indítsuk el az IDEA-t, és hozzunk létre egy új projektet Új projekt létrehozása... Adjunk meg egy nevet HelloWebServiceés nyomja meg a gombot Következő, majd a gombot Befejez... A mappában src hozzon létre egy csomagot ru.javarush.ws... Ebben a csomagban létrehozzuk a HelloWebService felületet: package ru. javarush. ws; // ezek annotációk, pl. osztályaink és módszereink megjelölésének módja, // a webszolgáltatás technológiához kapcsolódóan import javax. jws. WebMethod; import javax. jws. Webszolgáltatás; import javax. jws. szappan. SZAPPANKÖTÉS; // azt mondjuk, hogy a felületünk webszolgáltatásként fog működni@Webszolgáltatás // mondjuk, hogy a webszolgáltatás metódusok meghívására lesz használva@SOAPBinding (stílus = SOAPBinding. Stílus. RPC) nyilvános felület HelloWebService ( // azt mondjuk, hogy ez a metódus távolról hívható@WebMethod public String getHelloString (karakterlánc neve); ) Ebben a kódban a WebService és WebMethod osztályok úgynevezett annotációk, és nem tesznek mást, mint a felületünket és annak metódusát webszolgáltatásként jelölik meg. Ugyanez igaz a SOAPBinding osztályra is. Az egyetlen különbség az, hogy a SOAPBinding egy paraméter-annotáció. Ebben az esetben a style paramétert olyan értékkel használjuk, amely azt mondja, hogy a webszolgáltatás nem dokumentumüzeneteken keresztül fog működni, hanem klasszikus RPC-ként, pl. hogy hívja a módszert. Valósítsuk meg felületünk logikáját, és hozzunk létre egy HelloWebServiceImpl osztályt a csomagunkban. Amúgy megjegyzem, hogy az Impl-ben az osztály vége egy olyan konvenció a Java-ban, amely szerint az interfészek megvalósítását így jelölik (Impl - az implementáció szóból, azaz implementáció). Ez nem követelmény, és szabadon nevezheti el az osztályt, amit akar, de a jó forma szabályai megkövetelik: csomag ru. javarush. ws; // ugyanaz a megjegyzés, mint az interfész leírásánál, import javax. jws. Webszolgáltatás; // de itt az endpointInterface paraméterrel használjuk, // webszolgáltatásunk felületének teljes képzésű osztálynevének megadásával@WebService (endpointInterface = "ru.javarush.ws.HelloWebService") public class HelloWebServiceImpl implementálja a HelloWebService-t (@A public String felülbírálása getHelloString (karakterlánc neve) // csak üdvözlet return "Hello," + name + "!" ; )) Indítsuk el webszolgáltatásunkat független szerverként, i.e. Tomcat és alkalmazásszerverek bevonása nélkül (ez egy külön beszélgetés témája). Ehhez a mappában található projektstruktúrában src hozzunk létre egy ru.javarush.endpoint csomagot, és ebben hozzunk létre egy HelloWebServicePublisher osztályt egy fő metódussal: package ru. javarush. végpont; // osztály webszolgáltatásokkal rendelkező webszerver elindításához import javax. xml. ws. végpont; // webszolgáltatásunk osztálya import ru. javarush. ws. HelloWebServiceImpl; public class HelloWebServicePublisher (public static void main (String... args) ( // indítsa el a webszervert az 1986-os porton // és az első argumentumban megadott címen, // elindítja a második argumentumban átadott webszolgáltatást Végpont. közzétenni ( "http: // localhost: 1986 / wss / hello", új HelloWebServiceImpl ()); )) Most indítsuk el ezt az osztályt kattintással Shift + F10... Semmi sem jelenik meg a konzolon, de a szerver fut. Ezt úgy ellenőrizheti, hogy beírja a böngészőbe a http://localhost: 1986 / wss / hello? Wsdl sort. A megnyíló oldal egyrészt bizonyítja, hogy a számítógépünkön (localhost) elindult egy webszerver (http: //) az 1986-os porton, másrészt megmutatja webszolgáltatásunk WSDL leírását. Ha leállítja az alkalmazást, elérhetetlenné válik a leírás, valamint maga a webszolgáltatás, ezért ezt nem tesszük meg, hanem folytatjuk a kliens írását.

Vevő

A projekt mappában src hozzon létre egy ru.javarush.client csomagot, és abban a HelloWebServiceClient osztályt a fő metódussal: package ru. javarush. ügyfél; // szükséges a wsdl leírásának lekéréséhez és azon keresztül // eléri magát a webszolgáltatást import java. háló. URL; // ilyen végrehajtás történik, ha egy URL objektummal dolgozik import java. háló. Rosszul formázott URL-kivétel; // osztályok az xml-ku elemzéséhez wsdl leírással // és elérjük a benne lévő szervizcímkét import javax. xml. névtér. QName; import javax. xml. ws. Szolgáltatás; // webszolgáltatásunk felülete (többre van szükségünk) import ru. javarush. ws. HelloWebService; public class HelloWebServiceClient (public static void main (String args) MalformedURLException () // hivatkozás létrehozása a wsdl leírásához URL url = új url ( "http: // localhost: 1986 / wss / hello? wsdl") ; // Megnézzük a következő konstruktor paramétereit a WSDL leírás legelső tagjában - definíciók // lásd az 1. argumentumot a targetNamespace attribútumban // lásd a 2. argumentumot a name attribútumban QName qname = new QName ("http: //ws.site/", "HelloWebServiceImplService"); // Most már elérhetjük a szolgáltatás címkét a wsdl leírásban, Szerviz szolgáltatás = Szolgáltatás. létrehozás (url, qname); // majd egészen a beágyazott port címkéig, hogy // kap egy hivatkozást egy tőlünk távoli webszolgáltatás objektumra HelloWebService hello = szolgáltatás. getPort (HelloWebService. osztály); // Hurrá! Most már hívhatja a távoli módszert Rendszer. ki. println (hello. getHelloString ("CodeGym")); )) Maximum megjegyzést tettem a listában szereplő kódhoz. Nincs mit hozzáfűzni, úgyhogy futtasd (Shift + F10). Látnunk kell a szöveget a konzolon: Hello, CodeGym! Ha nem látta, valószínűleg elfelejtette elindítani a webszolgáltatást.

Következtetés

Ebben a témában egy rövid kirándulást mutattak be a webszolgáltatásokba. Ismétlem, a leírtak nagy része csak az én találgatásom a működésével kapcsolatban, ezért nem szabad túlságosan megbízni benne. Hálás lennék, ha hozzáértők kijavítanának, mert akkor tanulok valamit. UPD.

Webszolgáltatás (szolgáltatás) - a webhelyek közötti interakciót szervező program. Az egyik portálról származó információk átkerülnek a másikra.

Például van egy légitársaság. Sok járata van, illetve sok jegye van. Egy webszolgáltatáson keresztül továbbítja az információkat egy utazási összesítő webhelynek. Az aggregátort felkereső felhasználó ott vásárolhat jegyet ehhez a légitársasághoz.

A webszolgáltatások másik példája az időjárás-követő oldal, amely információkat tartalmaz egy adott város vagy ország időjárási viszonyairól. Ezeket az információkat gyakran harmadik felek is felhasználják.

Az interneten sokféle információ található. A weboldalakat különböző rendszerek kezelik. különböző átviteli és titkosítási protokollokat használnak. A webszolgáltatások megkönnyítik a különböző webhelyek közötti információcserét.

Webszolgáltatások architektúrája és protokolljai

Három olyan példányt határozhat meg, amelyek kölcsönhatásba lépnek egymással: a katalógus, a vállalkozó és az ügyfél. A szolgáltatás létrehozása után a vállalkozó bejegyzi azt a katalógusba, és ott találja meg a megrendelő a szolgáltatást.

Az adatcsere mechanizmusát a Webszolgáltatások leírása tartalmazza. Ez egy olyan specifikáció, amely lefedi az ügyfél és a szolgáltató közötti információcserében használt szállítási formátumokat, tartalomtípusokat és szállítási protokollokat.

Manapság számos technológiát használnak leggyakrabban különféle webszolgáltatások megvalósítására:

  1. A TCP / IP egy olyan protokoll, amelyet szinte minden hálózati berendezés megért, a nagyszámítógépektől a hordozható eszközökig és PDA-kig.
  2. A HTML egy általános célú jelölőnyelv, amelyet fogyasztói eszközökön való tartalom megjelenítésére használnak.
  3. Az XML egy univerzális eszköz mindenféle adat feldolgozására. Ennek alapján más információcsere-protokollok is működhetnek: SOAP és WSDL.
  4. Az UDDI a felismerés, az integráció és a leírás univerzális forrása. Általában magánhálózatokban működik, és még nem talált elegendő elosztást.

A bemutatott technológiák sokoldalúsága az alapja a webszolgáltatások megértésének. Szabványos technológiákon futnak, amelyek függetlenek az alkalmazásszállítóktól és más hálózati erőforrásoktól. Használható bármilyen operációs rendszeren, alkalmazásszerveren, programozási nyelven stb.

Előnyök

  • A szoftverkomponensek interakciójához szükséges feltételek megteremtése platformtól függetlenül.
  • A webszolgáltatások nyílt szabványú protokollokon alapulnak. Az XML bevezetésének köszönhetően a webszolgáltatások kialakításának és konfigurálásának egyszerűsége biztosított.
  • A HTTP használata garantálja a rendszerek közötti együttműködést a hálózati hozzáférésen keresztül.

Hibák

  • Alacsony teljesítmény és nagy forgalom az RMI, CORBA, DCOM rendszerekhez képest, az XML-üzenetek szövegkörnyezetben történő használatának köszönhetően.
  • Biztonsági szint. Minden modern webszolgáltatásnak kódolást kell megvalósítania, és felhasználói engedélyt kell kérnie. Hogy itt elég-e a HTTPS, vagy olyan megbízhatóbb protokollokra van szükség, mint az XML Encryption, SAML stb., az már fejlesztés kérdése.

Webszolgáltatási feladatok

A webszolgáltatások számos területen használhatók.

B2B tranzakciók

A folyamatok azonnal integrálódnak, emberek részvétele nélkül. Például egy online áruház katalógusának feltöltése új termékekkel. Behozzák a raktárba, a raktáros az érkezést rögzíti az adatbázisban. Az információk automatikusan továbbításra kerülnek az online áruházba. A vásárló pedig ahelyett, hogy a termékkártyán „Elfogyott” jelölést írna, annak mennyiségét látja.

Vállalati szolgáltatásintegráció

Ha a cég vállalati programokat használ, akkor a webszolgáltatás segít az együttműködésük kialakításában.

Kliens-szerver rendszer létrehozása

A szolgáltatások az ügyfél és a szerver működésének testreszabására szolgálnak. Ez a következő előnyöket nyújtja:

  • nem magát a szoftvert adhatja el, hanem fizet a webszolgáltatáshoz való hozzáférésért;
  • a problémák könnyebb megoldása harmadik féltől származó szoftverek használatával;
  • könnyebben megszervezheti a tartalomhoz és anyagokhoz való hozzáférést a szerveren.

A webszolgáltatás egy olyan alkalmazás, amely leegyszerűsíti az erőforrás-interakciók műszaki konfigurálását.

Ma már szinte mindenhol igénybe veszik a WEB szolgáltatásokat – repülő- és vonatjáratokról, árfolyamokról és időjárásról adnak tájékoztatást. Nem meglepő, hogy az 1C képes saját WEB-szolgáltatások létrehozására is, amelyek lehetővé teszik számára, hogy szállítóként és fogyasztóként is működjön. Ez a mechanizmus be van építve az 1C: Enterprise 8.3 platformba, és a fejlesztők akár saját WEB-szolgáltatási objektumaikat is hozzáadhatják a szabványos konfigurációhoz. Felépítésük olyan szolgáltatásokra épül, amelyek lehetővé teszik az információcserét más szoftverekkel.

1C webszolgáltatás létrehozása

Az 1C WEB szolgáltatások egyik fő előnye, hogy nincs szükség az információbiztonsági adatokhoz való közvetlen hozzáférésre. A megfelelően konfigurált 1C webszolgáltatás lehetővé teszi más alkalmazások számára, hogy kívülről használják a funkciókat. Ilyen esetekben magának a funkciónak kell meghatároznia az adatok felhasználási jogát a megadott paraméterek szerint a fejlesztő által előírt szabályok szerint.

Hogyan lehet webszolgáltatást létrehozni az 1C-ben?

Annak érdekében, hogy az 1C rendszer egy bizonyos funkciója elérhetővé váljon a külső szoftver számára, a következő műveletsort kell végrehajtani:

  1. Menjen a konfigurációhoz, és adjon hozzá egy WEB-szolgáltatás objektumot a fa egy adott ágához;
  2. Mutassa be az összes olyan műveletet, amelyet funkciónk képes végrehajtani. A funkciók leírása a modulban az 1C-be épített nyelven történik;
  3. Adja hozzá a webszolgáltatási funkciók paramétereinek leírását. Felhívjuk figyelmét, hogy az adattípusok leírása az XDTO mechanizmus meglévő típusainak figyelembevételével történik, amelyek a platform 8.1-es verziójában jelentek meg;
  4. Tegye közzé a létrehozott WEB szolgáltatást a szerveren. Az 1C platformba épített mechanizmus a következő szabványokat támogatja:
  • SSL / TLS
  • WS-I BP

Példa egy egyszerű WEB szolgáltatás létrehozására

A WEB-szolgáltatási mechanizmus működésének legvilágosabb bemutatása érdekében hozzunk létre egy példát - egy függvényt, amely meghatározza a beírt karakterlánc hosszát. A szoftver egy karakterláncot ad át lekérdezési paraméterként, és az 1C-ben leírt függvény a karakterek számát adja vissza. Létrehozásakor emlékeznie kell arra, hogy ennek a mechanizmusnak a közzététele lehetővé teszi, hogy különböző szoftverek hozzáférjenek. Mivel nem minden szoftver képes érzékelni a cirill ábécét, a konfigurációs objektumokat latin karakterekkel nevezzük el.

Nyissa meg a konfigurátort, keresse meg a "WEB-services" ágat a fában, és adjon hozzá egy új "wa_LengthString" szolgáltatást. A Műveletek lapon egy új műveletet is fel kell venni. Nevezzük "CalcLengthString"-nek, a tulajdonságokban adja meg a visszatérési érték típusát - int vagy integer, és hozza létre benne az "InputString" paramétert. Az értéktípust karakterláncként hagyjuk meg.


Most regisztrálnia kell a CalcLengthString függvény műveletét a WEB szolgáltatás modulban. Ehhez nyissa meg a létrehozott függvény tulajdonságait, és kattintson a jobb oldalon az "Eljárás neve" beviteli mező mellett található nagyító gombra. Az 1C automatikusan létrehoz egy függvényt a WEB szolgáltatásunk moduljában, és megnyitja, hogy le tudjuk írni a CalcLengthString műveletet. Használjuk ki ezt, és írjuk fel a függvény műveletét - a bemeneti karakterlánc hosszának meghatározását.


Valójában ezzel befejeződik a legegyszerűbb WEB-szolgáltatás létrehozása. Most ezt a szolgáltatást köztulajdonba kell helyeznie, hogy harmadik féltől származó szoftverek vagy más 1C rendszerek is használhassák ezt a funkciót.

Ahhoz, hogy az elkészített webszolgáltatást annak funkcionalitásával együtt közzé tudjuk tenni, hozzáféréssel kell rendelkeznünk az oldalhoz. A szolgáltatás közzététele előtt ellenőriznünk kell a fájl nevét az újonnan létrehozott wa_LengthString modul tulajdonságai között. Világosnak, egyszerűnek és "1cws" kiterjesztéssel kell rendelkeznie.


Itt az ideje, hogy közzétegyük az általunk a szerveren létrehozott WEB szolgáltatást. Ez a funkció a platform 8.3-as verziójában jelent meg, és sok vállalat már megértette ennek a funkciónak az előnyeit. A közzététel megkezdéséhez meg kell nyitnia az „Adminisztráció / Közzététel a webszerveren…” űrlapot a konfigurátorban.


A megnyíló ablakban konfigurálnunk kell az 1C webszolgáltatásokat, és ki kell töltenünk bizonyos mezőket:

  • Név. Egy webszerveren lévő mappát jelöl, amely webszolgáltatásunk leírását fogja tárolni. Legyen óvatos a kis- és nagybetűkkel, mivel a szerverek néha különbséget tesznek a kis- és nagybetűk között;
  • Web szerver. Ki kell választania egy kiszolgálót a számítógépre telepített kiszolgálók közül;
  • Katalógus. Ki kell választani annak a mappának az elérési útját, ahol a kapcsolat beállításához szükséges webszerver-adatokat tárolják. Csak latin betűket használnak;
  • Két "boolean" típusú jel. Az első akkor hasznos számunkra, ha a webes kliensen keresztül kell konfigurálnunk a konfigurációhoz való hozzáférést. Az 1C szolgáltatás közzétételéhez el kell helyeznie a második jelölést.

Csak ellenőrizni kell, hogy a kívánt WEB-szolgáltatásnak az első oszlopban van-e egy jelölőnégyzete, és kattintson a „Közzététel” gombra.


Mivel ez a mechanizmus még meglehetősen új, előfordulhat, hogy "Hiba történt egy fájlművelet végrehajtása közben ..." formátumú hibával. Ebben az esetben csak meg kell ismételnie a „Közzététel” gombot. A legtöbb esetben ez segít, és megjelenik egy üzenet, hogy a webszolgáltatás megjelent.

Ru // ws / .1cws? Wsdl

Egy ilyen címkérésre válaszul a böngészőnek meg kell jelenítenie az XML-fájl szerkezetét. Ha üres oldalt, hibát vagy érthetetlen karaktereket lát (kódolási problémák), akkor újra ellenőriznie kell az összes műveletet. Az sem lesz felesleges, hogy megbizonyosodjon arról, hogy a kiszolgáló megfelelően van konfigurálva, és rendelkezik-e hozzáféréssel. A sikeres közzététel után az 1C WEB szolgáltatás képes lesz harmadik féltől származó alkalmazások használatára.

WEB-szolgáltatás - (az angol web-service szóból, szinonimája - online szolgáltatás). Webszolgáltatások alatt olyan szolgáltatásokat értünk, amelyeket az interneten speciális programok segítségével nyújtanak. Gyakoriak például az olyan szolgáltatások, mint: hosting, e-mail, különféle információk (fájlok, könyvjelzők) tárolása az interneten, 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ág bármely pontján dolgozhat, ahol hozzáfér.

Knyazev A.A. A média enciklopédikus szótára. - Bishkek: A KRSU kiadója... 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. A webszolgáltatás, a webszolgáltatás egy karakterlánc által azonosított szoftverrendszer, az interfészek XML-ben vannak definiálva, és Internet protokollok segítségével továbbíthatók. A webszolgáltatás a modularitás egysége, ha használjuk ... ... Wikipédia

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

    Webes térképszolgáltatás- (WMS rus. Web map service) szabványos protokoll georeferált képek interneten keresztüli kiszolgálására, amelyet egy térképészeti 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íme: 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ások nyújtását (webes szolgáltatások), a termék üzembe helyezésekor ... ... Műszaki fordítói útmutató

    Web 2

    Web 2.0- A Web 2.0-hoz kapcsolódó kulcsfogalmak A Web 2.0 (Tim O'Reilly meghatározása szerint) olyan rendszerek tervezési módszere, amelyek a hálózati interakciók figyelembevételével egyre jobbak, minél többen használják őket. A web 2.0 szolgáltatása. az elv ... ... Wikipédia

    Weboldal- A „webhely” kérése ide kerül átirányításra. Cm. más jelentések is. Egy webhely (az angol Webhelyről: web web és site "place") egy számítógépes hálózatban, amely egyetlen domain név vagy IP-cím alatt egyesül) egy magánszemély vagy ... ... Wikipédia dokumentumainak gyűjteménye.

Könyvek

  • Informatika a turizmusban, V. N. 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, a ... Vásárlás 546 rubelért
  • 75 kész megoldás az Ön webhelyéhez PHP nyelven, Steinmetz U., Ward B .. Mindenkinek, aki saját weboldalt 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 .. .... "csavarja el" a szavazást, zárjon le bizonyos ...

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ó. Ezt a szolgáltatást egy szolgáltató valósítja meg és teszi elérhetővé az interneten vagy az intraneten. Egy egyszerű webszolgáltatást fogunk írni és közzétenni a .NET SDK használatával.

Szolgáltató vagy fogyasztó

A webszolgáltatás bármely fogyasztója. A kérelmező egy meglévő webszolgáltatást használ a 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 működik, és két módszert (add és SayHello) biztosít az alkalmazások által használható webszolgáltatásként. Ez a webszolgáltatás szabványos sablonja. Az .asmx kiterjesztést a NET szolgáltatások 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) (vissza a + b;) public String SayHello () (vissza: "Hello World";))

Egy webszolgáltatás teszteléséhez közzé kell tenni. A webszolgáltatás az intraneten vagy az interneten is közzétehető. Ezt a webszolgáltatást közzétesszük a helyi gépen futó IIS-ben. 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" → "Internet szolgáltatáskezelő" menüpontot.
  • Bontsa ki, és kattintson jobb gombbal az alapértelmezett webhelyre; válassza az "Új" → "Virtuális könyvtár" lehetőséget. Megnyílik az Új virtuális címtár varázsló. Kattintson a Tovább gombra.
  • Megjelenik a "Virtuális könyvtár" képernyő. Adja meg a virtuális könyvtár nevét. Például a MyWebServices. és kattintson a Tovább gombra.
  • Megjelenik a „Webhely tartalomjegyzéke” képernyő.
  • Adja meg a virtuális könyvtár könyvtárnevét. Például: c: \ MyWebServices Kattintson a Tovább gombra.
  • Megjelenik a "Hozzáférés engedélyezése" 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 konfigurációt.
  • A beállítás befejezéséhez kattintson a Befejezés gombra.

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 két olyan módszerre kell hivatkoznia, amelyeket webszolgáltatásként biztosítunk az alkalmazásunkban. Gratulálunk! Megírta az első webszolgáltatását!

A 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ű .NET-ben; azonban egy kicsit aktívabb. Amint azt korábban említettük, kétféle szolgáltatásfogyasztót fogunk írni: egy webhelyet és egy másik felhasználót, amely Windows alkalmazásokon alapul. Írjuk meg első webszolgáltatás fogyasztónkat.

Webszolgáltatások

Írjon egy internetes fogyasztót az alábbiak szerint. Nevezzük WebApp.aspx-nek. Felhívjuk figyelmét, 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 gombbal rendelkezik, 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 számunkra, amikor hivatkozik a hozzáadott webszolgáltatásra. Í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 nyer ki egy webszolgáltatásból, és létrehoz egy proxykiszolgálót. A proxy csak egy adott webszolgáltatásra é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: FirstService.cs könyvtár
  • 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 olyan szolgáltatásfogyasztót, mint mi. Vegye figyelembe, hogy a webszolgáltatás proxy objektuma a fogyasztón jön létre. Ez a proxyszerver 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ás-alapú webszolgáltatások fogyasztói

A Windows-alkalmazásokon alapuló webszolgáltatás-alkalmazás írása olyan, mint bármely más Windows-alkalmazás. Csak egy proxyt kell létrehoznia (amit már megtettünk), és erre a proxyra hivatkoznia 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 a SayHello és Add metódusokat.

WinApp.cs

Rendszer használata; a System.IO használatával; névtér SvcConsumer (class SvcEater (public static void Main (String args)) (FirstService mySvc = új FirstService (); Console.WriteLine ("Calling Hello World Service:" + mySvc.SayHello ()); Console.WriteLine ("Hozzáadás hívása (") 2, 3) Szolgáltatás: "+ mySvc.Add (2, 3) .ToString ());)))

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

Most az a kérdés, hogyan lehet biztos abban, hogy ez az alkalmazás valóban a webszolgáltatást hívja?

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. Működnie kell.