Кто понимает, в чём различие SOA и SaaS?

За последнее время неоднократно вижу и слышу упоминания о SOA и SaaS, как о синонимах. Что представляется мне в корне неверным! Поэтому попробую отделить мух от котлет.

Сначала про SaaS = Software-as-a-Service = ПО как сервис. То есть это подход, когда программное обеспечение расположено у сервис провайдера и функциональность этого приложения доступна его клиентам. Одна оговорка: ПО у провайдеров существует не первый год, а термин SaaS выдается как новое течение. Секрет в том, что термин SaaS применим в основном к тем предметным областям, где приложения традиционно расположены на локальном компьютере пользователя или на корпоративном сервере. Пример: текстовые редакторы всегда считались десктопными приложениями, поэтому появление сервисов Google Docs или Zoho Writer — это SaaS.

Приложения можно классифицировать по тому сколько пользователей и как им пользуется: приложение на рабочей станции пользователя для него одного, приложение в корпоративной сети для сотрудников компании, интернет-приложение доступное многим клиентам (компаниям или отдельным пользователям).

Теперь перейдем к SOA = Service Oriented Architecture = Сервисно Ориентированная Архитектура. Ключевое слово "архитектура". Возможно даже методология, хотя в первую очередь всё-таки архитектура. Суть — представление функциональности ПО в виде сервисов, сущностей, имеющих формализованное описание, интерфейс взаимодействия и ожидаемую реакцию на обращение.

СОА позволяет работать с ИТ в бизнес-терминах.

Где SOA и SaaS работают вместе?

Например, в Amazon S3. Амазон предлагает программный интерфейс, выполняющий определенную функциональность и взымает за это плату.

Может ли SaaS работать без SOA?

Да. В большинстве случаев SaaS-приложение имеет веб-интерфейс, с которым работает непосредственно пользователь. Если оно, например, написано на php+mysql и не обращается ни к каким внешним приложениям, тогда нет и никакого SOA.

Приводит ли SOA к появлению SaaS-приложений?

Скорее не приводит, а способствует. Если функциональность приложения формализована и доступна по сетевому протоколу — значит оно уже на два шага ближе к SaaS. Тем не менее, остаются вопросы работы с многими клиентами, вопросы безопасности, ценообразования, организации поддержки и многие другие.

Согласны?