JSPで標準化されるWS-*は、SOAのために欠かせないものばかりだ。現在のWSDLを超えJavaが新次元へと向かうために、BEAはJavaベンダーの中心でSOAを叫ぶ。
SOA(サービス指向アーキテクチャ)が効果的に働くためにはは、現在のところWS-*(WS-Security、WS-Reliable Messaging、WS-AddressingなどのWebサービスプロトコル)をさまざまなベンダーがサポートすることが不可欠だ。その構築には、昨今、Java開発統合環境(IDE)が欠かせず、BEAプロダクトの新版も近い(関連記事)。
6月17〜18日まで東京・渋谷、セルリアンタワー東急ホテルで開催された「BEA eWorld JAPAN 2004」では、Java開発統合環境「BEA Workshop」のコントロールがどのような仕組みを持ち、どのようにインプリメントされているかが詳細に語られた。
「Workshopはシンプルなオブジェクトモデルを目指している。メタデータされたものを作り、J2EEサポートを行っている」と米BEA Systems、ウィル・プゥ氏。
メタデータは、プログラムモデルをシンプル化へと導くものであり、BEAがSOAを広げるためには欠かせないものだ。BEA Workshopの現バージョン8.1では、このためにJavadocタグを利用しており、コンパイル時にはクラスファイルへと挿入される仕組みを持つ。
メタデータの扱いは、すでにJ2EE 1.5、EJB 3.0サポートの「JSR 175」としてJCPで標準化されており、サービス構成とデプロイモデルを拡張するJWSが基の「JSR 181」へと通じる。これらのアノテーションモデルが枯れてこそ、相互運用性が確立できる。
プゥ氏は、メタデータを扱う仕組みの例を挙げた。コンパイラがクラスファイルにメタデータを入れる点から触れる。
ページフローの際は、struts-configによりプログラム情報をひとつのファイルに保持することが可能だ。一方、クラスを読み込んだランタイムは、メタデータを取り上げてディスクストラクチャーを作る必要があるが、クラス挿入情報を扱いポイントディスクリプタを作り上げなければならないという。また、独自仕様のコントロールを作る際は、アノテーションがキー/バリューペアとしてstruts-configへと入ることになる。
次なるステップとしては、メタデータがクラスロードされている状態で新たなビヘイビアとしてインプリメントする必要がある点だ。ディプロイメントディスクリプタが生成されることで、フレームワークからも扱える。
プログラムモデル(フレームワーク)の強みは、メタデータを利用し、struts-configなどが集約されることだ。これにより、デプロイが楽になるという背景を挙げた。さらに、オーサリングモデルのシンプル化が大きなところでもあるという。
コントロール実行のためのコンテキストは、常にContainer EJBの中にある点にも触れ、しかし実行コンテキストは場合によってはEJBコンテキストでJWS、JPDのために作られたもののため、ランタイムによるコンテキスト共有で必然的でもなくなるという。
次期Workshopの目指すところはSOAに則した複雑性の簡素化であり、EJBの扱いにもJSRによる標準サポートが大きく関わる。厳密にはBEAが独自プロトコルを標準化提案し、再搭載したというのが正しいかもしれない。
Copyright © ITmedia, Inc. All Rights Reserved.