BEA ホーム | 製品 | デベロッパ・センタ | support | askBEA
 ドキュメントのダウンロード   サイト マップ   用語集 
検索

WebLogic Integration Studio ユーザーズ ガイド

 前 次 目次 索引 PDFで表示  

WebLogic Integration Studio −はじめに

WebLogic Integration は、ビジネス プロセスを自動化するために役立つワークフロー管理システムです。ビジネス プロセスは、所期の結果をもたらすための、相互に関連する一連のビジネス アクティビティです。ビジネス プロセスのグラフィック表現がワークフローです。ワークフローは、WebLogic Integration クライアント アプリケーションである WebLogic Integration Studio を使用して定義し、モニタすることができます。

以下の節で、Studio のワークフローにかかわる概念、モデリング コンストラクト、タスクおよびワーク モデルの概要について説明します。

 


WebLogic Integration における Business Process Management

e- ビジネスの世界では、ビジネスを迅速かつ効果的に進める必要があります。このようなレベルのパフォーマンスを達成するため、多くの企業では、Business Process Management システムによるビジネス プロセスの自動化が行われています。これは、ソフトウェアを使用してビジネス プロセスを定義、管理、実行するシステムです。ビジネス アクティビティの実行順は、ワークフローと呼ばれる、プロセスのコンピュータ表現によって規定されています。

ワークフローによって、プロセス内のアクティビティのシーケンスが制御され、それらが必要とする適切なリソースが呼び出され、この仕組みを通じてビジネス プロセスが自動化されます。これらのリソースは、必要なアクティビティを遂行するソフトウェア コンポーネントの場合もあれば、ビジネス プロセスが生成するメッセージに応答する人員である場合もあります。

このようなレベルのワークフロー オートメーションを達成するため、ワークフロー管理システムでは、大きく分けて以下の 3 つの分野をサポートしています。

WebLogic Integration は以上 3 つの分野すべてのワークフロー管理をサポートします。WebLogic Integration は、実行時プロセス エンジンと WebLogic Integration Studio によるワークフローの定義とモニタを使用してワークフローの実行をサポートします。

ただし、自動化ビジネス プロセスの導入によって、すべての人員にコンピュータが取って代わるわけではありません。自動化プロセスにおいても、裁量に基づく決定を下す場合、あるいは例外や問題が発生した場合の処理など、依然として人員の関与が必要な場面があります。そこで、WebLogic Integration には、エンド ユーザに割り当てられた手動タスクを表示、実行するための Worklist アプリケーションも含まれています。Worklist アプリケーションの詳細については、『WebLogic Integration Worklist ユーザーズ ガイド』を参照してください。付属アプリケーションを使用しない場合は、プログラマが WebLogic Integration API を使用して独自にワークリスト アプリケーションを作成することもできます。詳細については、『BPM クライアント アプリケーション プログラミング ガイド』を参照してください。

注意: Worklist クライアント アプリケーションは、WebLogic Integration のこのリリースでは廃止になっています。置き換えられる機能の詳細については『BEA WebLogic Integration リリース ノート』を参照してください。

 


Studio の概要

WebLogic Integration Studio は、グラフィカル ユーザ インタフェースを備えたクライアント アプリケーションで、以下に示すとおり、ワークフロー設計、ワークフロー モニタおよびデータ管理の 3 つの分野の機能が備わっています。

 


ビジネス データのモデリング

WebLogic Integration Studioでは、オーガニゼーションのデータは以下の 3 つのカテゴリに分類されています。

ユーザをロールに割り当てることによって、ユーザのグループがオーガニゼーション内の汎用的なビジネス ロールに基づいて手動タスクを実行することが可能になります。ロールはオーガニゼーション内で一意に定義されます。これによりオーガニゼーションをオーガニゼーション単位に分け、異なるユーザのグループがアタッチされたロール名を再利用できます。

ロールはオーガニゼーション内では一意に定義されますが、次の図に示すように、ユーザは、1 つまたは複数のオーガニゼーションに所属でき、各オーガニゼーション内でも 1 つまたは複数のロールに所属できます。

図1-1 オーガニゼーション、ユーザ、およびロールの相互関係


 

このサンプルでは、エンジニアリングとサポート サービスという 2 つのオーガニゼーションがあり、それぞれに、エンジニア(Engineer)、QA テスタ(QA Tester)、およびマネージャ(Manager)というロールがあります。ここに図示されている関係は、次の表にまとめられています。

