 |
|
난이도 : 중급 Rishi S. Balaji, Associate IT Architect, IBM
2008 년 1 월 22 일 두 파트로 이루어진 본 시리즈는 서비스 지향 아키텍처(SOA)의 서비스에 대한 에셋 기반 개발에 초점을 맞춰 설명합니다. 자산 기반 개발과 SOA 개발 세계에서 온 기본적인 IBM® 제품들이 SOA 구현의 에셋들을 어떻게 효과적으로 재 사용 하는지를 설명합니다. 이 글에서는 SOA와 에셋 라이프 사이클과, IBM Rational® Method Composer 플러그인에 기술된 거버넌스 프로세스를 SOA 구현 과정에서 활용하는 방법을 설명합니다. Part 2에서는 서비스 에셋과 메타데이터를 효과적으로 관리하는 방법을 설명합니다.
머리말
SOA의 핵심 원리 중 하나는 서비스들을 SOA 라이프 사이클 동안 재사용 가능한 에셋들로 간주하는 것이다. 따라서, SOA에 있는 서비스들에 정해진 에셋 개발 프로세스와 가이드라인을 적용하는 것이 중요하다. 이 글은 IT 아키텍트, 프로젝트 매니저, SOA 관리자들이 SOA에서 재사용 가능한 에셋으로서의 서비스를 효과적으로 생산, 소비, 관리하는데 IBM 제품들을 어떻게 활용할 수 있는지에 대한 팁을 제시한다.
IBM은 SOA와 에셋 기반 개발을 위한 광범위한 툴을 제공한다. 개별 제품들과 기술에 대한 많은 문서들이 있지만, 에셋 기반 개발 영역과 SOA 구현 영역에서 온 이러한 제품들이 합쳐져서 SOA 구현에서 서비스 재사용이라는 퍼즐을 어떻게 맞추는지를 설명한 글은 없었다. 본 기술자료 시리즈에서는 이러한 논의를 두 편에 걸쳐서 다루고자 한다.
SOA는 비즈니스와 비즈니스를 지원하는 정보 시스템 간 긴밀한 관계를 이룩하기 위해 연결된 서비스 세트로서 비즈니스를 통합하는 엔터프라이즈 IT 아키텍처를 생성하는 아키텍처 스타일이다. SOA에 있는 서비스들은 재사용 가능한 에셋들로 취급된다. 재사용 가능한 서비스들의 저장소를 관리함으로써, 기업들은 새로운 프로세스를 기존 서비스에 빠르게 구현할 수 있고, 기존의 구성법을 바꿀 수 있다.
에셋 기반 개발은 인접한, 문서화 된 소프트웨어 생성물들을 사용함으로써, 소프트웨어 솔루션을 개발하는 것에 관한 것이다. 이것은 이전의 투자들을 활용하고, 미래의 투자에 영향을 주는 방식으로 소프트웨어 개발을 구성하는 것에 관한 것이다. 에셋과 생성물들을 재사용 함으로써, 개발의 속도를 높이고 비용과 위험 부담을 줄여서 문제들을 해결한다.
서비스들은 SOA의 핵심적인 재사용 가능한 에셋 중 하나이기 때문에, 에셋 기반 개발의 원리는 서비스의 효과적인 생성, 소비, 관리를 위해 SOA 구현에 적용될 수 있다. 이 글은 에셋 기반 개발과 SOA 구현에 IBM 툴링을 사용하여 수행될 수 있는 방식에 관한 아이디어를 제공한다. 서비스 외에도, SOA는 비즈니스 프로세스 모델, 레퍼런스 아키텍처, 디자인 패턴 같은 재사용 가능한 자산들을 갖고 있다. 하지만, 이 글의 초점은 서비스 에셋이다.
에셋 기반 개발과 SOA를 위한 IBM 툴
IBM은 에셋 개발과 SOA 구현을 위한 광범위한 툴을 제공한다. 그림 1은 이러한 툴들을 사용하는 다른 역할들과 핵심 툴들을 나타낸 개요도이다. (그림 1 크게 보기)
그림 1. 에셋 기반 개발과 SOA를 위한 IBM 툴링
가장 유용한 에셋 개발 제품에는 Asset-Based Development V3.0, Asset Governance Plug-in V1.0 for Rational Method Composer, IBM Rational Asset Manager, IBM Rational Software Delivery Platform의 기타 개발 및 테스트 툴이 포함된다. (참고자료)
Asset-Based Development V3.0과 Asset Governance Plug-in V1.0 for Rational Method Composer는 에셋 기반 개발을 수행하는데 들어갈 수 있는 액티비티, 태스크, 역할, 인도물들을 제공한다. 이 플러그인은 올바른 결정이 이루어지는지, 투자가 올바른 프로젝트에 투입되는지, 에셋 기반 개발과 관련하여 올바른 측정이 정의 및 파악되는지 등을 확인하는데 사용할 수 있는 가이드를 제공한다. 이 글 후반부에서는 에셋 기반 개발과 에셋 기반 거버넌스를 각각 Asset-Based Development Plug-in과 Asset
Governance Plug-in으로 언급한다.
Rational Asset Manager는 협업 소프트웨어 개발 에셋 관리 솔루션으로서, 조직이 SOA 이니셔티브와 시스템 개발 에셋의 일부인 서비스를 포함하여, 어떤 유형의 개발 에셋이라도 생성, 수정, 관리, 발견, 재사용 할 수 있도록 돕는다. 테스트가 된 에셋들은 개발 팀에 의해서 재사용을 위해 Rational Asset Manager에 저장된다.
IBM의 SOA 툴 제품군에는 다른 제품들도 있다:
- IBM Rational Software Delivery Platform
- IBM Rational Unified Process for Service-Oriented Modeling and Architecture
Plug-in V2.4 for Rational Method Composer
- IBM WebSphere® Integration Developer
- IBM WebSphere Process Server
- IBM WebSphere Business Modeler
- IBM WebSphere Business Monitor
- IBM WebSphere Business Services Fabric
- IBM WebSphere Service Registry and Repository
이 리스트는 에셋 기반 개발과 SOA 구현에 일반적으로 사용되는 기본적인 제품들만 추린 것이다. 이 툴들 중 일부는 전통적인 Java™ 2 Platform, Enterprise Edition (J2EE) 애플리케이션 개발 또는 비즈니스 프로세스 모델링 같은 곳에 사용된다. (참고자료)
툴의 범위와 기능 또는 툴을 사용하는 역할을 포함하여, 많은 관점에서 툴을 바라볼 수 있다. 어떤 관점이든 상관없이, 많은 역할들을 지원할 때, 고립되지 않아야 한다.
SOA 구현은 위에 언급한 SOA 제품들을 사용하여 서비스를 모델링, 조합, 전개, 관리하면서, Asset-Based Development and Asset Governance Plug-in for Rational Method Composer의 프로세스와 가이드를 따라서 SOA의 서비스들이 자산으로서 재사용 될 수 있도록 하고 있다.
SOA와 에셋 라이프 사이클
그림 2는 IBM SOA Foundation 백서와 Asset-Based Development Plug-in에 각각 설명된 SOA와 에셋 라이프 사이클을 묘사한 것이다. (이 아이템들의 참고자료 링크) 이 그림을 보면, SOA 구현이 모델, 조합, 전개, 관리 단계를 거치는 동안, 재사용 가능한 에셋들이 다양한 단계 동안 생성, 소비, 관리되고 있음을 알 수 있다.
그림 2. SOA 라이프 사이클과 SOA 거버넌스를 에셋 라이프 사이클과 에셋 거버넌스로 매핑한 그림
모델 단계 동안, WebSphere Business Modeler의 비즈니스 프로세스 모델을 재사용 하여, 새로운 프로세스를 모델링 하거나, 기본의 프로세스 모델을 분석할 수 있다. RUP® for Service-Oriented Modeling and Architecture Plug-in for Rational Method Composer (이하 RUP for SOMA Plug-in)는 SOA 모델링을 위한 가이드를 제공한다. Asset-Based Development Plug-in과 RUP for SOMA Plug-in은 SOA 구현과 병렬로 사용되어 에셋 기반 개발에 혜택을 주고, SOA를 모델링 한다. 에셋 기반 개발용 Rational Method Composer와 RUP for SOMA와 관련한 섹션에서 자세히 다룬다.
조합 및 전개 단계 동안, 기존 서비스들은 WebSphere Integration Developer에서 새로운 비즈니스 프로세스를 구성한다. 합성 비즈니스 서비스들은 기존 비즈니스 서비스들로부터 조합된다. IBM WebSphere Business Services Fabric Industry Content Packs의 일부인 재사용 가능한 에셋으로서 포함되는 산업 스팩의 비즈니스 서비스 역시 복합 비즈니스 서비스를 조합하는데 사용될 수 있다. 이와 같은 복합 비즈니스 서비스들은 WebSphere Business Services Fabric 플랫폼의 기능을 활용하여 서비스 레벨 메타데이터를 외부화 하고, 다른 비즈니스 에코시스템에서 재사용성을 향상시킨다. 서비스의 런타임 재사용은 WebSphere Service Registry and Repository에 전개된 서비스를 검색함으로써 발생한다. (위에 언급한 제품을 사용하여 에셋을 조합 및 전개하는 것에 관한 내용은 이 글의 범위를 벗어난다. 참고자료 섹션을 참조하라.)
SOA의 관리 단계 동안, 서비스들은 에셋의 관점에서 감시되어 서비스 에셋들의 재사용을 평가한다. 이것은 재사용 관점에서 SOA 구현에서 발생된 비즈니스 가치를 평가하는데 도움이 된다. 서비스는 에셋과 관리의 용이성을 위한 서비스 저장소로서 공개된다. 더욱이, 관리 활동에 영향을 주는 SOA 거버넌스는 에셋 거버넌스와 밀접하게 관련이 있다. 이 글 나머지 부분에서는 이러한 IBM 툴들을 SOA 구현의 자산으로서 서비스를 관리하고 거버넌스를 수행하는데 사용하는 방법을 설명한다.
에셋 기반 개발용 Rational Method Composer와 RUP for SOMA
IBM의 Service-Oriented Modeling and Architecture (SOMA)는 SOA 모델링을 위한 방법과 프로세스를 제공한다. SOA에서 모델링을 사용하는 가이드가 RUP for SOMA Plug-in에 제공된다. Asset-Based Development 용 플러그인과 RUP for SOMA의 관계는 그림 3에 나타나 있다. Asset-Based Development Plug-in에 기술된 것처럼 에셋 라이프 사이클 기능 패턴을 보여주고 있다.
그림 3. 에셋 기반 개발로 매핑된 RUP for SOMA
에셋으로서, SOA의 서비스들은 에셋 라이프 사이클을 따른다. RUP for SOMA Plug-in에서 제공하는 가이드는 서비스를 모델링 하는데 사용된다. 모델링 서비스는 서비스 생성의 초기 단계이기 때문에, RUP for SOMA Plug-in은 Asset-Based Development Plug-in에 설정된 에셋 라이프 사이클의 생성 단계에 맞는다. 그림 3에서 보듯, 서비스 에셋 생성 단계 동안, RUP for SOMA의 지원 가이드를 사용하여 서비스를 모델링 한다.
그림 3은 RUP for SOMA가 에셋 기반 개발 라이프 사이클에 어떻게 맞는지를 보여주고 있다. 그림 4는 이것을 뒤집은 모습으로서, 에셋 기반 개발이 RUP for SOMA에서 지정한 서비스 모델링 단계에 어떻게 맞는지를 보여주고 있다. RUP for SOMA의 각 단계 동안, RUP for Asset-Based Development Plug-in의 원리가 사용된다. 예를 들어, SOMA 구분 단계에서, 기존 에셋들이 검색되고, 에셋 기반 개발의 소비 측면을 사용하여 기존 에셋들의 저장소에서부터 재사용으로 구분된다. RUP for SOMA 프로세스 동안 생성된 프로세스 모델은 에셋 기반 개발 라이프 사이클의 생산 단계의 가이드를 사용하여 에셋 저장소에 공개될 수 있다. 이것은 대체적인 개요도이다. 커스터마이징 된 프로세스를 생성하는 상세한 부분은 이 글의 범위를 벗어난다.
그림 4. RUP for SOMA로 매핑된 에셋 기반 개발 라이프 사이클
에셋 거버넌스와 SOA 거버넌스
일반적으로 거버넌스는 응답성, 정책, 메커니즘, 측정을 정의하여 관리 태스크 정황을 구축한다. IT 거버넌스는 IT와 올바르게 제휴한 정책 수립을 다룬다. 또한, IT 결정이 이루어지고 수행되는 방식을 제어 및 측정하는데 사용되는 정책과 메커니즘이 포함된다.
에셋 거버넌스는 에셋의 라이프 사이클에 초점을 맞춘 IT 거버넌스를 확장하여 에셋 기반 개발의 비즈니스 가치를 보장한다. IT 거버넌스 향상에 매우 중요한 것이다.
마찬가지로, SOA 거버넌스는 서비스의 라이프 사이클, 메타데이터, 조직의 SOA에 있는 복합 애플리케이션들에 초점을 맞춘 IT 거버넌스의 확장이다.
IBM은 에셋과 SOA 거버넌스를 위해 Rational Method Composer 플러그인을 제공하여 조직이 거버넌스 활동을 정의하고 구현할 수 있도록 돕는다. 이 두 개의 플러그인은 네 단계 프로세스(계획, 정의, 실행, 측정)을 정의한다.
SOA 구현이 서비스를 재사용 가능한 에셋으로서 간주하기 때문에, SOA 거버넌스와 에셋 거버넌스에 대한 가이드가 필요하다. 예를 들어, SOA 거버넌스의 정의 단계 동안, 에셋 저장소들은 서비스 에셋을 위해 정의될 수도 있다. 워크플로우는 서비스를 저장소에 공개할 수 있도록 정의될 수 있다. 정책들은 서비스 재사용을 위해 정의될 수 있다. Asset Governance 플러그인의 액티비티를 위한 가이드를 받는다. IBM Rational Method for SOA Governance Plug-in V 1.0 for Rational Method Composer (이하 SOA Governance Plug-in)은 SOA 거버넌스 구현에 개입된 역할, 프로세스, 책임에 관한 전체적인 가이드에 사용될 수 있다.
그림 5는 보다 일반적인 IT와 비즈니스 거버넌스 정황 속에서 에셋과 SOA 거버넌스 간 관계를 보여준다.
그림 5. 비즈니스 거버넌스와 IT 거버넌스 정황 속에서의 SOA 거버넌스와 에셋 거버넌스
SOA와 에셋 거버넌스 간 겹치는 부분은 SOA의 서비스들이 에셋 거버넌스에 의해 정의된 거버넌스 메커니즘을 필요로 하는 재사용 가능한 에셋이라는 사실 때문에 생긴 것이다. SOA 거버넌스 중에 겹치지 않는 부분은 복합 서비스의 전개와 SOA 관리에 개입된 서비스 보안 같은 더 큰 액티비티를 포함하고 있다. 반면, 에셋 거버넌스에는 사용자 인터페이스 컴포넌트와 프로세스 모델 같은 서비스 에셋을 넘어 더 광범위한 에셋과 관련된 액티비티를 포함하고 있다. SOA 구현 외에 에셋 기반 개발에 개입된 조직들은 Asset Governance Plug-in의 가이드를 사용하여 비 SOA 에셋들을 관리한다. 이것이 그림 5에 에셋 거버넌스의 겹치지 않는 부분을 설명해 준다.
조직의 IT 거버넌스 정책에 기반하여, SOA 거버넌스와 에셋 거버넌스의 공통 멤버들이 두 거버넌스 기구의 액티비티를 조정한다.
결론
2개의 시리즈 중 본 첫 번째 기술자료에서는, SOA와 에셋 기반 개발에 도움이 되는 핵심적인 IBM 툴을 설명했다. SOA 라이프 사이클과 거버넌스 프로세스가 SOA용 Rational Method Composer Plug-in 제품들과 에셋 기반 개발 및 거버넌스와 관련하여 에셋 라이프 사이클과 거버넌스 프로세스에 어떻게 매핑 되는지를 배웠다. SOA의 서비스들이 에셋 기반 개발과 SOA 라이프 사이클을 따른다는 것을 배웠으므로, Part 2에서는 서비스와 에셋 라이프 사이클을 통해서 서비스 에셋과 메타데이터를 효과적으로 관리하는 방법을 설명하겠다.
참고자료 교육
제품 및 기술 얻기
토론
필자소개  | 
|  | Rishi S Balaji는 IBM 인도의 Global Business Solutions Center의 IT 아키텍트이다. 현재 서비스 지향 아키텍처용 재사용 에셋 개발을 전문으로 하고 있다. |
기사에 대한 평가
|