출처 : MSDN Magazine "마음의 준비"
지금 필자는 시애틀에서 동부 연안으로 향하는 비행기 안에서 이 기사를 쓰고 있습니다. 우선 뉴욕 사무실에서 며칠을 보내고 텍사스로 이동하여 회의에 참여할 예정입니다. 그곳에서 다시 레드먼드로 돌아와 두어 개의 회의에 참석한 다음, 마지막으로 Tech•Ed EMEA가 열리는 바르셀로나로 향할 계획입니다. 그야말로 회의가 많은 계절입니다. 2007년도 거의 막바지에 이르렀다는 뜻이겠지요. 뭘 했길래 이렇게 빨리 시간이 흘렀을까요? 개발자로서 올해를 되돌아보고 2008년은 어떤 해가 될지 가늠하기에 적절한 시점입니다.
2007년에는 여러 가지 기술이 발표되었는데 이 중에서도 AJAX와 Microsoft .NET Framework 3.0이라는 두 가지 테마가 두드러집니다. AJAX는 ASP.NET AJAX 확장과 함께 최고의 웹 응용 프로그램 개발 플랫폼으로 자리매김했습니다. 이 확장 라이브러리는 브라우저에서 실행되는 JavaScript 코드와 응용 프로그램 서버에서 실행되는 비즈니스 논리를 연결하는 데 따르는 복잡한 세부 작업의 대부분을 추상화할 수 있는 클라이언트 및 서버 라이브러리를 제시했습니다. 또한 이 라이브러리는 스크립트 동작을 기존 컨트롤과 동적으로 연결하는 새로운 메커니즘을 정립했고 클라이언트와 서버에서의 지역화 기능을 비롯한 많은 기능을 제공했습니다.
.NET Framework 3.0에는 세 가지 기술이 새로 도입되었으며 이는 이미 응용 프로그램의 설계 방식에 극적인 변화를 가져오고 있습니다. WPF(Windows Presentation Foundation)는 Win32의 기존 메시지 펌프, 클리핑 사각형 아키텍처를 근본적으로 변경하여 그래픽 카드의 개선된 기능을 활용하고 웹 응용 프로그램 개발자들이 오래전부터 많이 사용했던 선언적인 컨테이너 기반 사용자 인터페이스 요소 제작 모드를 Windows 개발자들에게 제공합니다. WCF(Windows Communication Foundation)는 분산 응용 프로그램을 작성하기 위한 다양한 모든 방법을 하나의 추상 계층으로 집결시켰으며 Windows WF(Windows Workflow Foundation)는 이전에는 플랫폼 서비스가 아니라 추가 응용 프로그램으로만 제공되었던 기능인 선언적 워크플로 모델링 언어와 실행 엔진을 추가했습니다.
.NET Framework 3.0과 AJAX의 엄청난 규모를 감안하면 개발자로서 느끼는 부담감은 충분히 이해할 수 있는 부분입니다. Windows WF 및 WCF와 같은 기술은 풍부한 도메인 패턴과 같은 기존 응용 프로그램의 아키텍처 패턴에 대해 중요한 의미를 내포할 수 있습니다. 예를 들어 이제는 기존의 모든 OO(개체 지향) 방식을 버리고 클래스 계층을 원격 서비스 간에 손쉽게 전달할 수 있는 논리 서비스 클래스와 데이터 토큰 클래스의 쌍으로 분리하는 것이 최선일까요? 장시간 실행되는 단위 테스트 워크플로에 가장 좋은 방법은 무엇일까요? 어떤 경우에 부분 렌더링보다 AJAX 스크립트 서비스 메서드를 사용하는 것이 좋을까요?
이러한 질문들이 그다지 중요하게 느껴지지 않을 수 있지만 2008년에는 이와 같은 추세가 가속화될 것으로 보입니다. MIX 2007 이후 Silverlight는 지금까지의 웹 응용 프로그래밍 개발에서 가능했던 수준보다 더 풍부한 브라우저 기반의 사용자 환경을 구현하여 사람들을 매료시킬 준비를 하고 있습니다. 또한 Visual Studio 2008의 LINQ와 ADO.NET Entity Framework(Visual Studio에 이어 곧 출시 예정)의 출시로 데이터 액세스에 대한 개념에 커다란 변화가 나타날 것입니다. 현재 출시되고 있는 모든 뛰어난 플랫폼 기술과 더불어, 응용 프로그램 계층에서 실행되는 SharePoint 기술이 포함된 2007 Office system은 기업을 위한 고도로 통합된 기능적인 응용 프로그램을 제공하기 위한 기능 확장을 지속하고 있습니다.
여러분도 필자와 같다면 도대체 언제쯤 잠시 여유를 가질 수 있을까 생각하겠지만 필자의 출장 일정처럼 당분간은 여유가 없을 것 같습니다. 그러나 항상 그렇듯이 MSDN Magazine은 우리가 가장 잘 하는 일, 즉 불필요한 이야기는 걸러내면서 여러분을 최고의 프로그래머로 안내하는 일을 계속할 것입니다. 그 과정에서 약간의 즐거움도 줄 수 있다면 더 좋겠지요! —Howard



