Suche

über alle News und Events

 

Alle News

 

Wir haben während unseres...

Weiterlesen

Azure Functions benötigen oft einen...

Weiterlesen

In der heutigen Zeit nehmen Erreichbarkeit,...

Weiterlesen

Viele unserer Kunden überlegen derzeit, was sie in...

Weiterlesen

Lösungsansatz – was benötigt man dafür:

  • Einen...
Weiterlesen

Es gibt im Preview die Möglichkeit Azure Blob...

Weiterlesen

Die wichtigste Konferenz zu Integration auf der...

Weiterlesen

In diesem Blogeintrag werden wir drei sichere und...

Weiterlesen

Im vergangenen Jahr war bei uns in Hamburg viel in...

Weiterlesen

Heutzutage werden Token für die Authentifizierung...

Weiterlesen

How-to: Verarbeitung von großen Dateien im BizTalk Server

Der BizTalk Server hat eine super Message Engine und ist perfekt für Einzeldatenverarbeitung, Transformationen, Routing, usw. Aber es gibt Dinge, für die ist der BizTalk Server nicht geeignet.

Zum Beispiel ist der BizTalk Server nicht für eine Mensch-Maschine Interaktion geeignet, da es bei einzelnen Nachrichten zu einer höheren Latenz kommen kann. Denn der BizTalk ist für Durchsatz ausgelegt, d.h. er ist super schnell im parallelen Verarbeiten vieler Nachrichten, jedoch können einzelne eine höhere Latenz aufweisen.
Zum anderen ist der BizTalk nicht für große bis sehr große Dateien ausgelegt. Jetzt kann man die Frage stellen, ab wieviel KB oder MB oder GB eine Datei eigentlich groß ist. Die Erfahrung sagt, dass der BizTalk mit Dateien bis 10 MB problemlos umgehen kann. Problemlos heißt: Mindestens eine Datei pro Sekunde. Alles was größer als 10 MB ist, wird zwar verarbeitet, jedoch langsamer.

Bei unserem konkreten Fall wollte der Kunde Gigabyte-große Daten versenden. Bei so großen Daten muss die Datei an der MessageBox vorbei bewegt werden. Wie wir das erreicht haben, ist im Folgenden beschrieben.
 

Benötigte Komponenten

Pipeline:                        ReceiveLargeFilePipeline
Pipeline-Komponente:  ReceiveLargeFileComponent

Pipeline:                        SendLargeFilePipeline
Pipeline-Komponente:  SendLargeFileComponent

Schema:                       LargeFileMetaData.xsd
 

Schaubild

Das Schaubild zeigt folgendes Szenario:

  1. Große Datei wird abgelegt in einem File- Verzeichnis.
  2. Die Receive Pipeline holt die große Datei ab und die Receive Pipeline Komponente legt sie in ein Temp-Verzeichnis ab.
  3. Die Receive Pipeline-Komponente erstellt, nachdem die große Datei komplett ins Temp-Verzeichnis verschoben wurde, ein Metadaten-XML, dass oben genannten Schema LargeFileMetaData.xsd entspricht und sendet dieses an die MessageBox.
  4. Der SendPort ist auf den Nachrichtentyp abonniert und holt die Metadaten-XML. Hier ist unter anderem der komplette Temp-Pfad der großen Datei zu finden.
  5. Mit dieser Information holt die Pipeline die Datei aus dem temporären Verzeichnis und schickt diese an den Adapter (vorbei an der MessageBox), wie z.B. in einem FTP- Adapter.
     

Vorteile

  • Entlasten des SQL- Servers.
  • Große Dateien können trotzdem im BizTalk Server gemonitort werden.

Nachteile

  • Große Datei muss durch einen Cron-Job oder ähnliches selbst „aufgeräumt werden“.

 

Programmablaufpläne

Receive

Send

 

Viele Grüße, Ugur – QUIBIQ Stuttgart

Ihre Kontaktmöglichkeiten

Sie haben eine konkrete Frage an uns


 

Bleiben Sie immer auf dem Laufenden


 

Mit meinem "Ja" erkläre ich mich mit der Verarbeitung meiner Daten zur Zusendung von Informationen einverstanden. Ich weiß, dass ich diese Erklärung jederzeit durch einfache Mitteilung widerrufen kann. Bei einem Nein an dieser Stelle erhalte ich zukünftig keine Informationen mehr.

© QUIBIQ GmbH · Impressum · Datenschutz