magazine.gif Javaメッセージサービス

はじめに

1章 メッセージングパラダイムの理解

  • 1.1 エンタープライズメッセージング
    • 1.1.1 集中型アーキテクチャ
    • 1.1.2 分散型アーキテクチャ
    • 1.1.3 複合型アーキテクチャ
    • 1.1.4 モデルとしての集中型アーキテクチャ
  • 1.2 JMS
    • 1.2.1 メッセージングモデル:発行/購読型とポイントツーポイント型
  • 1.3 アプリケーションの例
    • 1.3.1 エンタープライズアプリケーションの統合
    • 1.3.2 B2B
    • 1.3.3 地理的な分散
    • 1.3.4 メッセージングとJMSを用いた動的システムの構築
  • 1.4 RPCと非同期メッセージング
    • 1.4.1 強い結合性を持つRPC
    • 1.4.2 エンタープライズメッセージング

2章 簡単な例の開発

  • 2.1 チャットアプリケーション
    • 2.1.1 チャット例題 ― はじめに
    • 2.1.2 ソースコードの説明
    • 2.1.3 セッションおよびスレッディング

3章 JMSメッセージの詳細

  • 3.1 ヘッダ
    • 3.1.1 自動的に割り当てられるヘッダ
    • 3.1.2 開発者が割り当てるヘッダ
  • 3.2 プロパティ
    • 3.2.1 アプリケーション指定によるプロパティ
    • 3.2.2 JMS定義によるプロパティ
    • 3.2.3 プロバイダ指定によるプロパティ
  • 3.3 メッセージセレクタ
    • 3.3.1 メッセージセレクタの例
  • 3.4 メッセージタイプ
    • 3.4.1 Message
    • 3.4.2 TextMessage
    • 3.4.3 ObjectMessage
    • 3.4.4 BytesMessage
    • 3.4.5 StreamMessage
    • 3.4.6 MapMessage
    • 3.4.7 読み取り専用メッセージ
    • 3.4.8 クライアント承認メッセージ
    • 3.4.9 メッセージの相互運用性と可搬性

4章 発行/購読型メッセージング

  • 4.1 B2Bアプリケーション入門
    • 4.1.1 B2Bアプリケーションの実行
    • 4.1.2 B2Bのソースコード
  • 4.2 テンポラリトピック
  • 4.3 継続購読
  • 4.4 永続メッセージの発行
    • 4.4.1 永続メッセージとテンポラリトピック
  • 4.5 JMSCorrelationID
  • 4.6 要求と応答
    • 4.6.1 TopicSubscriber.receive()
    • 4.6.2 TopicRequestor
  • 4.7 購読取消

5章 ポイントツーポイント型メッセージング

  • 5.1 ポイントツーポイント型と発行/購読型
    • 5.1.1 ポイントツーポイント型メッセージングの使用時期
  • 5.2 QWholesalerとQRetailer
    • 5.2.1 QRetailerクラス
    • 5.2.2 QWholesalerクラス
  • 5.3 キューの動的作成
  • 5.4 複数のキューセッションを用いた負荷分散
  • 5.5 キューの探索
    • 5.5.1 QWBrowserソースコード

6章 保証されたメッセージング、トランザクション、承認と失敗

  • 6.1 保証されたメッセージング
    • 6.1.1 メッセージの自律性
    • 6.1.2 ストアアンドフォワード方式メッセージング
    • 6.1.3 メッセージの承認およびエラー条件
  • 6.2 メッセージの承認
    • 6.2.1 AUTO_ACKNOWLEDGE
    • 6.2.2 DUPS_OK_ACKNOWLEDGE
    • 6.2.3 CLIENT_ACKNOWLEDGE
  • 6.3 メッセージグループと承認
    • 6.3.1 アプリケーションにおけるメッセージ再送の取り扱い
    • 6.3.2 QRetailerにおけるメッセージグループ
  • 6.4 トランザクション型メッセージ
    • 6.4.1 JMSトランザクションの生成と使用
    • 6.4.2 トランザクション型Retailerの例
    • 6.4.3 分散型トランザクション
  • 6.5 コネクションの切断
    • 6.5.1 WholesalerのExceptionListener化
  • 6.6 配信不能メッセージキュー

