Концепция сервисно-ориентированной архитектуры (service- oriented architecture, SOA) предлагает новый подход к созданию распределенных инфраструктур, в которых программные ресурсы рассматриваются как сервисы, предоставляемые по сети. В качестве сервиса может выступать как целое приложение для решения функциональных задач в конкретной области, так и отдельные его функциональные модули, прикладные функции, реализующие определенную бизнес-логику, бизнес-транзакции, состоящие из нескольких функций более низкого уровня, системные функции, отражающие специфику различных операционных платформ.
Концепция SOA предлагает разработчикам совершенно иной подход к многократному использованию имеющегося программного кода — создание более сложных сервисов из сервисов низкого уровня; при этом сервисы могут быть распределены в сети и даже принадлежать различным компаниям. Сервисы рассматриваются как автономные объекты, управление которыми не централизовано; это позволяет взаимодействующим посредством сервисов ИС развиваться в соответствии с потребностями бизнеса. Базовыми инструментами сервисно-ориентированной архитектуры являются Web-сервисы и язык XML. Web-сервисы — это совокупность технологий и стандартов для описания сервисов, взаимодействия между распределенными сервисами и создания каталогов сервисов, которые позволяют строить частные решения по интеграции приложений. Язык XML используется для обмена сообщениями между сервисами и описания Web-сервисов. Именно с появлением Web-сервисов был найден стандарт, позволяющий объединять различные корпоративные вычислительные платформы и инструментальные средства.
Различие между SOA и Web-сервисами — это различие между стратегическим подходом к процессам интеграции приложений и конкретной тактикой реализации этой интеграции (на данный период времени). SOA — концепция, которая не дает точного описания, как именно должны взаимодействовать сервисы, но говорит о том, как добиться того, чтобы они понимали друг друга и могли быть интегрированы. Сами Web-сервисы не предполагают какого- либо архитектурного решения, в то время как именно архитектурой определяется стиль процессов взаимодействия.
В настоящее время широкое распространение SOA и Web-cep- висов сдерживается необходимостью снижения сложности практических методов и разработки эффективного инструментария для программирования приложений, прикладного интерфейса программирования API (Applications Programme Interface) и самих Web-сервисов.