XML tīmekļa pakalpojumi. Tehnoloģiju pārskats

Tēmas nosaukums patiešām ir jautājums, jo Es pats nezinu, kas tas ir, un pirmo reizi mēģināšu ar to strādāt šī raksta ietvaros. Vienīgais, ko varu garantēt, ka zemāk esošais kods darbosies, bet manas frāzes būs tikai pieņēmumi un minējumi par to, kā es pats to visu saprotu. Tātad iesim...

Ievads

Mums jāsāk ar to, kam tika radīta tīmekļa pakalpojumu koncepcija. Līdz šī koncepta parādīšanās brīdim pasaulē jau pastāvēja tehnoloģijas, kas ļāva aplikācijām mijiedarboties no attāluma, kur viena programma varēja izsaukt kādu metodi citā programmā, kuru vienlaikus varēja palaist datorā, kas atrodas citā pilsētā vai pat valsts. Tas viss ir saīsināts kā RPC (Remote Procedure Calling). Piemēri ietver CORBA tehnoloģijas un Java — RMI (Remote Method Invoking). Un tajos it kā viss ir labi, it īpaši CORBA, tk. ar to var strādāt jebkurā programmēšanas valodā, bet kaut kā tomēr pietrūka. Es uzskatu, ka CORBA trūkums ir tas, ka tā darbojas, izmantojot dažus savus tīkla protokolus, nevis vienkāršu HTTP, kas pārmeklēs jebkuru ugunsmūri. Tīmekļa pakalpojuma ideja bija izveidot RPC, kas ielīmētu HTTP paketes. Tā sākās standarta izstrāde. Kādi ir šī standarta pamatjēdzieni:
  1. ZIEPES... Pirms attālās procedūras izsaukšanas šis izsaukums jāapraksta SOAP XML failā. SOAP ir vienkārši viens no daudzajiem XML marķējumiem, ko izmanto tīmekļa pakalpojumos. Viss, ko mēs vēlamies kaut kur nosūtīt, izmantojot HTTP, vispirms tiek pārvērsts par XML SOAP aprakstu, pēc tam tiek ievietots HTTP paketē un nosūtīts uz citu datoru tīklā, izmantojot TCP / IP.
  2. WSDL... Ir interneta serviss t.i. programma, kuras metodes var izsaukt attālināti. Bet standarts prasa šai programmai pievienot aprakstu, kurā teikts, ka "jā, jūs nekļūdāties - tas tiešām ir tīmekļa serviss un no tā var izsaukt tādas tādas metodes." Šis apraksts ir attēlots ar citu XML failu, kam ir cits formāts, proti, WSDL. Tie. WSDL ir tikai XML apraksta fails tīmekļa pakalpojumam un nekas cits.
Kāpēc tu jautā tik īsi? Vai nevarat iegūt sīkāku informāciju? Droši vien varat, bet šim jums ir jāgriežas pie tādām grāmatām kā Mashnin T. "Java Web Services". Tur pirmajās 200 lappusēs ir detalizēts apraksts par katru SOAP un WSDL standartu tagu. Vai man tas jādara? Manuprāt, nē, tk. tas viss tiek ģenerēts automātiski Java, un viss, kas jums jādara, ir jāieraksta to metožu saturs, kuras ir paredzēts izsaukt attālināti. Tātad Java bija tāda API kā JAX-RPC. Ja kāds nezina, kad saka, ka Java ir tāda un tāda API, tas nozīmē, ka ir pakotne ar klašu komplektu, kas iekapsulē attiecīgo tehnoloģiju. JAX-RPC ilgu laiku attīstījās no versijas uz versiju un galu galā pārtapa par JAX-WS. WS acīmredzami apzīmē WebService, un jūs varētu domāt, ka šī ir vienkārša RPC pārdēvēšana par mūsdienās populāru vārdu. Tas tā nav, jo Tagad tīmekļa pakalpojumi ir attālinājušies no sākotnējās idejas un ļauj ne tikai izsaukt attālinātās metodes, bet arī vienkārši nosūtīt dokumentu ziņojumus SOAP formātā. Kāpēc tas ir vajadzīgs, es vēl nezinu, atbilde diez vai būs "katram gadījumam, pēkšņi tas būs vajadzīgs". Es pats gribētu mācīties no pieredzējušākiem biedriem. Un pēdējā lieta, tad bija arī JAX-RS tā sauktajiem RESTful tīmekļa pakalpojumiem, bet šī ir atsevišķa raksta tēma. Šajā brīdī ievadu var beigt, jo tālāk mācīsimies strādāt ar JAX-WS.

Vispārēja pieeja

Tīmekļa pakalpojumiem vienmēr ir klients un serveris. Serveris ir mūsu tīmekļa pakalpojums, un to dažreiz sauc par beigu punktu (piemēram, galapunktu, uz kuru tiek nosūtīti SOAP ziņojumi no klienta). Mums ir jāveic šādas darbības:
  1. Aprakstiet mūsu tīmekļa pakalpojuma saskarni
  2. Ieviesiet šo saskarni
  3. Sāciet mūsu tīmekļa pakalpojumu
  4. Uzrakstiet klientu un attālināti izsauciet nepieciešamo tīmekļa pakalpojuma metodi