7章 配布にあたっての考察

  • 7.1 パフォーマンス、スケーラビリティ、信頼性
    • 7.1.1 メッセージスループット要件の決定
    • 7.1.2 実社会での使用を想定したテスト
  • 7.2 マルチキャストと非マルチキャスト
    • 7.2.1 TCP/IP
    • 7.2.2 UDP
    • 7.2.3 IPマルチキャスト
    • 7.2.4 IPマルチキャスト上でのメッセージング
    • 7.2.5 ボトムライン
  • 7.3 セキュリティ
    • 7.3.1 認証
    • 7.3.2 承認
    • 7.3.3 安全な通信
    • 7.3.4 ファイアウォールとHTTPトンネリング
  • 7.4 外部への接続
  • 7.5 他のメッセージングシステムへのブリッジ

8章 J2EE、EJBとJMS

  • 8.1 J2EEの概要
    • 8.1.1 EJB
    • 8.1.2 サーブレット
    • 8.1.3 JavaServer Pages
  • 8.2 J2EE:統合されたプラットフォーム
  • 8.3 J2EEにおけるJMSリソース
  • 8.4 EJB 2.0の新しいメッセージ駆動型Bean

9章 JMSプロバイダ

  • 9.1 IBM: MQシリーズ
  • 9.2 Progress: SonicMQ
  • 9.3 Fiorano: FioranoMQ
  • 9.4 Softwired: iBus
  • 9.5 Sun Microsystems: Java Message Queue
  • 9.6 BEA: WebLogic Server
  • 9.7 ExoLab: OpenJMS

付録A JMS API

  • A.1 共通の機能
    • A.1.1 BytesMessage
    • A.1.2 Connection
    • A.1.3 ConnectionFactory
    • A.1.4 ConnectionMetaData
    • A.1.5 DeliveryMode
    • A.1.6 Destination
    • A.1.7 ExceptionListener
    • A.1.8 JMSException
    • A.1.9 MapMessage
    • A.1.10 Message
    • A.1.11 MessageConsumer
    • A.1.12 MessageListener
    • A.1.13 MessageProducer
    • A.1.14 ObjectMessage
    • A.1.15 Session
    • A.1.16 StreamMessage
    • A.1.17 TextMessage
  • A.2 ポイントツーポイントAPI
    • A.2.1 Queue
    • A.2.2 QueueBrowser
    • A.2.3 QueueConnection
    • A.2.4 QueueConnectionFactory
    • A.2.5 QueueReceiver
    • A.2.6 QueueSender
    • A.2.7 QueueSession
    • A.2.8 TemporaryQueue
  • A.3 発行/購読型 API
    • A.3.1 TemporaryTopic
    • A.3.2 Topic
    • A.3.3 TopicConnection
    • A.3.4 TopicConnectionFactory
    • A.3.5 TopicPublisher
    • A.3.6 TopicSession
    • A.3.7 TopicSubscriber

付録B メッセージヘッダ

  • B.1 JMSDestination
  • B.2 JMSDeliveryMode
  • B.3 JMSMessageID
  • B.4 JMSTimestamp
  • B.5 JMSExpiration
  • B.6 JMSRedelivered
  • B.7 JMSPriority
  • B.8 JMSReplyTo
  • B.9 JMSCorrelationID
  • B.10 JMSType

付録C メッセージプロパティ

  • C.1 プロパティ名
  • C.2 プロパティ値
  • C.3 読み出し専用プロパティ
  • C.4 プロパティ値の変換
  • C.5 存在しないプロパティ
  • C.6 プロパティの繰り返し
  • C.7 JMS定義によるプロパティ
  • C.7.1 JMS定義によるプロパティのオプション
  • C.7.2 JMS定義によるグループプロパティ
  • C.8 プロバイダ指定によるプロパティ

付録D メッセージセレクタ

  • D.1 識別子
  • D.2 リテラル
  • D.3 比較演算子
  • D.4 算術演算子
  • D.5 メッセージセレクタの宣言
  • D.6 配信されない場合

謝辞のようなあとがき
索引