BizTalk Server 2010 - Cloud Object Storage · Dateiverarbeitung, FTP, E-Mail, Webservices ,...

60
Markus Widl BizTalk Server 2010 Administration, Entwicklung und Einsatz

Transcript of BizTalk Server 2010 - Cloud Object Storage · Dateiverarbeitung, FTP, E-Mail, Webservices ,...

Markus Widl

BizTalk Server 2010Administration, Entwicklung und Einsatz

9783836215459.book Seite 1 Freitag, 4. Februar 2011 1:08 13

Auf einen Blick

1 BizTalk Server-Einführung .................................................. 17

2 Einführung in die Entwicklung einer BizTalk-Anwendung ............................................................ 69

3 Einführung in die Administration einer BizTalk-Anwendung ............................................................ 181

4 BizTalk-Einsatz ................................................................... 225

5 Monitoring und Debugging ................................................ 391

9783836215459.book Seite 3 Freitag, 4. Februar 2011 1:08 13

7

Inhalt

Vorwort ................................................................................................... 13

1 BizTalk Server-Einführung ................................................... 17

1.1 Warum gerade BizTalk? .......................................................... 171.1.1 Kommunikation mit heterogenen Systemen ............. 171.1.2 Was macht BizTalk besser? ....................................... 20

1.2 BizTalk Server-Komponenten .................................................. 211.2.1 Messaging Engine .................................................... 211.2.2 Orchestration Engine ............................................... 221.2.3 B2B-Integration ....................................................... 241.2.4 Business Rules .......................................................... 241.2.5 Business Activity Monitoring .................................... 251.2.6 RFID ........................................................................ 261.2.7 Verwaltung und Überwachung ................................. 261.2.8 Tools ........................................................................ 27

1.3 BizTalk oder was? ................................................................... 271.3.1 BizTalk Server oder Windows Workflow

Foundation? ............................................................. 281.3.2 BizTalk Server oder SharePoint? ............................... 281.3.3 BizTalk Server oder AppFabric? ................................ 31

1.4 Editionen ................................................................................ 351.4.1 Enterprise Edition .................................................... 351.4.2 Standard Edition ...................................................... 351.4.3 Branch Edition ......................................................... 361.4.4 Developer Edition .................................................... 371.4.5 Enthaltene Adapter .................................................. 37

1.5 Installation ............................................................................. 401.5.1 Einrichten einer Entwicklungsumgebung .................. 401.5.2 Installation des BizTalk Servers ................................. 441.5.3 Installation des BizTalk Adapter Packs ...................... 63

1.6 BizTalk-Werkzeuge ................................................................. 631.6.1 Management-Konsole BizTalk Server

Configuration ........................................................... 641.6.2 Management-Konsole BizTalk Server

Administration ......................................................... 651.6.3 Entwicklungsumgebung Visual Studio ...................... 65

1.7 Zusammenfassung .................................................................. 68

9783836215459.book Seite 7 Freitag, 4. Februar 2011 1:08 13

Inhalt

8

2 Einführung in die Entwicklung einer BizTalk-Anwendung 69

2.1 XML, Flatfile, EDI ................................................................... 692.1.1 XML-Grundlagen ..................................................... 702.1.2 Flatfile-Grundlagen .................................................. 932.1.3 EDI-Grundlagen ....................................................... 94

2.2 Anlegen eines neuen BizTalk-Projekts ..................................... 972.3 Bestandteile einer BizTalk-Anwendung ................................... 101

2.3.1 BizTalk-Assemblys ................................................... 1022.3.2 Schemas .................................................................. 1032.3.3 Mappings ................................................................ 1042.3.4 Orchestrations ......................................................... 1052.3.5 Pipelines .................................................................. 1062.3.6 Nicht-BizTalk-Assemblys .......................................... 1072.3.7 Anwendungskonfiguration ....................................... 107

2.4 BizTalk Editor ......................................................................... 1082.4.1 Erstellung von Schemas mit dem BizTalk Editor ........ 1092.4.2 Erstellung von Schemas mithilfe von Assistenten ...... 118

2.5 BizTalk Mapper ...................................................................... 1292.5.1 Erzeugen von Links .................................................. 1312.5.2 Map Grid und Map Pages ........................................ 1332.5.3 Functoids ................................................................ 1342.5.4 Arbeiten mit großen Schemas .................................. 147

2.6 Orchestration Designer ........................................................... 1482.6.1 Orchestration View .................................................. 1492.6.2 Flussdiagramm ......................................................... 1532.6.3 Properties-Fenster ................................................... 1532.6.4 Toolbox ................................................................... 1532.6.5 Transaktionen .......................................................... 171

2.7 Pipeline Designer ................................................................... 1752.7.1 Pipeline-Stages ........................................................ 1762.7.2 Pipeline-Komponenten ............................................ 1772.7.3 Eigene Pipeline-Komponenten ................................ 1772.7.4 Standard-Pipelines ................................................... 178

2.8 Deployment im Entwicklungssystem ....................................... 1792.9 Zusammenfassung .................................................................. 180

3 Einführung in die Administration einer BizTalk-Anwendung 181

3.1 BizTalk Message Flow ............................................................. 1813.2 BizTalk-Anwendungen ............................................................ 184

9783836215459.book Seite 8 Freitag, 4. Februar 2011 1:08 13

Inhalt

9

3.3 BizTalk Server Administration Console .................................... 1863.3.1 Group Hub Page ...................................................... 1873.3.2 Platform Settings ..................................................... 1873.3.3 Anwendungen anlegen und entfernen ...................... 1933.3.4 Anwendungsbestandteile in der BizTalk

Server Administration Console ................................. 1943.3.5 Die Tore zur Welt: Ports .......................................... 196

3.4 Anwendungs-Deployment von BizTalk zu BizTalk ................... 2093.4.1 Deployment mit der BizTalk Server

Administration Console ............................................ 2103.4.2 Bindings übertragen ................................................. 2213.4.3 Deployment in der Kommandozeile ......................... 222

3.5 Zusammenfassung .................................................................. 223

4 BizTalk-Einsatz .................................................................... 225

4.1 Arbeiten mit Dateien .............................................................. 2294.1.1 Arbeitsweise ............................................................ 2294.1.2 Konfiguration ........................................................... 2314.1.3 Beispiel: Weiterleitung von Dateien ohne

Orchestrierung ......................................................... 2324.1.4 Beispiel: Weiterleitung von Dateien mit

Orchestrierung ......................................................... 2424.2 FTP-Adapter ansprechen ......................................................... 255

4.2.1 FTP im BizTalk Server 2010 ...................................... 2554.2.2 Voraussetzungen für den Einsatz .............................. 2554.2.3 Basiskonfiguration .................................................... 2564.2.4 Vorbereitungen ........................................................ 2574.2.5 Beispiel .................................................................... 2624.2.6 Read-Only-Dateien .................................................. 267

4.3 E-Mails empfangen und versenden ......................................... 2674.3.1 Arbeitsweise ............................................................ 2684.3.2 Optionen ................................................................. 2684.3.3 Basiskonfiguration .................................................... 2704.3.4 Vorbereitungen ........................................................ 2714.3.5 Beispiel .................................................................... 273

4.4 Webservices konsumieren und publizieren ............................. 2814.4.1 Arbeitsweise ............................................................ 2814.4.2 Basiskonfiguration .................................................... 2824.4.3 Beispiel 1: Konsumieren eines Webservice ............... 2824.4.4 Beispiel 2: Publizieren eines Webservice .................. 295

9783836215459.book Seite 9 Freitag, 4. Februar 2011 1:08 13

Inhalt

10

4.5 Zugriff auf SQL-Datenbanken .................................................. 3044.5.1 Arbeitsweise ............................................................ 3044.5.2 Basiskonfiguration .................................................... 3054.5.3 Beispiel .................................................................... 305

4.6 SharePoint-Anbindung mit und ohne InfoPath ........................ 3224.6.1 Arbeitsweise ............................................................ 3224.6.2 Einschränkungen ...................................................... 3244.6.3 Voraussetzungen ...................................................... 3254.6.4 Basiskonfiguration .................................................... 3264.6.5 Beispiel .................................................................... 327

4.7 Dynamics CRM-Anbindung ..................................................... 3464.7.1 Installation überlisten .............................................. 3464.7.2 Arbeitsweise ............................................................ 3484.7.3 Basiskonfiguration .................................................... 3494.7.4 Beispiel .................................................................... 349

4.8 Korrelationen und mehr ......................................................... 3614.8.1 Umsetzung ............................................................... 3624.8.2 Fertig? ..................................................................... 389

4.9 Zusammenfassung .................................................................. 390

5 Monitoring und Debugging ................................................ 391

5.1 Monitoring ............................................................................. 3915.1.1 Message Tracking ..................................................... 3925.1.2 Failed Message Routing ........................................... 4025.1.3 System Center Operations Manager ......................... 404

5.2 Debugging .............................................................................. 4105.2.1 Orchestration Debugging ......................................... 4105.2.2 Map Debugging ....................................................... 414

5.3 Zusammenfassung .................................................................. 416

A Anhang ................................................................................ 417

A.1 Kommandozeilenreferenz BTSTask.exe ................................... 417A.1.1 AddApp ................................................................... 417A.1.2 AddResource ........................................................... 418A.1.3 ExportApp ............................................................... 426A.1.4 ExportBindings ......................................................... 427A.1.5 ExportSettings .......................................................... 428A.1.6 ImportApp ............................................................... 428A.1.7 ImportBindings ........................................................ 429

9783836215459.book Seite 10 Freitag, 4. Februar 2011 1:08 13

Inhalt

11

A.1.8 ImportSettings ......................................................... 430A.1.9 ListApp .................................................................... 430A.1.10 ListApps .................................................................. 431A.1.11 ListPackage .............................................................. 431A.1.12 ListTypes ................................................................. 432A.1.13 RemoveResource ..................................................... 432A.1.14 RemoveApp ............................................................. 432A.1.15 UninstallApp ............................................................ 433

A.2 Administration mit Windows PowerShell ................................ 433A.2.1 Funktionen des BizTalkFactory

PowerShell Providers ............................................... 436A.2.2 Installation und Start des PowerShell-Providers ........ 436A.2.3 Navigationsparadigma ............................................. 438A.2.4 BizTalk-Cmdlets ....................................................... 440A.2.5 PowerShell-Scripte .................................................. 442

A.3 Inhalt des Downloadpakets .................................................... 443

Index ...................................................................................................... 445

9783836215459.book Seite 11 Freitag, 4. Februar 2011 1:08 13

13

Gleich geht’s los. Doch vorher möchte ich Ihnen noch kurz ein paar einleitende Sätze zum Inhalt dieses Buches mit auf den Weg geben.

Vorwort

Warum ein Buch zum BizTalk Server?

Natürlich gibt es auch zum Microsoft BizTalk Server 2010 im Web einige Web-sites und Blogs. Warum dann noch ein Buch dazu? Verglichen mit anderen Produk-ten wie Exchange und SharePoint spielt BizTalk im Web eine eher untergeordneteRolle, was letztendlich auch dem deutlich kleineren Verbreitungsgrad geschuldetist. Umso schwieriger ist es, eine gute, qualitativ gleichbleibende Quelle alsUnterstützung bei der Entwicklung und dem Betrieb von BizTalk-Anwendungenzu finden. Dieses Buch soll hier helfen, die Informationslücke zu füllen. Es ver-folgt keinen rein theoretischen Ansatz, sondern zeigt anhand einer Reihe vonSzenarien auch den konkreten Einsatz, um Ihnen zu helfen, das Gelernte in diePraxis umzusetzen.

An wen sich das Buch richtet?

Können Sie eine oder mehrere der folgenden Fragen mit »Ja« beantworten,könnte das Buch für Sie eine gute Unterstützung darstellen:

� Sie wollen wissen, wozu BizTalk eigentlich eingesetzt wird?

� Sie stehen vor der Frage, ob BizTalk das geeignete Produkt zur UmsetzungIhres nächsten Projekts ist?

� Sie wollen eine solide Basis im Umgang mit BizTalk erwerben?

� Sie wollen oder sollen eine BizTalk-Anwendung entwickeln, haben das abernoch nie oder nur in Teilaspekten gemacht?

� Ihre Entwickler haben eine BizTalk-Anwendung geschrieben, und Sie sollenjetzt die Administration übernehmen?

Ich setze in diesem Buch keine besonderen Vorkenntnisse voraus. Sie sollten aberein Basiswissen in der Programmierung mit einer beliebigen Sprache mitbringen.Es ist auch sehr hilfreich, wenn Sie schon einmal mit Visual Studio oder eineranderen ähnlich komplexen Entwicklungsumgebung gearbeitet haben. Kennt-nisse in C# sind von Vorteil, da einige Aspekte der Entwicklung einer BizTalk-

9783836215459.book Seite 13 Freitag, 4. Februar 2011 1:08 13

14

Vorwort

Anwendung mit dieser Programmiersprache erfolgen. Wenn Sie dann noch mitden im administrativen Umfeld gängigen Management-Konsolen umgehen kön-nen, besitzen Sie das nötige Handwerkszeug, um direkt richtig loszulegen.

An wen sich das Buch nicht richtet?

Beantworten Sie dagegen die folgenden Fragen mit »Ja«, ist vielleicht eine andereQuelle für Sie besser geeignet:

� Sie suchen eine umfassende und vor allem vollständige Beschreibung sämtli-cher BizTalk-Komponenten inklusive BAM, BRE und RFID?

Insbesondere diese Komponenten werden hier nur ganz am Rande angespro-chen. Eine angemessene Würdigung dieser Themen würde den Rahmen die-ses Buches deutlich sprengen.

� Sie verwenden den BizTalk Server bereits seit Jahren, haben mehrere Projektedamit umgesetzt und können die Entwicklung und Administration notfallsauch im Schlaf?

Dann schauen Sie sich die Inhaltsübersicht genau an, ob ich Ihnen mit diesemBuch nicht vielleicht doch noch ein paar neue Kenntnisse vermitteln kann.

Und der Inhalt?

Ich beginne in Kapitel 1, »BizTalk Server-Einführung«, mit einer allgemeinenEinführung in das Thema. Dazu gehören eine Betrachtung der mitgeliefertenKomponenten und eine Platzierung des BizTalk Servers neben der WindowsWorkflow Foundation, neben SharePoint und der AppFabric. Auch lernen Sie,welches Feature in welcher BizTalk-Edition fehlt. Damit Sie im weiteren Verlaufdes Buches auch mit BizTalk arbeiten können, werden die Installation, Konfigura-tion und die verschiedenen Werkzeuge grundlegend besprochen.

