2 Oracle Healthcareアダプタでの作業
この章では、Oracle SOA Suiteコンポジットでヘルスケア統合コンポーネントの使用を可能にするOracle Healthcareアダプタについて説明します。このアダプタは、Oracle JDeveloper環境で使用されます。
この章の内容は次のとおりです。
2.1 Oracle Healthcareアダプタの概要
Oracle Healthcare Adapterではhealthcare integrationバインディング・コンポーネントをSOAコンポジット・アプリケーションに追加して、登録アプリケーションで生成された管理情報のラボラトリ・システムへの送信など、エンドツーエンドのプロセスを作成できます。
Healthcare Adapterでは、SOAコンポジット・アプリケーションと外部のHealthcareアプリケーションとの間で送信されるドキュメントのタイプを定めます。お使いのコンポジット・アプリケーションでは、BPELプロセス、Oracle Mediatorコンポーネント、各種のアダプタなど、その他のSOA Suiteも使用できます。
2.1.1 Healthcare構成ウィザード
コンポジットにHealthcare Adapterを追加すると、Oracle JDeveloperでHealthcare構成ウィザードが起動します。このウィザードでは、次のようにSOAコンポジット・アプリケーションでhealthcare integrationバインディング・コンポーネントを作成および構成できます。
-
このコンポーネントは、外部システムからのメッセージを受信してSOAコンポジット・アプリケーションに送信するためのサービス(インバウンド)として使用されます。Oracle SOA Suite for healthcare integrationはSOAコンポジット・アプリケーションのエントリ・ポイントです。
-
このコンポーネントは、SOAコンポジット・アプリケーションからのメッセージを外部アプリケーションに送信するための参照(アウトバウンド)として使用されます。
Healthcare構成ウィザードのステップに従っていくと、Oracle SOA Suite for healthcare integrationで作成されたドキュメント定義などのコンポーネントを選択するよう求められます。まだ適切なドキュメント定義がない場合は、ウィザードからOracle SOA Suite for healthcare integrationを起動してドキュメント定義を作成することもできます。
注意:
ミドルウェア(ヘルスケア統合Webサービス)でSSLが有効になっている場合、Healthcare構成ウィザードでSSLポートが検出され、SSL接続を使用してドキュメント定義が取得されます。
2.1.2 SOAコンポジットにHealthcareアダプタを追加するとどうなるか
Healthcare構成ウィザードが完了すると、新しいhealthcare integrationサービスまたは参照がコンポジット・アプリケーションに追加され、対応するWSDLファイルが生成されます。WSDLファイルでは、スキーマ、メッセージ、ドキュメント定義、WebLogic Managed Server、アプリケーション・サーバーへの接続が定義されます。サービスまたは参照をOracle BPELプロセスまたはOracle Mediatorコンポーネントに接続すると、Oracle BPELプロセスまたはOracle Mediatorコンポーネントでhealthcare integrationの正規化されたメッセージ・プロパティを使用できるようになるため、エンドポイント、メッセージ・タイプ、メッセージID、ドキュメント・タイプ、プロトコルなどを指定してHealthcareアプリケーションを詳細に構成できます。
注意:
コンポジット・アプリケーションをヘルスケア統合エンドポイントに接続するには、ヘルスケア・アダプタがサービスとして定義されている場合はhc.fromEndpoint正規化されたメッセージ・プロパティの値を指定する必要があり、ヘルスケア・アダプタが参照として定義されている場合は、hc.toEndpoint正規化されたメッセージ・プロパティの値を指定する必要があります。
2.2 SOAコンポジット・アプリケーションでのHealthcareアダプタの使用方法
この項には、Healthcareアダプタを使用してSOAコンポジット・アプリケーションを作成するステップが含まれています。
-
ヘルスケア統合エンドポイントを作成して有効化します(「エンドポイントの操作」を参照)。
2.2.1 SOAアプリケーションおよびプロジェクトの作成
Healthcare Adapterを使用してhealthcare integrationバインディング・コンポーネントを既存のJDeveloperプロジェクトに追加し、SOA Suiteと外部のHealthcareシステムとの通信を有効にできます。まず、アプリケーションとプロジェクトを作成する必要があります。
SOAコンポジット・アプリケーションの作成の詳細は、Oracle SOA SuiteでのSOAアプリケーションの開発のSOAアプリケーションの作成に関する項を参照してください。
始める前に
アプリケーションとプロジェクトを作成する前に、次のガイドラインを確認してください。
-
アプリケーション名にスペースを使用しないでください。
-
空白があるディレクトリ・パスにアプリケーションおよびプロジェクトを作成することはできません(例:
c:\Program Files
)。 -
UNIXオペレーティング・システムでは、環境変数
LANG
およびLC_All
をUTF-8キャラクタ・セットを備えたロケールに設定して、Unicodeサポートを有効にすることをお薦めします。これにより、Unicodeのすべての文字が処理できるようになります。SOAテクノロジはUnicodeに基づいています。オペレーティング・システムがUTF-8以外のエンコーディングを使用するように構成されている場合は、SOAコンポーネントが想定とは異なって機能する可能性があります。Oracle JDeveloper設計時環境でUnicodeサポートを有効にするには、「ツール」→「プリファレンス」→「環境」→「エンコーディング」→「UTF-8」を選択します。この設定は、実行時の環境にも適用可能です。
-
コンポジット名およびコンポーネント名は、500文字以下にする必要があります。
-
同じインフラストラクチャにデプロイされるプロジェクトは、すべてのSOAコンポジット・アプリケーション全体で一意の名前である必要があります。コンポジットの一意性はプロジェクト名で判断されます。たとえば、Project1というプロジェクトを2つの異なるアプリケーションで作成しないでください。デプロイ時に、2番目にデプロイされたプロジェクト(コンポジット)で最初にデプロイされたプロジェクト(コンポジット)が上書きされます。
SOAアプリケーションおよびプロジェクトを作成するには
-
Oracle JDeveloper Studio Editionを起動します。
注意:
Oracle JDeveloperを初めて起動している場合は、Java JDKの場所を指定します。
-
表2-1の説明に従って、SOAコンポジット・アプリケーションを作成します。
表2-1 SOAコンポジット・アプリケーションの作成
Oracle JDeveloperの状態 結果 アプリケーションがない
例: Oracle JDeveloperを初めて開いている場合。
左上部のアプリケーション・ナビゲータで、「新規アプリケーション」をクリックします。
既存のアプリケーションがある
「ファイル」メイン・メニューまたは「アプリケーション」メニューを使用します。
-
「新規」→「アプリケーション」を選択します。
別のアプリケーション・コンポジットの作成を選択できる「新規ギャラリ」が開きます。
-
「カテゴリ」ツリーの「一般」ノードで「アプリケーション」を選択します。「アイテム」ペインで「SOAアプリケーション」を選択し、「OK」をクリックします。
SOAアプリケーションの作成ウィザードが表示されます。
-
-
アプリケーション・ページの「名前」では、必要に応じてプロジェクトの名前および場所を変更できます。このアプリケーションが最初のアプリケーションである場合は、「アプリケーション・テンプレート」から「SOAアプリケーション」を選択します。パッケージ接頭辞のデフォルトをそのまま使用して、「次」をクリックします。
-
プロジェクト・ページの「名前」では、必要に応じてSOAプロジェクトの名前および場所を変更できます。デフォルトでは、SOAプロジェクト・テクノロジ、生成される
composite.xml
および必要なライブラリは、Oracle JDeveloperによりモデル・プロジェクトに追加されます。「次」をクリックします。SOAアプリケーションの作成ウィザードのプロジェクトSOA設定ページが表示されます。
-
SOA設定の構成ページで、「空のコンポジット」をクリックし、「終了」をクリックします。
-
「ファイル」メイン・メニューから「すべて保存」を選択します。
2.2.2 ヘルスケア統合バインディング・コンポーネントの追加
ヘルスケア統合バインディング・コンポーネントを公開サービス(インバウンド)または外部参照(アウトバウンド)として追加して、ヘルスケア・システムへの接続を定義できます。
Oracle Healthcareでは、Healthcareアダプタとの次の統合がサポートされています。
2.2.2.1 デフォルト(ファブリック)統合バインディング・コンポーネントの追加
Healthcare構成ウィザードを使用して、ファブリック統合バインディング・コンポーネントを追加できます。
始める前に:
Oracle SOAプロジェクトにhealthcare integrationバインディング・コンポーネントを追加する前に、healthcare integrationユーザー・インタフェースで必要なコンポーネントが作成されていることを確認します。たとえば、プロジェクトで使用するドキュメント定義やエンドポイントが作成および構成されていることを確認します。
ファブリック・ヘルスケア統合バインディング・コンポーネントを追加するには
2.2.2.2 JMS統合バインディング・コンポーネントの追加
Healthcare構成ウィザードを使用して、ファブリック統合バインディング・コンポーネントを追加できます。
始める前に:
Oracle SOAプロジェクトにhealthcare integrationバインディング・コンポーネントを追加する前に、healthcare integrationユーザー・インタフェースで必要なコンポーネントが作成されていることを確認します。たとえば、プロジェクトで使用するドキュメント定義やエンドポイントが作成および構成されていることを確認します。
JMS ヘルスケア統合バインディング・コンポーネントを追加するには
2.2.2.3 Healthcare構成ウィザードのドキュメント定義の処理
Healthcare構成ウィザードでは、Oracle SOA Suite for healthcare integrationのドキュメント定義を作成中のアダプタに関連付けることができます。ドキュメント定義をコンポジットに関連付ける方法および検証にスキーマ定義(XSD)ファイルが必要かどうかを指定できます。表2-3で、ドキュメント定義を処理するためのオプションについて説明します。
表2-3 ドキュメント定義の処理の高度なオプション
オプション | 説明 |
---|---|
Healthcareからスキーマをインポート |
Oracle SOA Suite for healthcare integrationからスキーマをインポートします。このオプションでは、XSDファイルをプロジェクト・ディレクトリにコピーして、実行時に利用できるようにします。従属ファイルがある場合は、同じディレクトリ構造を保持して、それらを手動でプロジェクトにコピーする必要があります。 |
HLリポジトリでスキーマを参照 |
既存のメタデータ・サービス(MDS)接続を使用するか、使用する新しい接続を作成できます。既存のサービスを選択するか、新しいMDS接続を作成します。新しいMDS接続を作成する場合、MDS接続ウィザードが表示され、接続を定義できます。この接続は、Oracle SOA Suite for healthcare integrationリポジトリにアクセスするために必要です。ドキュメント定義を選択すると、MDSにリンクするURLが生成されます。 選択したアプリケーション・サーバー接続は、特定のOracle SOA Suite for healthcare integrationインスタンスを参照します。インスタンスによって使用されるMDS接続は、ドキュメント定義が矛盾しないように、選択したMDS接続と一致している必要があります。 Oracle SOA Suite for healthcare integrationリポジトリ内のスキーマを参照するとき、MDS接続はリモートMDS内のスキーマを参照する場合にのみ必要であり、ローカル共有MDSリポジトリ内でスキーマを参照する場合は必要ありません。 |
リソース・スキーマの参照 |
SOAリソース・ブラウザを使用してスキーマを参照します。このオプションを選択して「スキーマの参照」ボタンをクリックすると、「タイプ・チューザ」ダイアログが開きます。ツリーを展開してタイプを選択し、ドキュメント定義の処理ページに戻ります。 |
不透明 |
コンテンツがbase-64エンコーディングで渡される場合に、あらゆるタイプのデータ(例: 位置指定フラット・ファイル)を処理します。スキーマを指定する必要はありません。 |
anyType |
あらゆるタイプのXMLデータを処理します。スキーマを指定する必要はありません。 |