{"id":89,"date":"2006-09-02T17:11:00","date_gmt":"2006-09-02T15:11:00","guid":{"rendered":"http:\/\/www.forksoft.de\/blog\/2006\/09\/02\/windows-workflow-foundation-teil-1\/"},"modified":"2007-09-26T18:20:59","modified_gmt":"2007-09-26T16:20:59","slug":"windows-workflow-foundation-teil-1","status":"publish","type":"post","link":"http:\/\/www.navision-blog.de\/blog\/2006\/09\/02\/windows-workflow-foundation-teil-1\/","title":{"rendered":"Windows Workflow Foundation (Teil 1)"},"content":{"rendered":"<p>&#8220;Businesses depend on business processes&#8221; schreibt <a href=\"http:\/\/www.davidchappell.com\/\">David Chappell<\/a> als einleitenden Satz in einem viel zitierten <a href=\"http:\/\/download.microsoft.com\/download\/1\/A\/B\/1AB1AC93-13A4-4001-A757-A340A211A06F\/Understanding%20WF%20in%20WSS%20and%20Office%202007%20v1.doc\">Artikel<\/a> &#252;ber die Windows Workflow Foundation (WF). Dieser Satz zeigt meiner Ansicht nach sehr gut wie wichtig es f&#252;r Unternehmen ist ihre Gesch&#228;ftsabl&#228;ufe zu standardisieren und zu automatisieren. Dabei gibt es zwei Welten die aufeinander prallen. Auf der einen Seite sind logische und streng geordnete Programme und auf der anderen Seite Menschen, die Ihre Arbeitsabl&#228;ufe unterbrechen und einteilen wollen.\u00a0Programme sind in der Regel so geschrieben, dass sie ihre Aufgaben sch&#246;n sequentiell hinter einander abarbeiten. Menschen tendieren eher dazu angefangene Aufgaben erstmal ruhen zu lassen und bei Bedarf andere Aufgaben zwischen zu schieben. Man denke dabei an einen Angestellten der zur Mittagspause geht und unterwegs einen Kollegen trifft. Der Kollege erz&#228;hlt ihm von einem wichtigen Auftrag und schon startet der Angestellte noch beim Mittagessen einen neuen Workflow.<\/p>\n<h5>Was ist eigentlich ein Workflow?<\/h5>\n<p>Ein Workflow ist eine vordefinierte Menge an Aktivit&#228;ten die Menschen und\/oder Software koordiniert zu einem bestimmten\u00a0Ergebnis f&#252;hren soll. Dabei unterscheidet man in sequentielle (FlowCharts) und zustandsbasierte Workflows\u00a0(StateMachines).<\/p>\n<p><a atomicselection=\"true\" href=\"http:\/\/www.forksoft.de\/blogImages\/WindowsWorkflowFoundationTeil1_D2E3\/flowchart_thumb1.png\"><img border=\"0\" src=\"http:\/\/www.forksoft.de\/blogImages\/WindowsWorkflowFoundationTeil1_D2E3\/flowchart_thumb.png\" alt=\"FlowChart innerhalb der WF\" style=\"border: 0px\" \/><\/a><\/p>\n<p><a atomicselection=\"true\" href=\"http:\/\/www.forksoft.de\/blogImages\/WindowsWorkflowFoundationTeil1_D2E3\/statemachine_thumb5.gif\"><img src=\"http:\/\/www.forksoft.de\/blogImages\/WindowsWorkflowFoundationTeil1_D2E3\/statemachine_thumb4.gif\" alt=\"StateMachine in der WF\" \/><\/a><\/p>\n<h5>Was sind typische Workflow-Szenarien?<\/h5>\n<ul>\n<li>Bestellvorg&#228;nge: Wenn beispielsweise eine Bestellung in einem OnlineShop aufgeben wird muss eine Best&#228;tigung erfolgen (je nach Bestellwert automatisch oder manuell). Danach muss eine Best&#228;tigungsmail versandt werden, die Abbuchung vorgenommen\u00a0und die Bestellung im Lager zusammengestellt und versandt werden.<\/li>\n<li>Zulassungsvorg&#228;nge: In Firmen fallen oftmals Dokumente an die von verschiedenen Personen bewilligt und freigegeben werden m&#252;ssen. Gleichzeitig wollen die Personen m&#246;glicherweise Notizen und &#196;nderungsvorschl&#228;ge f&#252;r das Dokument hinterlassen.<\/li>\n<li>Issue tracking: Ein CallCenter nimmt Anfragen und Probleme entgegen und startet f&#252;r jedes Problem einen Supportvorgang (Ticket). Dabei kann es je nach Problem verschiedene Abl&#228;ufe geben, bei denen die verschiedensten Personen (Second-Level-Support, Administratoren, Entwickler)\u00a0involviert sein k&#246;nnen.<\/li>\n<\/ul>\n<p>Wie kann man solche Gesch&#228;ftsabl&#228;ufe jedoch unterst&#252;zen und kontrollieren? Die Antwort lautet nat&#252;rlich Windows Workflow Foundation.<\/p>\n<h5><strong>Was ist die WF?<\/strong><\/h5>\n<p>Die WF ist ein zum .NET Framework 3.0 geh&#246;rendes deklaratives Programmierkonzept, das Entwicklern erm&#246;glichen soll komplexe Workflow-Szenarien im Computer abbilden zu k&#246;nnen. Besonderes Augenmerk wurde dabei auf die grafische\u00a0Veranschaulichung des Workflows\u00a0innerhalb des Visual Studio Designers gelegt, so dass man komplexe Arbeitsabl&#228;ufe direkt mit den jeweiligen Workflow-Experten grafisch erfassen kann. Gleichzeitig wird eine RunTime-Umgebung zur Verf&#252;gung gestellt, die innerhalb eines Host-Prozesses den Ablauf des Workflows steuert.<\/p>\n<p>Jeder Workflow braucht einen Host-Prozess, der die RunTime-Umgebung des Workflows instanziert. Dies kann jede .NET-Anwendung aber auch jeder Server sein. Die Windows Workflow Foundation-Technologie\u00a0kommt &#252;brigens urspr&#252;nglich aus dem BizTalk-Server und wurde von dort direkt ins .NET-Framework ausgelagert.\u00a0<\/p>\n<h5>Ist die WF nur f&#252;r Entwickler?<\/h5>\n<p>Prinzipiell ist die WF ein Programmierkonzept &#8211; jedoch wurde die WF bereits in die n&#228;chsten Versionen von SharePoint und Office integriert, so dass es durchaus m&#246;glich sein wird Workflows zu definieren ohne eine einzige Zeile Code zu schreiben. Dokumentenzulassungs-Workflows zum Beispiel kann man komplett im SharePoint Designer erstellen.<\/p>\n<h5>Wie geht es weiter?<\/h5>\n<p>Im n&#228;chsten Teil der Serie werde ich einen einfachen Workflow und die Implementation mit der WF vorstellen.\u00a0<\/p>\n<h5>Weiterf&#252;hrende Quellen:<\/h5>\n<ul>\n<li><a href=\"http:\/\/download.microsoft.com\/download\/1\/A\/B\/1AB1AC93-13A4-4001-A757-A340A211A06F\/Understanding%20WF%20in%20WSS%20and%20Office%202007%20v1.doc\">Understanding Workflow in Windows SharePoint Services and the 2007 Microsoft Office System<\/a>\u00a0(David Chappell)<\/li>\n<li><a href=\"http:\/\/msdn.microsoft.com\/netframework\/default.aspx?pull=\/library\/en-us\/dndotnet\/html\/intronetfx30.asp\">Introducing the .NET Framework 3.0<\/a> (David Chappell)<\/li>\n<li><a href=\"http:\/\/www.microsoft.com\/germany\/office\/2007\/programme\/designer\/uebersicht.mspx\">Microsoft Office SharePoint Designer 2007<\/a><\/li>\n<li><a href=\"http:\/\/msdn.microsoft.com\/winfx\/technologies\/workflow\/default.aspx\">Windows Workflow Foundation<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;Businesses depend on business processes&#8221; schreibt David Chappell als einleitenden Satz in einem viel zitierten Artikel &#252;ber die Windows Workflow Foundation (WF). Dieser Satz zeigt meiner Ansicht nach sehr gut wie wichtig es f&#252;r Unternehmen ist ihre Gesch&#228;ftsabl&#228;ufe zu standardisieren und zu automatisieren. Dabei gibt es zwei Welten die aufeinander prallen. Auf der einen Seite [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[24],"tags":[165,652,164],"_links":{"self":[{"href":"http:\/\/www.navision-blog.de\/blog\/wp-json\/wp\/v2\/posts\/89"}],"collection":[{"href":"http:\/\/www.navision-blog.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.navision-blog.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.navision-blog.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.navision-blog.de\/blog\/wp-json\/wp\/v2\/comments?post=89"}],"version-history":[{"count":0,"href":"http:\/\/www.navision-blog.de\/blog\/wp-json\/wp\/v2\/posts\/89\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.navision-blog.de\/blog\/wp-json\/wp\/v2\/media?parent=89"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.navision-blog.de\/blog\/wp-json\/wp\/v2\/categories?post=89"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.navision-blog.de\/blog\/wp-json\/wp\/v2\/tags?post=89"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}