Zum Hauptinhalt

API-Schicht

Eine REST- oder Webservices-API-Schicht bietet eine entkoppelte Schnittstelle zu Daten und/oder Funktionen einer oder mehrerer Anwendungen. Sie stellt eine gemeinsame, von der Programmiersprache unabhängige Art der Interaktion mit einer Anwendung bereit. Webservices-APIs bieten einen gut definierten Vertrag namens WSDL, der die Services gemäß den für den Informationsaustausch verwendeten Operationen und Datentypen beschreibt. REST-APIs haben in der Regel keinen derartigen Vertrag. Sie sind mit Client-Bibliotheken für die meisten gängigen Programmiersprachen, wie zum Beispiel Ruby, Java, PHP und JavaScript, dokumentiert. SOAP-Webservices wurden in Unternehmen traditionell für die Veröffentlichung interner Services sowie den Austausch von Informationen mit Geschäftspartnern bei B2B-Transaktionen verwendet. Im Web ist REST die bevorzugte Methode für die Veröffentlichung von APIs, und dies hat sich mittlerweile auch im Unternehmensumfeld durchgesetzt.

Anwendungsfälle

Typische Beispiele für die Verwendung einer API-Schicht:

  • Sie müssen eine Verbindung zu einer Legacy-Anwendung herstellen, die keine REST-API enthält. Sie möchten zum Beispiel, dass Mitarbeitende über ein Portal auf ein benutzerdefiniertes CRM- oder HR-System zugreifen können.
  • Sie möchten eine API veröffentlichen, die Ihren Geschäftspartnern die Kommunikation mit Ihren Systemen über eine gut definierte Schnittstelle ermöglicht. In der Regel wird für solche Zwecke eine Webservices-API erstellt.
  • Sie möchten Verbindungen zu mehreren Anwendungen oder Datenquellen herstellen, die Daten kombinieren und die Ergebnisse an Ihre Anwendung für Mobilgeräte senden. Zum Beispiel möchten Sie HR- oder Kundeninformationen mit Daten aus sozialen Netzwerken wie Facebook oder LinkedIn anreichern. Ein weiteres typisches Szenario: Sie haben mehrere CRM-Systeme, möchten aber allen, die unterwegs auf Kundendaten zugreifen müssen, eine einheitliche Ansicht bereitstellen.

Sehen wir uns nun ein Szenario an, in dem eine Anwendung für Mobilgeräte mit einer Unternehmensanwendung interagiert.

Integration von Anwendungen für Mobilgeräte

Sie haben entschieden, entweder eine native (iOS/Android) oder HTML-basierte Anwendung für Mobilgeräte zu entwickeln. Nun überlegen Sie, wie Sie diese Anwendung am besten in Ihre Backend-Anwendungen, wie zum Beispiel Ihr CRM- oder ERP-System, integrieren.

Die einzigartigen Präsentationsherausforderungen, mit denen Entwickler:innen von Anwendungen für Mobilgeräte konfrontiert sind, haben die Methoden für die Erstellung von Webanwendungen grundlegend verändert. Zuvor wurde HTML von einem zentralen Server angefordert und clientseitig in „Browsern“ gerendert. Das neue Modell der „App für Mobilgeräte“ umfasst die Bereitstellung dynamischer Inhalte mit HTTP und AJAX. Die Kommunikation erfolgt durch die Übertragung von JSON-Daten mit REST-Services über HTTP.

Folglich besteht die Integrationsherausforderung darin, wie Sie Ihre vorhandene Infrastruktur bei möglichst wenigen Änderungen an der Backend-Infrastruktur schnell mit diesem neuen „Bereitstellungskanal für Mobilgeräte“ verbinden können. Unternehmen, denen dies schnell gelingt, können ihre herkömmlichen Business-Modelle mit vollkommen neuen Geräten und Demografien verbinden. Mule ist hier sehr nützlich, denn es stellt einen einfachen Mechanismus oder eine Vermittlungsschicht zwischen vorhandenen SOAP/XML-basierten Webservices und REST-/JSON-Anwendungen bereit. Darüber hinaus können Sie ganz einfach anspruchsvolle zusammengesetzte Anwendungen aus mehreren Backend-Services, sowohl REST- als auch andere Services, orchestrieren. Dazu müssen Sie Ihr internes Objektmodell externen Nutzer:innen gegenüber nicht offenlegen.

Implementierung

In diesem Anwendungsfall zeigen wir, wie einfach Sie mit Mule eine vorhandene Anwendung „RESTifizieren“ können. „RESTifizieren“ bedeutet, dass für eine vorhandene Anwendung ein REST-Webservice-Frontend erstellt wird.

Beispiel: Sie möchten, dass Ihr Vertriebsteam auf den verwendeten Mobilgeräten eine neue Verkaufschance mit den folgenden Eigenschaften erstellen kann:

  • Ist mit Ihrer Salesforce-CRM-Implementierung synchronisiert.
  • Sendet eine E-Mail-Benachrichtigung an Vorgesetzte, wenn die Verkaufschance über einem bestimmten Wert liegt.

REST

Die REST-API und das JSON-Datenformat ermöglichen mehr Programmiersprachen und mehr Geräten einfacheren Zugriff auf die Backendsysteme.

