2009-04-19 13 views
6

Java開発者がJSONまたはXML経由で通信するRESTサービスを実装するための最良の方法を探しています。私は生産準備ができている製品を探しています。WCFに似たJSON/XML REST Webサービスを作成するための最良のJava方法は何ですか?

私はSpring 3.0が登場することを知っていますが、まだ完了していません。

ジャージーは1つですか?

私のアプリケーションはTomcatによってホストされ、Spring、Jettison、およびXStreamを使用します。

WCF.NETと同様の開発経験があるオープンソースパッケージを使用したいと思います。ここで私はUrlテンプレートを宣言し、GET/POSTをマップし、XMLまたはJSON。受け入れられるペイロードは、XMLまたはJSONである必要があります。

答えて

3

ジャージー、RESTEasy、およびRestletは、あなたが求めていることをすべて主張しています。私はRestletを試してみたところ、かなり厄介だと思った。

Spring 3はまだ最終リリースに達していませんが、M2ビルドはかなり安定しているようで、そこにはRESTがあります。私が新しいREST Webアプリケーションを構築していたら、おそらくM2でリスクを冒すでしょう。

+0

Spring 3.0のリリースの時間枠についてはどう思いますか? – IgorM

+0

M3は先月予定されていたが、まだ登場していない。 RC1は6月に予定されていますので、今年は3.0の最終リリースがQ3になると思います。 – skaffman

0

はい、ジャージーはかなり良いですし、あなたの説明に基づいてあなたが望むものを正確に行うでしょう。

私はSpring-WS-thingを待つことはありません - ジャージーはいいですし、 "Springブランド"を超えてSpringの代替案が何であるかわかりません。 私にはJAX-RS(ジャージーの実装)は、オープンAPIを実装する最良のコンポーネントを選択して使用する非常に良い例です。 Jerseyはサーブレットコンテナを(他のものの中で)実行し、最良のXML/JSON/etcパーサーを使用したり、プラグイン可能な検証(bean validation api)などを使用することができます。他のJAX-RS実装(Resteasyなど)でも同じことが当てはまります。

0

私はCXFにいくつかのパッチを使用しコミットしました。 JAX-RSをサポートし、スプリングで完全に設定可能です。良いチュートリアルがここにあります:

http://cwiki.apache.org/CXF20DOC/jax-rs.html

CXFは、Apacheのプロジェクトであり、JAX-RSとして、あなたがどんな困難を持っている場合、それから離れる問題はないはずです規格です。

これが役に立ちます。

2

私はRestlet、RestEasy、Jersey、CXF、Springを試しました。ここに私のフィードバックがあります:

  1. Restlet:独自の注釈セットで厄介な種類です。そして混乱もほとんどありません。 JAX-RSがそこに来る前であっても、これを実装しているのを見つめながら、Cantはそれほど責めませんでした。

  2. RestEasy/Jersey/CXF:その名前ほど簡単ではありません。シンプルで簡単に作業を始めることができます。これらの3つのフレームワークの良い点は、JAX-RSに準拠しているため、いつでも将来的にJAX-RSに準拠した他のフレームワークにすぐにフォールバックできることです。 Spring 3はREST APIをサポートし始めました。しかし、JAX-RSに準拠したものではないことに注意してください。

    だから、RestEasy/Jersey/CXFからのみ選択します。

関連する問題