WebSphere Application Server Version 6.1 Feature Pack for Web Services   
             オペレーティング・システム: AIX , HP-UX, i5/OS, Linux, Solaris, Windows, Windows Vista, z/OS

             目次と検索結果のパーソナライズ化

メッセージ駆動型 Bean を使用するエンタープライズ・アプリケーションの設計

このトピックでは、 メッセージ駆動型 Bean を使用するエンタープライズ・アプリケーションを設計する際の考慮事項を説明します。

このタスクについて

このトピックの考慮事項は、1 つのメッセージ駆動型 Bean を使って JMS キュー宛先からメッセージを検索し、ビジネス・ロジックをインプリメントしている別のエンタープライズ Bean に そのメッセージを渡す、一般的なエンタープライズ・アプリケーションに基づいています。

メッセージ駆動型 Bean を使用するエンタープライズ・アプリケーションを設計するには、 以下のステップを実行します。

プロシージャー

  1. メッセージ駆動型 Bean が処理するメッセージ・タイプのメッセージ・リスナー・インターフェースを識別します。 メッセージ駆動型 Bean クラスは、このメッセージ・リスナー・インターフェースをインプリメントする必要があります。例えば、JMS メッセージングに使用される EJB 2.1 メッセージ駆動型 Bean クラスは 、javax.jms.MessageListener インターフェースをインプリメントする必要があります。
  2. オプション: スケジュール済みの日時に、または指定した期間が経過した後でメッセージを処理する場合、時間ベースのメッセージに対処するスケジュール値およびビジネス・ロジックを識別します。 メッセージ駆動型 Bean は、時間ベースのイベント通知を行う EJB タイマー・サービスを用いて登録することができます。 メッセージが宛先に到着すると、メッセージ駆動型 Bean タイマーが開始されます。タイマーの有効期限が切れると、メッセージ駆動型 Bean が選択され、ejbTimeout() メソッドを処理します。 このメソッドは、このメッセージを処理するビジネス・ロジックをインプリメントします。
  3. アプリケーションが使用するリソースを識別します。 このステップは、アプリケーション内で使用しアプリケーション・デプロイメント記述子として構成する必要があるリソース、 あるいは WebSphere Application Server 内で使用する必要のあるリソースの、 プロパティーを識別するために役立ちます。
    JMS リソース・タイプ プロパティー (例)
    JMS 接続ファクトリー
    名前: SamplePtoPQueueConnectionFactory
    JNDI 名: Sample/JMS/QCF
    JMS 宛先
    名前: Q1
    JNDI 名: Sample/JMS/Q1
    
    J2C アクティベーション・スペックのプロパティー
    名前: MyMDBsActivationSpec
    JNDI 名: eis/MyMDBsActivationSpec
    宛先 JNDI 名: MyQueue
    宛先タイプ: javax.jms.Queue
    
    メッセージ駆動型 Bean (デプロイメント・プロパティー)
    名前: JMSppSampleMDBBean
    トランザクション・タイプ: Container
    メッセージ・セレクター: JMSType='car'
    応答モード: Dups OK Acknowledge
    宛先タイプ: javax.jms.Queue
    ActivationSpec JNDI 名: MyMDBsActivationSpec
    ビジネス・ロジック Bean
    名前: MyLogicBean

    必要に応じて、一貫性のある値を使用してください。 例えば、J2C アクティベーション・スペックの JNDI 名は、アクティベーション・スペックとメッセージ駆動型 Bean のデプロイメント・プロパティーの両方で同じでなければなりません。

  4. ビジネス・ロジックの分離 着信メッセージのビジネス・プロセスを、別のエンタープライズ Bean で代行するように メッセージ駆動型 Bean を開発することをお勧めします。そうすることにより、 メッセージ処理とビジネス・プロセスを明確に分離することができます。 さらに、ビジネス・プロセスを、着信メッセージの到着により呼び出したり、 あるいは WebSphere J2EE クライアントなどから呼び出したりすることができるようになります。
  5. [z/OS] 非永続サブスクリプションまたは永続サブスクリプションを使用する場合の影響を考慮してください。 パブリッシュ/サブスクライブ・メッセージングでは、z/OS スケーラブル・サーバーの WebSphere Application Server で トピックにメッセージ駆動型 Bean をマップする場合、 非永続サブスクリプションまたは永続サブスクリプションのどちらを選択するかは重要です。
    • 永続サブスクリプションを使用すると、メッセージはいったん各サーバーに配信されます。 サーバー内のサーバント全体で所定のメッセージにディスパッチされるメッセージ駆動型 Bean のインスタンスは、多くて 1 つです。
    • 非永続サブスクリプションを使用すると、メッセージはいったんサーバー内のサーバントに配信されます。 各サーバントにディスパッチされるメッセージ駆動型 Bean のインスタンスは、1 つです。

    構成の考慮事項について詳しくは、メッセージ駆動型 Bean のメッセージ・リスナー・リソースの構成 を参照してください。

  6. セキュリティーに関する考慮事項 リスナーが処理中の宛先に到着するメッセージは、クライアント信任状に関連付けられていません。 つまり、メッセージは匿名です。 セキュリティーは、メッセージ駆動型 Bean の RunAs ID が EJB コンポーネントとして指定する役割によって決まります。 EJB セキュリティーについて詳しくは、 EJB コンポーネント・セキュリティーを参照してください。
  7. トピック耐久性の考慮事項。 非永続サブスクライバーは、 そのサブスクライバーが作成されたときに存在していたものと同じトランザクション・コンテキスト (例えば、 グローバル・トランザクションまたは指定解除されたトランザクション・コンテキスト) でしか使用できません。 このコンテキストの制約事項について詳しくは、非永続的なサブスクライバーに対するトランザクション・コンテキストの影響を参照してください。
  8. デフォルトのメッセージング・プロバイダーによるベストエフォート非永続メッセージの破棄。 デフォルトのメッセージング・プロバイダーを使用するよう JMS 宛先 (キューまたはトピック) を構成する場合、 JMS 宛先が割り当てられるバス宛先にメッセージの最大の信頼性を構成することができます。 デフォルトのメッセージング・プロバイダーに構成された JMS 宛先を使用する非トランザクション JMS メッセージ駆動型 Bean と MessageListener の場合、 ベストエフォート非永続メッセージはリカバリー可能ではありません。 この場合、メッセージ駆動型 Bean または MessageListener が例外をスローしたためにメッセージがアンロックされると、メッセージはリスナーに渡されるときにメッセージ・ストアから削除され、例外宛先に再配信または送信されません。 非トランザクション JMS メッセージ駆動型 Bean と MessageListener のメッセージ信頼性を高めたい場合は、 バス宛先の最大信頼性プロパティーの別のオプションを構成する必要があります。



関連概念
メッセージ駆動型 Bean - 自動メッセージ検索
関連タスク
メッセージ駆動型 Bean を使用するエンタープライズ・アプリケーションの開発
メッセージ駆動型 Bean を JCA 1.5 準拠リソースに対して使用するためのエンタープライズ・アプリケーションのデプロイ
メッセージ駆動型 Bean を使用するためのプログラミング
タスク・トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 4:10:06 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.wsfep.multiplatform.doc/info/ae/ae/tmb_desap.html