마이크로소프트가 Composite Application Guidance 2.0 (“Prism 2.0”)을 정식 출시하였다. Prism은 사용자 경험을 중시하는 애플리케이션 개발에 있어서 모듈화와 유연성을 담보할 수 있는 설계 및 개발 방식을 지원하는 오픈 소스 기반 (Ms-PL)의 UI 프레임웍이다. Prism 1.0에서는 WPF 기반의 데스크탑 애플리케이션 개발에 촛점을 맞추어 제공되었던 기능들이 Prism 2.0에서는 WPF와 Silverlight를 모두 지원하는 방식으로 확대되었다.

아래 그림에서와 같이 비지니스 기능을 모듈화 시켜 별개의 dll로 구현하고 사용자 요구시에 이를 동적으로 로딩하여 쉘 영역에서 기능을 제공할 수 있도록 설계되었고, 모듈들에서 공통적으로 사용하는 기능들은 오른쪽에 서비스로 분리하여 제공하고 있으며 쉘과 모듈 사이에 연결 고리 역할을 하고 있다. 관련된 모듈과 서비스의 기동이나 라이프사이클 관리를 위해서 컨테이너를 사용하고 있는데, Unity Application block이 기본적으로 탑재되어 있고, Spring 등 원하는 다른 컨테이너가 있을 경우 사용할 수 있다. 

image

Prism과 같이 사용자 경험을 중시하는 애플리케이션을 효과적으로 구현하기 위한 프레임웍이 관심을 끄는 이유는 현재의 IT 흐름과 무관하지 않다. 이전 포스트에서도 잠시 언급했지만, 이 복잡한 세상살이에서 백엔드의 다양한 서비스들, 이 서비스들을 내가 제공하는 것이든, 남이 제공하는 것이든 상관없이 이들 서비스로부터 사용자가 원하는 정보 및 서비스를 사용자가 가장 바람직하다고 느끼는 방식으로, 사용자의 눈높이 맞도록 제공하는 것이 점차 중요시 되고 있다. 사용자에게 있어서 그 서비스가 어디서 왔는지가 중요한 것이 아니라 어떻게 나의 삶을 편하게 하고 어떻게 나의 비지니스에 기여하는 방식으로 제공되는 지가 중요하기 때문에 소위 Composite Application이라는 것이 주목을 받고 있다.

image

Prism은 아래와 같이 WPF와 Silvelight 기반 애플리케이션을 개발할 수 있는 라이브러리를 제공하고 있으며, WPF와 Silverlight의 구현의 차이로 인해 각각 다른 라이브러리를 제공하고 있다. 참고로 Silverlight용 라이브러리에는 얼마전 발표된 Silverlight용 Unity 컨테이너가  포함되어 있다. 또한 WPF와 Silverlight로 구현한 예제들이 포함되어 있어 양쪽 기술이 어떻게 공존하여 사용할 수 있는지 살펴볼 수 있으며, Reference Implementation으로 Stock Trader의 WPF 버전 및 Silverlight 버전이 들어 있다. 아울러 Hands-on lab을 통해 WPF 및 Silverlight용 애플리케이션 제작의 각 단계를 설명하고 있어 쉽게 따라할 수 있다.

image

Prism에 대한 상세한 설명은 아래 싸이트에서 찾을 수 있다. 또한 설치후 함께 포함되어 있는 문서에도 상세히 기술되어 있다.
http://msdn.microsoft.com/en-us/library/cc707819.aspx
http://www.codeplex.com/CompositeWPF

아래 싸이트에서 직접 다운로드 받아 사용해 볼 수 있다.
Composite Application Guidance for WPF and Silverlight – February 2009

Posted by 장현춘