Сервис – ориентированная архитектура

В разработке программного обеспечения сервис ориентированной архитектуры (SOA) представляет собой набор принципов и методик для проектирования и разработки программного обеспечения в виде совместимых услуг. Эти услуги имеют четко определенные бизнес-функции, которые построены как компоненты программного обеспечения (дискретные фрагменты кода и/или структуры данных ), которое может быть использовано повторно для различных целей. Принципы SOA дизайна используются во время фазы разработки систем и интеграции.
SOA как правило, дает возможность для потребителей услуг, таких как веб-приложения, быть в курсе имеющихся SOA-сервисов. Например, несколько разрозненных отделов внутри компании могут разрабатывать и внедрять SOA услуги на разных языках программирования; их соответствующие клиенты выиграют от хорошо разработанного интерфейса, дающего быстрый доступ к ним. XML часто используется для взаимодействия с сервисами SOA. JSON также становится все более общим языком в разботке web-ресурсов. Так, сайты, которые содержат информацию об автоломбардах Москвы, дают не только пользователям возможность выбора того или иного финансового учреждения, но содержат ряд сервисов: калькулятор кредита, оценка авто, срочный выкуп и т.д.
SOA определяет, как интегрировать широко разрозненные приложения в веб-среде и использует различные платформы реализации. Вместо определения API, SOA определяет интерфейс, с точки зрения протоколов и функциональности. Конечная точка является точкой входа для такой реализации SOA.