Tīmekļa pakalpojumu var palaist dažādos veidos: vai nu aprakstot klasi ar galveno metodi un palaižot tīmekļa pakalpojumu tieši, kā serveri, vai arī izvietojot to serverī, piemēram, Tomcat vai jebkurā citā. Otrajā gadījumā mēs paši nestartējam jaunu serveri un neatveram citu portu datorā, bet vienkārši sakām Tomcat servleta konteineram, ka “šeit rakstījām tīmekļa servisa klases, publicējiet, lūdzu, lai visi, kas sazinās Jūs varat izmantot mūsu tīmekļa pakalpojumu. Neatkarīgi no tīmekļa pakalpojuma palaišanas metodes mums būs viens un tas pats klients.

Serveris

Sāksim IDEA un izveidosim jaunu projektu Izveidot jaunu projektu... Ievadīsim vārdu HelloWebService un nospiediet pogu Nākamais, pēc tam pogu Pabeigt... Mapē src izveidot paketi ru.javarush.ws... Šajā pakotnē mēs izveidosim HelloWebService saskarni: pakotne ru. javarush. ws; // tās ir anotācijas, t.i. veids, kā atzīmēt mūsu klases un metodes, // saistībā ar tīmekļa pakalpojumu tehnoloģiju importēt javax. jws. WebMethod; importēt javax. jws. WebService; importēt javax. jws. ziepes. ziepju iesiešana; // mēs sakām, ka mūsu saskarne darbosies kā tīmekļa pakalpojums@WebService // sakiet, ka tīmekļa pakalpojums tiks izmantots metožu izsaukšanai@SOAPBinding (stils = SOAPBinding. Stils. RPC) publiskā saskarne HelloWebService ( // mēs sakām, ka šo metodi var izsaukt attālināti@WebMethod publiskā virkne getHelloString (virknes nosaukums); ) Šajā kodā WebService un WebMethod klases ir tā sauktās anotācijas un nedara neko citu, kā tikai atzīmē mūsu saskarni un tā metodi kā tīmekļa pakalpojumu. Tas pats attiecas uz SOAPBinding klasi. Vienīgā atšķirība ir tā, ka SOAPBinding ir parametru anotācija. Šajā gadījumā stila parametrs tiek izmantots ar vērtību, kas saka, ka tīmekļa pakalpojums darbosies nevis caur dokumentu ziņojumiem, bet gan kā klasisks RPC, t.i. lai izsauktu metodi. Ieviesīsim mūsu saskarnes loģiku un savā pakotnē izveidosim HelloWebServiceImpl klasi. Starp citu, es atzīmēju, ka Impl klases beigas ir Java konvencija, saskaņā ar kuru saskarņu ieviešana tiek apzīmēta šādā veidā (Impl - no vārda implementācija, t.i. implementācija). Tā nav obligāta prasība, un jūs varat brīvi nosaukt klasi, kā vēlaties, taču labas formas noteikumi to prasa: pack ru. javarush. ws; // tā pati anotācija, kas aprakstot saskarni, importēt javax. jws. WebService; // bet šeit izmantots ar parametru endpointInterface, // norādot mūsu tīmekļa pakalpojuma saskarnes pilnībā kvalificēto klases nosaukumu@WebService (endpointInterface = "ru.javarush.ws.HelloWebService") publiskā klase HelloWebServiceImpl ievieš HelloWebService (@Override public String getHelloString (virknes nosaukums) // vienkārši atdod sveicienu atgriezties "Sveiki," + vārds + "!" ; )) Sāksim mūsu tīmekļa pakalpojumu kā neatkarīgu serveri, t.i. neiesaistot nekādus Tomcat un aplikāciju serverus (šī ir atsevišķas diskusijas tēma). Lai to izdarītu, projekta struktūrā mapē src izveidosim pakotni ru.javarush.endpoint un tajā izveidosim HelloWebServicePublisher klasi ar galveno metodi: pack ru. javarush. galapunkts; // klase, lai palaistu tīmekļa serveri ar tīmekļa pakalpojumiem importēt javax. xml. ws. galapunkts; // mūsu tīmekļa pakalpojuma klase importa ru. javarush. ws. HelloWebServiceImpl; publiskā klase HelloWebServicePublisher (publisks static void main (String... args) ( // startējiet tīmekļa serveri portā 1986 // un adresē, kas norādīta pirmajā argumentā, // sākt otrajā argumentā nodoto tīmekļa pakalpojumu Gala punkts. publicēt ( "http:// localhost: 1986 / wss / sveiki", jauns HelloWebServiceImpl ()); )) Tagad palaidīsim šo klasi, noklikšķinot Shift + F10... Konsolē nekas neparādās, bet serveris darbojas. To var pārbaudīt, pārlūkprogrammā ierakstot rindiņu http:// localhost: 1986 / wss / hello? Wsdl. Lapa, kas tiek atvērta, no vienas puses, pierāda, ka mūsu datorā (localhost) ir startējis tīmekļa serveris (http: //) ar portu 1986, un, no otras puses, parāda mūsu tīmekļa pakalpojuma WSDL aprakstu. Ja apturēsiet lietojumprogrammu, apraksts kļūs nepieejams, kā arī pats tīmekļa pakalpojums, tāpēc mēs to nedarīsim, bet turpināsim rakstīt klientam.

