Visual Studio を使用して SharePoint ワークフローを開発するDevelop SharePoint workflows using Visual Studio

SharePoint では、ワークフローを作成するために、SharePoint Designer と Visual Studio の 2 つの主要なワークフロー開発環境をサポートしています。この記事では、この 2 つのツールの概要とそれぞれの利点と欠点について説明します。SharePoint supports two primary workflow development environments for authoring workflows: SharePoint Designer and Visual Studio. This article summarizes both and discusses the advantages and disadvantages of each.

SharePoint ワークフロー作成の基本事項Authoring basics for SharePoint workflows

注意

Microsoft SharePoint およびワークフロー マネージャー クライアント 1.0 サーバーのセットアップおよび構成方法については、「SharePoint ワークフロー マネージャーをセットアップし構成する」を参照してください。For guidance on setting up and configuring Microsoft SharePoint and the Workflow Manager Client 1.0 server, see Set up and configure SharePoint Workflow Manager.

以前のバージョンと同様に、Microsoft SharePoint には、ワークフロー作成のための Microsoft SharePoint Designer と Microsoft Visual Studio の 2 つの主なワークフロー開発環境が用意されています。ただし、Visual Studio の使用においてコード ベースの作成戦略が提供されていないところが以前のバーションとは異なります。代わりに、選択する開発ツールを問わず SharePoint Designer と Visual Studio の両方に完全に宣言型のコード不要の作成環境が用意されています。As with previous versions, Microsoft SharePoint provides two primary workflow development environments for authoring workflows: Microsoft SharePoint Designer and Microsoft Visual Studio. However, what differs from previous versions is that using Visual Studio no longer provides a code-based authoring strategy. Instead, both SharePoint Designer and Visual Studio provide a fully declarative, no-code authoring environment regardless of the development tool you select.

注意

SharePoint Designer でのワークフローの作成を補完するものとして、Microsoft Visio 2013 で Visio 2013 の図形を使用してワークフロー ロジックを構造化し、ロジックを SharePoint Designer 2013 にインポートできます。As a complement to authoring workflows in SharePoint Designer, you can also use Microsoft Visio 2013 to structure your workflow logic by using Visio 2013 shapes, and then import your logic into SharePoint Designer 2013. Visio 2013 を使用してワークフロー ロジックを作成する方法については、「SharePoint Designer および Visio でのワークフロー開発」を参照してください。For information about using Visio 2013 to author your workflow logic, see Workflow development in SharePoint Designer and Visio.

宣言型ワークフローDeclarative workflows

まず "宣言型" ワークフローとは何かを明確にします。この用語は、ワークフローをコードで作成しマネージ アセンブリにコンパイルする代わりに、ワークフローを XAML で (逐語的に) 記述し、実行時に解釈しながら実行することを意味しています。Let's first be clear what is meant by "declarative" workflows. This term means that instead of being authored in code and then compiled into managed assemblies, the workflow is described (literally) in XAML and then executed interpretively at run time.

XAML は、ワークフロー デザイナー (Visual Studio を使用した場合) または SharePoint Designer のワークフロー デザイン画面 (または Visio、後で詳しく説明) で操作するワークフロー構成要素から派生 (推定) します。構成要素自体はデザイナー ツールボックス内の視覚的なワークフロー デザイン オブジェクト (ステージ、条件、アクション、イベントなど) です。それぞれのツールボックス (Visual Studio または SharePoint Designer) のツールのセットは若干異なりますが、宣言型のワークフローの概念は同じです。The XAML is derived (or inferred) from the workflow building blocks that you manipulate in the Workflow Designer (if using Visual Studio) or SharePoint Designer workflow design surface (or Visio, but more about that later). The building blocks themselves are the visual workflow design objects in the designer toolbox—stages, conditions, actions, events, and so on. The set of tools in the respective toolboxes (Visual Studio or SharePoint Designer) differs somewhat, but the concept of the declarative workflow remains the same.

決定ツリー: SharePoint Designer と Visual StudioDecision tree: SharePoint Designer vs. Visual Studio

