Windows Azure BLOB Storage는 클라우드 기반의 저장소이지만 외부에서 사용하기에 무척 편리하고 유용한 HTTP 및 HTTPS 프로토콜을 기반으로 서비스가 제공됩니다. 대화형 서버 처리 엔진이 존재하지 않는다는 점만 제외하면 HTTP 기반의 서비스를 구축하기 위해서 필요한 모든 사항이 제공되며, 파일 이어받기, ETAG 처리 등 HTTP 프로토콜의 최신 사양들을 정확히 구현하고 있습니다.

최근에 저는 Windows Azure Platform의 Storage Service를 활용하면서 또 한 가지 좋은 정보를 얻을 수 있었습니다. Windows Azure Storage를 사용하면서 가장 필요한 것 중 하나는 RIA 응용프로그램과 충분히 활용하는 전략인데, 여기에는 Smooth Streaming 뿐만 아니라 일상적으로 활용 가능한 이미지, 사운드, 비디오, 텍스트 파일들도 포함될 수 있습니다. 그러나 익히 알려진대로 보안 상의 이유 때문에 RIA 플랫폼 자체적으로는 접근하려는 원격 웹 서버의 루트 경로 상에 반드시 매니페스트 파일이 존재해야 합니다. 하지만 일반적인 클라이언트나 API를 이용해서는 우리가 아는 루트 경로 상에 BLOB 객체를 올릴 수 없습니다. 어떻게 하면 좋을까요?

여기에 대한 답이 있습니다. Windows Azure Storage는 루트 경로에 대한 예약된 컨테이너 이름을 제공합니다. 바로 $root 인데, 최상위 컨테이너 중 $root라는 이름의 컨테이너를 생성하고 여기에 파일을 업로드하면 바깥에서 보기에 루트 경로에 올라온 것과 동일하게 취급됩니다. 여기에 RIA 응용프로그램이 필요로 하는, Adobe Flash의 경우 crossdomain.xml 파일, Microsoft Silverlight의 경우 clientaccesspolicy.xml 파일을 text/xml MIME 형식으로 정확히 지정하여 업로드하면 문제가 해결됩니다.

