SOA (service-oriented architecture) – 서비스 지향 구조
SOA는 하나의 실체가 다른 하나의 실체를 대신해 단위 작업을 수행하도록 하는 방식으로 두 개의 컴퓨팅 실체가 상호작용 하는 방법을 정의한다.
이 단위 작업은 “서비스”라고 지칭되며, 이 서비스 상호작용들은 서술 언어를 사용하여 정의된다.
각 상호작용은 독립적이며 느슨한 결합을 가지므로, 각 상호작용은 다른 어떠한 상호작용으로부터도 독립적이다.
SOAP 기반의 웹서비스는 가장 보편적인 SOA 구현이 되어가고 있다.
그러나, SOA 구현 기반의 웹서비스가 아니면서도 비슷한 이득을 제공하는 경우도 있다.
SOA와 독립적인 프로토콜이란, 서로 다른 이용자들이 서로 다른 방식으로 서비스와 의사소통을 하면서 서비스들을 사용하는 것을 의미한다.
이 경우 프로토콜의 구현에 관한 확실한 유연성을 보장하기 위해 서비스 제공자와 서비스 이용자 사이에 관리 계층이 존재하는 것이 이상적이다.