Parallele Konvois
In einem parallelen Konvoi können mehrere einzelne Nachrichten zusammengefasst werden, um ein gewünschtes Ergebnis zu erzielen. Die zugehörigen Nachrichten können in beliebiger Reihenfolge eingehen. Der Prozess wird jedoch erst gestartet, wenn alle Nachrichten von BizTalk Server empfangen wurden.
Wenn beispielsweise ein neuer Patient in einem Krankenhaus aufgenommen wird, benötigt das Krankenhaus einige Informationen vom Patienten, einschließlich Informationen zur Versicherung, die Krankengeschichte und Kontaktinformationen. Diese Informationen werden von verschiedenen Personen wie Versicherungsfachleuten, Krankenschwestern und Arzthelfern erfasst. Die Informationen werden von unterschiedlichen Systemen verarbeitet. Die Reihenfolge, in der diese Informationen erfasst und übermittelt werden, ist nicht sichergestellt. Die Informationen erfassenden Personen könnten beispielsweise mit anderen Patienten beschäftigt sein, die Abteilung für medizinische Aufzeichnungen kann den Zeitplan möglicherweise nicht einhalten, oder das Versicherungssystem funktioniert möglicherweise nicht ordnungsgemäß. Die Patienteninformationen müssen geordnet über den gesamten Zeitraum zusammengestellt werden, den der Patient im Krankenhaus verbringt. Hierdurch wird die angemessene Behandlung des Patienten und eine genaue Abrechnung sichergestellt.
Das oben beschriebene Szenario ist ein Beispiel für ein Geschäftsszenario, in dem die Nachrichtenverarbeitung mit parallelen Konvois erforderlich ist. Entsprechend den Geschäftsanforderungen müssen drei verschiedene Nachrichtentypen empfangen werden, bevor der Patient im Krankenhaus aufgenommen wird. Diese drei Nachrichten sind Versicherung, Krankengeschichte und Patient. Jede dieser Nachrichten für den Patienten kann als erste eingehen. Dies führt zu einer Racebedingung. Um dieses Problem zu beheben, werden drei Receive-Shapes in ein Shape für parallele Aktionen eingefügt, und jeder Empfang wird als Aktivieren = True markiert. Dadurch kann die Orchestrierung durch jede der drei Nachrichten gestartet werden. Die Orchestrierungsinstanz wartet, bis die anderen beiden Nachrichten eingehen, bevor die Verarbeitung fortgesetzt wird.
Sie können parallele Konvois mithilfe des Messaging-Entwurfsmusters "Parallel korrelierte Empfangsvorgänge" in BizTalk Server implementieren. Parallel korrelierte Empfangsvorgänge sind korrelierte Empfangsanweisungen in zwei oder mehr Branches eines Parallel Actions-Shapes . Wenn eine Korrelation in mehreren parallelen Aufgaben initialisiert wird, muss von jedem korrelierten Empfangsvorgang exakt der gleiche Satz von Korrelationen initialisiert werden. Die erste solche Aufgabe, die eine korrelierte Nachricht empfängt, führt die tatsächliche Initialisierung aus, und die Überprüfung wird für die anderen Aufgaben im Shape Parallel Actions in Orchestrierung ausgeführt.
Ein Beispiel für die Implementierung paralleler Konvoi finden Sie im SDK-Beispiel "Parallel Convoy" unter https://go.microsoft.com/fwlink/?LinkId=73703.