2

使用するRESTフレームワークとそれを実行する場所を検討しています。

既存のWebSphere(6.1.0.17)環境を考えると、Jersey of Winkを使用しますか?

または、別のプラットフォームをお勧めしますか?

4

5 に答える 5

5

3 番目のオプションとして、Spring MCV で Spring 独自の RESTful 機能を使用してみませんか。これはコーディング、テスト、保守が簡単で、(明らかに) Spring でそのまま使用できます。Spring REST に基づくコード管理の容易さは、MVC、IoC、およびアノテーションに基づくアーキテクチャによるものです。また、クラス最高のソリューションを選択して、シリアライゼーション用の XStream、Jackson JSON サポート、REST クライアントまたは単体テスト用の Spring 独自の REST テンプレートなどのソリューションを強化できます。

その中心にある Spring MVC の REST 機能は、REST をプロトコルではなくアーキテクチャとして扱い、IoC や MVC などの他の実績のあるアプローチとうまくブレンドします。フレームワークを検討する場合、次の REST リトマス テストが役立ちます: innoq.com/blog/st/2010/07/rest_litmus_test_for_web_frame.html を参照してください。Springs のアプローチは、効果的なコンテンツ配信のおかげで、より多くのボックスをチェックします。

これらすべてのフレームワークが当てはまらないことの 1 つは HATEOAS のサポートです。これは、クライアントが現在このリソースから実行できるすべてのアクションに対応するリンクを REST 応答に含める方法です。ほとんどのフレームワークはこれをすぐに導入することを約束していますが、これに対する最善のアプローチが何であるかを理解するには、批判的な目が必要です。

Wink や Jersey などの JAX-RS ソリューションを提供するとき、Java 標準に準拠することに重点が置かれ、アーキテクチャーの柔軟性が低いことに気付きました (他のサード・パーティー・パッケージの使用など)。JAX-RS に準拠する必要がある場合は、Restlets、Wink、または Jersey を検討してください。それ以外の場合は、Spring MVC の REST サポートを検討する価値があるかもしれません。

私はこの種のソリューションを WAS 7 に展開しましたが、問題や依存関係の競合はありませんでした。

于 2011-03-14T18:20:36.813 に答える
4

Wink を使用した経験はありませんが、Websphere で実行されている Jersey を使用した経験の一部を共有できます。

長所...非常に使いやすく、慣れるのに5分かかり、最初のHello Worldを書く準備ができました. Jersey は、非常に基本的ではありますが、パッケージに基づいてWADLを自動的に生成しますResources... しかし、WADL ドキュメントを自分でカスタマイズすることができます。

短所... はぁ、私はJerseyが好きですが、Websphereでは泣きそうになりました。まず (これは Websphere とは関係ありません)、私は自分のプロジェクトで Spring を使用しており、使用している Jersey リリースは 1.2 です。問題は、リリースがSpring 2.5を使用しているのに対し、私はSpring 3.xを使用していることです。そこで、Jersey の Spring 2.5 を取り出して Spring 3.x を使用しました。すべて正常に動作します。ただし、Jersey テスト フレームワークは失敗し始めました。組み込みの Grizzly サーバーを起動して Web サービスをテストすることができなくなりました。第二に、私は現在、JDK 5 を使用する Websphere 6.1 に縛られています。Jersey の 1.2 以降のリリースはすべて JDK 6 でコンパイルされていると思います... つまり、会社が WAS 7 にアップグレードするまで運が悪いのです。

それは確かに非常に安定したRestフレームワークであり、非常に使いやすいです...しかし、私の場合、Springリリースを3.xにアップグレードしたため、Webサービスの既存のすべてのユニットテストが現在コメントアウトされているため、私はただうんざりしています. . 最新のジャージー リリースでは Spring 3.x が使用されているはずですが、まだ WAS 6.1 で JDK 5 を使用しているため、Spring 3.x を使用できません。

だから、決めるのはあなた次第です。ちなみに、WAS 6.1 で実行しているプロジェクトでは、まだ Jersey 1.2 を使用しています。

于 2011-03-04T14:02:56.650 に答える
3

websphere 6.x では jersey の方が実装が簡単で、JAX-RS 1 および 2 をサポートしているため、推奨される方法です (JVM のバージョンの問題に注意してください。Websphere 6 は最新バージョンをサポートしていない可能性があります)。

Websphere 8.x から、IBM は Apache Wink を導入しました。これは、jersery と一緒に使用すると、依存関係とクラスローダーの問題が実際に発生します (JAX-RS 1 と 2 の同じインターフェイス実装のため)。

この問題を克服して機能させる方法については多くの例がありますが、価値があるとは思えず、おそらく Websphere 内で Wink のパフォーマンスが向上するでしょう。

于 2014-08-04T20:46:18.120 に答える
2

IBMは、Apacheウィンクの使用を推奨しています。実際、IBMにはApacheウィンクの独自の実装があります。

于 2012-04-25T14:32:42.497 に答える
1

私はウィンクに一票。
理由:

  1. それはHP と IBMの人によって開発されました。したがって、IBM の担当者が Websphere でテストしたと思います。
  2. 実際、AFAIK Wink は Websphere 7.* に組み込まれています。
  3. こちらの動画もご覧ください
于 2011-03-05T16:16:38.453 に答える