Сервис-ориентированная архитектура (сокращенно SOA) (см. 2.48) - это архитектурный стиль, который поддерживает ориентированность на службы (см. 2.46) и является парадигмой для бизнеса и ИТ. Данный архитектурный стиль предназначен для разработки систем с точки зрения служб, доступных через интерфейс, и результатов действий этих служб. Как определено в 2.20, служба - это логическое представление ряда действий, который имеет определенные результаты, является автономным, может быть составлен из других служб и является "черным ящиком" для потребителей службы.
Аналогично другим архитектурным стилям SOA:
- предъявляет уникальные требования к инфраструктуре системы;
- имеет реализации, зависящие от окружения, ограниченные или разрешенные контекстом и описываемые в этом контексте;
- рекомендует руководство ИТ, системами и корпоративным лицензированием;
- имеет бизнес-решения, предназначенные для отражения реальной деятельности бизнеса;
- предоставляет критерии, позволяющие потребителям определить, было ли предлагаемое бизнес-решение правильно и полностью выполнено в соответствии с их ожиданиями.
Кроме того, SOA имеет ряд характеристик, которые выделяют его среди других архитектурных стилей, в первую очередь:
a) SOA способствует использованию открытых стандартов и интерфейсов для достижения функциональной совместимости и независимости от местоположения;
b) службы и процессы разработаны явным образом для функционирования как внутри организации, так и между организациями;
c) SOA требует четких описаний предлагаемой службы;
d) службы и процессы разработаны таким образом, чтобы отражать реальную деятельность бизнеса;
e) представление службы использует бизнес-описание для задания контекста (т.е. бизнес-процесс, цель, правило, политика, интерфейс службы и компонент службы);
f) SOA требует надлежащего руководства представлением и реализацией службы;
g) композиция служб используется как средство реализации бизнес-процессов;
h) SOA устанавливает критерии, позволяющие потребителям служб определять, была ли служба правильно и полностью выполнена в соответствии с описанием службы.
В рамках SOA служба является основным элементом для сборки и интеграции информационных систем, которые способны удовлетворять различным требованиям при решении той или иной задачи. Служба с точки зрения бизнеса - это представление результатов бизнес-процессов; служба с точки зрения ИТ - реализация этих бизнес-процессов средствами ИТ. Деятельности по разработке решения SOA могут быть внутренними для организации (например, развертывание службы), совместными между рядом предприятий (например, вызовы службы и хореографии службы) или совместными мероприятиями для поддержания жизнеспособности экосистемы службы (например, публикации новых служб).
Преимущества использования SOA заключаются в повышении эффективности разработки информационных систем, эффективности интеграции и повторного использования ресурсов.
Несмотря на то, что интерес к SOA и тем преимуществам, которые она предоставляет, не ослабевает, для глобального рынка пока не установлен единый набор технических принципов, определенных норм и стандартов SOA. Существующие продукты и решения используют различные стандарты, методы и технологии, что снижает эффективность SOA. Чтобы повысить степень стандартизации и потенциально качество решений, а также способствовать эффективному крупномасштабному внедрению SOA, необходимо установить единый набор терминов, принципов и концепций SOA.
Следует отметить, что концепции SOA, определенные в настоящем стандарте, применимы к разработке программного обеспечения и могут также применяться в системном проектировании для формализации систем, основанных на службах [например, сложных систем, федеративных систем, системы систем (system of systems), архитектур уровня предприятия].