Es folgt daraufhin Kapitel 2, »Einführung in die Entwicklung einer BizTalk-Anwendung«. Da anwendungsintern bei BizTalk grundsätzlich mit XML-Techni-ken gearbeitet wird, beginnt das Kapitel mit einer Besprechung dieses Komple-xes. Auch Flatfile- und EDI-Strukturen werden betrachtet. Ein wichtiger Teilbesteht im Anlegen und Konfigurieren eines BizTalk-Projekts in Visual Studio. Sielernen daher hier die Bestandteile einer BizTalk-Anwendung kennen und die ver-schiedenen Designer, grafischen Editoren und Assistenten. Zuletzt wird dasDeployment Ihrer Anwendungen auf einen BizTalk Server zur Entwicklunggezeigt.

In Kapitel 3, »Einführung in die Administration einer BizTalk-Anwendung«,lernen Sie den Nachrichtenfluss und die daran beteiligten Komponenten und derenKonfiguration kennen. Sie arbeiten mit der Management-Konsole zur Adminis-

9783836215459.book Seite 14 Freitag, 4. Februar 2011 1:08 13

15

Vorwort

tration der Anwendungen und ihrer Bestandteile. Am Ende des Kapitels erfahrenSie mehr über die verschiedenen Möglichkeiten, eine fertige BizTalk-Anwendungauf mehrere Server zu verteilen.

Mit Kapitel 4, »BizTalk-Einsatz«, verfolgen Sie eine ganze Palette verschiedenerSzenarien, die Schritt für Schritt die Entwicklung, Konfiguration und den Testunterschiedlicher Einsatzgebiete beschreiben. Sie werden dabei die bishergewonnenen Kenntnisse umsetzen und noch einige weitere Details kennenler-nen. Dateiverarbeitung, FTP, E-Mail, Webservices, SQL-Datenbanken, SharePointund Dynamics CRM sind hier die wichtigsten Themen.

Da auch bei BizTalk-Anwendungen nicht immer alles glattgeht, lernen Sie inKapitel 5, »Monitoring und Debugging«, Techniken zur Nachverfolgung derverarbeiteten Nachrichten und zur Fehlersuche kennen.

Das Buch schließt mit einem »Anhang«, der verschiedene Administrationsmög-lichkeiten in der alten CMD.exe und der Windows PowerShell aufzeigt. Außerdemfinden Sie dort eine Beschreibung des Downloadpakets zu diesem Buch. Es sindnämlich auf der Bonus-Seite zu Ihrem Buch unter http://www.galileocomputing.de/bonus-seite alle Beispiele, insbesondere die Szenarien, zum Download für Siebereitgestellt. Weitere Informationen zur Nutzung der Bonus-Seite finden Sie aufder ersten, in blau gehaltenen Seite des Buches.

Manche Absätze sind mit dem rechts gezeigten Symbol gekennzeichnet. DieseAbsätze stellen Kommentare zu den entsprechenden Schritten dar. Ich möchteIhnen damit die einzelnen Aktionen näher vorstellen.

Dieses Icon sehen Sie bei Kästen, die Antworten auf wichtige Fragestellungengeben.

Das dritte dargestellte Symbol finden Sie bei Kästen, die zusätzliche Informatio-nen zum beschriebenen Themengebiet enthalten.

Dankeschön!

Ein Vorwort ist auch ein guter Platz, um all denen zu danken, die zum Entstehendieses Buches beigetragen haben. Zuerst genannt seien hier Jan Watermann, derden ersten Kontakt zu Galileo Press hergestellt hat, und Sebastian Kestel, meinLektor, der sich immer geduldig meiner Anliegen angenommen hat. Aber auchalle anderen Galileos sollen hier nicht unerwähnt bleiben, tragen sie doch imHintergrund einen großen Teil zum Entstehen dieses Buches bei.

Dank auch an Jens Gerecke von Microsoft, der das Fachlektorat übernommen hat.Dank seiner Hilfe hat so manche Erläuterung noch den letzten Schliff erhalten.

9783836215459.book Seite 15 Freitag, 4. Februar 2011 1:08 13

16

Vorwort

Auch möchte ich meiner Schwester Angelika Widl, die in Kürze ihr Studium desKommunikationsdesigns an der Hochschule für Gestaltung in SchwäbischGmünd abschließen wird, danken. Sie hat einige der Schaubilder dieses Buchesselbst erstellt.

Zu guter Letzt gilt mein Dank meiner Familie, insbesondere meiner Frau Bettinaund unseren beiden Kindern. Sie haben vor allem in den vergangenen Wochenöfter auf mich verzichten müssen, wenn ich mich wieder einmal zum Schreibenin mein Büro zurückgezogen habe.

Ihnen bzw. euch allen ein herzliches Dankeschön!

So, nun aber genug der Vorrede. Ich wünsche Ihnen viele neue Erkenntnisse undErfolg mit Ihren BizTalk-Projekten!

Schömberg,Markus Widl

[email protected]/markuswidl

9783836215459.book Seite 16 Freitag, 4. Februar 2011 1:08 13

17

BizTalk? Oder lieber Windows Workflow Foundation, AppFabric oder sogar SharePoint? Lesen Sie, wann BizTalk die richtige Wahl für Sie ist.

1 BizTalk Server-Einführung

Dieses Kapitel vermittelt Ihnen wichtige Basisinformationen zum Microsoft Biz-Talk Server 2010, zu seinen Einsatzgebieten und den mitgelieferten Komponen-ten. Sie lernen hier die unterschiedlichen Editionen und deren Bestandteile ken-nen. Darüber hinaus werden die Installation und die anschließende Konfigurationbesprochen. Das Kapitel schließt mit einer Vorstellung der BizTalk-Werkzeuge fürAdministratoren und Entwickler.

1.1 Warum gerade BizTalk?

Warum sollte sich mein Unternehmen dafür entscheiden, den BizTalk Server ein-zusetzen? Welche Vorteile ergeben sich dadurch? Wie kann ich Kosten sparen,wenn doch eine BizTalk-Lizenz nicht gerade billig ist? Warum entwickle ich dienötige Funktionalität nicht einfach selbst? Solche und ähnliche Fragen tretenimmer wieder auf, wenn das Gespräch auf den möglichen Einsatz des BizTalk Ser-vers zu sprechen kommt. In diesem Abschnitt versuche ich, diese Fragen einlei-tend zu klären.

Heutzutage arbeiten Unternehmen mit vielen unterschiedlichen Anwendungenauf unterschiedlichen Plattformen, etwa aus den Bereichen LOB (= Line of Busi-ness), CRM (= Customer Relationship Management) und ERP (= EnterpriseResource Planning). Diese Anwendungen laufen aber nicht isoliert auf jeweilseiner eigenen Insel. Zur Abbildung von Geschäftsprozessen ist eine Kommunika-tion zwischen den Anwendungen erforderlich, um Daten beispielsweise abzufra-gen oder abzugleichen.

1.1.1 Kommunikation mit heterogenen Systemen

Nehmen wir einen typischen Bestellprozess: Eine Kundenbestellung geht ein.Dies kann bereits über verschiedene Kanäle passieren, etwa über die firmenei-

9783836215459.book Seite 17 Freitag, 4. Februar 2011 1:08 13

18

BizTalk Server-Einführung1

gene Shop-Website, per Mail oder per Telefon. Diese Bestellung muss auf Plausi-bilität, Vollständigkeit und Korrektheit geprüft werden. Anschließend wird dasaktuelle Kreditlimit des Kunden ermittelt und daraufhin entschieden, ob dieBestellung automatisch freigegeben wird oder zunächst von einem Vertriebsmit-arbeiter manuell freigegeben werden muss. Das Kreditlimit wird dabei im CRM-System des Kunden verwaltet, mit dem dann eine entsprechende Kommunika-tion stattfinden muss.

Der manuelle Genehmigungsprozess soll über das Vertriebsportal im Intranetabgewickelt werden. Auch hier müssen entsprechende Daten ausgetauscht wer-den.

Wird die Bestellung freigegeben, kommt mit der ERP-Lagerverwaltung dasnächste System zum Einsatz. Der aktuelle Lagerbestand wird ermittelt. Reicht die-ser für die Bestellung nicht aus, soll automatisch beim Lieferanten eine Nachbe-stellung ausgeführt werden. Der voraussichtliche Liefertermin wird ermittelt.

Sobald die bestellten Produkte vorrätig sind, wird die Lieferung ausgeführt undbeim Zahlungsdienstleister eine Einzugsanweisung vorgenommen.

Natürlich soll der Kunde bei den einzelnen Prozessschritten über E-Mails undeine Webseite im Online-Shop auf dem Laufenden gehalten werden.

Der Vertriebsleiter und der Geschäftsführer wollen möglichst in Echtzeit prozess-übergreifend Einblick in die Vorgänge erhalten, etwa hinsichtlich der Bestell- undUmsatzzahlen und beispielsweise auch der Auswertungen der Dauer einzelnerProzessschritte. So ist es unter anderem von geschäftsentscheidender Bedeutung,wie lange durchschnittlich die manuelle Freigabe einer Bestellung durch einenVertriebsmitarbeiter dauert. Ist diese Dauer zu groß, mag das ein Hinweis auf dieNotwendigkeit sein, das Vertriebspersonal aufzustocken oder den Prozess anzu-passen.

Abbildung 1.1 gibt den, zugegebenermaßen vereinfachten, Prozess wieder.

An diesem fiktiven Beispiel sind bereits einige Aspekte zu erkennen, bei denenBizTalk eingesetzt werden kann. Wir haben dort unterschiedliche Systeme mitunterschiedlicher Datenhaltung. Über den Online-Shop werden die Bestellungenbeispielsweise in einer SQL-Datenbank abgelegt. Das CRM-System erlaubt keinendirekten Datenbankzugriff, bietet aber stattdessen eine Palette an Webserviceszur Abfrage an. Beim ERP-System könnte es ähnlich sein, nur die Webserviceshaben dann sicher einen anderen Aufbau.

9783836215459.book Seite 18 Freitag, 4. Februar 2011 1:08 13

19

Warum gerade BizTalk? 1.1

So haben wir es hier bereits bei der unternehmensinternen Kommunikation derAnwendungen untereinander mit unterschiedlichen Schnittstellen und Nachrich-tentypen zu tun, die zwischen den Anwendungen ausgetauscht werden müssen.Allerdings bleibt es oft nicht dabei. So müssen externe Handelspartner angebun-den werden, mit denen z. B. über EDI-Nachrichten (= Electronic Data Inter-change) kommuniziert wird.

Abbildung 1.1 Ein vereinfachter Bestellprozess

Natürlich könnten wir jetzt eine Anwendung mit der von uns favorisierten Pro-grammiersprache schreiben, doch ist der Aufwand beim Ansprechen der unter-schiedlichen Schnittstellen und Protokolle (SMTP für die Statusmails, SOAP/WCFfür Webservices unterschiedlichster Art etc.) enorm.

Bestellungvon Fahrrädern

ErfassungBestellung

ja

nein

nein

nein

ja

ja

Bonitätok?

Lagerbestandok?

ErstellungProduktionsauftrag

Lieferdatum

Klärungmit Kunden

Abbruch derBestellung

Warten aufEingang

Bestellungfehlender Teile

Eingangs-bestätigung

9783836215459.book Seite 19 Freitag, 4. Februar 2011 1:08 13

20

BizTalk Server-Einführung1

Die am Prozess beteiligten Daten müssen ständig in bestimmte Formate umge-wandelt werden, um der jeweiligen Anwendungsschnittstelle gerecht zu werden.Und wenn sich dann in Zukunft einmal eine Anwendungsschnittstelle ändertoder eine Anwendung komplett ersetzt wird, ist der Anpassungsaufwand erheb-lich.

Nicht selten entstehen hier oft schwer zu wartende »Codemonster«.

1.1.2 Was macht BizTalk besser?

Mit dem Einsatz des BizTalk Servers kann diese Problematik erheblich verringertwerden. BizTalk ist darauf ausgelegt, Nachrichten in den unterschiedlichsten For-maten aus unterschiedlichen Quellen zu empfangen, zu verarbeiten und an dieunterschiedlichsten Ziele zu senden. Out of the box werden Flatfile-, alsoTextstrukturen allgemein, XML- und EDI-Strukturen unterstützt. In den Marke-tingunterlagen ist hier von der Integration heterogener Systeme die Rede.

Um Sie als Entwickler beim Ansprechen unterschiedlicher Anwendungen, Daten-banken und Protokolle zu entlasten, wird BizTalk mit einer ganzen Palette soge-nannter Adapter für die unterschiedlichsten Einsatzgebiete ausgeliefert. So gibtes Protokolladapter (z. B. Dateizugriff, SMTP, POP3, FTP), Technologieadapter(z. B. Zugriff auf SQL-Datenbanken) und Anwendungsadapter (z. B. für DynamicsCRM und SharePoint).

Eine Übersicht über die mitgelieferten Adapter finden Sie in Abschnitt 1.4.5,»Enthaltene Adapter«.

Auch die Entwicklung eigener Adapter oder der Einkauf bei Drittherstellern istmöglich. Nutzen Sie diese Adapter, müssen Sie zwar das Nachrichtenformat fürdie jeweilige Anwendung berücksichtigen, Sie müssen sich dafür aber kaummehr mit der eigentlichen Schnittstelle auseinandersetzen.

Der WSS-Adapter für den SharePoint-Zugriff vereinfacht beispielsweise dieeigentlichen Webservice-Aufrufe. Statt entsprechenden Code zu entwickeln, wirdder Adapter konfiguriert.

Im Regelfall decken diese Adapter nicht die komplette Schnittstelle ab, aber dochzumindest die Basisfunktionalität. Wenn mehr erforderlich ist, steht der Weg, dieSchnittstelle über Code anzusprechen, immer noch offen.

Ein weiterer Vorteil liegt darin, dass unabhängig davon, wie die eingelesenenoder versendeten Nachrichten aussehen, BizTalk-intern Nachrichten immer alsXML-Struktur behandelt werden. Die Nachrichten werden also »normalisiert«,

