2012-12-14 6 views
5

私は、既存のサービスベースアプリケーションのビルドプロセスを見てきました。いくつかのサービスがサードパーティによって提供されるいくつかのサービスベースのモジュールがあります。ビルドプロセスで使用されるwsdlsは、http経由でビルドされます。 私はmaven 3とaxistools-maven-pluginを使用してwsdlからクラスを生成しています。再現可能なビルドを生成するWSDL

これは私の考えを開始しました。リモートサーバーがダウンしている場合、ビルドは失敗します。 wsdlが変更された場合、ビルドも失敗する可能性があります。私はこれをしたいですか?リモートwsdlsはservice/wsdl名でバージョンが付けられているので、APIに大きな変更を加える必要はありませんが、これらは第三者であり、この規約に本当に依存しません。

wsdlをローカルでダウンロードして、ソース管理下にあるファイルに対してビルドする方がよいでしょうか?私は適切な反復可能なビルドし、リモートサーバーが利用できなくなる危険性がないでしょう。しかし、これは非常に機敏に見える。私がこのアプローチを採用すると、リモートwsdlの変更をどのように認識することができますか?

私はwsdlsからのビルドに関するベストプラクティスを疑問視する最初の人物ではないと確信しています。誰でも、リモートwsdlsから生成されたサービスから再帰可能なビルドを生成するために、どのようなメカニズムが最も簡単な方法と見なされますか?

+0

プログラマーズ・スタック・エクスチェンジ・コムの方が良いかもしれませんが、それは良い質問です。 – Qwerky

+0

サーバはwsdlを提供しているのですか?誰かが実際にこれに気づいた、または単なる一般的な考えですか?信頼できないサービスのように聞こえます:)私は通常、ダウンタイムよりもむしろ変更を心配しています。ちょうど不思議なことに、まずダウンタイムについて言及したからです。 – Scorpio

+1

WSDLのコピーをローカルに保管しても大丈夫です(皆が示唆しているように)。WSDLは、リモートWebサービスの契約です。 –

答えて

4

あなたが高速で信頼性の高いビルドを望むなら、黄金のルールはあなたが制御しないものに頼るのではありません!

私の場合、元のソースが利用できない、または変更されてもビルドが失敗しないように、WSDLをローカルにキャッシュします。しかし、WSDLが変更される可能性があるのであれば、毎日実行される別々のビルド・ジョブを作成して、キャッシュされたコピーと元のものを比較します。これにより、WSDLが変更された場合でも、再現可能なビルドと早期警告の両方の利点が得られます。

どのようにWSDLをキャッシュするかは完全にあなた次第ですが、バージョンコントロールに貼り付けるのはすばやく簡単なオプションです。

0

私はWSDLファイルをダウンロードして、残りのプロジェクトと一緒にソース管理に入れます。

主な利点は、繰り返し可能なビルドが保証されていることです。各ビルドでそれらをダウンロードした場合、それは繰り返されません。たとえば、開発環境やテスト環境にビルドしてデプロイし、アプリケーションをサインオフしてから、ビルドしてライブにデプロイするとします。 WSDLが変更された場合、ライブビルドはテストで承認されたものと異なり、うまく動作しない可能性があります。ネットワーク通信の問題がある場合は、まったくビルドできないかもしれません。

これは、自動的にWSDLの最新バージョンを取得しないことを意味しますが、それは良いことです。

+0

私は通常クライアントコーディングで同じ方法、つまりローカルwsdl(+ xsd、あれば+ xsd)を使います。これは、契約書のコピーを保持しておき、しかし、私はそれに不満です。一般的に、私は予告なしのwsdlやスキーマの変更を恐れる。ちょうど覚えておくべきことですが、本当に*起こらないべきです。 – Scorpio

+0

私はwsdl/xsdsをダウンロードしてソース管理に保存しています。私はこれが私に繰り返し欲しいビルドを与えると思う。私がソフトウェアをリリースすると、バージョン1.0.0と言うと、wsdlsの変更が新しいビルドの原因になります。私は1.0.1をリリースしなければならず、ビルドしたwsdls/xsdsを保存します。私の恐れは、U-No-Pooが示唆しているように、開発中に私が傾けることができないwsdlsを保存することである。これを行う方法はありますか?すなわち、完璧な世界を持っていますか? – theINtoy

0

Webサービスに固定wsdlがあることがわかっている場合は、そのローカルコピーを使用することをお勧めします。

wsdl自体が変更される可能性が高い場合は、常にビルド用にURLを使用してください。

ネットワークダウンが問題の場合は、2つの別々のビルドプロファイル(maven)を作成します.1つはローカル用、もう1つはURL用です。

関連する問題