Freigeben über


Erstellen von Windows SharePoint Services-Workflows

Was ist ein Windows SharePoint Services-Workflow? Grundsätzlich besteht dieser aus zwei Teilen: Die Formulare, die ein Workflow für die Interaktion mit seinen Benutzern verwendet, und die Logik, die das Verhalten des Workflows definiert. Das Verständnis für die Erstellung von Windows SharePoint Services-Workflows erfordert Kenntnisse zu beiden Aspekten.

Da ein Windows SharePoint Services-Workflow mit Benutzern über einen Webbrowser kommuniziert, ist der Workflow zum Anzeigen seiner Formulare von Microsoft ASP.NET abhängig. Dementsprechend werden diese Formulare als ASPX-Seiten definiert. Ein Windows SharePoint Services-Workflow kann eigene Formulare potenziell an vier Punkten seiner Lebensdauer anzeigen:

  • Zuordnung: Wenn ein Windows SharePoint Services-Administrator eine Workflowvorlage einer bestimmten Dokumentbibliothek oder Liste zuordnet, kann dieser möglicherweise Optionen festlegen, die für jede aus dieser Zuordnung erstellte Workflowinstanz gelten. Wenn ein Workflowautor dies zulassen möchte, muss dieser ein Formular bereitstellen, das dem Administrator die Angabe dieser Informationen erlaubt.

  • Initiierung: Der Initiator eines Workflows kann möglicherweise Optionen angeben, wenn er die Ausführung einer Instanz startet. Im gerade beschriebenen Genehmigungsszenario umfassen die Optionen beispielsweise die Angabe der Liste der Workflowteilnehmer und die Definition der Dauer, die jeweils für den Abschluss der Aufgabe verfügbar war. Wenn ein Workflow dies zulässt, muss dessen Autor ein Formular bereitstellen, das dem Initiator erlaubt, diese Optionen festzulegen, wie in Schritt 3 des vorherigen Diagramms gezeigt.

  • Aufgabenabschluss: Die ausgeführte Workflowinstanz muss den Teilnehmern des Workflows ein Formular anzeigen, damit diese die Aufgaben abschließen können. Dieses Formular wird in Schritt 6 des vorherigen Diagramms dargestellt und erlaubt den genehmigenden Personen im früheren Szenario, Kommentare zum Dokument und die Genehmigung oder Ablehnung anzugeben.

  • Änderung: Obwohl oben im Szenario nicht dargestellt, kann der Ersteller eines Workflows zulassen, dass dieser während der Ausführung geändert wird. Ein Workflow kann beispielsweise das Hinzufügen neuer Teilnehmer nach Beginn der Ausführung oder die Verlängerung des Fälligkeitsdatums für den Aufgabenabschluss zulassen. Wenn diese Option verwendet wird, muss der Workflow an diesem Punkt ein Formular anzeigen, damit der Teilnehmer angeben kann, welche Änderungen vorgenommen werden sollen.

Workflows, die ausschließlich auf Windows SharePoint Services basieren, definieren die Formulare als ASPX-Seiten, während die Office SharePoint Server-Workflows auch mit InfoPath erstellte Formulare verwenden können, wie später beschrieben. In beiden Fällen wird die Logik eines Workflows immer als eine Gruppe von Aktivitäten definiert, genau wie bei jedem WF-basierten Workflow. Microsoft bietet für verschiedene Zielgruppen zwei verschiedene Tools zum Festlegen von Logik und Formularen für einen Workflow. Softwareentwickler können WF Workflow Designer (in Visual Studio 2005 gehostet) verwenden. Information Worker, eine weniger technische Gruppe, können in Office SharePoint Designer Workflows ohne Schreiben von Code erstellen. Die nächsten zwei Abschnitte untersuchen, wie Windows SharePoint Services-Workflows mit diesen beiden Tools erstellt werden können.

Erstellen von Workflows mit Visual Studio 2005 und WF Workflow Designer

In vielen Hinsichten ähnelt ein Workflow einem Flussdiagramm. Daher ist es sinnvoll, ein grafisches Tool bereitzustellen, mit dem Entwickler die Aktionen eines Workflows angeben können. Für WF ist dieses Tool Workflow Designer, ein Teil der Windows Workflow Foundation-Erweiterungen für Visual Studio 2005. Entwickler können WF Workflow Designer verwenden, um die Aktivitäten eines Workflows und die Reihenfolge, in der diese Aktivitäten ausgeführt werden sollen, grafisch zu definieren. Der Bildschirm unten zeigt ein einfaches Beispiel dafür.

Beispiel für Workflow mit Windows SharePoint Services

