버전 8.0은 IBM® Rational® Software Architect 제품군의 기본 릴리스이다. Rational Software Architect는 특정 도메인에 적합한 기능이 필요하게 되면 이에 따라 기능을 증대할 수 있는 기본적인 제품을 제공하도록 다시 패키지 되었다. 이외에도 Rational Software Architect에서 지원하는 기술을 확장하고 생산성과 사용 편의성을 개선하는 중요한 핵심 기능이 새롭게 추가되었다. 다음 요약 내용을 통해, 이 기사에서 다룰 새로운 기능을 간략하게 살펴보도록 하자.
- "완전히 새로워진 RSA:" 사용자 인터페이스의 기본적인 복잡도가 대폭 줄어들었고 핵심 기능이 기본 Rational Software Architect 제품에 다시 패키지 되었으며 SOA(Service Oriented Architecture), 전개 계획, C++, 아키텍처 통합 및 변환, 통신이 가능한 애플리케이션 그리고 아키텍처 시뮬레이션 및 유효성 확인과 같은 기본 기능이 확장되었다.
- 생산성 개선: 계층과 그리기 표면, 테마, 우수한 다이어그램 피드백 및 새로운 레이아웃 알고리즘뿐만 아니라 패턴과 변환을 빌드하는 데 도움을 주는 스마트 가이드가 주로 개선되었다.
- 폭넓은 기술 지원: 타이밍 다이어그램과 상호작용 개요 다이어그램이 도입된 UML 2.2에 대한 표준 지원과 BPMN2 및 SoaML 지원이 개선되었으며 또한, 아키텍처 시뮬레이션, VB.NET 라운드 트립 엔지니어링 및 IBM Smart Business Development 및 Test Cloud에 대한 지원이 개선되었다.
이 기사의 나머지 부분에서는 이러한 주제를 각각 자세히 살펴보고 새로 추가된 주요 기능 중 일부를 설명하게 된다.
먼저, 이 릴리스를 통해 얻을 수 있는 주요 혜택을 몇 가지 신속하게 살펴보도록 하자.
- 별도로 구매할 수 있는 확장 오퍼링에서 제공하는 새롭고 중요한 기능을 갖춘 기본 제품을 낮은 가격으로 구매할 수 있게 되어 그 가치가 개선되었다. 고객은 이제 해결해야 하는 특정 문제에 맞춰 효율적으로 제품을 구매할 수 있다.
- 디자인한 제품을 모델 실행 기능을 통해 더욱 신속하고 효율적으로 시뮬레이션하여 유효성을 검증할 수 있다. 또한, 이 기능을 사용하면 요구사항을 보다 깊이 있게 파악하여 더욱 효과적으로 디자인을 검토할 수 있으며 소프트웨어 개발 라이프사이클 초기에 문제를 발견하여 이를 정정할 수 있다.
- 사용 편의성을 대폭 개선하여 생산성을 개선하였으며 또한, 대형 모델에 대한 성능과 필요한 기능만을 설치하는 기능이 개선되었다.
- 워크시트 가져오기 및 DoDAF 2 PES 지원과 같은 새로운 방법을 사용하여 아키텍처 데이터를 교환하고 변환함으로써 개발자가 엔터프라이즈 아키텍처와 비즈니스 드라이버에 맞춰 솔루션을 유지할 수 있게 도움을 준다.
이 섹션에서는 RSA(Rational Software Architect) 패키징과 관련된 변경사항을 살펴본다.
IBM® Rational® Software Modeler와 IBM Rational Software Architect Standard Edition은 하나의 코어 제품인 Rational Software Architect로 표준화되었다. 이 제품은 이전의 Rational Software Architect 제품 대비 매우 낮은 소매 가격으로 Java™, C# 및 VB.NET(Microsoft® Visual Basic® .NET)에 BPMN 2(Business Process Modeling Notation), UML 2(Unified Modeling Language) 모델링, 코드 시각화 및 조정된 모델링을 지원한다. 통합 아키텍처 프레임워크를 사용하거나 배치 모델링을 통해 협업과 시뮬레이션 기능을 제공하는 확장 세트를 선택적으로 사용하여 이러한 기본 플랫폼을 확장할 수 있다.
그림 1. Rational Software Architect와 확장 기능에 대한 논리적 개요
IBM® Rational® Software Architect for WebSphere® Software는 여러 가지 핵심 기능과 확장 기능으로 구성된 콜렉션을 할인된 가격으로 구입할 수 있도록 계속해서 편리한 단일 오퍼링 방식으로 제공된다.
버전 8로 이동하는 과정에서 코드 시각화와 라운드 트립 엔지니어링 기능을 사용할 수 있기 때문에 IBM® Rational® Software Modeler의 고객은 이렇게 변경됨으로써 다양한 혜택을 얻게 된다.
Rational Software Architect Standard Edition을 사용해 온 경우에는 현재의 기능과 함께 패리티를 유지하도록 적절한 확장 기능을 받게 된다.
이제 이러한 주요 모델링 확장 기능을 상위 레벨에서 각각 살펴보도록 하자.
시뮬레이션 확장 기능
시뮬레이션 확장 기능을 사용하면 활동 다이어그램, 시퀀스 다이어그램, 통신 다이어그램이나 상태 다이어그램과 같은 모든 UML 작동을 시뮬레이션할 수 있다. 작동 다이어그램에서 현재 위치를 강조하여 코드를 단계적으로 살펴보듯이 UML 작동을 단계별로 조사할 수 있으며 복합 구조체 다이어그램이나 토폴로지 다이어그램에서도 이러한 작업을 수행할 수 있다. 이렇게 하면 여러 가지 혜택을 얻을 수 있다.
- 사용자는 초기에 시스템의 작동을 쉽게 이해할 수 있어서 UML 작동 과정에서 발생할 수 있는 결함을 사전에 제거할 수 있다.
- 사용자는 복합 구조체 다이어그램에 주석을 달아서 UML 작동이 해당 모델의 정적 구조에 어떠한 영향을 주는지 이해할 수 있다.
- UML 작동이 배치 토폴로지에 어떠한 영향을 주는지 그리고 사용 가능한 인프라가 애플리케이션 작동에 미칠 수 있는 영향을 인식할 수 있다.
시뮬레이션은 엄격한 스펙을 작성하려고 UAL(UML Action Language)을 적용한 공식 모델이나 비공식 모델에서 작동할 수 있다. 따라서 초기 디자인 단계에서 시뮬레이션을 실행할 수 있다. 그런 다음에야 주요한 디자인 결함이나 문제점을 제거할 수 있으며 특히, 인프라 및 네트워크의 가용성과 관련된 문제점을 제거할 수 있으며 나중에는 UML 작동의 논리적 결함을 식별할 수 있다.
그림 2. 토폴로지 다이어그램의 시뮬레이션 히스토리
배치 모델링 확장 기능
현재 배치 모델링 확장 기능에는 테마, 계층 및 다이어그램 피드백과 같은 UML 모델에 추가된 일반적인 모델링 개선사항이 포함되어 있다. 따라서 현재는 복잡한 배치 토폴로지를 작성하고 이해하기가 훨씬 더 쉬워졌다. 또한, 자체 토폴로지 요소의 정의, UML 모델과의 통합, 배치 유닛 유형의 지원 및 토폴로지를 사용한 자동화 안내와 같은 기능이 대폭 개선되었다.
현재 배치 모델링 확장 기능은 Microsoft® 아키텍처인 IIS(Internet Information Services), SQL Server®, .NET® 프레임워크, Silverlight®, ASP.NET, WCF(Windows Communication Format), WRF(Windows Presentation Format) 등을 지원한다. 그 덕택에 Microsoft 동종 환경과 이기종 환경에서 제안된 배치를 모델링하기가 수월해졌다.
C++ 확장 기능
C++로 개발하는 팀을 위해 Rational Software Architect v8에서는 C++ 확장 기능을 통해 모델을 코드와 링크하는 다음과 같은 세 가지 표준 방식을 제공한다.
- 기존 코드를 이해하는데 도움을 주는 시각화
- 애자일(Agile) 방식을 따르는 팀이나 덜 복잡한 시스템을 위한 혼합 모델링
- 모델에서 추상화를 유지해야 하는 복잡한 시스템을 위한 조정된 모델링
통신 애플리케이션 모델링 확장 기능
통신 애플리케이션 모델링 확장 기능은 다음과 같은 기능을 지원함으로써 NGN(Next Generation Networks) 융합 서비스 애플리케이션 개발을 촉진한다.
- SIP(Session Initiation Protocol) 서블릿의 디자인 및 생성
- SIP 호출 플로우 디자인
- 오픈 소스 SIPp 테스트 유틸리티에 맞는 SIPp 테스트 케이스 생성
- NGOSS(New Generation Operations Systems Software) 샘플 모델 및 지침 제공
- ParlayX의 SoaML 참조 모델(통신 산업에 적합한 과금 서비스와 운영을 위한 표준 웹 서비스 API 세트)과 ParlayX를 기반으로 하는 통신 웹 서비스를 생성하는 기능
Rational Software Architect v8은 SIP 1.1을 지원하며 또한, 호출 플로우를 SIPp로 변환하는 기능과 SIPp를 호출 플로우로 변환하는 기능을 지원한다.
SOA 및 WebSphere 확장 기능
v8에는 모든 SOA(Service Oriented Architecture)와 WebSphere 기능이 별도의 오퍼링에 번들되어 있으며 이 오퍼링에는 IBM® Rational® Application Developer와 SOA의 모든 변환 기능과 기존 WSDL(Web Services Description Language)을 통해 SoaML 서비스 모델을 생성하는 기능이 포함되어 있다. 따라서 기존의 자원을 활용하여 신속하게 서비스를 빌드하고 이 서비스를 이용하여 새로운 서비스와 비즈니스 프로세스 플로우를 모델링한 다음, 이 모델을 이용하여 필수 서비스 코드를 생성할 수 있다. 또한, 최신 SoaML 스펙 1.0 베타 2 버전을 지원하는 기능이 추가되어 BPMN2 프로세스 모델을 사용하거나 재사용하여 서비스 모델을 시작하거나 지정하는 작업이 훨씬 더 수월해졌다.
통합 아키텍처 프레임워크 확장 기능
통합 아키텍처 프레임워크 확장 기능은 IBM의 UPIA, 통합 아키텍처용 UML 프로파일을 사용하여 조직, 전략, 이니셔티브, 목표 등과 같은 비즈니스와 솔루션 아키텍처의 관계를 모델링하는 기능을 지원한다.
v8.0은 모든 요소를 보안 분류에 따라 정렬하는 기능을 지원할 뿐만 아니라 UPIA 모델을 다른 DoDAF 호환 모델링 도구로 가져오거나 내보낼 수 있도록 미국 DoDAF 2(Department of Defense Architecture Framework) PES(Physical Exchange Specification)를 지원한다. 또한, 워크시트나 CSV 파일에서 데이터를 가져올 수 있는 기능이 새로 추가되었다. 이 기능은 아마도 IBM® Rational® System Architect와 같은 엔터프라이즈 아키텍처 도구나 워크시트에서 관리될 것으로 보이는 비즈니스 목표를 가져오는 데 특히 유용하다.
그림 3. 보안 분류와 연관된 UPIA 요소
v8에서는 다이어그램 계층이 추가되어 사용자가 계층에 요소를 할당한 후, 계층을 숨기거나 표시함으로써 다이어그램에서 복잡한 정보를 관리할 수 있게 되었다. 다시 말해서 사용자는 복잡한 배치 토폴로지를 작성하고 다양한 계층에서 복잡한 관계를 관리하거나 이 계층을 사용하여 시간에 따라 디자인이 어떻게 변화하는지 확인할 수 있다. 다이어그램 계층은 UML 모델, BPMN(Business Process Modeling Notation) 모델 및 배치 토폴로지를 포함한 모든 모델과 다이어그램 유형을 대상으로 사용할 수 있다. 그림 4에 있는 다이어그램에서는 계층을 사용하여 시간에 따른 변화를 강조하고 있으며 이 화면의 맨 위에는 현재의 모델이 표시되어 있고 그 밑에는 다음 버전의 모델이 표시되어 있다.
그림 4. 시간에 따른 변화가 표시된 다이어그램 계층 예
현재 Rational Software Architect에서는 다이어그램 테마를 정의할 수 있어서 사용자가 다이어그램의 색상과 룩앤필을 제어할 수 있다(그림 5 참조). 다시 말해서 Rational Software Architect는 IBM® Rational Rose® 룩앤필 테마와 Rational Software Architect 이전 버전의 룩앤필 테마를 제공한다. 테마를 이용하면 느낌이 매우 편안하고 보기에 좋은 다이어그램을 빌드할 수 있을 뿐만 아니라 색상을 통해 특별한 시맨틱 정보를 추가할 수 있으며 또한, 일관된 형식으로 이러한 정보를 추가할 수 있다.
그림 5. 테마 사용자 정의
현재 Rational Software Architect에는 Eclipse용 IBM® ILOG® JViews 그래프 레이아웃을 기반으로 하는 15개의 자동화된 레이아웃 형식이 포함되어 있으며 이 레이아웃 형식은 적절한 방식으로 대형 다이어그램을 조직화하는 데 사용할 수 있다. 이러한 방식을 통해 특정 다이어그램에 적합한 레이아웃 유형을 원하는 대로 결정하고 모든 다이어그램에 단일한 레이아웃 알고리즘을 적용하는 대신 이러한 도구를 사용하여 원하는 형식으로 다이어그램을 레이아웃할 수 있다. 이러한 기능은 기존의 코드나 복잡한 배치 토폴로지를 검사할 때 특히 유용하다. 또한, 이러한 자동화된 레이아웃을 이용하면 잘 짜여진 방식으로 모델을 보고 추상화를 구축하거나 복잡한 모델을 이해하기가 더욱 수월해진다. 가장 중요한 점은 이러한 기능을 통해 다이어그램의 형식을 직접 조정하는 데 소요되는 전체 시간을 절약할 수 있기 때문에 생산성이 증대되고 더욱 많은 시간을 가치가 높은 활동에 부여할 수 있다는 사실이다.
그림 6. 그래프 레이아웃 예
Rational Software Architect의 가장 강력한 기능은 달라지는 요소를 지정하여 새로운 코드를 신뢰성 있게 생성할 수 있도록 기존의 코드를 가져와서 패턴이나 변환으로 바꾸는 기능이다. 일부 프로젝트에서는 이러한 모델 중심 개발(MDD) 방식을 사용하여 대부분의 코드를 생성한 결과 개발 시간이 감소하고 결함 밀도가 훨씬 줄어들었다. 그러나 새로운 변환 작성자가 시작하기에는 어려울 수 있다. 버전 8에는 패턴과 변환 프로젝트를 분석하여 변환을 완료하기 위해 수행해야 하는 다음 단계를 제시하는 새로운 지침이 추가되었다. 이러한 자동화된 지침을 이용하면 새로운 변환 작성자가 훨씬 쉽게 변환을 완료할 수 있다. 또한, 이 지침은 작업 내용을 추적하여 기록하고자 하는 숙련된 사용자에게도 도움이 된다.
그림 7. MDD Guidance 탭 화면 뷰
또한, 기본적으로 기초가 되는 Eclipse 플랫폼을 너무 많이 노출하지 않으면서 설치하는 기능이 추가되어 사용 편의성이 개선되었다. 이 기능을 이용하면 Java™ 코드나 Eclipse 확장을 개발하는 활동과 달리 아키텍처와 디자인을 작성하거나 관리하는 활동에 맞게 훨씬 더 최적화된 워크벤치 환경을 구성할 수 있다. 이 기능은 모델링에 집중하기를 원하며 코드의 생성이나 코드와의 상호작용에는 관심이 없는 개발자에게 적합하다. 그림 8과 9에 있는 캡처 화면에는 UI가 단순화된 워크벤치와 New Project 마법사에 대한 예가 표시되어 있다.
그림 8. UI가 단순화된 Rational Software Architect의 초기 뷰
그림 9. UI가 단순화된 New Project 마법사
이 릴리스에서는 C#과 Java에 이어 Microsoft VB.NET이 지원 언어로 추가되었다. 모든 언어가 지원됨에 따라 VB.NET 통합 개발 환경에서는 기존 코드를 이해하는 데 필요한 시각화, 덜 복잡한 시스템이나 애자일 방식을 따르는 팀에 적합한 혼합 모델링 그리고 모델에서 추상화를 유지하는 것이 중요한 복잡한 시스템을 위한 라운드 트립 엔지니어링 기능을 지원한다.
VB.NET 통합 개발 환경은 다음과 같은 기능을 지원한다.
- 이벤트 핸들러 모델링
- XML 설명
- 일반 및 부분 유형
- 일반 제한조건
- Visual Basic 프로젝트의 Root Namespace 모델링
- WCF(Windows Communication Foundation) 서비스 라이브러리
Rational Software Architect v8에서는 C#과 VB.NET용 .NET Framework 4와 Microsoft Visual Studio 2010을 새로 지원한다.
이 릴리스에서는 UML 지원 부분이 개선되어 타이밍 다이어그램(간결한 표기법)과 상호작용 개요 다이어그램이 추가되었다.
타이밍 다이어그램은 시간에 따라 오브젝트가 어떻게 작동하는지 조사하는 데 유용하며 특히, 오브젝트 간의 상호작용이 어떻게 이루어지는지 시간 프레임 상에서 강조된다. 또한, 타이밍 다이어그램은 오브젝트의 작동과 관련된 특성에 대한 성능 제한조건을 정의하는 데 유용하다.
그림 10. 타이밍 다이어그램 예
상호작용 개요 다이어그램에는 상호작용 세트(시퀀스 다이어그램) 간의 제어 플로우가 표시된다. 이 다이어그램은 활성 다이어그램과 비슷한 표기법을 사용하며 다양한 상호작용이 함께 작동하여 유스 케이스의 기본 플로우와 대체 플로우를 충족시키는 과정을 적절하게 보여준다.
그림 11. 상호작용 개요 다이어그램 예
또한, Rational Software Architect는 개발자가 애플리케이션을 개발하고 테스트하는 과정에서 필요할 때 클라우드 자원을 요청하여 사용할 수 있도록 IBM Smart Business Development와 Test Cloud에 적합한 Eclipse 기반의 클라이언트를 제공한다. 클라우드 클라이언트는 개발자가 스토리지 볼륨과 IP 주소는 물론이고 자신의 클라우드 인스턴스를 요청하고 관리할 수 있는 하나의 뷰를 제공한다. 또한, 개발자는 이 클라이언트를 이용하여 클라우드 인스턴스를 이미지로 캡처하여 다른 개발자와 공유하거나 개발자 클라우드 밖에서 사용할 수 있다. 게다가 클라우드 클라이언트에는 개발자가 배치 계획과 테스트에 IBM 클라우드 자원을 사용할 수 있도록 서버 도구와 배치 계획 확장이 포함되어 있다.
그림 12. Cloud Explorer 뷰
이 섹션에서는 v8.0에서 변경된 기타 기능을 일부 살펴본다.
Rational Software Architect v7에서는 신규 사용자가 Rational Software Architect에서 허용하지 않는 기능을 수행하려고 하면 문제가 발생하는 경우가 있었으며 이러한 현상은 일반적으로 올바르지 않은 UML을 수행하려고 하는 경우에 발생했다. 이번 릴리스에서는 그리기 면을 사용할 때 제공하는 피드백에 특정 도움말이 포함되도록 다음과 같이 개선되었다.
- 수행할 수 없는 이유에 대해 텍스트 형식의 피드백 제공
- 조치를 완료하기 전에 다이어그램의 변화를 분명하게 확인할 수 있도록 모든 조치의 정확한 결과를 강조
또한, Rational Software Architect v8.0에서는 MDA(Model-Driven Architecture)에 대한 지원이 개선되었다. 현재는 프로파일 마크업 정보를 모델과 분리된 별도의 파일에 저장할 수 있다. 따라서 다양한 프로파일을 사용하여 모델을 쉽게 마크업하고 다양한 기술이나 솔루션을 생성할 수 있으며 모델에서 다양한 기술에 대한 마크업을 동시에 확인하는 데 아무런 문제가 없다.
마지막으로 버전 8에서는 메모리에서 모델이 어떻게 관리되는지 전체적인 점검이 이루어졌으며 현재는 매우 효과적이라는 최종 결과를 얻었다. 따라서, 이 소프트웨어는 훨씬 더 작은 메모리 용량으로 훨씬 더 큰 규모의 모델을 지원한다고 할 수 있다.
표 1. Rational Software Architect의 주요 지원 플랫폼 업데이트 목록
| 지원 운영 체제 | 권장 하드웨어 |
|---|---|
|
|
운영 체제와 시스템 요구사항의 전체 목록은 해당 소프트웨어와 함께 제공되는 설치 안내서를 읽어보기 바란다.
교육
- Rational Software Architect 제품 개요 페이지를 확인하자.
- developerWorks의 Rational 소프트웨어 영역에서 Rational Software Delivery Platform 제품과 관련된 기술 자료와 우수 사례를 확인할 수 있다.
- 강사가 지도하는 컴퓨터와 웹을 기반으로 하는 Rational 온라인 강의를 살펴보자. 초급에서 고급까지의 다양한 강의를 통해 Rational 도구에 대한
지식을 쌓고 기술을 연마하자. 이 카탈로그의 강의는 컴퓨터 기반 교육 또는 웹 기반 교육을 통해 구입할 수 있다. 일부 "시작하기" 강의는 무료로 제공된다.
- 1주일 동안의 developerWorks 튜토리얼, 기사, 다운로드, 커뮤니티 활동, 웹 캐스트,
이벤트 등에 대한 소식을 전하는 IBM
developerWorks 뉴스레터를 구독하자.
제품 및 기술 얻기
- 다른 IBM Rational 소프트웨어의 시험판을 다운로드하자.
- IBM 제품 평가판을 다운로드하거나
DB2®, Lotus®, Tivoli® 및 WebSphere®의 애플리케이션 개발 도구 및 미들뒈어 제품을 사용해 볼 수 있다.
토론
- developerWorks에 있는 Development Tools 토론 포럼에 참여하자.
- developerWorks 포럼 & 블로그를 통해 developerWorks 커뮤니티에 참여하자.