Visual Studio 2008로 성공을 이야기하다 Part 1 : 비즈니스의 성공을 부르는 애플리케이션의 개발 Case 1. 고객에게 다가가는 새로운 컨텐츠 미디어의 출현: 조선일보 i-Reader 조선일보는 RIA라는 기술적 진보와 웹 2.0이라는 시대적 사상과 철학의 기조를 십분 활용하는 e-페이퍼 플랫폼(e-paper platform)으로서 i-Reader를 만들었다. 관련 기술로서 .NET Framework 3.0의 WPF와 플래시 등을 검토하였는데, 조선일보의 중장기 비즈니스를 감안하여 단순한 기술 도입이 아니라 전략적 협력의 폭이 넓은 마이크로소프트를 파트너로 택하게 되었다.
![[그림2] 조선일보의 i-Reader](/korea/magazine/2008-summer/images/coverstory_pic_02.jpg)
조선일보의 뉴스리더인 i-Reader는 종이 신문과 인터넷 신문의 장점이 모두 수용되는 방향으로 만들어 졌으며, 우선 기능적인 면에서 볼 때 종이 신문을 이용할 때처럼 원하는 기사를 스크랩하고, 메모를 남기고, 형광펜으로 줄을 긋고, 사용자가 원하는 데로 화면 및 배율 조정 등이 가능하다.
그리고 원할 때 원하는 정보를 실시간으로 검색해 볼 수 있고, 모든 컨텐츠의 인터넷 링크, 자료의 저장 및 이메일 등을 통한 전달의 용이 등 인터넷 미디어의 장점 역시 수용하고 있다. 그리고 내용적인 면에서는 조선일보를 중심으로 각종 잡지까지 아우르는 내용을 사용자들에게 제공 가능하도록 만들어져 있다.
시스템 구성은 뉴스리더 편집기, 서비스 서버, 뉴스리더 프로그램 개발로 크게 나뉘어 있다. 동작 방식을 살펴보면, 우선 뉴스리더에 독자가 로그인을 하면 해당 데이터가 서비스 서버로 전송이 된다. 서비스 서버는 사용자의 정보를 바탕으로 뉴스리더 편집기에서 관련 컨텐츠를 가져와 사용자에게 배포를 해주며, 이 모든 과정에서 XML을 기본 데이터 포맷으로 사용하고 있다.
i-Reader의 개발 철학과 사상은 플랫폼을 지향하며 뉴미디어 시대, 다양한 컨텐츠를 사용자에게 전달하는 e-플랫폼으로서 기능성과 확장성을 보장하기 위해 Visual Studio 2008을 통해 개발을 하게 되었다고 한다.
실제로 조선일보는 자사의 컨텐츠 및 서비스 포트폴리오 전부를 놓고 마이크로소프트와 상호 협력을 진행 중이다. 조선일보의 컨텐츠가 마이크로소프트의 WPF나 Silverlight 등의 기술과 결합할 때 어떤 비즈니스 기회 창출이 가능한지 머리를 맞대고 협업을 하고 있다.
Case 2. 세계최고의 조선산업의 위상을 굳혀 줄 최신의 선박공정제어시스템: 삼성중공업 삼성중공업은 차세대 선박공정제어시스템의 개발을 위해 사전 준비 작업을 마친 후, 10여 개 이상의 업체들을 검토한 끝에 최종적으로 함께 일할 파트너로서 닷넷엑스퍼트를 정하고 2006년부터 본격적인 프로젝트에 착수했다.
개발 도구로는 Visual Studio 2008과 Visual Studio 2005 TFS을 함께 사용하는 것으로 정하고, 아키텍처는 .NET Framework 3.5를, 개발 방법론으로는 MSF를 적용하였다. 그리고 새로운 시스템이 준수해야 할 표준으로 PLC를 위한 XML 스키마인 IEC 61131-6을 택했다. 삼성중공업의 이러한 시도는 자동화 시스템 업계에서는 최초로 받아들여지는 일이었다.
각 모듈의 개발을 하면서 삼성중공업은 Visual Studio 2008과 Visual Studio 2005 TFS가 갖는 시너지 효과를 새삼 실감하게 되었다. 시스템의 로직 및 기능 개발 그리고 MMI/HMI 디자인을 Visual Studio 2008을 통해 손쉽게 작업할 수 있었을 뿐만 아니라, 모듈 및 기능 단위로 배분된 개발 작업의 경우 Visual Studio 2005 TFS 기반의 협업을 통해 불필요한 재작업을 없애고 빠른 개발 속도를 유지하면서 코드의 품질은 일정 수준 이상 유지할 수 있었다.
![[그림3] 삼성중공업 차세대 선박운항제어시스템의 시스템 구성도](/korea/magazine/2008-summer/images/coverstory_pic_03.jpg)
삼성중공업은 .NET Framework 3.5와 Visual Studio 2008을 통해 경쟁 업체들의 제품과는 1세대 이상의 차이를 보이는 가장 진보된 형태의 선박제어시스템 개발에 성공했으며, 이번 프로젝트가 한국 선박제어 기술을 세계적인 것으로 만드는 시발점이 될 것으로 기대하고 있다.
Case 3. 핸드폰 대리점도 이제 최첨단 IT기술 시대: LG텔레콤 LG텔레콤은 핸드폰 대리점을 위하여 오프라인에서 사용 가능하고 또한 고객과 함께 사용하는 프로그램으로서 집중 할 수 있는 UI를 갖고 있으며, 요금 시뮬레이션 및 타사 요금과 효과적인 비교가 간편한 소프트웨어의 개발을 위해 WPF 기술을 사용하기로 결정했다.
그에 따라 LG텔레콤은 Visual C#, .NET Framework 3.0, 그리고 외부 데이터 관리는 XML을 이용하여 고객맞춤컨설팅 애플리케이션을 개발했다. 또한 HTTP 프로토콜을 사용하여 소프트웨어를 업데이트할 수 있도록 했다. 지금까지의 애플리케이션의 경우 대부분 개발사나 고객들이 사용자경험(UX)보다는 비용과 기능에 더 많은 신경을 썼으나, 이번에는 무엇보다 고객의 사용자경험에 초점을 두고 프로젝트를 진행하였다.
이를 위해서 먼저 WPF를 이용한 비즈니스 모델의 수립 및 적용을 시연하고 백오피스 업무에 효율적인 플랫폼이라는 장점을 부각하는 등 WPF에 대한 공감대를 형성하는 일이 중요했다. LG텔레콤의 새로운 고객맞춤컨설팅 애플리케이션은 향상된 사용자 인터페이스를 통해 고객에게 휴대폰을 소개하고 선택하도록 하고, 제휴카드를 시뮬레이션하거나, 기존 요금정보, 종합결과, 개통지원 등 다양한 기능을 제공함으로써 고객 만족도를 높이고 있다.