SharePoint のワークフロー フレームワークの最も大きい利点は、インフォメーション ワーカーが SharePoint Designer のコード不要な環境を使用して豊富で強力なワークフローを簡単に作成できることです。さらに、Visual Studio などの宣言型の作成環境で柔軟性に富んだカスタマイズが可能です。Among the greatest advantages of the workflow framework in SharePoint is the ease with which information workers can use the no-code environment of SharePoint Designer to create rich and powerful workflows. Additionally, a high degree of flexibility and customization is available in a declarative authoring environment such as Visual Studio.

これらのワークフロー作成環境 (SharePoint Designer および Visual Studio) のいずれも特定の利点と欠点があります。このセクションでは、ワークフロー開発ニーズに最も適した作成環境がどちらであるかを判断する方法について説明します。Both of these workflow authoring environments—SharePoint Designer and Visual Studio—offer specific advantages and disadvantages. In this section, we explore how to determine which authoring environment best suits your workflow development needs.

SharePoint Designer の使用Using SharePoint Designer

  • 対象ユーザー: インフォメーション ワーカー、ビジネス アナリスト、SharePoint 開発者Target users: Information workers, business analysts, SharePoint developers.

  • 難易度: ステージ、ゲート、アクション、条件、ループなどのコア ワークフロー コンポーネントを含む SharePoint Designer の知識。Difficulty level: Familiarity with SharePoint Designer, including the core workflow components, such as stages, gates, actions, conditions, and loops.

SharePoint Designer を使用すると、ユーザーはコード不要のテキストベース デザイナーを使用してリスト、ライブラリ、またはサイトに付加されたワークフローを作成できます。または、ビジネス プロセスの論理フローを表すためにデザイン画面にグラフィカル要素が並べられた新しい視覚的な設計環境を使用することができます。SharePoint Designer は非技術者のワークフロー開発を高速に行えるようにできる点で優れています。With SharePoint Designer, users can create a workflow that is attached to a list, library, or site using a no-code, text-based designer. Or, they can use the new visual design environment in which graphical elements are arranged on a design surface to represent the logical flow of a business process. SharePoint Designer excels at enabling rapid workflow development by non-technical workers.

Visual Studio の使用Using Visual Studio

  • 対象ユーザー: 中級または上級のソフトウェア開発者。Target users: Intermediate or advanced software developers.

  • 難易度: イベント レシーバー、パッケージ化と展開、セキュリティなどのソフトウェア開発概念を含む Visual Studio の知識。Difficulty level: Familiarity with Visual Studio, including software development concepts such as event receivers, packaging and deployment, and security.

Visual Studio でワークフローを作成すると、複雑さにかかわらずビジネス プロセスを実質的にサポートするワークフローを作成できる柔軟性が得られ、ワークフロー定義のデバッグや再利用ができるようになります。最も重要と考えられる Visual Studio を使用して、開発者は幅広い SharePoint ソリューションまたは SharePoint アドイン の一部として SharePoint ワークフローを含めることができます。Authoring workflows in Visual Studio provides flexibility to create workflows to support virtually any business process, regardless of its complexity, and allows debugging and reuse of workflow definitions. Perhaps most important, Visual Studio lets developers include SharePoint workflows as part of a broader SharePoint solution or SharePoint Add-in.

Visual Studio では、開発者は SharePoint Designer で使用されるカスタム アクションを作成でき、カスタム ロジックを実行する手段が提供されます。Visual Studio では、開発者は複数のサイトに展開できるワークフロー テンプレートを作成することもできます。Visual Studio enables developers to create custom actions for consumption by SharePoint Designer, and provides the means to execute custom logic. With Visual Studio, developers can also create workflow templates, which can be deployed to multiple sites.

SharePoint Designer と Visual Studio の比較Comparing SharePoint Designer with Visual Studio

次の表に、SharePoint ワークフローの作成に SharePoint Designer と Visual Studio を使用した場合の機能と要件の対照比較を示します。The following table provides a side-by-side comparison of the features and requirements for using SharePoint Designer and Visual Studio to create SharePoint workflows.

表 1. ワークフロー作成ツールの比較Table 1. Workflow authoring tool comparison

機能/要件Feature / Requirement SharePoint DesignerSharePoint Designer Visual StudioVisual Studio
迅速なワークフロー開発が可能Allows rapid workflow development
はいYes
はいYes
ワークフローの再利用が可能Enables reuse of workflows
ワークフローは、開発されたリストまたはライブラリによってのみ使用できます。ただし、SharePoint Designer では同じサイト内で複数回使用できる再利用可能なワークフローが提供されます。A workflow can be used only by the list or library on which it was developed. However, SharePoint Designer provides reusable workflows that can be used multiple times within the same site.
ワークフローは、展開された後に再利用され、リストまたはライブラリと関連付けができるように、テンプレートとして記述できます。A workflow can be written as a template so that after it is deployed, it can be reused and associated with any list or library.
ワークフローを SharePoint ソリューションまたは SharePoint アドイン の一部として含めることが可能Allows you to include a workflow as part of a SharePoint solution or SharePoint Add-in
いいえNo
はいYes
カスタム アクションの作成が可能Allows you to create custom actions
いいえ。ただし、SharePoint Designer は Visual Studio を使用して作成および展開されたカスタム アクションを使用および実装できます。No. However, SharePoint Designer can consume and implement custom actions that are created and deployed by using Visual Studio.
はい。ただし、Visual Studio では、対応するアクションではなく、基になるアクティビティが使用されます。Yes. However, be aware that in Visual Studio, the underlying activities, not their corresponding actions, are used.
カスタム コードの記述が可能Allows you to write custom code
いいえNo
いいえNo
: これは以前のバージョンから変更されています。Note: This is changed from previous versions. SharePoint では、ワークフローは宣言型のみであり、Visual Studio はワークフロー開発ではビジュアル デザイン画面に依存します。In SharePoint, workflows are declarative only and Visual Studio relies on the visual design surface for workflow development.
Visio Professional を使用してワークフロー ロジックを作成可能Can use Visio Professional to create workflow logic
はいYes
いいえNo
展開Deployment
作成されたリスト、ライブラリ、サイトに自動的に展開されます。Deployed automatically to list, library, or site on which they were created.
SharePoint ソリューション パッケージ (.wsp) ファイルを作成し、このソリューション パッケージをサイト (SPWeb) に展開します。Create a SharePoint solution package (.wsp) file and deploy the solution package to the site (SPWeb).
ワークフローのワンクリック発行が可能One-click publishing available for workflows
はいYes
はいYes
ワークフローをパッケージ化してリモート サーバーへ展開可能Workflows can be packaged and deployed to a remote server
はいYes
はいYes
デバッグDebugging
デバッグはできません。Cannot be debugged.
ワークフローは Visual Studio を使用してデバッグできます。Workflow can be debugged by using Visual Studio.
サイト管理者に承認されたアクションのみ使用可能Can use only actions that are approved by site administrator
はいYes
はいYes
: これは以前のバージョンから変更されています。Note: This is changed from previous versions. 以前は、Visual Studio を使用して作成されたワークフローおよびアクションはコードベースであり、ファーム スコープで展開されていたため、管理者の承認は不要でした。Previously, workflows and actions that were authored by using Visual Studio were code-based and deployed at the farm scope, so administrator approval was not required.

Visual Studio を使用したワークフローの開発Developing workflows using Visual Studio

以前のバージョンとは異なり、SharePoint のワークフローは完全に宣言型です。今回、Windows Workflow Foundation 4 上に構築された Visual Studio には、カスタム ワークフロー、ワークフロー テンプレート、フォーム、カスタム ワークフロー アクティビティ全体をデザイナー環境で作成できる視覚的なワークフロー デザイナー画面が用意されています。ワークフローは、その後パッケージ化され SharePoint フィーチャーとして展開されます。フィーチャーのパッケージ化については、「 SharePoint Foundation でのフィーチャーの使用」を参照してください。Unlike earlier versions, workflows in SharePoint are entirely declarative. Built now on Windows Workflow Foundation 4, Visual Studio provides a visual workflow designer surface that lets you create custom workflows, workflow templates, forms, and custom workflow activities entirely in the designer environment. Your workflow is then packaged and deployed as a SharePoint Feature. For information about Feature packaging, see Using Features in SharePoint Foundation.

