SOA и n-уровень - это несколько разные понятия. n-ярус - это, как правило, архитектура приложения для создания автономного приложения (которое может иметь определенные интерфейсы с другими приложениями и т. д.).
SOA отступает от этого и рассматривает спектр бизнес-сервисов, которые требуются на предприятии и где они должны предоставляться, с целью уменьшения дублирования. Они вполне могут основываться или повторно использовать элементы существующих n-уровневых приложений. Например, может существовать ряд существующих приложений, которые позволяют создавать заказы (например, клиентское приложение интрасети, отдел продаж, онлайн на веб-сайте и т. Д.), Которые затем должны синхронизировать или объединять свои данные в некоторый момент. Вместо этого может быть создан сервис «разместить заказ», который может быть использован несколькими различными интерфейсными приложениями.
Эти первоначальные сервисы вполне могут существовать на основе функциональных возможностей в существующих приложениях, которые затем оборачиваются в бизнес-сервис для обеспечения многоразового интерфейса.
Затем вы можете взглянуть на объединение нескольких сервисов по-разному (оркестровка) для предоставления комбинированного сервиса - например, За place_order следует необязательный вызов службы компании-поставщика для пополнения склада, если уровень запаса ниже определенного уровня, и последующий вызов в службу биллинга для создания счета и т. д.