Korea Evangelist

Developer & Platform Evangelism, Microsoft Korea

November, 2008

  • Korea Evangelist

    웹 개발의 도우미, 마이크로소프트 웹 플랫폼 설치기

    • 0 Comments

    웹 사이트 개발을 시작하려고 할 때 뭐가 필요할까요? 개발도구, 프레임웍, 데이터베이스, 웹서버 등이 있어야 합니다.
    이런 다양한 도구들을 사용하려면, 해당 파일이 있는 곳을 찾아서 다운로드, 설치, 셋팅하는 과정을 거쳐야 합니다.
    무척 번거롭고 시간이 소요되는 작업입니다. 라이선스까지 필요하다면 더욱 복잡해지죠.

    여기서 잠깐! 마이크로소프트의 무료 개발도구, 데이터베이스가 있다는 사실, 설마 아직도 모르시는 건 아니겠죠?
    Visual Web Developer 2008 Express SP1, SQL Server 2008 Express Edition이 바로 그 주인공이죠.
    물론 Visual Web Developer 2005 Express, SQL Server 2005 Express Edition도 있습니다.
    여기에 .NET Framework 3.5 SP1, IIS6.0 이나 IIS7.0이 있다면 웹 개발이 바로 가능해집니다.
    ASP.NET만 쓸 수 있는 것 아니냐고요? 천만예요. IIS6.0에는 장착이 필요하지만, IIS7.0에는 이미 내장된 FastCGI 모듈을
    사용하면 PHP를 최고의 성능과 안정성을 제공 받으며 개발할 수 있습니다.

    그런데, 앞에서 언급했 듯 각각의 도구를 개별적으로 다운, 설치하려면 불편하다는 겁니다.
    이런 개발자들의 고민을 단번에 해결해드리는 "마이크로소프트 무료 웹 플랫폼 설치기"가 나왔습니다.
    이 설치기를 이용하시면 위에서 언급한 개발에 필요한 모든 도구들을 한 번에 다운받아, 설치할 수 있게 됩니다.

    위의 링크에서 Install Now (지금 설치하기)를 누르시면 됩니다. (현재까지는 Release Candidate 버전입니다)
    이후의 과정은 "Your Choice"를 선택하신 후 원하는 도구, 프레임웍, 기능들을 선택하신 후 진행하시면
    원하는 도구가 다운로드, 설치되는 지 확인하시면 모든 준비가 완료됩니다.

  • Korea Evangelist

    Application의 새로운 요구사항 WPF Themes Pack

    • 0 Comments

    WPF와 Silverlight와 같은 UX기술들을 이야기 하다 보면 아래와 같은 질문들을 많이 받게 됩니다.

    "저희는 디자이너가 없어요"
    "저희 회사에서 원하는 것은 화려한 UI가 아니라 미려한 UI에요"

    일반적인 회사에서 소위 말하는 전사 시스템 혹은 업무 시스템이라고 부르는 Application들은 대부분 화려한 UI와는 상관없는 시스템이 많습니다. 오히려 그 반대로 지나치게 화려하고 역동적인 UI가 사용자의 편의성과 데이터에 대한 접근을 방해하기 까지 하는 경우도 있습니다.

    절제된 UI를 제공과 디자이너가 없는 환경의 개발자들은 WPF가 가지고 있는 장점을 활용하기 위해서 다각도로 고민하고 있는 모습들을 보여주고 있습니다. 그런 시도중에 하나가 바로 WPF Themes pack 입니다. WPF themes pack은 대표적인 오픈소스 사이트인 codeplex에서 진행되고 있는 오픈 소스중에 하나 입니다.

    image

    다양한 스킨의 테마가 제공되고 있으며 소스도 받아보면 간단하기 때문에 쉽게 실 프로젝트에 적용할 수 있습니다. 관련된 내용은 http://blogs.msdn.com/jaimer/archive/2008/11/12/eight-wpf-themes-released.aspx 에서 보실 수 있습니다.

    지금은 총 12가지의 스킨이 제공되고 있습니다. 특히 몇 몇 스킨은 상당히 특이한 모습을 보여주고 있습니다. ^^

    image

    image image

  • Korea Evangelist

    Joongs의 11월 1, 2주 포스팅 모음 - Silverlight 외

    • 0 Comments


    image
    마이크로소프트에서는 매일매일 새로운 일들이 많이 생겨나곤 합니다. 회사 외적인 요인으로 생길 때도 있지만, 마이크로소프트에 있는 수많은 프로덕트와 많은 사람들로 하여금 자체적으로 그렇게 되는데요, 제가 중스닷넷이라는 블로그에 이전에 모아서 포스팅한 것 이후로 새롭게 포스팅 했던 내용들을 한데 묶어서 전해 드리려고 합니다.

    쉽고 빠른 게임 개발의 꿈을 가능하게 하고 있는 XNA Game Studio 3.0의  정식 버전이 출시가 되었으며, 머지않아 출시될 Internet Explorer 8 을 준비할 수 있는 IE8 마이그레이션 한글문서가 2개 MSDN 한국어 페이지에 올라왔습니다. 그리고 스티브 발머 회장 방한 이후 좋은 아이템을 가진 회사들의 창업 활성화를 위한 BizSpark 프로그램이 한국에 런칭되었습니다.

    학생들을 위한 다양한 프로그램도 이미 진행 중인데요, 학과 수업 시간에 업계의 최신 기술 이야기를 들을 수 있는 Mix On Campus와 개발자의 꿈을 가진 학생들이 무료로 마이크로소프트의 개발툴을 사용할 수 있는 DreamSpark 프로그램, 그리고 전 세계 학생들의 꿈의 축제이자 전 세계 최대 규모 IT 올림픽인 이매진컵 2008 대회가 시작 되었다는 소식입니다.

    Silverlight와 관련해서는 독일 MSN 사이트에서 ClipClub이라는 재미있는 방식의 영상 서비스를 소개 했으며, 컴포넌트 회사인 Devexpress 에서 Silverlight용 무료 메뉴 및 툴바 컨트롤을 출시 했습니다. 그리고 올해 개최된 GameFest 2008에서 있었던 Silverlight 게임세션 은 Silverlight를 게임 플랫폼으로 생각하고 있는 분들께는 좋은 자료가 될 것으로 생각 됩니다.

    또한 Silverlight 하면 떠오르는 DeepZoom 기술이 어떻게 적용되었는지 꼭 한번 볼만한 9개의 DeepZoom 적용 사이트를 소개하였으며, Remix 07에서 정말 편리한 화면 구성이 가능한 서비스를 선보였던 모션클라우드에서 미국 서비스를 시작한 GOGO PIN과 Web 2.0의 협업 개념을 잘 살린 Dudler 그림 그리기 사이트에 대한 내용을 포스팅 하였습니다.

    국내엔 한국 마이크로소프트 사보의 Ebook 버전에 Silverlight의 책넘기기 효과가 적용되어서, 온라인에서 실제로 책을 보는 것 같은 느낌을 주고 있고, 한국마이크로소프트 20주년 기념사이트에서도 Silverlight 기술을 이용을 멋지게 만들어졌답니다. 끝으로 이같은 Silverlight로 구성된 웹 페이지가 검색엔진에 최적화 되는 방법에 대한 내용도 참고하시길 바랍니다.

    <위 본문에서 링크로 사용된 각각의 포스팅을 올라온 순서대로 나열한 제목 리스트>

    XNA Game Studio 3.0 정식 출시!!!
    Internet Explorer 8 마이그레이션 관련 한글 자료
    BizSpark로 창업의 불을 당기세요
    상상력의 한계에 도전하는 이매진컵 2008
    캠퍼스에서 만나는 최신기술 - Mix On Class
    학생들의 꿈을 위한 개발도구 - DreamSpark
    Silverlight로 만든 MSN ClipClub 사이트
    무료 실버라이트 메뉴 툴바 컨트롤 from Devexpress 
    뉴욕타임즈 리더를 무료로 - NY Times Reader Free Edition(WPF) - 본문에 없었음
    Silverlight 게임 세션 from Gamefest 2008
    꼭 한번 볼 만한 DeepZoom 사이트 9개 모음
    Remix Korea 07의 푸쉬핀 기억하시나요? - 이제 GoGoPin AD
    Web 2.0의 개념을 적용한 Silverlight 사례 - Dudlers
    실버라이트 책 넘기기가 적용된 한국마이크로소프트 사보
    Silverlight 컨텐츠를 검색엔진에 최적화(SEO) 하려면?

  • Korea Evangelist

    클라이언트 아키텍쳐의 선택 방법과 UX/RIA 도입 가이드

    • 9 Comments

    김영욱 iwinkey@hotmail.com: 국내 유수의 대기업 프로젝트에 참여했던 풍부한 경험과 마이크로소프트 MVP로서 다양한 활동을 바탕으로 WPF 및 Silverlight와 같은 UX 기술에 전념하고 있다. 현재 한국 마이크로소프트에서 개발 전도사로 활발히 활동하고 있다.

    라디오가 제일 처음 출현했을 때 세상은 깜짝 놀라면서 세상이 라디오를 통해서 바뀔 것이라고 생각했다. 그리고 TV가 나왔을 때 세상은 TV로 인해서 크게 바뀔 것이라고 주장하기 시작했고 이런 현상은 컴퓨터의 등장과 인터넷의 등장에도 불구하고 계속해서 사람들은 그것들이 세상을 바꿀 것이라고 주장했지만 지금 우리 주위를 돌아보면 라디오, TV, 컴퓨터, 그리고 인터넷까지 어느것 하나 사라지거나 하지 않고 각각 다 자기 영역을 지켜면서 잘 살아있는 것을 볼 수 있다.

    진화와 공존을 거듭하는 클라이언트 기술

    옛날 ‘별이 빛나는 밤에’와 같은 한 밤중의 음악 프로그램에 청취자가 참여하기 위한 유일한 방법은 우편엽서를 최대한 예쁘게 꾸며서 보내는 방법이었다. 하지만 요즈음은 인터넷 게시판과 핸드폰의 문자 메시지를 통해서 참여할 수 있고 더 나아가서 인터넷과 연계해서 보이는 라디오까지 출현하고 있는 것을 보면 이전의 라디오와는 많이 다르다는 생각을 누구나 할 수 있게 된다.

    소프트웨어도 이전의 환경과 더불어 많은 변화가 있었지만 이전의 기술들과 현재의 기술이 공존하고 있고 공존하기만 하는 것이 아니라 서로 서로 영향을 끼치면서 단단하거나 느슨한 기술의 고리를 가지고 연결되어 있다. 이전의 환경은 단순히 비지니스 모델을 파일 시스템으로 표현했다. 이 시기에는 파일 시스템이 곧 비지니스 모델의 추상화 였다. 물론 이 시기의 비지니스 모델은 단순하기도 했지만 사람들은 IT를 적극적인 비지니스의 도구로 생각하지는 못했고 단순히 자료의 축척이라는 개념에서 크게 벗어나지 못하고 있었기 때문에 이런 모델이 잘 소화해 낼 수 있었다. 하지만 비지니스 모델은 정적인 모델에서 가변적이고 변화의 시기가 짧은 모델로 변화하고 있었고 이 때문에 정적인 데이터 구조를 벗어나지 못하고 있는 파일 시스템의 모델로는 금방 한계에 다다를 수 밖에 없었다.

    이때 문제의 해결책은 비지니스 모델과 데이터의 분리였고 이와 더불어 데이터베이스가 출현했다. 좀더 개념이 발전하면서 비지니스 모델을 잘 표현하기 위해서 N-Tier와 같은 아키텍쳐가 잘 자리잡기 시작했고 위치의 제약을 벗어나기 위해서 웹이 도입되기 시작했다. 크게 생각해보면 데이터베이스와 N-Tier 구조가 정의되어 있는(혹은 유사한 형태의) 구조를 서비스라고 정의하고 이 서비스를 웹으로 노출 시키기 위해서 웹 서버와 파이프 라인으로 연결한 구조가 현재 가장 전형적인 아키텍쳐 구조라고 이야기 할 수 있다. 물론 그렇지 않는 단순한 서비스도 다수 존재하겠지만 여기서는 일반적인 엔터프라이즈 환경을 기준으로 생각해 볼 때 그렇게 정의할 수 있겠다.

    서비스가 웹이든 혹은 로컬 네트워을 통하든 어떠한 방법으로 노출이 될 때 이 서버스를 사용자들이 이용할 수 있게 주는 것이 바로 클라이언트이다. 클라이언트를 설명하기 위해서 서비스 구조를 먼저 설명한 것도 서비스에 따라서 클라이언트가 달라지기 때문이다.

    clip_image002

    <그림1> 현재 아키텍쳐의 전형

    클라이언트 역시 터미 터미널의 문자 위주의 클라이언트 환경에서 부터 DOS기반을 거쳐서 매킨토시나 원도우즈 환경으로 넘어오면서 GUI로 넘어오게 되었다. GUI 환경에서는 주로 델파이, 파워빌더, 비주얼 베이직과 같은 걸출한 개발툴 들이 태동하던 시기였다. 사실 필자도 이 시기에 IT에 입문해서 비주얼 베이직 3.0 혹은 터보C이런 언어로 컴퓨터의 기초를 배웠다. 그리고 얼마 지나지 않아서 웹이라는 거센 물결이 흘러왔고 웹이 모든 클라이언트의 표준이 되었다. 모든 것이 웹 브라우저를 통해서 다 해결될 것만 같았고 모든 시스템을 웹 브라우저 기반으로 마이그레이션 하지 않으면 안될 것 같은 생각들을 했다.

    하지만 웹 브라우저를 이용해서 접근할 수 있는 서비스나 시스템이 폭팔적으로 늘어나기는 했지만 이는 시장의 팽창을 불러왔을 뿐 기존의 클라이언트 기술의 종말을 의미한 것은 아니다. 오히려 기존의 클라이언트는 웹 프로토콜인 HTTP를 사용해서 네트웍을 할 수 있도록 발전했을 뿐 아니라 웹 환경 보다 더 나은 인터페이스를 제공하기 시작했다. 웹 브라우저 기반의 서비스는 접근성 면에서는 향상되었지만 기본적으로 보안 및 대량의 데이터를 다루는 클라이언트로는 기본적으로 적합하지 않았으며 또 인터페이스만 하더라도 기존의 클라이언트 기술에 비해서 많이 불편한 것도 분명한 사실이었다.

    웹 브라우저의 접근성과 더불어 응용프로그램으로 구성된 기존의 클라이언트 기술의 편리함을 동시에 제공하려고 했던 시도가 바로 ActiveX 기술이다. ActiveX기술은 웹 브라우저를 통해서 다운로드 받아서 웹 브라우저 안에서 실행되는 구조로 보이지만 사실은 웹 브라우저와는 별도로 클라이언트에서 실행되는 하나의 응용프로그램과 같은 형태로 실행되기 때문에 인터페이스 및 대용량의 데이터 그리고 복잡한 알고리즘의 구현등에 있어서 꼭 필요한 기술이 되었다.

    한 동안 많이 나왔던 솔류션이 바로 X internet 솔류션이다. 기존의 표준적인 웹의 단점을 해결하기 위해서 주로 나온 솔류션들이 바로 X internet 솔류션인데 대부분의 경우 그 속을 열어보면 ActiveX로 구성된 클라이언트를 제공하고 서버쪽에 미들웨어를 구성한 경우가 대부분 이었다.

    RIA기술의 출현

    웹 브라우저와 클라이언트 응용 프로그램으로 양분된 시장의 틈세에 웹에서 실행되는 별도의 플랫폼 기술이 나타나게 되었데 이 기술을 RIA라고 부르는 것이 일반화 되었다. RIA는 Rich Internet Application혹은 Rich Interactive Application의 약자로 부르는데 둘 다 Rich라는 단어가 중요하다. Rich의 의미는 기존에 HTML기반의 표준적인 웹에 비해서는 풍부하고 멋진 인터페이스를 제공한다는 의미에서 사용하고 있는 단어이다.

    RIA와 관련해서 시장에 많은 영향을 끼친 것은 Macromedia사의 Flash기반의 기술이었다. Flash는 지금도 많은 부분에서 사용되고 있으며 Flash와 Flex, 그리고 Air 기술로 계속해서 수평적으로 확장하고 있다. 최근에는 이 분야에 MS에서도 실버라이트라는 RIA기술을 제공하고 있으며 실버라이트 2가 정식으로 런칭하면서 국내 대기업들과 언론사 그리고 포탈에서 채용되는등 가속도가 붙고 있다.

    clip_image004

    <그림2> 클라이언트 아키텍쳐

    어찌되었던 현재는 <그림2>에서 보는 바와 같이 클라이언트 아키텍쳐를 3개층으로 나누어서 분류하게 되었다. 일반적인 웹 인터페이스와 RIA 그리고 클라이언트 응용 프로그램이 바로 그것이다. 이전에는 기술이 사용자들을 시장에서 리드해 나갔지만 요즘은 확연히 사용자들이 기술을 리드해 나가는 시장으로 바뀌었다. 클라이언트 아키텍쳐의 모양이 3개층으로 분류되어 있기는 하지만 이는 분류를 위한 구분일 뿐 사용자들은 각 층을 넘나드는 요구사항을 내놓는게 일반화 되었다. 따라서 이를 수용하기 위한 기술적인 유연함이 필요하다.

    요구사항에 맞는 클라이언트 기술의 선택이 관건

    국내에서 다수의 프로젝트를 수행하다 보면 잘못된 분석에 의해서 모든 요구사항을 웹 브라우저 기반의 클라이언트 기술로 해결하려는 경우를 다수 보게 되는데 이것은 상당히 위험한 생각이다. 최근에는 Flash기반이나 실버라이트 기반의 RIA기술로 우선 선택하려는 경우도 종종 있는데 이 역시 위험한 발상이라고 볼 수 있다. 그 이유는 웹이라는 환경은 기본적으로 텍스트 기반의 전송을 통해서 상호 운영성을 극대화하는데 그 목적이 있는 것이지 모든 요구사항을 고려해서 나온 아키텍처가 아니기 때문이다. 또 RIA기술의 경우 웹 브라우저 안에서 메모리를 할당 받고 프로세스를 할당 받기 때문에 일반적인 클라이언트 응용 프로그램에 비해서는 성능 및 사용할 수 있는 데이터 양에 있어서 다수의 제약이 뒤따를 수 밖에 없다. 또한 사용자들의 증가하는 요구사항을 수용하기 위해서 클라이언트의 자원에 접근에도 한계가 있다는 점은 상당히 치명적인 부분이다. 국내 모 대기업에서 내부 시스템을 Flex기반으로 구축했다가 최근에 닷넷 기반의 클라이언트 응용 프로그램으로 되돌리는 사례가 있었는데 이 경우도 역시 성능 및 기존에 개발해 두었던 소프트웨어와의 호환성 문제 및 오피스 파일과의 연계와 같은 요구사항들이 새롭게 발생했기 때문이다.

    따라서 시작은 RIA기술로 했지만 언제 웹 브라우저로 혹은 클라이언트 응용 프로그램으로 확장해야 할찌 모르는 점을 항상 염두해 두고 선택해야 한다. 아주 엉뚱하게 모바일 플랫폼으로 확장해야 하는 경우가 발생할 지도 모른다면 어떻게 할 것인가 하는 고민도 하게 될 것이다. 이런 경우 어떻게 해야 할까?

    클라이언트를 다른 계층의 클라이언트 기술로 이동 하더라도 최소한의 노력과 비용으로 확장이 가능한 아키텍쳐와 기술을 가져가는 것이 주요 포인트가 된다.

    clip_image006

    <그림3> MS의 클라이언트 기술

    MS의 경우 RIA기술인 실버라이트 그리고 클라이언트 응용 프로그램 기술인 WPF. 그리고 곧 출시될 실버라이트 모바일이 같은 기반의 기술로 구성되어 있다. 따라서 필요에 따라 다른 계층의 클라이언트로 전이하는데 있어서 최소한의 노력으로 구현이 가능하며 모든 기술인 닷넷 기반의 아키텍쳐로 통합하는게 가능하다.

    클라이언트 기술은 앞으로도 계속 발전하고 더 세밀하고 치밀하게 분류되고 발전한 것이다. 아이폰만 보더라도 하드웨어 기술보다는 인터페이스를 담당하고 있는 소프트웨어로 성공���고 있으며 이는 자동차나 다른 산업 전반에도 쉽게 발견할 수 있는 사례가 될 것이다.

    클라이언트 기술을 잘 선택하고 사용자에게 어필할 수 있는 적합한 인터페이스는 앞으로 점점더 많은 고민과 해결책이 제시될 것이다. ---(*)---

  • Korea Evangelist

    PDC 2008 발표 슬라이드/동영상 위치와 PDC 2009 일정

    • 0 Comments

    PDC2008 행사 때 발표된 슬라이드 및 동영상을 다운로드 할 수 있습니다. 행사 때 참여한 사람들과 같이 느낄 수는 없겠지만, 적어도 발표 내용 그 자체를 파악하는 것은 비용이 들지 않습니다. 아래 URL로 가시면 윈 쪽에 세션 이름이 있고, 오른 쪽에 발표 자료를 받을 수 있는 링크와 동영상을 다운받거나 스트리밍 방식으로 볼 수 있는 방법이 제공됩니다. https://sessions.microsoftpdc.com/public/timeline.aspx

    그리고, http://blogs.msdn.com/msftisvs/archive/2008/10/31/announcing-pdc-2009-nov-17th-20th-2009.aspx에는 11 17~20일 이라는 PDC2009 날짜도 보입니다.

    PDCsession

Page 1 of 3 (11 items) 123