460 likes | 554 Views
AA3, ZU4, OFF2 - BizTalk Server. Mit BizTalk, SharePoint und InfoPath Prozesse realisieren. Zur Person. Dipl. Inf. Marcel Gnoth, MCSD www.gnoth.net NTeam GmbH, Berlin www.nteam.de Leiter Softwareentwicklung
E N D
AA3, ZU4, OFF2 - BizTalk Server Mit BizTalk, SharePoint und InfoPath Prozesse realisieren Marcel Gnoth, www.gnoth.net
Zur Person • Dipl. Inf. Marcel Gnoth, MCSD • www.gnoth.net • NTeam GmbH, Berlin • www.nteam.de • Leiter Softwareentwicklung • MS Gold Partner: Busines Intelligence, Information Worker, Advanced Infrastructur • Autor dotnetpro, dotnet-magazin, ComputerWorld, MSDN • Trainer (u.a. SPC Berlin, www.spc.de ) • Themen • VB6, COM, SQL Server • Verteilte nachrichtenbasierte Informationssysteme • Office System 2003 Integration • Reisen in ferne Länder: www.gnoth.net/reise.htm Marcel Gnoth, www.gnoth.net
Agenda • Beispiel Szenario: „Der Urlaubsprozess“ • BizTalk Server - Einführung • BizTalk Entwicklung Marcel Gnoth, www.gnoth.net
Der Urlaubsprozess BizTalk, SharePoint und Infopath im Team Marcel Gnoth, www.gnoth.net
Urlaubsprozess • Mitarbeiter stellt Antrag auf Urlaub • Vorgesetzter muss innerhalb von 2 Tagen Antrag bearbeiten • Wenn der Vorgesetzte den Antrag nicht bearbeitet, dann wird an Personalabteilung eskaliert • Wenn dann immer noch keine Reaktion, dann wird der Antrag abgebrochen • Daten sollen im Personal System eingetragen werden Marcel Gnoth, www.gnoth.net
Prozessmodell „Urlaubsantrag“ Benutzer stellt Urlaubsantrag Urlaub wird in der Personaldatenbank reserviert Personalabteilung wird informiert Vorgesetzter erhält den Urlaubsantrag zur Bearbeitung Genehmigung erteilt ? Urlaub wird in Personaldatenbank eingetragen Urlaubsreservierung in Personaldatenbank wird zurückgesetzt Personalabteilung und Mitarbeiter werden benachrichtigt Personalabteilung und Mitarbeiter werden benachrichtigt Mitarbeiter erhält bearbeiteten Antrag Marcel Gnoth, www.gnoth.net
Lösungsarchitektur Marcel Gnoth, www.gnoth.net
Der Antrag • InfoPath Formular • Mehrere Ansichten • Speichert XML direkt im SharePoint Marcel Gnoth, www.gnoth.net
Formular Bibliotheken im SharePoint • Formular Bibliotheken speichern InfoPath-Formulare • Eine Bibliothek für Mitarbeiter • Eine Bibliothek für Vorgesetzte und PA • Berechtigungen für Bibliotheken setzen Marcel Gnoth, www.gnoth.net
Demo Urlaubsprozess Marcel Gnoth, www.gnoth.net
BizTalk Server Einführung Marcel Gnoth, www.gnoth.net
BizTalk-Server als Nachrichtendienst Message Message BizTalk Receive Port Send Port Group Send Port(File Drop) Receive Location(File Drop) Orchestration Map Receive Location(HTTP) Send Port(HTTP) Maps Map Message MessageBox Send Port(HTTP) Map Messages Subscriptions Marcel Gnoth, www.gnoth.net
BizTalk Adapter Choosing an Adapter Standard BizTalk adapter Third-party adapter Custom adapter Adapters Financial System SCM BizTalk Adapter Framework Common way to create and implement adapters Provides standard tools for managing standard and custom adapters Mainframe Database ERP CRM System Marcel Gnoth, www.gnoth.net
Item Header Header Record Item Item Customer Field3 PO Field1 Field2 Status Field3 Name Date ItemID Qty UnitPrice Field1 Field2 Field1 PO Status Field3 Field2 Title Status PO Order PO Date Detail FieldA FieldB Werkzeuge für Entwickler Model a Business Process Schemas Define Business Documents Orchestration Pipelines Mapping Visual Studio .NET Process Messages Transform Data Marcel Gnoth, www.gnoth.net
BizTalk Server Orchestrierung • Daten • Transport • Transformation • Geschäftsprozesse abbilden Marcel Gnoth, www.gnoth.net
Eine BizTalk-Lösung entwickeln Marcel Gnoth, www.gnoth.net
Bestandteile der Lösung • BizTalk-Projekt • XML-Schemata • BizTalk Map für XML-Transformation • BizTalk Orchestrierung • InfoPath-Formular • SharePoint Formularbibliothek • Webservices für LOB-Zugriff Marcel Gnoth, www.gnoth.net
XML-Schemata für die Nachrichten • BizTalk Server verarbeitet Nachrichten • Innerhalb des BizTalk Servers wird nur XML verwendet • Eingehende Nachrichten werden in XML konvertiert • Ausgehende Nachrichten werden in gewünschtes Zielformat umgewandelt • XML-Schemata definieren die internen Nachrichten Marcel Gnoth, www.gnoth.net
Schema erstellen • Neues BizTalk Projekt • Neues XML-Schema hinzufügen • Mit dem BizTalk Schema Editor bearbeiten Marcel Gnoth, www.gnoth.net
Element Promotion • XML-Elemente • Werden für die Orchestrierung gekennzeichnet • Auf die Werte der Elemente kann dann zugegriffen werden • Einfach über das Kontextmenü->QuickPromotion Marcel Gnoth, www.gnoth.net
BizTalk Map • Transformation von Nachrichten • Von Schema A nach Schema B • Ändern der Werte über Funktoide Marcel Gnoth, www.gnoth.net
Funktoide • Werden in Maps verwendet • Eine Vielzahl von Funktoiden • Mathematisch, DB, logisch, Konvertierung, DateTime • Scripting Funktoid: inline Code oder Call in Assembly Marcel Gnoth, www.gnoth.net
Demo Schema und Map erstellen Marcel Gnoth, www.gnoth.net
InfoPath Formular • Formular Tool • Formulardefinition • wie Dokumentvorlage • In separater *.xsn Datei gespeichert • Ist ein CAB-Archiv, kann entpackt werden • Formulardaten sind reines XML mit Verweis auf InfoPath und die xsn-Datei • <?mso-application progid="InfoPath.Document"?> • href="http://ebizbaseq1fy04/sites/Prozesse/TokyoSakeShop/Forms/template.xsn" Marcel Gnoth, www.gnoth.net
Formular erstellen und veröffentlichen • InfoPath kann ein neues Formular auf Basis eines XML-Schemas erstellen • Kann direkt in einer SharePoint Formular Bibliothek veröffentlicht werden • Mehrere Sichten in der Formular Bibliothek erstellen • Abhängig vom Status-Feld der XML-Daten • BizTalk entnimmt dann Formulare aus den Sichten und startet Prozess Marcel Gnoth, www.gnoth.net
Demo InfoPath Formular erstellen undim SharePoint veröffentlichen Marcel Gnoth, www.gnoth.net
Eine einfache Orchestrierung Marcel Gnoth, www.gnoth.net
BizTalk Messaging Message Message BizTalk Receive Port Send Port Group Send Port(File Drop) Receive Location(File Drop) Orchestration Map Receive Location(HTTP) Send Port(HTTP) Maps Map Message MessageBox Send Port(HTTP) Map Messages Subscriptions Marcel Gnoth, www.gnoth.net
Ports / Send und Receive • Logische Ports, die Nachrichten senden oder empfangen • Werden gebunden an physische Quellen • Send und Receive Shapes werden mit Ports verbunden • Können beliebige Formate Empfangen und Senden • Intern nach XML umgewandelt • Pipelines verarbeiten Nachrichten Marcel Gnoth, www.gnoth.net
Was ist eine Orchestration ..? Port Surface << >> Port Surface Orchestration Designer • Is a visual design environment • Provides implementation shapes for modeling automated business processes • Saves business process model for later compilation Receive PO ReceivePOPort Operation_1 -> Request Check Quantity Else Denied Send_Approve Denied Msg SendApprvPort Operation_1 -> Request ! Transform SendDeniedPort Operation_1 <- Request Send_Denied Saved Orchestration BizTalk Orchestration • Is a run-time engine • Executes business processes Marcel Gnoth, www.gnoth.net
Orchestrierung • Laufzeitumgebung für Geschäftsprozesse • Entwicklung mit Visual Studio Designer • Kompiliert zu .Net Assembly • Instanz wird aktiv, wenn Receive-Port eine Nachricht empfängt • Verwaltet mehrere Instanzen der Orchestrierung Marcel Gnoth, www.gnoth.net
= Nachrichten im BizTalk • Eine Nachricht empfangen • Geschäftslogik ausführen • Eine neue Nachricht erstellen (Construct Message) • Assign Message (gleiches Schema) • Transform Message (anderes Schema) • Eine Nachricht versenden Assign Message Transform Message Marcel Gnoth, www.gnoth.net
Orchestrierung Workflow • Nachricht kommt rein • Menge prüfen • OK -> Bestellung ans LOBSystem weitergeben • Sonst -> Kunden benachrichtigen • RefuseMsg hat gleiche Schema wie Auftrag • LOBMsg hat anderes Schema als Auftrag Marcel Gnoth, www.gnoth.net
Drop a shapefrom the toolbox here Drop a shapefrom the toolbox here Drop a shapefrom the toolbox here Drop a shapefrom the toolbox here Drop a shapefrom the toolbox here Drop a shapefrom the toolbox here Drop a shapefrom the toolbox here Drop a shapefrom the toolbox here Drop a shapefrom the toolbox here Weitere Shapes Call Orchestration Start Orchestration Check Quantity Loop ! Rule Else Suspend ! Parallel Actions Terminate Delay Call Rules Group Drop a shapefrom the toolbox here Compensate Listen { } ! Scope ! Drop a shapefrom the toolbox here Expression Throw Exception Marcel Gnoth, www.gnoth.net
Demo Eine einfache Orchestrierung Marcel Gnoth, www.gnoth.net
Aufruf von Webservices • Webreferenz zum Projekt hinzufügen • WebPort auswählen • Bidirektional • Legt neue Nachrichtentypen und Instanzvariablen an Marcel Gnoth, www.gnoth.net
Expression • Setzen von Variablen und Message-Werten • Aufruf von Funktionen Marcel Gnoth, www.gnoth.net
Demo Eine komplexere Orchestrierung Marcel Gnoth, www.gnoth.net
Erstellen und Testen • BizTalk Projekte werden als Assembly erstellt • Assemblies brauchen Strong Name, werden im GAC abgelegt • Über den Projektexplorer Assembly installieren • Dll in den GAC • BizTalk Orchestrierung in die BizTalk DB • Physische Send- und Receive Ports anlegen • Orchestrierung binden • Logische und physische Ports • BizTalk Host Prozess • Orchestrierung Starten (Enlist/Start) Marcel Gnoth, www.gnoth.net
Neue Version erstellt • Alte Orchestrierung stoppen (und Unenlist) • Altes Assembly aus GAC entfernen • Oder Assembly mit neuer Versionsnummer deployen • Aber: doppelte Namen • Über Projektexplorer deploy oder Deployment Wizard • Bindung der Ports erneuern (Binding File) • Orchestration starten Marcel Gnoth, www.gnoth.net
BizTalk Tools • Visual Studio • Deploy / Undeploy • Deployment Wizard • Deploy / Undeploy • Bindungsdatei schreiben • Admin-Tool • Health & Activity Tracking (HAT) • Debugging und Tracing Marcel Gnoth, www.gnoth.net
Demo Orchestrierung erstellen und installieren Marcel Gnoth, www.gnoth.net
Health & Activity Tracking (HAT) • Gesendete und empfangene Nachrichten • Laufende Orchestrierungsinstanzen • Debuggen von Prozessen • Suspendieren und terminieren von Prozessen Marcel Gnoth, www.gnoth.net
Demo Health & Activity Tracking Marcel Gnoth, www.gnoth.net
Ressourcen • Jupiter Airlift • MOC-Kurse • Newsgroup Marcel Gnoth, www.gnoth.net
Uff... Alles wird gut Marcel Gnoth, www.gnoth.net