Suchen

Definition: Machine-to-Machine-Kommunikation via SOA Was ist ein Webservice?

| Autor / Redakteur: Dipl.-Ing. (FH) Stefan Luber / Florian Karlstetter

Ein Webservice ist ein Dienst, der über ein Netzwerk angesprochen werden kann. Über den Webservice kommunizieren Maschinen oder Anwendungen miteinander. Die Services haben keine Benutzeroberfläche für Menschen. Für die Realisierung kommen serviceorientierte Architekturen (SOA) zum Einsatz.

Firmen zum Thema

Webservices basieren auf der serviceorientierten Architektur (SOA).
Webservices basieren auf der serviceorientierten Architektur (SOA).
(Bild: gemeinfrei (geralt / pixabay))

Webservices oder auch Webdienste sind für die Machine-to-Machine-Kommunikation (M2M-Kommunikation) vorgesehen. Sie lassen sich auf unterschiedlichen Plattformen bereitstellen und sind über ein Netzwerk wie das Internet von Softwareanwendungen oder Geräten ansprechbar. Die Realisierung der Webservices basiert auf der serviceorientierten Architektur (SOA). Hierbei kommen definierte Schnittstellen, Protokolle und Standards zum Einsatz. Die Webdienste selbst können in den unterschiedlichsten Programmiersprachen geschrieben sein und verschiedene Hardware-Plattformen verwenden.

Typische Standards und Protokolle im Webservice-Umfeld sind HTTP, HTTPS, XML, SOAP, WSDL und UDDI. Über das Netzwerk ruft eine Anwendung oder eine Maschine eine bestimmte Funktion des Webservices auf und erhält das Ergebnis über die Netzwerkverbindung zurück. Webservices lassen sich im Internet beispielsweise über eine eindeutige URI (Uniform Resource Identifier) ansprechen. Zur Sicherung der Kommunikation müssen sich die Kommunikationspartner in der Regel gegenseitig authentifizieren. Die übertragenen Daten sind im Internet meist durch Verschlüsselung geschützt.

Die typischen Merkmale eines Webservices

Die typischen Merkmale eines Webservices sind kurz zusammengefasst folgende:

  • der Webservice stellt seine Dienste und Funktionen über ein Netzwerk zur Verfügung
  • es kommunizieren Anwendungen oder Maschinen, nicht Menschen mit dem Webservice
  • die Realisierung des Webservices basiert auf der serviceorientierten Architektur
  • es kommen definierte Schnittstellen, Protokolle und Standards zum Einsatz
  • die Kommunikation mit dem Webservice ist automatisiert
  • der Webservice kann mit unterschiedlichen Programmiersprachen und auf verschiedenen Hardwareplattformen realisiert sein
  • die Kommunikationspartner authentifizieren sich gegenseitig
  • übertragene Daten lassen sich per Verschlüsselung sichern

Abgrenzung des Webservices von der Webanwendung

Oft werden die Begriffe Webservice und Webanwendung analog verwendet, obwohl es sich um grundsätzlich unterschiedliche Funktionalitäten handelt. Webservices sind nicht für die direkte Nutzung durch Menschen vorgesehen. Sie besitzen keine eigene Benutzerschnittstelle, über die der User sein Eingaben tätigt und die Ergebnisse angezeigt bekommt. Webservices dienen der reinen Computer-zu-Computer-Kommunikation. Eine Webanwendung hingegen ist speziell für den menschlichen User programmiert. Der User kommuniziert per Netzwerk direkt über die Benutzerschnittstelle mit der Anwendung. Im Hintergrund kann die Webanwendung Webservices nutzen, um dem Anwender die gewünschten Ergebnisse zu liefern. Webanwendungen können selbst Kommunikationspartner von Webservices sein.

REST steht für REpresentational State Transfer, API für Application Programming Interface - beides dient der M2M-Kommunikation.
Definition: Representational State Transfer (REST) Application Programming Interface (API)

Was ist eine REST API?

Von Webservices verwendete Protokolle und Standards

Das standardisierte Grundgerüst für Webservices bildet die serviceorientierte Architektur (SOA). Es ist eine Unterscheidung zwischen Service-Anbieter, Service-Konsument und Service-Verzeichnis möglich. Anbieter stellen Dienste über das Netzwerk zur Verfügung, die Service-Konsumenten (keine Menschen, sondern Maschinen) in Anspruch nehmen. Zu finden sind die Services über spezielle Service-Verzeichnisse.

WSDL (Web Services Description Language) ist die Beschreibungssprache für die Webservices. Sie ist unabhängig von Plattformen, Protokollen und Programmiersprachen und beschreibt den Austausch von Informationen und Nachrichten mit der Auszeichnungssprache Extensible Markup Language (XML). Häufig kommt XML zusammen mit dem Netzwerkprotokoll SOAP zum Aufruf der gewünschten Webservice-Funktion zum Einsatz.

