본문 바로가기

Homo Faber/Techniques

비즈니스 컴포넌트 식별 및 구조(2) - 배경

배경

SOA(Service-Oriented Architecture)는 기존의 CBD(Component-Based Development) 방식과 연계가 되면서 최근에 각광을 받는 아키텍처가 되고 있다. 기존의 컴포넌트나 인터페이스 중심의 아키텍처가 비즈니스적으로 의미가 있는 서비스 중심의 아키텍처로 패러다임이 이동하면서 기존의 개발 방식과 차이가 발생하게 되었다.[1]
"SOA" 용어
- 비즈니스 정의 : 경쟁적인 우위를 위한 민첩한 비즈니스 환경을 만들면서 IT를 사용하는 노력을 줄이거나 없애주고 IT의 비즈니스적 가치를 양적으로 측정하는 비즈니스, 프로세스, 조직, 관리, 기술적인 방법들의 총칭.
- (IBM에서 소개된) 또 다른 비즈니스 정의 : 비즈니스 프로세스들의 요소들과 변경되는 비즈니스 우월권을 강조하기 위해 재사용되고 조합되는 보안적이고 표준화된 컴포넌트(서비스)로써 내재된 IT 기반을 처리하는 유연성을 제공
- 가장 광범위한 기술적인 정의 : 시스템 간의 느슨한 결합, 재사용, 상호운영성을 지향하는 기업형 광범위한 IT 아키텍처
- 꽤 복잡한 기술적인 정의 : 모든 함수와 서비스들이 description 언어를 사용해서 정의되며 비즈니스 프로세스를 수행하는데 호출되는 호출가능한 인터페이스를 가지는 어플리케이션 아키텍처. 각각의 상호작용은 서로 독립적이며 모든 다른 상호작용과 장치들과 통신하는 상호 연결된 프로토콜과도 독립적임. 인터페이스는 플랫폼과 독집적이기 때문에 클라이언트는 어떠한 언어로 어떠한 OS를 사용해서 어떠한 장치에서 서비스를 사용할 수 있다.
- 최소한의 공통적인 요소들의 정의 : 상호작용성을 지원하고 유연성과 재사용성을 향상시키기 위해 느슨하게 연결되고 잘 정의된 컴포넌트(서비스)들로 구현된 어플리케이션 기능이 있는 시스템 아키텍처
- 가장 협소한 정의 : SOAP, WSDL, UDDI와 같은 웹 서비스 기술을 사용한 솔루션 아키텍처. 여기서 SOA는 W3C의 웹 서비스 아키텍처 (WSA, Web Service Architecture)를 준수하는 제품 혹은 프로젝트 아키텍처로 정의됨.

사용자 삽입 이미지



즉, 서비스 중심의 아키텍처는 내부 구현체인 컴포넌트에 영향을 미치게 되며, 이는 컴포넌트를 식별하는 방법과 컴포넌트에 대한 구조에 영향을 미치게 됨을 의미한다. 물론, 기존 컴포넌트를 사용해서 서비스를 재구성할 수는 있지만, 이 경우 별도의 장치나 매커니즘을 필요로 하기 때문에, 여러 가지 제약사항으로 인해 부수적인 효과가 발생할 수도 있고, 내부 구조를 더 복잡하게 함으로써 시스템 구조를 더 경직되게 할 수도 있다.[2] 따라서, 비즈니의 유연성과 민첩성을 위해서는 비즈니스 중심의 컴포넌트가 식별되어야 하며, 이에 맞는 컴포넌트 구조를 갖출 필요가 있다.

컴포넌트 구현 : 개개의 컴포넌트들은 명확한 인터페이스를 통해서 어느 특정 어플리케이션에만 국한되지 않게 구현된다. 컴포넌트 구현은 다음과 같이 분류될 수 있다.
· 획득 (acquire) : 컴포넌트는 구매하거나 내부에서 이미 생산된 것을 통해서 얻을 수 있다.
· 기부 (subscribe) : 컴포넌트에 의해 제공된 기능이나 서비스가 제삼자에 의해서 제공되는 형태. 신용확인 그 예이다.
· 수정 (modify) : 새로운 컴포넌트는 기존의 컴포넌트의 변형된 형태이다. 새로운 컴포넌트와 기존의 컴포넌트 사이의 관계를 어떻게 관리해줄 것인가는 (예를 들어, 상속 개념을 사용해서) 상황에 따라 다르고, 필수적인 사항은 아니다.
· 래핑 (wrap) : 기존 어플리케이션은 컴포넌트로 래핑된다. 수정 개념으로 볼 수도 있다.
· 생성 (create) : 새로운 컴포넌트를 만드는 것이다.


다음 >>


[1] Norbert Bieberstein, Sanjay Bose, Marc Fiammante, Keith Johnes, Rawn Shah, "Service-Oriented Architecture Compass: Business Value, Planning, and Enterprise Roadmap," IBM Press, 2005
[2] Gerald C. Gannod, Janet E. Burge, Susan D. Urban, "Issues in the Design of Flexible and Dynamic Service-Oriented Systems," International Workshop on Systems Development in SOA Environments (SDSOA'07) 2007
반응형