Использование разных технологий



 

Архитектура не привязана к какой-то определённой технологии. Она может быть реализована с использованием широкого спектра технологий, включая такие технологии как REST, RPC, DCOM, CORBA или веб-сервисы.

Главное, что отличает SOA, – это использование независимых сервисов с чётко определёнными интерфейсами, которые для выполнения своих задач могут быть вызваны некоторым стандартным способом, при условии, что сервисы заранее ничего не знают о приложении, которое их вызовет, а приложение не знает, каким образом сервисы выполняют свою задачу.

 

 

Элементы сервис-ориентированной архитектуры

 

 

SOA также может рассматриваться как стиль архитектуры информационных систем, который позволяет создавать приложения, построенные путём комбинации слабо-связанных и взаимодействующих сервисов. Эти сервисы взаимодействуют на основе какого-либо строго определённого платформенно-независимого и языково-независимого интерфейса (например, WSDL). Определение интерфейса скрывает языково-зависимую реализацию сервиса.

       Таким образом, системы, основанные на SOA, могут быть независимы от технологий разработки и платформ (таких как Java, .NET и т. д.). Например, сервисы, написанные на C#, работающие на платформах .NET и сервисы на Java, работающие на платформах Java EE, могут быть с одинаковым успехом вызваны общим составным приложением. Приложения, работающие на одних платформах, могут вызывать сервисы, работающие на других платформах, что облегчает повторное использование компонентов.

SOA может поддерживать интеграцию и консолидацию операций в составе сложных систем, однако SOA не определяет и не предоставляет методологий или фреймворков для документирования сервисов.

Языки высокого уровня, такие как BPEL, или спецификации, такие как WS-CDL и WS-Coordination, расширяют концепцию сервиса, предоставляя метод оркестрациидля объединения мелких сервисов в более обширные бизнес-сервисы, которые, в свою очередь, могут быть включены в состав технологических процессов и бизнес-процессов, реализованных в виде составных приложений или порталов.

 

SOA – это архитектура, поэтому она не налагает на приложения никаких ограничений в части используемых технологий создания сервисов, транспорта и клиента. Таким образом, например, возможно создать сервис на C# и клиентское приложение на Java, которое будет успешно использовать функционал сервиса.

Технология веб-сервисов (веб-служб)

Особенности

 

– при создании веб-служб были введены понятия протокола и формата данных;

– формат данных и протокол обменабыли стандартизированы;

– в качестве протокола используется HTTP (теоретически может быть использован любой другой протокол);

– формат данных – XML.

Выбор HTTP и XML обеспечил успех технологии веб-служб: благодаря HTTP они могут проходить через все сетевые экраны, подключаться по принципу веб-клиента к любым серверам (за которыми на самом деле стоят прикладные сервера, выполняющие некоторые действия). Благодаря использованиюXML любые программы могут взаимодействовать друг с другом. Появился новый формат данных – SOAP.

33.2 Основные понятия

SOAP (SimpleObjectAccessProtocol) – новый формат данных, XML определенного стандарта, в котором имеются определенные теги, вкладываемые в HTTP.

 

WSDL (WebServiceDefinitionLanguage) – XML формат, стандартизированный и ориентированный на описание интерфейсов веб-служб.

Зачем появится WSDL? Веб-службы имеют некоторый интерфейс, через который к ним можно обращаться, используя данные в формате SOAP. Интерфейс должен иметь описание, т.е. необходима замена IDL. WSDL – замена IDL.

 

Разрешенные теги WSDLописаны в схеме для этого типа XML. Это позволяет, подключиться к службе HTTP –>получить WSDL-схему с помощью запроса HTTP–>сгенерировать прокси, через который будет выполняться запросы (для любого языка программирования). Например, используяJava или C#, можно получить классы, сгенерированные на основе WSDL. Интерфейсные модули могут быть сгенерированы для любого языка программирования.

           


Дата добавления: 2018-08-06; просмотров: 240; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!