おそらく、Visual Studio 開発者にとって最も大きな変更点は、カスタム ワークフローが .NET Framework アセンブリとしてコンパイルおよび展開されなくなったことです。また、SharePointは Microsoft InfoPath フォームを使用しなくなり、代わりにフォーム生成は Microsoft ASP.NET フォームに依存しています。Perhaps the most significant change for Visual Studio developers is that custom workflows are no longer compiled and deployed as .NET Framework assemblies. Furthermore, SharePoint no longer uses Microsoft InfoPath forms; instead, forms generation relies on Microsoft ASP.NET forms.

さらに、Visual Studio のワークフロー プロジェクト テンプレートが変更されています。以前はステート マシンおよびシーケンシャル ワークフロー用のテンプレートが用意されていましたが、これらの区別にはもう意味がありません。代わりに、仮想マシン (VM) 上に用意された Visual Studio ビルドで Visual Studio プロジェクト テンプレートを使用できます。Finally, the Visual Studio workflow project templates have changed. Whereas formerly templates for state machine and sequential workflows were provided, these distinctions are no longer meaningful. Rather, Visual Studio project templates are available in the Visual Studio build provided on your virtual machine (VM).

社内ワークフロー デバッグを有効にするEnabling on-premises workflow debugging

社内ワークフローを Visual Studio でデバッグするには、一時的にワークフロー マネージャー ツールがファイアウォールを通過してシステムにアクセスすることを許可する必要があります。To debug on-premises workflows in Visual Studio, you need to temporarily allow the Workflow Manager Tools to access your system through the firewall.

  1. ] で、[ システムとセキュリティ]、[ Windows ファイアウォール] の順に選択します。In Control Panel, choose System and Security, Windows Firewall.

  2. [ コントロール パネル ホーム] リストにある [ 詳細設定] リンクを選択します。In the Control Panel Home list, choose the Advanced Settings link.

  3. Windows ファイアウォールの左ウィンドウにある [ 受信の規則] を選択します。In the left pane of Windows Firewall, choose Inbound Rules.

  4. [ 受信の規則] リストで、[ Workflow Manager Tools 1.0 for Visual Studio 2012 - Test Service Host] を選択します。In the Inbound Rules list, choose Workflow Manager Tools 1.0 for Visual Studio 2012 - Test Service Host.

  5. [ 操作] リストで、[ 規則の有効化] を選択します。In the Actions list, choose Enable Rule.

  6. SharePoint プロジェクトのプロパティ ページで、[ SharePoint] タブを選択し、[ ワークフロー デバッグの有効化] チェック ボックスを選択します。On the properties page of your SharePoint project, choose the SharePoint tab, and then select the Enable Workflow debugging check box.

Visual Studio を使用して SharePoint Online ワークフローをデバッグするDebugging SharePoint Online workflows using Visual Studio

