O nouă generație de web
În această recenzie ne uităm la servicii web - tehnologie integrarea aplicațiilor bazate pe Web, care înlocuiește tradiționale aplicații bazate pe Web. Vom începe cu o scurtă poveste despre dezvoltare web, și apoi în detaliu mai vorbim despre orientate spre servicii Web. Apoi, ia în considerare conceptul de servicii web ca atare, standardele pentru astfel de servicii, - SOAP, WSDL si UDDI, instrumente de dezvoltare servicii web, precum și a afla modul în care acest concept este acceptat în Microsoft Visual Studio.NET.
geneza Web
Inițial, World Wide Web are o retea de documente. Web-servere comunica cu clientii prin HTTP (Hypertext Transfer Protocol) și trimite informații sub formă de documente hypertext care sunt create prin intermediul HTML (Hypertext Markup Language). Aceste documente sunt afișate în browser-ul, și conțin legături către alte documente. Asta a fost suficient pentru a satisface creatorii cererilor Web - oameni de știință care au nevoie de un mijloc pentru schimbul de diverse documente: rezultatele cercetării, protocoalelor de laborator, rapoarte etc. Astfel, Web a apărut ca o rețea orientată spre documente.
Principala diferență între aplicația web-server de obicei pe server este că acesta din urmă nu se întorc pur și simplu documentul, și poate procesa cererile de utilizator și care conține codul care implementează logica de afaceri. De obicei, serverele de aplicații generează documente în mod dinamic, în funcție de parametrii specificate de utilizator. De asemenea, trebuie remarcat faptul că utilizarea de servere de aplicații vă permite să creați soluții scalabile, care pot servi în același timp un număr mare de tranzacții.
Apariția de o varietate de dispozitive mobile a condus la faptul că în loc de browsere tradiționale, multe aplicații bazate pe Web comerciale este acum, în plus față de suport pentru protocolul HTTP și protocolul WAP (Wireless Access Protocol) și sunt capabili să se întoarcă informații nu numai conținutul HTML standard, dar în standardele care îndeplinesc utilizatori care au acces servicii prin intermediul dispozitivelor mobile, - WML (wireless Markup Language).
Firește, e-commerce nu poate fi limitat la o simplă tranzacție de procesare - următorul pas logic în dezvoltarea Web-ului este integrarea proceselor de afaceri ale diferitelor companii. Astfel, în lumina apare un web orientate spre servicii. Ea se bazează pe două relativ noi tehnologii - SOAP (Simple Object Access Protocol) și XML (Extensible Markup Language). În cadrul acestui scenariu web constă dintr-un set de servere de aplicații schimb de informații în format XML folosind protocolul SOAP.
Service-Oriented Web este un serviciu web - un set de funcții logic asociate, care pot fi cauzate de software-ul prin intermediul internetului. Informații cu privire la ce caracteristici oferă web-serviciu, conținut în documentul WSDL (WSDL), și pentru a găsi servicii web existente, este planificat pentru a utiliza registrele speciale care sunt compatibile cu UDDI caietul de sarcini (Descriere universal, Discovery și Integrare).
orientate spre Web Service
Web-servicii sunt tehnologia de integrare a aplicațiilor care pot fi utilizate pe Internet. Ca un exemplu, posibila utilizare a serviciilor Web-ia în considerare planificarea călătoriilor. De obicei, într-o astfel de situație aveți nevoie de: o comandă pentru biletul de avion, rezervare cazare, închiriere de mașini, și, eventual, utilizarea serviciilor companiilor locale care organizează tururi.
În mod tradițional, utilizarea Internetului, va trebui să vizitați rețeaua companiei aeriene hotel sau, serverul, hoteluri de server, companiile de închiriere de mașini și serverul de server de companie, care este specializata in organizarea de tururi în locația selectată. Toate aceste acțiuni pot lua o lungă perioadă de timp înainte de a atinge scopul. Și în timp ce nici una dintre companiile implicate nu vor ști ce planurile tale sunt și, prin urmare, să nu fie în măsură pentru a optimiza timpul. Problema este că firmele specializate în domenii specifice - aer, hotel, închiriere de mașini, etc. în cele mai multe cazuri, acestea sunt închise pe ei înșiși și de a folosi propriile instrumente de stocare a datelor și de prezentare.
Mai convenabil ar fi pentru a rula aplicația, care va lua de la tine informațiile necesare și să îndeplinească toate acțiunile de rutină - rezervare de bilete, rezervare la hotel, etc. - în mod automat, fără intervenția dumneavoastră. Pentru a face posibil acest lucru, ar trebui să utilizați servicii web. Să ne uităm la ceea ce se va schimba în acest caz.
Web al companiei aeriene oferă-Presupunem că serviciu care permite aplicațiilor să regăsiți o listă a zborurilor între cele două orașe pentru data precizată. În acest caz, nu mai este nevoie pentru a contacta site-ul web al companiei aeriene și a specifica diferite criterii de căutare - toate informațiile necesare disponibile într-un singur fișier XML document. Acum, să presupunem că compania aeriană, hotel și agenție de închiriere de mașini furnizează servicii web care permit software-ul pentru a cumpăra bilete, rezerva camere de hotel și închirieri de mașini. În acest caz, puteți combina toate apelurile către aceste servicii într-o singură aplicație care poate efectua toate lucrările de rutină, fără intervenția utilizatorului.
Cu toate acestea, această opțiune este o nouă clasă de aplicații bazate pe web nu se termina aici. Aplicația noastră poate, de exemplu, accesul periodic companiile aeriene Web-service pentru a determina starea zborului în caz de întârziere notifică serviciile hoteliere, servicii de închiriere, etc. extinderea rezervei.
În afară de evident îmbunătăți utilizarea de servicii pentru clienți de servicii web are multe alte avantaje. De exemplu, în cazul în care o agenție de închiriere de mașini știe că zborul este întârziat, acesta poate fi mai flexibilă de a dispune de masinile lor. Pe măsură ce numărul de servicii web, vom putea vedea exemple mai complexe. Cu toate acestea, trebuie remarcat faptul că introducerea conceptului de servicii Web necesită nu numai o revizuire a multor reguli de afaceri și modele de interacțiune între industrii și sectoare ale unei industrii, dar, de asemenea, îmbunătăți securitatea schimbului de date.
Luând în considerare aplicarea practică a Web-servicii, ne întoarcem la standardele care stau la baza acestor servicii.
Standarde pentru servicii web
După cum știm deja, în serviciile bazate pe Web sunt Internet-standarde. Aceste standarde definesc protocoalele și nu modalitățile de punere în aplicare a acestora. O astfel de declarație este cheia succesului pe Internet - nici o singură companie nu poate influența Internet-standarde și să stabilească propriile reguli de joc. De exemplu, standardele de servicii Web dezvoltat în comun de către companii, cum ar fi IBM, Microsoft, Ariba, și unii pe alții, și au discutat Comitetul World Wide Web Consortium (W3C).
Web-servicii bazate pe trei Web-standarde principale:
- SOAP (Simple Object Access Protocol) - protocolul pentru a trimite mesaje prin HTTP și alte protocoale Internet-;
- WSDL (Web Services Description Language) - limbaj descrie interfețele software pentru servicii web;
- UDDI (Universal Description, Discovery și Integrare) - la standardul de indexare pentru servicii web.
Fig. 1 arată modul în care aceste trei interacționează standard, unele cu altele.
Serverele de aplicații sunt arhive de servicii web și de a le face disponibile prin protocolul HTTP GET, HTTP POST SOAP și HTTP.
În următoarele secțiuni ne vom uita la trei Web-standarde majore, care sunt bazate pe SOAP servicii web, WSDL și UDDI, mai în detaliu.
SOAP - Simple Object Access Protocol
SOAP - este standardul pentru trimiterea și primirea de mesaje pe Internet. Inițial, protocolul a fost propus de Microsoft ca mijloc de apel la distanță proceduri (RPC, Remote Procedure Call) prin HTTP, și specificarea SOAP 1.0 (Userland, Microsoft, Developmentor) a fost strâns asociat cu componenta Object Model. , IBM si alte companii, inclusiv Lotus, au contribuit la dezvoltarea protocolului și standardul său a fost trimis comisiei W3C.
Specificația SOAP defineste un XML «plic“ pentru transmiterea de mesaje, o metodă de codificare a structurilor de date de program în format XML, precum și mijloacele de comunicare prin HTTP.
SOAP-mesaje sunt de două tipuri: o cerere (cerere) și răspuns (răspuns). Cererea face ca metoda de obiect la distanță, răspunsul returnează rezultatul prezentei metode. Fig. 2 și 3 sunt exemple de cerere și de răspuns în format SOAP.
caietul de sarcini SOAP defineste un format de codificare, care, la rândul său, determină modul în care datele în format XML.
WSDL - Web Services Description Language
unele limbi au fost propuse pentru a descrie aceste informații. Unul dintre ei a fost limba Serviciului Descriere Language (SDL), dezvoltat de Microsoft și este inclusă în prima versiune a Microsoft SOAP Toolkit. IBM a refăcut caietul de sarcini și utilizând specificații de rețea Accesibil serviciu Specificații Limba (NASSL), a lansat NASSL Toolkit ca parte SOAP4J. Ideile puse în aplicare în NASSL, a influențat SOAP Contractul limbaj de specificare Language (SCL), propus de Microsoft. În prezent, cele două caietul de sarcini (NASSL și SDL / SCL), precum și propunerile altor companii au reprezentat în caietul de sarcini WSDL. Pentru o descriere a IBM și Microsoft logica de afaceri care rulează pe Web Services Flow Language limba (WSFL) caietul de sarcini.
Fig. 4 prezintă un serviciu de schelet descriere limbaj WSDL.
După cum vom vedea, descrierea serviciilor este un document XML format din mai multe elemente, inclusiv descrierea spațiului de nume (spațiul de nume), descrie tipurile și elementele, posturile, porturi, precum și posibile operații - cereri și răspunsuri.
Fișierul care conține descrierea serviciilor este destul de document cuprinzător, astfel încât să creeze ar trebui să fie posibilă utilizarea generatoarelor automate incluse în instrumentele de dezvoltare.
UDDI - Descriere universal, Discovery și Integrare
Sarcina UDDI - oferă un mecanism pentru detectarea Web-servicii. UDDI definește un registru de afaceri în care furnizorii de servicii Web pot înregistra servicii și dezvoltatori - să solicite serviciile de care au nevoie. , IBM, Microsoft și Ariba au creat propriile lor UDDI-registre (în curând la aceste registre vor fi integrate în Web-registru), unul dintre care dezvoltatorii pot înregistra Web-serviciile lor, după care datele vor fi replicate în mod automat în alte registre (Fig. 5 ).
Business Service - o clasă de servicii într-o anumită industrie sau servicii. Fiecare ramură aparține unui element particular al afacerii entității.
Împâslirea Template și tehnologie model definesc Web-service. Tehnologia Modelul conține o descriere abstractă, dar Legare Template - specificații de servicii specifice. Fiecare element al șablonului Legare aparține unui anumit element de Business Service, dar câteva elemente de legare șablon se poate referi la un element Technology model.
UDDI Registrul de afaceri este ea însăși o SOAP servicii web. Aceasta susține operațiile de creare, modificare, ștergere și regăsire a elementelor din toate cele patru tipuri discutate mai sus.
Instrumente de dezvoltare
Luând în considerare cele trei Web-standarde majore, care sunt bazate pe Web-servicii, - SOAP, WSDL, și UDDI, știm acum că acestea sunt suficient de complexe pentru a crea toate necesare pentru a descrie Web-service XML-documente. Acest lucru se face printr-o instrumente speciale de dezvoltare, care permite programatorilor să se concentreze pe logica de afaceri creat de către mai degrabă decât serviciul detaliile de nivel scăzut de la punerea sa în aplicare. Printre cele mai populare la instrumentele de dezvoltare prezent servicii web ar trebui să fie menționate Microsoft Toolkit SOAP și XML IBM și Servicii Web Development Environment (WSDE).
Mai jos ne uităm la un alt mod de a crea servicii web - Visual Studio.NET Microsoft, care va deveni în curând principalul instrument pentru dezvoltatorii crearea de soluții pentru platforma Microsoft .Net.
Web-servicii în Microsoft Visual Studio.NET
Pentru a crea un instrumente Web-service Microsoft Visual Studio.NET procedați în felul următor:
- Start Visual Studio.NET 7.0.
- Execută fișierul de comandă | nou | Proiect (sau selectați comanda Create New Project de pe pagina de start VS Prima pagină).
- Panoul de proiecte noi pentru a selecta Proiecte Visual Basic, în panoul Șabloane pentru a selecta Web service (fig. 6).
- Întrebați numele serviciului și apăsați OK.
Ca rezultat, vom obține un schelet de serviciu (a se vedea codul, apăsați pe butonul din dreapta al mouse-ului):
Microsoft Visual Studio.NET și de a crea SDL-fișier, care va conține o descriere a Web-serviciul nostru, și DISCO-fișier pentru a fi utilizat pentru servicii de înregistrare și de descoperire.
Ca un exemplu, creați un serviciu web care efectuează conversia valutară. implementarea metodei Usd2Rub - conversia sumei dolar sumei în ruble - este prezentată mai jos:
Ca rezultat, vom obține o pagină de test creat de Visual Studio.NET (fig. 7).
Această pagină conține o descriere a Web-servicii, precum și o listă a metodelor puse în aplicare în ea. De exemplu, descrierea metodei Usd2Rub prezentată în Fig. 8.
Prin tastarea în linia de intrare a oricărei sume și făcând clic pe butonul Invoke, vom apela serviciul Web, metoda noastră cu parametrii specificați și pentru a obține rezultatul următor, documentul XML:
Pentru a porni Web-serviciul aplicației trebuie să utilizați următoarea adresă URL:
Rețineți, de asemenea, că numele metodei este specificat după caracterul „/“ și setarea - ca opțiune codificată URL, șir obișnuit.
concluzie
In aceasta revizuire, ne-am uitat la servicii web - o noua tehnologie de integrare a aplicațiilor bazate pe Web. Am vorbit pe scurt despre istoria Web, familiarizat cu orientate spre servicii web, a discutat conceptul de standarde de servicii Web și descrierea lor. De asemenea, am introdus instrumente de dezvoltare servicii web și a considerat modul în care conceptul de servicii Web este susținută în Microsoft Visual Studio.NET.