먼저 SOA(서비스지향아키텍처)에서 이야기 하는 '서비스'를 이해할 필요가 있습니다.. SOA에서 이야기하는 서비스는 IT적인 개념이 아니고 비즈니스적인 용어로서 '특정한 기능을 하는 단위'를 서비스라고 합니다. 예를 들어, '항공권 예약' '호텔 예약' '고객 정보 조회' '예금' 같은 것을 서비스라고 할 수 있습니다. 즉 기업의 업무를 기능단위로 나눈 것을 '서비스'라고 합니다. 이러한 기능 단위는 크게 나누거나 보다 자세하게 나눌 수 있는데, '항공권 예약' 이라는 것도 사실 '항공 좌석 조회', '회원정보 조회', '좌석 배정' 같은 더 작은 서비스로 구성되어 있습니다. 그래서 기업 업무의 어떤 기능을 서비스화 할 것인지, 이러한 서비스 단위를 얼마나 작은 단위로 쪼갤 것인지 같은 것이 SOA의 핵심적인 사항이라 할 수 있겠습니다. 이야기가 길었습니다만, SOA라는 것은 이렇게 정의된 서비스를 배열하여 기업의 업무를 구현하는 방식을 말합니다. 그래서 SOA라는 것은 기업의 어떤 업무에서도 적용할 수 있는 일종의 IT 아키텍처의 사상이면서 아키텍처를 만드는 스타일을 말하는 것입니다. 그래서 SOA 기반 BPM, SOA 기반 CRM등이 모두 가능한 것입니다. 기업에서 SOA를 이야기하는 것은 '비즈니스 유연성' 혹은 '비즈니스 민첩성' 때문입니다. 한가지 예를 들어 A라는 은행이 새로운 상품 Y를 새로 출시하여 선풍적인 인기를 끌렀다고 한다면, 경쟁 은행인 B, C, D가 유사한 상품을 내놓으려고 합니다. 이때 SOA를 적용하지 않은 기존 시스템에서 새로운 상품을 개발한다면 시간이 많이 걸리게 됩니다. 먼저 현업에서 상품을 디자인하여 IT 기획에 넘기면 IT 기획에서는 이를 가능하게 하려고 기존 애플리케이션을 바꾸려고 합니다. 그 과정은 설계를 하고 설계에 맞추어 코딩을 하고 테스트 한 후 운영계로 옮겨 실제로 상품을 시장에 팔 수 있게 합니다. 이러한 과정이 3개월에서 4개월 걸리게 되는데, 그 3~4개월 동안 먼저 상품을 출시한 A은행이 시장을 석권하게 되는 것이지요. 시장에서는 항상 1등만을 기억하게 됩니다. 이러한 경우를 보게 되면 IT 시스템이 오히려 발목을 잡게 되는 것이지요. 만약 B은행이 A은행이 상품을 출시한 지 1~2주 만에 비슷한 상품을 내놓을 수 있으면 어떻게 될까요? 시장은 A와 B은행이 양분 하게 될 것입니다. 이렇듯 SOA는 기업들이 변화하는 시장 환경에 빠르게 대응할 수 있게 해 주기 때문에 기업의 '비즈니스 유연성' 또는 '비즈니스 민첩성'을 높여줍니다. 이것은 곧 기업의 경쟁력을 높여주어서 생존하고 성장할 수 있는 기반이 됩니다. 어떻게 이러한 것이 가능하느냐 하면, SOA는 미리 '서비스'들을 만들어서 저장소에 넣어놓았다가 현업 사용자가 저장된 서비스 들을 검색하여 필요한 서비스들을 골라 그 서비스들을 순서대로 작동하도록 배치하기 때문입니다. 그러한 과정은 현업 사용자가 툴을 사용하여 그림 그리듯이 쉽게 할 수 있습니다. 그렇게만 하면 바로 사용 가능한 애플리케이션을 만들어 내는 것입니다. 그렇기 위해서 개발자들은 필요한 모든 애플리케이션 컴포넌트를 미리 만들어 놓아야 합니다. 그래서 기존의 IT 시스템을 재활용하여 개발 속도를 빠르게 하기도 합니다. 국내 기업의 SOA 도입은 이제 초기 단계입니다. 대부분이 기업 업무의 일부만을 SOA로 적용하는 단계이거나 비즈니스 프로세스를 SOA로 구현하는 단계가 대부분입니다. IBM의 SOA를 예로 들자면, '기본 단계와 '통합 단계' 에 해당하는 것 같습니다. 주로 많이 사용하는 분야는 BPM과 ESB를 활용한 이기종 시스템과의 연결 업무에 많이 사용합니다. SOA는 사실 거의 모든 기업들이 관심을 가지고 있습니다만 실제로 구현하는 기업은 주로 새로운 IT 기술 도입에 거부감이 없는 기업들이 많이 합니다. 특별히 어떤 수준의 기업이 한다고 이야기 하기는 어렵습니다. 현재 국내 시장에서는 그룹사와 금융권, 정부 기관 등이 SOA를 도입하는 경향이 있습니다. 통상 그룹사의 경우는 주로 이기종 시스템간 통합 업무가 많고, 나머지는 주로 BPM쪽이라고 할 수 있습니다. 대기업이 IT 자회사를 가지는 것은 한국만의 특수한 상황이 아니고 글로벌 기업들도 자체 IT 자회사를 많이 가지고 있습니다. IT 자회사들이 담당하는 것은 기업 IT 아웃소싱과 업무 개발로 나뉠 수 있는데, IT 아웃소싱은 SOA와 관련되어 영향을 받을 것 같지는 않습니다. 업무 개발 분야에서는 IT 자회사들이 오히려 할 일이 많을 것 같습니다. 초기 단계에서는 SOA에 대한 경험이 없기 때문이 SOA를 하는 글로벌 업체와 협력을 하는데, 주로 글로벌 업체가 선진 기법과 사례를 가지고 접근할 때 IT 자회사는 특정 기업에 특화된 정보를 제공함으로써 서로 협력을 합니다. 그러다가 SOA가 보편적으로 적용되는 단계가 되고 IT 자회사들의 기술이 축적이 되면 독자적으로 SOA를 적용할 수 있게 될 것입니다. SOA가 점점 보편화 되고 '기업 혁신 단계'와 '동적 적용 단계'에 이르게 되면 IT가 겉으로 들어나지 않게 되는데, 이는 현업 사용자가 IT의 도움 없이 원하는 업무를 직접 조립하여 사용하는 단계를 말합니다. 그러나 이러한 단계에 이르려면 그 밑단에서는 너무나 복잡하고 많은 일들이 IT에 의해서 준비되어야만 하기 문에 오히려 SOA가 진행되면 될 수록 IT 자회사의 할 일이 많아질 것입니다. SOA는 기업 전체 IT의 아키텍처를 대상으로 합니다. 비록 처음에는 부서 단위 업무를 대상으로 작게 시작할 지라도 처음부터 전체 IT 아키텍처를 고려해야 성공적으로 SOA를 전사적으로 활용 할 수 있습니다. SOA를 활용하려는 궁극적인 목적은 기업이 경쟁에서 살아남고 성장하기 위한 것입니다. 그렇게 되기 위해서는 필수 적으로 IT가 유연하게 되어야 한다는 것입니다. 기업은 IT 시스템을 단순히 돈을 사용하기만 하는 것으로 보는 것에서 기업 혁신의 핵심 동력으로의 인식전환이 필요합니다.