Архитектура, ориентированная на сервисы

Архитектура, ориентированная на сервисы (service-oriented architecture, SOA), предоставляет требуемые функции в виде набора сервисов. Сервисы используют стандартные протоколы для вызова своих функций, публикации в сети и обнаружения. Отдельный сервис должен рассматриваться как независимое приложение, а не как компонент или объект. Основной задачей при использовании SOA является определение интерфейса сервиса и схемы передаваемых при вызове сервиса данных.

Базовые принципы SOA:

1. Сервисы автономны и независимы друг от друга.

2. Сервисы распределены в локальной или глобальной сети. Местоположение сервиса не важно – главное, чтобы сеть доступа к сервису поддерживала требуемые протоколы.

3. Сервисы публикуют контракты использования и схемы для данных обмена, но скрывают внутренние классы своей реализации.

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

Литература

1. Нильссон, Дж. Применение DDD и шаблонов проектирования. Проблемно-ориентированное проектирование приложений с примерами на C# и.NET. / Джимми Нильссон. – М.: Издат. дом «Вильямс», 2008. – 560 с.

2. Фаулер, М. Шаблоны корпоративных приложений. / Мартин Фаулер. – М.: Издат. дом «Вильямс», 2011. – 544 с.

3. Эванс, Э. Предметно-ориентированное проектирование (DDD). Структуризация сложных программных систем. / Эрик Эванс. – М.: Издат. дом «Вильямс», 2011. – 448 с.


[1] См. также статью http://msdn.microsoft.com/en-us/library/ff648105.aspx.

[2] Термин введён Эриком Эвансом (Eric Evans) в книге Domain-Driven Design: Tackling Complexity in the Heart of Software.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: