その他の Ensemble オプションの定義
この章では、Ensemble ネームスペースに対して定義または構成可能なその他のオプションについて説明します。以下のトピックでは、これらの設定について説明します。
後述する “メッセージ・バンク・リンクの構成” も参照してください。
データ・ルックアップ・テーブルの定義
[ルックアップ・テーブル] ポータル・ページでは、Lookup と Exists のユーティリティ関数をサポートするためのデータ・テーブルを作成および構成できます。Lookup ユーティリティ関数は、ビジネス・ルールまたは DTL データ変換からテーブル検索を容易に実行できるように用意されています。
詳細は、"ビジネス・ルールの開発" の “Ensemble ユーティリティ関数” を参照してください。
Lookup 関数は、検索テーブルを作成し、これにデータを入力して初めて機能するようになります。この操作を実行するには、[Ensemble]、[構成]、[データ・ルックアップ・テーブル] の順に選択します。[開く] をクリックした場合は、ネームスペース内で定義されているルックアップ・テーブルがダイアログ・ボックスに一覧表示されます。ルックアップ・テーブルを選択すると、Ensemble では次のフォームが表示されます。
ルックアップ・テーブル内のエントリを編集するには、以下の方法を使用できます。
-
赤い X アイコンをクリックして、エントリを削除します。テーブルを保存すると、そのエントリが削除されます。テーブルを保存する前であれば、そのエントリの左側に表示されている緑色の + アイコンをクリックすることで、そのエントリを復元できます。
-
目的のエントリと同じキーと新しい値を右側のフォームに入力し、[適用] をクリックして、そのエントリを更新します。値を更新した後、ルックアップ・テーブルを保存するまでは、元の値が [元の値] 列に表示されます。既存のエントリを選択すると、そのエントリの現在の値が右側のフォームに入力されます。
-
新しいキーと値を右側のフォームに入力して、[適用] をクリックして、新しいエントリを追加します。
-
メニュー・バーの折れ曲がった矢印をクリックして、直前の操作を取り消します。
エントリを選択した場合は、右側のフォームの値が初期化されるだけです。[適用] をクリックした場合は、選択されているエントリではなく [キー] フィールドで指定されているエントリが操作の対象となります。[キー] フィールドの値がいずれかの既存エントリと一致している場合は、そのエントリが更新されます。[キー] フィールドの値がどの既存エントリとも一致していない場合は、新しいエントリが追加されます。メニュー・バーの緑色の + アイコンをクリックするか [破棄] をクリックすると、単にフォームがクリアされるだけです。
操作を実行するには、次のいずれかのボタンをクリックします。
-
[新規作成] — フォームが開いて、ルックアップ・テーブルに名前を付けてから、空のテーブルを表示できます。テーブルにエントリを追加するには、キーと値のペアを入力して、ペアごとに [適用] をクリックします。ルックアップ・テーブルを永続化するには、[保存] をクリックする必要があります。
-
[開く] — 現在のネームスペース内で定義されているルックアップ・テーブルが表示されて、いずれかのルックアップ・テーブルを選択できます。
-
[保存] — 適用済みの編集内容と共に現在のルックアップ・テーブルを保存します。[元の値] 列がクリアされて、削除されたレコードが除去されます。
-
[名前を付けて保存] — 現在のテーブル・エントリを新規テーブルに保存します。新しいテーブル名を指定して、[OK] をクリックします。[元の値] 列がクリアされて、削除されたレコードが除去されます。
-
[削除] — 現在のテーブルを削除します。現在のテーブルを開いた後に何らかの編集をテーブルに加えた場合は、ページを離れるかどうかが尋ねられます。テーブルを削除するには、[ページを離れる] を選択します。[ページにとどまる] を選択した場合は、現在のテーブルが新規テーブルとして扱われます。
-
ルックアップ・テーブルは、[レガシのインポート] と [インポート] の 2 つの方法でインポートできます。2 つの方法の重要な相違点は、既存のルックアップ・テーブルと同じ名前のルックアップ・テーブルをインポートした場合、[レガシのインポート] を使用すると既存のテーブルをそのファイルのデータとマージしますが、[インポート] を使用すると、既存のルックアップ・テーブルをそのファイルのデータで置き換えることです。
-
[レガシのインポート] — ファイルに定義されているルックアップ・テーブルをインポートします。インポートされたルックアップ・テーブルの名前が既存のテーブルの名前と同じ場合、値はマージされます。キーがファイルで定義されると、検索テーブル内のそのキーの既存の値はすべて上書きされます。
-
[インポート] — XML ファイルで定義されている新規検索テーブルを追加します。新規テーブルのいずれかに既存のテーブルと同じ名前がある場合、新規テーブルにより旧テーブルが置換されます。[参照] をクリックして XML ファイルを指定してから、[開く] をクリックします。フォームには、そのファイルで定義されているルックアップ・テーブル (LUT) ドキュメントが表示されます。リストされているルックアップ・テーブルをすべて選択することも、一部のテーブルを選択することもできます。その後で [インポート] を選択して、ルックアップ・テーブルをインポートします。[インポート] ボタンは、新しいファイル形式のみをインポートできます (以下の説明を参照してください)。
Note:ルックアップ・テーブルには、新しい形式とレガシ形式の 2 つのファイル形式があります。新しい形式には追加の XML ドキュメント・タグが含まれています。[レガシのインポート] は新しい形式とレガシ形式の両方を処理できますが、[インポート] は新しい形式しか処理できません。新しい形式はスタジオと [エクスポート] ポータル・ボタンを使用してエクスポートされます。古い形式は Ens.Util.LookupTable.%Export() メソッドを使用してエクスポートされます。ルックアップ・テーブルのファイル形式の詳細は、"ルックアップ・テーブルのファイル形式" を参照してください。
-
-
[エクスポート] — 現在のテーブルを XML ファイルにエクスポートします。このファイルの名前を指定できますが、エクスポートされたルックアップ・テーブルでは、現在のルックアップ・テーブルと同じ名前が使用されるため、このファイル名は使用されません。現在の XML 形式を使用してのみエクスポートできます。本リリースでは、レガシ XML 形式をエクスポートすることはできません。
[削除]、[インポート]、または[レガシのインポート] 操作は元に戻すことができません。
同じ名前を持つ既存の検索テーブルがある場合、[インポート] ボタンの動作は、[レガシのインポート] ボタンとは異なるものになります。[インポート] ボタンは、既存の検索テーブルの内容を完全に置き換えます。一方、[レガシのインポート] ボタンは、新規の値と既存の値をマージします。
プログラムでのルックアップ・テーブルの操作方法は、"Ensemble プロダクションの開発" の “プログラムによるルックアップ・テーブルの操作” を参照してください。
後続の項では、以下について説明します。
ルックアップ・テーブルのファイル形式
ルックアップ・テーブルを記述する XML 形式には、新しい形式とレガシ形式の 2 つの形式があります。
新しいルックアップ・テーブルの XML 形式は、次の例のように 1 つ以上の XML ドキュメント要素で構成されています。
<?xml version="1.0" encoding="UTF-8"?>
<Export generator="Cache" version="25" zv="Cache for Windows (x86-64) 2015.1 (Build 378U)"
ts="2014-10-21 11:52:51">
<Document name="AlertTable.LUT">
<lookupTable>
<entry table="AlertTable" key="ABC_HL7FileService">temp_1@company.test<></entry>
<entry table="AlertTable" key="BadMessageHandler">temp_1@company.test</entry>
<entry table="AlertTable" key="Extra_Observations">temp_5@company.test</entry>
<entry table="AlertTable" key="MsgRouter">temp_3@home.test</entry>
<entry table="AlertTable" key="Priority_FileOperation">temp_5@home.test</entry>
<entry table="AlertTable" key="Regular_FileOperation">temp_4@company.test</entry>
<entry table="AlertTable" key="XYZ_HL7FileService">temp_2@company.test</entry>
</lookupTable>
</Document>
</Export>
XML 要素の構文は次のとおりです。
-
各 Document 要素には、.LUT というファイル・タイプのルックアップ・テーブル名を指定する name 属性が必要です。
-
各 Document 要素には、1 つの lookupTable 要素が含まれています。
-
各 lookupTable 要素には、entry 要素のリストが含まれています。
-
各 entry 要素には、Document 要素の name 属性で指定されているのと同じテーブル名を指定する table 属性が含まれ、key 属性が指定され、エントリの値がテキストとして指定されます。
Ens.Util.LookupTable.%Export() メソッドおよび Ensemble 2014.1 以前のバージョンのポータルでエクスポートされるレガシ形式には、Document 要素はありません。この形式は、単一の lookupTable 要素と、この要素に含まれている entry 要素のみで構成されます。table 要素に異なる名前を指定することで、複数のルックアップ・テーブルのエントリを含めることができます。
単層ファイルのデータ・ルックアップ・テーブルとしてのインポート
単層ファイルが以下のとおりであれば、データ・ルックアップ・テーブルとしてインポートできます。
-
ヘッダー行を含めることが可能な場合。
-
このファイルには、空白文字、カンマ、タブ、またはその他の区切り文字で区切られた 3 つの値が含まれている必要があります。
-
左から右へ、3 つの値がルックアップ・テーブルの [値] 行、ルックアップ・テーブルの [キー] 値、およびルックアップ・テーブルの目的の名前に該当する必要があります。
ルックアップ・テーブルのようなファイルをインポートするには、データ・インポート・ウィザードを使用します。詳細は、“Caché SQL の使用” の “テキスト・ファイルからのデータのインポート” を参照してください。スキーマ名には、[Ens_Util] を使用します。テーブル名には、[検索テーブル] を使用します。
システム・デフォルト設定の定義
この節では、システム・デフォルト設定について説明します。この章は以下の節で構成されています。
システム・デフォルト設定の目的
システム・デフォルト設定の目的は、環境間でプロダクション定義をコピーするプロセスを簡略化することです。どのプロダクションでも、一部の設定値がプロダクション設計の一部として決定されます、これらの設定値の多くはすべての環境で共通しているはずです。ただし、その他の設定は環境に合わせて調整する必要があります。このような設定にはファイル・パスやポート番号などが含まれます。
システム・デフォルト設定では、Ensemble がインストールされた環境に固有の値を指定する必要があります。対照的に、プロダクション定義では、すべての環境で同じにすべき設定値を指定する必要があります。
プロダクション、ビジネス・ホスト、またはアダプタに関する設定値を見つけるために、Ensemble は以下の場所をこの順序で検索します。
-
プロダクション定義。ここで設定値が見つかると (その値が空の文字列であっても)、その値が使用されます。
-
プロダクション定義の外部に保存されたシステム・デフォルト設定。
ここで設定値が見つかると (その値が空の文字列であっても)、その値が使用されます。
-
プロダクション、ビジネス・ホスト、またはアダプタが基づいているクラスの定義内で指定された設定値。
設定のシステム・デフォルトが存在しない場合にのみ、この値が使用されます。
デフォルト値のない設定もあります。
プロダクションの構成時には、プロダクション、システム・デフォルト設定、またはクラス定義のいずれで値が設定されているかを示すようラベルが色分けされます。詳細は、“設定の色分けの意味” を参照してください。
システム・デフォルト設定へのアクセス
[システム・デフォルト設定] ページにアクセスするには、[Ensemble]、[構成]、[システム・デフォルト設定] の順に選択します。[システム・デフォルト設定] ページには、ネームスペースで定義された設定が表示されます。
新規のシステム・デフォルト設定を作成するには、[新規作成] をクリックします。既存の設定を編集するには、その設定を選択して [編集] をクリックします。設定を削除するには、その設定を選択して [削除] をクリックします。
以下の要素は、システム・デフォルト設定を定義します。
-
[プロダクション名] — オプションで、このデフォルトが適用されるプロダクションを指定します。* に設定すると、このデフォルトがこのネームスペース内のすべてのプロダクションに適用されます。
Note:デフォルトを保存した後は、このフィールドの値を変更することはできません。デフォルトを削除して新しいデフォルトを作成する必要があります。
-
[アイテム名] — オプションで、このデフォルトが適用されるビジネス・ホストを指定します。* に設定すると、このデフォルトが特定のプロダクションまたはすべてのプロダクション内のすべてのホストに適用されます。
-
[ホストクラス名] — オプションで、このデフォルトが適用されるビジネス・ホストのクラスを指定します。* に設定すると、このデフォルトが特定のプロダクションまたはすべてのプロダクション内のすべてのホストに適用されます。
-
[設定名] — 設定するプロパティの名前を指定します。プロパティ名にはスペースが含まれていないことに注意してください。ほとんどの場合、プロパティ名と、スペースが削除された設定名は似ています。例えば、設定の [トレース・イベントを記録] は LogTraceEvents という名前のプロパティに基づいています。
Tip:設定に関する説明文が表示されたポップアップ・ウィンドウ内でプロパティ名を確認できます。
-
[設定値] — プロパティに割り当てる値を指定します。このフィールドを空白にした場合は、デフォルトが空の文字列に設定されます。
-
[説明] — オプションで、デフォルトの説明を指定します。
-
[導入可能] — 設定した場合は、システム・デフォルト設定を導入できます。
システム・デフォルト設定の作成または編集
新しいシステム・デフォルト設定を作成するか、既存のものを編集する場合には、以下のフォームが表示されます。
[システム・デフォルト設定] ページでは、新しいシステム・デフォルト設定を作成するか、既存のものを編集できます。便宜のために、プロダクションのツリーやその他のクラスが表示されます。このため、既存の設定を見つけて、フォームに名前や値をドラッグできます。[ツリーの拡張] および [ツリーの縮小] ボタンと、プラスおよびマイナス・アイコンを使用して、ツリーを探索し、目的のプロパティを見つけることができます。
システム・デフォルト設定の定義または更新を完了したら、[保存] をクリックします。[キャンセル] ボタンは、変更を破棄し、設定を作成または更新することなくシステム・デフォルト設定のリストに戻します。[リストア] ボタンはフィールドを初期の値に戻し、値の編集を可能にします。
ソース・コントロール設定の構成
Ensemble には、既存のソース・コントロール・フックに対するブラウザベースのインタフェースを実装するための EnsPortal.Template.devPageOpens in a new tab テンプレートが含まれています。ソース・コントロール・システムが正しく動作するためにプロジェクト・コンテキストが提供される必要があるかどうかを示すフラグがあります。このフラグは、次のようにして有効にします。
Set ^%SYS("Ensemble","SourceControl", $namespace, "ProjectContext") = 1
ブラウザベースのやり取りを管理するためには、スタジオ内のダイアログ・ウィンドウとして使用されている既存のユーザ・テンプレートに、/csp/broker/ensemble/ 内の Ens_SourceControl.js (ensemble/Ens_SourceControl.js というパスによって参照可能) が組み込まれている必要があります。この組み込みは、CSP ページと Zen ページの両方について必要です。ソース・コントロール・フックで必要なコンテキストに応じて、特定の戻り値にさらにデータを追加することが必要になる場合があります。
Ensemble ネームスペースごとにソース・コントロール設定を構成できます。詳細は、"スタジオの使用法" の “スタジオのソース・コントロール・フックの使用法” の付録を参照してください。"Caché 追加構成設定リファレンス" の [ソースコントロール設定] も参照してください。