ObectSquare

[JavaOne 2001 Japan 特集]




Javaを取り巻く「メッセージング」事情



私は、今回のJavaOneでは「メッセージング」に着目して徘徊してみました。
メッセージ連携, MOM(Message Oriented Middleware)という技術は決して新しいものではなく、MQSeries(WebSphere MQに名称変更)を筆頭にメインフレームのアプリケーション連携でも用いられてきた技術です。
ここにきてクライアントとサーバのボーダレス化が急速に進む中で、「メッセージング」は古くて新しい技術として有望だと思われます。クライアントがサーバに仕事を頼むスタイルのシステムでは、CORBAなどRPCベースの同期的なやりとり(サーバからの結果が返るまでクライアント処理はブロック)が使用されてきました。しかし、サーバ間連携が増えてくると疎結合が必要になってきます。
そこで有効なのが「メッセージング」の非同期性です。


Javaの「メッセージング」仕様としては、JMS(Java Message Service)があります。
私が参加した [ TS-3403: J2EEおよびJavaのメッセージサービスAPI ] セッションでは、JMSはJ2EE1.3からは必須のコンポーネントとなったことが解説されていました。
J2EE 1.3に含まれるEJB 2.0の目玉の1つとしてMessageDrivenBeanが導入されていますが、このBeanはJMSメッセージを処理するためのものです。
このセッションには200名程の参加者がいました。国内でもJ2EE 1.3準拠のアプリケーションサーバ製品が続々とリリースされていることもあって、JMSを理解しておきたいというニーズがあったのでしょう。また、SonicMQなどJMSの実装に注力した製品もリリースされているので、JMSだけで利用することも勿論可能です。
今後の仕様化動向としては、JCA(J2EE Connector Architecture) に双方向の非同期性をもたせて、J2EEサーバ内のJMSも取り替え可能にしようということを考えているとのことでした。


Javaのもう1つの「メッセージング」仕様として、JAXM(Java API for XML Messaging)があります。JAXMは、SOAPベースでXMLメッセージを取り交わすためのAPIです。私は残念ながら初日のJAXMのセッション[ TS-1247 ]は参加できませんでしたが、[TS-3403]セッションで前からの疑問を解決できました。
それは、JMSにXMLに関する仕様を追加するのではなく、なぜJAXMという仕様を新たに策定したか? 将来的にはJAXMはJMSに取って変わるのか? という疑問です。
答えは、JMSは既存のMOM同様に信頼性の高いEnterpriseメッセージを対象としているのに対し、JAXMはSOAPベースのWebメッセージ(信頼性は低い)を対象としているためということでした。1つのAPIに統合できれば良かったが、現在は両者の違いがあまりに大きいため敢えて別のAPIとしたそうです。

Javaと相性の良いCORBAですが先に同期通信の代表格のように書きましたが、実はCORBAも2.4というバージョン以降では非同期通信をサポートしています。
また国産Java ORBとして有名なHORBも拡張パッケージとしてメッセージングサービスを公開していることを [ BOF-31 HORBに関する熱いトーク ] に参加して知りました。
さらに、[ TS-2445 ]などでも取上げられていたJXTAなどクライアントとサーバの垣根を完全に取り払ったP2P(Peer-to-Peer)型の通信インフラも登場しています。

「メッセージング」だけに着目しても実り多きJavaOneだったと思います。
「メッセージング」に追い風が吹いていることは確かなようですが、果たして3年後まで生き残るのはどの技術なのでしょうか?



≪関連 URL≫
・JMS仕様 https://java.sun.com/j2ee/ja/jms/
・JAXM仕様 https://java.sun.com/xml/jaxm/index.html
・JSR 112(JCA 2.0) https://jcp.org/jsr/detail/112.jsp
・MQSeriesファミリー https://www.ibm.com/jp/software/mqseries/
・SonicMQ https://www.sonicsoftware.com/
・HORB Messaging Service https://horb.etl.go.jp/ext/msgq/doc/index.html
・JXTA https://www.jxta.org/

(株)オージス総研 正田 塁




© 2001 OGIS-RI Co., Ltd.
Index
Index