Salesforce

Für die Datenabfrage in unserer Anwendung wird Salesforce verwendet. Mule stellt vorgefertigte Konnektivität mit Salesforce bereit, einschließlich Massen- und Streaming-APIs.

SMTP

Diese Anwendung sendet E-Mail-Benachrichtigungen. Dank der modularen Architektur von Mule können Nachrichten ganz einfach an viele verschiedene Technologien gesendet werden, zum Beispiel Apple Push, Android Notifications und Twilio (SMS).

Integrationsprinzipien

Unter Berücksichtigung der fünf grundlegenden Integrationsprinzipien umfasst ein Anwendungsfall für die Integration einer Anwendung für Mobilgeräte in der Regel Folgendes:

Transformation

Da wir diese Schnittstelle in einer Anwendung für Mobilgeräte verwenden werden, ist JSON das optimale Datenformat. Dieses Protokoll ist sowohl in Anwendungen für Mobilgeräte als auch in Mule äußerst benutzerfreundlich. Hier stellt sich folgende Herausforderung: Wir müssen die auf unserem Mobilgerät empfangenen JSON-Daten in ein Format umwandeln, das in SFDC geladen werden kann. Die Abbildung unten zeigt ein einfaches JSON-Datenobjekt und die von unserer Anwendung für Mobilgeräte empfangenen Datentypen.

Transport

Aushandlung von Transportprotokollen zwischen einem REST-basierten Service, der mit unserer Anwendung für Mobilgeräte interagiert; in unserem Fall mit dem SFDC-System über HTTP sowie einer zusätzlichen E-Mail-Verbindung, die das SMTP-Protokoll verwendet.

Orchestrierung

Eine Reihe von zugrunde liegenden Komponenten wird auf höherer Ebene zu einem einzelnen Service zusammengefasst. In diesem Anwendungsfall aggregieren wir eine Aktualisierung mit SFDC mit einem einfachen E-Mail-Service und stellen dies als REST-basierte Anwendung für Mobilgeräte mit einem einfachen Mule-Integrationsfluss dar. So wird alles miteinander verbunden.

Vermittlung

Vermittlung wird sich hier mit der Zeit als nützlich erweisen, wenn mehrere Versionen dieses Service für viele unterschiedliche Verbraucher:innen unterstützt werden müssen. Darüber hinaus kann (bei Bedarf) eine zusätzliche SOAP-Schnittstelle für diesen REST-basierten Service bereitgestellt werden. Dazu fügen Sie einfach die Vermittlungskomponente für die Anordnung von SOAP/XML und JSON hinzu.

Nicht-funktionale Konsistenz

Diese Anforderungen sind von Natur aus generisch und umfassen die Bereitstellung einer gemeinsamen Implementierung von Sicherheit, Protokollierung, Deployment, Management der Laufzeitkomponenten etc. Mule stellt die Funktionen bereit, die als Grundlage für diese Anforderungen notwendig sind.

Integrationskomponenten von Mule

Mule bietet eine einfache GUI für die Erstellung dieser Arten von Anwendungen. Für die Kommunikation mit einer Anwendung für Mobilgeräte muss zunächst ein mit einer REST-Komponente gekoppelter HTTP-Endpunkt verwendet werden. Dieser Schritt deckt die kompliziertesten Aspekte ab, die bei der Kommunikation mit Ihren Anwendungen für Mobilgeräte und Verwendung von JSON-Objekten entstehen. Darüber hinaus vereinfacht Mule den Prozess der Kommunikation mit dem CRM-System von Salesforce durch Bereitstellung eines „vorgefertigten“ Cloud-Konnektors. Sie ziehen den Konnektor einfach in Ihr Projekt, geben Ihren Benutzernamen und Ihr Token an und wählen die Funktion, die Sie aufrufen möchten. Der Prozess des Hinzufügens der Filterungslogik und der Kommunikation mit einem SMTP-Server zum Senden von E-Mails ist auch erheblich vereinfacht.

Das folgende Projekt wurde mit Mule Studio entwickelt.

Zusammenfassung

Was haben wir erreicht? Mit Mule haben wir gezeigt, wie einfach es sein kann, Ihre vorhandenen Anwendungen zu nutzen und sie in REST-Services auf höherer Ebene zusammenzustellen. Dies vereinfacht die Integration mit Anwendungen für Mobilgeräte.

Des Weiteren haben wir demonstriert, wie Sie mit dem vorgefertigten Konnektor von Mule im Nu Integrationen von Anwendungen für Mobilgeräte und Salesforce vornehmen können. Dies ist eine bemerkenswerte Leistung. Schließlich ist Integration eine der größten Herausforderungen, mit der Unternehmen bei der Einführung von Cloud-Technologien wie SFDC konfrontiert sind.

Mobilgeräte haben Vertriebskanäle für sehr viel größere Zielgruppen und Demografien zugänglich gemacht. Mit Mule können Sie auf die für diese Geräte erforderlichen neuen Interaktionsmodelle reagieren. Darüber hinaus lässt sich Mule auf einfache, skalierbare und zuverlässige Art in Ihre vorhandenen Systeme integrieren.