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