9783836215459.book Seite 20 Freitag, 4. Februar 2011 1:08 13

21

BizTalk Server-Komponenten 1.2

wodurch sie dann mit den immer gleichen Werkzeugen verarbeitet werden kön-nen. Anwendungsbestandteile werden so universell einsetzbar.

Wenn Sie selbst über keinerlei XML-Kenntnisse verfügen, ist das kein Beinbruch.Zu Beginn des Kapitels 2, »Einführung in die Entwicklung einer BizTalk-Anwen-dung«, lernen Sie die notwendigen wesentlichen Grundzüge dieser Technologiekennen. Außerdem werden Sie oftmals statt direkt mit XML-Techniken wie XSD(= XML Schema), XPath (= XML Path Language) und XSLT (= XSL Transformation)mit vereinfachenden grafischen Designern und Assistenten arbeiten.

Zu guter Letzt denkt BizTalk nicht nur an die Produktivität der Entwickler, son-dern auch an die Administratoren, die letztendlich dafür Sorge tragen müssen,dass die fertigen Anwendungen auch in Produktivumgebungen unterbrechungs-frei laufen. Sollte das einmal nicht der Fall sein, müssen sie in der Lage sein, dieUrsache des Problems schnell zu erkennen und zu beheben. Dafür bringt BizTalkeine Reihe verschiedener Werkzeuge mit, die den Administrator bei seinen Auf-gaben wie Installation, Konfiguration, Deployment und Monitoring unterstüt-zen.

1.2 BizTalk Server-Komponenten

Der BizTalk Server setzt sich aus einer Reihe unterschiedlicher Komponentenzusammen. Nicht für jeden Einsatzfall sind immer alle Komponenten erforder-lich. Das Kernstück ist die Messaging Engine zur Nachrichtenverarbeitung.

1.2.1 Messaging Engine

Die Nachrichtenverarbeitung ist Aufgabe der Messaging Engine des BizTalk Ser-vers, eines der Herzstücke dieses Systems. Ihre Aufgaben sind folgende:

� Empfangen eingehender Nachrichten

� Ermittlung des Nachrichtenformats

� Auswertung der Nachrichten zur Bestimmung der Bearbeitung

� Auslieferung von Nachrichten an Empfänger

� Nachrichtenverfolgung

Der Messaging Engine steht aber noch eine ganze Reihe weiterer Komponentenzur Seite, wie Abbildung 1.2 zeigt.

9783836215459.book Seite 21 Freitag, 4. Februar 2011 1:08 13

22

BizTalk Server-Einführung1

Abbildung 1.2 Die Herzstücke des BizTalk Servers

Mit den meisten dieser Komponenten werden wir im Laufe dieses Buches arbei-ten. Doch zunächst einmal folgt eine kurze Erläuterung der einzelnen Kompo-nenten.

1.2.2 Orchestration Engine

Die Orchestration Engine arbeitet eng mit der Messaging Engine zusammen. Beider Entwicklung einer BizTalk-Anwendung können Sie Orchestrations anlegen.Diese stellen die Logik eines Programms dar, werden aber primär nicht über Pro-grammcode (z. B. Abfragen, Schleifen oder Funktionsaufrufe) entwickelt, son-dern über ein grafisches Flussdiagramm. Ein Beispiel dafür sehen Sie in Abbil-dung 1.3.

Die einzelnen Elemente, die sogenannten Shapes, besitzen Eigenschaften, überdie sie konfiguriert werden. Je nach Shape-Typ kann auch Programmcode hinter-legt werden.

BizTalk

Verwaltung und

Überwachung

B2B-Integration

BusinessActivity

Monitoring

RFIDBusiness

Rules

OrchestrationEngine

Tools

MessagingEngine

9783836215459.book Seite 22 Freitag, 4. Februar 2011 1:08 13

23

BizTalk Server-Komponenten 1.2

Abbildung 1.3 Mit einer Orchestration wird die Logik einer BizTalk-Anwendung entwickelt.

9783836215459.book Seite 23 Freitag, 4. Februar 2011 1:08 13

24

BizTalk Server-Einführung1

Solche Orchestrations werden über die Orchestration Engine ausgeführt, eine ArtWorkflow Engine. Sie nehmen die von der Messaging Engine empfangenen Nach-richten entgegen und verarbeiten sie entsprechend dem Flussdiagramm. DieOrchestrations befinden sich zusammen mit anderen Anwendungsbestandteilenin .NET-Assemblys, im BizTalk-Fall handelt es sich dabei um DLL-Dateien.

1.2.3 B2B-Integration

Hiermit ist die Anbindung von Handelspartnern (Trading Partners) gemeint (B2B= Business to Business), beispielsweise über den Austausch von EDI-Nachrichten.

Für jeden Handelspartner kann eine eigene Konfiguration angelegt werden,wobei der Umstand berücksichtigt wird, dass jeder Partner ein eigenes Nachrich-tenformat haben kann (und in der Praxis oft auch hat). Außerdem können ohneÄnderungen am eigentlichen Programmcode der Anwendung (den Orchestrati-ons) Handelspartner hinzugefügt und von dort wieder entfernt werden, und dasallein durch reine Konfiguration (siehe Abbildung 1.4).

Abbildung 1.4 Die Handelspartnerkonfiguration im BizTalk Server

1.2.4 Business Rules

Sie können in den Orchestrations auch Entscheidungen fest hinterlegen, bei-spielsweise unter welchen Bedingungen welches Versandunternehmen beauf-tragt werden soll. Dies hätte jedoch den Nachteil, dass bei jeder Änderung die

9783836215459.book Seite 24 Freitag, 4. Februar 2011 1:08 13

25

BizTalk Server-Komponenten 1.2

Orchestration und damit das .NET-Assembly angepasst werden müsste. Es wärealso auch ein Entwickler für derart alltägliche Änderungen erforderlich.

Mit der Business Rules-Komponente können Sie derartige Regeln vom Anwenderüber ein separates Tool, den Business Rule Composer, vornehmen lassen (sieheAbbildung 1.5).

Abbildung 1.5 Der Business Rule Composer zur Definition von Geschäftsregeln

Die Business Rules werden dann von Orchestrations aus aufgerufen, was dieÄnderung an Prozessen vereinfachen kann.

1.2.5 Business Activity Monitoring

Mithilfe der Business Activity Monitoring-Komponenten (BAM) können Sie Biz-Talk anweisen, die während der Ausführung auftretenden Daten zu protokollie-ren und in einer frei abfragbaren Datenbank und über das BAM-Portal (eine spe-zielle SharePoint-Anwendung) in Berichten bereitzustellen. Hiermit könnten

9783836215459.book Seite 25 Freitag, 4. Februar 2011 1:08 13

26

BizTalk Server-Einführung1

Auswertungen zu den bestellten Produkten, Umsatzzahlen und auch Zeitdauernfür einzelne Prozessschritte ermittelt werden (siehe Abbildung 1.6).

Abbildung 1.6 Das BAM-Portal zur Auswertung von Prozessdaten

1.2.6 RFID

Seit einigen Versionen besitzt BizTalk auch eine Out-of-the-box-Unterstützungvon RFID-Daten (= Radio Frequency Identification). Dieser Bereich kommt hierim Buch nicht weiter zur Sprache, da das Thema für eine ausreichende Würdi-gung zu viel Platz beanspruchen würde.

1.2.7 Verwaltung und Überwachung

Zur Verwaltung des BizTalk Servers, dort laufender Anwendungen und der Über-wachung des Nachrichtenaustauschs gibt es eine Palette an Werkzeugen undManagement-Konsolen. Ich werde Ihnen hier einige davon vorstellen (sieheAbbildung 1.7).

9783836215459.book Seite 26 Freitag, 4. Februar 2011 1:08 13

27

BizTalk oder was? 1.3

Abbildung 1.7 Mit der BizTalk Server Administration Console werden BizTalk-Anwendungen verwaltet.

1.2.8 Tools

Nicht zuletzt gibt es auch übergreifende Tools, wie eine Erweiterung von VisualStudio 2010, mit dem die Entwicklung von komplexen BizTalk-Anwendungenermöglicht wird.

1.3 BizTalk oder was?

Bei jedem neuen Projekt müssen Sie die Entscheidung treffen, auf Basis welcherProdukte und Technologien dieses umgesetzt werden soll. Manchmal gibt esdabei nicht die eine Lösung, sondern mehrere Alternativen oder eine Kombina-tion daraus. Dieser Abschnitt soll Ihnen eine Entscheidungshilfe an die Handgeben, wann BizTalk, die Windows Workflow Foundation, SharePoint (hier ins-besondere der Workflow-Bereich) und AppFabric jeweils ihre Vorteile ausspielenkönnen.

9783836215459.book Seite 27 Freitag, 4. Februar 2011 1:08 13

28

BizTalk Server-Einführung1

1.3.1 BizTalk Server oder Windows Workflow Foundation?

Nachdem Sie nun gelernt haben, dass der BizTalk Server mit der OrchestrationEngine auch eine Workflow Engine enthält, stellt sich die Frage, in welchen Sze-narien eher ein BizTalk Server und wann die Windows Workflow Foundation(WF) aus dem .NET Framework ab Version 3 zum Einsatz kommen sollte, insbe-sondere da Letztere von Microsoft kostenlos abgegeben wird. Ein wichtiges Ent-scheidungskriterium liegt in der erforderlichen Kommunikation der Lösung mitverschiedenen Anwendungen, Protokollen und Datenbanken. Als Faustregel giltdabei: Benötigen Sie für Ihre Lösung eine Workflow-Funktionalität, die sich pri-mär innerhalb einer Anwendung abspielt, ist das ein Hinweis auf die WF. Jemehr Kommunikation Sie mit Anwendungen (z. B. LOB-Anwendungen wie SAP,Dynamics NAV, Dynamics CRM), Protokollen (z. B. FTP, Webservices) undDatenbanken (z. B. SQL, Oracle) gemeinsam benötigen, umso eher kann hier derBizTalk Server für Sie von Vorteil sein. Einige Gründe, die dabei für BizTalk spre-chen, sind folgende:

� Ein zentraler Hub, über den die Kommunikation abgewickelt wird. Entspre-chend müssen Sie bei Änderungen am System, beispielsweise beim Austauscheiner beteiligten Anwendung, nur an einer Stelle Anpassungen vornehmen.

� Eine zentrale Stelle, die für die Überwachung und Fehlersuche bei Kommuni-kationsproblemen verantwortlich ist.

� Ein potenziell geringerer Entwicklungsaufwand, da der BizTalk Server bereitsout of the box mit seinen Adaptern die Verbindung zu diversen Anwendun-gen, Protokollen und Datenbanken über Konfigurationen aufbauen kann.

� Die Möglichkeit, Anwendungen über die Kommunikation und beteiligteDaten zu erstellen, etwa mithilfe der optionalen BizTalk-Komponente Busi-ness Activity Monitoring (BAM).

Die Entscheidung für BizTalk oder die WF hängt allerdings noch von vielen ande-ren Faktoren ab, z. B. von dem verfügbaren Budget, Kenntnissen der Entwicklerund der vorhandenen Serverinfrastruktur.

1.3.2 BizTalk Server oder SharePoint?

Neben der Frage, ob Workflows mit BizTalk oder der WF umgesetzt werden sol-len, steht vielleicht auch der mögliche Einsatz von SharePoint (also entweder derSharePoint Server 2010 oder die kostenlose Variante SharePoint Foundation2010) im Raum. Der Einfachheit halber ist im Folgenden verkürzt stets vonSharePoint die Rede.

9783836215459.book Seite 28 Freitag, 4. Februar 2011 1:08 13

29

BizTalk oder was? 1.3

Beide Produkte haben Stärken bei unterschiedlichen Workflow-Szenarien (sieheAbbildung 1.8).

Abbildung 1.8 Prozesse lassen sich in unterschiedliche Arten einteilen und werden von unter-schiedlichen Produkten abgedeckt.

Sie sehen im Diagramm vier verschiedene Prozessarten: Einzelperson, Team,Teamübergreifend und Unternehmensanwendungen. Die drei linken Arten erfor-dern eine hohe Benutzerinteraktion, etwa zur Genehmigung eines Dokuments.Hier kann SharePoint seine Stärke mit ausgefeilten Benutzeroberflächen imBrowser und mit der Integration in den Office-Applikationen ausspielen. BizTalkwäre hier nur schwer einzusetzen, da die Möglichkeit zur einfachen Benutzer-interaktion fehlt. Diese müsste über externe Lösungen realisiert werden.

Dagegen kann BizTalk bei der Prozessart am rechten Rand punkten. Durch dasAdapterkonzept ist die Kommunikation mit externen Systemen in BizTalk poten-ziell einfacher als in SharePoint, da die Schnittstellen dort oft aufwendig mit eige-nem Programmcode angesprochen werden müssen.

In manchen Situationen stellt sich aber nicht die Frage, ob BizTalk oder Share-Point zum Einsatz kommen soll, sondern es gibt auch Bereiche, in denen sich diebeiden Produkte ergänzen. Ein Beispiel: Der Geschäftsprozess »Bestellung« sollumgesetzt werden. Dazu müssen Daten aus verschiedenen Anwendungen ausge-lesen und hinterlegt werden. Außerdem muss eine dafür verantwortliche Personüber die Plausibilität und über die Freigabe entscheiden. Abbildung 1.9 veran-schaulicht dies anhand eines typischen BizTalk-Workflows mit einem hohenAnwendungskommunikationsanteil.

Einzelperson

Kollaborative Prozesse Transaktionelle Prozesse

SharePoint BizTalk

Team Teamüber-greifend

Unternehmens-anwendungen

E-Mail

InstantMessaging

Aufgabenliste

...

Dokument-freigabe

Reise-genehmigung

Urlaubs-genehmigung...

Spresen-abrechnung

Management

Dashboard

...

LOB-Anwendungen

Supply Chain

...

9783836215459.book Seite 29 Freitag, 4. Februar 2011 1:08 13

30

BizTalk Server-Einführung1

Abbildung 1.9 Ein typischer Workflow, wie er von BizTalk abgedeckt wird

Es fehlt hier jedoch der Genehmigungsschritt. Dieser könnte in SharePoint wie inAbbildung 1.10 aussehen.

Abbildung 1.10 Ein typischer Workflow, wie er von SharePoint ausgeführt wird

