Google
WWW を検索 junglejava.jp を検索

 Web サービスの開発スタイル

Posted in Java (RSS)

OR マッピングを行う際と同様に、Web サービスの開発においてもトップダウン的なアプローチとボトムアップ的なアプローチがあります。
Web サービスの開発においては、Web サービスの定義(コントラクト)となる WSDL 及び XML スキーマを基にクラスを作成するのがトップダウン的なアプローチで、クラスから WSDL や XML スキーマを生成するのがボトムアップ的なアプローチとなります。前者の開発スタイルを "コントラクトファースト"、後者の開発スタイルを "コードファースト" と呼ぶことが多いようです。

当方にはまだ Web サービスに関する知識や経験が乏しく、どちらの開発スタイルが望ましいと語ることはできませんが、InfoQ でたいへん参考になる記事を見つけました。

InfoQ: コードファースト ~Webサービスを再考する

同記事では、理想論ではコントラクトファーストが望ましいということになるが、現時点においてはコードファーストの方が生産性が高く、現実的だとまとめています。また、コードファーストの問題点を解消する方法の一つとして、「JiBX」 によるアプリケーションデータモデルと XML 表現の分離を挙げています。
もちろん、利用可能な既存のコンポーネントの有無や開発者のスキルなどによって適した開発スタイルは異なるでしょうし、コントラクトファーストの課題として挙げられている支援ツールの登場によっても状況が大きく変わるかもしれません。しかし、個人的には非常に納得できる意見だと感じました。

関連情報
Japan.internet.com デベロッパー - POJOベースのドメインアプリケーションをWebサービスとして公開する
IBM Axis2 と JiBX を使って Java クラスを Web サービスに変換する 第1回… - Japan
IBM Axis2 と JiBX を使って Java クラスを Web サービスに変換する 第2回… - Japan

Jungle Java - 『エンジニア実験室 試してわかるWebサービス』
Jungle Java - soapUI 1.7.6 リリース

Posted on 2007年10月10日