表1-1 オーガニゼーション、ロールおよびユーザ

オーガニゼーション

ロール

メンバー

エンジニアリング

エンジニア

Tim、Gary

QA テスタ

Ellen

マネージャ

Barbara

サポート サービス

エンジニア

Gary

QA テスタ

Ellen、Kim

マネージャ

Fran


 

モデリングが可能なその他のビジネス データとしては、スケジュールやワークフロー ルーティングなどのビジネス ルールがあります。勤務時間およびスケジュールは、ビジネス カレンダーを使ってモデリングします。このビジネス カレンダーは、オーガニゼーション、ロールおよびユーザに関連付けることができます。また、ルーティング指定を作成して、アクティビティを一定期間、別のユーザまたはロールにリダイレクトすることもできます。

 


ビジネス プロセスのモデリング

Studio では、ビジネス プロセスは、モデリングおよびダイアグラム作成を経て、ワークフロー テンプレートとしてデータベースに保存されます。これらのテンプレートは、複数のオーガニゼーションに関連付けることができ、異なるバージョンのワークフローを保存できるように、基本的には空のコンテナとなっています。テンプレートには、テンプレート定義が格納されていて、同じワークフローの異なるバージョンとして機能します。テンプレート定義は、各バージョンのインスタンス化(実行時環境への適用)が可能な期間を規定する有効日と終了日によって区別されます。

テンプレート定義では、フローの構成要素を表す図形の描画および結合によって、モデリングするビジネス プロセスを表現します。プログラム制御は、次の図に示すように、ノードコネクタを表すシェイプによって視覚的に表現されます。

図1-2 Studio ワークフロー テンプレート定義 : 設計領域


 

さらに、テンプレート定義には、実行時に各種のアクティビティを実行するアクション例外ハンドラ、および実行時データを収集、保存、配布するための変数も含まれています。テンプレート定義コンポーネントについては、以下の節でさらに詳しく説明します。

ノード

ノードは、ワークフローをグラフィックに表現するために使用する幾何学的図形です。Studio には、以下の 7 つのノードがあります。

アクション

ワークフローの動作はアクションによって定義されるため、アクションはある意味では、ワークフローの基本構成要素だと言えます。アクションには、タスクのユーザへの割り当てなどの単純なものもあれば、XML メッセージの送信や EJB (Enterprise JavaBean) メソッドの呼び出しなどの複雑なものもあります。アクションは、すべてのノード(結合ノードを除く)、例外ハンドラおよび他のアクションにも追加できます。

アクションには以下のように、いくつかのタイプがあります。

変数

変数には、実行時の値と、Java コンポーネントや着信 XML ドキュメントなど通常外部ソースから取得されるデータが格納されます。変数は、ワークフロー アクションによって定数値に設定することもできます。ワークフローで変数を使用する目的はいくつかあり、たとえば、分岐ノードでの条件の評価、テンプレート定義のラベル作成、ワークフローの実行時情報の格納などがそうです。

WebLogic Integration は、以下のタイプの変数をサポートしています。[ブール]、[日付]、[倍精度]、[エンティティ EJB]、[整数]、[Java オブジェクト]、[セッション EJB]、[文字列]、および [XML] の各型がある。日付型は、プラグイン フレームワーク用に開発されたプラグイン型を使用して拡張できます。

例外ハンドラ

例外ハンドラは、内部的または外部的に生成された例外条件の生成、トラップ、応答に使用します。例外は、ワークフローの設計時に見つけてトラップすべき異常条件である場合もあれば、トラップして適切な応答を行うべきサーバ例外である場合もあります。ワークフローには、指定すべき一連のアクションから成るカスタム定義の例外ハンドラを含めることができます。

 


ユーザ、アプリケーション、およびデータの統合

Studio は、WebLogic Integration の設計ツールとして、Business Process Management 以上の機能を備えていて、ビジネス サイクルにおける手動操作と自動操作を統合するために役立ちます。Studio を使用して、ファイアウォールの両側にあるクライアントと対話しながら、またデータの変換を行いながら、Web ベース アプリケーションとバックエンド アプリケーションを統合するアクションを実行できます。B2B Integration、Application Integration、Data Integration などの BPM 用プラグイン機能の詳細については、以下のドキュメントを参照してください。

以下の節では、Studio の基本アクションによって可能な統合シナリオのサンプル、およびワークフローが XML メッセージング、ビジネス オペレーション、カスタム開発によるプラグインなどを介して外部コンポーネントとインタフェースを取る手段について説明します。