Zur Umsetzung der Lösung könnten nun beide Produkte gemeinsam dort einge-setzt werden, wo sie ihre jeweilige Stärke haben. BizTalk bei der Anwendungs-und SharePoint bei der Anwenderkommunikation. Kombiniert sieht der Work-flow wie in Abbildung 1.11 aus.

Ports

Orchestration

BizTalk Server

Shop-Anwendung

1 Bestell-eingang

2 Kunden- abfrage

3 Kunden- daten

4 Bestell- daten

CRM-AnwendungFulfillment-Anwendung

Adapter

Dokumenten-bibliothek

AufgabenlisteGenehmigung

Workflow

Sites

1 Workflow Start

2 Aufgaben in Aufga- benliste

4 Überprüfen Dokument

5 Genehmigen oder ablehnen

3 Überwachen Aufgaben- liste

WorkflowAusführer

WorkflowTeilnehmer

SharePoint

9783836215459.book Seite 30 Freitag, 4. Februar 2011 1:08 13

31

BizTalk oder was? 1.3

Abbildung 1.11 BizTalk und SharePoint arbeiten zusammen.

Das »führende« System wäre hier der BizTalk Server. Er erzeugt aus den ermittel-ten Daten ein Dokument, das in SharePoint abgelegt wird. SharePoint deckt dannden Genehmigungsprozess ab (Benachrichtigung der genehmigenden Person,Formulare etc.). BizTalk wartet auf das Ergebnis der Genehmigung und verfährtdann entsprechend.

1.3.3 BizTalk Server oder AppFabric?

Mit AppFabric stellt Microsoft eine weitere Middle-Tier-Technologie bereit. Hierstellt sich die Frage, wie diese gegenüber BizTalk platziert wird und ob BizTalk inZukunft vielleicht durch AppFabric ersetzt werden soll. Der Begriff AppFabric isteigentlich zu ungenau, denn es gibt zwei separate Produkte mit unterschiedlicherAusprägung, die beide auf AppFabric »hören«:

� Windows Azure AppFabric

� Windows Server AppFabric

Das erstgenannte Produkt gehört zum Cloud-Universum Microsoft Azure Plat-form, das zweite ist für die lokale Installation gedacht.

Dokumenten-bibliothek

WorkflowOrchestration

Sites

1 Bestell- eingang

2 Kunden- abfrage

3 Kunden- daten

6 Wenn genehmigt, Ausführung

4StartGeneh-migungs-Workflow

5 Geneh- migung oder Ablehnung

WorkflowTeilnehmerSharePointBizTalk Server

Ports

Adapter

Shop-Anwendung

CRM-Anwendung

Fulfillment-Anwendung

9783836215459.book Seite 31 Freitag, 4. Februar 2011 1:08 13

32

BizTalk Server-Einführung1

Windows Azure AppFabric

AppFabric richtet sich speziell an Anwendungsentwickler, die aus dem .NET Fra-mework 4 insbesondere die Komponenten WCF (= Windows Communication Foun-dation) und WF (= Windows Workflow Foundation) einsetzen. Dem .NET Frame-work fehlt bis heute ein geeignetes Middle-Tier-Hosting. AppFabric soll dieseLücke füllen, liefert es doch eine Serverinfrastruktur, mit der die auf Basis der WFentwickelte Geschäftslogik ausgeführt und über WCF angesprochen wird.

Windows Azure AppFabric ist eine von vier Kernbestandteilen aus der MicrosoftAzure Platform (siehe Abbildung 1.12). Diese sind:

� Windows Azure, die Betriebsumgebung oder, wie Microsoft es nennt, dasBetriebssystem für Azure-Anwendungen auf Basis des Windows Server 2008.

� SQL Azure, die Cloud-Variante des SQL Servers für relationale Datenbanken.

� Dallas, der Codename für einen Marketplace für kommerzielle und freieInformationen aller Art, die in eigenen Anwendungen genutzt und bereitge-stellt werden können. Beispiele hierfür sind Kartenmaterial, Börsenkurse,Wetterdaten, Nachrichten und Bilder. Auch das Publizieren als Datenanbieterist möglich.

� Windows Azure AppFabric, das hier näher vorgestellt wird und im Wesentli-chen aus den Komponenten Access Control Service (ACS) zur Authentifizie-rung und Autorisierung sowie einem Service Bus besteht, der als Kommuni-kationsinfrastruktur zwischen Anwendungen fungiert.

Abbildung 1.12 Die Komponenten des Microsoft Azure-Universums

Windows Azure AppFabric wurde während des Entwicklungszeitraums eine Zeitlang als BizTalk Services tituliert und danach auch noch als .NET Services.

Die über AppFabric kommunizierenden Anwendungen müssen dabei nichtzwangsweise in der Cloud ausgeführt werden, auch die Anbindung von On Pre-

Windows Azure Platform

Azure Services

Rechenleistung Speicherplatz Management

9783836215459.book Seite 32 Freitag, 4. Februar 2011 1:08 13

33

BizTalk oder was? 1.3

mise-Systemen, also lokal installierten Anwendungen, ist mit AppFabric möglich.Die Anwendungen müssen dabei noch nicht einmal zum selben Unternehmengehören. Dabei löst AppFabric ein wichtiges Problem: On Premise-installierteAnwendungen sind im Regelfall über eine Firewall von außen abgeschottet. Sol-len die Anwendungen aber über eine Schnittstelle verfügbar gemacht werden, istentweder eine Konfigurationsänderung an der Firewall, das Platzieren derAnwendung(sschnittstelle) innerhalb der DMZ (= Demilitarized Zone) oder einesExtranets erforderlich. Nicht so, wenn AppFabric zum Einsatz kommt. Die Kom-munikationspartner verbinden sich nicht direkt miteinander, sondern indirektüber AppFabric. Der Kommunikationsaufbau geschieht dabei vom innerengeschützten Netzwerk nach außen. AppFabric vermittelt dann die Kommunika-tion, läuft selbst aber in der Cloud, physisch also in Microsofts Rechenzentren.

Windows Server AppFabric

Windows Server AppFabric wird lokal installiert und erweitert die Management-Konsole der IIS (= Internet Information Services) um WCF-Konfigurationsoptio-nen. Dies war dringend nötig, denn die bisherige WCF-Konfiguration über denWCF Service Configuration Editor ist sowohl für Entwickler also auch Adminis-tratoren eine echte Herausforderung. Das AppFabric-eigene Dashboard sehen Siein Abbildung 1.13.

Abbildung 1.13 Die AppFabric-Konfiguration innerhalb der IIS-Konsole

9783836215459.book Seite 33 Freitag, 4. Februar 2011 1:08 13

34

BizTalk Server-Einführung1

BizTalk und AppFabric im Vergleich

Beide Produkte verfolgen ein ähnliches Ziel, die Kommunikation von Anwen-dungen untereinander zu regeln, doch sind ihre Ansätze unterschiedlich. Wäh-rend BizTalk nachrichtenorientiert ist (»XML Schema first«) ist AppFabric dienst-und workflowzentriert (»Code first«).

Im Vergleich zeigt sich, dass AppFabric zusammen mit WCF und WF aus dem.NET Framework 4 folgende Features abdeckt:

� Skalierbarer, zuverlässiger, überwachbarer Host, der auch Load Balancing (Last-verteilung) unterstützt

� Nachrichtenverfolgung und Archivierung

� Unterstützung von Suspend-/Resume- und Persistenz-Mechanismen

� Transaktionsverarbeitung

� Werkzeuge für Administratoren zur Verwaltung und Überwachung

BizTalk deckt diese Features ebenfalls ab, doch liefert er out of the box noch eini-ges mehr:

� Adapterkonzept

� Unterstützung von EDI, RFID, EDIFACT, X12, HL7, HIPAA, RosettaNet undSWIFT

� Auswerten von Flatfile-Strukturen

� Aufteilen einer großen Nachricht in mehrere kleine

� konfigurierbare Wiederholungsmechanismen für den Fehlerfall

� Business Activity Monitoring (BAM)

� Business Rules Engine (BRE)

� weiterführende grafische Werkzeuge und Assistenten für die Entwicklung

Diese Liste erhebt nicht den Anspruch, vollständig zu sein, hilft aber bei derBeantwortung der Frage, welches Produkt bei einer konkreten Aufgabenstellungzum Einsatz kommen soll. Manchmal geht es aber auch gar nicht um ein Entwe-der-oder, sondern um eine gemeinsame Lösung mit mehreren Komponenten.Auf dem Installationsmedium des BizTalk Servers finden Sie die optionale Kom-ponente AppFabric Connect, mit der BizTalk-Anwendungen direkt mit AppFabrickommunizieren können.

In diesem Buch spielt AppFabric aus Platzgründen keine weitere Rolle. Wir stür-zen uns hier ganz auf BizTalk.

9783836215459.book Seite 34 Freitag, 4. Februar 2011 1:08 13

97

Anlegen eines neuen BizTalk-Projekts 2.2

2.2 Anlegen eines neuen BizTalk-Projekts

Legen Sie ein neues BizTalk-Projekt an, gehen Sie grundsätzlich immer nach dengleichen Schritten vor. Nachdem Sie das Projekt in Visual Studio erstellt haben,sollten Sie auch gleich einige grundlegende Konfigurationen für das Deployment,das heißt das Übertragen der BizTalk-Anwendung aus Visual Studio heraus aufeinen Entwicklungs-BizTalk Server, vornehmen. Diese Angaben könnten Sie auchzu einem späteren Zeitpunkt angeben, aber wenn Sie es gleich nach dem Anlegendes Projekts machen, vergessen Sie es später nicht.

Zunächst legen Sie also ein neues Visual Studio-Projekt basierend auf der VorlageEmpty BizTalk Server Project an:

1. Starten Sie Visual Studio.

2. Wählen Sie den Menübefehl File � New � Project.

3. Im Vorlagenfenster wählen Sie die Kategorie BizTalk Projects und markierendort die Vorlage Empty BizTalk Server Project (siehe Abbildung 2.11).

Abbildung 2.11 Ein neues BizTalk-Projekt wird angelegt.

4. Geben Sie einen Namen für das neue Projekt an (hier TestProject) und einenPfad, unter dem alle zum Projekt gehörenden Dateien abgelegt werden sollen.

5. Visual Studio möchte außerdem einen Solution Name wissen. In einer Solu-tion können ein oder auch mehrere zusammengehörende Projekte zusam-mengefasst und gemeinsam geöffnet werden. Oftmals werden Sie nur eine

9783836215459.book Seite 97 Freitag, 4. Februar 2011 1:08 13

98

Einführung in die Entwicklung einer BizTalk-Anwendung2

Solution mit einem einzelnen Projekt anlegen. Behalten Sie aber stets im Hin-terkopf, dass in einer Solution auch mehrere Projekte enthalten sein können.Das macht die Verwaltung in größeren Szenarien einfacher. Die Solution kanneinen eigenen Namen haben, der nicht identisch mit dem Projekt sein muss(hier TestSolution).

Nachdem Visual Studio die Solution und das Projekt gemäß den Angaben erzeugthat, folgt nun die Basiskonfiguration. Hier sind zwei Punkte besonders wichtig:

� Deployment-Einstellungen für den Entwicklungs-BizTalk Server

� Angeben einer SNK-Datei (Strong Name Keyfile) zum Signieren des Assemblys

Diese Angaben nehmen Sie über folgende Schritte vor:

1. Im Menü Project wählen Sie den Eintrag TestProject Properties. Alternativdazu können Sie im Solution Explorer auch mit der rechten Maustaste auf denProjektnamen klicken und im sich daraufhin öffnenden Menü Properties aus-wählen. Es erscheint ein Fenster mit einigen Registerkarten (siehe Abbildung2.12).

Abbildung 2.12 Die Projekteigenschaften werden über verschiedene Registerkarten verwaltet.

9783836215459.book Seite 98 Freitag, 4. Februar 2011 1:08 13

99

Anlegen eines neuen BizTalk-Projekts 2.2

2. Wechseln Sie zur Registerkarte Deployment, und geben Sie unter Applica-

tion Name einen Namen für Ihre BizTalk-Anwendung ein (hier Test-Application). Diesen Namen werden Sie in der BizTalk Server Administra-

tion Console wiederfinden. Theoretisch könnten Sie den Namen auchweglassen, dann werden die Projektbestandteile auf dem BizTalk Server dersogenannten Default Application hinzugefügt. Allerdings ist es dann nichteinfach, alle zur Anwendung gehörenden Bestandteile zu erkennen undgetrennt voneinander zu verwalten.

3. Bei Server geben Sie den Namen Ihres BizTalk Servers an.

4. Unter Configuration Database wählen Sie die Management-Datenbank, diebei der Installation des BizTalk Servers angelegt wurde (siehe Abbildung 2.13).

Abbildung 2.13 Die Deployment-Einstellungen

5. Wechseln Sie nun zur Registerkarte Signing, und markieren Sie das Auswahl-feld Sign the assembly. In der Combobox wählen Sie den Eintrag New undgeben in dem sich daraufhin öffnenden Fenster einen beliebigen Dateinamenfür ein Keyfile und ein Kennwort an (siehe Abbildung 2.14).

6. Speichern Sie Ihre Angaben, oder schließen Sie das Eigenschaften-Fenster.

9783836215459.book Seite 99 Freitag, 4. Februar 2011 1:08 13

100

Einführung in die Entwicklung einer BizTalk-Anwendung2

Abbildung 2.14 BizTalk-Assemblys müssen für die Aufnahme in den GAC digital signiert werden.

Warum muss signiert werden?

Als Ergebnis des Visual Studio-Projekts wird ein .NET-Assembly in Form einer DLL-Dateierzeugt. Zur Ausführung der Anwendung auf dem BizTalk Server muss diese DLL-Dateiin den sogenannten GAC (= Global Assembly Cache) aufgenommen werden. Dabei han-delt es sich um den Ordner %windir%\Microsoft.NET\assembly (siehe Abbildung 2.15).Vielleicht kennen Sie als GAC auch den Ordner %windir%\assembly. Dieser kommt bei.NET Framework 2- bis 3.5-Assemblys zum Einsatz. Da eine Anwendung für den BizTalkServer 2010 als Target Framework gezwungenermaßen Version 4 voreingestellt hat,kommen die BizTalk-Assemblys auch in den neuen GAC vom .NET Framework 4. In ihmwerden globale Assemblys abgelegt, die systemweit zum Einsatz kommen sollen. Im GACkönnen auch mehrere Versionen desselben Assemblys abgelegt werden.