Die verfügbaren Aktivitäten werden in der Toolbox auf der linken Seite des Bildschirms angezeigt. Entwickler können diese Aktivitäten auf die Entwurfsoberfläche ziehen, um die Schritte in einem Workflow zu definieren. Die Eigenschaften der einzelnen Aktivitäten können anschließend im Eigenschaftenfenster festgelegt werden, das in der unteren rechten Ecke angezeigt wird.

Die Basisaktivitätenbibliothek von WF stellt eine Gruppe von grundlegenden Aktivitäten bereit, wie oben beschrieben. Windows SharePoint Services bietet ebenfalls eine Reihe von Aktivitäten, die ausdrücklich zum Erstellen von Windows SharePoint Services-Workflows entwickelt wurden. Die wichtigsten dieser Aktivitäten sind die folgenden:

  • OnWorkflowActivated: Bietet einen standardmäßigen Ausgangspunkt für einen Windows SharePoint Services-Workflow. Unter anderem kann diese Aktivität Informationen akzeptieren, die von einem Windows SharePoint Services-Administrator über das Zuordnungsformular bereitgestellt werden, wenn dem Workflow eine Dokumentbibliothek oder Liste zugeordnet ist. Außerdem können Informationen akzeptiert werden, die beim Starten des Workflows über das Initiierungsformular bereitgestellt werden. Jeder Windows SharePoint Services-Workflow muss mit dieser Aktivität beginnen.

  • CreateTask: Erstellt eine Aufgabe, die einem bestimmten Benutzer in einer Aufgabenliste zugewiesen ist. Beispielsweise verwendet der Genehmigungsworkflow im früher beschriebenen Szenario diese Aktivität, um der von allen Teilnehmern verwendeten Aufgabenliste eine Aufgabe hinzuzufügen. Diese Aktivität verfügt auch über eine SendEmailNotification-Eigenschaft, die automatisch eine E-Mail an die Person sendet, für die diese Aufgabe erstellt wurde, wenn diese Eigenschaft auf True festgelegt ist.

  • OnTaskChanged: Akzeptiert Informationen aus dem Aufgabenabschlussformular. Der Genehmigungsworkflow im früheren Szenario verwendet diese Aktivität, um nach Genehmigung des Dokuments die Eingabe der einzelnen Teilnehmer zu akzeptieren.

  • CompleteTask: Markiert eine Aufgabe als abgeschlossen.

  • DeleteTask: Entfernt eine Aufgabe aus einer Aufgabenliste.

  • OnWorkflowModified: Akzeptiert Informationen aus dem Änderungsformular, die dann verwendet werden können, um zu ändern, wie sich diese Instanz des Workflows verhält. Wenn der Ersteller des Workflows sich dafür entscheidet, keine Instanzen dieser Aktivität in den Workflow einzuschließen, kann dieser Workflow während der Ausführung nicht geändert werden.

  • SendEmail: Sendet einer angegebenen Person oder Gruppe von Personen eine E-Mail.

  • LogToHistoryList: Schreibt Informationen über die Ausführung des Workflows in eine Verlaufsliste. Die Informationen in dieser Liste werden verwendet, um Benutzern anzuzeigen, an welchem Punkt der Ausführung sich ein Workflow befindet, um den Verlauf des Workflows nach dessen Abschluss anzuzeigen und mehr. Für diese Art der Überwachung muss der Autor des Workflows zu geeigneten Zeitpunkten der Workflowausführung Informationen in eine Verlaufsliste schreiben. Da Windows SharePoint Services einen eigenen Mechanismus zum Nachverfolgen von Workflows bietet, wird der standardmäßige Nachverfolgungsdienst von WF nicht unterstützt.

Ein typisches Muster für einen einfachen Windows SharePoint Services-Workflow beginnt mit einer OnWorkflowActivated-Aktivität. Dann wird eine CreateTask-Aktivität verwendet, um einem Teilnehmer des Workflows eine Aufgabe zuzuweisen. Die standardmäßige While-Aktivität der Basisaktivitätenbibliothek kann anschließend verwendet werden, um zu warten, bis der Benutzer die Aufgabe abschließt. Eine OnTaskChanged-Aktivität wird innerhalb der While-Aktivität ausgeführt, die alle Informationen extrahiert, die der Benutzer auf diesem Formular eingegeben hat. So lässt sich feststellen, wann der Benutzer die Aufgabe abgeschlossen hat (möglicherweise nimmt der Benutzer mehrere Änderungen an der Aufgabe vor und markiert dann ein Feld auf dem Aufgabenabschlussformular, wenn er fertig ist). Wenn der Benutzer die Aufgabe beendet hat, wird möglicherweise eine CompleteTask-Aktivität ausgeführt, gefolgt von einer DeleteTask-Aufgabe. Der Workflow kann dann zum nächsten Teilnehmer übergehen, diesem mit einer CreateTask-Aktivität eine Aufgabe zuweisen usw. Es können auch andere Aktivitäten ausgeführt werden, beispielsweise Senden von E-Mail, Protokollieren von Informationen in der Verlaufsliste oder durch Einbeziehung der Code-Aktivität der Basisaktivitätenbibliothek das Ausführen von willkürlichem Code.