Die Basis für die Netzwerkkommunikation stellen das Internetprotokoll (IP) und das Hypertext Transfer Protocol (HTTP) beziehungsweise das Hypertext Transfer Protocol Secure (HTTPS) zur Verfügung. Ansprechbar sind die Services über eine eindeutige URI.

Die Sicherheit der Webservices

Die Nutzung von Netzwerken zur Kommunikation mit den Webservices erfordert, dass die übertragenen Daten gesichert und die Identitäten der Kommunikationspartner bestätigt (authentifiziert) werden. Vor allem für die Kommunikation über das öffentliche Internet ist die Sicherheit der Webservices ein wesentlicher Aspekt. Um die ausgetauschten Daten vor unbefugtem Zugriff oder vor dem Manipulieren zu schützen, kommen Verschlüsselungsverfahren zum Einsatz. Standards wie HTTPS, SAML (Security Assertion Markup Language) oder XML Signature sorgen für entsprechende Lösungen. Da die über das Internet erreichbaren Webservices grundsätzlich von jedem kontaktierbar sind, sind Mechanismen vorzusehen, die DoS-Angriffe (Denial of Service Angriffe) verhindern.

Vor- und Nachteile der Webservices

Webservices verwenden Standards und ermöglichen die Kommunikation von Systemen auf unterschiedlichen Plattformen. Sie bieten ein hohes Maß an Interoperabilität. Da überwiegend offene Standards genutzt werden, entstehen in der Regel kaum Software-Lizenzkosten zur Bereitstellung der Dienste. Das Internet macht die Services von überall aus nutzbar und erschließt ein riesiges Feld an Anwendungsmöglichkeiten. Die komplette Architektur der Webservices ist sehr flexibel und gestattet es, einzelne Protokolle und Standards variabel einzusetzen.

Als Nachteil lässt sich aufführen, dass für die per Internet erreichbaren Webservices ein gewisser Aufwand zur Sicherung der Kommunikation und des Dienstangebots notwendig ist. Sichere Verschlüsselungsmechanismen erfordern ein hohe Rechenleistung. Der Schutz vor Angriffen aus dem Internet ist meist nur durch den Einsatz vorgeschalteter Systeme wie Firewalls möglich.

Universal Description, Discovery and Integration (UDDI) - der Verzeichnisdienst für Webservices

Universal Description, Discovery and Integration (UDDI) ist der Verzeichnisdienst für Webservices. Per UDDI finden Service-Konsumenten die gewünschten Service-Anbieter. Hierfür stellt UDDI eine Art Datenbank zur Verfügung, in der sich die Webservices registrieren. Der Verzeichnisdienst ist für den Business-to-Business-Bereich (B2B-Bereich) vorgesehen. Global hat er sich noch nicht durchgesetzt, ist aber in Unternehmensnetzwerken und im B2B-Umfeld zu finden. Funktionen, die UDDI bereitstellt, sind unter anderem:

  • ein nach Kategorien geordnetes Branchenverzeichnis (Yellow Pages)
  • ein Namensregister der Anbieter mit Kontaktinformationen (White Pages)
  • ein Informationsverzeichnis mit den genauen technischen Details der Services (Green Pages)

Die Verwaltung von UDDI leistet die Organization for the Advancement of Structured Information Standards (OASIS).

Beispielhafte Anwendungen für Webservices

Webservices sind in vielen Bereichen zu finden. Für Onlineshops stellen sie beispielsweise Funktionen zur Verfügung, über die sich die Gültigkeit von Kreditkarten prüfen oder Versandkosten ermitteln lassen. Paketservices bieten für Shopanwendungen Dienste zur Paketverfolgung an.

Das Unternehmen Google hat ein großes Angebot an Webservices. Unter anderem können fremde Anwendungen die Google-Suche oder Google-Maps per Webdienst ansprechen. Weitere Beispiele sind Computerreservierungssysteme von Fluggesellschaften. Sie stellen Funktionen zur Verfügung, über die sich Flugdaten oder Flugverfügbarkeiten abrufen und Flüge buchen lassen. Viele Preisvergleichsportale nutzen ebenfalls Webservices zur Ermittlung von Preisen, die sie anschließend auf Vergleichsseiten dem Anwender aufbereitet darstellen.

Microservices, Middleware, Serverless Computing: Definitionen rund um Cloud Computing

Definitionen rund um Cloud ComputingVon AWS bis XaaS: Alle relevanten Schlagworte aus dem Bereich Cloud Computing finden Sie verständlich erklärt in unseren Definitionen. Ganz im Sinne eines kleinen, aber feinen Glossars lesen Sie hier neutral verfasste und leicht verständliche Erklärungen zu den wichtigsten Begriffen. Als Service für Sie haben wir die hier erklärten Begriffe in unseren Beiträgen auch direkt mit den zugehörigen Lexikoneinträgen verlinkt. So können Sie die wichtigsten Begriffe direkt dort nachschlagen, wo sie im Text auftauchen.  

Zum Special: Definitionen rund um Cloud Computing

(ID:45750760)

Über den Autor