Damit ein Assembly in den GAC aufgenommen werden kann, muss es digital signiertwerden. Diese Aufgabe übernimmt Visual Studio mithilfe des Keyfiles, das dort automa-tisch erzeugt und zum Projekt hinzugefügt wird (Dateiendung PFX).

9783836215459.book Seite 100 Freitag, 4. Februar 2011 1:08 13

101

Bestandteile einer BizTalk-Anwendung 2.3

Abbildung 2.15 Im GAC des BizTalk Servers müssen die Assemblys abgelegt werden.

2.3 Bestandteile einer BizTalk-Anwendung

Je nach Szenario besteht eine BizTalk-Anwendung aus unterschiedlichen Kompo-nenten. Abbildung 2.16 skizziert diese Komponenten.

Die digitale Signatur ist aus Sicherheitsgründen erforderlich. Ein digital signiertesAssembly lässt sich nicht unbemerkt mit Schadcode ausstatten. Außerdem wird die Ver-sionsverwaltung des Assemblys mithilfe der Signatur durchgeführt. Visual Studio kanndas Assembly automatisch in den GAC des BizTalk Servers aufnehmen. Manuell wäredies mithilfe des Kommandozeilentools GACUTIL.EXE möglich, das Bestandteil des .NETFrameworks ist.

9783836215459.book Seite 101 Freitag, 4. Februar 2011 1:08 13

102

Einführung in die Entwicklung einer BizTalk-Anwendung2

Abbildung 2.16 Eine BizTalk-Anwendung besteht aus Assemblys und aus dem Binding.

Das Schaubild zeigt BizTalk-Assemblys, Nicht-BizTalk-Assemblys sowie eine Kon-figuration, das Binding. Während die Assemblys im GAC abgelegt werden, wirddie Konfiguration in der Management-Datenbank des BizTalk Servers abgelegt,die während der Installation erzeugt wurde.

All diese Bestandteile, also Assemblys plus Konfiguration, machen eine BizTalk-Anwendung aus, und sie werden auch zusammen verwaltet.

2.3.1 BizTalk-Assemblys

Ein wesentlicher Bestandteil einer BizTalk-Anwendung ist das bzw. sind die Biz-Talk-Assemblys. Dabei handelt es sich um .NET-Assemblys, die in Form von DLL-Dateien mithilfe von Visual Studio und den dort integrierten BizTalk-Entwickler-komponenten erstellt werden. Ein solches Assembly kann folgende Inhaltehaben:

� Schemas

� Mappings

� Orchestrations

� Pipelines

Nicht jede Anwendung erfordert alle vier Komponenten, doch werden Sie dieseoft gemeinsam antreffen. Man spricht hierbei auch von den sogenannten BizTalk-Artefakten. Diese Bestandteile können in einem einzelnen Assembly oder aufge-teilt in mehreren Assemblys vorhanden sein und sogar mehrfach in verschiede-nen Versionen in unterschiedlichen Assemblys.

Es stellt sich hier die Frage, welche Aufgabe diese Elemente jeweils haben.

BizTalk Assembly(s)

Biz

Talk

-Anw

endu

ngen

Schema(s)

Funktionsbibliothek

Konfiguration Ports

Map(s) Orchestration(s) Pipeline(s)

Nicht-BizTalk Assembly(s)

Binding

9783836215459.book Seite 102 Freitag, 4. Februar 2011 1:08 13

103

Bestandteile einer BizTalk-Anwendung 2.3

2.3.2 Schemas

Damit Ihre BizTalk-Anwendung sinnvoll auf die Werte von eingehenden Nach-richten zugreifen kann, muss der Aufbau der Nachricht bekannt sein. Dazugehört beispielsweise, welche Elemente und Attribute vorhanden sind, ihre Rei-henfolge, ob sie sich wiederholen können, welche Datentypen vorliegen etc.Man spricht hier vom sogenannten Nachrichtenschema.

Dieses Schema ist nicht nur für eingehende Nachrichten wichtig, sondern auchfür ausgehende sowie für Nachrichten, die nur anwendungsintern zum Einsatzkommen. Nachrichtenschemas erzeugen Sie in Visual Studio mit dem BizTalkEditor aus den Entwicklerkomponenten des BizTalk Servers (siehe Abbildung2.17).

Abbildung 2.17 Mit dem BizTalk Editor definieren Sie Nachrichtenschemas.

Im BizTalk Editor manipulieren Sie nicht den XSD-Code im rechten Bereich desFensters, sondern links die Baumstruktur. Über das Properties-Fenster (normaler-weise rechts unten in Visual Studio befindlich) geben Sie Zusatzinformationenwie Datentypen an.

9783836215459.book Seite 103 Freitag, 4. Februar 2011 1:08 13

104

Einführung in die Entwicklung einer BizTalk-Anwendung2

Können Sie das Nachrichtenschema nicht frei definieren, weil es beispielsweisevon einer Anwendung oder einem Kommunikationspartner bereits festgelegtwurde, hilft oft der Einsatz eines Assistenten, mit dessen Hilfe Sie das Schemavon bestehenden Nachrichtendateien halb automatisch auslesen können.

Den BizTalk Editor lernen Sie in Abschnitt 2.4 noch näher kennen.

2.3.3 Mappings

Oft müssen Sie die Werte aus Nachrichten, die einem bestimmten Schema folgen,in andere Nachrichten mit unterschiedlichem Schema überführen. Diese Bezie-hungen definieren Sie über den BizTalk Mapper aus den Entwicklerkomponen-ten des BizTalk Servers in Visual Studio (siehe Abbildung 2.18).

Abbildung 2.18 Mit dem BizTalk Mapper legen Sie Beziehungen zwischen Quell- und Ziel-schemas fest.

Im BizTalk Mapper geben Sie links das Quell- und rechts das Zielschema an.Natürlich müssen Sie vorher diese Schemas bereits definiert haben. Über Verbin-

9783836215459.book Seite 104 Freitag, 4. Februar 2011 1:08 13

105

Bestandteile einer BizTalk-Anwendung 2.3

dungslinien setzen Sie die Schemas in Beziehung. Dabei ist oft keine 1:1-Zuord-nung möglich, sondern der unterschiedliche Nachrichtenaufbau, andere Datenty-pen etc. müssen berücksichtigt werden. Auch kann es durchaus sein, dass für dieneue Nachricht Berechnungen durchgeführt (z. B. Anzahl × Preis) oder Werte auseiner Datenbank nachgeschlagen werden müssen (z. B. Produktinformationen,basierend auf einer ID aus der Quellnachricht). In diesen Fällen setzen Sie diesogenannten Functoids aus der Toolbox im BizTalk Mapper ein. Es handelt sichdabei um Funktionsbausteine aus den folgenden Bereichen:

� String Functoids

� Mathematical Functoids

� Logical Functoids

� Date/Time Functoids

� Conversion Functoids

� Scientific Functoids

� Cumulative Functoids

� Database Functoids

� Advanced Functoids

Die Functoids platzieren Sie auf dem sogenannten Map Grid zwischen Quell- undZielschema und stellen die Verbindung zwischen den Schema-Einträgen und denFunctoids her.

In der Toolbox finden Sie auch das Scripting-Functoid, bei dem Sie Programm-code, z. B. in Form einer in C# geschriebenen Funktion, hinterlegen können, umNachrichtenwerte zu verarbeiten. Mit diesem Functoid stellen Sie auch spezielleFunktionen bereit, die in der Functoids-Liste nicht berücksichtigt sind. Mappingstragen in Visual Studio die Dateiendung BTM.

Abschnitt 2.5 beschreibt den BizTalk Mapper im Detail.

2.3.4 Orchestrations

Mit Orchestrations definieren Sie die Logik Ihrer BizTalk-Anwendung. An Stellen,an denen Sie bei herkömmlichen Anwendungen Programmcode schreiben wür-den, legen Sie bei einer BizTalk-Anwendung Orchestrations an. Diese werdenüber den Orchestration Designer aus den Entwicklertools des BizTalk Servers inVisual Studio als Flussdiagramm erzeugt (siehe Abbildung 2.19). Mit einerOrchestration definieren Sie, was wie und in welcher Reihenfolge mit eingehen-den Nachrichten passieren soll. Orchestrations tragen in Visual Studio die Datei-endung ODX.

9783836215459.book Seite 105 Freitag, 4. Februar 2011 1:08 13

106

Einführung in die Entwicklung einer BizTalk-Anwendung2

Der Orchestration Designer wird in Abschnitt 2.6 näher vorgestellt.

Abbildung 2.19 Mit dem Orchestration Designer definieren Sie die Logik Ihrer BizTalk-Anwendung.

2.3.5 Pipelines

Eingehende und ausgehende Nachrichten werden in BizTalk über Pipelines ver-arbeitet, etwa zum Entkomprimieren/Komprimieren, Entschlüsseln/Verschlüs-seln etc. BizTalk liefert eine Reihe von Pipelines für Standardszenarien mit. Rei-chen diese für Ihre BizTalk-Anwendung nicht aus, entwerfen Sie über denPipeline Designer aus den BizTalk Server-Entwicklertools in Visual Studio eigenePipelines (siehe Abbildung 2.20).

In Visual Studio wird dabei zwischen Receive Pipelines und Send Pipelines unter-schieden, die jeweils aus unterschiedlichen Stufen bestehen, den sogenanntenStages. Die Dateiendung von Pipelines lautet BTP.

Mehr zum Pipeline Designer lesen Sie in Abschnitt 2.7.

9783836215459.book Seite 106 Freitag, 4. Februar 2011 1:08 13

107

Bestandteile einer BizTalk-Anwendung 2.3

Abbildung 2.20 Mit dem Pipeline Designer entwerfen Sie eigene Pipelines.

2.3.6 Nicht-BizTalk-Assemblys

Neben dem/den BizTalk-Assemblys/-Assembly können zu den Bestandteileneiner Anwendung auch noch weitere .NET-Assemblys gehören, die an sich vonBizTalk unabhängig sind und beispielsweise Funktionsbibliotheken enthalten.Diese Funktionen können von den BizTalk-Assemblys aus aufgerufen werden.

2.3.7 Anwendungskonfiguration

Doch nur die Assemblys allein machen noch keine lauffähige BizTalk-Anwen-dung aus, auch wenn sie wichtige Bestandteile davon enthalten. Es fehlt noch dieKonfiguration, das sogenannte Binding. Dabei handelt es sich um wesentlicheEinstellungen, etwa Receive Ports und Send Ports, die Ein- und Austrittspunkte fürNachrichten in und aus BizTalk-Anwendungen und gegebenenfalls auch dieZuordnung dieser Ports zu den Orchestrierungen aus den Assemblys.

9783836215459.book Seite 107 Freitag, 4. Februar 2011 1:08 13

225

Genug der Theorie. Verfolgen Sie nun Schritt für Schritt verschiedene Einsatz-Szenarien.

4 BizTalk-Einsatz

Beim Lesen der vorangegangenen Kapitel haben Sie viele Konzepte, Funktionenund Verfahrensweisen des BizTalk Servers kennengelernt. Es ist nun Zeit, daserworbene Wissen anhand verschiedener Szenarien in die Praxis umzusetzen.

Ich empfehle Ihnen, zu Beginn insbesondere das erste Szenario in Abschnitt 4.1,»Arbeiten mit Dateien«, durchzugehen, da dort einige sich immer wiederholendeSchrittfolgen besprochen werden. Ob Sie dann alle weiteren Szenarien sequen-ziell bearbeiten oder je nach Lust und Laune zu bestimmten Szenarien springen,überlasse ich Ihnen.

Bei der jeweiligen Szenariobeschreibung finden Sie auch Hinweise, in welchemBeispiel welcher Adapter und welche BizTalk-Artefakte zum Einsatz kommen.Das gibt Ihnen die Möglichkeit, gezielt bestimmte Beispiele anzusteuern.

Ein umfassendes Szenario finden Sie in Abschnitt 4.8, »Korrelationen und mehr«.

Überblick über die behandelten Szenarien

Szenario 1: Arbeiten mit DateienMittelpunk des Szenarios bildet der File-Adapter. Nach einer Einführung in die-sen Adapter werden zwei Beispiele besprochen:

� Beispiel 1: Weiterleitung von Dateien ohne Orchestration

Dateien werden mit dem File-Adapter aus Ordner A gelesen und in Ordner Babgelegt. Dabei wird die Konfiguration der Anwendung mit Receive Port undSend Port besprochen. Der Send Port wird über einen Filter angewiesen, dieempfangenen Nachrichten weiterzuleiten.

Aufgeführte Beispiele zum Download

Auf der Bonus-Seite zu diesem Buch, die Sie unter http://www.galileocomputing.de/bonus-seite finden, können Sie die Visual Studio-Projekte aller hier aufgeführten Bei-spiele herunterladen.

9783836215459.book Seite 225 Freitag, 4. Februar 2011 1:08 13

226

BizTalk-Einsatz4

Eingesetzte BizTalk-Adapter: File

Eingesetzte BizTalk-Artefakte: –

� Beispiel 2: Weiterleitung von Dateien mit Orchestration

Als Erweiterung von Beispiel 1 wird das Verarbeiten der eingelesenen Nach-richt nicht über einen Filter des Send Ports realisiert, sondern über eineOrchestration. Das Anlegen einer einfachen Orchestration und das Deploy-ment des Visual Studio-Projekts werden hier ausführlich erläutert.

Eingesetzte BizTalk-Adapter: File

Eingesetzte BizTalk-Artefakte: Orchestration

Szenario 2: FTP-Server ansprechenNach der Besprechung des FTP-Adapters wird das Entwicklungssystem um dieoptionale FTP-Komponente der IIS erweitert, damit ein FTP-Server für das Szena-rio vorhanden ist. Wie im ersten Szenario geht es hier um die grundsätzlicheArbeitsweise des Adapters. Auch hier wird ein Ordner eines FTP-Servers über-wacht, Dateien werden ausgelesen und in einem weiteren FTP-Ordner abgelegt.Eine Orchestration kommt nicht zum Einsatz.

Eingesetzte BizTalk-Adapter: FTP

Eingesetzte BizTalk-Artefakte: –

