{Ink blog plugin의 벌레 때문에, 글을 몇 번이나 고쳐 올리다 포기하고, 큰 맘먹고 Visio로 다어어그램을 그려 올리기로 했다. 누가 읽기나 할까 싶은 글이지만, 기왕 시작을 했으니 마무리는 지어야 하지 않을까 싶어서 고집스레 쓰고 있다.}
Server 쪽은 아래 그림과 같이 달라졌다. (정확성을 따지 자면 한도 끝고 없어서, 대충 그렸다.)
Client 쪽은 아래와 같이 달라졌다.
이상으로 PDC 보고 완료. (내용의 정확성은 각자 알아서 판단하실 것.)
오늘은 세째날 곧 마지막 날이다. 부쓰를 좀 둘러 볼까 하다가 그냥 라운지에 앉아 글을 쓰기로 했다. 사실 돌아가면 또 먹고 살기 위해 쳐내야 하는 웬갖 일에 쫒겨, 이런 글을 쓰고 있을 여유는 없다. 아니 있다고 하더라도, 거기에 생각이 담겨 있을리 없다. 이번 PDC는 무척 조용한 분위기라는 얘기를 한 바 있다. 들썩거리는 분위기는 전혀 없다. 조용하다 못해 평화롭다. 신종 플루와 경기 침체가 적쟎은 사회 분위기에 적쟎은 영향을 미치고 있다. 뭐, 어쨌거나 할 일은 해야겠지. 지금부터 PDC에서 나온 얘기들을 크게 간추려 본다. 물론 몰라도 사는데 지장은 없다. 이 기술들이 시장에서 반드시 성공한다는 보장도 없다. 그냥 그렇다는 얘기다. Service 쪽은 지난 1년간 아래와 같은 변화가 있었다. Windows Azure는 그대로 Windows Azure Windows Azure + Live/.NET/SQL Services를 통칭하던 Azure Services Platform은 Windows Azure Platform으로 명칭 변경 SQL Services는 REST Access에 추가로 T-SQL Acess를 보태더니, 얼마전 부터 SQL Azure로 명칭 변경하며 기능성 강화 Live Services는 오리 무중? Consumer Web Platform을 위한 PaaS 지원은 Windows Live만 존재 .NET Services는 "Geneva (Access Control)" + "Doublin(Service Bus)" 프로젝트의 성과를 반영하며, Windows Server 쪽의 Private Cloud 지원과 Line up하며, Windows Azure AppFabric으로 이름하에 포괄 Microsoft Pinpoint라는 이름으로, Apps / Data / Services를 직거래할 수 있는 Online B2B Marketplace 발표 (한 마디로 마이크로소프트 생태계를 온라인 시장으로 만든 서비스) Microsoft Pinpoint의 프로젝트의 일부로 Data-as-a-service 형태의 Data Service 프로젝트 개시 - 코드 네임 "Dallas"
오늘은 세째날 곧 마지막 날이다. 부쓰를 좀 둘러 볼까 하다가 그냥 라운지에 앉아 글을 쓰기로 했다. 사실 돌아가면 또 먹고 살기 위해 쳐내야 하는 웬갖 일에 쫒겨, 이런 글을 쓰고 있을 여유는 없다. 아니 있다고 하더라도, 거기에 생각이 담겨 있을리 없다.
이번 PDC는 무척 조용한 분위기라는 얘기를 한 바 있다. 들썩거리는 분위기는 전혀 없다. 조용하다 못해 평화롭다. 신종 플루와 경기 침체가 적쟎은 사회 분위기에 적쟎은 영향을 미치고 있다.
뭐, 어쨌거나 할 일은 해야겠지. 지금부터 PDC에서 나온 얘기들을 크게 간추려 본다. 물론 몰라도 사는데 지장은 없다. 이 기술들이 시장에서 반드시 성공한다는 보장도 없다. 그냥 그렇다는 얘기다.
Service 쪽은 지난 1년간 아래와 같은 변화가 있었다.
{ 오늘의 대박은 솔직히, Windows 7이 설치된 넷북을 참가자 전원에게 한 대씩 준다는 것. 어제는 Azure 세션 연달아 두 개 들으면 마우스 아니면 휴대용 카메라를 준다고 하더니만. 알다시피 내게는 모두 해당 사항 무! }
이번 PDC부터는 아침을 주지 않아서, 숙소에서 다들 컵라면을 챙겨 먹고 숙소를 나섰다. 솔직히 행사장에서 주는 아침이 그다지 맛깔스러울 수는 없다. 각자 알아서 저 먹고 싶은 것을 먹는 것이 낫지. 하지만, 웬지 섭섭한 얄팍하고 모순된 마음.
어쨌거나 키노트 행사장에 조금 늦게 도착하니, 익숙한 얼굴이 Windows 7에 대해서 열심히 중얼 중얼. 많이 본 사람인데 이름은 솔직히 잘 모르겠다.
어제 발표에서, Windows Server Windows Server AppFabric은 Private Cloud Computing 분야에서 Microsoft의 전략에 큰 의미가 있다. 작년에 Client, Server, Service 세 영역에 Cloud Computing 기술을 기반으로 하는 S+S 전략의 실체를 드러내며 ‘Doublin(Service Bus Integration)’과 ‘Geneva(Access Control Integration)’란 코드명의 프로젝트를 언급하였다는 점을 기억하실런지 모르겟다. Doublin 프로젝트는 사실 Enterprise Sevice Bus와 Internet Service Bus를 그리고 Client의 개방형 연결성(Open Standard Connectivity on the top of Web Services)을 제공한다는 것 외에도, 사실 여러대의 Windows Server가 논리적으로 하나의 Enterprise Service Bus로 묶여 동작할 수 있는 것이 가능해야 한다는 것을 가정한다. 사실 이렇게 되면, Windows Azure 위에 Web App을 올리는 것이나, 여러 대의 Windows Server 위에 올리는 일이나 모든 것이 동일해 지도록, 즉 public이냐 private이냐 이외에는 전혀 기술적으로 차이가 없게 된다는 사실을 말한다.
그런 관점에서 오늘의 키노트는 또다른 의미가 있다.
어제가 Server, Service가 Cloud Computing 즉, Scalability와 Elasticity를 앞세운 Microsoft S+S 비전의 실체를 명백히 제시하였다면, 오늘은 나머지 빈 공간, Client 부분을 채우는 날이라 하겠다.
지금부터는 겉으로 번쩍 번쩍 뽐내는 것 말고, 진짜로 숨겨진 보석들을 찾으러 다닐 시간이다. 물론 글로 다 써올린다는 보장은 없다.
2009년 11월 18일 PDC가 열리는 LACC, Compass Cafe에서
이 소식을 전하면서 제가 제일 많이 들을 이야기가 바로 ‘Silverlight3가 나온지 얼마 되지도 않았는데….’라는 이야기 일겁니다. 하지만 Silverlight4 beta 버전이 오늘 PDC09 키노트에서 발표되었고 그것도 메이저 버전업인 4.0 버전 소식으로 나왔습니다.
Silverlight 4에서는 엄청난 변화가 있습니다. 기본 코어가 변화했다기 보다는 새로운 기능들이 많이 추가 되었습니다. 그 중에서도 제일 먼저 이야기 하지만 마이크와 웹 캠의 지원입니다. 마이크와 웹 캠의 경우 국내 교육 사이트나 게임에서 많이 활용 될 것으로 보입니다. 키노트에서는 스캇이 웹 캠을 이용해서 비디오 캡처를 하거니 사진 캡쳐를 해서 바로 Twitter와 연동하는 사례를 보여주었습니다.
두 번째로 강화된 조작성을 말씀 드릴 수 있습니다. 마우스 오른쪽 버튼을 사용하거나 혹은 휄 버튼을 사용할 수 있게 되었고 프린터를 지원하는 등등은 Silverlight로 된 프로그램이 로컬과 거의 동일한 환경으로 제공할 수 있게 되었다는 증거 입니다. 또 하나 Rich Text 박스을 제공하고 클립보드를 사용하게 된 점은 정말 놀라운 변화 포인트 중에 하나 입니다. 이날 데모에서는 Rich Text안에 사진과 텍스트를 복사해서 붙여 넣고 바로 프린트 하는 데모를 보여주었습니다.
웹 컨트롤을 Silverlight 안에서 사용할 수 있게 되었습니다. 웹 상의 다양한 컨텐츠를 Silverlight안에서 사용할 수 있게 된 점은 정말 편리하고 강력하게 바뀐 변화 중의 하나 입니다.
Out of browser 모드에서 사용자의 권한을 상승 시킬 수 있는데 사용자의 권한을 상승 시킬 경우 Windows API를 사용해서 개발 할 수 있는 등 Windows Application과 다를 바 없는 기능을 사용할 수 있게 되었습니다. 더더욱 놀라운 점은 .NET 4.0에서 제공하는 어셈블리와 호환할 수 있는 점을 말할 수 있습니다.
급하게 정리한게 이 정도 입니다. 시간을 가지고 더 정리해 봐야겠네요..
LA현지에서 김영욱 이었습니다.
작년 PDC를 다녀와서 Code Contracts와 PEX를 소개한 바 있다. 이번에도 모두가 함께 이 개발자의 행복을 위한 도구 기술의 실제를 살펴보기 위해, 오늘의 마지막 세션 Code Contracts & PEX 세션을 듣기로 했다.
작년에 비해 눈에 뛰게 좋아진 점은 기술의 완성도는 물론이고 개발 도구와 조화롭게 연결되어 무척 쉽게 쓸 수 있도록 plugin 형태로 제법 잘 정리되어 있다는 점이 겠다.
일단 Visual Studio에 Code Contracts 기술을 편리하게 쓸 수 있도록 돕는 Plugin을 설치한 다음, 간단한 WebService 코드를 작성한다. C#이나 Java와 같이 Automatic Heap management를 하는 언어에서 흔히 범하는 그러나 일일이 찾아내기 짜증날 정도로 자주 만나는 Null Object Reference를 예로 든다. (도데체, C 언어처럼 명시적인 Pointer가 없다는 것이 이런 언어의 장점이기는 한 것인지…)
코드를 실행하기도 전에 Code Contracts 설정판에서 간단히 static checking 옵션을 선택하고 한 번 검사를 돌려주는 것만으로도 가능한 Null Reference case를 잡아낸다. Olleh!
한술 더떠서, 수학의 귀재가 아니더라도 이러한 정적 분석(Static Analysis) 기술의 발전으로 require, ensure, invariant 조건들을 자동으로 유추해 내는 정도로 까지 기술이 성장한 모습을 보여준다.
사실 이러한 기술은 관련 연구 분야에서는 케케묵다 싶을 정도로 오랜 역사를 가진 연구의 결과이고 그에 비하자면 여전히 최첨단이라 보기는 어렵다고 하지만, 실용적인 관점에서 현 산업에서 활용되고 있는 기법과 수준을 고려하면, 무척 고무적인 모습이다.
이제는 소프트웨어 코드를 백줄이상이라도 짜야하는 사람이라면, 이러한 기법과 도구를 마음껏 그리고 부담없이 부려 써야 할 때가 되었다. 소프트웨어 품질의 문제는 사실 벌써 여러 산업에서 실제 생산, 판매, 활용되는 제품과 사업의 성패를 가늠하는 가장 중요한 잣대가 되었다.
PEX는 이러한 기술 적용을 좀 더 현실성있게 적용할 수 있도록 돕는 자동화된 Unit Testing 도구다.
http://msdn.microsoft.com/devlabs/
.NET 4.0에 들어있는 Code Contracts Library 기술로 Runtime Checkers, Static Checkers, Documentation 도구를 활요하지 않는 사람은 사실 바보다. 단언하건데 말이지.
거기다 PEX로 Unit testing의 인생을 더욱 편하게 만들 가치를 느끼지 못하는 사람은 조금 덜한 바보다. 확신하건데 말이지.