この章の内容は次のとおりです。
このチュートリアルで開発するアプリケーションは、次のユースケースに基づいています。
従業員は休暇申請を提出します
マネージャは休暇申請を承認または却下します
従業員は、自分の申請が承認または却下された通知を受け取ります
このチュートリアルでは、新しいアプリケーションとSOAプロジェクトを作成する方法と、承認または却下のために休暇申請をマネージャに送信するヒューマン・タスクを設計する方法について説明します。
結果としてSOAコンポジット・アプリケーションには、次のコンポーネントが含まれます。
BPELプロセス
ヒューマン・タスク。従業員が提出した休暇申請を承認します。
また、Oracle ADFベースのタスク・フォームの作成方法についても説明します。Oracle ADFベースのタスク・フォームを使用して、アプリケーションがデプロイされて実行されたときに、エンド・ユーザーが休暇申請の操作を行えるようにします。Oracle ADFベースのタスク・フォームを作成するには、新しいアプリケーションと新しいプロジェクトを作成する必要があります。
このチュートリアルでは、次のタスクをガイドします。
の使用
ヒューマン・タスク・エディタの使用
Oracle BPELデザイナを使用した単一承認ワークフローのモデリング
Oracle ADFベースのOracle BPM Worklistの作成
Oracle BPM Worklistを使用したタスクの表示および応答
このチュートリアルでは、次の内容を前提にしています。
Oracle SOA Suiteは、SOAインフラストラクチャが構成されているホストにインストールされています。
BPELアクティビティやパートナ・リンクなどの基本的なBPEL構成要素と、基本的なXPath関数について理解しているユーザーを対象にしています。このユーザーは、とOracle BPELデザイナ(BPELプロセスを設計およびデプロイするための環境)についても理解している必要があります。
次の構文を使用して、VacationRequest.xsd
というファイルを作成します。このファイルには、休暇申請と後続のレスポンスに対するスキーマが含まれています。
<schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://xmlns.oracle.com/VacationRequest" xmlns="http://www.w3.org/2001/XMLSchema"> <element name="VacationRequestProcessRequest"> <complexType> <sequence> <element name="creator" type="string"/> <element name="fromDate" type="date"/> <element name="toDate" type="date"/> <element name="reason" type="string"/> </sequence> </complexType> </element> <element name="VacationRequestProcessResponse"> <complexType> <sequence> <element name="result" type="string"/> </sequence> </complexType> </element> </schema>
注意:
VacationRequest.xsd
ファイルは、チュートリアルworkflow-100-VacationRequestの一部としてダウンロードすることもできます。このチュートリアルと他のチュートリアルのダウンロードの詳細は、「その他のチュートリアル」を参照してください。
ヒューマン・タスク・サービス・コンポーネントを作成し、そのコンポーネントでヒューマン・タスクを設計します。
ヒューマン・タスク・サービス・コンポーネントを作成する手順は、次のとおりです。
ヒューマン・タスクを「BPELプロセスを使用したアプリケーションおよびプロジェクトの作成」で作成したBPELプロセスに関連付けます。
ヒューマン・タスクとBPELプロセス・サービス・コンポーネントを関連付ける手順は、次のとおりです。
タスク・フォームのプロジェクトを作成します。これは、ヒューマン・タスクを作成したプロジェクトとは別のプロジェクトです。
タスク・フォームのプロジェクトを作成する手順は、次のとおりです。
Oracle SOA Suiteがインストールされ、SOAインフラストラクチャで構成されたアプリケーション・サーバーへの接続を作成します。ここでは、Oracle WebLogic Serverへの接続を作成する方法について説明します。IBM WebSphere Serverなどの他のアプリケーション・サーバーへの接続を作成する方法は、『Oracle Fusion Middleware Oracle Identity and Access Managemenサードパーティ・アプリケーション・サーバー・ガイド』を参照してください。
アプリケーション・サーバー接続を作成する手順は、次のとおりです。
プロセス・インスタンスを開始するために「Webサービスのテスト」ページにアクセスする方法の詳細は、『Oracle SOA SuiteおよびOracle Business Process Management Suiteの管理』を参照してください。
休暇申請のユースケースに加えて、他のチュートリアルもOracle SOA Suiteサンプルから入手できます。
表31-2 に、複数のサンプルの概要を示します。すべてのサンプルは、ワークリスト・アプリケーションとワークフロー通知の使用を説明しています。サンプルの完全なリストについては、このURLを参照してください。
表31-2 エンドツーエンドの例
サンプル | 説明 | 名前 |
---|---|---|
デモ・コミュニティ・シード・アプリケーション |
デモ・コミュニティのシードを実行します。他のすべてのワークフロー・サンプルの前提条件となります。 |
workflow-001-DemoCommunitySeedApp |
休暇申請 |
承認または却下のため、マネージャに割り当てられる休暇申請を提出するサンプルを提供しています。また、このサンプルは、休暇申請のOracle ADFタスク・フォームを作成して、タスクを操作する方法を説明しています。 |
workflow-100-VacationRequest |
売上げ見積り要請 |
多重タスクに関連する複雑なワークフローのサンプルを提供しています。 |
workflow-102-SalesQuote |
契約承認 |
契約を承認するサンプルを提供しています。このサンプルは、タスクのデジタル署名を使用します。 |
workflow-104-ContractApproval |
反復設計 |
設計プロセスの中でワークフロー・タスクが割当て先との間を何度も通過できるサンプルを提供しています。拡張ルーティング・ルールでルーティング動作を実装します。 |
workflow-106-IterativeDesign |
ワークフロー・カスタマイズ |
ワークフロー・サービスAPI(タスク属性、ビュー名などのカスタム・リソース文字列など)にカスタマイズを実装する方法を示します。 |
workflow-110-workflowCustomizations |
MLSサンプル |
タスク・タイトルに複数の翻訳があるタスクの設定方法を示します。 |
workflow-114-MLSSample |
ワークフロー・イベント・コールバック |
ワークフロー・イベント・コールバックの使用方法を示します。タスク・ライフサイクル・イベントで生成されるワークフロー・イベントがOracle Mediatorによって使用されます。 |
workflow-116-WorkflowEventCallback |
ユーザー構成データ・マイグレータ |
ユーザー構成(ビュー、マップ済属性など)を、中間エクスポート・ファイルを介して、あるインスタンスから別のインスタンスに移動します。 |
workflow-117-UserConfigDataMigrator |
Javaサンプル |
Javaを使用してヒューマン・ワークフローと対話するサンプル各種を提供します。 |
workflow-118-JavaSamples |