Klients

Projekta mapē src izveidojiet pakotni ru.javarush.client un tajā HelloWebServiceClient klasi ar galveno metodi: pakotne ru. javarush. klients; // nepieciešams, lai iegūtu wsdl aprakstu un caur to // sasniedz pašu tīmekļa pakalpojumu importēt javu. tīkls. URL; // šāda izpilde notiks, strādājot ar URL objektu importēt javu. tīkls. MalformedURLException; // klases, lai parsētu xml-ku ar wsdl aprakstu // un sasniedziet tajā esošo pakalpojuma tagu importēt javax. xml. nosaukumvieta. QName; importēt javax. xml. ws. Apkalpošana; // mūsu tīmekļa pakalpojuma saskarne (mums ir nepieciešams vairāk) importa ru. javarush. ws. HelloWebService; publiskā klase HelloWebServiceClient (public static void main (String args) izmet MalformedURLException ( // izveido saiti uz wsdl aprakstu URL url = jauns url ( "http: // localhost: 1986 / wss / sveiks? wsdl") ; // Mēs skatāmies uz nākamā konstruktora parametriem WSDL apraksta pašā pirmajā tagā - definīcijas // skatiet 1. argumentu atribūtā targetNamespace // skatiet 2. argumentu atribūtā name QName qname = jauns QName ("http: //ws.site/", "HelloWebServiceImplService"); // Tagad mēs varam sasniegt pakalpojuma tagu wsdl aprakstā, Servisa serviss = Serviss. izveidot (url, qname); // un pēc tam līdz ligzdotajam porta tagam, lai // iegūt saiti uz tīmekļa pakalpojumu objektu, kas atrodas attālināti no mums HelloWebService sveiki = pakalpojums. getPort (HelloWebService. klase); // Urā! Tagad jūs varat izsaukt attālo metodi Sistēma. ārā. println (sveiki. getHelloString ("CodeGym")); )) Es sniedzu maksimālos komentārus par kodu sarakstā. Man nav ko piebilst, tāpēc palaist (Shift + F10). Mums vajadzētu redzēt tekstu konsolē: Sveiki, CodeGym! Ja jūs to neredzējāt, iespējams, esat aizmirsis palaist tīmekļa pakalpojumu.

Secinājums

Šajā tēmā tika prezentēta īsa ekskursija uz tīmekļa pakalpojumiem. Atkal liela daļa no tā, ko esmu uzrakstījis, ir mans minējums par to, kā tas darbojas, un tāpēc tam nevajadzētu pārāk uzticēties. Būšu pateicīgs, ja zinoši cilvēki mani izlabotu, jo tad es kaut ko uzzināšu. UPD.

Web pakalpojums (pakalpojums) - programma, kas organizē mijiedarbību starp vietnēm. Informācija no viena portāla tiek pārsūtīta uz citu.

Piemēram, ir aviokompānija. Viņai ir daudz lidojumu, respektīvi, daudz biļešu. Tas nosūta informāciju, izmantojot tīmekļa pakalpojumu, ceļojumu apkopošanas vietnei. Lietotājs, kurš apmeklēs apkopotāju, turpat varēs iegādāties biļetes šai aviokompānijai.

Vēl viens tīmekļa pakalpojumu piemērs ir laikapstākļu izsekošanas vietne, kurā ir informācija par laika apstākļiem konkrētā pilsētā vai valstī kopumā. Šo informāciju bieži izmanto arī trešās puses.

Informācija internetā ir dažāda. Vietnes pārvalda dažādas sistēmas. tiek izmantoti dažādi pārraides un šifrēšanas protokoli. Tīmekļa pakalpojumi atvieglo informācijas apmaiņu starp dažādām vietnēm.

Tīmekļa pakalpojumu arhitektūra un protokoli

Varat definēt 3 gadījumus, kas mijiedarbojas savā starpā: katalogu, darbuzņēmēju un klientu. Pēc pakalpojuma izveidošanas darbuzņēmējs to reģistrē katalogā, un tur klients atrod pakalpojumu.

Datu apmaiņas mehānisms ir izveidots Web pakalpojumu apraksta aprakstā. Tā ir specifikācija, kas aptver transporta formātus, satura tipus, transporta protokolus, kas tiek izmantoti informācijas apmaiņā starp klientu un pakalpojumu sniedzēju.

Mūsdienās dažādu tīmekļa pakalpojumu ieviešanai visbiežāk tiek izmantotas vairākas tehnoloģijas:

  1. TCP / IP ir protokols, ko saprot gandrīz jebkura tīkla iekārta, sākot no lieldatoriem līdz pārnēsājamām ierīcēm un PDA.
  2. HTML ir vispārējas nozīmes iezīmēšanas valoda, ko izmanto satura attēlošanai patērētāju ierīcēs.
  3. XML ir universāls rīks visu veidu datu apstrādei. Uz tā pamata var darboties arī citi informācijas apmaiņas protokoli: SOAP un WSDL.
  4. UDDI ir universāls atpazīšanas, integrācijas un apraksta avots. Darbojas, kā likums, privātajos tīklos un vēl nav atradis pietiekamu izplatību.