All diese von Windows SharePoint Services bereitgestellten Aktivitäten befassen sich mit der Ausführung von Workflows innerhalb der Windows SharePoint Services-Umgebung. Die Geschäftslogik, die ein Workflow implementiert, bleibt dem Ersteller des Workflows überlassen. Ein Entwickler, der einen Windows SharePoint Services-Workflow erstellt, kann eigene benutzerdefinierte Aktivitäten frei erstellen und verwenden. Es ist nicht vorgeschrieben, dass nur die von Windows SharePoint Services und WF bereitgestellten Aktivitäten verwendet werden können.

Wie zuvor beschrieben, unterstützt Windows Workflow Foundation sequenzielle und Automatenworkflows. Ein mit WF Workflow Designer erstellter Windows SharePoint Services-Workflow kann ebenfalls eine dieser beiden Möglichkeiten verwenden. Dazu fügt Windows SharePoint Services Visual Studio 2005 zwei Projekttypen hinzu, einen für jede dieser Workflowformatvorlagen.

Unabhängig von der gewählten Formatvorlage muss der Entwickler mehr als nur die Logik des Workflows definieren. Er muss auch die ASPX-Formulare angeben, die verwendet werden sollen. Dafür verwendet der Entwickler eine Datei namens Workflow.XML. Diese Datei enthält eine Vorlage, die der Entwickler ausfüllt und dabei angibt, welches Formular (sofern dies der Fall sein soll) an jedem der vier Punkte angezeigt wird, an denen dies für einen Windows SharePoint Services-Workflow zulässig ist.

Entwickler müssen einige Arbeit leisten, um Informationen zwischen einem Windows SharePoint Services-Workflow und den verwendeten ASPX-Formularen zu übergeben. Windows SharePoint Services bietet einen Namespace, Microsoft.Windows.SharePoint.Workflow, der ein Objektmodell für Entwickler bereitstellt. Mit den Typen in diesem Namespace kann der Ersteller eines Windows SharePoint Services-Workflows Informationen aus einem ASPX-Formular an den Workflow und umgekehrt übergeben.

Nachdem ein Windows SharePoint Services-Workflow und seine Formulare erstellt wurden, muss der Entwickler diese in Features packen, wie dies in Windows SharePoint Services 3.0 heißt. Ein Windows SharePoint Services-Administrator muss dieses Feature dann installieren. Dazu zählt die Installation der Workflowassemblys im globalen Assemblycache des Zielsystems. Der neue Workflow ist für den Administrator jetzt als Workflowvorlage sichtbar, die einer Dokumentbibliothek oder Liste zugeordnet werden kann.

Für Softwareentwickler ist das Erstellen eines Windows SharePoint Services-Workflows mithilfe von Visual Studio und WF Workflow Designer nicht besonders schwierig. Der Entwickler muss die Besonderheiten der Arbeit in dieser Umgebung kennen, aber viele Aufgaben sind vertraut. Softwareentwickler sind jedoch nicht die einzigen Personen, die Windows SharePoint Services-Workflows erstellen möchten. Wie im Folgenden beschrieben, können Personen, die keine professionellen Entwickler sind, ebenfalls Workflows mit Office SharePoint Designer erstellen.

Erstellen von Workflows mit Office SharePoint Designer 2007

Office SharePoint Designer 2007, eine separat lizenzierte Komponente des Office 2007-Systems, ermöglicht Information Workern und anderen Personen das Hinzufügen von Anwendungslogik (als Workflow implementiert) zu Windows SharePoint Services-Websites. Dies ist nützlich, aber Office SharePoint Designer löst noch ein weiteres wichtiges Problem. Wenn ein Entwickler mithilfe von Visual Studio einen Windows SharePoint Services-Workflow erstellt, muss dieser Workflow wie jede andere Anwendung auf einem Windows SharePoint Services-Server installiert werden. Viele Windows SharePoint Services-Administratoren erlauben jedoch nicht die Bereitstellung von willkürlichem Code auf Ihren Servern, da das Risiko der Systemdestabilisierung als zu groß gilt. Die Möglichkeit zum Erstellen einfacher, an Dokumente und Listenelemente gebundene Geschäftslogik ist jedoch sehr nützlich, und viele Windows SharePoint Services-Benutzer benötigen diese Möglichkeit. Zusammen mit der Möglichkeit der Erstellung von Workflows durch Personen mit geringeren technischen Kenntnissen behebt Office SharePoint Designer auch dieses Problem, indem eine sicherere Möglichkeit zum Definieren und Bereitstellen von Geschäftslogik auf Windows SharePoint Services-Servern zur Verfügung gestellt wird.

