Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Duet Enterprise のワークフローの SharePoint での拡張
Body:
投稿者: Kiki Shuxteau
このブログは、バックエンドのカスタム ワークフロー ソリューションの開発方法に関する SAP のブログ記事 (英語) を補うものです。ここでは、SharePoint 側でのワークフローの動作について説明し、SAP のバックエンド プロセス、SharePoint のワークフロー、および柔軟な UI を組み合わせて拡張したソリューションを作成するための基本的なカスタマイズの方法を紹介します。
まずは、Duet Enterprise でのワークフローのしくみについて説明します。
Duet Enterprise のワークフロー機能を使うと、SAP のビジネス プロセスを宣言型の方法で SharePoint に表示できます。個別のタスクの種類を呼び出し側アプリケーションに明らかにしないよう、サイト構造は抽象化されます。ワークフローを構成する 1 つ 1 つの意思決定のステップは SharePoint のタスクの種類とそれぞれ対応付けられます。タスクの種類は、タスクフローのテンプレートを基盤としたワークフローのサブサイト上でそれぞれホストされます。カスタマイズはタスクの種類ごとに適用でき、バックエンドのコードに手を加える必要はありません。SAP 側は Duet Enterprise ワークフロー サービスを通じてタスクを作成します。SharePoint のエンド ユーザーは BDC のタスク エンティティのユーザー アクションを通じてバックエンド プロセスとやり取りし、意思決定の結果を返します。
SharePoint 側でワークフローを構成するときには、SAP からのドキュメントの送信先となる一連のターゲット URL を登録することになります。それぞれのタスクの種類に対し、サブサイトとターゲット ライブラリを割り当てます。SAP が SharePoint のビジネス データのドキュメント ライブラリに XML ペイロードを送信すると、SharePoint の承認ワークフローが開始され、承認タスクが生成されます。Duet Enterprise では、追加の Web パーツや SAP データを含むタスクのインターフェイスを提供しています。このブログでは、SharePoint のユーザー インターフェイスをカスタマイズする方法について説明します。
SAP のバックエンドでのワークフローの構成と開発の方法については、 Edward Lu 氏のブログ記事 (英語) を参照してください。ここでは、請求書の承認プロセスを例として説明します。SAP ワークフローの送信ハンドラーと受信ハンドラーは既に作成済みとします。主要な意思決定のステップを表示し、SharePoint ユーザーがそのステップに従って SharePoint ワークフローのワークスペースからワークフロー タスクを扱えるようになっています。
SharePoint ワークフローを拡張する方法としては以下があります。
1. SAP バックエンドからのワークフロー パラメーターを使って [関連リンク] (Related Links) や [関連アクション] (Related Actions) を動的に生成します。たとえば、 関連するエンティティに基づいてユーザーがコラボレーション ワークスペースに移動できるようにするという使い方が考えられます。
関連アクションの一覧で、コラボレーション ワークスペースを開いてワークフロー関連のコンテキスト情報をユーザーに表示するように構成できます。Duet Enterprise の関連アクション Web パーツでトークンを取得し、次のように適切な値に置換します。
https://litware/ProductCenter/_layouts/OBA/CollabSiteRedirect.aspx?MaterialId={BIZ.POID}&EntityName=Product&EntityNamespace=SAP.Office.DuetEnterprise.Product&LobsystemInstance=Product&ShowInECB=true
この場合、このワークフローに対応する購入注文のコラボレーション ワークスペースを開いています。たとえば、承認する購入注文の ID (PO ID) が 10010 だとします。SAP からのビジネス ドキュメントの XML ペイロードの中には、 POID 拡張プロパティが含まれています。SharePoint はこのパラメーターを使用して、特定のビジネス エンティティに対応するワークスペースを開きます。
また、SAP のパラメーターに応じて、サイト ページ、アプリケーション ページ、または外部ページを開けるようにするには、関連リンクの一覧の構成で対応できます。
次の例では、関連リンクの一覧に追加する項目で、SAP のビジネス ドキュメントの URL という拡張プロパティを使用して動的リンクを生成しています。
https://www.bing.com/search?q={biz.___URL}
2. SharePoint Designer で生成した、承認ワークフローに対応する InfoPath フォームを修正し、タスクのインターフェイスをカスタマイズします。
1. WRKTASKIP.aspx のサイト ページを変更します。カスタム Web パーツ、カスタム ユーザー コントロールなどをこのページに追加してタスクの UI を拡張できます。InfoPath コントロールの代わりにカスタム Web パーツを使用して、ワークフロー インスタンスとの連係、意思決定の結果の設定、ワークフローの完了を行うこともできます。
たとえば、カスタム Web パーツを使って追加のユーザー入力を受け付け、タスク項目の値を設定して現在のワークフロー インスタンスを完了できます。
SPWorkflowTask.AlterTask((task as SPListItem), ht, true);
2. SharePoint Designer で生成した既定の承認ワークフローを変更できます。たとえば、カスタム ワークフロー アクティビティを追加したり、独自のワークフローを組み込んでビジネス ドキュメント ライブラリと関連付けたりできます。
また、先ほど述べたように、Duet Enterprise のワークフローは宣言型でテンプレート ベースです。カスタマイズを加えた後で、テンプレートを展開用に保存すると、別のタスクの種類を扱うときに再利用できます。
投稿日: 2011 年 2 月 4 日午前 9:00
これはローカライズされたブログ投稿です。原文の記事は、「Duet Enterprise Workflow SharePoint Extension」をご覧ください。