Piedāvāto tehnoloģiju daudzpusība ir pamats tīmekļa pakalpojumu izpratnei. Tie darbojas ar standarta tehnoloģijām, kas ir neatkarīgas no lietojumprogrammu piegādātājiem un citiem tīkla resursiem. Var izmantot jebkurā operētājsistēmā, lietojumprogrammu serverī, programmēšanas valodā utt.

Priekšrocības

  • Nepieciešamo nosacījumu radīšana programmatūras komponentu mijiedarbībai neatkarīgi no platformas.
  • Tīmekļa pakalpojumi ir balstīti uz atvērtā standarta protokoliem. Pateicoties XML ieviešanai, tiek nodrošināta tīmekļa pakalpojumu veidošanas un konfigurēšanas vienkāršība.
  • HTTP izmantošana garantē sadarbspēju starp sistēmām, izmantojot piekļuvi tīklam.

Trūkumi

  • Zema veiktspēja un liels trafika apjoms, salīdzinot ar RMI, CORBA, DCOM sistēmām, pateicoties XML-ziņojumu izmantošanai teksta kontekstā.
  • Drošības līmenis. Visiem mūsdienu tīmekļa pakalpojumiem ir jāievieš kodēšana un nepieciešama lietotāja autorizācija. Tas, vai šeit pietiek ar HTTPS vai ir nepieciešami uzticamāki protokoli, piemēram, XML šifrēšana, SAML utt., ir izstrādes jautājums.

Tīmekļa pakalpojumu uzdevumi

Tīmekļa pakalpojumus var izmantot daudzās jomās.

B2B darījumi

Procesi tiek integrēti nekavējoties, bez cilvēku līdzdalības. Piemēram, interneta veikala kataloga papildināšana ar jaunām precēm. Tie tiek atvesti uz noliktavu, un noliktavas turētājs ierašanos ieraksta datu bāzē. Informācija tiek automātiski pārsūtīta uz tiešsaistes veikalu. Un pircējs tā vietā, lai preces kartītē atzīmētu “Noliktavā nav”, redz tās daudzumu.

Uzņēmuma pakalpojumu integrācija

Ja uzņēmums izmanto korporatīvās programmas, tad tīmekļa pakalpojums palīdzēs izveidot viņu sadarbību.

Klienta-servera sistēmas izveide

Pakalpojumi tiek izmantoti, lai pielāgotu klienta un servera darbību. Tas nodrošina šādas priekšrocības:

  • jūs varat pārdot nevis pašu programmatūru, bet maksāt par piekļuvi tīmekļa pakalpojumam;
  • vieglāk atrisināt problēmas, izmantojot trešās puses programmatūru;
  • vieglāk organizēt piekļuvi saturam un materiāliem serverī.

Tīmekļa pakalpojums ir lietojumprogramma, kas vienkāršo resursu mijiedarbības tehnisko konfigurāciju.

Mūsdienās WEB pakalpojumi tiek izmantoti gandrīz visur – tie sniedz mums informāciju par lidmašīnu un vilcienu lidojumiem, valūtas kursiem un laikapstākļiem. Nav pārsteidzoši, ka 1C ir arī iespēja izveidot savus WEB pakalpojumus, kas ļauj darboties gan kā piegādātājam, gan kā patērētājam. Šis mehānisms ir iebūvēts 1C: Enterprise 8.3 platformā, un izstrādātāji standarta konfigurācijai var pievienot pat savus WEB pakalpojumu objektus. To arhitektūra ir balstīta uz pakalpojumu kopumu, kas ļauj apmainīties ar informāciju ar citu programmatūru.

1C tīmekļa pakalpojuma izveide

Viena no galvenajām 1C WEB pakalpojumu priekšrocībām ir nepieciešamība nodrošināt tiešu piekļuvi informācijas drošības datiem. Pareizi konfigurēts 1C tīmekļa pakalpojums ļauj citām lietojumprogrammām izmantot funkcijas no ārpuses. Šādos gadījumos pašai funkcijai būtu jānosaka tiesības izmantot datus atbilstoši norādītajiem parametriem saskaņā ar izstrādātāja noteiktajiem noteikumiem.

Kā izveidot tīmekļa pakalpojumu 1C?

Lai noteikta 1C sistēmas funkcija kļūtu pieejama ārējai programmatūrai, ir jāveic šāda darbību secība:

  1. Dodieties uz konfigurāciju un pievienojiet WEB pakalpojuma objektu noteiktā koka zarā;
  2. Aprakstiet visas darbības, ko var veikt mūsu funkcionalitāte. Funkciju apraksts tiek veikts modulī 1C iebūvētajā valodā;
  3. Pievienojiet tīmekļa pakalpojumu funkciju parametru aprakstu. Lūdzu, ņemiet vērā, ka datu tipi ir aprakstīti, ņemot vērā esošos XDTO mehānisma veidus, kas parādījās platformas versijā 8.1;
  4. Publicēt izveidoto WEB pakalpojumu serverī. 1C platformā iebūvētais mehānisms atbalsta šādus standartus:
  • SSL/TLS
  • WS-I BP

Vienkārša WEB pakalpojuma izveides piemērs

Lai visskaidrāk demonstrētu WEB-pakalpojumu mehānisma darbību, izveidosim piemēru - funkcionālu, kas nosaka ievadītās virknes garumu. Programmatūra nosūtīs virkni kā vaicājuma parametru, un 1C aprakstītā funkcija atgriezīs rakstzīmju skaitu. Veidojot, jāatceras, ka šī mehānisma publicēšana ļaus tam piekļūt dažādām programmām. Tā kā ne katra programmatūra spēj uztvert kirilicas alfabētu, mēs nosauksim konfigurācijas objektus, izmantojot latīņu rakstzīmes.

Atveriet konfiguratoru, atrodiet kokā zaru "WEB-services" un pievienojiet jaunu pakalpojumu "wa_LengthString". Cilnē Operācijas ir arī jāpievieno jauna darbība. Sauksim to par "CalcLengthString", rekvizītos norādiet atgriežamās vērtības veidu - int vai integer un izveidojiet tajā parametru "InputString". Mēs atstājam vērtības veidu kā virkni.


Tagad WEB pakalpojuma modulī jāreģistrē CalcLengthString funkcijas darbība. Lai to izdarītu, atveriet izveidotās funkcijas rekvizītus un noklikšķiniet uz palielināmā stikla pogas labajā pusē blakus ievades laukam "Procedure name". 1C automātiski izveidos funkciju mūsu WEB pakalpojuma modulī un atvērs to, lai mēs varētu aprakstīt CalcLengthString darbību. Izmantosim šo iespēju un uzrakstīsim funkcijas darbību – ievades virknes garuma noteikšanu.


Faktiski tas pabeidz vienkāršākā WEB pakalpojuma izveidi. Tagad jums ir "jānovieto" šis pakalpojums publiskajā domēnā, lai trešās puses programmatūra vai citas 1C sistēmas varētu izmantot šo funkcionalitāti.

Lai mēs varētu publicēt izveidoto tīmekļa pakalpojumu ar tā funkcionalitāti, mums ir jābūt piekļuvei vietnei. Pirms pakalpojuma publicēšanas mums ir jāpārbauda faila nosaukums jaunizveidotā moduļa wa_LengthString rekvizītos. Tam jābūt skaidram, vienkāršam un ar paplašinājumu "1cws".


Tagad ir pienācis laiks publicēt mūsu izveidoto WEB pakalpojumu serverī. Šī funkcija parādījās platformas 8.3 versijā, un daudzi uzņēmumi jau ir sapratuši visas šīs funkcionalitātes priekšrocības. Lai sāktu publicēšanu, konfiguratorā jāatver veidlapa "Administrēšana / Publicēšana tīmekļa serverī ...".


Atvērtajā logā mums ir jākonfigurē 1C tīmekļa pakalpojumi un jāaizpilda noteikti lauki:

  • Vārds. Norāda uz mapi tīmekļa serverī, kurā tiks saglabāts mūsu tīmekļa pakalpojuma apraksts. Esiet piesardzīgs attiecībā uz reģistriem, jo ​​dažreiz serveri atšķir lielos un mazos burtus;
  • Web serveris. Jums ir jāizvēlas serveris no datorā instalētajiem;
  • Katalogs. Jums ir jāizvēlas ceļš uz mapi, kurā tiek glabāti tīmekļa servera dati savienojuma iestatīšanai. Tiek izmantoti tikai latīņu burti;
  • Divas "Būla" tipa zīmes. Pirmais mums ir noderīgs, ja mums ir jākonfigurē piekļuve konfigurācijai, izmantojot tīmekļa klientu. Lai publicētu pakalpojumu 1C, jums jāievieto otrā atzīme.

Atliek tikai pārbaudīt, vai vajadzīgajam WEB pakalpojumam pirmajā kolonnā ir izvēles rūtiņa, un noklikšķiniet uz "Publicēt".


Tā kā šis mehānisms joprojām ir diezgan jauns, jūs varat saskarties ar kļūdu formā "Radās kļūda, veicot faila darbību ...". Šajā gadījumā jums vienkārši jāatkārto poga "Publicēt". Vairumā gadījumu tas palīdz, un jums tiks parādīts ziņojums, ka tīmekļa pakalpojums ir publicēts.

Ru // ws / .1cws? Wsdl

Atbildot uz šādu adreses pieprasījumu, pārlūkprogrammai ir jāparāda XML faila struktūra. Ja redzat tukšu lapu, kļūdu vai nesaprotamas rakstzīmes (kodēšanas problēmas), jums vēlreiz jāpārbauda visas darbības. Tāpat nebūs lieki pārliecināties, vai serveris ir pareizi konfigurēts un vai jums ir piekļuve tam. Pēc veiksmīgas publicēšanas 1C WEB pakalpojums varēs izmantot trešo pušu lietojumprogrammas.

