 |
|
난이도 : 중급 Rishi Balaji, Associate IT Architect,
IBM
2008 년 4 월 01 일 이 연재는 서비스 지향 아키텍처(SOA)에서 서비스를 위한 애셋 기반 개발에 초점을 맞춘 연재 중 Part 2입니다. 여기서는 IBM 툴링을 효과적으로 활용하여 애셋과 메타데이터를 관리함으로써 SOA 구현 시 서비스 증식을 막고 서비스 재사용을 강화하는 방법을 다룹니다.
개요
Part 1에서는 애셋 기반 개발과 SOA 구현에 사용할 수 있는 몇 가지 주요 IBM 도구를 소개했다. 즉, IBM Rational® Method Composer 플러그인 제품에 기술된 SOA 생명 주기와 거버넌스 프로세스를 애셋 기반 개발에 맞춰 매핑함으로써 애셋 기반 개발 퍼스펙티브를 SOA 서비스로 가져오는 방법을 설명했다.
애셋에서 SOA 서비스는 SOA 애플리케이션을 개발할 때 재사용할 수 있도록 만들어져야 한다. 서비스 자체도 실행 가능한 유닛이기 때문에 서비스 메타데이터는 애플리케이션 배치가 가능해야 하고, 이를 통해 서비스를 발견, 실행해야 한다. IBM은 서비스 애셋과 메타데이터를 관리, 모니터링, 조절하는 몇 가지 도구를 제공한다. 이 글에서는 이 도구들의 기능을 활용해 관리 작업을 설정하는 방법(런타임 활동을 통해 개발 시 서비스 결과를 추적하고, SOA에서 서비스의 재사용성을 평가하는 서비스 사용을 모니터링하는 것 등)에 대해 다룬다.
애셋과 서비스 저장소
생명 주기 동안 SOA 서비스는 목적에 따라 다른 저장소에 저장된다. 서비스 애셋을 효과적으로 재사용하고 쉽게 관리하려면 서비스의 생명 주기 동안 각각의 저장소가 언제 사용되고 그 목적이 무엇인지 이해하는 것이 중요하다.
여기서는 다음 네 가지 주요 저장소에 대해 설명한다.
- IBM Rational Asset Manager
- IBM WebSphere® Service Registry and Repository
- IBM Business Services Repository(IBM WebSphere Business Services Fabric의 한 부분)
- IBM Rational ClearCase®
주의: 이 목록은 SOA에서 사용되는 모든 저장소 목록이 아니다. 이 저장소들은 재사용이 가능한 애셋 관리, 서비스 메타데이터 관리(비즈니스 서비스 통합을 포함하는 서비스를 위한), 구성 관리를 포함한 SOA 구현 시 사용된다. SOA에서 사용할 수 있는 완벽한 저장소 세트 제공에 대해서는 여기에서 다루지 않겠다.
이 저장소들의 목적은 무엇인가?
Rational Asset Manager는 개발 시간 애셋 저장소다. 이 저장소는 Rational Asset Manager에서 솔루션이나 다른 애셋을 개발하는 동안 재사용을 위한 소스 애셋으로 사용할 수 있다. 이는 웹 기반 인터페이스와 이클립스 플러그인을 제공하여 애셋을 발행, 검색, 다운로드한다.
WebSphere Service Registry and Repository는 일차적으로 SOA 구현에 서비스 메타데이터를 저장한다는 뜻이고, 이런 정보에 런타임 접근이 필요한 애플리케이션을 사용한다. 또한 여기에 저장되는 서비스의 생명 주기를 유지하고 효과를 분석하는 기능을 가지고 있다. SOA에서 모든 서비스 관련 메타데이터에 WebSphere Service Registry and Repository를 주요 저장소로 사용할 수 있다. 이렇게 하면 SOA 거버넌스 정책을 쉽게 구현할 수 있을 뿐만 아니라 런타임 접근이 필요한 애플리케이션이 메타데이터를 서비스하여 이 같은 정보를 찾을 수 있게 된다. Rational Asset Manager에서 WebSphere Service Registry and Repository로 서비스 메타데이터를 발행할 수 있다. WebSphere Service Registry and Repository에 있는 서비스 메타데이터는 Rational Asset Manager에 동시에 존재할 수 있으므로 Rational Asset Manager 사용자는 SOA에 배치된 서비스를 볼 수 있다. 또한 Rational Asset Manager를 통해 WebSphere Service Registry and Repository의 메타데이터 복사본을 다운로드할 수 있다.
WSDL(Web Services Description Language)과 XSD(XML Schema Definition) 파일 같은 기술적 서비스 메타데이터를 저장하기 위해 WebSphere Service Registry and Repository를 사용할 수 있는데, 그 동안 Business Services Repository(WebSphere Business Services Fabric 제품의 일종)는 일반적으로 통합 비즈니스 서비스와 결합하는 비즈니스 수준의 서비스 메타데이터를 저장한다. 이런 메타데이터에는 특정 비즈니스 서비스에 접근할 수 있는 역할이 무엇인지, 어떤 채널을 통해 이루어지는지가 포함된다. 비즈니스 서비스와 관련된 비즈니스 수준 정책 또한 Business Services Repository의 일환이다.
Rational ClearCase는 개별 산출물이나 파일의 버전을 관리하는 소프트웨어 구성 관리 도구다. 개발하는 동안 Rational ClearCase를 사용할 수 있는데, 이를 통해 협업이 가능하다. 개별 Rational ClearCase 산출물은 이후 추가 메타데이터 정보와 함께 애셋으로 묶이고, Rational Asset Manager에 특정 애셋 버전으로 보내진다.
이 저장소들이 SOA에서 효과적인 서비스 애셋으로 어떻게 재사용되는가?
다른 저장소의 통합 능력을 사용하고 서비스의 생명 주기 동안 저장소를 목적에 맞게 활용함으로써 SOA에서 서비스 애셋을 효과적으로 재사용할 수 있다. 그림 1은 다른 저장소 간의 통합과 서비스 애셋에 맞게 산출물이 저장되는 것을 보여준다.
그림 1. 서비스 수명에서의 저장소
저장소들 간의 통합
Rational Asset Manager는 Rational ClearCase와 통합해 애셋 산출물을 저장하고 애셋의 일부분인 산출물을 참조한다. Rational Asset Manager에는 Rational ClearCase와 완전히 독립된 두 개의 다른 통합이 있다. 이에 관해 자세히 살펴보자.
-
서버 통합: Rational Asset Manager는 Rational ClearCase의 저장소를 사용하여 자신의 파일 시스템을 쓰는 대신 애셋을 저장할 수 있다. 이는 서버 관리자 구성 옵션이며 Rational Asset Manager 사용자와 명확히 구분된다.
-
클라이언트 통합: 이클립스와 Rational ClearCase를 사용하는 Rational Asset Manager가 애셋을 개발, 저장할 때 이 애셋들을 Rational Asset Manager 서버 제어로 보내고 나면, Rational Asset Manager는 버전 제어 도구에서 가져온 이 애셋을 인식하고 소스에 레퍼런스를 만들어 이 정보를 애셋과 함께 저장한다. 이 통합은 Rational ClearCase를 사용해 보낸 애셋을 저장하도록 Rational Asset Manager 서버가 구성되어 있지 않아도 작동한다.
Rational Asset Manager는 또한 WebSphere Service Registry and Repository와 통합해 SOA에서 애셋 관리자에게 배치된 서비스를 보여준다. 또한 WebSphere Service Registry and Repository에 서비스 메타데이터를 발행할 수 있도록 한다.
WebSphere Business Services Fabric은 WebSphere Service Registry and Repository와 통합하여 기술적 서비스 메타데이터를 입증하는데, 이는 이후 비즈니스 수준의 서비스 메타데이터에 맞춰지고 Business Services Repository에 저장된다.
서비스 산출물과 메타데이터 관리하기: 예제
이 제품들이 각각 통합되도록 구성되어 있다고 가정하자. 여기서는 이 저장소들을 효과적으로 관리하는 방법과 SOA에서 서비스를 재사용하는 방법을 보여준다. 신용 확인 서비스 예제를 통해 그림 1에서 보여준 다른 저장소들을 사용하여 이 서비스를 위한 산출물과 메타데이터를 관리하는 방법을 설명한다.
IBM Rational Software Architect 같은 환경에서 서비스를 개발할 때 Rational ClearCase는 서비스 산출물을 유지한다.
Rational Asset Manager가 Rational ClearCase 클라이언트 통합을 위해 구성됐다고 가정하면 테스트된 서비스는 Rational Asset Manager Eclipse 플러그인을 사용해 Rational Asset Manager에 발행될 수 있다. Rational ClearCase에 저장된 WSDL과 XSD 구현 파일 같은 애셋 산출물은 Rational Asset Manager의 애셋에 의해 참조된다. Rational Asset Manager는 캐싱을 위해 자주 사용된 산출물을 복사한다. 애셋 이름, 설명, 몇 가지 카테고리 등 서비스와 관련된 추가 메타데이터는 Rational Asset Manager에 저장된다. 이제 서비스 애셋을 재사용할 수 있다.
Rational Asset Manager 사용자는 신용 확인 서비스를 위해 Rational Asset Manager 이클립스 플러그인을 검색하고 재사용을 위해 애셋을 다운로드한다. 다운로드할 동안 Rational Asset Manager는 애셋을 ClearCase 버전에 첨부할 것인지, 애셋의 버전 제어에 독립적인 버전으로 작업 공간에 받을 것인지 옵션을 제공한다.
SOA 애플리케이션에서 신용 확인 서비스를 사용하기 위해 배치할 때 메타데이터는 WebSphere Service Registery and Repository에 최적의 상태로 있어야 한다. WebSphere Service Registry and Repository가 모든 배치된 서비스의 중앙 저장소기 때문이다. Rational Asset Manager에서 WebSphere Service Registry and Repository로 관련된 서비스 메타데이터를 발행하면 된다. 구현 파일과 같은 서비스 산출물은 항상 Rational Asset Manager에 남고 메타데이터만 WebSphere Service Registry and Repository로 발행된다.
Rational Asset Manager에서 WebSphere Service Registry and Repository로 신용 확인 서비스 메타데이터 파일과 CreditCheck.wsdl 및 XSD 파일을 발행하면 양쪽 저장소에 모두 CreditCheck 링크가 만들어진다. WebSphere Service Registry and Repository 사용자는 Rational Asset Manager의 서비스 산출물을 추적할 수 있다. 마찬가지로 Rational Asset Manager 사용자도 WebSphere Service Registry and Repository에 배치된 산출물을 추적할 수 있다. 주의: WebSphere Service Registry and Repository에 메타데이터를 발행하면 WebSphere Service Registry and Repository에 변경이 생길 수 있기 때문에 사용자는 Rational Asset Manager에서 WebSphere Service Registry and Repository로의 링크를 따라 배치된 서비스 버전에 맞는 서비스 메타데이터에 접근할 수 있다.
WebSphere Service Registry and Repository에 서비스 메타데이터가 생겼으니 이제 다른 애플리케이션이 이 데이터를 다른 목적으로 사용할 수 있다. Composite Business Services 어셈블러는 WebSphere Business Services Fabric이 제공하는 툴링 지원을 사용하여 WSDL과 XSD 파일 같은 기술적 서비스 메타데이터를 WebSphere Service Registry and Repository에서 Business Services Repository로 제공한다. 예를 들어 CreditCheck.wsdl과 Account.xsd 파일은 WebSphere Service Registry와 Repository에 명시할 수 있고 비즈니스 수준의 메타데이터에 맞출 수 있다. 이런 메타데이터는 CreditCheck에 맞춰 웹 포털 사용자를 통해 접근이 가능하다. 게다가 위험도가 낮은 소비자를 위한 빠른 사전 승인을 가능케 하는 비즈니스 정책을 메타데이터의 부분으로 서비스에 적용할 수 있다. Composite Business Services 어셈블러는 이런 비즈니스 수준의 메타데이터를 서비스에 추가하고 Business Services Repository에 저장한다.
이를 통해 애셋 관리 공간과 각기 통합된 SOA 공간의 다른 저장소들은 서비스 생명 주기의 각 단계에 맞게 다른 목적을 수행하는 서비스를 효과적으로 관리, 거버넌스하게 된다.
서비스 재사용 평가하기
SOA의 서비스 관리에서 중요한 점은 서비스 애셋 재사용성을 모니터하고 보고할 수 있다는 것이다. 이는 애셋 기반 개발에서 비즈니스 가치 결과를 평가하고 거버넌스 정책을 제대로 조절하는 데 필수적이다. 여기서는 SOA 관리 공간의 주요 제품을 사용해 서비스 재사용성을 보고하는 방법을 소개한다.
우선 WebSphere Service Registry and Repository와 IBM Tivoli® Composite Application Manager를 사용해 서비스 재사용성을 어떻게 평가하는지 소개한다. 그런 다음 WebSphere Business Services Fabric Performance Manager를 사용해 컴포지트 비즈니스 서비스 재사용을 어떻게 평가하는지 소개한다.
WebSphere Service Registry and Repository로 서비스 재사용 평가하기
WebSphere Service Registry and Repository는 Tivoli Composite Application Manager(이하 Composite Application Manager)와 통합하여 후자에 등록된 서비스에 관한 정보를 제공하고 배치된 서비스에 관한 운영 정보를 가져온다. 운영 정보는 WebSphere Service Registry and Repository의 서비스와 관련된 메타데이터를 풍부히 하는 데 쓰인다. WebSphere Service Registry and Repository와 일반적으로 Trivoli 제품을 사용하는 모니터링 및 관리 인프라스트럭처 간의 두 가지 주요 인터랙션은 그림 2에서 볼 수 있다.
그림 2. WebSphere Service Registry and Repository와 Composite Application Manager로 서비스 재사용성 평가하기
Composite Application Manager는 어댑터를 사용해 SOA 관리와 관련된 서비스 데이터를 발견한다. 이 어댑터들을 사용해 다음과 같은 예상을 할 수 있다.
- 관찰된 서비스는 에이전트 모니터링 운영 애플리케이션과 서비스를 실행해 SOA의 Discovery Library Adapter를 위한 Composite Application Manager를 통해 발견된다.
- 등록된 서비스는 발행된 서비스와 관련된 정보를 위해 WebSphere Service Registry and Repository를 질의함으로써 WebSphere Service Registry and Repository Discovery Library Adapter를 사용해 발견된다.
관찰된 서비스와 등록된 서비스 정보의 중재는 애셋(서비스) 재사용에 관련된 다음 상황을 짚어내는 데 도움이 된다.
전달된 서비스 정보 사용하기
서비스 상태 정보는 SOA에서 Tivoli 관리 인프라스트럭처가 제공하고 Tivoli Composite Application Manager가 활용하는 상황과 이벤트 메커니즘을 사용해 WebSphere Service Registry and Repository로 전달된다. IBM Tivoli Monitoring은 PC에 설치된 다양한 모니터링 에이전트에서 데이터를 모은다. 웹 서비스 정보는 SOA의 Composite Application Manager에 의해 수집되고 보여주기 위해 속성 테이블에 저장된다. 이벤트는 SOA의 Composite Application Manager에서 속성 값이 특정 스레스홀드(threshold)에 도달할 때 실행된다. SOA의 Composite Application Manager 상황은 속성 세트가 스레스홀드에 대해 테스트되는 상태다. 이 상황은 미리 정의된 구간에서 상태를 평가하고 적절한 자동 응답과 공지 메서드를 불러낸다.
웹 서비스의 메시지 크기나 응답 시간이 구성된 스레스홀드를 넘을 때처럼 웹 서비스에 의해 오류가 생길 때 미리 정의된 어떤 상황이 일어난다. 이런 미리 정의된 상황은 맞춤 스레스홀드 값으로 구성하거나 서비스의 특정 속성을 모니터하기 위해 정의할 수 있다. 상황 이벤트에 결함이 있을 때 WebSphere Service Registry and Repository의 서비스 속성은 운영 메타데이터로 업데이트된다.
서비스 관리 관점에서 이 정보를 사용해 서비스 애셋과 서비스 마이그레이션 계획, 은퇴 전략 활용을 적절히 측정할 수 있다. SOA의 유효성은 서비스 정보에서 찾을 수 있다. 서비스 정보는 서비스 이용이 구매자들 전체에서 전반적인 서비스 재사용 정책의 성공을 직접적으로 반영할 수 있는 곳이다. 서비스에서 결함이 발견될 수 있고(예를 들어 실패 상황 이벤트를 기반으로) WebSphere Service Registry and Repository에서 Rational Asset Manager까지 애셋 산출물을 추적하고 Rational Asset Manager와 Rational ClearQuest®의 통합 기능을 사용해 IBM Rational ClearQuest에서 키울 수도 있다.
WebSphere Business Services Fabric Performance Manager를 사용해 비즈니스 서비스 재사용 평가하기
IBM Business Services Performance Manager를 통해 비즈니스를 시각화하고 서비스 지향 프로세스 및 애플리케이션을 모니터한다. Performance Manager는 비즈니스 서비스에 관한 운영 정보를 주는 몇 가지 훌륭한 보고서를 제공한다.
이 보고서들을 사용해 애셋 재사용과—특히 비즈니스 서비스 사용에 대해—서비스 성능에 대한 피드백을 제공할 수 있다. 이에 관해 더 자세히 알아보자.
비즈니스 서비스 사용 보고서: 비즈니스 서비스 사용 보고서는 특정 기간 동안 조직에 의해 비즈니스 서비스가 일어난 횟수를 보여주는 볼륨 메트릭(volume metric)을 준다. 이 메트릭을 사용해 조직에서 애셋 사용을 판단할 수 있다. 낮은 값은 비즈니스 서비스가 사용되지 않았음을 나타낸다. 결국 비즈니스와 기술면에서 추가 애셋 분석을 통해 이유를 이해한다. 애셋에 기술적 결함이 있으면 다중 컴포지트 비즈니스 서비스에서 재사용 비율이 낮아질 수 있다. 이 또한 애셋이 비즈니스 값을 가지는 문제를 해결할 수 없으므로 애셋을 재사용하는 데 적합하지 않을 수 있다.
비즈니스 서비스 사용 보고서는 또한 비즈니스 서비스가 발생할 때 드는 비용을 알려준다. 이를 비즈니스 서비스 애셋을 사용하는 데 드는 전체 비용의 매개변수 중 하나로 사용할 수 있다. 서비스 제공자가 컴포지트 비즈니스 서비스를 사용하는 비즈니스 모델에서 제공자는 적절한 값으로 비즈니스 서비스 비용을 구성하고 사용 보고서에서 구매자가 지불하는 비용으로 사용한다. 이런 모델에서 비용 메트릭은 애셋을 사용해 갖게 되는 이익으로 돌아온다.
서비스 성능 보고서: 서비스 성능 보고서는 웹 서비스 요청의 전체 수에 대해 서비스된 웹 서비스 요청의 비율을 보여준다. 이 메트릭을 사용해 런타임 시 서비스에서 예측되는 유용성 요구사항을 분석한다. 낮은 유용성 값은 작동하지 않는 요구사항에 대한 애셋의 결함을 나타낸다.
서비스 성능 보고서는 또한 특정 서비스, 웹 서비스 실패 수, 서비스의 평균 응답 시간에 대한 트랜잭션 수를 보여준다. 이 정보를 비즈니스 서비스 사용 보고서의 볼륨 메트릭과 마찬가지로 서비스 애셋의 런타임 재사용 표시로 사용할 수 있다.
결론
이 연재는 SOA에서 애셋 기반 개발의 중요성을 보여준다. 애셋 기반 개발을 가능케 하는 주요 IBM 제품을 강조하고 이를 SOA 구현에서 어떻게 사용하는지 설명했다.
SOA 구현에서 IBM이 제공하는 주요 서비스와 애셋 저장소를 보여줬다. 또한 이 저장소들의 통합된 구현이 SOA에서 효과적인 서비스 거버넌스를 어떻게 도왔는지 다뤘다. 마지막으로 IBM 제품의 몇 가지 모니터링 기능을 활용해 SOA에서 서비스 애셋 재사용을 평가하는 방법을 다뤘다.
참고자료 교육
제품 및 기술 얻기
토론
필자소개  | 
|  | Rishi S Balaji는 IBM 인도 지사의 글로벌 비즈니스 솔루션 센터에서 IT 아키텍트로 일하고 있다. 현재 서비스 지향 아키텍처용 재사용 애셋 개발을 전문으로 하고 있다. |
기사에 대한 평가
 |
| 이 문서 북마킹 하기
|
|