Die Herausforderung: X.400 vs. AS2
Das seit mittlerweile 30 Jahren existierende X.400, welches auch unter den Namen Message Handling System, Telebox400 oder später BusinessMail X.400 bekannt ist, wird immer noch in vielen Firmen eingesetzt. Doch der Trend geht immer stärker hin zu AS2 (Applicability Statement 2). Doch warum ist dies so? Wird rein die Funktionalität des Versendens von EDI-Nachrichten und des Empfangens von Bestätigungen dieser betrachtet, so können X.400 und AS2 das Gleiche. Doch warum dann AS2 verwenden, wenn das bestehende System alles kann? Hierzu werden im Folgenden beide Systeme kurz erläutert.
X.400 ist eine Art E-Mail-System, bei dem Sie Ihre EDI-Nachrichten wie eine E-Mail an einen Empfänger versenden können. X.400 benötigt sowohl auf Sender als auch auf Empfängerseite ein Postfach. Zwischen diesen beiden Postfächern muss vereinfacht gesagt ein Dienst etabliert sein, der die Nachricht vom Sender zum Empfänger leitet. Die Postfächer sowie der Dienst zur Vermittlung der Nachricht wird bei X.400 ausschließlich durch die Telekom bereitgestellt. Dies bedeutet, dass wenn Sie via X.400 EDI-Nachrichten austauschen möchten, Sie und Ihr Handelspartner ein Postfach, sowie den Vermittlungsdienst bei dem Provider Telekom beziehen müssen. Einmal eingerichtet, können Sie EDI-Nachrichten mit Ihrem Handelspartner austauschen. Hierbei werden durch X.400 Empfänger und Absender von Nachrichten eindeutig identifiziert. Versenden Sie eine Nachricht an Ihren Partner kann dieser die Nachricht mit einem sogenannten Report (Bestätigungsnachricht) bestätigen. Somit wissen Sie, dass Ihre Nachricht angekommen ist. Hierbei ist zu beachten, dass Sie nicht direkt mit Ihrem Handelspartner kommunizieren, sondern mit dem Vermittlungsdienst des Providers. Der Empfänger kommuniziert ebenfalls nur mit dem Vermittlungsdienst. Zusätzlich, dass wie eingangs erwähnt X.400, bereits über 30 Jahre alt ist, oftmals von Downtimes bei X.400 Diensten berichtet wird, ist für jede Nachricht, den Dienst, sowie jedes Postfach, welches für X.400 genutzt wird eine Gebühr zu zahlen. Dies bedeutet, dass mit jedem Senden und Empfangen von Nachrichten neben der fixen Grundgebühr für die Nutzung des Services weitere Gebühren anfallen.
AS2 bietet hierfür eine kostengünstige Alternative. Ebenfalls wie X.400 wird AS2 zum Austausch von EDI-Nachrichten genutzt. Der Unterschied hierbei ist, dass die Kommunikation via HTTPS über das Internet möglich ist. Dies bedeutet, dass keine zusätzlichen Dienste o.Ä. bei Providern bezogen werden müssen und somit weitere Gebühren entfallen. Oftmals kommt nun die Frage auf, ob der Nachrichtenaustausch von Geschäftsdaten im freien Internet sicher ist. Hierzu bietet AS2 eine sichere Methode an, sodass Ihre Daten auch dort ankommen, wo sie sollen und kein Dritter mitlesen kann. Zum einen, werden Nachrichten wie bereits erwähnt via HTTPS (SSL bzw. TLS) übertragen. Zum anderen wird die eigentliche Nachricht, sofern Sie möchten, mittels Zertifikate (S/MIME-Standard) verschlüsselt und signiert. Dies bedeutet, dass Sie mit einem zuvor generierten Schlüssel Ihre Nachrichten verschlüsseln und signieren, diese im HTTPS-Kontext nochmals inklusive der HTTP-Metadaten (Von wem kommt die Nachricht? Wohin geht die Nachricht?)verschlüsselt werden und die Nachricht dann direkt zu Ihrem Handelspartner geschickt wird. Dieser entschlüsselt Ihre Nachricht und erhält somit die Daten. Zusätzlich zum Verschicken der Nachricht, kann vom Sender bestimmt werden, ob eine Bestätigung (genannt MDN) erhalten werden soll. Dies kann asynchron (zu einem späteren Zeitpunkt) oder synchron (direkt im HTTPS-Aufruf) geschehen. Die MDN gibt Ihnen als Sender Information darüber, ob Ihre Daten sauber auf Empfängerseite entgegen genommen werden konnten.
Zusammengefasst können also folgende Vor- und Nachteile genannt werden:
AS2:
- Gebühren für Dienste, Versenden von Nachrichten o.Ä. entfallen
- Direkte Kommunikation mit Ihrem Handelspartner
- Bestätigung über den sauberen Erhalt von Nachrichten auf Empfängerseite
- Zertifikatmanagement
X.400:
- Relative Sicherheit im Übertragungsverfahren durch X.400
- Zertifikatmanagement entfällt
- Alt!
- Postfächer, Dienste, Nachrichtenaustausch verursachen Gebühren
- Nur bei Telekom erhältlich
- Bestätigung über Erhalt von Nachrichten können erfolgen, müssen aber nicht
Die Lösung: AS2 on Azure
Azure bietet mit Logic Apps einen Dienst an, mit dem leistungsfähige Integrationslösungen erstellt werden können. Neben der visuellen Erstellung von Geschäftsprozessen können so EAI-, B2B/EDI-Prozesse automatisiert werden. Einen kurzen Überblick über die Möglichkeiten von Logic Apps liefert das folgende Video:
Wie einfach innerhalb von Logic Apps eine AS2-Anbindung erstellt ist, zeigt folgendes Szenario. Die Firma Fabrikam möchte an seinen Handelspartner Contoso Geschäftsdaten übertragen. Hierfür wird seitens Fabrikam folgendes benötigt:
- Azure Subcription
- Integration Account
- Logic Apps für das Senden und Empfangen von AS2-Nachrichten
- Ggf. Azure Key-Vault für Zertifikate zum Signieren und/oder Verschlüsseln
Die unten gezeigte Abbildung zeigt den Sende-Prozess der AS2-Nachricht. Hierbei wird in diesem vereinfachten Beispiel zeitlich eine Nachricht erzeugt. Die Beispielnachricht wird durch den von Logic Apps bereitgestellten Connector codiert und anschließend per http(s) versendet. Auf der Seite des Handelspartners Contoso wird die versendete AS2 Nachricht empfangen. Dies kann entweder ebenfalls per Logic Apps geschehen oder durch andere Technologien, wie beispielsweise BizTalk (hierzu später mehr). Angenommen seitens Contoso wird ebenfalls Logic Apps verwendet, dann würde der Empfangsprozess wie unten dargestellt aussehen. Via eines http(s)-Triggers würde die von Fabrikam versendete Nachricht empfangen und dekodiert werden. Anschließend würde geprüft werden, ob eine MDN erwartet wird. Diese kann bei Bedarf asynchron oder synchron zurückgeschickt werden.
Sende-Prozess einer AS2-Nachricht
Receive-Prozess einer AS2-Nachricht
Durch die beiden eben erwähnten Logic Apps kann der Kommunikationsprozess zwischen zwei Handelspartnern dargestellt und abgewickelt werden. Sicher werden Sie sich nun fragen, an welcher Stelle die Verschlüsselung oder Signierung der Nachrichten stattgefunden hat? Hierfür wird der Azure Integration Account sowie der Azure Key-Vault benötigt. Im Azure Key-Vault können Zertifikate eingebunden, einfach gepflegt und aktuell gehalten werden. Im Integration-Account werden für die Teilnehmer der AS2-Kommunikation sogenannte Partner angelegt. Ein Partner repräsentiert jeweils einen Kommunikationspartner. Zusätzlich zu den Partnern werden Agreements angelegt. Innerhalb dieser Agreements kann bestimmt werden, ob Nachrichten signiert und/oder verschlüsselt werden sollen (siehe rote Umrahmung untenstehender Abbildung).
Nachrichten können signiert und verschlüsselt werden
Das initiale Anlegen von Partnern sowie Agreements inklusive der für die Kommunikation benötigten Logic Apps, können automatisiert angelegt werden. Das Deployment hierfür kann via ARM-Template durchgeführt werden: Azure-Ressourcen-Manager.
Eingangs sowie im obigen Beispiel wurde erwähnt, dass AS2 sowohl in älteren etablierten Technologien als auch in neuen Technologien wie Azure verwendbar ist. Ein Paradebeispiel für ein Szenario, welches beide Technologien miteinander kommunizieren lässt, ist der Blogbeitrag von BizTalk360 (https://blogs.biztalk360.com/certificates-in-logic-apps-as2-connector/). Die untenstehende Abbildung entspringt dem eben erwähnten Blogbeitrag.
AS Kommunikation via BizTalk und Azure Logic Apps (Abbildung entspricht BizTalk360)
AS Kommunikation via BizTalk und Azure Logic Apps (Abbildung entspring BizTalk360)
Resümee
Zusammenfassend kann gesagt werden, dass AS2 mehr Vorteile bringt als X.400. Das alte X.400, wird immer mehr von der Einfachen Anbindung von AS2 verdrängt. Jegliche und weitere Szenarien, welche Sie bis jetzt mit Ihrem X.400 darstellen konnten, sind ebenfalls unter AS2 möglich. Ob Sie einen hybriden-, cloud- oder on-prem-basierten Austausch von EDI-Nachrichten möchten, mit AS2 ist dies lösbar.