Die Schnittstelle – API, Webservice & GUI einfach erklärt

socialmedia 11
Fachbeitrag

Sowohl Softwareanbieter als auch Webseitenbetreiber möchten ihren Nutzern ein optimales Angebot an unterschiedlichen Diensten anbieten und sind deswegen auf eine Schnittstelle angewiesen. Aber auch für Unternehmen sind Schnittstellen ein wichtiges Tool, um heterogene Systeme miteinander verbinden zu können und ineffiziente Insellösung zu vermeiden. In diesem Artikel werden ausgewählte Arten von Schnittstellen wie API, Webservice und GUI vorgestellt und voneinander abgegrenzt.

Schnittstelle

Allgemein gesagt ist eine Schnittstelle eine Verbindung zwischen zwei Systemen, die eine Kommunikation bzw. eine Übertragung ermöglicht. Beispielsweise ist eine Steckdose eine Schnittstelle, die notwendig ist, um elektrischen Strom zu übertragen.

In der IT-Welt kommen Schnittstellen eine große Bedeutung zu. Sie ermöglichen eine Kommunikation sowohl zwischen Software- als auch Hardwarekomponenten. So stellt ein USB-Anschluss am Rechner eine Hardwareverbindung zum USB-Stick bereit. Auch das Betriebssystem enthält Schnittstellen, um Zugriffe z.B. auf die Festplatte oder Grafikkarte über ein Anwendungsprogramm zu ermöglichen.

Application Programming Interface (API):

API ist ein Akronym für „application programming interface (englisch für Schnittstelle zur Anwendungsprogrammierung). Mittels einer API kann z.B. eine Software in ein anderes System eingebunden werden. Damit ein Programm die Funktionalitäten einer anderen Software aufrufen und nutzen kann, muss dieses die entsprechende API implementieren. Damit können unterschiedliche Softwaremodule / Programmteile (services) unabhängig voneinander erstellt werden, die über eine Schnittstelle kommunizieren. Der Vorteil einer solchen modularen Programmierung liegt darin, dass Software einfacher gewartet und durch zusätzliche Module individuell erweitert werden kann.

Webservice:

Von einer „normalen“ API ist eine Web-API (Webservice) abzugrenzen. Ein Webservice beinhaltet zwar auch eine API bietet aber zusätzlich eine Web-Dienstleistung an. Durch Webservices kann ein Webseitenanbieter unterschiedliche Dienste z.B. externer Anbieter über ein Netzwerk (also Intranet, Internet) in seinem Portal integrieren und anbieten.

Eine Einheitliche Definition, was ein Webservice ist, gibt es zwar nicht, jedoch gibt es Eigenschaften die jeder Webservice hat:

  • ein Webservice bietet einen Dienst über ein Netzwerk an
  • ein Webservice bietet einen automatisierten Datenaustausch und Nutzung von Funktionalitäten an
  • der Austausch von Daten und Funktionalität erfolgt unabhängig von der Programmiersprache bzw. Hardware und kann somit in unterschiedliche Systemen integriert werden
  • bei einem Webservice handelt es sich um eine reine Computer-zu-Computer-Kommunikation

Beispiel Webservice

Anhand eines Onlineshops können Webservices wie folgt erklärt werden:

Unser Beispiel-Shop „Amazonien“ bietet verschiedene Produkte aus verschiedenen Kategorien an. Neben den üblichen Funktionalitäten wie elektronische Produktkataloge, Produktbestellung, elektronisches Bezahlen mittels Kredit- oder EC-Karte, bietet „Amazonien“ auch zusätzliche Services an. So kann der Käufer z.B. auch eine Versicherung abschließen oder den Status des Versandes durch den Paketdienst nachverfolgen. Um seinen Nutzern die Anmeldung zu erleichtern, hat „Amazonien“ eine Single Sing-on Lösung mittels einer Authentifizierungs-API implementiert, so dass sich ihre Kunden auch über ihr Facebook-Login anmelden können und keine separaten Login-Daten eingeben müssen.

Da „Amazonien“ diese Dienste selbst nicht erbringen kann, greift sie auf die Webservices anderer Anbieter zurück. Durch eine Schnittstelle kann „Amazonien“ diese Dienste in ihr eigenes Portal einbinden. Für den Nutzer erscheint nur die Seite von „Amazonien“, so dass dieser grundsätzlich nichts von dem im Hintergrund ablaufenden Austausch mitbekommt. „Amazonien“ selbst kann über die Web-APIs zusätzlich z.B. die Bonität des Kunden prüfen, die Zahlung mittels Kredit- oder EC-Karte veranlassen, ein Paketdienst beauftragen oder den aktuellen Währungskurs erfragen.

Welche Unternehmen welche Dienste und Webservices anbieten, kann in der Universal Description Discovery and Integration (UDDI) recherchiert werden.

Graphical User Interface (GUI)

Von der API bzw. Webservice ist die Benutzerschnittstelle zu unterscheiden (auch Graphical User Interface oder Frontend genannt). Die GUI ist die Oberfläche einer Anwendung, die der Benutzer sieht. Über diese Benutzeroberfläche kann der Nutzer Daten eingeben. Die GUI leitet dann diese Daten zur Verarbeitung an die Software weiter (auch Backend genannt). Anschließend stellt die GUI dem Nutzer die angeforderten Ergebnisse dar. Bei der GUI handelt sich also um eine Schnittstelle zwischen Mensch und Maschine. Im Gegensatz dazu dient eine API bzw. ein Webservice dem automatisierten Austausch zwischen Maschinen.

