Webdienst: Unterschied zwischen den Versionen
Michi (Diskussion | Beiträge) |
Michi (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
Ein <b> | Ein <b>Webdienst</b> (engl. webservice; auch: Netzwerkdienst) ist eine Software-Anwendung, welche eine Schnittstelle für die Maschine-zu-Maschine- oder Anwendungs-Kommunikation über Rechnernetze wie das [[Internet]] zur Verfügung stellt. Dabei werden Daten ausgetauscht und auf entfernten Rechnern bzw. den darauf laufenden Servern Funktionen aufgerufen. Jeder Webdienst besitzt einen [[Uniform Resource Identifier]], über den er eindeutig identifizierbar ist. Ausserdem enthält er je nach Implementierung eine Schnittstellenbeschreibung in maschinenlesbarem Format, welche festlegt, wie mit dem Webdienst zu interagieren ist, z. B. [[WSDL]] im XML-Format. Die Kommunikation kann über Protokolle aus dem Internetkontext (z. B. [[HTTP]] oder [[HTTPS]]) erfolgen. Über diese Protokolle können Daten beispielsweise in den Formaten [[XML]] oder [[JSON]] übertragen werden. Ein Webdienst ist plattformunabhängig und steht in der Regel mehreren Programmen zum Aufrufen bereit. | ||
== Einführung == | == Einführung == | ||
Zeile 45: | Zeile 43: | ||
Mit [[XML]], [[SOAP]], [[HTTP]] und [[WSDL]] stehen gleich mehrere Protokolle, Normen und Verfahren bereit, um Entwicklern und Anwendern den Weg zu Webservices zu erleichtern - intern betrachtet sind dabei hauptsächlich XML und HTTP wichtig. SOAP und WSDL sind XML, und dass als Transportprotokoll meist HTTP zum Einsatz kommt, erleichert die Programmierung ungemein. SOAP ist nicht zwingend mit HTTP verknüpft, stattdessen können auch [[HTTPS]] und [[SMTP]] auftreten. Grundsätzlich schreibt der Standard überhaupt kein Protokoll vor - es muss nur in der Lage sein, XML-Daten zu übertragen. | Mit [[XML]], [[SOAP]], [[HTTP]] und [[WSDL]] stehen gleich mehrere Protokolle, Normen und Verfahren bereit, um Entwicklern und Anwendern den Weg zu Webservices zu erleichtern - intern betrachtet sind dabei hauptsächlich XML und HTTP wichtig. SOAP und WSDL sind XML, und dass als Transportprotokoll meist HTTP zum Einsatz kommt, erleichert die Programmierung ungemein. SOAP ist nicht zwingend mit HTTP verknüpft, stattdessen können auch [[HTTPS]] und [[SMTP]] auftreten. Grundsätzlich schreibt der Standard überhaupt kein Protokoll vor - es muss nur in der Lage sein, XML-Daten zu übertragen. | ||
{| class= | {| class=wiki | ||
| Ausführung || PHP-Programm | | Ausführung || PHP-Programm | ||
|- | |- | ||
Zeile 57: | Zeile 55: | ||
== Weblinks == | == Weblinks == | ||
{{ | {{Weblinks}} | ||
}} | {{url_dewikipedia|Webservice|Webservice}} | ||
{{Fuss}} | |||
{{cat| | {{cat|Hypertext Transfer Protocol}} | ||
{{cat|Webservice}} | {{cat|Webservice}} | ||
{{cat|XML}} | {{cat|XML}} |
Aktuelle Version vom 17. August 2021, 18:05 Uhr
Ein Webdienst (engl. webservice; auch: Netzwerkdienst) ist eine Software-Anwendung, welche eine Schnittstelle für die Maschine-zu-Maschine- oder Anwendungs-Kommunikation über Rechnernetze wie das Internet zur Verfügung stellt. Dabei werden Daten ausgetauscht und auf entfernten Rechnern bzw. den darauf laufenden Servern Funktionen aufgerufen. Jeder Webdienst besitzt einen Uniform Resource Identifier, über den er eindeutig identifizierbar ist. Ausserdem enthält er je nach Implementierung eine Schnittstellenbeschreibung in maschinenlesbarem Format, welche festlegt, wie mit dem Webdienst zu interagieren ist, z. B. WSDL im XML-Format. Die Kommunikation kann über Protokolle aus dem Internetkontext (z. B. HTTP oder HTTPS) erfolgen. Über diese Protokolle können Daten beispielsweise in den Formaten XML oder JSON übertragen werden. Ein Webdienst ist plattformunabhängig und steht in der Regel mehreren Programmen zum Aufrufen bereit.
Einführung
Übertragen werden besondere XML-Daten, die nach SOAP kodiert sind. Letztlich stecken SOAP-Nachrichten im Körper einer HTTP-Nachricht - es gehört aber mehr dazu, als einen URL aufzurufen. Der Client muss SOAP-Nachrichten erzeugen und die Antworten verarbeiten können. SOAP dient hauptsächlich der Server-Server-Kommunikation, wobei einer der Server die Kommunikation als Client beginnt. Das erschwert anfänglich das Verständnis und die Suche nach Einsatzgebieten, denn das heutige WWW ist fast ausschliesslich Webbrowser-zentriert.
Die folgende Auflistung zeigt, wie diese Kommunikation praktisch aussieht. Zu sehen ist der Körper der SOAP-Nachricht, der sogenannte "SOAP-Envelope". Die Antwort ist ähnlich strukturiert. Da SOAP auf XML basiert, ist die Auswertung mit XML-Werkzeugen recht einfach.
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:si="http://soapinterop.org/xsd"
xmlns:ns6="urn:GoogleSearch"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<ns6:doGoogleSearch>
<key xsi:type="xsd:string">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</key>
<q xsi:type="xsd:string">site:php.comzept.de XML</q>
<start xsi:type="xsd:int">0</start>
<maxresults xsi:type="xsd:int">5</maxresults>
<filter xsi:type="xsd:boolean">false</filter>
<restrict xsi:type="xsd:string"></restrict>
<safeSearch xsi:type="xsd:boolean">false</safeSearch>
<lr xsi:type="xsd:string"></lr>
<ie xsi:type="xsd:string"></ie>
<oe xsi:type="xsd:string"></oe>
</ns6:doGoogleSearch>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
|
Die Kommunikation zwischen dem Webservice-Anbieter und dem Client (auch: Consumer) findet auf Serverebene statt. Es geht also nicht darum, Benutzern einen Webservice zur Verfügung zu stellen, sondern bestenfalls darum, diesen die Leistungen über eine Weboberfläche zugänglich zu machen. Aber auch das ist die Ausnahme.
Die Kommunikation wird durch die zugrunde liegenden Technologien (XML, SOAP, HTTP, WSDL usw.) so billig und einfach, dass sie in der Breite zur Anwendung kommen können. Früher gab es zwar auch schon Serverkommunikation, beschränkte sich aber auf wenige Anwendungen. Denkbar sind vor allem Partnernetzwerke, von der Bannerschaltung über einen gemeinsamen Ad-Server bis hin zu den beliebten Webringen. Gleichgültig, ob Artikel verkauft oder Subunternehmer gesucht oder als Sammelshop auf mehrere Lieferanten zugegriffen werden sollen, Webservices sind die ideale Kommunikationslösung.
Websites können ausserdem einen Aktualisierungsdienst anbieten, der auf Anfrage (eines anderen Servers) alle geänderten, gelöschten oder hinzugefügten Links zu einem vereinbarten Thema liefert. Eine intelligente Linkliste reorganisiert sich dann selbständig. Auf demselben Wege lassen sich auch Nachrichten des Tages oder Sportergebnisse liefern.
Mit XML, SOAP, HTTP und WSDL stehen gleich mehrere Protokolle, Normen und Verfahren bereit, um Entwicklern und Anwendern den Weg zu Webservices zu erleichtern - intern betrachtet sind dabei hauptsächlich XML und HTTP wichtig. SOAP und WSDL sind XML, und dass als Transportprotokoll meist HTTP zum Einsatz kommt, erleichert die Programmierung ungemein. SOAP ist nicht zwingend mit HTTP verknüpft, stattdessen können auch HTTPS und SMTP auftreten. Grundsätzlich schreibt der Standard überhaupt kein Protokoll vor - es muss nur in der Lage sein, XML-Daten zu übertragen.
Ausführung | PHP-Programm |
Funktionsaufruf | SOAP |
Transport | HTTP, HTTPS, SMTP |
Die Verwendung eines Webservice, allgemein als "konsumieren" bezeichnet, setzt die Kenntnis einer URL voraus, unter welcher der Dienst erreicht werden kann bzw. unter der weitere Informationen darüber zu finden sind.
Weblinks
Herausgeber | Sprache | Webseitentitel | Anmerkungen |
---|---|---|---|
Wikipedia | ger | Webservicewbm | Enzyklopädischer Artikel |