プロダクションの構成
この章では、ASTM ルーティング・インタフェースを扱うようにプロダクションを構成する方法について説明します。以下のトピックについて説明します。
この章では、Ensemble, プロダクション構成 ページで実行するタスクについて説明します。次の章で追加のタスクについて説明します。
ASTM ビジネス・サービスの追加
プロダクションが受信するドキュメント・タイプごとに、ASTM ビジネス・サービスを 1 つ追加します。このドキュメント・タイプが複数の通信モード (FTP とファイルなど) を経由して到着する場合は、通信モードごとのビジネス・サービスが必要になります。
ASTM ビジネス・サービスをプロダクションに追加するには、ビジネス・サービス・ウィザードを通常どおりに使用します。"Ensemble プロダクションの構成" を参照してください。[サービス・クラス] リストから以下のクラスのいずれかを選択します。
ビジネス・サービスのバリエーション (EOTOPTIONAL)
Ensemble は、ENQ/EOT 制御文字で区切らずに連続している ASTM E1394 メッセージを、TCP 接続を介してまとめて送信されたものを受信できるモードもサポートしています。このモードを有効にするには、上記のビジネス・サービス・クラスのいずれかのサブクラスを作成し、そのサブクラスに以下を追加します。
Parameter EOTOPTIONAL = 1;
次に、このサブクラスをプロダクションで使用します。
ASTM ビジネス・プロセスの追加
最初の章で説明している ASTM デバイス・インタフェースでは、WorkAndRouteProcess というビジネス・プロセスを使用します。このようなビジネス・プロセスは、X12 形式のドキュメントで使用するビジネス・プロセスと同様に、EnsLib.MsgRouter.VDocRoutingEngineOpens in a new tab から継承します。ビジネス・プロセスの作成手順は、"Ensemble X12 開発ガイド" の “X12 ビジネス・プロセスの追加” を参照してください。このようなビジネス・プロセスをサポートする必要があり得るルーティング・ルールおよびデータ変換に関する手順も、同じ章に記載しています。
最初の章で説明している ASTM テスティング・インタフェースでは、GenerateReplyProcess という BPL ビジネス・プロセスを自身のビジネス・プロセスとして使用します。このビジネス・プロセスの目的は、実際にデバイスに接続することなく、適切な ASTM 応答ドキュメントを生成することです。サンプルの BPL ビジネス・プロセスのソース・コードは、以下のとおりです。
Class Test.ASTM.GenerateReplyProcess Extends Ens.BusinessProcessBPL
{
/// BPL Definition
XData BPL [ XMLNamespace = "http://www.intersystems.com/bpl" ]
{
<process language='objectscript'
request='Ens.Request' response='Ens.Response'
height='2000' width='2000' >
<sequence xend='550' yend='300' >
<assign name='CreateResponse' property='response'
value='..%Process.NewResponse(request)' action='set'
xpos='550' ypos='200' />
</sequence>
</process>
}
Method NewResponse(pDocIn As EnsLib.EDI.ASTM.Document)
As EnsLib.EDI.ASTM.Document
{
Do {
Set tDocOut=pDocIn.NewReplyDocument(,,.tSC) Quit:$$$ISERR(tSC)
#; Create correct number of blank segment objects in the output document
For i=1:1:4 {
Set tSC=tDocOut.SetSegmentAt(##class(EnsLib.EDI.ASTM.Segment).%New(),i)
Quit:$$$ISERR(tSC)
} Quit:$$$ISERR(tSC)
Set tSC=tDocOut.SetValueAt("H|\^&|||",1)
Set tSC=tDocOut.SetValueAt("P|1|315186|SH3F040230||ARNOUTS^A||19261201|W|",2)
Set tSC=tDocOut.SetValueAt("O|1|0058224303||^^^BH05|R||||||A||||||||||||||Q",3)
Set tSC=tDocOut.SetValueAt("L|1|F",4)
} While 0
If $$$ISERR(tSC) $$$LOGSTATUS(tSC) Quit $$$NULLOREF
Quit tDocOut
}
}
ASTM ビジネス・オペレーションの追加
出力先ごとに ASTM ビジネス・オペレーションを 1 つ追加します。不正なメッセージを処理するためのビジネス・オペレーションを追加することもできます。
ASTM ビジネス・オペレーションをプロダクションに追加するには、ビジネス・オペレーション・ウィザードを通常どおりに使用します。"Ensemble プロダクションの構成" を参照してください。[オペレーション・クラス] リストから以下のクラスのいずれかを選択します。
ASTM ビジネス・ホストの接続
ASTM ビジネス・ホストを追加した後、次のアイテムを接続します。
-
ASTM ビジネス・サービスごとに、ASTM ビジネス・プロセスの名前を [ターゲット構成名] 設定で指定します。
-
必要なロジックを含むルーティング・ルール・セットを作成します。次の章を参照してください。
ルーティング・ルール・セットの場合は、[ターゲット] フィールドが ASTM ビジネス・オペレーションになっていることを確認します。
-
ASTM ビジネス・プロセスの場合は、[ビジネスルール名] 設定を指定します。新しいルーティング・ルール・セットの完全な名前を使用します。
ビジネス・ホストの構成
“設定の参照先” に列挙されたすべての設定を調査して、必要に応じて設定する必要があります。
ASTM ビジネス・サービスに関する主要な設定は次のとおりです。
-
[Docスキーマカテゴリ] — 受信ドキュメントに割り当てるスキーマ・カテゴリを指定します。Ensemble では、検証と検索テーブルのインデックス作成でこの情報が必要です。
-
[テーブルクラス検索] — 受信ドキュメントで仮想プロパティにインデックスを作成するために使用するクラスを指定します。
-
File ビジネス・サービスの場合は、[応答ターゲット構成名] 設定を構成する必要があるかどうかについても検討します。
-
(オプション) TCP ビジネス・サービスの場合は、送信を開始するビジネス・サービスを準備します。
[出力セパレータ] と [応答タイムアウト] を構成します。
ASTM がプロトコルである場合、ビジネス・オペレーションは、デバイスへの送信を開始する前にパートナー・ビジネス・サービスが必要です。基本的な統合タスクは、以下のとおりです。
-
(TCP ビジネス・オペレーション の場合) [セパレータ] の設定を構成します。
-
(パートナー TCP ビジネス・サービスの場合) [パートナーサービス] の設定を構成します。これを、デバイスにドキュメントを送信する TCP ビジネス・オペレーションの構成名として指定します。