2

私たちの製品の 1 つは、contract-last アプローチを使用して Web サービスを公開します。製品の新しいバージョンをリリースするとすぐに、すべてのクライアント (ws クライアント) がクライアント アプリを再構築する必要があるため、これは深刻な問題になっています。これは、自動生成された wsdl のコストとして発生するすべての名前空間の変更によるものです。javatowsdl には Axis1 を使用します。このための下位互換性のある Web サービスを開発するための優れた方法論/ツールを探していました。

つまり、バージョン 9.3 のクライアントはまだ 10.0 サービスにアクセスできますが、機能の一部が失われるため、問題ありません。しかし、それらは壊れることなく機能できるはずです。

問題全体が契約の最後のアプローチによるものであることは理解しています(間違っている場合は修正してください)。したがって、解決策がコントラクト優先の Web サービスを使用することである場合、使用できるツールとテクノロジは何ですか? また、コントラクトファーストに関するベストプラクティスは何ですか?

前もって感謝します。

4

1 に答える 1

2

既にお気づきのように、コントラクト ファースト (またはトップダウン) アプローチを使用して Web サービスを開発することをお勧めします。これは、WSDL インターフェースを手動で定義し、自動ツールを使用してこのドキュメントに基づいて Web サービスの Java スケルトンを生成することを意味します。

異なるプラットフォーム上のクライアント間の相互運用性を確保するために、WSDL がWS-I 標準に準拠していることが重要です。SOAP-UIを使用して、WSDL が標準と互換性があるかどうかをテストできます。

Skeleton の生成には、Apache Axis や JAX-WS など、使用できる Web サービス ランタイム API がいくつかあります。個人的には JAX-WS の方が好きです。なぜなら、JAX-WS は Java 標準であり、すべての Java EE コンテナーでサポートされているからです。各コンテナはスケルトン生成用のツールを提供します。Weblogic にはそのための優れたAnt タスクがありますが、コンテナに依存しないWS-Importもあります。

于 2012-10-12T00:56:39.140 に答える