CONNECTED Conference 2023 - Aufzeichnungen jetzt hier verfügbar +++                     

Suche

über alle News und Events

 

Alle News

 

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

Weiterlesen

In der Welt der Softwareentwicklung ist die...

Weiterlesen

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

Weiterlesen

Eine bestimmte Antwort auf einen HTTP Request zu...

Weiterlesen

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

Weiterlesen

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

Weiterlesen

QUIBIQ Hamburg wird mit dem Hamburger...

Weiterlesen

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

Weiterlesen

Was ist ein Excel-Plugin – und wann ist es...

Weiterlesen

Wir expandieren, bringen Kunden und Talente besser...

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