Что означают контракт-первый и контракт-последний?

Я занимаюсь некоторыми исследованиями веб-сервисов. Я не писал ни одного веб-сервиса, но я делаю небольшую запись на них.

Во время моего исследования я встретил термины контракт-первый и контракт-последний.

Может кто-нибудь объяснить эти два в понятной форме?

Ответ 1

Чтобы изложить ответ Калеба, контракт-первый - это то, где вы создаете WSDL, а затем вы можете создать реализацию из этого, и поскольку WSDL - это ваш контракт, это будет контракт -first.

Контракт-последний - это то, где WSDL создается из исходного кода или реализации, поэтому скорее всего он будет сгенерирован инструментом, а не создан разработчиком.

Update:

Для приятного объяснения с кодом в Java вы можете посмотреть это объяснение из документации Spring 1.5.

http://static.springsource.org/spring-ws/sites/1.5/reference/html/why-contract-first.html

Они обсудят плюсы и минусы, но они будут предвзяты к их подходу, но, я думаю, это хорошее объяснение.

Ответ 2

Контракт-первый означает, что вы разрабатываете способы, с помощью которых ваши службы будут общаться друг с другом перед вашим дизайном сами службы. Контракт-последний - это наоборот: вы разрабатываете, как будет работать ваша служба, а затем создайте один или несколько методов в качестве интерфейса для других сервисов.