Die Workflowszenarien, die von Office SharePoint Designer behandelt werden, unterscheiden sich in einigen Aspekten von den durch Visual Studio und WF Workflow Designer behandelten Szenarien. Während es möglich ist, komplexe Anwendungen zu erstellen, besteht der Sinn von Office SharePoint Designer darin, dass Benutzer Geschäftslogik zu Windows SharePoint Services-Websites hinzufügen können. Nehmen Sie beispielsweise an, dass eine Website eine Liste enthält, mit der Benutzer Änderungsanforderungen senden können. Office SharePoint Designer kann zum Erstellen eines Workflows verwendet werden, der den Antragssteller automatisch informiert, wenn die Änderungsanforderung akzeptiert oder abgelehnt wurde. Ebenso kann ein benutzerdefinierter Workflow eine bestimmte Gruppe von Benutzern informieren, sobald ein neues Dokument zu einer bestimmten Dokumentbibliothek hinzugefügt wird. Die Ausführung dieser Art von benutzerdefinierter Benachrichtigung ist nicht kompliziert – die Erstellung der Workflows ist einfach – aber bei früheren Versionen von Windows SharePoint Services handelte es sich um eine anspruchsvolle Aufgabe, da Administratoren zögern, von Benutzern geschriebenen Code zu installieren.

Hier stellt sich eine offensichtliche Frage: Warum sollte mit Office SharePoint Designer erstellte Logik anders behandelt werden? Warum sind Windows SharePoint Services-Administratoren bereit, mit diesem Tool erstellte Workflows auf den Systemen bereitzustellen, für die sie verantwortlich sind? Die Antwort besteht darin, dass mit Office SharePoint Designer erstellte Workflows nur Aktivitäten aus einer administratorgesteuerten Liste verwenden können. Der Administrator einer Website kann sich dafür entscheiden, von einem Entwickler auf dieser Liste erstellte benutzerdefinierte Aktivitäten einzuschließen, aber er muss dies nicht tun. Ein Windows SharePoint Services-Administrator kann genau definieren, welche Aufgaben Workflows ausführen dürfen, und daher sicherer sein, dass die Bereitstellung von Logik, die mit Office SharePoint Designer erstellt wurde, das System nicht mehr destabilisiert.

Da Office SharePoint Designer für Information Worker statt Entwickler vorgesehen ist und einfachere Szenarien bevorzugt, wird ein anderes Modell zum Erstellen von Workflows als bei Visual Studio-gehostetem WF Workflow Designer verwendet. Statt eines grafischen Ansatzes verwendet Office SharePoint Designer einen regelbasierten Ansatz. Es handelt sich um etwas Ähnliches wie den Regel-Assistenten in Outlook, ein Tool, das vielen Leuten vertraut ist. Der Bildschirm unten veranschaulicht, wie ein Benutzer von Office SharePoint Designer einen Schritt in einem Workflow definiert.

Erstellen von Workflows mit Windows SharePoint Services

Jeder Schritt kann eine Bedingung und eine Aktion aufweisen. Die Bedingung bestimmt, ob diese Aktion des Schritts ausgeführt werden muss, so wie in den Anweisungen oben gezeigt. Die Auswahlmöglichkeiten für Aktionen umfassen Faktoren wie das Zuweisen von Aufgaben an Workflowteilnehmer, das Senden von E-Mail und viele weitere Aufgaben. Jede dieser Aktionen wird von Windows SharePoint Services-Aktivitäten ausgeführt, und bei den hier verwendeten Aktivitäten handelt es sich um dieselben Aktivitäten wie für Visual Studio und WF Workflow Designer. Die oben erläuterte Option E-Mail senden entspricht der SendEmail-Aktivität, und Aufgabe zuordnen entspricht einer leicht spezialisierten Variante der CreateTask-Aktivität. Die Liste der Aktionen kann auch jede andere Aktivität enthalten, die der Windows SharePoint Services-Administrator für diese Seite erlaubt, einschließlich von Entwicklern erstellter benutzerdefinierte Aktivitäten.

