Поддержка разработки веб-сервисов SOAP - PullRequest
1 голос
/ 02 декабря 2011

Я занимаюсь разработкой приложения, которое использует данные из веб-службы WCF, но данные необходимо получать из приложений на разных серверах, предоставленных разными поставщиками.

Вопрос в том, какой язык программирования поддерживает разработку веб-служб из уже существующего WSDL?

Например, в .NET вы можете использовать «wsdl.exe / serverInterface» для генерацииинтерфейс сервера.См. Реализация интерфейса службы

В Java см .: Веб-служба Java Bean сверху вниз

Но я не хочу, чтобы поставщики были подключены кявная технология.

1 Ответ

1 голос
/ 06 декабря 2011

... Я не хочу, чтобы поставщики были привязаны к явной технологии.

Вы принимаете о веб-службах. Идея веб-сервисов заключается в том, что они позволяют взаимодействовать между разнородными машинами (и технологиями).

Для того, чтобы взаимодействие происходило, нет необходимости, чтобы машина использовала один и тот же язык программирования или технологию. Что важно, так это используемый протокол. В вашем случае SOAP.

Протокол определяет интерфейс связи или контракт . Для веб-служб интерфейс описывается языком описания веб-служб (ваш WSDL).

WSDL представлен в (более или менее) удобочитаемом для человека формате, но, что более важно, в машинно-обрабатываемом формате. Идея состоит в том, что вы используете WSDL для генерации кода / классов, соответствующих контракту; на стороне сервера они называются Skeletons, а на стороне клиента - Stubs.

У многих языков программирования есть средства или инструменты для создания заглушек / скелетов из WSDL, но опять же, это не важная часть. Важной частью является соблюдение договора .

WSDL просто позволяет автоматизировать создание некоторого стандартного кода. Использование WSDL не обязательно для создания сервера / клиента, поэтому можно использовать любую технологию (с WSDL или без него).

Пока вы это делаете, вы не привязываетесь к явной технологии. Таким образом, в «веб-службе WCF», которую вы упоминаете, вы можете опустить слово «WCF».

Единственная забота, которую вы должны соблюдать, - это интерфейс между системами . Вы должны обеспечить совместимость веб-сервисов , поскольку мы не живем в идеальном мире, а некоторые особенности из стека технологий могут «просочиться» в контракт, если вы не будете осторожны.

...