Auftragsdatenverarbeitung oder Funktionsübertragung

Datenschutzrechtlich stellt sich oft die Frage, ob bei Webservices eine Auftragsdatenverarbeitung vorliegt, wenn ein Portalbetreiber in seinem Portal ein Webservice eines externen Anbieters implementiert hat und hierüber personenbezogene Daten ausgetauscht werden. Dies muss im Einzelfall entschieden werden und ist von der erbrachten Leistung abhängig. Jedoch wird in den meisten Fällen eine Funktionsübertragung vorliegen, da neben der konkreten Verarbeitung von personenbezogenen Daten ein gesamter Aufgabenbereich übertragen wird. In diesem Fall ist der Dritte nicht mehr bloß Auftragnehmer, sondern selbst verantwortliche Stelle. Im Fokus steht dann nicht nur eine Verarbeitung der Daten im Auftrag sondern, ob die erbrachten Leistungen und Prozesse allein in der Verantwortung des Webservice-Anbieters liegen.

Liegt eine Funktionsübertragung vor, so ist zu überprüfen, ob eine Übermittlung von Daten gemäß § 28 BDSG als Verarbeitung für „eigene Geschäftszwecke“ erfolgen darf oder eine Einwilligung eingeholt werden muss.

Sicherheit

Auch bei der Absicherung des Systems (insbesondere bei Webservices) sollte u.a. an Folgendes gedacht werden:

  • Absicherung der Übertragungswege bei Webservices (Verschlüsselung)
  • Rollen – und Berechtigungskonzept
  • Durchführen von Penetrationstests
  • Protokollierung
  • Regelmäßiges Einspielen sicherheitsrelevanter Updates
  • Regelmäßige Überprüfung der Verfügbarkeit und Funktionalität der Schnittstelle

Sie haben Fragen?

Unsere Berater helfen Ihnen dabei, den Umgang mit personenbezogenen Daten in Ihrem Unternehmen rechtssicher und praxisgerecht zu gestalten. Dabei unterstützen wir Sie u.a. bei folgenden Themen:

  • Aufbau, Optimierung und Überprüfung der IT-Sicherheit nach anerkannten Standards
  • Vorbereitung auf eine Zertifizierung nach ISO 27001 oder IT-Grundschutz
  • Stellung von externen IT-Sicherheitsbeauftragten

Informieren Sie sich hier über unser Leistungsspektrum: IT-Sicherheit

4 Kommentare zu diesem Beitrag

  1. Wir betreiben einen Onlineshop und nutzen hierfür das plentymarkets Shopsystem. Da alle Daten innerhalb des Systems verarbeitet werden und dies selbstständig erfolgt, stellt das meiner Meinung nach eine Funktionsübertragung dar und plentymarkets müsste uns einen ADV Vertrag vorlegen, oder? Das gleiche wäre dann mit dem angebundenen Warenwirtschaftsystem, richtig?

    Das System läuft auf der AWS Cloud, gehostet auf einem deutschen Server in Frankfurt. Da Amazon jedoch ein amerikanisches UN ist, könnte da nicht rein theoretisch eine Datenübermittlung personenbezogener Daten ins Ausland stattfinden?

    Sylvia

    • Ein ADV-Vertrag ist zu schließen, wenn eine Auftragsdatenverarbeitung i.S.d. § 11 BDSG vorliegt. Nur in diesem Fall ist eine ADV-Vereinbarung zu schließen.
      Wenn eine Funktionsübertragung vorliegt, dann ist der Dienstleister als Dritter anzusehen, so dass eine Rechtsgrundlage für die Übermittlung gegeben sein muss. Eine ADV-Vereinbarung ist für den letztgenannten Fall nicht vorgesehen, da der Dritte die Daten nicht nach Weisung verarbeitet.

      Wenn also eine Funktionsübertragung bei plentymarkets Shopsystem vorliegt, dann ist keine ADV-Vereinbarung zu schließen, sondern zu prüfen, ob eine Rechtsgrundlage für die Übermittlung und Verarbeitung der Daten vorliegt. Wie in dem Artikel erwähnt kann § 28 BDSG als Verarbeitung für „eigene Geschäftszwecke“ in Betracht kommen.

      Bei AWS könnte eine Auftragsdatenverarbeitung vorliegen, so dass zu prüfen ist ob in diesem Vertragsverhältnis eine ADV-Vereinbarung zu schließen ist. Zudem sollte geprüft werden, wo die Daten gespeichert werden. Wenn dies außerhalb der EU/EWR erfolgt, besteht die übliche Problematik bei Übermittlung in Drittländer. Ansonsten besteht bei US-Firmen ein weiteres Risiko, welches wir in diesem Artikel vorgestellt haben:

      Microsoft vs. USA: Streit um Herausgabe von EU-Kundendaten geht in die nächste Runde

      • Bzgl. der AWS Cloud … hier besteht ja ein Verhältnis zwischen plentymarkets und AWS, da plentymarkets die Systeme dort hostet. Tangiert uns das dann überhaupt? In dem Fall müsste doch nur zwischen plentymarkets und AWS ein ADV Vertrag geschlossen werden oder gibt es für uns noch etwas zu beachten?

Hinterlassen Sie einen Kommentar

Die von Ihnen verfassten Kommentare erscheinen nicht sofort, sondern erst nach Prüfung und Freigabe durch unseren Administrator. Bitte beachten Sie auch unsere Nutzungsbedingungen und unsere Datenschutzerklärung.