Модели вызова Web-служб.
В настоящее время в литературе широко обсуждается 2 модели вызова веб-служб: статическая и динамическая
Статическая модель вызова является общепринятой и наиболее распространенной. Для того чтобы осуществить реализацию статической модели вызова мы должны получать сведения о существующей веб-службе, возможно посредством доступа к ее wsdl описанию потенциально найдя ее в реестре и сгенерировав код, который каким-либо образом поместит вызов службы в класс Java. Это делается для того, чтобы каждый кто будет использовать веб-службу не писал массу кода генерирующего XML, кодирющий вызов веб-службы.
Документ WSDL представляет собой соглашение между веб-службой и ее клиентом. Клиенту необходимо знать как была реализована веб-служба, какой язык программирования был использован и на какой платформе она работает.
Для создания Java интерфейса и Java класса, который реализует этот интерфейс используются различные части документов wsdl, которые скрывают детали службы от клиента. Для того, чтобы использовать статическую модель вызова необходимо выполнить 2 шага:
1.сгенерировать Java интерфейс, который будет представлять тип порта в документе wsdl
2.генерация класса заглушки, которая будет реализовывать интерфейс, сгененрированный в первом шаге и содержать реализацию протокольного связывания определенного в документе wsdl.
Диаграмма которая показывает структуру статического клиента веб-службы:
Отсюда видно, что если документ wsdl изменился код должен быть сгенерирован заново, а клиентский код перекомпилирован, чтобы учесть эти изменения. Не существует автоматизированного способа узнавать изменился ли документ wsdl.
Динамическая модель вызова.
Одна из тенденций технологии веб-служб – это увеличение уровня автоматизации во взаимодействии приложений. Это означает, что приложения могут устанавливать канал связи не зная подробностей друг о друге (кроме документа wsdl ) или что изменения в существующей системе или службе могут быть использованы без необходимости пользователю этой системы вручную проделывать изменения.
Дата добавления: 2016-11-02; просмотров: 847;