XML Webdienste
Webdienste is webtoepassingskomponente.
Webdienste kan op die web gepubliseer, gevind en gebruik word.
Hierdie handleiding stel WSDL, SOAP, RDF en RSS bekend.
WSDL
- WSDL staan vir Web Services Description Language
- WSDL is 'n XML-gebaseerde taal vir die beskrywing van webdienste.
- WSDL is 'n W3C-aanbeveling
SEEP
- SOAP staan vir Simple Object Access Protocol
- SOAP is 'n XML-gebaseerde protokol vir toegang tot webdienste.
- SOAP is gebaseer op XML
- SOAP is 'n W3C-aanbeveling
RDF
- RDF staan vir Resource Description Framework
- RDF is 'n raamwerk vir die beskrywing van hulpbronne op die web
- RDF is in XML geskryf
- RDF is 'n W3C-aanbeveling
RSS
- RSS staan vir Really Simple Syndication
- RSS laat jou toe om jou webwerf-inhoud te sindikeer
- RSS definieer 'n maklike manier om opskrifte en inhoud te deel en te sien
- RSS-lêers kan outomaties opgedateer word
- RSS laat gepersonaliseerde sienings vir verskillende werwe toe
- RSS is in XML geskryf
Wat jy reeds behoort te weet
Voordat jy webdienste bestudeer, moet jy 'n basiese begrip van XML en XML Naamruimtes hê.
As jy eers hierdie vakke wil bestudeer, lees asseblief ons XML-tutoriaal .
Webdienste
- Webdienste is toepassingskomponente
- Webdienste kommunikeer deur oop protokolle te gebruik
- Webdienste is selfstandig en selfbeskrywend
- Webdienste kan met UDDI ontdek word
- Webdienste kan deur ander toepassings gebruik word
- HTTP en XML is die basis vir webdienste
Interoperabiliteit het die hoogste prioriteit
Wanneer alle groot platforms toegang tot die web kon kry met behulp van webblaaiers, kon verskillende platforms nie interaksie hê nie. Vir hierdie platforms om saam te werk, is webtoepassings ontwikkel.
Webtoepassings is bloot toepassings wat op die web loop. Dit is gebou rondom die webblaaierstandaarde en kan deur enige blaaier op enige platform gebruik word.
Webdienste neem webtoepassings na die volgende vlak
Deur Webdienste te gebruik, kan jou toepassing sy funksie of boodskap aan die res van die wêreld publiseer.
Webdienste gebruik XML om data te kodeer en te dekodeer, en SOAP om dit te vervoer (met oop protokolle).
Met Webdienste kan jou rekeningkundige afdeling se Win 2k-bediener se faktuurstelsel met jou IT-verskaffer se UNIX-bediener koppel.
Webdienste het twee tipes gebruike
Herbruikbare toepassingskomponente.
Daar is dinge wat toepassings baie dikwels nodig het. So hoekom maak dit oor en oor?
Webdienste kan toepassingskomponente soos: valutaomskakeling, weerverslae of selfs taalvertaling as dienste aanbied.
Koppel bestaande sagteware.
Webdienste kan help om die interoperabiliteitsprobleem op te los deur verskillende toepassings 'n manier te gee om hul data te koppel.
Met Webdienste kan jy data tussen verskillende toepassings en verskillende platforms uitruil.
Enige toepassing kan 'n Webdiens-komponent hê.
Webdienste kan geskep word ongeag die programmeertaal.
'n Webdiensvoorbeeld
In die volgende voorbeeld sal ons ASP.NET gebruik om 'n eenvoudige webdiens te skep wat die temperatuur van Fahrenheit na Celsius omskakel, en omgekeerd:
<%@ 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
Hierdie dokument word as 'n .asmx-lêer gestoor. Dit is die ASP.NET-lêeruitbreiding vir XML Web Services.
Voorbeeld Verduidelik
Let wel: Om hierdie voorbeeld te laat loop, sal jy 'n .NET-bediener nodig hê.
Die eerste reël in die voorbeeld sê dat dit 'n webdiens is, geskryf in VBScript, en het die klasnaam "TempConvert":
<%@ WebService Language="VBScript" Class="TempConvert" %>
Die volgende reëls voer die naamruimte "System.Web.Services" vanaf die .NET-raamwerk in:
Imports System
Imports System.Web.Services
Die volgende reël definieer dat die "TempConvert"-klas 'n WebService-klastipe is:
Public Class TempConvert :Inherits WebService
Die volgende stappe is basiese VB-programmering. Hierdie toepassing het twee funksies. Een om van Fahrenheit na Celsius om te skakel, en een om van Celsius na Fahrenheit om te skakel.
Die enigste verskil van 'n normale toepassing is dat hierdie funksie gedefinieer word as 'n "WebMethod()".
Gebruik "WebMethod()" om die funksies in jou toepassing in webdienste om te skakel:
<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
Sluit dan die klas af:
end class
Publiseer die .asmx-lêer op 'n bediener met .NET-ondersteuning, en jy sal jou eerste werkende webdiens hê.
Plaas die webdiens op u webwerf
Deur 'n vorm en die HTTP POST-metode te gebruik, kan u die webdiens soos volg op u webwerf plaas:
Hoe om dit te doen
Hier is die kode om die webdiens by 'n webblad te voeg:
<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 die "tempconvert.asmx" met die adres van jou webdiens soos:
http://www.example.com/xml/tempconvert.asmx