Obwohl sich die Benutzeroberfläche von dem grafischen Ansatz von Visual Studio und WF Workflow Designer unterscheidet, erstellt Office SharePoint Designer einen standardmäßigen WF-Workflow. Dabei wird ein sequenzieller Workflow mit Bedingungen erstellt, die mit dem WF-Regelmodul ausgedrückt werden. Mit diesem Tool erstellte Workflows haben jedoch einige Einschränkungen. Diese können beispielsweise während der Ausführung nicht geändert werden, anders als die mit Visual Studio und WF Workflow Designer erstellten Workflows. Außerdem können nur sequenzielle Workflows erstellt werden, Automaten werden nicht unterstützt. Mit diesem Tool erstellte Workflows müssen beim Entwurf außerdem gegen eine Liste oder eine bestimmte Dokumentbibliothek erstellt werden. Das Erstellen einer allgemeinen Workflowvorlage, die später einer beliebigen Bibliothek oder Liste oder einem Inhaltstyp zugeordnet werden kann, ist nicht möglich. Während dies Beschränkungen dafür nach sich zieht, wie ein Workflow verwendet werden kann, wird die Bereitstellung des Workflows wesentlich vereinfacht. Wenn ein Benutzer die Erstellung eines Workflows mit Office SharePoint Designer abschließt, stellt das Tool den Workflow automatisch auf der Zielwebsite bereit. Dies ist deutlich weniger komplex als der aus mehreren Schritten bestehende Bereitstellungsprozess, der für Workflows erforderlich ist, die mit Visual Studio und WF Workflow Designer erstellt wurden.

Mit Office SharePoint Designer erstellte Workflows können auch benutzerdefinierte Formulare anzeigen. Workflowautoren müssen ASPX-Seiten nicht direkt erstellen, das Tool generiert diese Seiten stattdessen. Der Autor gibt Details zum Aussehen der generierten Seiten an, beispielsweise welche Felder diese enthalten sollen, und alle weiteren Aufgaben werden von Office SharePoint Designer übernommen. Statt der vier Punkte im Lebenszyklus eines Windows SharePoint Services-Workflow, an denen Formulare eingesetzt werden können, werden jedoch nur zwei für Workflows verwendet, die mit Office SharePoint Designer erstellt werden: Initiierung und Aufgabenabschluss. Da jeder mit diesem Tool erstellte Workflow einer bestimmten Dokumentbibliothek oder Liste zugeordnet sein muss, ist kein Zuordnungsschritt und somit kein Zuordnungsformular erforderlich. Da diese Workflows während der Ausführung nicht geändert werden können, ist kein Änderungsformular erforderlich.

Mit Office SharePoint Designer können nicht nur Windows SharePoint Services-Workflows erstellt werden. Das Tool kann außerdem beispielsweise zum Erstellen einer Windows SharePoint Services-Website oder zum Anpassen von Aussehen und Verhalten der Seiten einer Website verwendet werden, indem die Masterseite der Website bearbeitet wird. Das Tool kann auch zum Herzustellen von Verbindungen mit externen Daten genutzt werden. Dafür wird die Datenbindungsunterstützung in ASP.NET verwendet. Für Information Worker, die Logik erstellen müssen, die auf Windows SharePoint Services-Websites ausgeführt wird, ist der wichtigste Aspekt des Office SharePoint Designers jedoch die Unterstützung für die Erstellung von Workflows.

Windows SharePoint Services bietet viele Funktionen für die Erstellung dokumentorientierter Workflows. Es handelt sich jedoch letztendlich um eine Entwicklungs- und Ausführungsplattform. Als eigenständiges Tool werden keine Workflowfunktionen geboten, die direkt von Endbenutzern verwendet werden können. Für verwendungsfertige Workflowanwendungen (die häufig erforderlich sind), ist Windows SharePoint Services nicht ausreichend. Nur mit Windows SharePoint Services erstellte Workflows haben noch andere Einschränkungen, beispielsweise die fehlende Möglichkeit zur Interaktion mit Teilnehmern über Office-Clientanwendungen. Wie im Folgenden beschrieben, bietet Office SharePoint Server eine Möglichkeit zur Überwindung dieser Einschränkungen.

Herunterladen dieses Buchs

Dieses Thema wurde zum leichteren Lesen und Ausdrucken in das folgende Buch zum Herunterladen aufgenommen:

Die vollständige Liste der verfügbaren Bücher finden Sie unter Bücher zum Herunterladen für Office SharePoint Server 2007.