![]() ![]() ![]() ![]() |
このチュートリアルでは、MedRec アプリケーションを MedRec サーバにデプロイして実行するために必要な WebLogic Server リソースをコンフィグレーションする方法を説明します。以下のリソースがあります。
このチュートリアルを始める前に、以下のことを行ってください。
次の手順に従って、MedRec サーバの WebLogic Server リソースをコンフィグレーションします。
Administration Console を使用して、MedRec アプリケーション スイートで使用する WebLogic Server リソースを作成します。
Administration Console は、Windows の [スタート] メニューから起動することもできます。
[スタートすべてのプログラム
BEA Products
User Projects
MedRecDomain
Admin Server Console]
WebLogic Server でデータベース接続をコンフィグレーションするには、JDBC データ ソースを WebLogic ドメインに追加します。データ ソースは、J2EE においてデータベース接続をコンフィグレーションするための標準的な手法です。データ ソースは、スタンドアロン モジュールとしてデプロイすることも、エンタープライズ アプリケーションの一部として、パッケージ化されたモジュールでデプロイすることもできます。
各 WebLogic データ ソースは、データベース接続のプールを保有しています。各アプリケーションは、JNDI ツリーまたはローカル アプリケーション コンテキストでデータ ソースをルックアップし、getConnection
メソッドを使用してデータベース接続を予約します。データ ソースおよびその接続プールは、システムの安定稼働を維持するための接続管理プロセスを備えています。
この手順では 2 つのスタンドアロンの JDBC データ ソースを作成する方法について説明します。最初のデータ ソースは XA JDBC ドライバを使用し、もう 1 つは使用しません。通常、データ ソースを作成するときに、必ず XA JDBC ドライバを使用します。ただし、JMS JDBC ストアが XA リソース ドライバをサポートしていないので (WebLogic JMS はそれ独自の XA リソースを実装する)、2 つ目の非 XA データ ソースが必要となります。後の方の手順で、非 XA データ ソースを JMS JDBC ストアに関連付ける方法を示します。
この JDBC データ ソースは JDBC ストアの作成に使用されます。データ ソースがグローバル トランザクションをサポートしないことが求められます。
テキスト フィールドの値は、指定した情報と PointBase のデフォルト値 (PointBase ドライバ クラス名の com.pointbase.jdbc.jdbcUniversalDriver
など) に基づいています。
[コンフィグレーションのテスト] をクリックして接続をテストします。データ ソースを適切にコンフィグレーションしている場合は、[メッセージ] ペインに「接続テストが成功しました。
」というメッセージが表示されます。
注意: | 必ず PointBase を起動しておきます。起動していないと、ドライバ コンフィグレーションのテストは失敗します。詳細については、「チュートリアル 2 : PointBase 開発データベースの起動」を参照してください。 |
新しいデータ ソースが [データ ソース] テーブルに表示されます。
テキスト フィールドの値は、指定した情報と PointBase のデフォルト値 (PointBase ドライバ クラス名の com.pointbase.xa.xaDataSource
など) に基づいています。
[コンフィグレーションのテスト] をクリックして接続をテストします。データ ソースを適切にコンフィグレーションしている場合は、[メッセージ] ペインに「接続テストが成功しました。
」というメッセージが表示されます。
注意: | 必ず PointBase を起動しておきます。起動していないと、ドライバ コンフィグレーションのテストは失敗します。詳細については、「チュートリアル 2 : PointBase 開発データベースの起動」を参照してください。 |
新しいデータ ソースが [データ ソース] テーブルに表示されます。
Web サービスの信頼性のあるメッセージング機能では、永続ストアを使用してメッセージを格納します。MedRec チュートリアルでは、ファイル ストアを使用してメッセージを格納する方法について説明します。次の手順で説明するように、JDBC ストアを使用することもできます。
注意: | WebLogic Web サービスの信頼性のあるメッセージングはサービス間の機能です。つまり、あるクライアント Web サービスが別の Web サービスを確実に呼び出します。通常、各 Web サービスは 2 つの異なる WebLogic Server インスタンスにデプロイされていて、各サーバ インスタンスには独自のストア アンド フォワード (SAF) エージェントと永続ストアがあります。ただし、このチュートリアルでは開発しやすいように単一サーバ ドメインを前提としているため、両方の Web サービスは同じサーバにデプロイされ、同じ SAF エージェントと永続ストアを使用します。 |
MedRecWseeFileStore
と入力します。MedRecServer
] を選択します。medrecWseeFileStore
と入力します。
永続ストアは、永続メッセージを格納するために使用します。この JMS JDBC ストアは、「手順 2 : スタンドアロンの JDBC データ ソースを作成する」で作成した非 XA データ ソースを使用します。
MedRecJMSJDBCStore
と入力します。MedRecServer
] を選択します。MedRecGlobalDataSource
] を選択します。MedRec
と入力します。
JMS サーバは、JMS クライアントで使用されるキューおよびトピック送り先のホストです。メッセージを送り先に永続的に格納するには、JMS サーバで JMS ストアをコンフィグレーションする必要があります。
MedRecJMSServer
と入力します。MedRecJMSJDBCStore
] を選択します。MedRecServer
] を選択します。MedRecWseeJMSServer
と入力します。MedRecWseeFileStore
] を選択します。MedRecServer
] を選択します。
JMS キューは、1 つの宛先にメッセージを配信することができるポイント ツー ポイント (PTP) メッセージング モデルに基づきます。キュー センダ (プロデューサ) では、特定のキューに対してメッセージを送信します。キュー レシーバ (コンシューマ) では、特定のキューからメッセージを受信します。
JMS キューをコンフィグレーションするには、以下の手順に示すように、最初にスタンドアロンの JMS モジュールを作成し、そのモジュールで JMS キューをコンフィグレーションします。
スタンドアロン JMS モジュールの一部であるキューに加えて、medrecEar
アプリケーションは、パッケージ化された JMS モジュールの一部としてコンフィグレーションされている以下の JMS キューを使用します。
これらのアプリケーション スコープの JMS キューは、最初に medrecEar
アプリケーションの weblogic-application.xml
デプロイメント記述子に登録され、その後で各 XML ファイルに記述されます。
MedRecServer
] を選択します。MedRecWseeJMSServer
と入力します。 MedRecWseeJMSServer
] を選択します。
ストア アンド フォワード (SAF) サービスを使用すると、WebLogic Server では、複数の WebLogic Server インスタンスに分散されているアプリケーション間でメッセージを確実に配信することができます。MedRec アプリケーションでは、SAF サービスは、信頼性のあるメッセージングがコンフィグレーションされている Web サービスによって、内部的に使用されます。
注意: | WebLogic Web サービスの信頼性のあるメッセージングはサービス間の機能です。つまり、あるクライアント Web サービスが別の Web サービスを確実に呼び出します。通常、各 Web サービスは 2 つの異なる WebLogic Server インスタンスにデプロイされていて、各サーバ インスタンスには独自の SAF エージェントと永続ストアがあります。ただし、このチュートリアルでは開発しやすいように単一サーバ ドメインを前提としているため、両方の Web サービスは同じサーバにデプロイされ、同じ SAF エージェントを使用します。 |
MedRecServer
] を選択します。
WebLogic Server には Sun Microsystems の JavaMail API バージョン 1.3 参照実装が含まれています。JavaMail API を使用すると、WebLogic Server アプリケーションに電子メール機能を追加できます。WebLogic Server で使用するために JavaMail をコンフィグレーションするには、WebLogic Server Administration Console でメール セッションを作成します。メール セッションを作成することで、あらかじめコンフィグレーションしておくセッション プロパティを使用して、サーバサイド コンポーネントとアプリケーションで JNDI を用いて JavaMail サービスにアクセスできるようになります。
mail/MedRecMailSession
と入力します。mail/MedRecMailSession
] をクリックします。MedRecServer
] を選択します。
MedRec カスタム DBMS 認証プロバイダは、コンフィグレーション済みの PointBase RDBMS から、指定されたユーザ名のログイン資格を取得します。このプロバイダ内でパスワードが検証され、正しければそのユーザのグループの関連付けが取得されます。
myrealm
エントリをクリックします。MedRecSampleAuthenticator
] をクリックします。
SUFFICIENT 制御フラグは LoginModule が成功する必要がないことを示します。成功した場合は、アプリケーションに制御が戻されます。ただし、成功しなかった場合、サーバは他のコンフィグレーション済み認証プロバイダを試します。
MedRecGlobalDataSourceXA
と入力します。com.bea.medrec.security.MedRecDBMSPlugin
と入力します。
プラグイン クラスは物理的には、「チュートリアル 1 : 開発用の WebLogic ドメインおよびサーバ インスタンスの作成」で WebLogic Server の CLASSPATH
に追加した MedRecDBMSPlugin.jar
ファイルにあります。
myrealm
エントリをクリックします。DefaultAuthenticator
] をクリックします。myrealm
エントリをクリックします。
WebLogic Server は使用可能な認証プロバイダを巡回するため、ログインが試行されるたび (たとえば、後続のチュートリアルで Administration Console にログインするたび) に PointBase データベースへの問い合わせが行われないように、この手順でプロバイダ リストを並べ替えます。
これらの変更を完全に有効にするには、MedRecServer を再起動する必要があります。詳細については、次のチュートリアル「チュートリアル 4 : WebLogic Server 開発モードの使用」を参照してください。
パフォーマンスを向上させ、かつコンフィグレーションをシンプルにするには、JMS メッセージをファイル システムに保持することをお勧めします。JMS サーバのホスト マシンではなくリモート データベースに永続メッセージを格納する場合は、JDBC JMS ストアを使用することをお勧めします。
MedRec アプリケーションでは、JMS を使用して新しい患者レコードを作成します。JMS は非同期の性質を持つため、ユーザが別のタスクを行っている間はタスクをキューに置き、別のタスクが完了した後でそのタスクを実行することができます。
新しい患者を登録するためにユーザが Web ページで [作成] をクリックすると、JMS メッセージが作成されて、アプリケーション スコープの REGISTRATION_MDB_QUEUE
JMS キューに置かれます。RegistrationEJB
メッセージ駆動型 Bean は、キューからメッセージを取り出し、PatientEJB
エンティティ Bean のインスタンスを使用して、新しい患者データをデータベースに永続化します。PatientEJB
エンティティ Bean は、JDBC データ ソースを使用して PointBase データベースに接続します。
MedRec アプリケーションは、他のエンティティ Bean を使用して、データベースに追加のデータを永続化します。詳細については、「患者、医師、および管理者のデータ」を参照してください。
MedRec アプリケーションでは永続的な JMS メッセージングを使用するため、キューに置かれた新しい患者の JMS メッセージは PointBase データベースにも格納されます。これにより、サーバのクラッシュなどの問題が発生した場合もメッセージを取得できるため、メッセージ駆動型 Bean によるメッセージ処理が可能です。PointBase データベースに接続して JMS テーブルを更新する場合は JMS JDBC ストアが使用されます。
medrecEar
アプリケーションには、physicianEar
アプリケーションが呼び出す 2 種類の Web サービス (信頼性のある Web サービスと信頼性のない Web サービス) があります。信頼性のある Web サービスはストア アンド フォワード エージェントとファイルストアを使用して、メッセージが確実に配信されることを内部的に保証しています。
WebLogic Server セキュリティ フレームワークは、患者の認証中に 3 つのコンフィグレーション済みプロバイダ (DefaultAuthenticator
、MedRecSamplesAuthenticator
、および DefaultIdentityAsserter
) を巡回します。
![]() ![]() ![]() |