ユーザおよびクライアント アプリケーションを統合する

ワークフローは、Worklist アプリケーションまたはカスタムのクライアント アプリケーションを介して、以下の方法によってシステム ユーザと対話します。

ワークフローでは、システムの外部のユーザとも電子メールで対話できます。

次の図は、ワークフロー、クライアント アプリケーションおよびユーザ間で実行されるさまざまな対話活動を示しています。図に続いて、それぞれのシナリオについて説明します。

図1-3 ユーザおよびクライアント アプリケーションの統合


 

  1. Worklist ユーザによってワークフローが開始されます。

  2. タスクをユーザに割り当てると、Worklist ユーザにタスク実行の通知が送信されます。

  3. クライアントに XML を送信すると、XML メッセージが Worklist アプリケーションに送信されて、メッセージ プロンプトまたはフォームの表示を指示したり、そのクライアント上の実行可能プログラムまたはカスタム コンポーネントを呼び出します。このメッセージに応答して、Worklist アプリケーションからワークフローに XML メッセージが返信されます。

  4. 電子メール送信機能によって、WebLogic Integration システムの外部の Worklist ユーザやクライアントにプログラム エンジンから電子メールを送信することが可能になります。

外部コンポーネントおよびアプリケーションを統合する

ワークフローは、以下の種類の外部ソフトウェア コンポーネントと統合できます。

これらの外部コンポーネントを統合しておくと、以下の方法によってワークフローとそれらとのデータ交換が可能になります。

次の図は、ワークフローと外部コンポーネントとの対話を可能にするさまざまな手段を示しています。図に続いて、それぞれのシナリオについて説明します。

図1-4 外部コンポーネントおよびアプリケーションの統合


 

  1. ワークフローがトリガされ、送信元アプリケーションからの XML メッセージが内部 JMS キューで受信されることによってデータが取得されます。

  2. ビジネス オペレーションを実行すると、以前からあった Java コンポーネントや、特に該当するワークフロー アプリケーション用に作成されたコンポーネントが呼び出されて、パラメータが直接ワークフローからコンポーネントに渡され、再びワークフローに戻されます。

  3. プログラムを呼び出すと、サーバ上の実行可能プログラムが起動します。

  4. ワークフローの進行中は、送信元アプリケーションからの XML メッセージが 内部 JMS キューで受信されることによって、イベントのトリガやデータの取得が行われます。

  5. 外部 JMS トピックまたはキューに XML メッセージがポスティングされると、そのトピックにサブスクライブする、またはそのキューからメッセージを受信する外部アプリケーションに、通知やデータが送信されます。

  6. プラグイン アクションが実行されると、他のアプリケーションやシステムを統合するために記述されたカスタムの Java コードが呼び出されます。

ワークフローを統合する

以下の方法で、ワークフロー間の交信を行うことができます。

次の図は、ワークフロー間で行われるさまざまな対話を示しています。図に続いて、それぞれのシナリオについて説明します。

図1-5 ワークフローの統合


 

  1. ワークフローがトリガされ、別の送信元ワークフローからの XML メッセージが内部 JMS キューで受信されることによってデータが取得されます。

  2. ワークフローは、呼び出された開始ノードによって設定され、直接別のワークフローによって開始されます。これらのワークフローは直接パラメータをやりとりします。

  3. 内部 JMS キューに XML メッセージがポスティングされると、別のワークフローに通知やデータが送信されて、その開始ノードまたはその中のイベントがトリガされます(1 の場合と同様)。

  4. ワークフローの進行中は、別の、送信元ワークフローからの XML メッセージが 内部 JMS キューで受信されることによって、イベントのトリガやデータの取得が行われます(1 の場合と同様)。

  5. ワークフローを開始すると、呼び出されたワークフローが開始され、直接そのワークフローとパラメータのやりとりが行われます(2 の場合と同様)。

データを統合する

XML メッセージの交換に加えて、ワークフローによって、XML ドキュメントをあるフォーマットから別のフォーマットに変換して、外部アプリケーションに渡せるようにすることができます。

図1-6 データの統合


 

このシナリオでは、ワークフローで XSL (Extensible Stylesheet Language: 拡張スタイルシート言語) テンプレートを使用して、XML ドキュメントの他の構造への変換が行われます。

 


ワークフローの設計アプローチとタスク

