조직은 많은 상이한 이유로 인해서 서비스를 제공하거나 사용한다. 한편으로 비즈니스 프로세스를 최적화하기 위해서 공급망(supply chain)을 가로지르는 정보 흐름을 향상시키고 자동화하는 서로 다른 구성원을 한데 아우르는 것과 같은 비교적 명백한 비즈니스 요구사항이 될 수도 있다. 다른 한편으로는 서비스가 IT 시스템의 자원에 구조적인 상승효과를 가져다 주는데에 사용될 수 있으며 그러한 서비스 사용은 비즈니스에 꽤 투명해질 수 있다.
문제는 ROI를 정당화시키기 위해서 서비스가 제공하는 이익의 범위를 이해한다는 것이다. 첫번째 경우, 이익은 해당 비즈니스에 대해서 즉시적이며 명확해야 한다. 하지만, 두번째는 해당 비즈니스에 대한 이익은 덜 직접적이며 장기간을 요할 수도 있다.
이상적으로 조직은 SOA를 적용하기 위한 사유로써 양측을 추구해야만 한다. 즉, 비즈니스에 대해서 즉각적이고 명백하면서도 해당 비즈니스(와 통상 IT)에 대해서 덜 직접적이고 장기간을 요한다는 것이다. 하지만, 비즈니스 이해당사자들에게 장기간의 투자 회수에 대해서 설득하는 것이 더 어렵다는 것이다.
ROI를 정당화시키는데 도움을 주고자 비즈니스와 IT 모두에게 단기간과 장기간 모두를 설명하는 SOA 패턴에 대해서 설명하고자 한다.
패턴 |
요약 |
장점 |
Façade |
수많은 기존 어플리케이션 원천들을 모으는 하나의 서비스 |
변경에 대한 범위를 감소시켜줌 |
Single Service |
기업에 대한 정보, 프로세스, 정책 일관성의 단일 원천 |
일관된 실행 비즈니스 규칙과 정책 |
Standardized Service |
표준화된 서비스 명세 (산업, 업계) |
상호운영성 보장 |
Standardized Semantics |
정보에 대한 의미론적인 수단이 기업, 업계, 혹은 산업 분류와 연합된다. |
오해로 인한 에러 감소 |
Commodity Service |
비즈니스에 핵심이 아닌 유용한 기능을 제공 |
핵심이 아닌 기능에 대한 위임 |
Common Component Service |
서비스와 자동화 단위 간의 일대일 매핑 제공 |
에러를 줄이는 비즈니스 규칙에 대한 일관된 실행 |
Multi-Channel Service |
다중 프로세스 혹은 채널을 지원하는 단일 서비스 |
새로운 채널 요청에 대한 빠른 응대 |
Real time Service Behavior |
실시간 프로세스 실행에 대한 접근과 실시간으로 정확한 정보를 제공 |
STP와 RTE에 대한 장점 |
Real Time Mediation |
서비스 요청에 대한 중재가 정책과 상황에 따라서 실시간으로 결정됨. |
오퍼레이터가 정책을 세팅함으로써 개발자 공수를 감소 |
Differentiated Service Behavior |
하나의 서비스가 상황에 민감한 많은 행위를 제공함. |
다중 서비스를 제공하는 데에 대한 비용과 복잡성 감소 |
패턴 조합 예
조합 | |
Façade + Single Service |
Façade 는 Single Service 이기도 함. |
Façade + Single Service + Real-Time Mediation |
Real-Time Mediation은 Single Service Façade 를 여러 개의 기존 시스템과 연결하는데 사용됨. |
Standardized Service + Standardized Semantics |
서비스 시그너처와 내부 의미들이 연합됨 |
Standardized Service + Commodity Service |
표준화가 유용성화를 유발시키는 지점 |
Façade + Single Service + Multi-Channel Service |
모든 채널을 가로지르는 정보에 대한 일관성을 보장받기 위해서 multi-channel 서비스 역시 Single Service 이다. 차례로 Single Service는 원래 채널 기반이었던 기존 시스템을 가로지르는 Façade 이다. |
Multi-Channel Service + Differentiated Service Behavior |
각 채널에 차별화된 기능을 제공 |
Multi-Channel Service + Real-Time Service Behavior |
채널을 가로지르는 정보에 대한 일관성 보장 |
ROI 범위
패턴 |
프로젝트 |
기업 |
투자 기간 |
Façade |
Y |
Y |
단기 |
Single Service |
Y |
장기 | |
Standardized Service |
Y |
Y |
장기 |
Standardized Semantics |
Y |
단기/장기 | |
Commodity Service |
Y |
Y |
단기 |
Common Component Service |
Y |
장기 | |
Multi-Channel Service |
Y |
Y |
단기/장기 |
Real time Service Behavior |
Y |
단기 | |
Real Time Mediation |
Y |
Y |
단기 |
Differentiated Service Behavior |
Y |
Y |
단기/장기 |
[출처] CBDi Journal, March, 2006
'Homo Faber > Patterns' 카테고리의 다른 글
비즈니스 패턴 (0) | 2008.03.11 |
---|---|
EJB3의 Entity Access Object 패턴 (0) | 2008.02.22 |