Net 3.0: Let it flow, let it grow
Transcrição
Net 3.0: Let it flow, let it grow
know-how & praxis MS-Technologien .Net 3.0: Let it flow, let it grow Vo n M a r c e l L a t t m a n n und Meinrad Weiss Im ersten Teil unserer .Net-3.0-Serie zeigen wir, wie sich Prozesse mit der Windows Workflow Foundation steuern und optimieren lassen. .Net 3.0-Serie Gegen Ende dieses Jahres wird Microsoft mit dem .Net Framework 3.0 (bisher WinFX) eine neue API für Windows Vista, Windows XP und Windows 2003 Server lancieren. Wir stellen Ihnen die vier wichtig sten neuen Komponenten in einer vierteiligen Serie im Detail vor. Windows Workflow Foundation (WF) Windows CardSpace («InfoCard») Windows Presentation Foundation (WPF) Windows Communication Foundation (WCF) 12/06 13/06 14/06 15/06 Bei der Entwicklung von Tools und Applikationen im Bereich Workflow besitzt Microsoft jahrelange Erfahrung. Jedoch fehlte den Redmondern bislang eine einheitliche Technologie, mit der sich Arbeitsprozesse innerhalb von Anwendungen abwickeln lassen. So wurden die Workflow-Implementationen in den einzelnen Microsoft-Produkten (z.B. BizTalk, SharePoint, Axapta, MSCMS) komplett eigenständig und redundant gelöst. Mit der Windows Workflow Foundation (WF) soll dieses Manko nun aus der Welt geschafft werden. WF ist Bestandteil des .Net Framework 3.0 (bislang unter der Bezeichnung WinFX bekannt), der Programmierschnittstelle von Windows Vista, welche als separater Download auch für Windows Server 2003 und Windows XP zur Verfügung stehen wird. Die Workflow-Funktionalität wird so integraler Bestandteil der Windows-Plattform und dient als Basis für kommende MicrosoftProdukte (z.B. SharePoint 2007). Interessant ist, dass auch unabhängige Softwarehäuser und Entwickler mit der Workflow Foundation in der Lage sind, ihre Anwendungen mit Funktionen für die Steuerung von Arbeitsabläufen auszurüsten. Dank den integrierten Eigene Anwendungen MS-Produkte (SharePoint, BizTalk) .Net Framework 3.0 (WinFX) Windows Workflow Foundation (WF) Windows Communication Foundation (WCF) Windows Presentation Foundation (WPF) Windows CardSpace (InfoSpace) ADO .Net ASP .Net Windows Forms Common Language Runtime Windows Vista, Windows Server 2003, Windows XP SP1 52 Nr. 12 | 19. 06. 2006 InfoWeek.ch etc... Quelle: Trivadis AG .Net Framework 3.0 (WinFX) im Überblick Web-Service-Schnittstellen lassen sich die Workflow-Dienste auch innerhalb von heterogenen Umgebungen (z.B. via Java-Plattform) einsetzen. Die Workflow Foundation Die Windows Workflow Foundation richtet sich ausschliesslich an Entwickler, dass heisst, sie stellt keine Werkzeuge für den Enduser zur Verfügung. Im Grunde genommen setzt sich Microsofts Workflow Foundation aus Entwicklertools für Visual Studio, einem API und einer Workflow Runtime Engine zusammen. Nachfolgend ein kleiner Überblick über die wichtigsten Features der Windows Workflow Foundation: ➤ Base Activity Library: Ein Workflow besteht aus kleinen Bausteinen, sogenannten Activities. Microsoft liefert mit der Base Activity Library bereits einen Grundstock an Aktivitäten wie beispielsweise den Aufruf einer externen Methode, das Durchführen von Datenbankabfragen oder das Evaluieren von Businessregeln. Ausserdem sind einfache Programmierkonstrukte wie While-Schleifen oder If/Else-Entscheidungen enthalten. ➤ Activities: Activities sind nichts anderes als .Net Assemblies. Daher lassen sich in einer .NetSprache wie C# auch eigene Aktivitäten programmieren. Office 2007 bietet beispielsweise speziell für das Document Management eigene zusätzliche Activities an. Daneben gibt es bereits jetzt Softwarehersteller und eine breite Community, welche spezielle Activities etwa für die Anbindung einer Oracle-Datenbank oder das Zippen und Entzippen von Dateien anbieten (www.windows workflow.net). ➤ Human Workflow: Die Workflow Foundation unterstützt auch das Einbinden von Personen in den Workflow-Prozess. Dazu werden spezielle Mechanismen eingesetzt, um beispielsweise eine Benutzer- Interaktion abzuwarten. ➤ Entwicklertools: Die Workflow Foundation verfügt über grafische Werkzeuge, welche direkt in Visual Studio 2005 genutzt werden können. Mit Hilfe von Drag&Drop kann der Entwickler so eigene Workflows zusammenstellen und diese in der grafischen Ansicht debuggen. Der Designer ist modular aufgebaut, so dass er auch in eigenen Applikationen gehostet werden kann. ➤ Runtime Services: Die Runtime Engine führt die kompilierten Workflows aus und unterstützt dabei Funktionen wie Persistenz, Tracking und Transaktionen. Ersteres erlaubt, den Workflow-Zustand in einem persistenten Medium zu speichern. Damit werden sogenannte «Long Running Workflows» unterstützt, welche auch einen Restart der Runtime «überleben». Via Tracking wird der Ausführungszustand des Workflow gespeichert, um die aktiven Prozesse überwachen zu können. Zudem gibt es einen Timer Service, der die zeitbasierten Aktivitäten des Workflows steuern und Time-outs erkennen kann. ➤ Hosting: Die mitgelieferte Workflow Runtime Engine ist kein Standalone-Service, sondern kann direkt in der Applikation gehostet werden. Dadurch entfällt der Aufbau und Aufruf von externen Services. Die Workflow Foundation lässt sich so elegant auch in kleinen, eigenständigen Applikationen verwenden. Entwickeln von Workflows Nach der Installation des .Net Framework 3.0 stehen in Visual Studio zusätzliche Projekttypen zur Verfügung. Man kann sich zwischen dem sequentiellen Workflow oder der State Engine entscheiden. Sequentielle Workflows werden entlang eines definierten Pfads ausgeführt. State Machines dagegen sind sinnvoll, wenn man nicht weiss, in welcher Reihenfolge Events eintreffen. know-how & Praxis MS-Technologien Workflow Foundation in kommenden MS-Produkten Gemäss Microsoft wird die WF die Basis für Workflow-Funktionen in allen kommenden StandardProdukten bilden und dort teil- Workflows mit SharePoint Wie die Integration der Workflow Foundation in ein Produkt in der Praxis aussieht, kann man sehr schön am Office SharePoint Server 2007 sehen, der derzeit als Beta 2 zur Verfügung steht (siehe auch Diagramm «Workflows erstellen in SharePoint 2007»). Dabei wird die Workflow Engine direkt in SharePoint 2007 gehostet. Für Standardprozesse wie Review/Approval von Dokumenten oder das Einholen von Unterschriften stehen bereits vorgefertigte Workflows bereit. Diese können einer Dokumentenbibliothek, einer Liste oder einem bestimmten Dokumenttyp zugeordnet werden. Der Start eines Workflow erfolgt manuell oder automatisch – beispielsweise wenn ein Benutzer in der Library ein neues Dokument anlegt. Mit Hilfe des SharePoint-Designers (ehemals FrontPage 2003) können Power User und Webdesigner selber einfache Workflows erstellen. Das Deployment wird vereinfacht, indem der Workflow direkt an eine Liste oder eine Document Library angefügt wird. Wer eigene Activities und komplizierte Workflows erstellen will, wird mit SharePoint Designer allerdings nicht weit kommen, sondern muss auf Visual Studio 2005 zurückgreifen. Die Ein grafischer Designer hilft in Visual Studio beim Entwickeln von eigenen Workflows. Fazit Windows Workflow Foundation ist die zukünftige, einheitliche Technologie für die Definition und Ausführung von Workflows auf WindowsSystemen. Dadurch können das erarbeitete Know-how und die definierten Workflows in eigenen Applikationen wie auch in den kommenden Microsoft-Produkten wiederverwendet werden. .Net 3.0 und Office 2007 befinden sich im Moment noch in der Betaphase. Da die Produkte aber sehr weit entwickelt sind, bietet Microsoft bereits eine Go-Live-Lizenz an. Damit können die Technologien und Produkte bereits heute in Projekte integriert werden. Marcel Lattmann, Consultant, und Meinrad Weiss, Solution Manager und Prinzipal Consultant, M i t a r b e i t e r einem der sind F i r m a Tr i v a d i s , S c h w e i z e r IT- L ö s u n g s a n b i e t e r m i t u mf a s s e n d e m Dienstleistungs-Angebot Schweiz und in in der Deutschland. Workflows erstellen in SharePoint 2007 MS Office Sharepoint Designer 2007 MS Office Sharepoint Server 2007 Selbstkonfigurierte Workflows Sharepoint Services direkt Quelle: Trivadis AG Gut gelöst wurde in der Workflow Foundation auch der Umgang mit Business Rules. Beispiele für solche Regeln sind etwa Rabattberechnungen bei Grossbestellungen oder rollenbasierte Vorgaben wie etwa Unterschriften-Berechtigungen. Wie bei der Definition des Workflow lassen sich auch Business-Regeln wahlweise in einer .Net-Sprache programmieren oder in einem XAML-File deklarativ beschreiben. Zugriff auf die Rules Engine der Workflow Foundation erhält man über die Policy Activity. Das XAML-File erstellt man in Visual Studio mit Hilfe des Rule Editor. Für noch flexiblere Szenarien kann man den Visual Studio Rule Designer in eigene Applikationen einbinden. Damit sind dann auch Enduser in der Lage, Business-Regeln selber anzupassen. Wie eingangs erwähnt, lassen sich Workflows und damit auch Business-Regeln als Web Service publizieren. So kann die Applikation wählen, ob die Regeln selber gehostet werden oder ob der externe Regel-Server aufgerufen werden soll. In der Praxis kombiniert man gerne die beiden Möglichkeiten. Ausserdem existieren Beispiele, wie man die Regeln in einer SQL-Server-Datenbank verwaltet und so eine sehr komfortable Umgebung bauen kann. Workflows werden dann vom Administrator auf dem Server installiert, pro Site konfiguriert und einer Liste oder Document Library zugeordnet. Power User Web Designer Umgang mit Business-Rules weise bereits bestehende Komponenten ersetzen: ➤ Office SharePoint Server 2007: Neben den Funktionen wie Web Content Management, Dokumentenverwaltung und Records Management gibt es auch einen Dokumenten-Workflow, der auf WF basiert und von Entwicklern erweitert werden kann. ➤ BizTalk Server: Langfristig ist es das Ziel von Microsoft, die Orchestration Engine von BizTalk durch WF zu ersetzen. Die Entwicklung von BizTalk wird sich dann auf Enterprise Application Integration, Business Process Management und Message Handling konzentrieren. ➤ Microsoft Dynamics: Produkte wie Microsoft Dynamics AX (ehemals Axapta) und Microsoft Dynamics CRM (ehemals Microsoft CRM) werden ebenfalls mit der Workflow Engine ausgerüstet. Daneben sind weitere Produkte mit WF geplant, z.B. Microsoft Speech Server 2007, Microsoft Identity Integration Server 3.5 oder die Help-Desk-Lösung System Center Service Desk. Entwickler Administrator Im grafischen Workflow Designer verbindet man per Drag&Drop einzelne Activities zu einem Workflow. Obwohl es grundsätzlich möglich ist, ganze Prozesse von Hand zu programmieren, wird man aus Gründen der Bequemlichkeit meistens den Designer benutzen. Erstellte Workflows lassen sich als Visual-Basic- oder C#-Code abspeichern und können zur Ausführung in ein normales .Net-Assembly kompiliert werden. Als wartungsfreundlichere Alternative lassen sich Workflow-Definitionen auch im XAML-Format (eXtensible Application Markup Language) abspeichern. Diese werden dann zur Laufzeit von der Runtime Engine geladen und interpretiert. Windows Sharepoint Services, V3 Vordefinierte Workflows Visual Studio Workflow Designer Windows Workflow Foundation (WF) Komplexe Workflows InfoWeek.ch 19. 06. 2006 | Nr. 12 53