WEB-service - (no angļu valodas web-service, sinonīms - tiešsaistes pakalpojums). Tīmekļa pakalpojumi tiek saprasti kā pakalpojumi, kas tiek nodrošināti internetā, izmantojot īpašas programmas. Piemēram, izplatīti ir tādi pakalpojumi kā: hostings, e-pasts, dažādas informācijas (failu, grāmatzīmju) glabāšana internetā, kalendārs u.c. Svarīga tīmekļa pakalpojuma īpašība ir tā, ka tas nav atkarīgs no jūsu pakalpojumu sniedzēja, datora vai pārlūkprogrammas — jūs varat strādāt ar saviem datiem jebkurā vietā pasaulē, kur jums ir piekļuve.

Kņazevs A.A. Enciklopēdiskā mediju vārdnīca. - Biškeka: KRSU izdevniecība... A. A. Kņazevs. 2002. gads.

Skatiet, kas ir "WEB-service" citās vārdnīcās:

    Tīmekļa pakalpojums

    Tīmekļa pakalpojums- Web pakalpojums. Tīmekļa pakalpojums, tīmekļa pakalpojums ir programmatūras sistēma, kas identificēta ar virkni; saskarnes tiek definētas XML un pārraidītas, izmantojot interneta protokolus. Tīmekļa pakalpojums ir modularitātes vienība, ja to lieto ... ... Wikipedia

    Tīmekļa kešatmiņas sakaru protokols- (WCCP) Cisco satura pāradresācijas protokols. Nodrošina mehānismu satiksmes plūsmu novirzīšanai reāllaikā. Ir iebūvēta mērogošana, slodzes balansēšana, kļūdu pielaide. Cisco IOS ... ... Wikipedia

    Tīmekļa karšu pakalpojums- (WMS rus. Web karšu pakalpojums) standarta protokols ģeoreferencētu attēlu apkalpošanai, izmantojot internetu, ko ģenerē kartogrāfiskais serveris, pamatojoties uz datiem no ĢIS datu bāzes. Šis standarts tika izstrādāts un pirmo reizi ... ... Wikipedia

    Web Hotel Salvador- (Salvadora, Brazīlija) Viesnīcas kategorija: 2 zvaigžņu viesnīcas adrese: Rua das Alfazemas… Viesnīcu katalogs

    Web Hotel Aparecida- (Aparecida, Brazīlija) Viesnīcas kategorija: 3 zvaigžņu viesnīcas adrese: Av. Isaac Ferrei… Viesnīcu katalogs

    uz pakalpojumu orientēta arhitektūra- Organizācijas biznesa procesi tiek īstenoti, pamatojoties uz pakalpojumiem, ko sniedz Klienta esošās lietojumprogrammas. Ja lietojumprogrammas neatbalsta iespēju sniegt pakalpojumus (tīmekļa pakalpojumus), kad produkts tiek izvietots ... ... Tehniskā tulka rokasgrāmata

    2. tīmeklis

    Web 2.0- Galvenie jēdzieni, kas saistīti ar Web 2.0 Web 2.0 (kā definējis Tims O'Reilijs) ir sistēmu projektēšanas metode, kas, ņemot vērā tīkla mijiedarbību, kļūst labākas, jo vairāk cilvēku tās izmanto. Web 2.0 iezīme. ir princips ... ... Wikipedia

    Tīmekļa vietne- Pieprasījums "vietne" tiek novirzīts uz šejieni. Cm. arī citas nozīmes. Tīmekļa vietne (no angļu Website: tīmekļa vietne un vietne "vieta") datortīklā, kas apvienota zem viena domēna vārda vai IP adreses) ir privātpersonas vai ... ... Vikipēdijas dokumentu kopums.

Grāmatas

  • Informācijas tehnoloģijas tūrisma nozarē, V. N. Šitovs. Rokasgrāmatā detalizēti aplūkotas vispārējas nozīmes datortehnoloģijas, izmantojot populārās Microsoft Office 2010 pakotnes un alternatīvos kompleksus, ... Pērciet par 546 rubļiem
  • 75 gatavi risinājumi jūsu vietnei PHP valodā, Steinmetz U., Ward B .. Ikviens, kurš veido vai gatavojas izveidot savu vietni, neizbēgami saskaras ar vairākiem uzdevumiem un grūtībām: kā izveidot emuāru vietnē .. ..... "izskrūvēt" balsojumu, aizvērt noteiktus ...

Pamatojoties uz tīmekļa pakalpojumu arhitektūru, mēs izveidojam šādus divus komponentus kā daļu no tīmekļa pakalpojumu ieviešanas:

Pakalpojumu sniedzējs vai izdevējs

Šis ir tīmekļa pakalpojumu sniedzējs. Pakalpojumu sniedzējs ievieš šo pakalpojumu un padara to pieejamu internetā vai iekštīklā. Mēs rakstīsim un publicēsim vienkāršu tīmekļa pakalpojumu, izmantojot .NET SDK.

Pakalpojuma sniedzējs vai patērētājs

Jebkurš tīmekļa pakalpojuma patērētājs. Pieprasītājs izmanto esošu tīmekļa pakalpojumu, atverot tīkla savienojumu un iesniedzot XML pieprasījumu. Mēs arī uzrakstīsim divus tīmekļa pakalpojumu pieprasījumus: vienu tīmekļa patērētāju (ASP.NET lietojumprogramma) un otru patērētāju, pamatojoties uz Windows lietojumprogrammām.

Zemāk ir mūsu pirmais piemērs tīmekļa pakalpojumam, kas darbojas kā pakalpojumu sniedzējs un nodrošina divas metodes (pievienošana un SayHello) kā tīmekļa pakalpojumus, ko izmantot lietojumprogrammas. Šī ir standarta veidne tīmekļa pakalpojumam. NET pakalpojumos tiek izmantots paplašinājums .asmx. Ņemiet vērā, ka metodei, kas ir atklāta kā tīmekļa pakalpojums, ir WebMethod atribūts. Saglabājiet šo failu kā FirstService.asmx IIS virtuālajā direktorijā (kā aprakstīts IIS iestatīšanā, piemēram, c: \ MyWebSerces).

FirstService.asmx

<%@ WebService language = "C" class = "FirstService" %>izmantojot sistēmu; izmantojot System.Web.Services; izmantojot System.Xml.Serialization; publiskā klase FirstService: WebService (publisks int Add (int a, int b) (atgriež a + b;) public String SayHello () (atgriež "Hello World";))

Lai pārbaudītu tīmekļa pakalpojumu, tas ir jāpublicē. Tīmekļa pakalpojumu var publicēt gan iekštīklā, gan internetā. Mēs publicēsim šo tīmekļa pakalpojumu IIS, kas darbojas vietējā datorā. Sāksim ar IIS iestatīšanu.

  • Atveriet "Sākt" → "Iestatījumi" → "Vadības panelis" → "Administratīvie rīki" → "Interneta pakalpojumu pārvaldnieks".
  • Izvērsiet un ar peles labo pogu noklikšķiniet uz noklusējuma vietnes; atlasiet "Jauns" → "Virtuālais direktorijs". Tiks atvērts Jaunā virtuālā direktorija vednis. Noklikšķiniet uz Tālāk.
  • Tiek parādīts ekrāns "Virtuālais direktorijs". Ievadiet virtuālā direktorija nosaukumu. Piemēram, MyWebServices. un noklikšķiniet uz Tālāk.
  • Tiek parādīts ekrāns "Tīmekļa vietnes satura direktorijs".
  • Ievadiet virtuālā direktorija direktorija nosaukumu. Piemēram, c: \ MyWebServices Noklikšķiniet uz Tālāk.
  • Tiek parādīts ekrāns "Piekļuves autorizācija". Mainiet iestatījumus atbilstoši savām prasībām. Saglabāsim šī vingrinājuma noklusējuma iestatījumus.
  • Noklikšķiniet uz "Tālāk". Tas pabeidz IIS konfigurāciju.
  • Noklikšķiniet uz Pabeigt, lai pabeigtu iestatīšanu.

Lai pārbaudītu, vai IIS ir pareizi konfigurēts, kopējiet HTML failu (piemēram, x.html) iepriekš izveidotajā virtuālajā direktorijā (C: \ MyWebServices). Tagad atveriet Internet Explorer un ievadiet http://localhost/MyWebServices/x.html. Tam vajadzētu atvērt failu x.html.

Piezīme... Ja tas nedarbojas, mēģiniet aizstāt localhost ar savas ierīces IP adresi. Ja tas joprojām nedarbojas, pārbaudiet, vai IIS darbojas; iespējams, būs jāpārkonfigurē IIS un virtuālais direktorijs.

