ビジネス・プロセスとビジネス・ロジック
ここでは、相互運用プロダクション内のビジネス・プロセスでサポートされるロジックの種類について説明します。
概要
ビジネス・プロセスはすべてのプロダクションの中間部分です。このプロセスは、プロダクション内部のホスト・クラス (ビジネス・サービスまたはビジネス・プロセス) から要求を受け取って、それを処理するか、プロダクション内部の他のホスト・クラスに中継して処理を依頼します。
プロダクション内部で次のように作業を分担することをお勧めします。ビジネス・サービスはプロダクション外部から入力を受け取り、それを (メッセージとして) プロダクションに転送するためだけに使用し、ビジネス・プロセスはすべての必要なビジネス・ロジックを処理するために使用し、ビジネス・オペレーションはプロダクション内部からメッセージを受け取り、プロダクション外部の宛先向けの出力を生成するためだけに使用します。つまり、ビジネス・ロジックをビジネス・プロセス内部に集約します。
そのために、InterSystems IRIS® には、ビジネス・プロセス内部の複雑なロジックに対する豊富なサポートが用意されており、このロジックは非技術系ユーザでも定義できます。
まずは、ビジネス・プロセスに独自の複雑なロジックを含めることができます。以下の再利用可能アイテムも使用できます。
-
データ交換は変更を計算し、メッセージ・コンテンツに適用します。
-
ビジネス・ルールは、判断ポイントでビジネス・プロセスの動作を変更したり、メッセージのタイプ、内容、または送信元に基づいて特定の宛先にメッセージを送信したりします。
InterSystems IRIS には、非技術系ユーザがビジネス・プロセス、データ変換、およびビジネス・ルールを定義できるようにするためのツールが用意されています。非技術系ユーザは、プログラミング・スキルや作図スキルがなくても視覚的にロジックを表示して編集できます。
ビジネス・プロセス、データ変換、およびビジネス・ルールで使用可能な低水準オプションが重複していることに注意してください。違いを確認する場合は、"ビジネス・ロジック・ツールの比較" を参照してください。ロジックの組み立て方を決定する前にこれらのオプションを確認する価値があります。
ビジネス・プロセスのタイプ
InterSystems IRIS には、以下の汎用タイプのビジネス・プロセスが用意されています。
-
Ens.BusinessProcessBPLOpens in a new tab クラスを基本とする BPL プロセス。これらのプロセスを作成するには、非技術系ユーザ向けのグラフィカル・エディタを使用します。このエディタは、管理ポータルとスタジオから利用できます。"BPL プロセスの開発" を参照してください。
これらのプロセスの名前は、InterSystems IRIS で定義の表記に使用されている XML ベースの言語である BPL (Business Process Language) から来ています。
-
EnsLib.MsgRouter.RoutingEngineOpens in a new tab クラスまたは EnsLib.MsgRouter.VDocRoutingEngineOpens in a new tab クラスに基づくルーティング・プロセス。
InterSystems IRIS には、特定の種類のメッセージをルーティングする一連のクラスが用意されています。以下のドキュメントに、さまざまなメッセージに使用するルーティング・プロセスが記載されています。
メッセージ・タイプ 参照先 EDIFACT プロダクション内での EDIFACT ドキュメントのルーティング X12 プロダクション内での X12 ドキュメントのルーティング XML プロダクション内での XML 仮想ドキュメントのルーティング これらのクラスを使用するために、コーディングの必要はほとんどありません。ただし、ビジネス・ルールのセットを規定する場合は必要です。
-
Ens.BusinessProcessOpens in a new tab クラスを基本とする カスタム・ビジネス・プロセス。前述したすべてのビジネス・プロセス・クラスがこのクラスから派生したことに注意してください。この場合は、スタジオなどのサポートされている IDE を使用してカスタム・コードを開発する必要があります。
EnsLib パッケージと Demo パッケージにさまざまな例が含まれています。
カスタム・ビジネス・プロセスの定義方法は、"ビジネス・プロセスの開発" を参照してください。
プロダクションにはこれらのビジネス・プロセスを混在させることができます。
BPL エディタに表示された BPL ビジネス・プロセスの部分的な例を以下に示します。
データ変換
データ変換では、別のメッセージを変換して新しいメッセージが作成されます。データ変換は、ビジネス・プロセス、別のデータ変換、またはビジネス・ルールから呼び出すことができます。
メッセージの変換を実行すると、データ変換が古いメッセージ・ボディ・オブジェクト (ソース) を取り出して、新しいもの (ターゲット) と交換します。以下のような変換がこのプロセス中に行われます。
-
ソース上のプロパティからターゲット上のプロパティへの値のコピー
-
ソース上のプロパティの値を使用した計算の実行
-
ターゲット上のプロパティへの計算結果のコピー
-
ターゲット上のプロパティに対するリテラル値の割り当て
-
ターゲットに関係しないソース上のプロパティの無視
データ変換は、Ens.DataTransformOpens in a new tab またはそのサブクラスの Ens.DataTransformDTLOpens in a new tab を基本とするクラスです。
-
Ens.DataTransformDTLOpens in a new tab を使用する場合は、変換が DTL 変換と呼ばれます。これらの変換を作成するには、非技術系ユーザ向けのグラフィカル・エディタを使用します。このエディタは、管理ポータルとスタジオから利用できます。詳細は、"DTL 変換の開発" を参照してください。
これらの変換の名前は、InterSystems IRIS で定義の表記に使用されている XML ベースの言語である DTL (Data Transformation Language) から来ています。
-
Ens.DataTransformOpens in a new tab を使用する場合は、変換がカスタム変換と呼ばれます。この場合は、スタジオなどのサポートされている IDE を使用する必要があります。これらの定義方法は、"プロダクションの開発" を参照してください。
DTL エディタに表示された DTL 変換の例を以下に示します。
ビジネス・ルール
ビジネス・ルール (ビジネス・ルール・セット とも呼ばれる) は、値を返す、データを変換する、またはその両方を行うことができます。また、ビジネス・ルールはビジネス・プロセスまたは別のビジネス・ルールから呼び出すことができます。
ビジネス・ルールは Ens.Rule.DefinitionOpens in a new tab に基づくクラスです。管理ポータルで定義します。管理ポータルには、非技術系ユーザ向けのビジュアル・エディタが用意されています。このエディタに表示された部分的な例を以下に示します。
詳細は、"ビジネス・ルールの開発" を参照してください。