Services Web XML
Les services Web sont des composants d'application Web.
Les services Web peuvent être publiés, trouvés et utilisés sur le Web.
Ce didacticiel présente WSDL, SOAP, RDF et RSS.
WSDLName
- WSDL signifie Web Services Description Language
- WSDL est un langage basé sur XML pour décrire les services Web.
- WSDL est une recommandation du W3C
SAVON
- SOAP signifie Simple Object Access Protocol
- SOAP est un protocole basé sur XML pour accéder aux services Web.
- SOAP est basé sur XML
- SOAP est une recommandation du W3C
RDF
- RDF signifie Ressource Description Framework
- RDF est un framework pour décrire des ressources sur le web
- RDF est écrit en XML
- RDF est une recommandation du W3C
RSS
- RSS signifie Really Simple Syndication
- RSS vous permet de syndiquer le contenu de votre site
- RSS définit un moyen simple de partager et d'afficher les titres et le contenu
- Les fichiers RSS peuvent être automatiquement mis à jour
- RSS permet des vues personnalisées pour différents sites
- RSS est écrit en XML
Ce que vous devez déjà savoir
Avant d'étudier les services Web, vous devez avoir une compréhension de base de XML et des espaces de noms XML.
Si vous souhaitez d'abord étudier ces sujets, veuillez lire notre Tutoriel XML .
Services Web
- Les services Web sont des composants d'application
- Les services Web communiquent à l'aide de protocoles ouverts
- Les services Web sont autonomes et auto-descriptifs
- Les services Web peuvent être découverts à l'aide d'UDDI
- Les services Web peuvent être utilisés par d'autres applications
- HTTP et XML sont la base des services Web
L'interopérabilité a la plus haute priorité
Lorsque toutes les principales plates-formes pouvaient accéder au Web à l'aide de navigateurs Web, les différentes plates-formes ne pouvaient pas interagir. Pour que ces plateformes fonctionnent ensemble, des applications Web ont été développées.
Les applications Web sont simplement des applications qui s'exécutent sur le Web. Ceux-ci sont construits autour des normes du navigateur Web et peuvent être utilisés par n'importe quel navigateur sur n'importe quelle plate-forme.
Les services Web font passer les applications Web au niveau supérieur
En utilisant les services Web, votre application peut publier sa fonction ou son message au reste du monde.
Les services Web utilisent XML pour coder et décoder les données, et SOAP pour les transporter (en utilisant des protocoles ouverts).
Avec les services Web, le système de facturation du serveur Win 2k de votre service comptable peut se connecter au serveur UNIX de votre fournisseur informatique.
Les services Web ont deux types d'utilisations
Composants d'application réutilisables.
Il y a des choses dont les applications ont très souvent besoin. Alors pourquoi les refaire encore et encore ?
Les services Web peuvent proposer des composants d'application tels que : la conversion de devises, les bulletins météorologiques ou même la traduction de langues en tant que services.
Connectez le logiciel existant.
Les services Web peuvent aider à résoudre le problème d'interopérabilité en donnant à différentes applications un moyen de lier leurs données.
Avec les services Web, vous pouvez échanger des données entre différentes applications et différentes plates-formes.
Toute application peut avoir un composant Web Service.
Les services Web peuvent être créés quel que soit le langage de programmation.
Un exemple de service Web
Dans l'exemple suivant, nous utiliserons ASP.NET pour créer un service Web simple qui convertit la température de Fahrenheit en Celsius, et 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
Ce document est enregistré en tant que fichier .asmx. Il s'agit de l'extension de fichier ASP.NET pour les services Web XML.
Exemple expliqué
Remarque : Pour exécuter cet exemple, vous aurez besoin d'un serveur .NET.
La première ligne de l'exemple indique qu'il s'agit d'un service Web, écrit en VBScript, et porte le nom de classe "TempConvert":
<%@ WebService Language="VBScript" Class="TempConvert" %>
Les lignes suivantes importent l'espace de noms "System.Web.Services" du framework .NET :
Imports System
Imports System.Web.Services
La ligne suivante définit que la classe "TempConvert" est un type de classe WebService :
Public Class TempConvert :Inherits WebService
Les prochaines étapes sont la programmation VB de base. Cette application a deux fonctions. Un pour convertir de Fahrenheit en Celsius, et un pour convertir de Celsius en Fahrenheit.
La seule différence avec une application normale est que cette fonction est définie comme une "WebMethod()".
Utilisez "WebMethod()" pour convertir les fonctions de votre application en services 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
Ensuite, terminez le cours :
end class
Publiez le fichier .asmx sur un serveur prenant en charge .NET et vous disposerez de votre premier service Web fonctionnel.
Mettez le service Web sur votre site Web
A l'aide d'un formulaire et de la méthode HTTP POST, vous pouvez mettre le service web sur votre site, comme ceci :
Comment faire
Voici le code pour ajouter le Web Service à une page 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>
Remplacez le "tempconvert.asmx" par l'adresse de votre service Web comme :
http://www.example.com/xml/tempconvert.asmx