|
서비스 지향이라는 용어는 이전부터 존재해 왔으며, 서로 다른 맥락과 목적으로 사용되어 왔다. 이 용어를 사용함에 있어 유일한 공통점은 관심의 분리(seperating concern)라는 대표적인 접근방식을 활용해 왔다는 것이다. 관심의 분리란, 커다란 문제 해결에 필요한 로직을 관련된 조각으로 좀더 작게 분할하면 더 잘 구축하고 실행하며 관리할 수 있다는 개념이다. 이러한 각 조각을 특정한 문제의 부분이나 혹은 관심으로 표현한다.
이러한 관심 분리를 통한 접근 방법은 단순한 기술과 자동화 솔루션의 범위를 넘어선 것이며, 다양한 문제들을 파악하는 데 사용할 수 있는 이미 검증된 일반적 이론이다. 서비스 지향 접근 방법의 차별성은 바로 이 관심 분리 방식에 있다.
SOA의 설계방식은 작은 단위로 분리되고 캡슐화 되어야 하며 개별 서비스마다의 고유한 커뮤니케이션(서비스 명세와 메시지를 기반으로 커뮤니케이션을 수행하는 서비스로 기본적인 아키텍처를 구성한다.)으로 구성된다.
서비스 설계 방식
-느슨한 결합(loose coupling) 서비스들은 의존관계를 최소화하고 상호 식별에 꼭 필요한 관계만을 유지한다. -서비스계약(service contract) 서비스들은 커뮤니케이션에 동의해야 하며, 하나 혹은 그 이상의 서비스 명세와 관련 문서들로 정의된다. -자율성 서비스는 캡슐화 하고 있는 로직에 대해 스스로 제어할 수 있다. -추상화 서비스 명세에 서술되어 있는 것을 제외하고, 서비스는 외부로부터 로직을 감춘다. -재사용성 재사용을 촉진하기 위해 로직은 여러 서비스로 나뉘어 있다. -조합성 서비스의 집합은 조정(coordinate)될 수 있으며 조립된 서비스 형태로 존재할 수 있다. -무상태 유지(stateless) 서비스는 특정 시점에 특화된 정보만을 보유한다. -발견성 서비스들은 외부에 잘 드러나도록 명세를 기반으로 하여 설계되므로 외부에서 쉽게 찾을 수 있고 서비스를 식별하는 매커니즘을 통해 접근할 수 있다.
발췌: SOA/ 토마스얼 지음/장세영,황상철, 이현정, 조문옥 옮김 /에이콘
|
http://kr.blog.yahoo.com/younida99/trackback/22/1448