...

セレクター/ビジネス・ルール WebSphere Process Server V6 1 長谷真太郎

by user

on
Category: Documents
16

views

Report

Comments

Transcript

セレクター/ビジネス・ルール WebSphere Process Server V6 1 長谷真太郎
WebSphere Process Server V6
セレクター/ビジネス・ルール
セレクター/ビジネス・ルール
長谷真太郎
ATS,Product Introduction Center
Copyright IBM Japan Co.,Ltd 2005
1
WebSphere Process Server V6
セレクター/ビジネス・ルール
この資料の内容
„
セレクター
‹
‹
‹
‹
„
セレクター概要
セレクターの開発
セレクターの稼動
まとめ
ビジネス・ルール
‹
‹
‹
‹
‹
ビジネス・ルール概要
ビジネス・ルールを構成する要素
ビジネス・ルールの開発
ビジネス・ルールの稼動・管理
まとめ
2
この資料はセレクターとビジネス・ルールについて説明したものです。
2
WebSphere Process Server V6
セレクター/ビジネス・ルール
セレクター概要
3
この章ではセレクターの概要について説明します。
3
WebSphere Process Server V6
セレクター/ビジネス・ルール
セレクターとは
„
ある判断基準にしたがって呼び出し先の実装を動的に決定するSCAの
コンポーネント
‹
„
現時点では日付/時刻による判断のみ
クライアントと呼び出し先の実装を分離する
‹
クライアントに手を加えずに呼び出し先の実装の変更可能
„
サーバーの再起動無しに呼び出し先のSCAコンポーネントを変更可能
„
1種のルーター
‹
入力/出力データを適切なコンポーネントにルーティング
4
セレクターとは、ある判断基準に従って呼び出し先の実装を動的に決定するSCAのコンポーネントです。
将来的には様々な判断基準で呼び出し先を決定できるようになる予定ですが、現時点でサポートされる判断基準は
日付/時刻のみです。つまりセレクターが呼び出された日付/時刻によって呼び出し先が動的に判断されます。
セレクターを使うことによって、クライアントと呼び出し先の実装を分離することができます。
クライアントがセレクターを呼び出すと、セレクターが呼び出し先のコンポーネントを判断して呼び出します。
管理コンソールからセレクターの設定を変更することで、クライアント・コードを変更する必要なく呼び出し先を変更可
能です。呼び出し先の変更は動的に行われ、サーバーの再起動は必要有りません。
セレクターとは入/出力メッセージを適切なコンポーネントにルーティングする1種のルーターと考えることができます。
4
WebSphere Process Server V6
セレクター/ビジネス・ルール
セレクターの位置づけ
„
セレクターはサポーティング・サービスに位置づけられる
サービス・
コンポーネント
Business
Business
Processes
Processes
サポーティング
・サービス
Interface
Maps
SOA コア
Human
Human
Tasks
Tasks
Business
Business
State
State
Machines
Machines
Business
Relationships
Object Maps
Service Component
Architecture
Business
Objects
Business
Business
Rules
Rules
Selectors
Selectors
Common Event
Infrastructure
WebSphere Application Server (J2EE Runtime)
5
WPSにおける各コンポーネントの位置づけです。
セレクターはサポーティング・サービスに位置づけられます。
セレクターはSCAのコンポーネントとしてアプリケーションから使用される他にも、ビジネス・ルールなどのコ
ンポーネントによって内部的に使用されます。
5
WebSphere Process Server V6
セレクター/ビジネス・ルール
セレクターの動作
インターフェース
(WSDL)
input1
output1
セレクター
Default Destination:
SCA Component1
Start Date
End Date
ターゲット実装
SCA Component1
Destination
1/1/05
6/24/05
SCA
Component1
6/24/05
1/1/06
SCA
Component2
SCA Component2
Selection Criteria:
Current Date, Java, or XPath
6
このチャートはセレクターの動作について示したものです。
セレクターはインターフェースを提供します。インターフェースには入力、出力のパラメータの型が定義されており、クラ
イアントはこのインターフェースを通してセレクターを呼び出します。
クライアントがセレクターを呼び出すと、セレクターはその時間によって適切なターゲット実装となるコンポーネントを選
択して呼び出します。現在の時刻で呼び出し先を判断する他にJava、Xpathによって判断時刻を指定することも可能で
す。
6
WebSphere Process Server V6
セレクター/ビジネス・ルール
セレクターの開発
7
この章ではセレクターの開発について説明します。
7
WebSphere Process Server V6
セレクター/ビジネス・ルール
セレクターの開発の流れ
1.
モジュールの作成
2.
セレクターの作成
‹
セレクター・エディターを使用
インターフェースを定義
デフォルトの呼び出し先を定義
z 呼び出し先、有効なdate/timeを定義
z
z
セレクターをアセンブリ・エディターに配置
3.
他のコンポーネントとワイヤリング
4.
‹
呼び出し先とはワイヤリングしない
8
セレクター開発の流れは次のようになります。
1.モジュールの作成
全てのSCAのコンポーネントと同様。セレクターを作成する際にはモジュールが必要になります。
2.セレクターの作成
インターフェースを指定し、セレクター・エディターを用いて呼び出し先とそれらが有効な時間を指定します。
3.セレクターをアセンブリ・エディターに配置
作成したセレクターをアセンブリ・エディター上に配置します。
4.他のコンポーネントとワイヤリング
セレクターと他のコンポーネントをワイヤリングします。セレクターは他のコンポーネントと異なり、呼び出し先とのワイヤ
リングは行いません。(接続できません)
8
WebSphere Process Server V6
セレクター/ビジネス・ルール
セレクター・エディター
„ セレクター・エディターを使用してセレクターを開発
‹
呼び出し先とその呼び出し先が有効な日付/時刻を定義
9
WIDのセレクター・エディターの画面です。
インターフェースを指定し、セレクター・エディタを使用してセレクターの設定を行います。
標準の呼び出しや、呼び出し先のコンポーネントと各コンポーネントが呼び出される時間を指定します。
また、判断基準となる時間を現在の時刻か、Javaで記述するか、Xpathを使用するかを指定します。
9
WebSphere Process Server V6
セレクター/ビジネス・ルール
アセンブリ・エディター
„
セレクターと他のコンポーネントを接続するのに使用する
„
セレクターから他のコンポーネントへの接続は必要ない(できない)
‹
‹
„
セレクターはリファレンスを持たない
他のコンポーネントとは動的に接続される
他のモジュールのコンポーネントを呼び出す場合には、呼び出し先のコ
ンポーネントにエクスポートが定義されている必要がある
10
他のSCAコンポーネントと同様、セレクターはアセンブリ・エディター上で他のコンポーネントと接続することができます
が、他のコンポーネントと異なり、セレクターから他のコンポーネントへワイヤリングすることはできません。
なぜならセレクターはリファレンスを持たず、呼び出すコンポーネントは動的に決定されるからです。どのコンポーネン
トを呼び出すかはセレクター・エディター上で決定されます。
セレクターから他のモジュールのコンポーネントを呼び出す場合にはそのコンポーネントにエクスポートが定義されて
いる必要があります。セレクター側のモジュールにインポートは必要有りません。
10
WebSphere Process Server V6
セレクター/ビジネス・ルール
セレクターの稼動
11
この章ではセレクターの稼動について説明します。
11
WebSphere Process Server V6
セレクター/ビジネス・ルール
セレクターの開発・運用サイクル
WebSphere Integration Developer
EARファイル
date/time
destination
WebSphere Process Server
DB
zipファイル
管理コンソール
- 日付/時刻を動的に変更
- 呼び出し先を追加・削除・変更
- 変更したセレクター(zip)のエクスポート
12
このチャートはセレクターの開発・運用サイクルを示したものです。
セレクターはWID上で開発され、EARファイルとしてエクスポートされ、WPSにインストールされます。
稼動中のセレクターは管理コンソールから、各呼び出し先が有効な日付/時刻の変更、新たな呼び出し先の追加・削
除・変更を行うことができます。これらの変更はアプリケーション・サーバーの再起動無しに行うことができます。
また、変更したセレクターをzipファイルとしてエクスポートすることができます。このzipファイルをWID側でインポートす
ることでWPS上のセレクターとWID上のセレクターを同期をとって開発を進めることができます。
12
WebSphere Process Server V6
セレクター/ビジネス・ルール
セレクター管理画面
13
管理コンソールのセレクター管理画面です。
ターゲットとなるコンポーネントをリストから選択することができます。
リスト表示されるのは、セレクターと同一モジュールに含まれるコンポーネントと、エクスポートが定義されて
いる他のモジュール内のコンポーネントです。
13
WebSphere Process Server V6
セレクター/ビジネス・ルール
まとめ
14
セレクターについてのまとめです。
14
WebSphere Process Server V6
セレクター/ビジネス・ルール
まとめ
„ セレクターはある判断基準にしたがって呼び出し先のコン
ポーネントを動的に決定するSCAのコンポーネント
‹
現状では日付/時刻による判断のみ
„ 管理コンソールから呼び出し先を追加・削除・変更
‹
サーバーの再起動無しに呼び出し先を動的に変更可能
15
セレクターはある判断基準に従って呼び出し先のコンポーネントを動的に決定するSCAのコンポーネントです。
現時点では日付/時刻による判断のみです。
セレクターの呼び出し先のコンポーネントの追加、削除、変更を管理コンソールから行うことができます。
また、これらの変更はアプリケーション・サーバーの再起動を行うことなく適用可能です。
15
WebSphere Process Server V6
セレクター/ビジネス・ルール
ビジネス・ルール概要
16
この章ではビジネス・ルールの概要について説明します。
16
WebSphere Process Server V6
セレクター/ビジネス・ルール
ビジネス・ルールとは
„
入力に対してビジネス上の判断を適用し、出力を返すSCAのコンポーネント
„
例えば、if-thenで記述できるビジネス上の判断ロジック
‹
例: if 購入金額が10万円以上 then 割引率は25%
„
クライアントとルールの実装を分離する
„
ビジネス・ルール・グループとしてグループ化される
„
以下の2通りの方法で実装される
‹
‹
„
Business Rule Group
‹
Business Rules
ルール・セット
ディシジョン・テーブル
Webクライアントよりルールの変更が可能
‹
Rule Set
BusinessRuleManager web tool
ビジネス・アナリストが容易に変更可能
Decision Table
Business Rules
17
さてビジネス・ルールとは何でしょうか?
最も簡単な例は、if-thenで表せるビジネス上の決定です。
例えば、
「もし購入金額が10万円以上なら割引率を25%にする」といったようなものです。
つまり、 ビジネス・ルールの役割とは、ある入力に対して、ビジネス上のルールを適用し、変数の状態を変更したり、
出力を返すことです。先ほどの例では、購入金額が入力となり、割引率が出力となります。
ビジネス・ルールはクライアントとサービスの実装を分離します。クライアントは、その背後でビジネス・ルールがどのよ
うに処理を行っているのかを気にすることなく、サービスを使用することが出来ます。
ビジネス・ルールは以下の2つの方法で定義され、複数のビジネス・ルールはビジネス・ルール・グループとしてグルー
プ化されます。
•
ルール・セット
•
ディシジョン・テーブル
また,ビジネス・ルールはBusinessRuleManager web toolと呼ばれるWebクライアントから変更することが出来ます。
このため、Javaのスキルのある開発者ではなく、ビジネス・アナリストが容易にルールの変更を行うことができます。
17
WebSphere Process Server V6
セレクター/ビジネス・ルール
ビジネス・アナリストと開発者
使用するツール
使用するツール
ビジネス・アナリスト
よりビジネス的なスキル
より技術的なスキル
開発者
Business Rule
Manager
Web Tool
WebSphere
Integration
Developer
役割
役割
•日々のルールの管理
•日々のルールの管理
•ビジネス・ルールの変更を実施
•ビジネス・ルールの変更を実施
•主に顧客の要求の変化に対応
•主に顧客の要求の変化に対応
•Web画面より変更可能な
•Web画面より変更可能な
ビジネスルールをコーディングする
ビジネスルールをコーディングする
(templateを使用)
(templateを使用)
•アーキテクトのデザインをもとに
•アーキテクトのデザインをもとに
実装
実装
•主に技術的な開発に対応
•主に技術的な開発に対応
18
前のチャートで開発者と、ビジネス・アナリストという言葉が出てきましたが、このチャートはそれらのロールを説明した
ものです。
このチャートで、開発者とビジネス・アナリストの役割は中央の赤い線で分けられます。
開発者はWIDを使用し、技術的な面からビジネス・ルールの開発と管理を担当します。
一方、ビジネス・アナリストは主にビジネスの変化に対応します。ビジネス・アナリストはBusinessRuleManagerWebTool
を使用し、必要に応じてビジネス・ルールを変更します。新しいビジネス・ルールが必要な場合や、既存のルール実装
を変更(コードを変更)する必要がある場合などは、開発者と共に新しいルールを開発します。
18
WebSphere Process Server V6
セレクター/ビジネス・ルール
ビジネス・ルールの位置づけ
„
ビジネス・ルールはサービス・コンポーネントに位置づけら
れる
サービス・
コンポーネント
Business
Business
Processes
Processes
サポーティング
・サービス
Interface
Maps
SOA コア
Business
Business
State
State
Machines
Machines
Human
Human
Tasks
Tasks
Business
Relationships
Object Maps
Service Component
Architecture
Business
Objects
Business
Business
Rules
Rules
Selectors
Selectors
Common Event
Infrastructure
WebSphere Application Server (J2EE Runtime)
19
WPSにおける各コンポーネントの位置付けです。
ビジネス・ルールはサービス・コンポーネント位置づけられます。
SCAのコンポーネントとして、他のコンポーネントから呼び出されたり、他のコンポーネントを呼び出したりし
ます。
19
WebSphere Process Server V6
セレクター/ビジネス・ルール
ビジネス・ルールを構成する要素
20
この章ではビジネス・ルールを構成する要素について説明します。
20
WebSphere Process Server V6
セレクター/ビジネス・ルール
ビジネス・ルールを構成する要素
„
ビジネス・ルール・グループ
„
ルール
‹
‹
‹
ルール・セット
ディシジョン・テーブル
テンプレート
21
ビジネス・ルールはこれらの要素によって構成されます。
ここからビジネス・ルールを構成する各要素について個別に説明します。
21
WebSphere Process Server V6
セレクター/ビジネス・ルール
ビジネス・ルール・グループとビジネス・ルール
インターフェース
(WSDL)
input1
ビジネス・ルール・グループ
Default Destination: RuleSet1
ビジネス・ルール
RuleSet1
output1
Business Rules
Start Date End Date
Business Rule
1/1/05
6/24/05
RuleSet1
6/24/05
1/1/06
DecisionTable1
DecisionTable1
リファレンス
Interface1
Selection Criteria:
Current time, Java, or XPath
Business Rules
22
このチャートはビジネス・ルールがどのように動作するかを説明したものです。
ビジネス・ルール・グループにはWSDLのインターフェースが定義されます。
このインターフェースによってビジネス・ルールによって使用される、入力、出力の型が定義されます。
このインターフェースはSCAのインターフェースとして他のコンポーネントに公開されます。
ビジネス・ルール・グループには複数のルールをグループ化し、適切なビジネス・ルールを呼び出します。
また、外部のパートナーを呼び出すときに使用するリファレンスもビジネス・ルール・グループに対して定義します。
各要素については後続のチャートで説明します。
22
WebSphere Process Server V6
セレクター/ビジネス・ルール
ビジネス・ルール・グループ
„ ビジネス・ルールを構成する最上位のコンポーネント
‹
‹
‹
共通のビジネス上の問題を扱うルール・セットやディシジョン・テーブルをグ
ループ化する
ルール・グループはインターフェースを提供し、SCAのサービスとして他のコ
ンポーネントより利用される
クライアントからルール・グループが呼び出されるとルールが呼び出される
„ ルール・グループにはルールが有効な日付/時刻を指定
‹
‹
どのルールが使用されるかは呼び出し時に日付/時刻によって判断される
判断する日付/時刻は以下の3通りで指定可能
現在の日付/時刻を使用
z 入力パラメータに埋め込まれているものをXpathで指定
z JavaSnippetで指定
z
‹
現在時刻以外の時間で判断することで、過去に使用されていたルールや、
将来使用されるルールを呼び出すことができる
23
ビジネス・ルール・グループはビジネス・ルールを構成する最上位のコンポーネントであり、共通のビジネス上の問題
を扱う複数のルールをグループ化するものです。
ビジネス・ルール・グループはインターフェースを提供し、このインターフェースを通してビジネス・ルール・グループは
SCAコンポーネントとして外部から呼び出されます。
ビジネス・ルール・グループは複数のルールをグループ化しますが、ビジネス・ルール・グループが呼び出されたとき
に、それらの中からどのルールが実際に使用されるかを判断するための日付/時刻を定義することが出来ます。たと
えば、もし、現在時刻が、1/1/05 12:00amと1/1/06 12:00amの間ならディシジョンテーブル1を使用、その他の時間な
らルール・セット1を使用するなどといった設定が可能です。
現在時刻と設定の時刻を比較する以外にも、入力パラメータに埋め込まれた日付を使用したり、Javaのコーディングで
日付を指定したりすることが出来ます。
この機能を利用することにより、例えば取引開始時刻で適用するルールを判断するといったことが可能になります。
23
WebSphere Process Server V6
セレクター/ビジネス・ルール
ルール・セット
„ 1つ、または順次実行される複数のルール(if-then条件,アク
ション)の集まり
„ 任意の数のルールを定義することが可能
‹
リストの上から順番に評価・実行される
z
If-then条件
¾ If条件を満たす場合に、変数の初期化、更新や、サービスを呼び出す
z アクション
¾ 無条件に変数の初期化、更新や、サービスを呼び出す
„ 複数の条件を評価し、複数の処理を実行することができる
24
ビジネス・ルール・グループはルール・セットとディシジョン・テーブルの2通りの実装方法がありますが、まずルール・
セットについて説明します。
ルール・セットは順次実行される1つまたは複数のルール(if-then条件、アクション)の集まりです。
複数のルールがリストされ、
1つ目のルールから順番にリストの最後までルールが呼び出されます。
ルールは、
if-then条件
アクション
の2つのタイプで定義可能です。
if-then条件はif条件を満たす場合のみにthenで定義した処理が呼び出されますが、アクションは常に処理を呼び出し
ます。
処理として定義できるのは、変数の更新やリファレンスで定義したパートナーリンクに対するオペレーションの呼び出し
です。
ルール・セットは複数の複数の条件を判断し、複数のアクションを実行することが可能です。
24
WebSphere Process Server V6
セレクター/ビジネス・ルール
ルール・セットの例
ルール・セット
ルール
Ruleは上から下に
順次実行される
ifif input1==A
input1==A then
then B
B
if then文によって
条件と処理を定義
可能
ルール
ifif input2==B
input2==B then
then C
C
ルール
D
D
・
if thenではなくてア
クションのみを記述
することも可能
・
25
ルール・セットの例です。
この例では3つのルールが定義され、順次実行されます。
まず、input1がAならば処理Bが実行されます。
次にinput2がBならば処理Cが実行されます。
さらに、処理Dが実行されます。
このように複数のルールが順次実行されるのがルール・セットです。
25
WebSphere Process Server V6
セレクター/ビジネス・ルール
ディシジョン・テーブル
„
ディシジョン・テーブルはネストされたif-thenを表現可能
„
決定木に変換される
‹
if条件の組み合わせがテーブルとして表現され、合致するマス目に対応するルール
(アクション)が呼び出される
„
1つ、または複数の条件を判断し、最終的に呼び出す処理を確定する
„
多くのビジネス・ルールはディシジョン・テーブルで表現出来る
‹
順次処理するのではなく、決定木を用いることで複数のルールを効率的に扱うことが
可能
26
もう1つのルールの実装方法がディシジョン・テーブルです。
ディシジョン・テーブルは多次元のネストされたif –then を表現します。
ルール・セットによる単純なif-thenよりも複雑なルールを扱うことが出来ます。
ディシジョン・テーブルは決定木に変換することができます、複数の条件を判断し最終的に1つの処理を呼び出します。
26
WebSphere Process Server V6
セレクター/ビジネス・ルール
ディシジョン・テーブルの例
ディシジョン・テーブル
input1
A
B
input2
C
D
C
D
アクション
①
②
③
④
A
上のディシジョン・テーブ
ルは右のような決定木で
表したものと同じ
B
C
D
C
D
①
①
②
②
③
③
④
④
27
単純なディシジョン・テーブルの例です
input1、input2の値を判断し、それらの組み合わせに対応する処理を呼び出します。
ルール・セットのように全てのルールが順次処理されるのと異なり、条件に合致するルールのみが実行されるため効
率的にルールを処理できます。
27
WebSphere Process Server V6
セレクター/ビジネス・ルール
ルール・セットとディシジョン・テーブルの使い分け
„ ルール・セットを使用したほうが良いもの
‹
条件が単純な(使用する変数や式が少ない)ケース
‹
複数のルールを順次実行するケース
„ ディシジョン・テーブルを使用したほうが良いもの
‹
‹
条件が複雑な(使用する変数や式の数が多い)ケース
1つのルールを実行するケース
28
ルール・セットとディシジョン・テーブルをどのように使い分ければいいのでしょうか?
単純な条件判断の式を使用する場合や、複数のルール評価する必要がある場合はルール・セットを使用します。
ルール・セット、単純なif-then文の組み合わせであるため、理解しやすい反面、毎回、全てのルールが評価されるた
め、ルールの数が多くなった場合に効率が悪くなる場合があります。
条件判断の式が複雑な場合。つまり評価すべき変数の数が多い場合や、式が複数の条件の組み合わせからなる場
合や、最終的に評価するルールが1つの場合、ディシジョン・テーブルを使用します。全ての条件を順次評価する場合
に比べ、複雑な条件を効率的に評価することが可能です。
28
WebSphere Process Server V6
セレクター/ビジネス・ルール
テンプレート
„
ルールをテンプレートの形にしたもの
例)if 購入金額が□万円以上then割引率は
□%
„
WID上でテンプレート化したルールの
パラメータをWPS上で変更可能
„
サーバーやアプリケーションの再起
動をすることなくビジネス・ルールをビ
ジネス・アナリストが変更することが
可能になる
‹
„
Business Rule Manager web toolを使
用
プレゼンテーション・セクションに指定
されたテキストにより、ビジネス・アナ
リストは通常の言語でルールを理解
できる
WID上でのテンプレート化されたルール
Business Rule Manager web toolから表
示、変更が可能
29
テンプレートとはルールをテンプレートの形にしたものです。
WID上でテンプレート化したルールのパラメータをWPS上でBusinessRulemanagerWebToolを用いて変更することが可
能です。
また、テンプレートではプレゼンテーション・セクションを定義することが出来ます。
ここで指定したテキストがブラウザに表示されることによってビジネス・アナリストはプログラム言語ではない通常の言
語でルールを理解し、変更することが出来ます。
29
WebSphere Process Server V6
セレクター/ビジネス・ルール
ビジネス・ルールの開発
30
この章では、ビジネス・ルールの開発について説明します。
30
WebSphere Process Server V6
セレクター/ビジネス・ルール
ビジネス・ルールの開発の流れ
1.
モジュールの作成
2.
ビジネス・ルール・グループの作成
インターフェース、リファレンスを定義
デフォルトのルールを定義
z 各ルールの有効な日付/時刻を定義
z
z
3.
ビジネス・ルールの作成
ルール・セット
z ディシジョン・テーブル
z
4.
ビジネス・ルール・グループをアセンブリ・エディターに配置
5.
他のコンポーネントとワイヤリング
31
ビジネス・ルールの開発の流れは次のようになります。
1.モジュールの作成
全てのSCAのコンポーネントと同様。ビジネス・ルールを作成する際にはモジュールが必要になります。
2.ビジネス・ルール・グループの作成
まず、インターフェースを指定し、ビジネス・ルール・グループ・エディターを用いて呼び出すルールと有効な時間を指定し
ます。外部のサービスを呼び出す場合には、リファレンスを定義します。
3.ビジネス・ルールの作成
ルール・セットもしくはディシジョン・テーブルを作成します。
4.ビジネス・ルール・グループをアセンブリ・エディターに配置
作成したルール・グループをアセンブリエディター上に配置します。
5.他のコンポーネントとワイヤリング
アセンブリ・エディター上に配置したビジネス・ルール・グループと他のコンポーネントを必要に応じてワイヤリングします。
31
WebSphere Process Server V6
セレクター/ビジネス・ルール
ビジネス・ルール・グループの作成
„
ビジネス・ルール・グループ・エディター
‹
‹
‹
インターフェース、リファレンス
デフォルトのルール
各ルールの有効日付/時間
32
ビジネス・ルール・グループ・エディターの画面です。
ビジネス・ルール・グループ・エディターでは次の項目を設定します。
Interfaces
このビジネス・ルール・グループのインターフェースを指定します。ビジネス・ルール・グループはこのインターフェース
を通して他のコンポーネントから呼び出されます。
Default Destination
このビジネス・ルール・グループが標準で使用するビジネス・ルールを指定します。
Start Date/End Date/Destination
各ビジネス・ルールが有効な時間を定義します。
SelectionCriteria
何を基準に呼び出し先のビジネス・ルールを決定するかを指定します。
この例(Current date)ではこのビジネス・ルール・グループが呼び出された際の時間で判断されます。
Reference
ビジネス・ルール内から他のサービスを呼び出す場合に利用するパートナーリンクを指定することが可能です。
32
WebSphere Process Server V6
セレクター/ビジネス・ルール
ルール・セットの作成
„
ルール・セット・エディター
‹
If-then,アクションの定義
33
ルール・セット・エディターの画面です。
リストされているルールが上から下に順番に処理されます。
実行されるアクションとしては、
変数の初期化、更新
サービス呼び出し
を行うことが可能です。
サービス呼び出しを行う場合には、ビジネス・ルール・グループに対してリファレンスを定義しておく必要があります。
テンプレートの作成もこのエディター上で行います。
33
WebSphere Process Server V6
セレクター/ビジネス・ルール
ディシジョン・テーブルの作成
„
ディシジョン・テーブル・エディター
34
ディシジョン・テーブル・エディターの画面です。
新たな条件、条件の値、アクションを追加したり、ディシジョン・テーブルをテンプレートに変換することが可能です。
34
WebSphere Process Server V6
セレクター/ビジネス・ルール
アセンブリ・エディター
„
アセンブリ・エディターでビジネス・
ルールと他のコンポーネントをワイヤ
リングする
„
ビジネス・ルール・グループをアセン
ブリエディター上にドラッグ&ドロップ
„
既存のコンポーネントとワイヤリング
„
別モジュールから呼び出す場合には
エクスポートを定義
„
ルールから外部のサービスを呼び出
す場合はリファレンスと他のコンポー
ネントと接続
„
非SCAコンポーネントからはスタンド
アロン参照を使用して呼び出す
35
ビジネス・ルール・エディターの他にもう1つ使用するエディターがアセンブリ・エディターです。
ビジネス・ルールを他のコンポーネントとワイヤリングする場合にはルール・グループをアセンブリ・エディター上にド
ラッグ&ドロップします。ルール・セットやディシジョン・テーブル自体はSCAコンポーネントではないのでアセンブリエ
ディター上にはドロップすることは出来ません。
全てのビジネス・ルールにはルール・グループ経由でアクセスします。
アセンブリ・エディター上のルール・グループと他のコンポーネントをワイヤリングすることで、他のコンポーネントから
ルール・グループを呼び出すことが出来ます。
他のモジュールからルール・グループを呼び出すにはエクスポートを作成する必要があります。
ルール内から他のSCAコンポーネントを呼び出す場合はリファレンスと他のコンポーネントを接続します。
JSPなどの非SCAコンポーネントからビジネス・ルールを呼び出す場合には、スタンドアロン・リファレンスを定義する必
要があります。
35
WebSphere Process Server V6
セレクター/ビジネス・ルール
ビジネス・ルールの稼動・管理
36
この章では、ビジネス・ルールの稼動・管理について説明します。
36
WebSphere Process Server V6
セレクター/ビジネス・ルール
ビジネス・ルールの稼動
„
WebSphere Process Server はビジネス・ルールをSCAのサービスとし
て公開する (ビジネス・ルール・グループ経由)
‹
必要に応じて他のルール・エンジンを利用
„
ビジネス・ルールはEARファイルに含まれ、インストールは通常のJ2EE
アプリケーションと同様に行われる
„
ビジネス・ルールに関する情報はデータ・ベースに格納される
„
web toolを利用してルールを動的に更新することが可能
‹
web toolはWPSに標準で付属(インストールは別途必要)
37
ビジネス・ルールはSCAコンポーネントとしてWPS上で稼動します。
ルール内から必要に応じて他のサードパーティー製のルール・エンジンを呼び出すことも可能です。
ビジネス・ルールはEARファイルに含まれ、通常のJ2EEのアプリケーションと同じようにアプリケーション・サーバーに
インストールされます。ルールの設定などはデーターベースに格納されます。
稼動中のルールはBusinessRuleManager web toolによって動的に更新することが可能です。
BusinessRuleManager web toolはJ2EEのアプリケーションです。標準ではインストールされず、別途インストールする必
要があります。
37
WebSphere Process Server V6
セレクター/ビジネス・ルール
Business Rule Manager web tool
„
Business Rule Manager web tool はビジネス・ルールの表示変更のための
JSP/Servlet をベースとしたエンタープライズ・アプリケーション
‹
„
ビジネス・アナリストのためのツール
開発者によって作成されたテンプレートを利用してビジネス・アナリストが容易に
稼動中のビジネス・ルールを変更することが可能
‹
‹
ブラウザのみを使用すればよい
ビジネス・ルールが変更されたアプリケーション、サーバーを再起動する必要はない
„
標準ではインストールされず、使用する場合はスクリプトによってインストール す
る(installBRManager.jacl)
„
通常のWASの認証を利用してユーザ認証される
38
Business Rule Manager web tool はビジネス・ルールの表示変更のためのJSP/Servlet をベースとしたエンタープライ
ズ・アプリケーションで、主にビジネス・アナリストによって使用されます。
WIDでサポートされている全てのビジネス・ルール作成機能をサポートしているわけでは有りませんが、開発者がテン
プレートを利用して定義したルールを表示、変更することが出来ます。
Business Rule Manager web toolはWPSに付属しますが、標準ではインストールされないため、スクリプト
( installBRManager.jacl)を使用してインストールする必要があります。
ビジネス・ルールが変更されたアプリケーション、サーバーは再起動する必要はありません。
またこのアプリケーションはGlobalSecurityを使用している場合、通常のWASの認証を利用してユーザー認証されます。
38
WebSphere Process Server V6
セレクター/ビジネス・ルール
ビジネス・ルールとweb tool
ビジネス・ルール・グループ
web tool
クライアント
JSP
BPELプロセス
セレクター
SCAコンポーネント
..
ルール・セット
ディシジョン・テーブル
テンプレートを利用して
ビジネス・アナリストが
サーバー上で稼動中の
ビジネス・ルールを動
的に更新
39
この図はビジネス・ルールとweb toolの関係を示したものです。
ビジネス・ルールのクアイアントはビジネス・ルール・グループにアクセスしてルールを起動します。
クライアントはJSPのようなSCAではないコンポーネントの場合も有りますし、BPELプロセス、セレクター、もしくは他の
ビジネス・ルールの場合も有ります。
ビジネス・ルールの稼動中にテンプレート化されたルールをビジネス・アナリストがweb toolから動的に変更することが
可能です。
39
WebSphere Process Server V6
セレクター/ビジネス・ルール
ブラウザからのルール管理画面
5
1
4
1
2
3
40
インストールしたBusiness Rule Manager web toolはブラウザから、
http://localhost:9080/br/webclient/pages/index.jspにアクセスすることで利用することができます。
1. テンプレート化されたルールのリストが表示されます。
2. ルール・セットの場合には、ルールの順番を変更することが出来ます。ルールは上から下に順次実行されます。
3. 必要ないルールを削除することが出来ます。
4. テンプレートから新しいルールを作成するときに利用します
5. ルールの保存を行います。保存したルールを実際に稼動させるためには、別の画面でDeployボタンを押す必要
があります。
40
WebSphere Process Server V6
セレクター/ビジネス・ルール
まとめ
41
最後にまとめです。
41
WebSphere Process Server V6
セレクター/ビジネス・ルール
まとめ
„ ビジネス・ルールとは
‹
‹
入力に対してビジネス上の判断を適用し出力を返す
SCAのコンポーネント
„ ビジネス・ルールを構成する要素
‹
‹
‹
‹
ルール・グループ
ルール・セット
ディシジョン・テーブル
テンプレート
„ Business
‹
‹
Rule web toolよりルールの変更が可能
ビジネス・アナリスト自身が容易に変更可能
アプリケーション・サーバーの再起動は必要ない
42
ビジネス・ルールとはビジネス上の判断ロジックです。
SCAのコンポーネントとして公開されることで容易に再利用、変更が可能になります。
ビジネス・ルールは以下の要素により構成されます。
ビジネス・ルール・グループは複数のルールをグループ化し、インターフェースを提供します。
ルール・セットとディシジョン・テーブルはルールの実装です。
テンプレートを利用することにより、BusinessRule web toolよりビジネス・アナリスト自身がルールを変更することが出
来ます。
また、アプリケーション・サーバーの再起動の必要なくルールの変更が可能です。
42
Fly UP