아키텍쳐 /SOA

SOA를 공부하세요. 최고입니다.

Terry Cho 2009. 7. 4. 22:41
오늘도 타이트한 하루가 끝나갑니다.
오전일 끝내고, 와이프와 딸을 데리고 집에서 한시간정도 거리에 있는 용인 한택 식물원에 다녀왔습니다. 오프로드를 유모차를 끌고 올라가는게 상당히 운동이 되더군요. 우리딸은 물만 보면 사죽을 못쓰는지라, 계곡에서 그리고 분수대에서 계속 있을려고 해서.. 데리고 나오느냐고 미안했습니다.

 SOA에 대해서 왜 이런 이야기를 하느냐 하면,
현존하는 아키텍쳐중에서 가장 범위가 넓고 가장 발전한 아키텍쳐중의 하나이기 때문입니다.
DDD의 글을 쓰다가 생각이 난 내용인데, SOA는 기본적으로 서비스를 비지니스적인 의미로 정의를 합니다. 비지니스와 IT조직간에 같은 Context를 사용한다는 겁니다. 그리고 전체 기업을 대상으로 하기 때문에 이 Context의 전파가 중요한 요건이 됩니다.

또한 애자일 사상에서 이야기 하는 Iteration의 개념역시 SOA에서 Vertical Slising과, Short Release의 개념으로 이미 녹아나 있습니다.

 팀조직과 협업 그리고 정치에 대한 부분역시 Governance에 대한 부분에 설명이되어 있고, 비지니스 아키텍쳐(사업의 비젼, 비용 관리등)에 대한 내용 역시 SOA의 비지니스 아키텍쳐에 설명이 되어있습니다.

SOA가 성공한 아키텍쳐네, 벤더들의 마케팅 수단이네 말은 많지만 SOA 자체는 훌륭한 아키텍쳐임에는 틀림이 없습니다. 적용하기가 힘들고, 현실화 시키기 위한 기술이 만만하지 않을뿐이지요.

 SOA를 공부하면 Enterprise System의 전체를 볼 수 있어서 아키텍쳐에 관심이 있으신분들은 꼭 공부해보시기를 추천합니다.

 항상 생각하는건데, 기술을 고민하는 사람들의 고민점과 해답은 시간이 지날수록 점점 비슷한 곳으로 모아지는 것 같습니다.

개인적으로 SOA에 관련해서 읽었던 책중 최고 명서는 http://www.amazon.com/Enterprise-SOA-Service-Oriented-Architecture-Practices/dp/0131465759/ref=sr_1_9?ie=UTF8&s=books&qid=1246714242&sr=8-9 이 아닌가 싶습니다. (Enterprise SOA)
2004년에 작성된 책이고, 웹서비스가 없었을때임에도 불구하고, SOA의 개념과 구현 방법,개념, 조직 구조등에 대해서 아주 잘 설명하고 있습니다. 군더더기가 없는 책이지요. 2004년에 이런 생각을 해낼 수 있다니 놀라울 따름입니다. 번역서도 있는 것으로 알고 있는데, 꼭 추천합니다.

다음으로는 Applied SOA입니다.
http://www.amazon.com/Applied-SOA-Service-Oriented-Architecture-Strategies/dp/0470223650/ref=sr_1_1?ie=UTF8&s=books&qid=1246714619&sr=1-1#
버릴것이 하나 없는 책입니다. 앞의 책보다 깊이가 좀더 있고, 특히 Governance와, Business Architecture 에 대한 부분이 보강이 되는 부분입니다. 작년에 출판사의 번역 여부 조언으로 받아서 읽었는데, 사실 읽을때 마다 새롭습니다. :(

마지막으로 SOA Design Pattern 입니다.
http://www.amazon.com/Design-Patterns-Prentice-Service-Oriented-Computing/dp/0136135161/ref=sr_1_1?ie=UTF8&s=books&qid=1246714775&sr=1-1
아마 SOA에 대한 책을 가장 많이 쓴 사람이 Thomas Erl 일겁니다. 그의 SOA에 대한 초기 두권의 저서가 시기를 잘 탔기 때문에 유명세를 탔다고 생각하는데요. 그 두권의 책의 내용은 사실 매우 별로 였습니다. 파란표지 책은 그나마 서비스 분석과 디자인 방법에 대해서 소프웨어 공학론적인 접근을 하고 있어서 참고할만 하지만, 그 내용을 수백페이지에 다뤄야 하나 하는 의문이 생깁니다.
 SOA Design Pattern은 Thomas Erl 의 이런 기존서적에 대한 비평을 조금이나마 덜어줄 수 있는 책이 아닌가 싶습니다.  역시나 이번책에도 다소 군더더기가 많아 보이기는 합니다만, 책의 질이 좋아서 들고 다니면 폼은납니다. :)
 이번 책에서는 SOA를 몇가지 관점으로 나눠서 정의하는데, 이 접근 방법이 매우 흥미롭습니다.
Service 자체에 대한 디자인 패턴, Composition 패턴, 그리고 기억이 가물가물한테 Service Infra에 대한 패턴 그리고 마지막으로 Service Inventory 패턴입니다.
 패턴 내용 자체보다는 제 경우 4가지 패턴으로 나누었다는 접근 방식 자체가 흥미롭습니다. 실제 설계해도 이렇게 해야 겠다는 생각이 들더군요.
 가장 주목할만한 점은 Service Inventory Pattern 입니다. 이 패턴은 흔히 이야기 하는 Service Repository 입니다. 기존에는  Service Repository를 단순히 UDDI 정도로 접근하는 개념이 많았지만 UDDI는 Runtime 에서 사용되는 서비스의 DNS? 정도입니다. (물론 부가기능은 더 있겠지만요.)
 그러나 SOA 가 성숙되어감에 따라 이 서비스를 어떻게 관리할것인가 (카달로그 또는 Repository 라고 합니다. )에 대한 의문이 생기는데, 이것이 Thomas Erl이 언급한 Inventory 입니다.
 Thomas Erl 아저씨의 특성상 책이 읽기가 어려워서 읽어도 잘 진도가 안나가서 고전을하고 있지만
 접근 방식에 대해서는 충분히 연구를 해볼만한 가치가 있습니다.

쭈욱 적어내려갔는데... 써놓고 보니 또 어렵습니다. :(
 그래도 SOA를 다른분들도 공부해서 많은 것을 얻어가실 수 있지 않을까 하는 생각에 정리해봤습니다.

의견이나 토론은 항상 환영합니다.



그리드형