Архитектура, ориентированная на сервисы (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.