crossdomain.xml 파일과 clientaccesspolicy.xml 파일의 예제는 휴즈플로우의 CTO이신 이길복 MVP님의 블로그 아티클 (http://gilverlight.net/2888)을 참조하시면 되겠습니다.

저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Windows Azure MVP 남정현 (rkttu.com)

HTML 5는 계속 발전 중인 기술이며, 하루가 다르게 발전하고 있습니다. 그리고 이제 여기에 한층 더 성숙한 기술을 추가하는 모습이 보입니다. 바로, WebSocket이 그 주인공입니다. 이제까지 우리는 AJAX 기술을 통하여 정형화된 HTML 및 XML을 다루는 것에 익숙해져 있지만, WebSocket은 HTML 5를 더 이상 UI 전용 마크업 언어가 아닌 하나의 소프트웨어 개발 도구로 이해할 수 있도록 도와줍니다.

noVNC가 사용하는 WebSocket의 클라이언트 측 구현은 아직까지 DRAFT 단계에 있으며, 주요 웹 브라우저들은 아직 이 기술을 정확하게 지원하지 않습니다. 실제 소스 코드를 분석해보면 WebSocket의 기능을 대리로 구현하는 Rich Internet Application 모듈이 들어있고 Adobe Flash 기반인 것을 확인할 수 있습니다. 이 모듈은 Hiroshi Ichikawa (http://gimite.net/en/)에 의하여 작성된 프로토타입 버전의 모듈로 관심있으신 분들께서는 한 번 분석해보시는 것도 괜찮을 것입니다.

또한 서버의 경우, W3C의 DRAFT를 따라 기본적인 요구 사항을 구현하도록 WebSocket 전용 서버 코드를 작성하였고 noVNC는 이 서버를 경유하여 실제 VNC 서버와 상호 작용하는 것으로 되어있습니다. 즉, WebSocket은 일반 TCP/IP 소켓과는 달리, 별도의 중개 서버가 추가로 필요함을 의미합니다. noVNC에 포함된 소스 코드는 Python으로 구동되고, 성능을 내어야 할 필요가 있는 부분을 C 언어로 작성하였습니다.

아래의 42초 분량의 Demonstration 동영상은 noVNC의 동작 모습을 촬영한 것입니다.

noVNC는 현재 Google Chrome Browser에 최적화되어 있습니다만, 다른 HTML 5 지원 브라우저에서도 조만간 사용 가능해질 것으로 보입니다. noVNC는 github에 호스팅되어있고, 자세한 내용은 http://kanaka.github.com/noVNC 에서 확인 가능합니다.

저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Windows Azure MVP 남정현 (rkttu.com)

Windows Phone 7에 대한 관심이 뜨거운 요즈음, Windows Embedded 역시 새 버전에 대한 CTP가 공개되었습니다. Windows 7 운영 체제를 실행하는 컴퓨터와 가장 연동이 잘 된다는 사실에 많은 부분을 강조하고 있으며, Windows Phone 7으로 전환되는 동안 한 동안 많은 오해가 있었던 부분인 Native Development Feature (C/C++ based)에 대한 부분도 오해가 풀린듯 합니다. ㅎㅎ

Windows Embedded Compact 7 CTP 개발 도구 및 관련 최신 정보의 구독을 위해서는 Windows Live ID (http://www.live.com)이 필요하며, https://connect.microsoft.com/directory/non-feedback 에서 체험판 프로그램 신청이 가능합니다. 이곳을 통하여 신청을 완료한 후 최신 버전의 SDK를 다운로드받아 테스트 가능합니다. 응용프로그램 디자인을 위해서는 Expression Blend 3를 사용해야 하며, 없을 경우 Trial 버전을 http://www.microsoft.com/downloads/details.aspx?FamilyID=e82db5e2-7106-419e-80b0-65cce89f06bb&displaylang=en 에서 다운로드받아 이용하실 수 있습니다. 자세한 정보는 http://www.microsoft.com/windowsembedded/en-us/products/windowsce/compact7.mspx 에서 확인 가능합니다.

Connected Experience

멀티미디어에 대한 연결과 사용

* 미디어 라이브러리를 기반으로 하는 단순화된 미디어 관리
* MPEG-4 및 HD 지원 및 향상된 미디어 스트리밍
* 써드파티 컨텐츠를 위한 유연한 플러그 인 아키텍처

Microsoft Windows 7과의 긴밀한 연동
* Windows Device Stage 지원
* MTP 기반의 데이터 및 미디어 동기화

Office 문서 및 개인 정보 연동
* 새 버전의 Office 문서 뷰어 지원 (OOXML 기반 문서 지원)
* AirSync 및 Microsoft Exchange 동기화 지원

Rich User Experiences

확장 가능한 사용자 인터페이스 프레임워크
* Windows Embedded용 Silverlight (http://www.microsoft.com/windowsembedded/en-us/products/windowsce/silverlightforwe.mspx) 기반의 새로운 사용자 인터페이스 디자인
* Microsoft Expression Blend 기반의 디자이너 경험 제공
* XAML 코드 생성 도구에 의한 빠르고 확장 가능한 장치 사용자 인터페이스 제공

향상된 데스크톱 브라우징
* 최신 표준 기술을 준수하는 Internet Explorer 브라우징 엔진 탑재
* Tabs, Panning, Zoom 동작 지원
* Adobe Flash 10.1 기반의 멀티미디어 컨텐츠 지원

자연스러운 터치 입력
* 고감도의 터치 입력을 기반으로 하는 사용자 인터페이스 설계 가능
* 다중 터치 입력 지원
* 제스처 인식 기능 지원

Highly Reliable Platform

Visual Studio 연동
* Visual Studio 및 Expression Blend를 통한 개발 지원
* Visual Studio의 경우, C/C++ 기반 개발 환경 지원
* Windows Embedded Developer Update (http://www.microsoft.com/windowsembedded/en-us/news/pressreleases/esc-west1.mspx)를 통한 기능 업데이트의 제공을 단순화
* 최소한의 사용자 입력을 기반으로 하는 새로운 설치 경험

최신 하드웨어의 이점을 활용
* ARM v7 프로세서 지원
* Open GL ES 2.0 기반의 향상된 그래픽 성능
* 멀티코어 아키텍처 기반의 고성능 및 SMP 지원

개선된 신뢰성 및 뛰어난 성능
* Windows 7 기반의 네트워크 기술을 기반으로 하는 향상된 네트워킹
* 안정성있는 무선 연결 및 WiFi 지원
* Bluetooth 2.1 지원 / 최신 하드웨어와의 연결

2010.09.20 Update: 아크몬드님의 네이버 오픈 캐스트에 글이 같이 소개되었습니다.



저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Windows Azure MVP 남정현 (rkttu.com)
Windows Azure AppFabric SDK의 7월 버전이 새롭게 업데이트되었습니다. 이번 업데이트에서 가장 큰 포커스를 맞춘 부분은 모바일 브라우저를 비롯한 웹 브라우저, Microsoft Silverlight나 Adobe Flash와 같은 RIA 클라이언트를 위한 AppFabric 통신 기능 구현입니다. 특히 RIA의 경우, Cross-Domain Policy 파일에 대한 서비스 수준의 지원 추가로 RIA 클라이언트 수준에서 직접 Service Bus나 Access Control에 접근하는 일이 가능해졌습니다.

또한 http://go.microsoft.com/fwlink/?LinkID=129448 페이지에서 2010년 7월 버전의, .NET Framework 4에 대한 지원이 새로 추가된 Windows Azure AppFabric SDK 및 샘플 코드를 다운로드할 수 있습니다.

출처: http://blogs.msdn.com/b/zaneadam/archive/2010/07/01/announcing-availability-of-the-windows-azure-appfabric-july-release.aspx
저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Windows Azure MVP 남정현 (rkttu.com)

Visual Basic Extension, Object Linking Embedded, Component Object Model, Binary Behavior, Distributed Component Object Model, Component Object Model Plus, Windows DNA 등 Microsoft가 C++과 객체 지향 기술을 이용하여 개발해왔던 다양한 프레임워크들 중 하나인 ActiveX가 이제는 그 수명을 다하려는듯한 결정적인 루머를 내고 있다.

당장 내년 1월에 새롭게 출시될 Windows Vista에 포함된 IE7에서는 ActiveX 컨트롤 자체가 완벽하게 Sand-Box 처리가 될 것이라고 한다. ActiveX 인스턴스는 어차피 Internet Explorer와 함께 그 수명을 같이하는 것이므로 이상할 것이 없지만 Sand-Box 라는 것은 다소 생소하실 분들이 많겠다.

요약하자면, ActiveX 컨트롤을 PC에 다운로드하여 Install하는 작업을 하지 않고 마치 Java Applet이나 Flash Content 또는 Script 처럼 동작하게 만들겠다는 의미가 된다. 보안 상으로는 틀림없이 이득이 될테지만 ActiveX를 개발하여 배포해왔던 업체들에게는 정말 큰 일인셈이다.

퍼블릭 릴리즈로 나온 IE7을 먼저 써본 사람들은 새로운 모드인 "안전 모드"에 대하여 궁금해 했을 것이라 생각한다. 이 "안전 모드"가 바로 이 루머와도 관련이 있겠다. 단순히 설치된 ActiveX 컨트롤 전체를 사용하지 않는 것으로 시작해서 유입되는 모든 ActiveX 컨트롤이 하드 디스크에 저장되거나 설치되는 것을 통제하고, 퍼미션 조절을 통하여 작업에 제약을 걸어놓는 모드이다. 정식으로 나올 Windows Vista의 IE7에서는 아마도 이 "안전 모드"를 기본 모드로 사용하도록 권하기 때문에 이런 루머가 나온 것이 아닐까 싶다.

더 재미있는 사실은, Windows Vista가 이제는 .NET Framework 3.0을 기본으로 내장하고 있다는 사실이다. 이것이 의미하는 바는 ActiveX의 운명을 더욱 확실하게 만들어주고 있다. .NET Framework 2.0부터 강화된 ClickOnce는 Windows Forms로 개발된 .NET Application을 Internet Explorer와 연동할 수 있도록 도울 것이며, Windows Presentation Framework의 XAML은 Internet Explorer 7.0이 직접 렌더링하는 것도 가능하다. 또한 Windows Presentation Framework Everywhere는 경량화된 응용프로그램을 지원할 것이다. 지금 언급한 이 세 가지 기술을 적극 유치하고 유도하는 것이 MS의 실제 목표다. ActiveX는 보안 상의 문제가 많다는 점을 이용하여 오히려 뒤로 빼려는 셈이다.

또한 이제는 ActiveX보다는 Flash, Java를 이용한 개발을 더욱 선호하는 추세이다. 컨텐츠 프로바이더의 입장에서도 ActiveX는 메리트가 없는 셈이다. 그리고 기억하는 사람들도 아직 있으리라 생각되는 이올라스社의 소송 승리도 ActiveX의 숨통을 조르고 있다.

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Windows Azure MVP 남정현 (rkttu.com)