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

Documentos relacionados