システム設計理論では、理想的なシステム設計はトップダウンのアプローチであるとされています。現実には、システム設計にはトップダウン、ボトムアップの両方のアプローチが採用されています。次の図に示すように、WebLogic Integration ワークフローの設計にも、この 2 つのアプローチが使われています。

図1-7 ワークフローの設計


 

このドキュメントの組織原理として採用されているのがトップダウン アプローチです。ただし、トップダウン、ボトムアップの両方ともが有効であり必要でもあるため、実践的には、通常は両方が採用されます。Studio の特定の設計タスクおよび設計段階に対する両方のアプローチについては、以下の節で説明します。

トップダウン アプローチ

Studio のグラフィカル ユーザ インタフェースでは、トップダウン アプローチが採用されていて、ほとんどの外部コンポーネント要素はあらかじめ開発済みとなっています。このアプローチの場合、ワークフロー定義プロセスは、基本アクティビティの高レベルのグラフィック表現およびアプリケーションが実現するロジックのマッピングから始まって、より詳細な指定へと掘り下げていきます。

このワーク モデルは、次のフローチャートに示します。Studio での WebLogic Integration ワークフローのモデリング、設計、定義、テストの各段階で実行する主なタスクがまとめられています。このドキュメントで用いた構造のベースとなっているのがこのモデルです。手順 3 以降の各手順は、このドキュメントで取り上げるトピックに対応しています。この図については、この後、詳しく説明します。この設計プロセスには、タスクが繰り返されるという循環的な特徴がありますが、視覚的な単純化のため、フローチャートではこの性質を実際にループで表現していないので注意してください。

図1-8 Studio の設計ワーク モデルトップダウン アプローチ


 

  1. ビジネス アナリシスの段階では、アプリケーション要件およびデータ要件の特定、統合すべき既存コンポーネントおよびアプリケーションの確認、所属オーガニゼーションのビジネス ルールおよびビジネス構造を捕捉するためのデータ モデルの定義を行います。これには、サードパーティの設計ツールでワークフローのモデリングに着手することもあります。この段階の詳細については、『WebLogic Integration ソリューションの設計』を参照してください。

  2. リソース開発段階では、EJB やカスタム Java クラス、XML ドキュメントおよびワークフローから発信するメッセージおよび接続されたアプリケーションやコンポーネントから着信するメッセージで使用されるスタイル シートなどの Java コンポーネント、およびプラグイン コンポーネントの開発を行います。この段階の詳細については、『WebLogic Integration ソリューションの設計』を参照してください。

  3. 設計の前段階では、Studio を使用してビジネス データのコンフィグレーションを行います。この段階のタスクについては、データの管理で説明します。これらのタスクは、最初に 1 度だけ行い、後は、ビジネス ルールの変更や人事異動の際に必要に応じて行います。

  4. この時点で、手順 2 で作成した任意の外部リソースに対して、ワークフローからグローバルにアクセスできるように、その設定に着手してください。この段階のタスクについては、ワークフロー リソースのコンフィグレーションで説明します。これらの手順は、ワークフローの具体的要件の明確化に伴い、設計段階の前後で繰り返し行うことになります。

  5. 実際の設計段階では、ワークフロー テンプレートおよびテンプレート定義の設定から着手します。次に、各ノードをワークフロー ダイアグラムに追加および接続し、変数およびノード プロパティを定義して、高レベルのプロセス フローを定義します。これらのタスクについてはワークフロー テンプレートの定義,で説明しますが、手順 8 で説明するワークフロー式を何らかの形で使用する必要があります。

  6. ノードの作成後、アクションの定義で説明するとおり、アクションの定義と追加に着手します。

  7. アクションを定義する際、手順 2 および手順 3 で作成およびコンフィグレーションを行った XML ドキュメントのインポートが必要となる場合があります。また、ワークフロー アクション内で XML コンテンツを構成しなければならない場合もあります。これらのタスクについては、XML エンティティを操作で説明します。

  8. ワークフローの設計プロセス全体を通じて、ワークフロー式言語でフォーマットされたデータの入力が必要ですが、このフォーマットには、リテラル、定数、変数、実行時データを供給する埋め込み関数を格納できます。ワークフロー式のセマンティクスおよび構文については、ワークフロー式の使用法で説明します。

  9. テンプレート定義にカスタム例外ハンドラを追加するには、実行時例外の発生時に実行すべきアクションのサブフローおよび例外ハンドラを終了してメイン プログラム フローに戻る方法を定義します。これらのタスクについては、ワークフロー例外の処理で説明します。例外ハンドラを定義した際、手順 6 で説明したように、ノードにアクションをもう 1 度追加して参照できるようにする必要があります。

  10. ここで、ワークフローを実行してテストすることができます。Studio には、実行中のワークフロー インスタンスを表示して設計エラーを見つけるために役立ついくつかのモニタ機能が備わっています。モニタ機能については、ワークフローのモニタリングで説明します。設計上の不具合と思われるものが見つかった場合は、アクションの再設定、式の再定義など、これまで説明してきた設計プロセスの手順をやり直す必要があります。

  11. 設計実施の後段階では、つまり、ワークフローのテストが完了して、正常に実行している段階では、ワークフローや自分で作成、コンフィグレーションを行った任意のリソースを、Java アーカイブ パッケージにエクスポートできます。その後、エクスポートしたパッケージを再インポートして、プロセス サイクル全体を再開できます。インポートおよびエクスポートのタスクについては、ワークフロー パッケージのインポートとエクスポートで説明します。