Lai pārbaudītu šo tīmekļa pakalpojumu, kopējiet FirstService.asmx iepriekš izveidotajā IIS virtuālajā direktorijā (C: \ MyWebServices). Atveriet tīmekļa pakalpojumu pārlūkprogrammā Internet Explorer (http://localhost/MyWebServices/FirstService.asmx). Tam vajadzētu atvērt tīmekļa pakalpojuma lapu. Lapā ir jābūt saitei uz divām metodēm, kuras mēs piedāvājam kā tīmekļa pakalpojumus savā lietojumprogrammā. Apsveicam! Jūs esat uzrakstījis savu pirmo tīmekļa pakalpojumu!

Tīmekļa pakalpojuma testēšana

Kā mēs tikko redzējām, ir viegli rakstīt tīmekļa pakalpojumus .NET Framework. Tīmekļa pakalpojumu rakstīšana ir vienkārša arī .NET; tomēr tas ir nedaudz aktīvāks. Kā minēts iepriekš, mēs rakstīsim divu veidu pakalpojumu patērētājus: vienu vietni un citu lietotāju, pamatojoties uz Windows lietojumprogrammām. Rakstīsim savu pirmo tīmekļa pakalpojumu patērētāju.

Tīmekļa pakalpojumi

Uzrakstiet tīmekļa patērētāju, kā norādīts tālāk. Sauciet to WebApp.aspx. Lūdzu, ņemiet vērā, ka šī ir ASP.NET lietojumprogramma. Saglabājiet to tīmekļa pakalpojuma virtuālajā direktorijā (c: \ MyWebServices \ WebApp.axpx). Šajā lietotnē ir divi tekstlodziņi, kas tiek izmantoti, lai no lietotāja iegūtu skaitļus, ko pievienot. Tam ir viena poga Palaist, uz kuras noklikšķinot, tiek iegūti tīmekļa pakalpojumi Add un SayHello.

WebApp.axpx

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

Pirmais pievienojamais numurs: 4< /asp:TextBox>

Otrais numurs, kas jāpievieno: 5

Web pakalpojuma rezultāts —

Sveiki pasaules dienests : Etiķete< /asp:Label>

Pievienot pakalpojumu : & Etiķete

Pēc patērētāja izveides mums ir jāizveido starpniekserveris, lai patērētu tīmekļa pakalpojumu. Šo darbu mūsu vietā automātiski veic Visual Studio .NET, atsaucoties uz pievienoto tīmekļa pakalpojumu. Tālāk ir norādītas darbības, kas jāveic.

  • Izveidojiet starpniekserveri, lai izmantotu tīmekļa pakalpojumu. Starpniekserveris tiek izveidots, izmantojot WSDL utilītu, kas nodrošināta ar .NET SDK. Šī utilīta iegūst informāciju no tīmekļa pakalpojuma un izveido starpniekserveri. Starpniekserveris ir derīgs tikai noteiktam tīmekļa pakalpojumam. Ja jums ir jāizmanto citi tīmekļa pakalpojumi, jums ir jāizveido arī šī pakalpojuma starpniekserveris. Visual Studio .NET automātiski izveido starpniekserveri, kad tiek pievienota tīmekļa pakalpojuma atsauce. Izveidojiet tīmekļa pakalpojuma starpniekserveri, izmantojot WSDL utilītu, kas nodrošināta ar .NET SDK. Tas izveidos FirstSevice.cs failu pašreizējā direktorijā. Mums tas ir jākompilē, lai tīmekļa pakalpojumam izveidotu FirstService.dll (starpniekserveri).
  • c:> WSDL http://localhost/MyWebServices/FirstService.asmx? WSDL
  • c:> csc / t: bibliotēka FirstService.cs
  • Ievietojiet apkopoto starpniekserveri tīmekļa pakalpojuma virtuālā direktorija bin direktorijā (c: \ MyWebServices \ bin). Interneta informācijas pakalpojumi (IIS) šajā direktorijā meklē starpniekserveri.
  • Izveidojiet pakalpojumu patērētāju tāpat kā mēs. Ņemiet vērā, ka tīmekļa pakalpojuma starpniekservera objekts tiek izveidots patērētājam. Šis starpniekserveris rūpējas par mijiedarbību ar pakalpojumu.
  • Ievadiet patērētāja URL pārlūkprogrammā IE, lai to pārbaudītu (piemēram, http://localhost/MyWebServices/WebApp.aspx).

Windows lietojumprogrammu tīmekļa pakalpojumu patērētājs

Tīmekļa pakalpojuma lietojumprogrammas rakstīšana, pamatojoties uz Windows lietojumprogrammām, ir līdzīga jebkuras citas Windows lietojumprogrammas rakstīšanai. Jums tikai jāizveido starpniekserveris (ko mēs jau izdarījām) un, sastādot pieteikumu, ir jāatsaucas uz šo starpniekserveri. Zemāk ir mūsu Windows lietojumprogramma, kas izmanto tīmekļa pakalpojumu. Šī lietojumprogramma izveido tīmekļa pakalpojuma objektu (protams, starpniekserveri) un izsauc tajā esošās SayHello un Add metodes.

WinApp.cs

izmantojot sistēmu; izmantojot System.IO; nosaukumvieta SvcConsumer (klase SvcEater (publisks statisks tukšums Main (String args)) (FirstService mySvc = jauns FirstService (); Console.WriteLine ("Calling Hello World Service:" + mySvc.SayHello ()); Console.WriteLine ("Zvana pievienošana (" 2, 3) Pakalpojums: "+ mySvc.Add (2, 3) .ToString ());)))

Kompilējiet to ar c: \> csc /r:FirstService.dll WinApp.cs. Tas izveidos failu WinApp.exe. Palaidiet to, lai pārbaudītu savu lietotni un tīmekļa pakalpojumu.

Tagad jautājums ir, kā jūs varat būt pārliecināts, ka šī lietojumprogramma patiešām zvana uz tīmekļa pakalpojumu?

To ir viegli pārbaudīt. Apturiet savu tīmekļa serveri, lai nevarētu sazināties ar tīmekļa pakalpojumu. Tagad palaidiet lietojumprogrammu WinApp. Tas radīs izņēmumu izpildlaikā. Tagad atkal palaidiet tīmekļa serveri. Tam vajadzētu strādāt.