Visual Studio で SharePoint Online ワークフローをデバッグするには、以下のステップを実行します。To debug SharePoint Online workflows in Visual Studio, perform the following steps:

  1. ユーザーがファイアウォールの内側にいる場合、会社のネットワーク トポロジによっては、プロキシ クライアント ( Forefront Threat Management Gateway (TMG) クライアントなど) のインストールが必要になる場合があります。If you're behind a firewall, you may need to install a proxy client (such as the Forefront Threat Management Gateway (TMG) Client), depending on your company's network topology.

  2. まだ登録を行っていない場合は Microsoft Azure アカウントに登録してから、そのアカウントにサインインします。Register for a Microsoft Azure account if you haven't already, and then sign into that account.

    Microsoft Azure アカウント登録の詳細については、「 Microsoft Azure」を参照してください。For information about how to register for a Microsoft Azure account, see Microsoft Azure.

  3. Microsoft Azure Service Bus 名前空間を作成します。これを使用して、リモート ワークフローをデバッグできます。この作業は Microsoft Azure ポータル上で行えます。Create a Microsoft Azure Service Bus namespace, which you can use to debug remote workflows. You can do this on the Microsoft Azure portal.

    Microsoft Azure Service Bus の詳細については、「Azure portal を使用して Service Bus 名前空間を作成する」を参照してください。For more information about the Microsoft Azure Service Bus, see Create a Service Bus namespace using the Azure portal.

    注意

    SharePoint Online ワークフローのデバッグでは、Microsoft Azure Service Bus の Relay サービス コンポーネントを使用するので、Service Bus の使用料が課金されます。SharePoint Online workflow debugging uses the Relay Service component of the Microsoft Azure Service Bus, so you'll be charged for using the Service Bus. Service Bus の価格に関する FAQ」を参照してください。See Service Bus Pricing FAQ. Visual Studio Professional with MSDN、Visual Studio Premium with MSDN、Visual Studio Ultimate with MSDN にサブスクライブすれば、毎月 Microsoft Azure への無料のアクセスが可能になります。You get free access to Microsoft Azure each month that you subscribe to Visual Studio Professional with MSDN, Visual Studio Premium with MSDN, or Visual Studio Ultimate with MSDN. このアクセスについては、選んだ MSDN サブスクリプションに応じて、それぞれ 1,500 時間、3,000 時間、3,000 時間の Service Bus Relay の使用が可能です。With this access, you can use the Service Bus relay for 1,500, 3,000, or 3,000 hours, depending on your MSDN subscription. 追加料金なしで毎月いくらかの Microsoft Azure サービスを取得する」を参照してください。See Get some amount of Microsoft Azure Services each month at no additional charge.

  4. Microsoft Azure で、サービスの名前空間を選択し、[アクセス キー] リンクを選択し、[接続文字列] ボックスのテキストをコピーします。In Microsoft Azure, choose your service namespace, choose the Access Key link, and then copy the text in the Connection String box.

  5. SharePoint アドイン プロジェクトのプロパティ ページで、[ SharePoint] タブを選択し、[ ワークフロー デバッグの有効化] チェック ボックスを選択します。On the properties page of your SharePoint Add-in project, choose the SharePoint tab, and then select the Enable Workflow debugging check box.

    SharePoint Online のワークフローをデバッグするには、この機能を有効にする必要があります。このプロパティは、Visual Studio 内にある自分のすべての SharePoint プロジェクトに適用されます。Office ストアで配布できるようにアプリをパッケージ化すると、Visual Studio はワークフローのデバッグを自動でオフにします。You must enable this feature to debug workflows in SharePoint Online. This property applies to all of your SharePoint projects in Visual Studio. Visual Studio automatically turns off workflow debugging if you package your app for distribution on the Office store.

  6. [ Microsoft Azure Service Bus によるデバッグを有効にする] チェック ボックスを選択します。次いで、[ Microsoft Azure Service Bus 接続文字列] ボックスに、先ほどコピーした接続文字列を貼り付けます。Select the Enable debugging via Microsoft Azure Service Bus check box. Then, in the Microsoft Azure Service Bus connection string box, paste the connection string that you copied.

ワークフロー デバッグを有効にし、Microsoft Azure Service Bus で有効な接続文字列を提供すると、SharePoint Online ワークフローをデバッグすることができます。After you enable workflow debugging and provide a valid connection string for the Microsoft Azure Service Bus, you can debug SharePoint Online workflows.

注意

ワークフロー デバッグを無効にしておらず、プロジェクトにワークフローが含まれている間は通知を受信しないようにする場合は、[Microsoft Azure Service Bus デバッグが構成されていない場合は通知する] チェック ボックスのチェックを解除します。If you haven't disabled workflow debugging and don't want to receive a notification whenever your project contains a workflow, clear the Notify me if Microsoft Azure Service Bus debugging is not configured check box.

関連項目See also

SharePoint ワークフローの大部分は、Visual Studio 開発者に対しては変更されていません。SharePoint 2010 のドキュメントの主要なセクションはまだ該当します。A great deal of developing SharePoint workflows remains unchanged for the Visual Studio developer. The key sections of the documentation for SharePoint 2010 remain relevant: