2017-01-06 9 views
0

ChappellとJewellによる本の「Java Web services」では、Webサービスの特徴の1つである疎結合について説明しています。Webサービスでは、クライアントを更新せずにインタフェースを変更する方法はありますか?

"Webサービスインターフェイスは、クライアントのサービスとのやりとりを損なうことなく、時間とともに変化する可能性があります。"

私の質問は、クライアントを変更せずにWebサービスインターフェイスを変更するにはどうすればいいですか?コーディングの観点からは、インタフェースが変更された場合(新しいパラメータ、新しい名前など)、呼び出し側はそれに応じてコードを更新する必要があります。誰かが上記の声明を解釈するのを助けることができますか

+0

著者はおそらく、新しいインターフェイスにアップグレードしないクライアントの下位互換性を損なうことなく、Webサービスの仕様を変更する問題について書きます。もちろん、リクエスタが新しいサービスや更新されたサービスを使用したい場合は、そのコードをリファクタリングする必要があります。 – pedrofb

+0

詳細な回答が必要な場合は、著者の主張と彼が話している「Webサービス」の種類を要約することができます。たとえば、RESTサービスはSOAPサービスほど厳密ではありません – pedrofb

答えて

0

私は彼らが実際にインターフェイスの実装を意味すると思うが、この本では貧弱で混乱しやすい説明を使用した。

Webサービスが公開されていて、消費者がそれを使い始めると、Webサービスのインターフェースを変更することはできません。

ウェブサービスは契約です。パラメータの名前を変更したり、レスポンスを変更したり、URLを更新したり、クライアントを変更せずにすべての操作を維持することはできません。

関連する問題