Part 2 : 개발자에게 좀 더 다가가는 기능과 활용법 Visual Studio 2008은 소프트웨어 개발자들이 초보자이거나 경험이 많은 전문가이거나 상관없이 복잡한 솔루션을 개발할 수 있도록 설계된 개발 도구다. Visual Studio 2008의 역할은 개발 프로세스를 향상시키고, 보다 쉽고 보다 만족스럽게 개발의 생산성 향상을 달성하게 해준다. 각 언어 및 적용 분야별로 주요 기능을 살펴보면 다음과 같다. Visual Basic 2008
Visual Basic 2008에서는 클래스 파일의 로딩에서 컴파일에 이르기까지 최소 50% 이상의 성능이 향상되었다. 또한 생산성을 높여주는 인텔리센스 기능이 기존 버전에 비해 월등히 강력해졌다. 그리고 코드조각(Code Snippet)을 통한 코딩 생산성 향상 및 코드의 재활용이 월등히 쉬운 구조로 이루어져 있다.
Visual Basic 6의 코드를 .NET으로 변경할 수 있는 코드변환기가 기본적으로 제공되는데, 코드에 따라 다르기는 하지만 대략 80% 정도의 코드는 곧바로 사용할 수 있는 수준으로 변환이 가능하다. 아직까지 .NET으로 전환하지 않은 Visual Basic 개발자들이 많은 현실을 감안할 때 이는 중요한 기능 중 하나라고 볼 수 있다. Visual C++ 2008
Visual C++ 2008이 추구하는 것은 차세대 기술과 최고의 네이티브 도구를 이용한 마이크로소프트 플랫폼에서의 Visual C++ 개발자의 성공이며 이를 위해 고성능을 제공하는 교체 플랫폼 코드 작성, 기존 C++로 작성된 코드의 재활용, .NET 장점의 최대한 활용을 추구하고 있다.
마이크로소프트는 네이티브 플랫폼의 가치 증대를 위해 네이티브 라이브러리에 대한 강력한 투자를 하였고, 이를 통해 Windows Vista를 지원하는 새로운 MFC가 제공된다. 또한 통합 개발 환경과 프로젝트에서 UAC를 지원하며, Windows Vista SDK를 통해 새로운 네이티브 API가 제공된다. 네이티브와 관련되는 코드의 충실한 가교 역할을 한다는 것이 Visual C++ 2008의 주요 역할이다.
또한 개발자들에게 기민함과 생산성을 제공하기 위해 효율적인 컴파일러를 제공하고 메타데이터 기반의 관리되는 코드 빌딩 향상 및 모듈 컴파일링을 지원한다. 또한 클래스 디자이너가 부활되었다. 이러한 Visual C++ 2008의 기능은 기존 개발자들의 요구를 반영하고 있은 것으로서, 앞으로 Visual C++의 발전에 대한 여러 기대를 갖게 한다. ASP.NET 3.5
Visual Studio 2008의 웹 폼 페이지 디자이너와 소스 코드 편집기는 CSS와 자바스크립트에 대한 지원이 크게 향상되었다. Visual Studio 2008에서는 CSS 속성 창을 이용하여 CSS 파일을 열지 않고도 외부 CSS 파일에 정의된 스타일을 웹 폼 페이지 디자이너에서 곧바로 수정할 수 있다. Visual Studio 2008의 자바스크립트 인텔리센스는 표준 자바스크립트뿐 아니라 사용자 정의 객체와 외부 자바스크립트 파일에 작성된 코드에 대해서도 완벽하게 지원한다.
또한 ASP.NET에 새로운 컨트롤들이 추가되었으며 그 중 ListView, DataPager 컨트롤은 좋은 반응을 얻을 것으로 예상된다. 또한 ASP.NET 3.5에는 ASP.NET 3.5 Extensions라는 이름으로 ASP.NET AJAX 프레임워크가 통합되어 있다. ASP.NET AJAX 3.5는 WCF 서비스 호출뿐만 아니라 ASP.NET 역할 기반 보안 서비스와의 통합, 컨트롤 툴킷과의 통합, 향상된 컨트롤 지원 등을 포함하고 있다.
Visual Studio 2008 Team System
Visual Studio 2008에서 제공되는 새로운 ALM 기능에는 데이터베이스 전문가를 지원할 수 있는 통합 기능과 확장된 단위 테스트 기능, 기업 프로젝트를 위한 로드 테스트 및 테스트를 통한 성능 조정과 진단 기능 등이 포함되어 있다.
데이터베이스 전문가는 오프라인 데이터베이스 표시 및 데이터베이스 프로젝트 생성 기능을 이용해서 개발 수명주기에 참여할 수 있다. 단위 테스트의 기능이 더욱 확장되어 향상된 성능과 더욱 넓어진 기능 범위를 제공한다. 사용자는 이제 IDE나 명령줄을 통해 단위 테스트를 더욱 신속하게 실행할 수 있다. 테스트 상속을 통해 상속된 메서드를 다시 사용하거나 단위 테스트 정의로부터 테스트를 직접 실행할 수 있는 등 사용성이 크게 향상되었다.
Visual Studio 2008은 또한 기존 로드 테스트 기능을 더욱 향상시켜서 로드 테스트 인터페이스를 보다 단순화하고, 테스트를 진행 중인 모든 시스템의 테스트 결과, 성능 및 상태를 한 눈에 볼 수 있는 다중 시스템 그래프를 제공한다.
또한 Visual Studio 테스트 도구를 통해 시스템 성능 조정 및 진단을 지원하는 새로운 분야의 기능을 제공한다. 개발자는 이 기능을 통해 테스트를 진행하는 중에 프로파일링을 수행할 수 있다. 한 시스템에서 로드 및 테스트 절차를 실행하고, 테스트 동작을 확인하고, 통합 도구를 사용해서 프로파일링, 디버깅 및 성능 조정을 수행할 수 있다. 또한 성능 기준선 설정 기능이 포함되어 개발자는 기준선 프로필을 저장한 다음 성능이 저하되면 최근의 추적 상황을 비교하여 성능이 저하된 원인을 확인할 수 있다.
스마트 장치 솔루션의 개발
Visual Studio 2008에서의 스마트 장치 애플리케이션 개발은 Windows Mobile 5.0 이상부터 지원한다. 개발 방식은 개발자가 직접 메모리를 제어하는 네이티브 애플리케이션 개발, 그리고 메모리를 .NET CLR에서 자동적으로 제어해주는 .NET 컴팩트 프레임워크를 이용한 관리형 애플리케이션 개발로 나뉜다. Visual Studio 2008의 스마트 장치 디자이너는 기존 버전과 크게 다르지 않지만, 보다 직관적으로 컨트롤들을 드랙앤드롭 하면서 프로그래밍할 수 있도록 도와준다.
Visual Studio 2008은 솔루션 개발 패턴 및 설계, 코딩, 테스트, 배포 및 인증의 전과정을 효과적으로 지원하는 통합 개발 플랫폼이라고 할 수 있다. 이를 통해 임베디드, 모바일 소프트웨어의 개발 생산성을 극대화할 수 있게 되었다.
Part 3 : 최고의 애플리케이션을 위한 준비된 개발 플랫폼 더욱 강화된 .NET Framework 3.5 2002년에 발표된 .NET Framework 2.0 버전이 3년 만에 업그레이드된 .NET Framework 3.0 버전은 신기술을 추가한 가장 큰 업그레이드 버전이었다. .NET Framework 3.5는 더 유용한 추가기능을 제공하고 있다. .NET Framework의 진화와 함께, Visual Studio 2008 또한 .NET 애플리케이션을 개발하는데 필요한 기능들이 더욱 강력하게 그리고 더욱 다양하게 지원되도록 진화되었다.
![[그림5] .NET Framework 3.5](/korea/magazine/2008-summer/images/coverstory_pic_05.jpg)
다양한 데이터에 대해 일관성 있는 접속을 제공하기 위해 .NET Framework 3.5는 LINQ (Language-Integrated Query)라는 신기술을 제공하고 있다. 각각의 데이터 유형에 대해 특수 언어와 별도의 방식을 사용하는 대신에, LINQ는 C#과 VB에서 다양한 정보에 일관성 있는 접속을 하는 확장요소를 제공한다.
WCF(Windows Communication Foundation)는 개발자가 각각의 통신 방법에 대해 서로 다른 API를 사용할 필요 없이, 공용 API를 사용하는 공통 방식을 제공한다. .NET Framework 3.0과 함께 발표된 WCF는 마이크로소프트가 가장 권장하는 통신 방법이며, 특정 호스트를 요구하지 않기 때문에 개발자들은 어떤 호스트 프로세스 내에서라도 이 통신 기술을 자유롭게 사용할 수 있다.
그리고 마이이크로소프트는 WF(Windows Workflow Foundation)을 통해, Windows 애플리케이션이 사용하는 공용 워크플로우 기술을 제공하고 있다. 프로세스 로직을 구현하기 위해 워크플로우 기술을 사용함으로써, 코드에 로직을 구현해 넣지 않고, 프로세스의 각 단계를 명시적으로 정의한 후에 워크플로우 엔진이 실행하게 만들면, 프로세스 자체를 명확하게 구현할 수 있다.
.NET Framework 3.0과 함께 발표되었던 WPF(Windows Presentation Foundation)는 사용자 인터페이스를 위해 일관된 기술 토대를 제공한다. WPF는 비디오, 애니메이션, 2/3차원 그래픽과 다양한 문서 형식을 지원하여, 사용자들이 새로운 방식으로 정보를 사용할 수 있게 해준다. 그리고 데스크톱과 브라우저 클라이언트를 위한 공통 인프라를 제공하므로, 두 플랫폼에서 실행되는 애플리케이션을 더 쉽게 개발할 수 있다.
멋진 사용자경험을 제공하기 위한 디자이너와의 협업: Expression Visual Studio 2008에서는 웹 개발을 간소화하고 웹 개발자의 능력을 강화함으로써 새로운 웹 애플리케이션을 만들 수 있다. 클라이언트 중심의 애플리케이션 및 웹 서비스 모두에 대해 보다 빠르고 효율적이며 간편하게 차세대 웹 환경을 구축할 수 있는 도구를 제공한다.
Expression Studio는 웹, Windows Vista 애플리케이션을 위한 풍부한 사용자 환경을 제공하는 과정에서 디자이너에게는 상상을 현실로 바꿀 수 있는 자유를, 개발자에게는 공동 작업을 활성화할 수 있는 능력을 제공한다. Expression Studio는 마이크로소프트 기술 플랫폼의 기본 성능에 보다 강력한 사용자 인터페이스를 추가하는 전체 워크플로우에서 주요한 역할을 담당하고 있다.
새 Expression 도구의 개선된 디자이너 및 편집기를 개발 워크플로우로 통합하고 Windows Live 서비스의 폭넓은 기능을 솔루션에 통합하여, 웹을 대상으로 하는 팀에서 보다 효율적인 공동 작업을 할 수 있으며 보다 빠른 결과를 얻을 수 있다.
웹에서의 상상이 현실로, 그리고 상상을 넘어서는 인터랙티브 웹: Silverlight Silverlight는 웹에서 차세대 .NET 기반 미디어 환경 및 풍부한 대화형 애플리케이션을 제공하기 위한 다중 브라우저, 다중 플랫폼 플러그인이다. Silverlight는 뛰어난 다중 플랫폼 사용자 경험, 공동 작업 도구를 통한 유연성 있는 프로그래밍 모델, 효율적이고 저렴하게 콘텐츠를 제공하는 강력한 미디어 솔루션이다.
Silverlight는 디자이너와 개발자간 완전한 협업을 제공하는데, 디자이너가 만든 다양한 창조적인 디자인을 아무런 손실 없이 그대로 개발자에게 전달 가능하며 개발자는 자신이 원하는 다양한 개발 언어를 이용해 개체에 대한 동작 등을 손쉽게 제어 가능하다.
![[그림6] Infragistics의 Silverlight Data Visualization 데모](/korea/magazine/2008-summer/images/coverstory_pic_06.jpg)
Expression Studio와 Visual Studio에서 프레젠테이션을 위해 사용되는 기술은 XAML이며 디자인과 개발 작업간 완벽한 연계가 가능하다. 특히 Visual Studio는 엔터프라이즈 프로젝트 진행을 위한 완전한 통합 개발 환경을 제공하며, 팀 단위 작업뿐 아니라 프로젝트 역할에 맞는 다양한 환경을 통합해 제공한다.
 1. 현재 하고 계신 일과 Visual Studio 2008을 언제부터 사용하셨는지, 그리고 사용 소감에 대해 말씀해 주십시오.
