4

この質問は少し主観的なものになる可能性があると思うので、CWとしてマークします。

私のチームは、プロジェクトで使用する新しい「Webサービス」のセットを開発することに興味を持っています。「Webサービス」という用語は非常に多くの異なる意味を持つ可能性があるため、私は「Webサービス」を引用符で囲んでいます。本当に必要なのは、APIのセットをクロスプラットフォームのクライアントに公開して、データを消費し、それに対してアクションを実行できることだけです。

私は、データを他の多くの(内部)アプリケーションや他のサービスに公開するためのサービスを作成することに関して、現在の「最先端」が何であるかを理解するためにいくつかの調査を試みています。私はThrift、Protocol Buffers、JAX-WS、RMIなどを研究してきましたが、新しいサービスのセットを設計する際にどのようなアプローチを取るべきかを理解するまでは、ちょっと迷っています。基本的にサービスの「インフラストラクチャ」を作成できるようにしたいと考えています。そのため、現在のすべてのアプローチについて少し調査しています。

真新しいゼロからのWebサービスを構築するために、現在のベストプラクティス/最先端はどこにありますか?

私たちの唯一の実際の要件は次のとおりです。

  • データフォーマット/エンコーディングはプラットフォームに依存しない必要があります(これによりRMIが除外されます)。
  • サービスはHTTP上でうまく機能するはずです
  • Javaで実際のサーバー側サービスを作成することは問題ではありません。
  • クライアントプロキシを生成できることは素晴らしいプラスです。
  • 各サービスを軽量にして、さまざまな機能のサービスを完全に別個のデプロイメントとしてデプロイできるようにしたいと思います。

現在、SOAPサービスとAxis / JAXRPCサービスの組み合わせを使用していますが、正直なところ、これらを処理するのは非常に困難です。送受信されるメッセージは巨大で、過度に冗長です。

4

2 に答える 2

5

RESTサービスを検討しましたか?これがInfoQからの便利な紹介です。

これはHTTP上で機能し、GET / PUT / POST / DELETEの標準HTTPコマンドを使用してデータを操作します(ブラウザーを使用してクエリを実行でき、クライアントは単純なHTTPクライアントです)。実際のデータコンテンツは必須でも指定でもありません。多くの場合、XMLですが、これは必須ではありません。

Jerseyを使用してJavaでRESTサービスを簡単に構築できます。クライアントはHTTPと話すだけでよいので、言語に依存しない可能性があります。Javaクライアントは、 HTTPClientを使用して作成できます。

于 2009-10-29T18:10:47.417 に答える
2

おそらく手遅れですが、とにかくやってみます。SOAPは長い間最初の文字を失っています(シンプル)。2番目のもの(オブジェクト)にも立ち向かわなかった。

そのため、RESTまたはJSON-RPCサービスのいずれかのJSONベースのサービスに傾倒しています。前者については、すでにかなりの数のコメントが寄せられています。後者の場合は、Jabsorb.orgを調べてください。例として、OpenSocial標準は、JSON-RPCを優先して両方を使用します。

于 2009-12-11T20:21:01.680 に答える