{"id":278,"date":"2011-02-18T09:02:40","date_gmt":"2011-02-18T08:02:40","guid":{"rendered":"http:\/\/www.capri-soft.de\/blog\/?p=278"},"modified":"2011-02-20T17:09:05","modified_gmt":"2011-02-20T16:09:05","slug":"workflow-patterns","status":"publish","type":"post","link":"https:\/\/www.capri-soft.de\/blog\/?p=278","title":{"rendered":"Workflow Patterns &#8211; Teil 1"},"content":{"rendered":"<h1>Workflows<\/h1>\n<h2>Was ist ein Workflow?<\/h2>\n<p>Grunds\u00e4tzlich ist ein Workflow erstmal nichts technisches. Es geht hierbei meistens (so auch hier) um Formulare, die in einem Unternehmen mehrere Abteilungen und Stationen durchlaufen. Ob das Formular auf einem Papier oder in einer rechnergest\u00fctzten Anwendung realisiert wurde, spielt dabei vorerst keine Rolle.<\/p>\n<p>Mithilfe von Workflows k\u00f6nnen Personen gemeinsam an Dokumenten arbeiten. Organisationen k\u00f6nnen einheitliche Gesch\u00e4ftsprozesse einhalten und die Effizienz und Produktivit\u00e4t der Organisation verbessern, indem die Aufgaben und Schritte einzelner Gesch\u00e4ftsprozesse verwaltet und harmonisiert werden. Auf diese Weise k\u00f6nnen sich die Personen, die diese Aufgaben ausf\u00fchren, auf die Arbeit selbst und nicht auf die Verwaltung des Workflows konzentrieren.<\/p>\n<p>Papiergebundene Workflows haben im Vergleich zu rechnergest\u00fctzten Workflows den Nachteil, dass sich die folgenden Fragen nicht beantworten lassen:<\/p>\n<ul>\n<li>Wo befindet sich das Dokument?<\/li>\n<li>Wer bearbeitet es?<\/li>\n<li>Wer hat es schon bearbeitet?<\/li>\n<li>Kann ich das Dokument schnell zur\u00fcckholen?<\/li>\n<li>Wann wurde es in Umlauf gebracht?<\/li>\n<li>Wurde ein Datum \u00fcberschritten?<\/li>\n<\/ul>\n<p>Ein Workflow ist eine inhaltlich abgeschlossene, zeitlich und sachlogisch zusammenh\u00e4ngende Folge von Schritten, die zur Bearbeitung eines betriebswirtschaftlich relevanten Objektes notwendig sind und deren Funktions\u00fcberg\u00e4nge von einem Informationssystem gesteuert werden.<\/p>\n<p><strong>Abgeschlossenheit<\/strong>: Ein Workflow definiert einen Arbeitsablauf mit einer Abfolge von Aktivit\u00e4ten innerhalb einer Organisation. Die Abfolge beginnt an einem bestimmten Punkt und endet auch an einem solchem. Es gibt daher einen Initiator eines Workflows und eine Aktion, die am Ende definiert, was als n\u00e4chstes passieren soll.<\/p>\n<p><strong>Zeitlicher Ablauf<\/strong>: Ein Workflow kann an einem Zeitpunkt 1 beginnen und an einem Zeitpunkt 5 aufh\u00f6ren. Wenn dies der Fall ist, existieren 5 Workflowpositionen.<\/p>\n<p><strong>Sachlogik<\/strong>:<br \/>\nSachlogik dient dazu..<\/p>\n<ul>\n<li>Aktionen zu validieren und Eingabefehler auszuschlie\u00dfen<\/li>\n<li>den <em>zeitlichen Ablauf<\/em> anhand bestimmter Kriterien zu beeinflussen<\/li>\n<li>Workflowpositionen nach Notwendigkeit wegfallen oder hinzukommen zu lassen<\/li>\n<li>Schritte die automatisierbar sind durch definierte Logik durch den Workflow eigenst\u00e4ndig erledigen zu lassen<\/li>\n<\/ul>\n<p>In der Regel ist das betriebswirtschaftliche Objekt ein Formular, welches zum Einsammeln von Daten gedacht ist.<\/p>\n<h2>Wo werden Workflows verwendet und welchem Zweck dienen Sie?<\/h2>\n<p>Workflows werden \u00fcberall dort verwendet, wo durch einen strukturierten Arbeitsablauf transparenz und Arbeitsersparnis erreicht werden kann. Arbeitsersparnis erh\u00e4lt man in der Regel durch den niedrigeren Koordinationsaufwand, die Transparenz hingegen durch die M\u00f6glichkeit den Status eines Workflows abzufragen (an welcher Workflowposition h\u00e4ngt es &#8211; wen muss ich ansprechen &#8211; wer ist verantwortlich?). Normalerweise w\u00fcrde man anfangen rumzutelefonieren, bei wem ein Dokument gerade liegt. Dies kann \u00fcber eine Suchfunktion \u00ednnerhalb des Informationssystems realisiert werden.<\/p>\n<h2>Wer braucht Workflows?<\/h2>\n<p>Personen, die &#8230;<\/p>\n<ul>\n<li> &#8230; \u00fcber Dokumente wie Formulare Informationen\/Daten \u00fcber mehrere, in der Organisation verteilte einsammeln und nicht die Zeit haben hinter einem Dokument hinterherzutelefonieren.<\/li>\n<li> &#8230; den Verbleib eines Dokumentes genau nachvollziehen m\u00fcssen<\/li>\n<li> &#8230; nicht das Gesamt-Know-How eines Arbeitsprozesses besitzen und auf andere Personen angewiesen sind.<\/li>\n<li> &#8230; einen Prozess mit erheblichem Aufwand optimieren m\u00f6chten<\/li>\n<li> &#8230; gerne mehr Zeit haben.<\/li>\n<\/ul>\n<h2>Welche Realisierungsm\u00f6glichkeiten gibt es f\u00fcr Worfklows?<\/h2>\n<ul>\n<li>Papiergebundene Workflows<\/li>\n<li>Web-Workflows<\/li>\n<li>Native Workflows<\/li>\n<li>Systemintegrierte Workflow (z.B. SAP Workflow)<\/li>\n<\/ul>\n<h2>Wie plant man einen Workflow?<\/h2>\n<ul>\n<li>Entscheidung f\u00fcr die Implementierung eines Workflows<\/li>\n<li>Anforderungserfassung<\/li>\n<li>Definition von Zielen und des Optimierungspotentials<\/li>\n<li>Festlegung der Workflowinfrastruktur<\/li>\n<ul>\n<li>Pr\u00e4sentationsformen: Web\/Windows\/Mobil<\/li>\n<li>Kommunikationstechniken f\u00fcr Beachrichtigungen: z.B. eMail: SMTP-Server, personifizierter Posteingang kombiniert mit eMail-Nachricht &#8230;<\/li>\n<li>Ben\u00f6tigte Services\/Dienste: Z.B. Best\u00e4nde bei SAP abrufen&#8230;<\/li>\n<\/ul>\n<li>Festlegung der Workflowtechnologie<\/li>\n<ul>\n<li>Client-Server-L\u00f6sung<\/li>\n<ul>\n<li>Web-Anwendung: Three-Tier-Architektur mit: Adobe Flex 3\/FluorineFX\/MS SQL Server<\/li>\n<li>Mobil-Anwendung: Android App und iPhone App<\/li>\n<\/ul>\n<li>Stand Alone L\u00f6sungen<\/li>\n<ul>\n<li>Office Dokumente die sich per eMail versenden<\/li>\n<\/ul>\n<\/ul>\n<li>Festlegung der Workflowarchitektur<\/li>\n<ul>\n<li>Aufgaben, bzw. Rollen<\/li>\n<ul>\n<li>Was f\u00fcr T\u00e4tigkeiten werden in dem Gesch\u00e4ftsprozess erledigt? Hier leiten sich die Rollen ab&#8230;<\/li>\n<li>Eine Rolle ist eine Aufgabe, die eine Person in einem Unternehmen hat.<\/li>\n<\/ul>\n<li>Ablauf<\/li>\n<ul>\n<li>Reihenfolge: Welche Informationen m\u00fcssen vor dem Erreichen einer Aufgabe\/Workflowposition erfasst sein?<\/li>\n<\/ul>\n<\/ul>\n<\/ul>\n<h1>Workflow-Patterns<\/h1>\n<p>Workflow-Patterns sind bestimmte Entwurfsmuster, die in Workflow-Projekten immer wieder anzutreffen sind. Workflow-Patterns bestehen aus Workflow-Positionen und Workflow-Abl\u00e4ufen.<\/p>\n<h3>Workflow-Positionen<\/h3>\n<p>Eine Workflowposition dient der Vorlage, Bearbeitung und Best\u00e4tigung von Daten, die \u00fcber ein Formular eingesammelt werden. Die Workflowposition kann einer Person, oder einer Gruppe von Personen zugeordnet sein.<\/p>\n<h3>Zeitliche Abfolgen<\/h3>\n<p>Zeitliche Abfolgen legen fest, wann eine Person das Dokument erh\u00e4lt und zu welchem Zeitpunkt. <\/p>\n<h3>Logische Abfolgen<\/h3>\n<p>Eine logische Abfolge wird nur dann abgearbeitet, wenn ein vorheriges Ereignis \/ eine vorherige Logikpr\u00fcfung erfolgreich war und durch eine optionale Workflowpositionen durch die Abfolge erreicht wird. <\/p>\n<h3>Vorg\u00e4nger- und Nachfolgerbeziehungen<\/h3>\n<p>Ben\u00f6tigt eine Person Daten von einer anderen, ist die Person, die die Daten ben\u00f6tigt, der Nachfolger der Person, die die Daten in das Formular eingibt. Es gibt hier also eine zeitliche Abh\u00e4ngigkeit, die durch Vorg\u00e4nger- und Nachfolgebeziehungen defniert werden. Man versucht dabei so viele Positionen parallel abzuarbeiten, wie das m\u00f6glich ist. <\/p>\n<h2>Workflow-Abl\u00e4ufe<\/h2>\n<h3>Serialisierte Workflowabl\u00e4ufe<\/h3>\n<p>Einer nach dem anderen (bsp. Excel-Dokument das bei Bearbeitung immer gesperrt wird).<br \/>\nVorteile:<br \/>\n* Klarer strukturierter Ablauf.<br \/>\nNachteile:<br \/>\n* Es geht viel Zeit w\u00e4hrend der Bearbeitung verloren, wenn keine Daten vom Vorg\u00e4nger ben\u00f6tigt werden (informelle Abh\u00e4ngigkeit zum Vorg\u00e4nger).<br \/>\n* Keine parallele Abarbeitung m\u00f6glich, da immer gesperrt.<\/p>\n<h3>Parallele Workflowabl\u00e4ufe<\/h3>\n<p>Es k\u00f6nnen mehrere Personen gleichzeitig an einer Workflowposition auf den Workflow zugfreifen. Erst wenn alle Personen best\u00e4tigt haben, l\u00e4uft der Workflow weiter. <\/p>\n<p>Fortsetzung folget (Workflow Patterns &#8211; Teil 2 inklusive Codebeispiele)<\/p>\n<iframe src=\"http:\/\/www.facebook.com\/plugins\/like.php?href=https%3A%2F%2Fwww.capri-soft.de%2Fblog%2F%3Fp%3D278&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light\" scrolling=\"no\" frameborder=\"0\" allowTransparency=\"true\" style=\"border:none; overflow:hidden; width:450px;margin-top:5px;\"><\/iframe>","protected":false},"excerpt":{"rendered":"<p>Workflows Was ist ein Workflow? Grunds\u00e4tzlich ist ein Workflow erstmal nichts technisches. Es geht hierbei meistens (so auch hier) um Formulare, die in einem Unternehmen mehrere Abteilungen und Stationen durchlaufen. Ob das Formular auf einem Papier oder in einer rechnergest\u00fctzten Anwendung realisiert wurde, spielt dabei vorerst keine Rolle. Mithilfe von Workflows k\u00f6nnen Personen gemeinsam an &hellip; <a href=\"https:\/\/www.capri-soft.de\/blog\/?p=278\" class=\"more-link\"><span class=\"screen-reader-text\">Workflow Patterns &#8211; Teil 1<\/span> weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[1],"tags":[],"class_list":["post-278","post","type-post","status-publish","format-standard","hentry","category-allgemein"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p4yGeN-4u","jetpack_likes_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/www.capri-soft.de\/blog\/index.php?rest_route=\/wp\/v2\/posts\/278","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.capri-soft.de\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.capri-soft.de\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.capri-soft.de\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.capri-soft.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=278"}],"version-history":[{"count":29,"href":"https:\/\/www.capri-soft.de\/blog\/index.php?rest_route=\/wp\/v2\/posts\/278\/revisions"}],"predecessor-version":[{"id":299,"href":"https:\/\/www.capri-soft.de\/blog\/index.php?rest_route=\/wp\/v2\/posts\/278\/revisions\/299"}],"wp:attachment":[{"href":"https:\/\/www.capri-soft.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=278"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.capri-soft.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=278"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.capri-soft.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=278"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}