XML -Webdienste
Webservices sind Webanwendungskomponenten.
Webdienste können im Web veröffentlicht, gefunden und verwendet werden.
Dieses Tutorial stellt WSDL, SOAP, RDF und RSS vor.
WSDL
- WSDL steht für Web Services Description Language
- WSDL ist eine XML-basierte Sprache zur Beschreibung von Webdiensten.
- WSDL ist eine W3C-Empfehlung
SEIFE
- SOAP steht für Simple Object Access Protocol
- SOAP ist ein XML-basiertes Protokoll für den Zugriff auf Webdienste.
- SOAP basiert auf XML
- SOAP ist eine W3C-Empfehlung
RDF
- RDF steht für Resource Description Framework
- RDF ist ein Framework zur Beschreibung von Ressourcen im Web
- RDF ist in XML geschrieben
- RDF ist eine W3C-Empfehlung
RSS
- RSS steht für Really Simple Syndication
- Mit RSS können Sie den Inhalt Ihrer Website syndizieren
- RSS definiert eine einfache Möglichkeit, Schlagzeilen und Inhalte zu teilen und anzuzeigen
- RSS-Dateien können automatisch aktualisiert werden
- RSS ermöglicht personalisierte Ansichten für verschiedene Websites
- RSS ist in XML geschrieben
was du bereits wissen solltest
Bevor Sie sich mit Webdiensten befassen, sollten Sie ein grundlegendes Verständnis von XML und XML-Namespaces haben.
Wenn Sie diese Themen zuerst studieren möchten, lesen Sie bitte unser XML-Tutorial .
Internetdienste
- Webservices sind Anwendungskomponenten
- Webdienste kommunizieren über offene Protokolle
- Webservices sind in sich abgeschlossen und selbstbeschreibend
- Webdienste können mit UDDI erkannt werden
- Webdienste können von anderen Anwendungen verwendet werden
- HTTP und XML bilden die Basis für Webservices
Interoperabilität hat höchste Priorität
Als alle wichtigen Plattformen über Webbrowser auf das Web zugreifen konnten, konnten verschiedene Plattformen nicht interagieren. Damit diese Plattformen zusammenarbeiten können, wurden Web-Anwendungen entwickelt.
Webanwendungen sind einfach Anwendungen, die im Web ausgeführt werden. Diese basieren auf den Webbrowser-Standards und können von jedem Browser auf jeder Plattform verwendet werden.
Web Services bringen Web-Anwendungen auf die nächste Stufe
Durch die Verwendung von Webdiensten kann Ihre Anwendung ihre Funktion oder Nachricht für den Rest der Welt veröffentlichen.
Webdienste verwenden XML zum Codieren und Decodieren von Daten und SOAP zum Transportieren (unter Verwendung offener Protokolle).
Mit Webdiensten kann sich das Abrechnungssystem des Win 2k-Servers Ihrer Buchhaltungsabteilung mit dem UNIX-Server Ihres IT-Lieferanten verbinden.
Webdienste haben zwei Arten von Verwendungen
Wiederverwendbare Anwendungskomponenten.
Es gibt Dinge, die Anwendungen sehr oft brauchen. Warum also diese immer und immer wieder machen?
Webdienste können Anwendungskomponenten wie Währungsumrechnung, Wetterberichte oder sogar Sprachübersetzungen als Dienste anbieten.
Vorhandene Software anbinden.
Webdienste können helfen, das Interoperabilitätsproblem zu lösen, indem sie verschiedenen Anwendungen eine Möglichkeit geben, ihre Daten zu verknüpfen.
Mit Webservices können Sie Daten zwischen verschiedenen Anwendungen und verschiedenen Plattformen austauschen.
Jede Anwendung kann eine Webdienstkomponente haben.
Web Services können unabhängig von der Programmiersprache erstellt werden.
Ein Webdienst-Beispiel
Im folgenden Beispiel verwenden wir ASP.NET, um einen einfachen Webdienst zu erstellen, der die Temperatur von Fahrenheit in Celsius und umgekehrt umwandelt:
<%@ 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
Dieses Dokument wird als ASMX-Datei gespeichert. Dies ist die ASP.NET-Dateierweiterung für XML-Webdienste.
Beispiel erklärt
Hinweis: Um dieses Beispiel auszuführen, benötigen Sie einen .NET-Server.
Die erste Zeile im Beispiel besagt, dass es sich um einen Webdienst handelt, der in VBScript geschrieben ist und den Klassennamen „TempConvert“ hat:
<%@ WebService Language="VBScript" Class="TempConvert" %>
Die nächsten Zeilen importieren den Namespace „System.Web.Services“ aus dem .NET-Framework:
Imports System
Imports System.Web.Services
Die nächste Zeile definiert, dass die Klasse "TempConvert" ein WebService-Klassentyp ist:
Public Class TempConvert :Inherits WebService
Die nächsten Schritte sind die grundlegende VB-Programmierung. Diese Anwendung hat zwei Funktionen. Eine zur Umrechnung von Fahrenheit in Celsius und eine zur Umrechnung von Celsius in Fahrenheit.
Der einzige Unterschied zu einer normalen Anwendung besteht darin, dass diese Funktion als "WebMethod()" definiert ist.
Verwenden Sie "WebMethod()", um die Funktionen in Ihrer Anwendung in Webdienste umzuwandeln:
<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
Beenden Sie dann die Klasse:
end class
Veröffentlichen Sie die .asmx-Datei auf einem Server mit .NET-Unterstützung, und Sie haben Ihren ersten funktionierenden Webdienst.
Platzieren Sie den Webdienst auf Ihrer Website
Mit einem Formular und der HTTP-POST-Methode können Sie den Webdienst wie folgt auf Ihrer Website platzieren:
Wie es geht
Hier ist der Code zum Hinzufügen des Webdienstes zu einer Webseite:
<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>
Ersetzen Sie "tempconvert.asmx" durch die Adresse Ihres Webdienstes wie:
http://www.example.com/xml/tempconvert.asmx