Szenario 3: E-Mails empfangen und versendenIn diesem Szenario werden die Adapter POP3 und SMTP besprochen. Für das Bei-spiel wird gezeigt, wie das optionale Feature SMTP-Server des Windows Server2008 R2 installiert und konfiguriert wird, um das Beispiel selbst nachvollziehenzu können. Dort werden mithilfe des SMTP-Adapters E-Mails versendet. DerInhalt der E-Mail wird dabei über eine dynamische Konfiguration mithilfe einigerC#-Codezeilen innerhalb einer Orchestration definiert.

Der Ablauf gestaltet sich wie folgt: Ein Schema für eingehende XML-Dateien wirdangelegt. Diese Dateien sollen über den File-Adapter eingelesen werden, unddaraufhin soll eine Orchestrationinstanz starten. Die Datei enthält die Angabenfür die E-Mail. In der Orchestration wird ein dynamischer Send Port mit demSMTP-Adapter konfiguriert und der Versand in die Wege geleitet.

Eingesetzte BizTalk-Adapter: SMTP, File

Eingesetzte BizTalk-Artefakte: Schema, Orchestration

9783836215459.book Seite 226 Freitag, 4. Februar 2011 1:08 13

227

BizTalk-Einsatz 4

Szenario 4: Webservices konsumieren und publizierenDer Zugriff und die Bereitstellung auf Webservices werden in diesem Szenarioüber die Adapter WCF-Basic-Http und WCF-WSHttp durchgeführt. Besprochenwerden zwei Beispiele:

� Beispiel 1: Konsumieren eines Webservice

Über ein separates Visual Studio-Projekt wird ein einfacher Webservice aufBasis von WCF entwickelt und gestartet (Addition zweier Zahlen und Rück-gabe der Summe). Mithilfe des BizTalk WCF Service Consuming Wizard wer-den dann für diesen Webservice die notwendigen Schemas und eine Orches-tration erzeugt. Über eine Eingangsnachricht, die die zwei zu addierendenZahlen enthält, wird die Orchestration-Instanz gestartet. Die Daten aus derDatei werden dann über ein Mapping in das erforderliche Nachrichtenformatüberführt, und der Aufruf des Webservice wird durchgeführt. Das Ergebniswird in eine Datei geschrieben.

Eingesetzte BizTalk-Adapter: WCF-Basic-Http

Eingesetzte BizTalk-Artefakte: Schema, Map, Orchestration

� Beispiel 2: Publizieren eines Webservice

Eine Orchestration wird als Webservice über eine IIS Web Site publiziert undvon einer separaten C#-Konsolenanwendung aus angesprochen. Das Publizie-ren des Webservice wird mithilfe des BizTalk WCF Service Publishing Wizardvorgenommen.

Eingesetzte BizTalk-Adapter: WCF-WSHttp

Eingesetzte BizTalk-Artefakte: Schema, Orchestration

Szenario 5: Zugriff auf SQL-DatenbankenFür den Zugriff auf SQL-Datenbanken wird der WCF-SQL-Adapter aus demBizTalk Adapter Pack herangezogen. Im Beispiel werden für eine Flatfile-Dateiein passendes Schema sowie eine Receive Pipeline angelegt, um entsprechendaufgebaute Dateien in der Anwendung auswerten zu können. Diese Dateienenthalten Informationen zu neuen Produkten. Mit dem Add Adapter Wizardwerden die nötigen Schemas einer Produkttabelle aus einer SQL-Datenbankerzeugt. Die Produktdaten aus der Datei sollen dieser Tabelle hinzugefügtwerden.

Eingesetzte BizTalk-Adapter: WCF-Custom mit sqlBinding (Send)

Eingesetzte BizTalk-Artefakte: Schema (Flatfile und XML), Orchestration, Pipeline

9783836215459.book Seite 227 Freitag, 4. Februar 2011 1:08 13

228

BizTalk-Einsatz4

Szenario 6: SharePoint-Anbindung mit und ohne InfoPathIm Szenario werden die Komponenten des WSS-Adapters sowie seine Installa-tion, Konfiguration und potenzielle Einsatzgebiete mit und ohne InfoPath fürden Zugriff auf SharePoint-Inhalte besprochen.

Im Beispiel wird dann zunächst ein Schema erzeugt. Dieses Schema fungiert alsGrundlage für ein InfoPath-Formular. Das Formular wird in einer SharePoint-For-mularbibliothek als Vorlage publiziert. Ausgefüllte Formulare werden in derBibliothek abgelegt.

Diese Bibliothek wird dann in einer BizTalk-Anwendung vom WSS-Adapter alsNachrichtenquelle überwacht. Eingegangene Nachrichten werden ausgewertet,in einem Mapping diverse Berechnungen durchgeführt, und das Ergebnis wird ineiner weiteren SharePoint-Bibliothek abgelegt.

Eingesetzte BizTalk-Adapter: WSS

Eingesetzte BizTalk-Artefakte: Schema, Map, Orchestration

Szenario 7: Dynamics CRM-AnbindungGrundlage für die Dynamics CRM-Anbindung ist hier der separat erhältlicheCRM-Adapter von Microsoft. Die Installation und Konfiguration des Adapterswird hier besprochen.

Im darauf folgenden Beispiel wird ein Schema für die Eingangsnachrichtenerzeugt. Diese werden über den File-Adapter eingelesen und enthalten Daten fürneue Kontakte zum Anlegen im CRM-System. Auch hier erzeugt ein Assistent dienotwendigen Schemas. Es wird ein Mapping angelegt, das die Werte der Ein-gangsnachricht in ein Format bringt, wie es der CRM-Adapter voraussetzt. DieAntwort des Adapters wird über den File-Adapter ins Dateisystem geschrieben.

Eingesetzte BizTalk-Adapter: CRM, File

Eingesetzte BizTalk-Artefakte: Schema, Map, Orchestration

Szenario 8: Korrelationen und mehrDas letzte Szenario fasst einige Punkte der bisherigen Szenarien zusammen undverwendet mit der Korrelation eine bisher nur theoretisch angesprochene Tech-nik. Das Ziel dabei ist, regelmäßig neue Datensätze aus einer SQL-Datenbank aus-zulesen. Mit diesen Daten wird ein InfoPath-Formular gefüllt und in einer Share-Point-Bibliothek abgelegt. Die Anwendung wartet dann auf die Bearbeitungdurch eine Person und reagiert mit dem Anlegen eines Leads in Dynamics CRMund/oder durch das Absenden einer dynamisch generierten Mail.

9783836215459.book Seite 228 Freitag, 4. Februar 2011 1:08 13

229

Arbeiten mit Dateien 4.1

Eingesetzte BizTalk-Adapter: WCF-Custom mit sqlBinding (Receive), WSS, SMTP,CRM

Eingesetzte BizTalk-Artefakte: Schema, Map, Orchestration

4.1 Arbeiten mit Dateien

Wir beginnen mit der Anbindung einer Anwendung an das Dateisystem. Dabeisollen Dateien aus lokalen Ordnern und Netzwerkfreigaben gelesen und in diesegeschrieben werden. Zum Einsatz kommt dabei mit dem File-Adapter einer dereinfacheren Vertreter seiner Gattung.

4.1.1 Arbeitsweise

BizTalk bringt für den Empfang, also das Einlesen von Dateien, und den Versand,das Schreiben von Dateien, den File-Adapter out of the box mit. Mit ihm sindsowohl der Zugriff auf das lokale Dateisystem als auch auf Netzwerkfreigabenmöglich.

File-Adapter in Receive Locations

Setzen Sie den File-Adapter in einer Receive Location ein, konfigurieren Sie einenPfad, der überwacht werden soll. Der Adapter überprüft dann in einem regelmä-ßigen, konfigurierbaren Intervall (Polling Intervall) den Inhalt des Pfades. Das Poll-ing Intervall hat aber keine Auswirkung, wenn der Pfad auf einen lokalen Ordnereines NTFS-formatierten (= New Technology File System) Laufwerks zeigt. Hierwird der Dateiempfang über Events eingeleitet, die vom NTFS-Filesystem erzeugtwerden. Wird eine Datei gefunden, sperrt sie der Adapter, um eine Änderung desDateiinhalts während der Verarbeitung zu verhindern. Nachdem sie eingelesenwurde, wird die Datei gelöscht, um eine Mehrfachverarbeitung auszuschließen.

Um eine möglichst schnelle Verarbeitung zu gewährleisten, verarbeitet der File-Adapter nicht jede Datei einzeln, sondern in Gruppen (Batches), wodurch derDatendurchsatz erhöht werden kann, weil unter anderem die Anzahl der Zugriffeauf die Message Box minimiert wird. Im Standardfall ist die Größe eines Batchesauf 20 Dateien konfiguriert. Die Receive Location wird also bis zu 20 Dateien(wenn so viele nicht vorhanden sind, auch weniger, aber nicht mehr) auf einmaleinlesen und im Bearbeitungsprozess weiterleiten. Ist Ihre Anwendung aber dazugedacht viele MB-große Nachrichten zu verarbeiten, kann es sich lohnen, diemaximale Nachrichtenanzahl eines Batches zu verkleinern. Alternativ dazu kön-nen Sie auch die Maximalgröße in Bytes eines Batches verändern. Diese stehtstandardmäßig auf 100KB.

9783836215459.book Seite 229 Freitag, 4. Februar 2011 1:08 13

230

BizTalk-Einsatz4

Voraussetzungen

Damit der File-Adapter auf den Pfad zugreifen kann, müssen Sie dafür sorgen,dass der Receive Handler der Receive Location (also das Benutzerkonto der HostInstance) mit folgendem Rechten ausgestattet ist:

� Zeigt der Pfad in das lokale Dateisystem: List Folder, Read Data, Delete Sub-folder, Delete Files

� Zeigt der Pfad auf eine Netzwerkfreigabe: Full Control

Eine weitere Voraussetzung ist das NTFS-Dateisystem (= New Technology File Sys-tem). Beachten Sie außerdem, dass der File-Adapter nur Dateien entgegennimmt,bei denen weder das Read Only- noch das System-Attribut gesetzt sind. DerartigeDateien bleiben einfach im Pfad unverarbeitet liegen.

File-Adapter in Send Ports

Bei der Konfiguration des File-Adapters für die Senderichtung geben Sie einenPfad zu einer Datei an. Dieser Pfad kann Platzhalter, etwa das Sternchen als Wild-card-Zeichen, enthalten. Anstelle des Sternchens wird beim Anlegen einer Dateidie sogenannte Message ID gesetzt. Dabei handelt es sich um ein eindeutigesIdentifizierungsmerkmal, mit dem BizTalk jede Nachricht kennzeichnet. Nebendem Sternchen können Sie auch sogenannte Makros als Platzhalter verwenden.Mit diesen greifen Sie auf verschiedene Metadaten zu, die BizTalk mit jeder Nach-richt verwaltet. Die eben angesprochene Message ID gehört ebenfalls dazu.Tabelle 4.1 zeigt eine Liste der möglichen Makros und ihre Bedeutung.

Makro Bedeutung

%datetime% UTC-Datum im Format YYYY-MM-DDThhmmss (Beispiel: 2005-11-12T160000)

%datetime_bts2000% UTC-Datum und -Zeit im Format YYYYMMDDhhmmsss, wobei sss für Sekunden und Millisekunden steht (Beispiel: 2005111201020345 bedeutet 12.11.2005 um 10:20:34 Uhr und 500 Millisekunden.)

%datetime.tz% Lokalzeit plus GMT-Zeitzone im Format YYYY-MM-DDThhmmssTZD (Beispiel: 2005-11-12T102034+100)

%DestinationParty% Name des Handelspartners (Metadatum BTS.Desti-nationParty)

%DestinationPartyQualifier% Qualifier des Handelspartners (Metadatum BTS.Desti-nationPartyQualifier)

%MessageID% Globally Unique Identifier (GUID) der Nachricht (Metadatum BTS.MessageID)

Tabelle 4.1 Makros des File-Send-Adapters

9783836215459.book Seite 230 Freitag, 4. Februar 2011 1:08 13

231

Arbeiten mit Dateien 4.1

Wollen Sie im Dateinamen Werte aus den Nachrichten selbst einsetzen, müssenSie den Port in einer Orchestration über Programmcode konfigurieren. Der Portmuss dann dynamisch konfiguriert werden. Wie das funktioniert, werden wir inAbschnitt 4.3, »E-Mails empfangen und versenden« noch sehen.

Voraussetzungen

Der File-Send-Adapter benötigt unter dem Zielpfad Read-/Write-Rechte, um dieDatei schreiben zu können.

4.1.2 Konfiguration

Um die Arbeit mit dem File-Adapter kennenzulernen, legen wir im Folgendeneine einfache Anwendung an. Ein Ordner soll überwacht werden. Dateien,die in diesem Ordner abgelegt werden, sollen entgegengenommen und ineinem anderen Ordner abgespeichert werden. Also eine einfache Verschiebe-Operation.

Wir werden dabei zunächst die komplette Anwendung über die BizTalk ServerAdministration Console anlegen, ohne etwa eine Orchestration mit Visual Studiozu definieren. Das werden wir in einem späteren Beispiel nachholen.

%SourceFileName% Name der ursprünglichen Datei, die vom File-Adapter gelesen wurde. Enthalten ist der Dateiname samt Suffix ohne den Pfad. Wurde die Nachricht nicht über den File-Adapter empfangen, wird der Platzhalter nicht ersetzt (Metadatum FILE.ReceivedFileName). Dieses Makro nutzen Sie nur, wenn die zu versendende Nach-richt identisch mit der empfangenen Nachricht ist.

%SourceParty% Name des Handelspartners, von dem die ursprüngliche Nachricht empfangen wurde. Dieses Makro nutzen Sie nur, wenn die zu versendende Nachricht identisch mit der empfangenen Nachricht ist.

%SourcePartyQualifier% Qualifier des Handelspartners, von dem die ursprüngli-che Nachricht empfangen wurde. Dieses Makro nutzen Sie nur, wenn die zu versendende Nachricht identisch mit der empfangenen Nachricht ist.

%time% UTC-Zeit im Format hhmmss (Beispiel: 102034)

%time.tz% Lokalzeit plus GMT-Zeitzone im Format hhmmssTZD (Beispiel: 102034+100)

Makro Bedeutung

Tabelle 4.1 Makros des File-Send-Adapters (Forts.)

9783836215459.book Seite 231 Freitag, 4. Februar 2011 1:08 13

232

BizTalk-Einsatz4

Basiskonfiguration in der BizTalk Server Administration Console

