Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

SharePoint 2010のワークフローの作成

Visual Studio 2010によるSharePoint 2010開発の基本(3)

  • LINEで送る
  • このエントリーをはてなブックマークに追加

 本連載では、Visual Studio 2010によるSharePoint 2010開発を扱います。第3回となる今回は、SharePoint 2010のワークフローの作成方法を解説します。

目次

はじめに

 本連載では、Visual Studio 2010によるSharePoint 2010開発を扱います。第3回となる今回は、SharePoint 2010のワークフローの作成方法を解説します。

対象読者

  • Visual Studio 2010によるSharePoint 2010開発に関心がある開発者
  • SharePoint 2010のワークフローの開発に関心がある開発者

開発環境の整備

 本連載の第1回を参考にして、SharePoint 2010の開発環境を整えてください。

SharePoint 2010のワークフロー機能

 SharePoint 2010のワークフロー機能は、.NET Framework 3.5のWindows Workflow Foundation(WF)を基盤としています。

 WF自体は、.NET Framework 3.0から導入されたマイクロソフトが提供しているワークフローのためのフレームワークです。執筆時点では、.NET Framework 4に含まれるWF 4が最新ですが、SharePoint 2010ではWF 3.5を使用します。WF 4は、それまでのWF 3.5から大幅な変更が加えられており、基本的には互換性はありませんのでご注意ください。将来的には、SharePointでもWF 4のワークフローが使用可能になることが予想されます。

 WFでは、業務における種々の処理の流れ(フロー)を、アクティビティと呼ばれる特定の処理の組み合わせで実現します。Visual Studioのツールボックスから、提供されているアクティビティをデザイン画面に貼りつけてプロパティを設定します。このようにデザイン画面上でアクティビティを組み合わせることにより、コードをそれ程記述することなく実行可能なワークフローを作成することができます。

 WF 3.0/3.5では、シーケンシャルワークフローステートマシンのワークフローの2種類のワークフローを作成できます。SharePoint 2010のワークフロー機能でも、これら2種類のワークフローを作成できます。Visual Studio 2010には、SharePoint 2010におけるそれぞれのワークフロー用のプロジェクトテンプレートが用意されています。

 表1に、シーケンシャルワークフローとステートマシンのワークフローの違いを簡単にまとめます。

表1 SharePoint 2010用プロジェクトテンプレート
ワークフローの種類 説明
シーケンシャルワークフロー 一連のアクティビティを1つずつ順番(シーケンシャル)に実行する。条件分岐や繰り返し、並列処理にも対応。
ステートマシンのワークフロー ステートマシンとしてワークフローをモデル化する。イベントにより別のステート(状態)に移行し処理が実行される。最終ステートに来た時点でワークフローが完了する。

 WF 3.0/3.5自体の基本的な機能や提供されているアクティビティを解説しようと思うとそれだけでかなりのボリュームになってしまうため、SharePoint 2010開発を解説する本稿ではこれらの点は扱いません。CodeZineにおけるWFについての過去の記事を参照してください。

 SharePoint 2010におけるワークフロー機能では、WF 3.0/3.5が標準で提供するアクティビティに加えて、SharePointワークフロー用のさまざまなアクティビティが提供されています。主なアクティビティについて、表2にまとめます。

表2 主なSharePoint 2010ワークフロー用アクティビティ
アクティビティ 説明
CompleteTask タスクを完了する
CreateTask タスクを新規作成する
DeleteTask タスクを削除する
LogToHistoryListActivity ワークフローの履歴にログを追加する
OnTaskChanged タスクの変更時に呼ばれる
OnTaskCreated タスクの作成時に呼ばれる
OnTaskDeleted タスクの削除時に呼ばれる
OnWorkflowActivated ワークフローの初期化時に呼ばれる
OnWorkflowItemChanged アイテムの変更時に呼ばれる
OnWorkflowItemDeleted アイテムの削除時に呼ばれる
SendEmail メール送信
UpdateTask タスクを更新する
CreateItemActivity アイテムを新規作成する
DeleteItemActivity アイテムを削除する
UpdateItemActivity アイテムを更新する

 SharePoint 2010では、特定のリストやライブラリに関連付けられているワークフローのことをリストワークフローと呼び、どのリストやドキュメントにも関連付けられておらずサイト上から実行可能なワークフローのことをサイトワークフローと呼びます。シーケンシャルワークフローとステートマシンのワークフローのどちらにおいても、プロジェクト作成時のウィザード中で、リストワークフローかサイトワークフローのどちらを作成するかを選択するように求められます。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • WINGSプロジェクト 広瀬 嘉久(株式会社ジェイテックジャパン)(ヒロセ ヨシヒサ )

    <WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2017年5月時点での登録メンバは52名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂き...

  • 山田 祥寛(ヤマダ ヨシヒロ)

    静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XMLD...

バックナンバー

連載:Visual Studio 2010によるSharePoint 2010開発の基本
All contents copyright © 2005-2018 Shoeisha Co., Ltd. All rights reserved. ver.1.5