독서노트

서비스 지향이 아니면 망한다.

tomato13 2009. 5. 17. 14:39

서비스 지향이 아니면 망한다

http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788990795380&orderClick=LAG


저자는 아마도 SOA(Service Oritented Architecture) Consultant 인 듯 하다. 조금 더 구체적으로 얘기한다면 기존의 SI 시스템에서 SOA 기반 시스템으로 변환하고자 할 때 이에 대한 컨설팅을 하는 사람들인 듯도 하다.


책의 내용은 기존의 시스템이 빠른 변화에 즉각적으로 대응하기에는 많은 문제점들이 있고 이에 대한 해결방안으로 SOA를 제시한다. 기존의 SI (System Integraion)시스템들은 이기종들간의 System을 일종의 middleware를 사용하여 integratoin하게 되는데 대부분의 middleware라는 것이 사실 system들 각각의 재사용성을 높이지 못하며 극단적으로는 단순하게 기능적 결합만을 지원하게 되고 시간이 흐르면서 복잡도가 높아지고 유지/보수가 어려워진다는 설명을 한다. 그렇다면 SOA란 무엇일까? 이 책이 쓰여진 것은 2007년 경이다. 아마도 그 때에는 SOA에 대한 인식이 반신반의였을 듯 하다. 막연한 추상적인 개념에 지나지 않았을지도 모르겠다.(사실 지금도 대세의 흐름은 탄 듯 하지만 구체적인 무언가는 그려지지 않았다고 생각한다.)


저자는 이제 더이상 개발자의 기술 영역과 비지니스 영역이 분리되지 않을 것이라고 설명한다. 분리된다면 빠르게 변화하는 환경에 적용할 수도 없으며 커뮤니케이션에 따른 필요이상의 오버비용이 발생할 것이라고 설명한다. 


그렇다면 SOA는 이를 어떻게 극복할 것을 제시하는가? 

SOA.jpg


그림과 같이 핵심 컴포넌트(core service)를 제공하는 S/W 개발자와 이를 기반으로 비지니스 서비스(Business service)를 제공하는 E-business man/woman의 영역으로 분리를 하는 것이다. 즉, 과거와 같이 비지니스 수행자가 직접 요구사항(requirement)를 S/W 개발자에게 건네주고 개발 산출물을 의뢰하는 것이 아닌 비지니스 수행자가 직접 스스로 필요로 하는 무언가를 구성하게 되는 것이다. 그리고 이 경우 핵심 컴포넌트에 해당하는 핵심 모듈은 개발자가 제공을 하게 된다. 비지니스 수행자 또한 최종의 고객(user)은 아닐 것이다. 하지만 보다 고객의 요구사항(needs)를 쉽게 반영할 수 있고 기존의 개발보다는 비지니스의 도메인(domain)에 가까운 사람이기에 기존과는 차이가 있을 것이다. 그렇다면 그들을 무엇으로 개발을 하는가? C, C++, Java?? 물론 아니다. 아직 표준화되지는 않았으며 이에 대한 표준적 합의가 필요할 시기일 것이다. (내가 알기로는 기술적으로는 XML과 같은 포멧(format)이 사용될 것이다. 그러나 XML 또한 기술적인 문서이기에 무언가 wrapping되어 보다 자연어(natual language)에 가까운 포멧이 강구되지 않을까 생각한다.)


아쉬운 것은 책에서 몇몇 사례를 소개하지만 세부적이지 않다는 것이다. 또한 비지니스면 비지니스, 기술이면 기술적으로 깊이가 있었으면 하는데 아쉬움이 느껴진다. 하지만 SOA가 하나의 새로운 이슈가 될 것을 느끼게 하기에는 유용하였다고 생각하며 SOA 도입을 위해서 나름의 체계적인 방법을 제시하였다는데에도 의미가 있었다고 생각한다. 



SOA.jpg
0.02MB

'독서노트' 카테고리의 다른 글

다음의 도전적인 실험  (0) 2009.10.04
다시 새로운 시작을 위하여  (0) 2009.10.04
컬처코드  (0) 2009.05.05
프로그래밍은 상상이다.  (0) 2009.05.05
화폐전쟁  (0) 2009.05.05