SOAフレームワークBeehiveに挑戦(1) 2/4

Beehiveでメタデータ(JSR 175/181)を体験しよう

www.netpotlet.com
原田洋子
2005/1/21

Apache Beehiveに適用されている仕様

 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 フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

HTML5+UX 記事ランキング

本日月間