Преимущества и недостатки soa
Прежде чем, перечислить преимущества использования SOA, будет уместным напомнить, что преимущества бывают разные: стратегические и тактические. SOA обладает рядом достоинств как стратегических, так и тактических.
Стратегическая ценность SOA:
Сокращение времени реализации проектов, или "времени выхода на рынок";
Повышение производительности;
Более быстрая и менее дорогая интеграция приложений.
Известно, что реализация традиционных решений для интеграции прикладных программ - непростая задача, требующая существенных капиталовложений. Кроме того, часто при внедрение необходимо написание программного кода. SOA предусматривает размещение сервисов в сети в режиме исполнения, т.е. позволяет автоматизировать эти ресурсоемкие процессы, благодаря чему существенно сокращаются все расходы на интеграцию.
Теперь рассмотрим тактические преимущества:
Более простые разработка и внедрение приложений;
Использование текущих инвестиций;
Уменьшение риска, связанного с внедрением проектов в области автоматизацией услуг и процессов;
Возможность непрерывного улучшения предоставляемой услуги;
Сокращение числа обращений за технической поддержкой;
Повышение показателя возврата инвестиций (ROI).
Разумеется, есть и недостатки. Перечислим основные из них.
Достаточно большое время отклика;
Некоторой избыточностью пересылаемой информации, что при больших нагрузках может привести к перегруженности сетевого трафика;
Сложность развертывания;
Затратность развертывания.
Технологии реализации
Существует три основных технологии реализации SOA:
Инфраструктура интеграции и управления сервисами.
Для организации взаимодействия сервисов необходима среда, которая обеспечит динамическую маршрутизацию запросов от прикладного компонента — потребителя сервиса и получение результатов от приложения — провайдера сервиса. Для этого может потребоваться поддержка синхронных и асинхронных коммуникаций более низкого уровня между приложениями, трансформация и высокоскоростное распределение данных, трансляция протоколов, кэширование функций Web-сервисов, виртуализация ввода/вывода и т. д. Для решения этих задач все большее распространение получает технология корпоративной сервисной шины (Enterprise Service Bus, ESB), которая предоставляет единый механизм для передачи запросов и получения результатов сервисов, выполнения необходимых преобразований сообщений и транспортных протоколов и управления потоком обращений к сервисам.
Инфраструктура безопасности сервисов.
На основе корпоративных политик безопасности должны быть определены и обеспечены технологические правила доступа и использования прикладных ресурсов, организованных в виде сервисов. В частности, должна быть решена задача управления правами доступа пользователя к сервисам, которые могут инкапсулировать функции нескольких приложений.
Инфраструктура автоматизации и управления бизнес-процессами.
Конечная цель SOA — обеспечить представление бизнес-процессов как взаимодействующих сервисов. Средства управления бизнес-процессами обеспечивают интеграцию в нужной последовательности сервисов, которые могут быть как локальными — реализованными в ИТ-инфраструктуре компании, так и удаленными, если процесс на определенных этапах обращается к ресурсам партнерских компаний. Стандартом для такой интеграции, которая в профессиональном лексиконе обозначается терминами «хореография» или «оркестровка» сервисов, становится разработанный IBM и Microsoft язык Business Process Execution Language (BPEL).