XML- webservices
Webservices zijn componenten van webapplicaties.
Webservices kunnen op het web worden gepubliceerd, gevonden en gebruikt.
Deze tutorial introduceert WSDL, SOAP, RDF en RSS.
WSDL
- WSDL staat voor Web Services Description Language
- WSDL is een op XML gebaseerde taal voor het beschrijven van webservices.
- WSDL is een W3C-aanbeveling
ZEEP
- SOAP staat voor Simple Object Access Protocol
- SOAP is een op XML gebaseerd protocol voor toegang tot webservices.
- SOAP is gebaseerd op XML
- SOAP is een W3C-aanbeveling
RDF
- RDF staat voor Resource Description Framework
- RDF is een raamwerk voor het beschrijven van bronnen op het web
- RDF is geschreven in XML
- RDF is een W3C-aanbeveling
RSS
- RSS staat voor Really Simple Syndication
- Met RSS kunt u de inhoud van uw site syndiceren
- RSS definieert een gemakkelijke manier om koppen en inhoud te delen en te bekijken
- RSS-bestanden kunnen automatisch worden bijgewerkt
- RSS maakt gepersonaliseerde weergaven voor verschillende sites mogelijk
- RSS is geschreven in XML
Wat u al moet weten
Voordat u webservices bestudeert, moet u een basiskennis hebben van XML en XML-naamruimten.
Als je deze onderwerpen eerst wilt bestuderen, lees dan onze XML Tutorial .
Webservices
- Webservices zijn applicatiecomponenten
- Webservices communiceren via open protocollen
- Webservices zijn op zichzelf staand en beschrijven zichzelf
- Webservices kunnen worden ontdekt met UDDI
- Webservices kunnen door andere toepassingen worden gebruikt
- HTTP en XML vormen de basis voor webservices
Interoperabiliteit heeft de hoogste prioriteit
Toen alle grote platforms toegang hadden tot het web met webbrowsers, konden verschillende platforms niet met elkaar communiceren. Om deze platforms met elkaar te laten samenwerken, zijn webapplicaties ontwikkeld.
Web-applicaties zijn gewoon applicaties die op het web draaien. Deze zijn gebouwd rond de webbrowserstandaarden en kunnen door elke browser op elk platform worden gebruikt.
Webservices brengen webapplicaties naar een hoger niveau
Door gebruik te maken van webservices kan uw applicatie zijn functie of bericht naar de rest van de wereld publiceren.
Webservices gebruiken XML om gegevens te coderen en te decoderen, en SOAP om deze te transporteren (met behulp van open protocollen).
Met webservices kan het facturatiesysteem van de Win 2k-server van uw boekhoudafdeling verbinding maken met de UNIX-server van uw IT-leverancier.
Webservices hebben twee soorten gebruik
Herbruikbare applicatiecomponenten.
Er zijn dingen die applicaties heel vaak nodig hebben. Dus waarom deze keer op keer maken?
Webservices kunnen applicatiecomponenten bieden zoals: valutaconversie, weerberichten of zelfs taalvertaling als services.
Sluit bestaande software aan.
Webservices kunnen het interoperabiliteitsprobleem helpen oplossen door verschillende applicaties een manier te geven om hun gegevens te koppelen.
Met webservices kun je gegevens uitwisselen tussen verschillende applicaties en verschillende platformen.
Elke toepassing kan een webservicecomponent hebben.
Webservices kunnen ongeacht de programmeertaal worden gemaakt.
Een voorbeeld van een webservice
In het volgende voorbeeld gebruiken we ASP.NET om een eenvoudige webservice te maken die de temperatuur converteert van Fahrenheit naar Celsius en 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
Dit document wordt opgeslagen als een .asmx-bestand. Dit is de ASP.NET-bestandsextensie voor XML Web Services.
Voorbeeld uitgelegd
Opmerking: om dit voorbeeld uit te voeren, hebt u een .NET-server nodig.
De eerste regel in het voorbeeld geeft aan dat dit een webservice is, geschreven in VBScript, en de klassenaam "TempConvert" heeft:
<%@ WebService Language="VBScript" Class="TempConvert" %>
De volgende regels importeren de naamruimte "System.Web.Services" uit het .NET-framework:
Imports System
Imports System.Web.Services
De volgende regel definieert dat de klasse "TempConvert" een klassetype WebService is:
Public Class TempConvert :Inherits WebService
De volgende stappen zijn basis VB-programmering. Deze applicatie heeft twee functies. Een om van Fahrenheit naar Celsius te converteren en een om van Celsius naar Fahrenheit te converteren.
Het enige verschil met een normale applicatie is dat deze functie is gedefinieerd als een "WebMethod()".
Gebruik "WebMethod()" om de functies in uw applicatie om te zetten in webservices:
<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
Beëindig dan de les:
end class
Publiceer het .asmx-bestand op een server met .NET-ondersteuning en u heeft uw eerste werkende webservice.
Zet de webservice op uw website
Met behulp van een formulier en de HTTP POST-methode kunt u de webservice als volgt op uw site plaatsen:
Hoe je dat doet
Hier is de code om de webservice aan een webpagina toe te voegen:
<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>
Vervang "tempconvert.asmx" door het adres van uw webservice, zoals:
http://www.voorbeeld.com/xml/tempconvert.asmx