SOAフレームワークBeehiveに挑戦(1) 2/4
Beehiveでメタデータ(JSR 175/181)を体験しよう
www.netpotlet.com
原田洋子
2005/1/21
Apache Beehiveは
- JSR 175:A Metadata Facility for the Java Programming Language
- JSR 181:Web Services Metadata for the Java Platform
の2つの仕様を取り入れ、EoD(Ease of Development)を実現しようとしています。
JSR 175はすでにJDK 1.5に採用されている仕様ですが、「@」で始まるJavadocスタイルでクラスやメソッドなどにアノテーション(annotation:注釈)を付けておくと、注釈を解釈できるツールやコンテナが開発を簡単にできるようにしてくれるものです。
JSR 181はJSR 175をWebサービス用に拡張した仕様で、現在はまだファイナルリリース前のPublic Reviewという状態です。JSR 181はWebサービスを簡単に開発できるようにする注釈のシンタックスと使用方法、および注釈で指定できるパラメータ(メンバ値)のデフォルト値を定義しているのみの仕様です。WebサービスそのものやWebサービスを動かす部分についてはJAX-RPC 1.1、あるいはJSR 109(Implementing Enterprise Web Services)相当の機能があることが前提となっています。このため、Apache Beehiveは内部でAxisを利用しています。
JSR 181で定義されている注釈は表1のようになっています。これ以外にも検討中の注釈として@SecurityRoles、@SecurityIdentityがあります。
表記 | 意味 | |
メンバ値 | メンバの意味 | |
@WebService | クラスがWebサービスの実装になるようにする。あるいはインターフェイスがWebサービスのインターフェイスの定義になるようにする | |
name | Webサービスの名前 | |
targetNameSpace | XMLネームスペース | |
serviceName | Webサービスのサービス名 | |
wsdlLocation | 既存のWSDLを参照するURL | |
endpointInterface | サービスのエンドポイントになるインターフェイスの名前 | |
@WebMethod | メソッドをWebサービスのオペレーションに指定する | |
operationName | wsdl:operationタグに相当する名前 | |
action | SOAPActionヘッダに相当するオペレーション | |
@Oneway | @WebMethodを付けられたメソッドが入力のみで出力がないこと指定する | |
@WebParam | 個々のパラメータからWebサービスのメッセージパートやXML要素へのマッピングをカスタマイズする | |
name | WSDLの中で使われる名前 | |
targetNamespace | パラメータのXMLネームスペース | |
mode | パラメータがIN/OUT/INOUTのどれで使われるかの指定 | |
header | パラメータをメッセージヘッダから取得するか、メッセージボディから取得するかの指定 | |
@WebResult | 戻り値をWSDLパートあるいはXML要素にマッピングする方法をカスタマイズする | |
name | WSDLやメッセージの中の戻り値の名前 | |
targetNamespace | 戻り値のXMLネームスペース | |
@HandlerChain | 外部で定義されているハンドラチェーンにWebサービスを関連付ける | |
file | ハンドラチェーンファイルへのURL | |
name | ハンドラチェーンの名前 | |
@SOAPBinding | SOAPメッセージプロトコルへWebサービスをどのようにマッピングするかを指定する | |
style | メッセージがWebサービスから、またはWebサービスへ送られるときに使われるエンコードスタイルの指定 | |
use | メッセージがWebサービスから、またはWebサービスへ送られるときに使われるフォーマットスタイルの指定 | |
parameterStyle | パラメータがトップレベル以下の要素となるかどうかの指定 | |
@SOAPMessageHandlers | Webサービスのビジネスメソッドの前あるいは後で実行するSOAPプロトコルハンドラのリストを指定する | |
name | ハンドラの名前 | |
className | ハンドラクラスの名前 | |
initParams | 初期化時にハンドラに渡されるname/valueペアの配列 | |
roles | ハンドラが実装しているSOAPロールのリスト | |
headers | ハンドラが処理するヘッダのリスト | |
表1 JSR 181で定義されているWebサービスの注釈 |
Apache Beehiveは表1の注釈を解釈して必要なファイルを自動生成してくれるツールでもあり、JSR 181の参照実装的な製品にもなっています。(次ページへ続く)
2/4 |
Index | |
SOAフレームワークBeehiveに挑戦(1) Beehiveでメタデータ(JSR 175/181)を 体験しよう |
|
Page
1 ・Apache Beehiveの生い立ち ・Apache BeehiveはSOAなのか ・SOAが目指してきたもの |
|
Page 2 ・Apache Beehiveに適用されている仕様 |
|
Page 3 ・3つのサブプロジェクト |
|
Page 4 ・Apache Beehiveを動かしてみよう ・まとめ |
「SOAフレームワークBeehiveに挑戦」 |
XML & SOA フォーラム 新着記事
- QAフレームワーク:仕様ガイドラインが勧告に昇格 (2005/10/21)
データベースの急速なXML対応に後押しされてか、9月に入って「XQuery」や「XPath」に関係したドラフトが一気に11本も更新された - XML勧告を記述するXMLspecとは何か (2005/10/12)
「XML 1.0勧告」はXMLspec DTDで記述され、XSLTによって生成されている。これはXMLが本当に役立っている具体的な証である - 文字符号化方式にまつわるジレンマ (2005/9/13)
文字符号化方式(UTF-8、シフトJISなど)を自動検出するには、ニワトリと卵の関係にあるジレンマを解消する仕組みが必要となる - XMLキー管理仕様(XKMS 2.0)が勧告に昇格 (2005/8/16)
セキュリティ関連のXML仕様に進展あり。また、日本発の新しいXMLソフトウェアアーキテクチャ「xfy technology」の詳細も紹介する
|
|