ボトムアップ アプローチ

Studio でのタスク設計に対するボトムアップ アプローチでは、テンプレート定義にコピーまたはインポートしてフローに組み込むことの可能な、変数、アクション、ノード、ノード グループで構成された再利用およびエクスポート可能な設計パターンのカタログを作成する必要があります。このアプローチでも、やはり、アプリケーションの要件を分析し、必要なリソースを整備するという事前タスクを完了しておく必要があります。ただし、このアプローチでは、高レベルのプログラム フローの概要を定義することから着手するのではなく、使用可能な Studio アクションをワークフローにおいて頻出する操作にマッピングし、それらのアクションの詳細を定義することから着手します。このアプローチによる推奨ワーク モデルは、以下の手順で構成されます。

  1. アクションが参照する必要のあるすべてのグローバル エンティティを定義します。このエンティティには、ビジネス カレンダー(ビジネス カレンダーの管理参照)およびビジネス オペレーションも含まれます(ビジネス オペレーションのコンフィグレーション参照)。

  2. ワークフロー テンプレートおよびテンプレート定義を作成またはインポートします。これらのタスクについては、テンプレートに関する作業およびテンプレート定義に関する作業で説明します。

  3. ワークフローに頻出するアクティビティを実行するノード アーキタイプを追加、定義します。これらのタイプ、および各タイプを構成するアクションについては、アクションの概要で説明します。

  4. アドレス指定メッセージング、イベントによってトリガされる処理、ワークフロー間通信などの機能を利用するために使用する可能性のあるワークフロー関数およびその他の式コンポーネントを検索します。関数については、ワークフロー式の使用法関数の使用法で説明します。

  5. ビジネス オペレーション用のインスタンス変数、XML ドキュメントを格納する XML 変数など、呼び出されたワークフローに対する入力変数および出力変数など、アクションが頻繁に参照する必要のある変数を定義します。変数定義タスクについては、変数に関する作業で説明します。

  6. 式、ビジネス オペレーション用のパラメータ、XML イベントをポスティングするアクション用の JMS メッセージ オプション、XML ドキュメントを埋め込むアクション用の XML ドキュメント コンテンツなど、これらのノード タイプ に含まれるアクションに対するすべての低レベル詳細を定義します。ユーザ、ロール、またはオーガニゼーションを参照するアクションは、実際のビジネス要件を表現するエンティティを定義が済むまで、デフォルト アクションをプレースホルダとして使用することも可能です。

  7. 開始、イベント、タスクの各ノードについて、具体的なノード プロパティを定義します。これらのタスクについては、ノードのプロパティの定義で説明します。

  8. 例外ハンドラとそのアクションを設定します。

  9. 作成したコンポーネントを新しいワークフロー テンプレートにコピーします(ノードをコピーするを参照)。あるいは、新しいテンプレートに再インポートできるように、テンプレート定義を Java アーカイブ ファイルにエクスポートします。

  10. あらかじめ定義しておいたノードをフローに配置して、新しいテンプレート定義に関係する高レベルのオーガニゼーションのデータを定義します。

 


Studio ツール

Studio には、プロセス フロー設計に使用するグラフィック描画エンジンに加えて、以下のような、外部リソース管理およびワークフロー プロパティ定義に役立つ各種ツールも備わっています。

 

ページの先頭 前 次