Ultimele tutoriale de dezvoltare web
 

XML Servicii Web


Servicii Web sunt componente de aplicații web.

Servicii Web pot fi publicate, găsit, și utilizate pe Web.

Acest tutorial introduce WSDL, SOAP, RDF, și RSS.


WSDL

  • WSDL înseamnă Web Services Description Language
  • WSDL este un limbaj bazat pe XML pentru a descrie serviciile Web.
  • WSDL este o recomandare W3C

SĂPUN

  • SOAP înseamnă Simple Object Access Protocol
  • SOAP este un protocol bazat pe XML pentru accesarea Web Services.
  • SOAP este bazat pe XML
  • SOAP este o recomandare W3C

RDF

  • RDF reprezintă Resource Description Framework
  • RDF este un cadru pentru descrierea resurselor pe web
  • RDF este scris în XML
  • RDF este o recomandare W3C

RSS

  • RSS standuri pentru Really Simple Syndication
  • RSS vă permite să distribuiți conținutul site-ului dvs.
  • RSS definește o modalitate ușoară de a partaja și vizualiza titluri și conținut
  • Fișierele RSS pot fi actualizate automat
  • RSS permite vederi personalizate pentru diferite site-uri
  • RSS este scris în XML

Ce trebuie să știți deja

Înainte de a studia servicii web ar trebui să aibă o înțelegere de bază de XML și XML Namespaces.

Dacă doriți să studieze aceste subiecte în primul rând, vă rugăm să citiți Tutorial XML .


Servicii web

  • Servicii Web sunt componente de aplicații
  • Servicii Web folosind protocoale deschise comunica
  • Serviciile Web sunt autonome și auto-descrie
  • Serviciile Web pot fi descoperite cu ajutorul UDDI
  • Servicii Web pot fi utilizate de către alte aplicații
  • HTTP și XML este baza pentru servicii Web

Interoperabilitatea are Cea mai mare prioritate

Atunci când toate platformele majore ar putea accesa Web folosind browsere web, platforme diferite nu au putut interacționa. Pentru aceste platforme să lucreze împreună, au fost dezvoltate Web-aplicații.

Web-aplicații sunt pur și simplu aplicații care rulează pe web. Acestea sunt construite în jurul standardelor de browser web și poate fi utilizat de către orice browser pe orice platformă.


Web Services ia Web-aplicații la nivelul următor

Prin utilizarea serviciilor Web, aplicația poate publica funcția sau mesajul său către restul lumii.

Servicii Web folosesc XML pentru cod și să decodeze date, si SOAP pentru a transporta (using open protocols) .

Cu serviciile Web, sistemul de facturare departamentul de contabilitate a lui Win 2k Server se poate conecta cu serverul UNIX furnizorul IT.


Serviciile Web au două tipuri de utilizări

Reusable application-components.

Sunt lucruri aplicații au nevoie de foarte multe ori. Deci, de ce face aceste peste si peste din nou?

Servicii Web pot oferi aplicatii-componente cum ar fi: conversia valutară, rapoarte meteo, sau chiar traducerea limbajului ca servicii.

Connect existing software.

Servicii Web pot ajuta pentru a rezolva problema interoperabilității prin acordarea diferitelor aplicații o modalitate de a lega datele lor.

Cu serviciile web pe care le pot face schimb de date între diferite aplicații și platforme diferite.

Orice aplicație poate avea o componentă de servicii Web.

Serviciile Web pot fi create indiferent de limbaj de programare.


Un Exemplu Web Service

În exemplul următor vom folosi ASP.NET pentru a crea un simplu serviciu Web care convertește temperatura de la grade Fahrenheit în grade Celsius, și vice-versa:

<%@ WebService Language="VBScript" Class="TempConvert" %>

Imports System
Imports System.Web.Services

Public Class TempConvert :Inherits WebService

<WebMethod()> Public Function FahrenheitToCelsius
(ByVal Fahrenheit As String) As String
  dim fahr
  fahr=trim(replace(Fahrenheit,",","."))
  if fahr="" or IsNumeric(fahr)=false then return "Error"
  return ((((fahr) - 32) / 9) * 5)
end function

<WebMethod()> Public Function CelsiusToFahrenheit
(ByVal Celsius As String) As String
  dim cel
  cel=trim(replace(Celsius,",","."))
  if cel="" or IsNumeric(cel)=false then return "Error"
  return ((((cel) * 9) / 5) + 32)
end function

end class

Acest document este salvat ca un fișier .asmx. Aceasta este extensia de fișier ASP.NET pentru XML Web Services.


exemplu explicat

Note: Pentru a rula acest exemplu, veți avea nevoie de un server .NET.

Prima linie din exemplul afirmă că acesta este un serviciu web, scris în VBScript, și are numele clasei "TempConvert" :

<%@ WebService Language="VBScript" Class="TempConvert" %>

Următoarele linii de import spațiul de nume "System.Web.Services" din cadrul .NET:

Imports System
Imports System.Web.Services

Linia următoare definește ca "TempConvert" clasa este un tip de clasa WebService:

Public Class TempConvert :Inherits WebService

Următorii pași sunt de bază de programare VB. Această aplicație are două funcții. Unul se convertesc la Fahrenheit în grade Celsius, și unul pentru a converti din grade Celsius Fahrenheit.

Singura diferență față de o aplicație normală este că această funcție este definită ca o " WebMethod() “.

Utilizați " WebMethod() “ pentru a converti funcțiile în aplicația în servicii web:

<WebMethod()> Public Function FahrenheitToCelsius
(ByVal Fahrenheit As String) As String
  dim fahr
  fahr=trim(replace(Fahrenheit,",","."))
  if fahr="" or IsNumeric(fahr)=false then return "Error"
  return ((((fahr) - 32) / 9) * 5)
end function

<WebMethod()> Public Function CelsiusToFahrenheit
(ByVal Celsius As String) As String
  dim cel
  cel=trim(replace(Celsius,",","."))
  if cel="" or IsNumeric(cel)=false then return "Error"
  return ((((cel) * 9) / 5) + 32)
end function

Apoi, termina clasa:

end class

Publicarea fișierul .asmx pe un server cu suport .NET, și veți avea primul lucru Web Service.

Uită - te la nostru exemplu Web Service


ASP.NET automatizează procesul

Cu ASP.NET, nu trebuie să scrie propriile documente WSDL și SOAP.

Dacă te uiți mai atent exemplu Serviciul nostru Web, veți vedea că ASP.NET a creat automat un WSDL și SOAP cerere.

Folosind exemplul Web Service

În pagina anterioară am creat un serviciu Web .

FahrenheitToCelsius() Funcția poate fi testată aici: FahrenheitToCelsius

CelsiusToFahrenheit() Funcția poate fi testată aici: CelsiusToFahrenheit

Aceste funcții vor trimite un răspuns XML ca aceasta:

<?xml version="1.0" encoding="utf-8" ?>
<string xmlns="http://tempuri.org/">38</string>

Pune Serviciul Web de pe site-ul dvs.

Folosind o formă și metoda HTTP POST, puteți pune serviciul web de pe site-ul dvs., cum ar fi acest lucru:

Fahrenheit în grade Celsius:

Celsius Fahrenheit:

Cum să o facă

Aici este codul pentru a adăuga serviciul Web la o pagină web:

<form action='tempconvert.asmx/FahrenheitToCelsius'
method="post" target="_blank">
<table>
  <tr>
    <td>Fahrenheit to Celsius:</td>
    <td>
    <input class="frmInput" type="text" size="30" name="Fahrenheit">
    </td>
  </tr>
  <tr>
    <td></td>
    <td align="right">
     <input type="submit" value="Submit" class="button">
     </td>
  </tr>
</table>
</form>

<form action='tempconvert.asmx/CelsiusToFahrenheit'
method="post" target="_blank">
<table>
  <tr>
    <td>Celsius to Fahrenheit:</td>
    <td>
    <input class="frmInput" type="text" size="30" name="Celsius">
    </td>
  </tr>
  <tr>
    <td></td>
    <td align="right">
    <input type="submit" value="Submit" class="button">
    </td>
  </tr>
</table>
</form>

Substituie "tempconvert.asmx" cu adresa serviciului dvs. de web cum ar fi:

http://www.example.com/xml/tempconvert.asmx