エンタープライズへの適用 |
|
JMSとは、Java Messaging Serviceの略で、名前が示すとおり、Javaでメッセージングの機能を提供するAPIです(メッセージングそのものについては、「Webアプリケーションとホストを連携する手法を教えてください」に説明がありますのでそちらを参考にしてください)。
Javaでメッセージングの機能を実現するミドルウェアとしては、IBMのMQSeriesや、TIBCO SoftwareのTIB/Rendezvous、BEAのWebLogic JMS サービス、ProgressのSonicMQなどがあります。JMSが登場する以前は、これらのミドルウェア間には基本的にAPIの互換性はなく、各ベンダ独自のAPIを使用する必要がありました。そのことは、アプリケーションのコードにベンダ依存性を生じさせることになり、システムの移行などの際に、ポータビリティを損なう原因になります。
エンタープライズの分野において、特にホスト・メインフレームなどのレガシーシステムとの連携を行う場合には、メッセージングの機能は不可欠なものになりつつあるため、Javaの「Write Once,Run Anywhere」を保つための、標準的なAPIが望まれていました。
JMSは、J2EEに標準で含まれているAPIで、ほかのAPIと同様、メッセージング機能の実装に関するベンダ依存性をなくして、コードのポータビリティや相互運用性を高める(異なるベンダ間での通信など)という目的があります。ですから、既存のミドルウェア群も、J2EE互換認定を受けるために、JMS準拠の実装に変わってくるものと考えられます。J2EE 1.3(次期リリース)では、JMSの最新バージョンであるJMS 1.0.2がバンドルされます。
※J2EE 1.2では、JMSの実装までは要求されていませんでしたが、J2EE 1.3からは、J2EEの認定を受けるためには、JMSの実装も含めて提供する必要があるようです。
また、JMSを利用するうえで深いかかわりを持つのが、EJB 2.0で新たに登場した「Message Driven Bean」(メッセージ駆動型Bean)です。これは、メッセージングに対応したBeanで、メッセージの受信をトリガとして、特定メソッドを実行させることができます。このデザインは、いわゆるイベントモデルとよく似ており、イベントリスナと同じように、MessageListenerというインターフェイスを実装することで実現します。EJBにMessage Driven Beanが加わったことによって、J2EEのアーキテクチャにのっとってメッセージングを実装することが容易になったといえるでしょう。
「Java Solution FAQ」 |
- 実運用の障害対応時間比較に見る、ログ管理基盤の効果 (2017/5/9)
ログ基盤の構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。今回は、実案件を事例とし、ログ管理基盤の有用性を、障害対応時間比較も交えて紹介 - Chatwork、LINE、Netflixが進めるリアクティブシステムとは何か (2017/4/27)
「リアクティブ」に関連する幾つかの用語について解説し、リアクティブシステムを実現するためのライブラリを紹介します - Fluentd+Elasticsearch+Kibanaで作るログ基盤の概要と構築方法 (2017/4/6)
ログ基盤を実現するFluentd+Elasticsearch+Kibanaについて、構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。初回は、ログ基盤の構築、利用方法について - プログラミングとビルド、Androidアプリ開発、Javaの基礎知識 (2017/4/3)
初心者が、Java言語を使ったAndroidのスマホアプリ開発を通じてプログラミングとは何かを学ぶ連載。初回は、プログラミングとビルド、Androidアプリ開発、Javaに関する基礎知識を解説する。
|
|