この章では、Oracle SOA Suite for healthcare integrationにおけるエンドポイントの概念について説明し、ヘルスケア統合アプリケーション用にエンドポイントを作成および構成する手順を示します。
この章の内容は以下のとおりです。
Oracle SOA Suite for healthcare integrationでは、エンドポイントは事前定義済のドキュメントが送信または受信される通信チャネルです。エンドポイントは、ドキュメントが外部システムと交換される方法を定義し、場所、トランスポート・プロトコル、交換するドキュメントおよびその他の構成パラメータを指定します。URL、フォルダ、パスなどをエンドポイントにすることができます。メッセージの方向に基づいて、エンドポイントはインバウンド、アウトバウンドまたはその両方の場合があります。たとえば、Oracle SOA Suite for healthcare integrationがディレクトリから読み取る場合、ディレクトリはインバウンド・エンドポイントです。反対に、Oracle SOA Suite for healthcare integrationがディレクトリにメッセージを書き込むか送信する場合、ディレクトリはアウトバウンド・エンドポイントです。また、MLLPエンドポイントは、メッセージの受信と送信の両方に使用できます。
Oracle SOA Suite for healthcare integrationでは、エンドポイントをドキュメント定義に関連付け、エンドポイントがメッセージの送信と受信を開始できるようにする必要があります。
図4-1は、ドキュメント定義にまだ関連付けられていないサンプルのエンドポイントを示しています。
図4-1 Oracle SOA Suite for healthcare integrationのサンプル・エンドポイント
Oracle SOA Suite for healthcare integrationユーザー・インタフェースには、エンドポイントを作成および構成できるエンドポイント・ページがあります。この手順では、インタフェースを使用してエンドポイントを作成する方法について説明します。
双方向(MLLP)および単一方向(FILE、JMS)トランスポート・プロトコル用のエンドポイントを作成できます。双方向プロトコルの場合、レスポンス・メッセージまたは機能確認(FA)の送受信を1つのエンドポイントで実行できます。一方、単一方向プロトコルの場合、ドキュメントの送受信を行うように構成しないと、1つのエンドポイントでメッセージまたはFAの送受信を実行できません。
双方向トランスポート・プロトコル(MLLP)を使用してエンドポイントを作成するには:
Oracle SOA Suite for healthcare integrationユーザー・インタフェースにログオンします。
「設計」タブの「構成」タブで、「エンドポイント」フォルダをクリックし、図4-2に示す「作成」アイコンをクリックします。
図4-3に示すように、「作成」ウィンドウに次を入力して、「OK」をクリックします。
名前: エンドポイントの名前。
トランスポート・プロトコル: メッセージを送信または受信するトランスポート・プロトコル。この場合、MLLP10を選択します。
接続モード: 「サーバー」または「クライアント」。エンドポイントがサーバーとして構成されている場合、Oracle SOA Suite for healthcare integrationエンジンはポートでリスニングを開始し、クライアントが接続するのを待機します。一般に、サーバー接続モードはインバウンド用です。クライアントとして構成されている場合、エンジンはリモート・コンピュータまたはデバイスのホスト名およびポートに接続します。一般に、これはアウトバウンド用です。
注意: Oracle Healthcareでは、単一サーバー・チャネルに対する複数のクライアント接続をサポートしています。このため、複数のクライアントが同一サーバーに接続し、データを交換したりFAを受信することができます。 バックエンド・アプリケーションに渡されたメッセージは、次の方法で送信されます。
|
ホスト名: MLLPサーバー・エンドポイントの場合はOracle SOA Suiteをホストしているコンピュータの名前またはIPアドレス、MLLPクライアント・エンドポイントの場合はリモート・ホストの名前またはデバイス名にする必要があります。通常、これはlocalhost
である必要があります。ただし、ホスト名はリモート・ホストまたはデバイスの名前にすることもできます。
ポート: ポート番号は500より大きい値にする必要があります。接続モードが「サーバー」に設定されている場合、ポート番号は有効なTCPポート番号である必要があります。接続モードが「クライアント」に設定されている場合、ポート番号はMLLPサーバーで使用するポートと同じである必要があります。
これにより、エンドポイントが作成され、エンドポイントがOracle SOA Suite for healthcare integrationユーザー・インタフェースの右のパネルに表示されます。
単一方向トランスポート・プロトコル(FILE)を使用してエンドポイントを作成するには:
Oracle SOA Suite for healthcare integrationユーザー・インタフェースにログオンします。
「設計」タブの「構成」タブで、「エンドポイント」フォルダをクリックし、「作成」アイコンをクリックします。
図4-4に示すように、「作成」ウィンドウに次を入力して、「OK」をクリックします。
名前: エンドポイントの名前。
トランスポート・プロトコル: メッセージを送信または受信するトランスポート・プロトコル。この場合、FILEを選択します。
方向: 「インバウンド」または「アウトバウンド」。エンドポイントをインバウンドとして構成した場合、他のエンドポイントからレスポンス・メッセージまたはFAを受信できます。反対に、エンドポイントをアウトバウンドとして構成した場合、メッセージまたはFAを送信できます。
フォルダ名: 絶対ディレクトリ・パスをお薦めします。このフォルダにはインバウンドまたはアウトバウンドのメッセージやFAは格納されません。インバウンド・メッセージはこのフォルダ内にあることが期待され、アウトバウンドのメッセージまたはFAはここに配信される必要があります。
これにより、エンドポイントが作成され、エンドポイントがOracle SOA Suite for healthcare integrationユーザー・インタフェースの右のパネルに表示されます。
注意: 単一方向エンドポイント(インバウンド/アウトバウンド)の作成後、後からこれを「構成」リンクをクリックして編集し、インバウンドまたはアウトバウンドの構成を追加できます。 |
双方向トランスポート・プロトコル(MLLPなど)を使用してエンドポイントを作成した場合、エンドポイントはリクエストとリプライの双方(インバウンドおよびアウトバウンド)とACKを処理することができます。しかし、単一方向トランスポート・プロトコル(FileやFTPなど)の場合、通常、構成できるのはインバウンド・チャネルまたはアウトバウンド・チャネルの一方であり、両方一緒に構成することはできません。
Oracle SOA Suite for healthcare integrationでは、単一方向プロトコルの場合、管理およびモニタリング用に2つの通信チャネル(送信および受信メッセージ用に1つずつ)を1つのエンティティ(エンドポイント)として構成することができます。この概念により、サポートされるドキュメントの有効化または無効化および表示が可能になり、関連するチャネルの関連モニタリング・データ(メッセージ数や実際のメッセージ)を同時に表示できます。
この機能を使用して単一方向トランスポート・プロトコルを使用するときに、構成する必要があるチャネルは1つのみです。もう一方のチャネル(逆方向)の構成はオプションです。この場合、Oracle SOA Suite for healthcare integrationコンソールには、メッセージの送信または受信用に構成されたチャネルが1つ表示されますが、図4-5に示すとおり、もう一方のチャネルは未構成として表示されます。
図4-6に示すとおり、もう一方のチャネルは、未定義チャネルのセクションで「構成」リンクをクリックし、構成ダイアログ・ボックスで必要なチャネル詳細を指定することで構成できます。
トランスポート・プロトコルおよびその他の設定はチャネルごとに定義します。2つのチャネルに異なる単一方向トランスポート・プロトコルを使用できます。たとえば、1つのチャネルではFTPを使用して、もう一方のチャネルではFileを使用することもできます。唯一の要件は、両方とも単一方向プロトコルを使用するという点です。
両方の通信チャネルを定義しドキュメントをチャネルに関連付けると(4.3項「エンドポイントとドキュメントの関連付け」を参照)、エンドポイントが図4-7のように表示されます。
必要に応じて、各チャネルの構成を編集できます。また、対応するチャネルのセクションで「削除」リンクを使用して、各チャネルの構成を削除することもできます。
エンドポイントを作成した後で、それをドキュメントに関連付けて、エンドポイントがメッセージを送信または受信できるようにする必要があります。メッセージを送信、受信または送受信するようにエンドポイントを構成できます。
双方向エンドポイントをドキュメントに関連付けるには:
必要なエンドポイントを開きます。
メッセージを送信または受信するようにエンドポイントを構成します。
エンドポイントの「送信」または「受信」セクションで、「+」アイコンをクリックしてドキュメント選択ウィンドウを表示します。
使用可能なドキュメント階層から、必要なドキュメント定義を選択します(たとえばADT_A04_def)。ドキュメント定義がエンドポイントに関連付けられます。機能確認、検証またはエンドポイントの変換が必要かどうかを指定でき、必要な内部デリバリ・チャネル、トランスポートまたはアグリーメント・レベルのコールアウトおよびマップセットも指定できます。
注意: ドキュメント定義を「送信」または「受信」セクションにドラッグ・アンド・ドロップすることもできます。 |
図4-8は、ドキュメント定義に関連付けられたエンドポイントを示しています。
注意: FAの場合、「機能確認」、「検証」、「変換」、「再試行間隔」および「再試行数」は無効になります。 |
次のドキュメント構成オプションを選択します。
オプション | 説明 |
---|---|
機能確認 |
成功またはエラーの条件に対して機能確認を有効にする場合に選択します |
検証 |
構成済のECSファイルに対してドキュメントの検証を有効にする場合に選択します。 |
変換 |
XMLからネイティブ・フォーマットへの変換、またはその逆の変換を有効にする場合に選択します。 |
「内部チャネル」、「ドキュメント・コールアウト」、「マップセット」または「コンポジット」のいずれかがエンドポイントに対して定義されている場合は、これらを適切なフィールドから選択します。詳細は、Oracle Fusion Middleware Oracle B2Bユーザーズ・ガイドの第6章の取引パートナ・アグリーメントの作成とデプロイを参照してください。
注意: インバウンド・ドキュメントの場合、コンポジット名とJMS内部デリバリ・チャネル名の選択はオプションです。Oracle Healthcareは特定のドキュメント定義について、1つのコンポジットのみサポートできます。複数のコンポジットを使用できる場合、Oracle Healthcareは実行時に最初にOracle Healthcareに登録されたコンポジットにメッセージを送信するため、結果は予測できないものになります。 |
「有効」チェック・ボックスを選択し、「適用」をクリックして、エンドポイントでのメッセージの送受信を有効にします。「適用」操作の適用には30から60秒ほどかかることがあります。これは、XSD/ECSの作成とメタデータの検証が原因です。
注意: エンドポイントに変更を加えた後で、左側のパネルでエンドポイント名を右クリックし、「リフレッシュ」をクリックしてエンドポイントを更新できます。 |
注意: エンドポイントの有効化と無効化は、「有効」チェック・ボックスの選択または選択解除の後、「適用」ボタンをクリックすることで切り替えることができます。 |
単一方向エンドポイントとドキュメントの関連付け
Fileなど、単一方向エンドポイントを関連付ける場合の手順は、双方向エンドポイントの場合とほぼ同じです。ただし、異なる点がいくつかあります。
エンドポイントを作成する際、SOA Suite for healthcare integrationコンソールは選択された方向の構成オプションを表示した状態で開きます。
双方向エンドポイントとドキュメントの関連付け手順にリストされているその他の手順を実行すると、図4-9に示すとおり、エンドポイントがドキュメントに関連付けられます。
エンドポイントの作成時に、エンドポイントの方向をインバウンドとして指定した場合、「構成」リンクをクリックし、同じページでエンドポイントにアウトバウンド構成を定義できます。この機能により、関連する2つの単一方向エンドポイント(送信メッセージ用と受信メッセージ用にそれぞれ1つずつ)を1つのエンティティとして結び付け、管理とモニタリングを効率的に行うことができます。
注意: エンドポイントからドキュメントの関連付けを解除するには、「ドキュメント」セクションでドキュメント・エンティティを選択し、「削除」(X)ボタンをクリックします。 |
ドキュメントをエンドポイントに関連付けた後、エンドポイントの構成のために次のオプションを使用できます。
トランスポート・コールアウト: メッセージの受信後または送信前に呼び出すトランスポート・コールアウト。コールアウトは、コールアウトの作成後にのみ選択できます。
トランスポート・プロトコル: 「トランスポートの詳細」ボタンをクリックして、次の図に示すようにトランスポート・プロトコル・パラメータをカスタマイズします。
MLLP 1.0上で、現在のメッセージの肯定ACKの受信後にのみ次のメッセージが送信されるようにHL7メッセージを送信する必要がある場合は、MLLP 1.0の順序付けモードをOneToOne順序付けに設定できます。
MLLP 1.0エンドポイントをドキュメントに関連付ける場合は、「トランスポート・プロトコル・パラメータ」ダイアログ・ボックスの「詳細」タブで、アウトバウンド・メッセージについて次の順序付けモードから選択できます。
なし: メッセージはACKを待たずに順番にディスパッチされます。
OneToOne (デフォルト): メッセージは順番に送信されますが、ACKは管理番号の搬送を期待されません(相関は、ACK内の管理番号をチェックせずに行われます)。否定ACKの場合、メッセージ送信は肯定ACKが受信されるか再試行数が尽きる(この時点でメッセージはエラー状態になります)まで再試行されます。
OneToOneMapping: メッセージは順番に送信されますが、適切な相関を行うためにACKは管理番号を搬送する必要があります。管理番号は、ACKを送信済メッセージに相関付けるために使用されます。
図4-10は、アウトバウンド・メッセージで使用可能な順序付けモードを示しています。
注意: 「HL7確認の破棄」チェック・ボックスに選択した値は、ACKペイロードが持続するかどうかを示します。これは、即時確認および確認の破棄の場合にのみ適用されます。チェック・ボックスを選択解除すると、ペイロードの持続によるデータベース層でのI/O負荷が軽減されます。 |
トランスポート・プロトコルとそれに対応する交換プロトコルの詳細は、Oracle Fusion Middleware Oracle B2Bユーザーズ・ガイドの第5章、取引パートナの構成の項の、表5-3のトランスポート・プロトコル・パラメータおよび表5-5の交換プロトコル・パラメータを参照してください。
単一方向エンドポイントの場合:
「トランスポートの詳細」ボタンをクリックすると「トランスポート・プロトコル・パラメータ」ダイアログ・ボックスが表示され、双方向エンドポイントの場合とは異なるパラメータのセットの入力を求められます。図4-11は、単一方向エンドポイントの「トランスポート・プロトコル・パラメータ」ダイアログ・ボックスを示しています。
トランスポート・プロトコルの詳細は、Oracle Fusion Middleware Oracle B2Bユーザーズ・ガイドの第5章、取引パートナの構成の項の、表5-3のトランスポート・プロトコル・パラメータを参照してください。
エンドポイントを削除するには、Oracle SOA Suite for healthcare integrationユーザー・インタフェースにログオンします。「設計」タブの「構成」タブで、エンドポイント名を選択し、「削除」アイコンをクリックします。エンドポイント名を右クリックし、ショートカット・メニューから「削除」をクリックすることもできます。
注意: 有効化されているエンドポイントは削除できません。削除する前に、エンド・ポイントを無効にする必要があります。 |
「エンドポイント」ウィンドウを使用して、既存のエンドポイントのリストを表示できます。また、「エンドポイント」ウィンドウを使用してエンドポイントを作成、変更または削除することもできます。このウィンドウでは、すべてまたは必要なエンドポイントを選択し、一括変更や削除などの必要な操作を実行することも可能です。
「エンドポイント」ウィンドウにアクセスするには:
Oracle SOA Suite for healthcare integrationユーザー・インタフェースにログオンします。
「設計」タブの「構成」タブで、「エンドポイント」フォルダをダブルクリックします。
図4-12はエンドポイント・ウィンドウを示しています。