오슬로(Oslo) - 마이크로소프트의 응용 프로그램 모델링을 위한 플랫폼 by 키온

지난주 PDC에서 마이크로소프트는 클라우드 컴퓨팅을 위한 플랫폼인 Windows Azure 그리고 차세대 클라이언트 운영 체제인 Windows 7을 발표했습니다. 일반적으로 보면 상당히 많은 내용과 변화에 대한 부분을 발표했다고 생각합니다. 하지만 사실 Windows Azure Windows 7보다 더 중요한 내용을 마이크로소프트는 이번 PDC에서 발표를 했습니다. 바로 모델링 플랫폼인 오슬로(Oslo)입니다.  일반인이나 시스템 운영자에는 오슬로는 관심이 없겠지만 ( 개인적으로는 모든 IT쪽에 있는 사람이라면 관심을 필히 가져야 할 것으로 생각이 됩니다..) 개발자나 설계자 그리고 DBA들은 필히 관심을 가져야 할 내용입니다.


그럼 간략하게 오슬로가 도데체 어떤 것을 하는지 알아 보도록 하겠습니다. PDC참가전에 Channl9에서 데이비드 차펠이 설명하는 동영상을 보았는데 모델지향적 플랫폼이라는 것은 알았지만 구체적으로 그 정체를 알기는 어려웠습니다. 오슬로는 마이크로소프트의 첫 번째 모델기반 응용 프로그램의 플랫폼(The Platform for Model-Driven Application)이라고 MS에서는 사전적 의미로 정의를 하였습니다.  다시 풀어서 이야기를 하자면 오슬로는 '응용 프로그램을 작성하는데 있어서 필요한 모델과 그 모델을 만들기 위한 도구와 언어 그리고 서비스를 모두 합친 것'이라고 정의할 수 있을 것 같습니다. 
모델(Model)? 모델링이라면 UML이 머리속에 떠오르시는 분이 계실 것 입니다. 맞습니다. 여기서의 모델 역시 데이터와 응용 프로그램을 개발하기 위하여 사용하는 모델을 의미합니다. 하지만 기존의 모델링 접근 방식과는 차이가 있습니다. 오슬로는 어느 특정 영역만을 설계하기 위해 만들어지거나 Runtime과는 전혀 관계없는 순수한 모델링 언어는 아닙니다.
오슬로는 크게 3가지 영역으로 구서이 되어 있습니다. 모델의 스키마(Schema) 그리고 DSL(Domain Specific Language)를 표현하는 언어인 ‘M’과 비주얼하게 작업할 수 있게 도움을 주는 도구인 ‘Quadrant’ 그리고 데이터를 저장하고 관리하는 ‘Repository’로 구성이 되어 있습니다. , M언어를 이용하거나 Quadrant로 만들어진 모델을 Repository에 저장하거나 데이터 모델을 설계하고 이 모델이 다양한 .NET 런타임(WCF, WF, ASP.NET 등등)과 연결되어 전반적인 모델링을 가능하게 합니다. 그렇다고 M이나 Quadrant OLTP성 프로그램을 바로 만들어 내는 개발도구는 아닙니다. 어디까지나 모델링 접근을 도움을 주는 수단입니다.


기존의 모델링 방식은 데이터 설계 따로, 응용 프로그램 설계와 런타임 역시 별도로 구성되는 구조였습니다. 다르게 말하자면 DB설계는 DBA가 하고 업무 로직은 현업 부서에서만 알고 있으며 프로그램은 아무도 참조하지 않은 클래스 다이어그램으로 만들어 집니다. 각 단계별로 단절된 모델링은 결국 리버스 엔지니어링을 만나게 되면 무용지물이 되어 버리기 쉽상입니다. 물론 그 피해자는 프로젝트에서 가장 오랜 시간을 보내야 하는 개발자의 몫이 됩니다.
오슬로는 이러한 문제점을 해결하고자 DBA, Architecture 그리고 컨설턴트(또는 현업)이 하나의 모델을 만드는 것을 가능하게 합니다. 이 부분에서 저는 마이크로소프트에 박수를 보내지 않을 수 없습니다. 이러한 접근 방식이야 말로 프로그램을 만들거나 설계하는 입장에서의 진정한 모델 지향적 구조로 갈 수 있는 길을 마련했기 때문입니다. (너무 오버하는 것 같지만사실 흥분되는 것은 사실입니다)


더 구체적인 내용을 알기 위해서는 M언어에 대하여 언급을 해야 겠지만 어설푼 소개로는 뭐야? 그냥 스키마 정의 하는거넹라고 생각하시는 분이 계실 것 같아 다음번으로 미루도록 하겠습니다.

더욱 자세한 정보는 msdn 사이트를 ....  http://msdn.microsoft.com/ko-kr/oslo/default(en-us).aspx


덧글

  • 아크몬드 2008/11/03 21:28 #

    오슬로에 대한 근시안적 생각은 버려야겠군요..
    좋은 글 잘 읽었습니다.
  • 키온 2008/11/04 10:29 #

    M언어도 들어여다 보면 mGrammer라는 것이 있는데 흥미롭습니다.
  • 2008/11/05 07:27 # 삭제 비공개

    비공개 덧글입니다.
※ 이 포스트는 더 이상 덧글을 남길 수 없습니다.