저는 고객사의 IT인프라 운영을 포함하여 애플케이션 개발 및 유지보수, 서비스를 제공하는 일을 하고 있습니다. IT트렌드와 솔루션을 발굴하고 검토하여 고객의 업무에 활용할 수 있는 방안을 제안함으로써, 고객이 IT기술을 통하여 업무생산성을 향상시킬 수 있도록 지원하고 있습니다.
작년 10월부터 .NET Framework 3.5의 WPF기술을 활용하여 프로젝트를 수행하였는데, 기존 기술에 비하여 개선된 점이 매우 많다고 생각합니다. 특히 WPF를 활용함으로써 사용자 경험을 강화한 시스템의 개발이 가능하게 된 것 같습니다. 사용자의 수준이 높아진 이유도 있겠지만, 애플리케이션 개발에 있어서도 컴퓨터 중심, 데이터 중심에서 사용자 중심으로 트렌드가 바뀌고 있다고 생각됩니다. 이러한 트렌드를 반영하여 구현할 수 있는 도구가 바로 Visual Studio 2008이 아닌가 싶습니다.
2. Visual Studio 2008과 관련된 에피소드가 있다면 말씀해 주십시오.
고객의 요구사항을 듣다 보면 “이런 기능이 가능합니까?”라는 질문을 많이 받게 됩니다. 이전 같았으면 “기술적으로 어렵습니다”라고 대응을 하였을 텐데, 이번 프로젝트에서는 “가능합니다, 다만 창의력과 시간이 부족할 따름입니다”라는 답변을 많이 했던 거 같습니다. 소프트웨어 개발에 있어서 UI 설계와 기획이 매우 중요해져 가고 있다는 사실을 강하게 체감하고 있습니다. 3. 마이크로소프트에 하고 싶은 말씀이 있으시다면?
마이크로소프트의 개발자 육성 프로그램이 지금보다 더 많았으면 좋겠습니다. 신기술을 적용하는 것이 망설여지는 이유는 기술에 대한 이해와 사례, 그리고 개발 리소스의 부족 때문이라고 생각합니다. 특히 고급기술자가 많이 육성되고 활용할 수 있어야, 기술 선택에 있어서도 망설임이 없이 좋은 기술을 선택하고 사용할 수 있을 것입니다. |