현대의 기업 조직 내에서 기업 구성원들은 이미 서로 복잡하게 연결되어 있다. 일상적인 업무 처리를 위한 팀과 팀 간의 연결, 부서와 부서간의 연결 뿐 아니라, 파트너와의 연결, 심지어 경쟁사, 그리고 인터넷을 이용한 고객과의 연결 등이 그 예이다. 이러한 연결은 앞으로 점점 더 복잡하고 넓게 분포될 것이다. 물론 성공적인 비즈니스를 위해 기업 내 구성원들은 유연하게 변화해야 하지만, 이에 못지않게 IT 인프라 또한 기업 환경 변화에 유연하게 적응할 수 있어야 한다. 이러한 변화에 대한 대처 능력을 비즈니스 유연성(agility)이라 한다. 엔터프라이즈 애플리케이션은 기업 구성원이 자신의 비즈니스 목적을 보다 용이하게 달성하기 위해 사용하는 애플리케이션을 의미한다. 그런데 앞서 살펴본 것과 같이 기업 구성원간의 상호 연결의 필연성은 이들이 사용하는 개별 애플리케이션 역시 끊임없이 상호 연결되어야 하는 필요성, 즉 통합에 대한 요구를 내포하게 된다. 뿐만 아니라 누구나 인정하듯 모든 상황에 가장 완벽한 단일한 플랫폼은 존재하지 않으므로 기업 내의 IT 시스템은 이질적인 환경에 노출될 수밖에 없다. 이질적인 플랫폼간의 애플리케이션 통합은 현대 기업 시스템의 필수적인 요구사항이 될 수밖에 없다. 그러나 분석과 설계 단계를 거치면서 성공적으로 구축된 애플리케이션들을 필요에 따라 통합하는 것은 그리 쉬운 일이 아니다. 이를 힘들게 하는 가장 근본적인 이유는 해당 애플리케이션들의 분석과 설계 과정에서 통합에 대한 요구 사항이 결여되어 있기 때문이다. 또한 이것은 개별적인 단위 애플리케이션을 위해서는 비교적 잘 정의된 아키텍처가 있는 반면 애플리케이션과 애플리케이션 통합에 관한 전체적인 아키텍처가 결여되어 있기 때문이기도 하다. SOA는 바로 이러한 유연한 통합에 관한 해결책을 제시한다.
이와 같은 SOA의 도입에 따른 효과를 정리해 보면 아래와 같다.
기존 자산의 이용
SOA를 통해 기업은 현존하고 있는 컴포넌트를 보다 쉽게 통합하여 비즈니스 서비스를 완성할 수 있고, 이것을 기업에 적용시킬 수 있다. 이러한 새로운 서비스 기술은 인터페이스와 이름만 알면 사용이 가능하다. 서비스의 구현은 서비스를 만드는 컴포넌트를 통해 데이터 흐름의 복잡함과 기능적인 컴포넌트를 분리하고 구체화시킨다. 서비스는 조직이 기존의 자산을 이용하며, 서로 다른 기계로부터 서비스를 쉽게 통합할 수 있도록 한다. 이는 서로 다른 운영 시스템을 작동시키며, 서로 다른 프로그램 언어 환경 속에서 개발을 진행하도록 돕는다. 기존의 시스템도 서비스 인터페이스를 통하여 은닉화되고 접근될 수 있다. 가장 중요한 것은 기존의 시스템이 그들의 기능에 서비스의 가치를 부여함으로써 새롭게 변화될 수 있다는 점이다.
IT 컨설팅 회사인 실크로드 사의 사장 팀 바스는 “SOA가 좋은 점은 기존의 포트폴리오를 활용할 수 있게 해 준다는 것이다.”라고 말한다. SOA는 기업이 기존 시스템을 제거하고 새로운 시스템으로 대체할 필요가 없도록 해준다. 기존 시스템의 기능들을 파악한 후 그것들을 활용함으로서, 위험을 최소화하면서 기존 IT 투자의 가치를 극대화할 수 있다는 것이다.
인프라에 독립적
새롭게 개발된 서비스와 다양한 판매자들로부터 얻은 서비스는 잘 정의된 SOA에 의해서 통합될 수 있다. 이러한 서비스들 간의 통합은 존재하고 있는 인프라에 새로운 서비스로서 배치될 수 있다. 그 결과, 기업 내 시스템 인프라는 쉽게 교체될 수 있다. 시간이 지남에 따라 서비스는 하드웨어의 자원으로부터 점점 loosely coupled되고 서비스가 실시간으로 적용이 됨으로써 더 이상 하드웨어 환경에 의존하지 않고 하드웨어를 최적화 할 수 있다.
빠른 시장 접근
서비스는 SOA 의 한 부분으로써 조직의 핵심 자산이 될 것이다. 이러한 서비스를 가지고 SOA를 설계하고 배치시킨다는 것은 시장에의 접근시간을 극적으로 줄여줄 것이다. 이것은 기존의 서비스와 컴포넌트의 재사용, 다자인, 개발, 테스트와 배치 시간을 줄임으로써 가능하다.
비용절감
SOA를 통해 새롭게 요구되는 비즈니스 요구사항을 지원하기 위한 IT 비용을 감소시킬 수 있다. 새로운 서비스를 기존의 서비스들을 통합하여 쉽게 창출할 수 있으며, 기존 레거시에 대한 복잡한 통합 고려사항에 대한 비용을 줄일 수 있기 때문이다. 또한 SOA를 통해 개발부서의 학습곡선을 줄일 수 있다. SOA를 통하면, 개발자들은 애플리케이션들을 연결하는 새로운 코드를 작성하기 위해 과도한 시간을 낭비할 필요가 없어진다. 대신 개발자들은 웹서비스 같은 표준 프로토콜을 사용할 수 있다. 그리고 SOA 코드의 상당 부분은 재사용이 가능하기 때문에 개발 비용도 줄어든다. 더구나 SOA는 기존에 리거시에 투자했던 것들을 한데 묶어 저렴하게 활용할 수 있도록 해 준다.
위험관리
서비스의 재사용을 통해 새로운 비즈니스를 창출하거나 강화하는 프로세스에 대한 실패 우려를 줄일 수 있다. 또한 서비스를 지원하는 인프라를 관리하고 유지하는 것에 대한 위험은 기존 인프라에 비해 훨씬 줄어들게 된다.
끊임없는 비즈니스 프로세스의 진보
SOA는 특정한 비즈니스 서비스에서 사용되는 컴포넌트의 명령에 의하여 프로세스 흐름이 설명되며, 이것을 명확히 나타낸다. 그리고 비즈니스 운영에 관해서 관리가 가능하도록 사용자들에게 이것을 제공한다. 즉, 프로세스 모델링은 비즈니스 서비스를 반영하는 것이다. 프로세스의 조작은 패턴을 인식함으로써 가능하다. 이러한 기능은, 계속되는 진보에 따른 영향을 관리하는 동안에 프로세스 흐름의 변화를 인식한다.
프로세스 중심의 아키텍처
현존하는 아키텍처나 보아왔던 사례들은 대부분 프로그램 중심적으로 만들어졌다. 즉, 애플리케이션이 프로그래머의 입장에서 만들어진 것이다. SOA 중심의 애플리케이션은 내부에 포함된 비즈니스 로직의 세부사항을 감추는 블랙 박스와 같다. 기존의 방식과 달리 프로세스 중심적인 아키텍처에서 애플리케이션은 프로세스를 위해 개발된다. 프로세스는 단계 별로, 각각을 대표하는 비즈니스 서비스로 분해된다. 이러한 하부 애플리케이션은 사업의 요구사항을 만족시키는 프로세스의 능력을 생성해낸다. 이것은 조직 내에서 프로세스의 이용과 하위 애플리케이션의 재사용을 통해 가능하다.
기업 적응력 향상
SOA의 또 다른 이익은, SOA가 IT 스탭들로 하여금 기술 아키텍처가 아니라 비즈니스 아키텍처 측면에서 생각하도록 강요하기 때문에, IT 스탭들과 비즈니스 중역들 사이의 대화를 더 매끄럽게 해 줄 수 있다는 점이다. 예를 들어, 만약 비즈니스 프로세스가 개선된 재고관리 시스템을 구축하고자 한다면, 비즈니스 실무자는 IT 스탭들과 직접 대화 하면서, 프로세스를 설계/구현할 수 있는 것이다. 결국, SOA가 완벽하게 구축된다면 변화하는 비즈니스 요구와 매순간 바뀌는 시장 조건들에 대한 기업의 적응력은 크게 높아지게 된다.
ROI의 향상
마지막으로 통합이 쉬워지고 유연성이 높아짐으로써 ROI가 높아진다는 부수적 이익도 얻을 수 있다. 다시 말해 개발자들은 모든 종류의 전방처리 시스템들과 작동하기에 충분할 만큼의 일반적인 형태의 서비스를 디자인할 수 있으며, 이로 인해 개발시간이 단축되고 개발자들은 비즈니스 솔루션에 더 많은 시간을 쏟을 수 있게 된다. 여기에 IT 스탭들은 새 기술을 SOA에 쉽게 결합할 수 있어, 위험과 비용을 줄이면서 새 애플리케이션의 개발 속도를 높일 수 있게 된다.