Messaging mit dem Service Bus ermöglicht die...

Read more

Sebastian Meyer, Microsoft & SAP...

Read more

Für Entwickler, Architekten, Projektleiter und...

Read more

In der Welt der Softwareentwicklung ist die...

Read more

QUIBIQ spendet für den guten Zweck – und für...

Read more

Eine bestimmte Antwort auf einen HTTP Request zu...

Read more

In einer Welt, die von stetigem Wandel geprägt...

Read more

In einem unserer Kundenprojekte, war das Ziel eine...

Read more

QUIBIQ Hamburg wird mit dem Hamburger...

Read more

Zwei Tage lang wurde vom 14.-15.11 wieder das...

Read more

How-to: Safely synchronize Azure Messages (from external systems) with BizTalk (without VPN)

In diesem Blogeintrag werden wir drei sichere und zuverlässige Wege aufzeigen, um Nachrichten von externen Systemen mit einer hybriden Architektur (Azure und BizTalk) zu empfangen.

BizTalk übernimmt in dieser Konstellation die Kommunikation mit On-Prem Systemen und ist im Internet nicht sichtbar. Wo hingegen Azure die komplette Kommunikation, die über das Internet realisiert ist, übernimmt. Ziel ist es, nur eine ausgehende Internetverbindung von dem On-Prem System (BizTalk) freizugeben. Dazu nutzen wir Azure Storage Services. Diese haben keine Wartungszeiten, weshalb kein Fallback Szenario benötigt wird. Ebenfalls werden die Nachrichten hier gepuffert, bis der BizTalk Server diese abholt.

Der Ablauf sieht also wie folgt aus:

  • Empfangen der Nachrichten von externen Systemen in Azure
  • Pullen der Nachrichten von Azure Storage Services im BizTalk

Pullen der Nachrichten von Azure im BizTalk

Folgende 3 Ansätze haben sich bei uns über die Zeit durchgesetzt:

  • Synchronisieren als Topic Event
  • Synchronisieren als Azure Blob
  • Synchronisieren als Event mit zugehörigem Blob

Welcher dieser Ansätze gewählt wird, hängt von den Anforderungen ab.


Synchronisieren als Topic Event

Dieser Ansatz kann gewählt werden, wenn kleine Nachrichten ohne zusätzliche Steuerungsdaten* synchronisiert werden sollen.

Erforderliche Ressourcen:

  • Azure Service Bus Namespace mit Topic und Subscription
  • BizTalk Service Bus Adapter

Einschränkungen:

Ablauf: 

Bei diesem Ablauf wird der Inhalt der empfangenen Nachricht als Inhalt der erstellten Service-Bus-Nachricht spezifiziert.


Synchronisieren als Azure Storage Blob

Dieser Ansatz kann gewählt werden, wenn große Nachrichten ohne zusätzliche Steuerungsdaten* synchronisiert werden sollen.

Erforderliche Ressourcen:

  • Azure Storage Account mit spezifiziertem Blob Container
  • BizTalk Azure Blob Storage Adapter

Ablauf:

Bei diesem Ablauf wird der Inhalt der empfangenen Nachricht als Inhalt des erstellten Blobs spezifiziert.


Synchronisieren als Topic Event mit zugehörigem Blob

Dieser Ansatz kann gewählt werden, wenn Nachrichteninhalte mit zusätzlichen Steuerungsdaten* synchronisiert werden sollen.

Erforderliche Ressourcen:

  • Azure Storage Account mit spezifiziertem Blob Container
  • Azure Service Bus Namespace mit Topic und Subscription
  • BizTalk Service Bus Adapter
  • Schema der Steuerungsdaten*
  • BizTalk Custom Pipeline
    • Die Pipeline muss den Blobpfad aus dem Steuerungsdatensatz extrahieren, den Blob herunterladen und als Nachrichteninhalt setzen. Hier können zusätzliche Properties promoted werden

Natürlich muss eine Nachricht in diesem Schema (Steuerungsdatenschema) an den Service Bus gegeben werden.

Einschränkungen:

Ablauf:

Bei diesem Ablauf wird der Inhalt der empfangenen Nachricht als Inhalt des erstellten Blobs spezifiziert. Danach wird der Pfad des erstellten Blobs und die zusätzlichen Steuerungsdaten* in der Struktur des erstellten Schemas als Inhalt der Service Bus spezifiziert.

*Steuerungsdaten sind hier Informationen, welche zur/während der Verarbeitung der Nachricht benötigt werden.

© QUIBIQ GmbH · Imprint · Data protection