Mit Ausnahme der Send Handler und der Receive Handler bietet der File-Adapterkeine weitere Konfigurationsmöglichkeit bei den Platform Settings der BizTalk Ser-ver Administration Console. Wir können also direkt mit der Anwendung beginnen.

4.1.3 Beispiel: Weiterleitung von Dateien ohne Orchestrierung

Das Beispiel besteht aus folgenden Schritten:

1. Anlegen der Anwendung

2. Anlegen des Receive Ports

3. Anlegen des Send Ports

4. Start und Test der Anwendung

Schritt 1: Anlegen der Anwendung

1. Öffnen Sie die BizTalk Server Administration Console aus dem Windows-Startmenü.

2. Klicken Sie mit der rechten Maustaste auf den Pfad BizTalk Server Adminis-

tration � BizTalk Group � Applications, und wählen Sie im Kontextmenüden Befehl New � Application.

3. Geben Sie als Anwendungsnamen TestFileAdapter ein, und schließen Sie dasFenster mit OK (siehe Abbildung 4.1).

Abbildung 4.1 Eine neue Anwendung wird angelegt.

9783836215459.book Seite 232 Freitag, 4. Februar 2011 1:08 13

445

Index

%datetime% 230%datetime.tz% 230%datetime_bts2000% 230%DestinationParty% 230%DestinationPartyQualifier% 230%MessageID% 230%SourceFileName% 231%SourceParty% 231%SourcePartyQualifier% 231%time% 231%time.tz% 231&amp 76&apos 76&gt 76&lt 76&quot 76.NET Framework 28, 32, 34, 51, 100, 185.NET Services 32.NET-Assembly 24, 25, 98, 100, 102, 107,

136, 164, 165, 178, 179, 185<!-- 75--> 75

A

Abonnement � SubscriptionAccelerator 35, 36Access Control Service � ACSAccess Restrictions 297AccessViolationException 156ACID 171ACS 32Active Directory 46, 436Adapter 20, 29, 34, 37, 192, 200, 202

Adapter Pack 35, 36, 37, 39, 63, 305Anwendungsadapter 20CRM 37, 228, 229, 346, 362DB2 39eBusiness 39EMS 38EnterpriseOne 38File 20, 37, 196, 200, 225, 226, 228, 229FTP 20, 37, 226, 255FTPS 37Host Applications 38Host Files 39

HTTP 37, 47LOB 36, 192MSMQ 37OneWorld 38Oracle 40PeopleSoft 38POP3 20, 37, 226, 268Protokolladapter 20, 192Receive 181, 196Rendezvous 38SAP 39Send 184SMTP 20, 38, 192, 226, 229, 268, 269,

362SOAP 38, 47, 281SQL 20, 40, 304Technologieadapter 20WCF 38, 281WCF LOB Adapter SDK 40WCF-Basic-Http 281WCF-Basic-http 227WCF-Custom 227, 229, 305WCF-SQL 227, 304, 361WCF-WSHttp 227, 281, 282WebSphere 39WSS 20, 38, 47, 51, 191, 196, 200, 228,

229, 322, 339, 361Add 282AddApp 222AddResource 222ADO.NET 142, 304ADOMD.NET 52AdventureWorksLT 306Agent 405Alias 436All Group 112All In-Progress Service Instances 394AMD 41AMD-V 41Anwenderkommunikation 30Anwendung 184

anlegen 193beenden 206Bestandteile 101, 194deinstallieren 194, 220entfernen 193

9783836215459.book Seite 445 Freitag, 4. Februar 2011 1:08 13

446

Index

exportieren 193, 215importieren 193, 218installieren 218Konfiguration 107, 204, 206starten 206

Anwendungskommunikation 30Any Attribute 114, 140Any Element 113, 140AppFabric 27, 31

AppFabric Connect 34Windows Azure AppFabric 31, 32Windows Server AppFabric 31, 33

Application View 408Application Artifact View 409Application State View 409Group State View 409Host State View 409

Archivierung 191Argument 434Artefakt 102, 211ASCII 140ASP.NET 190

Development Server 284Assistent 65, 67

Adapter Wizard 350Add Adapter Wizard 227, 311, 363Application Installation Wizard 219BizTalk Flat File Schema Wizard 307BizTalk WCF Service Consuming Wizard

227, 281, 285BizTalk WCF Service Publishing Wizard

227, 282, 295, 299Data Connection Wizard 333Flatfile Schema 94, 121Import MSI Wizard 218Port Configuration Wizard 159, 246Publishing Wizard 375Schema 118XML Schema 81, 118

asynchron 163Atomic 155, 171Attach 412Attachment 268Attribut 75, 86, 103, 109, 110, 115Attribute Group 113Auschecken � Check OutAusfallsicherheit 188Ausnahmeregel 261Ausrufezeichen 245

Auto-Scrolling 148Azure 32

Microsoft Azure Platform 31SQL Azure 32Windows Azure 32

B

B2B 24, 35, 36BAM 25, 28, 36, 44

PlugIn 48Portal 25, 47, 51

Batch 229, 326Baumstruktur 73, 109Benutzerkonto 46, 51, 55, 57, 61, 64, 190,

201Berechtigung 230, 231, 335, 359, 362Best Practice Analyzer � BPABestellanforderung � Purchase OrderBinding 54, 102, 107, 185, 210, 211, 215,

219importieren 293übertragen 221

BizTalk Adapter Pack � AdapterBizTalk Administrators Group 59BizTalk B2B Operators Group 59BizTalk Editor 67, 80, 103, 108BizTalk Expression Editor 161, 165, 167,

168BizTalk Group 56, 178, 183, 190, 191, 218BizTalk Management Database � Manage-

ment-DatenbankBizTalk Mapper 67, 90, 104, 129, 337, 377,

383, 414BizTalk MessageBox Database � Message

BoxBizTalk Operators Group 59BizTalk Runtime � RuntimeBizTalk Server Administration 56, 64, 65,

99, 179, 180, 186, 193, 194, 197, 204BizTalk Server Configuration 54, 64BizTalk Services 32BizTalk Tracking Database � Tracking-

DatenbankBizTalk.System 178, 217BizTalk-Assembly 102, 184, 194, 210, 215,

218BizTalkDTADb � Tracking-DatenbankBizTalkFactory PowerShell Provider �

PowerShell-Provider

9783836215459.book Seite 446 Freitag, 4. Februar 2011 1:08 13

447

Index

BizTalkMgmtDb � Management-DatenbankBizTalkMsgBoxDb � Message BoxBizTalkServerApplication 190BizTalkServerIsolatedHost 190Body 268Bound 203BPA 45, 62BPM 35BRE 164

Business Rules Editor 164BTM 105, 130, 414BTP 106, 175BTSTask.EXE 179, 222, 417, 433, 436

AddApp 417AddResource 418ExportApp 426ExportBindings 427ExportSettings 428ImportApp 428ImportBindings 429ImportSettings 430ListApp 430ListApps 431ListPackage 431ListTypes 432RemoveApp 432RemoveResource 432UninstallApp 433

BTS-WIP 236, 238Business Activity Monitoring � BAMBusiness Profile 187Business Rule 24

Business Rule Composer 25Business-to-Business � B2B

C

C# 48, 49, 105, 136, 165, 227, 295, 377CAB 52CDATA 76 76Check Out 324Cloud 31, 32Cmdlet 434, 440

Add-ApplicationReference 440Add-ApplicationResource 440, 441Deploy-Policy 440Disable-ReceiveLocation 441Enable-ReceiveLocation 441, 442

Enlist-Orchestration 440Enlist-SendPort 441Enlist-SendPortGroup 441Export-Application 440, 441Export-Bindings 440, 442Export-Policy 440Get-ApplicationResourceSpec 440Get-Command 440Get-EventLog 434Get-ExecutionPolicy 443Get-ItemProperty 438Get-Service 434Import-Application 440Import-Bindings 440Import-Policy 440New-PSDrive 437Remove-ApplicationReference 440Restart-HostInstance 440, 442Restart-Service 434Set-DefaultApplication 440Set-ExecutionPolicy 443Set-Location 436Start-Application 440, 442Start-HostInstance 440Start-Orchestration 440Start-SendPort 441Start-SendPortGroup 441Start-Service 434Stop-Application 440, 442Stop-HostInstance 440Stop-Orchestration 440Stop-SendPort 441, 442Stop-SendPortGroup 441Stop-Service 434Undeploy-Policy 441Unenlist-Orchestration 440Unenlist-SendPort 441Unenlist-SendPortGroup 441

Codeplex 223, 435Collection 92Commandlet � CmdletComma-Separated Value � CSVCommunication Pattern 248Compensation 172

Block 172Complex Element � ElementcomplexType 84Connection String 143Consistent 171

9783836215459.book Seite 447 Freitag, 4. Februar 2011 1:08 13

448

Index

Consume Adapter Service 311Contract 284Contribute 326Correlation Set 151, 379

Following 152, 380Initializing 152, 379

Correlation Type 151, 153, 379CRM 17, 18, 20, 28, 313, 346, 382crm_action 354CSV 93Customer Experience Improvement Program

52Customer Relationship Management � CRM

D

Data Lock 171Dateisystem 229Datentyp 83Debugging 391, 410default 86Default Application 99dekodieren 176Delegate 165Delimited Structure 93, 121Dependencies 217Deployment 97, 164, 179, 202, 209, 226

Einstellungen 98Kommandozeile 222

Deployment View 409BAM Components View und BAM Alerts

409Deployment State View 409Hosts State View 409Runtime Alerts 409Runtime Component Views 409Runtime Role State View 409

Designer 65, 67Dienst 190Direct 249Distinguished Field 116, 275, 277DLL 100, 102, 118, 184DMZ 33Document Type Definition � DTDDOCX 70Dokumentenbibliothek 191, 196, 200, 323Domänencontroller 55, 57Download-Paket 443Drag-and-Drop 158, 249

DTD 118Duplicate Detection 390Durable 171Durchschnittswert 142Dynamic 250

E

EAI 35EDI 19, 20, 24, 34, 69, 94, 133, 181

Message Types 95EDIFACT 34, 94, 95

DELFOR 95DESADV 95IFTMIN 95IFTSTA 95INVOIC 95INVRPT 95ORDERS 95ORDRSP 95PAYMUL 95PAYORD 95PRICAT 95PRODAT 95

Edition 35Branch 36, 37Developer 37, 63Enterprise 35, 36, 37, 44, 63Standard 35, 37, 63

Electronic Data Interchange � EDIElement 73, 103, 109, 110, 115

einfach 83komplex 84

ElseIf 167encoding 73Enterprise Resource Planning � ERPEnterprise SSO 56Entität 348Entity-Referenz 76entkomprimieren 106, 182entschlüsseln 106, 176, 182Entwicklungsumgebung 40ERP 17, 18ErrorReport 403Eskalation 169Event 165Event Type 396Eventlog 277, 413Excel 48

9783836215459.book Seite 448 Freitag, 4. Februar 2011 1:08 13

449

Index

Exception 139Exception Handler 155, 157, 169, 172Execution Policy 443

AllSigned 443RemoteSigned 443Restricted 443Unrestricted 443

ExportApp 222ExportBindings 222Extended Markup Language � XMLExtensible Stylesheet Language Transforma-

tion � XSLTExternal Data Representation � XDRExtranet 33

F

F11 414F5 252F9 416Failed Message Routing 391, 402Feature 56Fehlerbehandlung � Exception HandlerFile-Receive-Adapter 236File-Send-Adapter 238Filter 207, 209, 225, 226, 402Filter Expression 251Firewall 33, 261fixed 87Flatfile 20, 34, 69, 93, 177, 179, 181, 197,

203Flussdiagramm 67, 105, 148, 153, 160, 167Footer 93, 122For-Each 92FTP 28, 196FTP Server

Kommandos 255FTP Site 258FTP-Receive-Adapter 263FTP-Send-Adapter 265FTP-Server 226FTPS-Server 255Full Stop 242Functoid 105, 130, 133, 134, 414

10^n 146Absolute Value 145Add Days 143Addition 134, 145Advanced Functoids 136

Arc Tangent 146ASCII to Character 141Assert 139Base-Specified Logarithm 146Character to ASCII 140Common Logarithm 146Concatenate 141Conversion Functoids 140Cosine 146Cumulative Average 142Cumulative Concatenate 142Cumulative Functoids 141Cumulative Maximum 142Cumulative Sum 141Database Functoids 142Database Lookup 142Date 143Date / Time Functoids 143Date and Time 144Division 134, 145Equal 138, 144Error Return 143Format Message 143Get Application ID 143Get Application Value 143Get Common ID 143Get Common Value 143Greater Than 144Greater Than or Equal To 144Hexadecimal 141Index 138Integer 145IsNil 144Iteration 138Less Than 144Less Than or Equal To 144Logical AND 144Logical Date 144Logical Existence 144Logical Fuctoids 139Logical Functoids 138, 144Logical NOT 144Logical Numeric 144Logical OR 144Logical String 144Looping 140Lowercase 147Mass Copy 132, 140Mathematical Functoids 145

9783836215459.book Seite 449 Freitag, 4. Februar 2011 1:08 13

450

Index

Maximum Value 145Minimum Value 145Modulo 145Multiplication 145, 337Natural Exponential Function 146Natural Logarithm 146Nil Value 140Not Equal 144Octal 141Record Count 137, 338Remove Application ID 143Round 145Scientific Functoids 146Scripting 105, 136, 377, 416Set Common ID 143Sine 146Size 147Square Root 145String Concatenate 147String Extract 147String Find 146String Functoids 146String Left 147String Left Trim 147String Right 147String Right Trim 147Subtraction 145Table Extractor 140Table Looping 140Tangent 146Time 144Uppercase 134, 147Value Extractor 143Value Mapping 138Value Mapping (Flattening) 140X^Y 146

Funktionsbibliothek 107, 185

G

GAC 100, 102, 136, 179, 185, 194, 218, 219

GACUTIL.EXE 101Genehmigung 29Generate Instance 115Generic 165Geschäftsprozess 17, 29, 361Global Assembly Cache � GACGlobally Unique Identifier � GUID

GMT 230Group Hub Page 187, 392, 394GUID 230, 377

H

Handelspartner � Trading PartnerHandler

Receive 192, 201Send 192

