www.wikidata.de-de.nina.az
Dieser Artikel behandelt Anwendungen zur Maschine zu Maschine Interaktion Zu Diensten fur Benutzer siehe Online Dienst Ein Webservice auch Webdienst stellt eine Schnittstelle fur die Maschine zu Maschine oder Anwendungs Kommunikation uber Rechnernetze wie das Internet zur Verfugung 1 Dabei werden Daten ausgetauscht und auf entfernten Computern Servern Funktionen aufgerufen Jeder Webservice besitzt einen Uniform Resource Identifier URI uber den er eindeutig identifizierbar ist Ausserdem enthalt ein Webservice je nach Implementierung eine Schnittstellenbeschreibung in maschinenlesbarem Format die definiert wie mit dem Webservice zu interagieren ist z B WSDL im XML Format Die Kommunikation kann uber Protokolle aus dem Internetkontext wie beispielsweise HTTP oder HTTPS erfolgen Uber diese Protokolle konnen Daten beispielsweise im XML oder JSON Format ubertragen werden 2 3 Ein Webservice ist plattformunabhangig und steht in der Regel mehreren Programmen zum Aufrufen bereit Beteilige dich an der Diskussion Dieser Artikel wurde wegen inhaltlicher Mangel auf der Qualitatssicherungsseite der Redaktion Informatik eingetragen Dies geschieht um die Qualitat der Artikel aus dem Themengebiet Informatik auf ein akzeptables Niveau zu bringen Hilf mit die inhaltlichen Mangel dieses Artikels zu beseitigen und beteilige dich an der Diskussion Begrundung Der Artikel beschreibt eigentlich nur einen Webservice basierend auf dem RPC Architekturstil Viele Fakten in Bezug auf einen REST WS sind vollig falsch Naheres ist auf der Diskussionsseite des Artikels angegeben 195 243 27 84 09 49 9 Mai 2012 CEST Inhaltsverzeichnis 1 Architektur 2 Implementierungsmoglichkeiten 3 Abgrenzung 4 Bewertung 4 1 Vorteile 4 2 Nachteile 5 Anwendungsgebiete 6 Beispiele 7 Erweiterungen 8 Testmoglichkeiten 9 Literatur 10 Weblinks 11 EinzelnachweiseArchitektur BearbeitenIm Allgemeinen senden Programme Anfragen an einen Webservice woraufhin dort anfragespezifische Funktionen wie Ruckgabe oder Anderung gespeicherter Informationen ausgelost werden Typischerweise wird der Webservice auf einem anderen Rechner Server ausgefuhrt als das Programm welches damit von einem Client aus interagiert Beispielsweise kann von einem Programm welches hauptsachlich aus einer Benutzeroberflache besteht eine Anfrage nach Kartenmaterial fur einen bestimmten Ausschnitt an einen Webservice gestellt werden Als Antwort auf die Anfrage bekommt das Programm den angefragten Kartenausschnitt und prasentiert diesen auf der Benutzeroberflache Webservices konnen aber auch Bestandteile von Softwaresystemen die automatisiert Daten austauschen oder Funktionen auf entfernten Computern aufrufen sein nbsp FunktionsweiseWebservices orientieren sich an der serviceorientierten Architektur SOA und vereinen daher verteilte und objektorientierte Programmierstandards und richten sich auf betriebswirtschaftliche Losungen im Internet Allgemein kann unterschieden werden zwischen Nutzer Servicekonsument Service Anbieter und Verzeichnis Diese interagieren wie folgt Der Anbieter veroffentlicht in einem Verzeichnis die Beschreibung seiner Dienste Der Nutzer durchsucht das Verzeichnis und wahlt den gewunschten Dienst aus Nachdem eventuell weitere Protokolldetails ausgetauscht wurden findet die dynamische Anbindung des Konsumenten an den Anbieter statt Der Nutzer greift nun auf die Methoden der Webservices dieses Anbieters zuruck Erreichbar sind Webservices uber einen eindeutigen URI Aufgrund der verwendeten plattformunabhangigen Standards ist es moglich entfernte Methodenaufrufe beliebiger Plattformen zu dekodieren und an eine Anwendung weiterzuleiten Dabei wird implizit das Entwurfsmuster Fassade umgesetzt der Client muss praktisch keine Implementierungsdetails des Webservice kennen um ihn zu nutzen 4 Auf diese Weise entsteht eine verteilte Architektur Die Kommunikation mit Webservices erfolgt uber Nachrichten die uber unterschiedliche Protokolle transportiert werden konnen Implementierungsmoglichkeiten BearbeitenWebservices basieren selbst auf Standardprotokollen mit denen die Informationen und Befehle ubertragen werden Sie konnen auf grundsatzlich verschiedene Arten implementiert werden beispielsweise 5 Remote Procedure Calls RPC uber entfernte Funktionsaufrufe als Abfrageprotokoll SOAP als Netzwerkprotokoll welches XML fur die Ubertragung von Daten uber ein im Prinzip beliebiges Transportprotokoll verwendet REST als Programmierparadigma stutzt sich auf die Interaktion von zustandslosen Ressourcen Dabei werden Operationen wie sie im verwendeten Netzwerkprotokoll standardisiert sind bei HTTP waren dies GET POST PUT DELETE verwendet Beispielsweise wird mittels GET eine Ressource wie eine Reservierung abgefragt mittels PUT wird eine neue angelegt oder sofern bereits vorhanden geandert WebDAV fur die Bereitstellung von DateienGrundlage fur einige Implementierungen von Webservices bilden Standards die jeweils auf XML basieren und in den zugehorigen Artikeln naher beschrieben werden UDDI als Verzeichnisdienst zur Registrierung von Webservices Es ermoglicht das dynamische Auffinden des Webservices z B den Dienst FussballErgebnisse durch den Nutzer Allerdings wird UDDI nur in eher kleineren Firmennetzwerken verwendet und hat sich nie global durchgesetzt 6 WSDL zur Beschreibung der unterstutzten Methoden z B TorschuetzenKoenig und deren Parametern z B Datum fur den Programmierer Abgrenzung BearbeitenWebservices sind nicht gleichzusetzen mit Enterprise Application Integration jedoch konnen sie bei einer Enterprise Application Integration Verwendung finden Webservices sind nicht gleichzusetzen mit Webanwendungen sie konnen jedoch von Webanwendungen genutzt werden Ein Webservice wird von einem Rechner oder einem Programm aufgerufen eine Webanwendung hingegen wird uber ihre Benutzerschnittstelle von einem Menschen genutzt 4 Ein Webservice kann ausserdem in verschiedenen Webanwendungen genutzt werden Bewertung BearbeitenVorteile Bearbeiten Die verwendeten offenen Standards vermeiden Lizenzkosten Da zu diesen Standards auch die allgegenwartigen internetbasierten Technologien gehoren lassen sie sich auch vielerorts einsetzen Auch hier liegt ein Kostenvorteil Webservices konnen faktisch auf jedes Ubertragungsprotokoll aufsetzen Bei einer hohen Anzahl von verschiedenen Nutzern im Internet wird ublicherweise HTTP zur Datenubertragung verwendet da nur selten Probleme mit Firewalls auftreten Dies ist ein Vorteil gegenuber vergleichbaren Technologien wie CORBA DCOM oder auch Java RMI Webservices sind wie beschrieben nicht an HTTP gebunden und lassen sich auch mit anderen Protokollen wie SMTP zum Beispiel fur asynchrone Ubertragung oder FTP zum Beispiel bei sehr grossen Nachrichten ubertragen und sind somit offen fur verschiedene Anwendungsszenarien geeignet Durch die Verwendung von bereits bestehenden und weit verbreiteten Internet Standards HTTP XML etc entsteht eine offene und flexible Architektur die unabhangig von den verwendeten Plattformen Programmiersprachen und Protokollen ist So konnen beispielsweise Windows C Clients hinter einer Firewall mit Java Servern die auf Linux implementiert sind kommunizieren Die weit verbreiteten Standard Protokolle ermoglichen eine Interoperabilitat uber jegliche Heterogenitaten im Internet hinweg Die Barrieren zum Einstieg sind vergleichsweise niedrig Nachteile Bearbeiten Die Hauptschwierigkeiten bei der Umsetzung von Webservices durften Sicherheitsaspekte betreffen So ist beim Transport zu beachten dass wichtige Webservices verschlusselt werden oder dass eine Authentifizierung verlangt wird Ob hier HTTPS ausreichend ist oder Losungen wie XML Signature XML Encryption oder SAML zu verwenden sind sollte je nach Anwendungsfall abgewogen werden Ein besonderes Augenmerk liegt auf der Performance welche durch einen zu hohen Overhead negativ beeinflusst wird Der Verwaltungsaufwand nimmt bei stark verteilten Systemen zu Es ist mehr Know how erforderlich als z B fur Remote Procedure Call RPC Programmiersprachen mit denen man Webservices einbinden will brauchen spezielle Bibliotheken z B fur das Document Object Model Anwendungsgebiete BearbeitenWebservices stellen neue Ansatze im Rahmen von Enterprise Application Integration EAI und Grid Computing dar Das geplante Haupteinsatzgebiet liegt im Business to Business Bereich Geschaftsprozesse sollen problemlos uber Unternehmensgrenzen hinweg abgewickelt werden Eine Sprache hierfur ist WS Business Process Execution Language BPEL die es erlaubt zu orchestrieren Eine weitere Anwendung stellen die vom Open Geospatial Consortium standardisierten Geodienste dar welche als raumbezogene Webservices Geodaten in strukturierter Form zuganglich machen Die Machtigkeit dieses Konzeptes besteht in der Moglichkeit vorhandene Systeme und Dienste miteinander plattformubergreifend zu kombinieren und diese in den eigenen Anwendungen und Diensten zur Verfugung zu stellen Beispiele BearbeitenGoogle betreibt fur seine Webanwendung und fur die Nutzung in anderen Anwendungen sehr viele Webservices Daruber kann man beispielsweise Computing Services oder Datenanalyse auf Basis von maschinellem Lernen die Google bereitstellt nutzen Alle APIs bieten eine HTTP Schnittstelle mit JSON als Protokoll an Fur einige APIs steht zusatzlich eine gRPC Schnittstelle zur Verfugung Zur Nutzung benotigt man eine Zugriffskennung API Key um auf die teilweise kostenpflichtigen Webservices zugreifen zu konnen 7 Google selbst uberwacht die Nutzung und vergibt fur die Nutzung jeweils bestimmte Kontingente Damit soll Missbrauch vermeiden werden und die Verfugbarkeit der Webservices gewahrleistet werden 8 Die Google Services werden in vielen der eigenen Anwendungen verwendet wie beispielsweise Google Maps oder Google Fotos Ein weiteres Beispiel ist ein Computerreservierungssystem zwischen Fluggesellschaften und Reiseburos Die Fluggesellschaften stellen Moglichkeiten zum Nachschlagen oder Buchen von Flugen uber einen Webservice bereit Die Reiseburos bieten auf ihrer Webprasenz Fluge verschiedener Fluggesellschaften an von denen die Reiseburos zur Laufzeit uber UDDI erfahren Der Kunde kann auf der Webprasenz des Reiseburos nun zentral Preise und Termine verschiedener Fluge vergleichen und gleich buchen Erweiterungen BearbeitenMit dem Web Services Composite Application Framework WS CAF wurde eine weiterfuhrende Spezifikation beim W3C und bei OASIS zur Standardisierung eingereicht die Webservices um fur die Koordination von Applikationen nutzliche Standards wie z B Transaktionsmanagement erweitern sollen Uber weitere proprietare Erweiterungen wird bei verschiedenen Herstellern nachgedacht Um Problemen der Sicherheit zu begegnen werden Konzepte auf der Grundlage der Security Assertion Markup Language SAML entwickelt Des Weiteren befasst sich das Gebiet der Semantic Web Services mit der Erweiterung von Webservices um Semantik die das Auffinden Discovery Auswahlen Selection Ausfuhren Invocation und die Komposition mit anderen Webservices nach der Idee des Semantic Web ermoglichen und vereinfachen soll Testmoglichkeiten BearbeitenDie nachfolgende Aufzahlung listet Programme die fur den Softwaretest von Webservices bzw deren Programmierschnittstellen genutzt werden SoapUI Postman Apache JMeter Katalon StudioLiteratur BearbeitenIngo Melzer et al Service orientierte Architekturen mit Web Services 4 Auflage Spektrum Heidelberg 2010 ISBN 3 8274 2549 2 Sanjiva Weerawarana F Curbera F Leymann Web Services Platform Architecture Prentice Hall PTR Upper Saddle River NJ 2005 ISBN 0 13 148874 0 englisch Michael P Papazoglou Web Services Principles and Technology Prentice Hall Essex 2007 ISBN 978 0 321 15555 9 englisch Weblinks Bearbeiten nbsp Commons Webservices Sammlung von Bildern Videos und Audiodateien nbsp Wiktionary Webservice Bedeutungserklarungen Wortherkunft Synonyme Ubersetzungen Seiten des W3C uber Web Services englisch Einzelnachweise Bearbeiten Web Services Architecture World Wide Web Consortium 11 Februar 2004 abgerufen am 27 Januar 2021 Web Services Glossary Abgerufen am 27 Januar 2020 Geoff Bender XML vs JSON Based Web Services Which is the Best Choice 29 Marz 2013 abgerufen am 27 Januar 2021 a b Webservcie DATACOM Buchverlag GmbH abgerufen am 30 Januar 2021 Ressourcenorientierte Webservices auf Basis von REST 15 Mai 2020 abgerufen am 23 September 2020 Webservices Dienste von Maschine zu Maschine 1 amp 1 Ionos 2 Marz 2020 abgerufen am 30 Januar 2021 API Nutzung deckeln Google 19 Januar 2021 abgerufen am 30 Januar 2021 Google Cloud APIs Google 12 Januar 2021 abgerufen am 30 Januar 2021 Abgerufen von https de wikipedia org w index php title Webservice amp oldid 235799028