Enunciateとは、Ryan Heaton氏により開発が進められているWebサービスフレームワークである。2007年3月にバージョン1.0が出たばかりの真新しいプロダクトだ。

Webサービス関連のフレームワークと言うと、AxisXFireが有名だが、Enunciateはそうした「Webサービスの実行環境を提供するフレームワーク」ではない。EnunciateプロジェクトではEnunciateを「Webサービス・デプロイメント・フレームワーク」と位置付けている。

Webサービスデプロイメントフレームワークについて平たく説明するならば、「(1)完全なドキュメントを備え、(2)相互運用性に優れ、(3)すぐにデプロイ可能、という3つの条件を併せ持つWebサービスを、ソースコードを基に自動的に構築する」ためのフレームワークである。つまりは、Webサービスを構築する際に必要な作業のうち、ソースコードを書くこと以外のほとんどすべてを行ってくれるフレームワークだと言ってよい。

とはいえ、最近では、ソースコードを基にこうした処理を自動実行するプロダクトは珍しくない。したがって、先の説明を聞いて「大したことがない」と思った読者もおられるだろう。しかし、見かぎるのはまだ早い。Enunciateの真価は、かゆい所に手が届くと言ってもよいくらいの親切な設計思想にあるのだ。

例えば、Enunciateによって生成されるサービスは、SOAP+WSDLの一般的なWebサービスだけではなく、RESTやJSONにも対応している。また、Webサービスで一番重要な相互運用性に関する問題はコンパイル時に検証されるため、デプロイする前にエラーを発見できる。さらに、Webサービスのクライアント用ライブラリは常に自動で生成されるうえ、Enunciateによって作成されたWARファイルはそのままサーブレットコンテナにデプロイするだけで使用可能になるなど、実装者の目から見て「気が利くな」と思える部分が各所に存在する。

次ページ以降に、実際に動かすための方法を示すので、ぜひ読者諸兄も試してみてほしい。Enunciateを使用したWebサービス開発がいかに楽かを知ることができるはずだ。