Handlungsstrang 166, 167, 169HAT 392Header 93, 122, 268Health and Activity Tracking � HATHeterogene Systeme 20HIPAA 34, 35, 37HKCU 436HKLM 436HL7 34, 35, 37Höherstufung � PromotionHost 35, 36, 187, 188, 192, 201, 204

Host Instance 188In-Process 61, 190Isolated 61, 190, 282Standard 190

Host Integration Server � HostHTML 70, 75, 90HTTP 190, 281HTTPS 281Hub 28, 36Hydration 393Hyperthreading 45Hyper-V 43

I

If-Then-Else 166IIS 33, 47, 226, 257IIS Host 217IIS Web Site 227, 282, 298ImportApp 222ImportBindings 222Inbound Logical Ports 253Inbound Maps 202InboundId 365InfoPath 228, 322, 324, 327, 329, 361, 371

InfoPath Filler 324InfoPath Forms Services 324

In-Parameter 162, 163

9783836215459.book Seite 450 Freitag, 4. Februar 2011 1:08 13

451

Index

Input Instance 115Input Parameter 134Installation 40, 44InstallDTD.vbs 118InstallWFX.vbs 118Intel 41IntelliSense 161Interface 284Internet Explorer 71, 284Internet Information Services (IIS)

Manager 258Internet Information Services � IISIOException 156ISAPI 190ISO 8601 143Isolated 171Itanium 45

J

Java 90Job 399JScript.NET 136

K

Kennwort 214Klasse 79Kommentar 75Komponente

.NET 175AS2 decoder 177AS2 disassembler 177AS2 encoder 177Batch Marker component 177BizTalk Framework assembler 177BizTalk Framework disassembler 177COM 175EDI assembler 177EDI disassembler 177eigene 177EnableDynamicPortRouting 177Flat file assembler 177, 179Flat file disassembler 122, 177, 179, 310MIME/SMIME decoder 177MIME/SMIME encoder 177Party resolution 177ResendManager 177

XML assembler 177, 179, 203XML disassembler 177, 178, 197XML validator 177

komprimieren 106, 182, 183Konfiguration � BindingKonsolenanwendung 295Korrelation 225, 228, 305, 361

L

Lastverteilung � Load BalancingLead 228, 348, 361Line of Business � LOBLink 130, 131

Direct Link 132Link by Name 132Link by Structure 132Mass Copy 132

ListApp 222ListPackage 222ListTypes 222Lizenz 35Load Balancing 34, 188, 191LOB 17, 28Locals-Fenster 416Long Running 155, 171, 172Lookup value 143

M

Mail 226, 386Makro 230, 270, 339Management Pack 391, 405

Installation 406Management-Datenbank 56, 59, 102, 179,

187, 191, 211, 218, 220, 437Map Grid 105, 133, 134Map Page 133Map � MappingMapping 102, 104, 130, 160, 181, 182,

183, 196, 201, 202, 227, 228, 229, 290, 337, 353Debugging 414

max Occurs 85Message 117, 151, 160, 161, 245Message Box 35, 36, 59, 60, 172, 183, 191,

207, 229, 391, 399Master 191

9783836215459.book Seite 451 Freitag, 4. Februar 2011 1:08 13

452

Index

Message Database � Message BoxMessage Details 397Message Event 395Message Flow 181, 397Message ID 230, 238Message Tracking 391, 392, 398, 399Message Type 246Messaging Engine 21, 22Metadatum 403Microsoft Software Installation � MSIMicrosoft Update 62Microsoft XML Core Services � MSXMLMicrosoft.BizTalk.DefaultPipelines 178Middle-Tier 31Middle-Tier-Hosting 32min Occurs 85Monitoring 391MP 406MSI 179, 193, 215, 216, 219MSXML 90Multi-part Message Type 152

N

Namensraum 79, 82, 83Präfix 82

Namespace � NamensraumName-Wert-Paar 75Native 115NAV 28Navigationsparadigma 436Netzwerkfreigabe 229New Technology File System � NTFSNewsletter 361Nicht-BizTalk-Assembly 107, 185, 218Node 87, 131

Attribute 88Eigenschaften 115Element 88Root 88

Non-BizTalk-Assembly � Nicht-BizTalk-Assembly

NTFS 46, 229, 230

O

Objekt 79ODETTE 95ODX 105, 149

Office Open XML � OOXMLOn Premise 33OOXML 70Operation 249Operations Manager 2007 R2 Agent 406Operations Manager Console 406, 408optional 86Oracle 28Orca 216Orchestration 22, 24, 102, 105, 162, 163,

165, 183, 188, 202, 204, 209, 226, 227, 228, 229, 243, 275, 288, 296, 314, 354, 368, 401beenden 206Debugger 154, 400, 410Designer 67, 105, 148, 243Engine 22, 28Instanz 183Parameters 150Properties 150starten 206View 148, 149Zustände 206

Outbound Logical Ports 253Outbound Maps 202Out-Parameter 162, 163Output 116Output Instance 115

P

Pan Mode 148Parameter 434Partial Stop 242Partially Started 240Party 187PDF 177, 178, 183, 197PFX 98, 100Pipeline 67, 69, 102, 106, 122, 175, 196,

197, 201, 227Designer 67, 106, 175, 310Komponenten 177PassThruReceive 178, 197PassThruTransmit 178, 203Receive 106, 175, 176, 182, 196, 309Send 106, 175, 176, 183Stage 176Standard 197, 203Standardpipelines 178

9783836215459.book Seite 452 Freitag, 4. Februar 2011 1:08 13

453

Index

XMLReceive 178, 197XMLTransmit 179, 203

Platform Settings 187Policy 195Polling Intervall 229POP3 196Port 150, 196

Dynamic One-way Send Port 202, 273Dynamic Solicit-Response Send Port 203logisch 204, 253One-way-Receive 197, 233physisch 204, 253Receive 107, 122, 151, 158, 181, 190,

195, 196, 198, 202, 203, 225, 233Request-Response-Receive 197, 202, 233Send 107, 151, 158, 183, 188, 190, 195,

196, 198, 200, 202, 203, 225, 226, 237, 402

Send dynamisch 226Send Port Group 195, 203Send Port Zustände 203Static One-way Send Port 202, 237, 273Static Solicit-Response Send Port 202Type 152Zwei-Wege 202

Port Surface 150, 158Port Type 248Positional Structure 93, 121PowerShell 222, 433

Engine 442Windows PowerShell ISE 442

PowerShell-Provider 223, 435, 436Installation 436

Präfix 198, 204prohibited 86Projekt 97

Debug-Configuration 139Release-Configuration 139

Projektvorlage 65, 66Promotion 116, 153, 207, 209, 398

Quick Promotion 116Properties-Fenster 149, 153Property Field 116Property Schema 153PS1 442Purchase Order 121, 327, 336

Q

Qualifier 230Quellnachricht 129

R

Radio Frequency Identification � RFIDRead Only-Attribut 230, 240Receive Location 181, 188, 195, 196, 198,

200, 203Receive Pipeline 181Record 109, 110, 115Recordset 142Reference Counter 399Ref-Parameter 162, 163Refresh 252Relevance Tree View 148Relevant Links 148RemoveApp 222RemoveResource 222Repeating Table 330required 86Resource 196RFID 26, 34, 35, 36, 37Role Link 152, 194

Type 153Rollback 172Root 73RosettaNet 34, 35, 37Running Service Instances 392, 394, 412Runtime 56, 60

S

S/MIME 176SAP 28, 305sapBinding 305Saxon 90Schema 102, 103, 108, 160, 196, 226, 227,

228, 229, 274, 285, 295, 307, 327, 336Complex Type 110CRM 350Destination 129EDI 96Flatfile 94, 118, 179Footer 179groß 147Header 179

9783836215459.book Seite 453 Freitag, 4. Februar 2011 1:08 13

454

Index

Instanz 108Simple Type 110Source 129SQL 311, 363Trailer 179validieren 115XML 79, 110

schema valid � schemagültigschemagültig 80Schleife 92, 167Schreibrecht 191SCOM 391, 404Scope 141Script 442

Post-Processing 211Pre-Processing 211

SDK 66Secure Sockets Layer � SSLSELECT 305sequence 84Sequence Group 112Serialisierung 177Server Manager 47Servers 191Service Bus 32Service Instance 395, 397Shape 22, 411

Abbruchverhalten 154Business Rules Engine 154Call Orchestration 150, 162, 163, 164,

170Call Rules 164Compensate 157, 173Construct Message 162Decide 116, 164, 166, 167, 382Delay 168, 169Entscheidungen 154Expression 116, 165, 273, 413Group 154, 368Gruppierungen 153Listen 169Loop 116, 167Message Assignment 161, 162, 273, 276,

386Nachrichtenerstellung 154Nachrichtenübermittlung 154Orchestrationsaufruf 154Parallel Actions 167, 170Port 150, 158, 160

Programmcode 154Receive 158, 169Role Link 160Scope 155, 171Send 158Start Orchestration 150, 163, 164Suspend 169, 170Terminate 170Throw Exception 157Transform 160, 162, 290, 316, 356, 376,

383Warteverhalten 154

SharePoint 20, 27, 28, 228, 322, 327, 376SharePoint Products Configuration Wizard

51SPF 28, 51SPS 28Web Application 326

SharePoint Adapter Web Service 322, 325SharePoint Foundation � SharePointSharePoint Server Object Model 322SharePoint Server � SharePointSibling 112Sicherheitsgruppe 57, 59, 61, 190Signatur 182, 197signieren 98, 100, 183Simple Element � ElementSingle Sign-on 56SMTP 19SMTP Server 192, 271SMTP.EmailBodyTextCharset 277SnapIn 434Snapshot 40, 42, 43SNK � PFXSOA Factory-Community 435SOAP 19, 190, 304

Header 293Solution 97

Solution Explorer 149Specify Later 249Spedition 195SQL 18, 28SQL Server 49, 55, 57, 183

SQL Server 2008 Express 49sqlBinding 227, 229, 305SQL-Datenbank 227, 228, 304, 361SQL-Server

Agent 399, 410Configuration Manager 399

9783836215459.book Seite 454 Freitag, 4. Februar 2011 1:08 13

455

Index

SQLXML 52SSL 47, 255, 268SSO Administrators Group 347Stage 175

Assemble 177, 179Decode 176Disassemble 176, 178, 179, 310Encode 177Pre-Assemble 177Resolve Party 176, 178Validate 176

Standardanwendung � Default ApplicationStandardnamensraum � NamensraumStarted 240Status

In Breakpoint (Active) 412Resumable 396Suspend 169Suspended 176, 391, 396Suspended (Resumable) 172

Stopped 240Stored Procedure 304, 305stornieren 173Strong Name Keyfile � SNKSubjekt 434Subscription 183, 207, 239, 250, 399, 402Suffix 199Summe 141Suspended Service Instances 394SWIFT 34, 35, 37, 95synchron 162, 170System Center Operations Manager �

SCOMSystem.BizTalk

BizTalkBinding 214System.Xml.XmlDocument 246System-Attribut 230, 240Systemsteuerung 47, 194, 220

T

Target Environment 214, 219Target Framework 100Target Staging Environment 219targetNamespace 83TestMap Input 416Testumgebung 209TLS 255Toolbox 105, 134, 149, 153, 175

Tooltip 136Tracked Message Events 394, 395, 397Tracked Service Instances 394, 395, 400Tracking 187Tracking Database � Tracking-DatenbankTracking-Datenbank 59, 391, 399TRADACOMS 94Trading Partner 24, 160, 187, 194, 230Transaktion 34, 157, 171

Transaction Type 155, 171Transformation 90, 129, 207Translation 130Transport Level Security � TLSTransport Type 200, 203Trennzeichen 93, 121Try/Catch 155T-SQL 304type 83TypedPolling 365

U

Überwachung � Monitoringunbounded 85Unexpected Error 277Unicode 73, 90, 121Uniform Resource Identifier � URIUninstallApp 222Unit-Test 209Upgrade 44URI 79, 293use 86UTC 230

V

Validate Instance 116Validate Schema 116value-of 93Variable 151VB.NET 48, 136VBS 118Verb 434Verkettung 142, 333Verknüpfung � Linkverschlüsseln 106, 177, 182, 183version 73View 323Virtual PC 41, 43

9783836215459.book Seite 455 Freitag, 4. Februar 2011 1:08 13

456

Index

Visual Basic.NET � VB.NETVisual Studio 27, 46, 48, 65, 71, 97, 102,

185, 193, 203, 213, 401, 414VMware Workstation 41, 42Voraussetzungen

Hardware 45Software 46

VorlageBizTalk Orchestration 149Empty BizTalk Server Project 97Flat File Schema 109Map 130Schema 109

VT 41

W

W3C 70, 109WCF 19, 32, 34, 227

WCF Service Configuration Editor 33WCF LOB Adapter SDK 304WCF Service 282, 283, 304Web location 283Web Service Description Language � WSDLWeb-Ressource 216Webservice 18, 28

konsumieren 227, 281publizieren 227, 281, 282, 295

Well-Formed XML � WFXWF 27, 32, 34WFX 118While 167Wildcard 230Windows

Windows 7 44, 46Windows Server 2008 44, 46Windows Vista 44, 46

Windows Communication Foundation � WCF

Windows Firewall � FirewallWindows Management Framework � WMFWindows Management Instrumentation �

WMIWindows Platform SDK 216Windows PowerShell � PowerShell

Windows Update 62Windows Workflow Foundation � WFWindows-Sicherheitsgruppe �

SicherheitsgruppeWMF 436WMI 211wohlgeformt 77Workflow 27, 28

Workflow Engine 24, 28Wrapper 177Write Cache 238WS-*-Protokoll 281WSDL 282, 285WS-I Basic Profile 281WSS-Receive-Adapter 340WSS-Send-Adapter 342

X

X12 34, 94XDR 118XML 20, 21, 69, 70, 181

Deklaration 73, 82Prolog 73, 82Regelwerk 77

XML Path Language � XPathXML Schema Definition � XSDXML Schema � XMLXML-Editor 213xmlns 79, 83XPath 21, 71, 87, 92xs 82XSD 21, 80, 103, 108, 118XSL 414XSL Transformation � XSLTXSLT 21, 71, 90, 136, 160

Processor 90

Z

Zeichensatz 73Zertifikat 176Zielnachricht 129ZIP 70, 177Zoom 148

9783836215459.book Seite 456 Freitag, 4. Februar 2011 1:08 13