この章では、Oracle SOA Suiteコンポジットでヘルスケア統合コンポーネントの使用を可能にするOracle Healthcareアダプタについて説明します。このアダプタは、Oracle JDeveloper環境で使用されます。
この章には次のトピックが含まれます:
Oracle Healthcare Adapterではhealthcare integrationバインディング・コンポーネントをSOAコンポジット・アプリケーションに追加して、登録アプリケーションで生成された管理情報のラボラトリ・システムへの送信など、エンドツーエンドのプロセスを作成できます。Healthcare Adapterでは、SOAコンポジット・アプリケーションと外部のHealthcareアプリケーションとの間で送信されるドキュメントのタイプを定めます。お使いのコンポジット・アプリケーションでは、BPELプロセス、Oracle Mediatorコンポーネント、各種のアダプタなど、その他のSOA Suiteも使用できます。
コンポジットに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接続を使用してドキュメント定義が取得されます。 |
Healthcare構成ウィザードが完了すると、新しいhealthcare integrationサービスまたは参照がコンポジット・アプリケーションに追加され、対応するWSDLファイルが生成されます。WSDLファイルでは、スキーマ、メッセージ、ドキュメント定義、WebLogic Managed Server、アプリケーション・サーバーへの接続が定義されます。サービスまたは参照をOracle BPELプロセスまたはOracle Mediatorコンポーネントに接続すると、Oracle BPELプロセスまたはOracle Mediatorコンポーネントでhealthcare integrationの正規化されたメッセージ・プロパティを使用できるようになるため、エンドポイント、メッセージ・タイプ、メッセージID、ドキュメント・タイプ、プロトコルなどを指定してHealthcareアプリケーションを詳細に構成できます。
注意: コンポジット・アプリケーションをヘルスケア統合エンドポイントに接続するには、ヘルスケア・アダプタがサービスとして定義されている場合はhc.fromEndpoint正規化されたメッセージ・プロパティの値を指定する必要があり、ヘルスケア・アダプタが参照として定義されている場合は、hc.toEndpoint正規化されたメッセージ・プロパティの値を指定する必要があります。 |
HealthcareアダプタでSOAコンポジット・アプリケーションを作成するには、指定された順序で次の手順を実行します。
ヘルスケア統合エンドポイントを作成して有効化します(第4章「エンドポイントの操作」を参照)。
Healthcare Adapterを使用してhealthcare integrationバインディング・コンポーネントを既存のJDeveloperプロジェクトに追加し、SOA Suiteと外部のHealthcareシステムとの通信を有効にできます。まず、アプリケーションとプロジェクトを作成する必要があります。
SOAコンポジット・アプリケーションの作成の詳細は、Oracle Fusion Middleware Oracle SOA Suite開発者ガイドを参照してください。
始める前に
アプリケーションとプロジェクトを作成する前に、次のガイドラインを確認してください。
アプリケーション名にスペースを使用しないでください。
空白があるディレクトリ・パスにアプリケーションおよびプロジェクトを作成することはできません(例: 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アプリケーションの作成ウィザードが表示されます。
アプリケーション・ページの「名前」では、必要に応じてプロジェクトの名前および場所を変更できます。このアプリケーションが最初のアプリケーションである場合は、「アプリケーション・テンプレート」から「SOAアプリケーション」を選択します。パッケージ接頭辞のデフォルトをそのまま使用して、「次」をクリックします。
プロジェクト・ページの「名前」では、必要に応じてSOAプロジェクトの名前および場所を変更できます。デフォルトでは、SOAプロジェクト・テクノロジ、生成されるcomposite.xml
および必要なライブラリは、Oracle JDeveloperによりモデル・プロジェクトに追加されます。「次」をクリックします。
SOAアプリケーションの作成ウィザードのプロジェクトSOA設定ページが表示されます。
SOA設定の構成ページで、「空のコンポジット」をクリックし、「終了」をクリックします。
ヘルスケア統合バインディング・コンポーネントを公開サービス(インバウンド)または外部参照(アウトバウンド)として追加して、ヘルスケア・システムへの接続を定義できます。
Oracle Healthcareでは、Healthcareアダプタとの次の統合がサポートされています。
Healthcare構成ウィザードを使用して、ファブリック統合バインディング・コンポーネントを追加できます。
始める前に:
Oracle SOAプロジェクトにhealthcare integrationバインディング・コンポーネントを追加する前に、healthcare integrationユーザー・インタフェースで必要なコンポーネントが作成されていることを確認します。たとえば、プロジェクトで使用するドキュメント定義やエンドポイントが作成および構成されていることを確認します。
ファブリック・ヘルスケア統合バインディング・コンポーネントを追加するには
コンポーネント・パレットで、「SOA」を選択します。
「サービス・アダプタ」にスクロールして「Healthcareアダプタ」を「公開されたサービス」または「外部参照」スイム・レーンにドラッグします。
インバウンド・メッセージを受信するには、アダプタを「公開されたサービス」にドラッグします。
アウトバウンド・メッセージを送信するには、アダプタを「外部参照」にドラッグします。
Healthcare構成ウィザードが表示されます。
Healthcare構成ウィザードのようこそページで、「次」をクリックします。
サービス名ページが表示されます。
図2-1に示すように、Healthcareサービスの名前を入力して「次」をクリックします。
Healthcare統合型ページが表示されます。
図2-2に示すように、「デフォルト」を選択して「次」をクリックします。
アプリケーション・サーバー接続ページが表示されます。
「アプリケーション・サーバー接続」リストからアプリケーション・サーバー接続を選択し、「次」をクリックします。
「新規」をクリックして、アプリケーション・サーバー接続を作成します。アプリケーション・サーバー接続の作成ウィザードに従ってください。
接続が確立されると、図2-3に示すようにユーザー名とホスト名がSOAサーバー名とともに表示されます。
アプリケーション・サーバーへの接続を確認するには、「Healthcareのテスト」をクリックしてから表示されたダイアログで「OK」をクリックします。
「次」をクリックします。
図2-4に示すように操作ページが表示されます。
「次」をクリックします。
ドキュメント定義の処理ページが表示されます。
(Oracle SOA Suite for healthcare integrationからスキーマをインポートするための)デフォルトをそのまま使用するか、表2-3および図2-5に示すように「詳細」タブでいずれかのオプションを選択します。
「次」をクリックします。
ドキュメント定義ページが表示されます。
図2-6に示すように、ツリーを展開してドキュメント定義を選択します。
表2-2でページのその他のオプションについて説明します。
表2-2 ドキュメント定義ページのオプション
「次」をクリックします。
複数のルート要素があるドキュメント定義を選択した場合は、ルート要素ページが表示されます。使用するルート要素を選択して「OK」をクリックします。
Healthcare構成ウィザードを使用して、ファブリック統合バインディング・コンポーネントを追加できます。
始める前に:
Oracle SOAプロジェクトにhealthcare integrationバインディング・コンポーネントを追加する前に、healthcare integrationユーザー・インタフェースで必要なコンポーネントが作成されていることを確認します。たとえば、プロジェクトで使用するドキュメント定義やエンドポイントが作成および構成されていることを確認します。
JMS ヘルスケア統合バインディング・コンポーネントを追加するには
2.2.2.1項「デフォルト(ファブリック)統合バインディング・コンポーネントの追加」の手順1から3を繰り返します。
「サービス・アダプタ」にスクロールして「Healthcareアダプタ」を「公開されたサービス」または「外部参照」スイム・レーンにドラッグします。
インバウンド・メッセージを受信するには、アダプタを「公開されたサービス」にドラッグします。
アウトバウンド・メッセージを送信するには、アダプタを「外部参照」にドラッグします。
Healthcare構成ウィザードが表示されます。
Healthcare構成ウィザードのようこそページで、「次」をクリックします。
サービス名ページが表示されます。
図2-7に示すように、Healthcareサービスの名前を入力して(インバウンド・メッセージを受信するにはsay hcfp_Inbound)「次」をクリックします。
Healthcare統合型ページが表示されます。
図2-2に示すように、「JMS」を選択して「次」をクリックします。
アプリケーション・サーバー接続ページが表示されます。
2.2.2.1項「デフォルト(ファブリック)統合バインディング・コンポーネントの追加」の手順6から8を繰り返します。
操作ページで、アウトバウンド・メッセージの場合は「送信」、インバウンド・メッセージの場合は「受信」を選択します。この場合、図2-9に示すように「受信」を選択します。
「次」をクリックします。
ドキュメント定義の処理ページが表示されます。
2.2.2.1項「デフォルト(ファブリック)統合バインディング・コンポーネントの追加」の手順11から16を繰り返します。
JMSプロバイダ・ページで図2-10に示すように、Oracle Enterprise Messaging Service (OEMS)リストから「Oracle Weblogic JMS」を選択して「次」をクリックします。
サービス接続ページが表示されます。
AppServer接続リストからアプリケーション・サーバー接続を選択して、(またはプラス・アイコンをクリックし、アプリケーション・サーバー接続の作成ウィザードを使用して接続を作成して)「次」をクリックします。
消費操作のパラメータ・ページが表示されます。
「参照」ボタンをクリックして「宛先の選択」ダイアログを表示します。
リストから必要な宛先名を選択します。この場合、jms/b2b/B2B_IN_QUEUE (インバウンド・メッセージを受信するには)を選択して「OK」をクリックし、消費操作のパラメータ・ページに戻ります。「JNDI名」フィールドにはすでに移入されています。
図2-11に示すように「次」をクリックします。
注意: 操作ページで「受信」を選択した場合、消費操作が事前に選択されて消費操作のパラメータ・ページが表示されます。 同様に、操作ページで「送信」を選択した場合、発行操作が事前に選択されて発行操作のパラメータ・ページが表示されます。送信操作の場合、次の図に示すように、宛先B2B_OUT_QUEUEを選択する必要があります。 図hc_wizard1_jms6.gifの説明 |
Healthcare構成ウィザードでは、Oracle SOA Suite for healthcare integrationのドキュメント定義を作成中のアダプタに関連付けることができます。ドキュメント定義をコンポジットに関連付ける方法および検証にスキーマ定義(XSD)ファイルが必要かどうかを指定できます。表2-3で、ドキュメント定義を処理するためのオプションについて説明します。
表2-3 ドキュメント定義の処理の高度なオプション
SOAアプリケーションとプロジェクトを作成したら、ビジネス・ロジックやアプリケーションの処理ルールを実装するサービス・コンポーネントを追加できます。
プロジェクトにサービス・コンポーネントを追加するには
コンポーネント・パレットで、「SOA」を選択します。
「サービス・コンポーネント」リストから、コンポーネントをデザイナにドラッグします。
図2-12に、デザイナに追加したBPELプロセスを示します。
選択したサービス・コンポーネントに固有のダイアログが表示されます。表2-4で使用可能なダイアログについて説明します。
表2-4 サービス・コンポーネント・エディタの開始
ドラッグするサービス・コンポーネント | 起動されるダイアログ |
---|---|
「BPELプロセスの作成」ダイアログが開きます。このダイアログで、一連のビジネス・アクティビティおよびサービスをエンドツーエンドのプロセス・フローに統合するBPELプロセスを作成します。 |
|
「ビジネス・ルールの作成」ダイアログが開きます。このダイアログで、ルールに基づいてビジネス・デシジョンを作成します。 |
|
「ヒューマン・タスクの作成」ダイアログが開きます。このダイアログで、ユーザーまたはグループがエンドツーエンドのプロセス・フローの一環として実行するタスクを記述するワークフローを作成します。 |
|
「メディエータの作成」ダイアログが開きます。このダイアログで、メッセージやイベントのルーティング、フィルタおよびトランスフォーメーションを実行するサービスを定義します。 |
サービス・コンポーネントの設定を構成します。サービス・コンポーネントのダイアログに関するヘルプは、「ヘルプ」をクリックするか、[F1]を押します。
コンポーネントを構成する際、表2-5に表示されているいずれかの正規化されたメッセージ・プロパティを定義します。hc.fromEndpointおよびhc.toEndpointは定義する必要があり、ヘルスケア統合ユーザー・インタフェースで定義されたエンドポイントに対応する必要があります。
表2-5 ヘルスケア統合の正規化されたメッセージ・プロパティ
hc.documentDefinitionName |
ドキュメント定義の名前。例: ADT_A03_def。 |
hc.documentProtocolName |
ドキュメント定義に関連付けられたプロトコルの名前。例: HL7。 |
hc.documentProtocolVersion |
ドキュメント定義に関連付けられた上のプロトコルのバージョン。例: HL7ドキュメントの場合は2.3.1。 |
hc.documentTypeName |
ドキュメント定義に関連付けられたドキュメント・タイプ。例: HL7ドキュメントの場合はADT_A03。 |
hc.fromEndpoint |
送信アプリケーションのエンドポイントの名前。この名前は、ヘルスケア統合ユーザー・インタフェースのエンドポイント構成で定義されます。 |
hc.messageId |
一意のメッセージID。 |
hc.messageType |
メッセージ・タイプの値には、次のいずれかのオプションを指定できます。
|
hc.replyToMessageId |
送信メッセージの応答先のメッセージID。 |
hc.toEndpoint |
受信アプリケーションのエンドポイントの名前。この名前は、ヘルスケア統合ユーザー・インタフェースのエンドポイント構成で定義されます。 |
設定の構成が完了したら、「OK」をクリックします。
「ファイル」メイン・メニューから「すべて保存」を選択します。
サービス・コンポーネントの追加の詳細は、Oracle Fusion Middleware Oracle SOA Suite開発者ガイドを参照してください。