2005년 2월 24일 목요일

[펌] IT 전문가를 위한 Microsoft .NET

IT 전문가를 위한 Microsoft .NET

주요 내용
down소개
down.NET의 정의
down.NET 및 IT 전문가
down웹 서비스
down.NET의 구축 위치
downThe .NET Framework
down.NET 기술
down.NET의 전망
downMicrosoft에서 제공하는 .NET 서비스
down개발자 도구
downIT 전문가의 기본 기술

이 백서는 MSDN과 TechNet의 Q1 FYO2 Field Content CD-ROM에서 일부를 발췌한 것입니다. 이 부분은 TechNet과 MSDN의 Field Content 프로그램 관리자인 Alan Le Marquand의 프레젠테이션에서 가져온 것입니다.

이 백서에서는 IT 전문가의 관점에서 .NET이 이들에게 언제 어떤 영향을 미칠 것인지를 다룹니다. 또한 ".NET은 무엇인가?"라는 질문에 대한 답을 제공합니다.

소개 Back to Top

.NET이 무엇이며 어떻게 시작되었고 앞으로 어떻게 될 것인가를 알아 보는 것으로 시작하겠습니다. 그런 다음 .NET 플랫폼을 살펴 보고 마지막으로 .NET의 향후 전망과 .NET 사용에 필요한 기술을 설명할 것입니다. 이 문서에서는 쉽게 설명하도록 신중을 기하였으며 이를 "100 레벨(기초) 과정"이라고 부릅니다. 가장 큰 이유는 기술적인 면보다 .NET의 개념을 우선시했기 때문입니다.

인터넷의 단계

인터넷의 1단계에서는 웹 사이트를 갖는 것이 전부였습니다. 매니아는 사이트를 만들고 게임을 연결하여 "방문 횟수"를 집중시키는 데 중점을 두었습니다. 많은 사이트가 간단한 업무 효율성을 처리하는 비중이 적은 컨텐트 사이트인 "브로슈어 웨어"로 간주될 수 있습니다.

그런 다음 현재는 2단계에 와 있습니다. 이 단계는 매출에 중점을 둡니다. 여기에서 중점을 두는 것은 간단한 거래를 통해 매출을 늘리는 것입니다. 사이트는 방문 횟수를 측정하는 것이 아니라 거래 횟수와 어느 정도 매출이 생성되었는지를 측정합니다. 그러나 1단계와 마찬가지로 이 단계에는 모든 고객이 웹 설계자가 선택한 방식으로 사이트와 상호 작용하게 됩니다. 사람들은 한번에 한 사이트를 방문하여 정보를 남긴 다음 다른 사이트로 이동합니다. 입력은 키보드 중심입니다. 예를 들어, Amazon과 같은 회사를 통해 개인화가 크게 진전되었지만 정보가 제공되는 방식은 여전히 기업에서 결정해야 합니다.

지금은 이익에 중점을 두는 3단계로 이동하는 중입니다. 2단계의 트랜잭션 매니아는 퇴조하고 있으며 기업은 디지털 경제의 현실에 눈을 뜨고 있습니다. 빌 게이츠는 이런 경제에 대해 "사람들은 향후 5년간 인터넷의 중요성에 대해서는 과대 평가하면서 향후 20년 간의 인터넷에 대해서는 과소 평가한다"고 말합니다. 골드 러시는 끝날 수 있지만 중요한 기술 경향은 계속해서 비즈니스를 변화시킵니다.

이렇게 2단계에서 3단계로 발전하는 과정에서 기본적으로 사용되는 기술의 변화를 볼 수 있습니다.

인터넷의 발전이 기술에 반영되는 방식

플랫폼 기술은 변화하고 있습니다. 1992년 이후로 클라이언트/서버 환경이 구축되어 Win32 플랫폼에서 필요한 응용 프로그램을 실행하는 사용자에게 제공되어 왔습니다. 정보는 서버에 있는 데이터베이스를 통해 공급되며 클라이언트 시스템에 설치된 프로그램에 따라 이 정보가 제공되고 처리되는 방법이 결정됩니다.

인터넷이 큰 변화를 맞았던 90년대 말 브라우저와 웹 서버가 출현했습니다. 이는 인터넷에서 사용 가능한 정보가 있으나 기능이 제한되었던 1단계에서 볼 수 있었던 것과 동일합니다. Windows 분산 인터넷 아키텍처가 개발되면서 간단한 트랜잭션이 발생하는 웹 사이트가 나타나기 시작했습니다. 브라우저의 클라이언트는 데이터베이스로부터 정보를 검색하는 데 사용할 수 있는 COM 구성 요소가 있는 웹 사이트에 액세스할 수 있습니다. 따라서 이제는 Win32 플랫폼의 환경을 시뮬레이션하는 기능을 갖추게 되었습니다. 클라이언트 소프트웨어, 즉 브라우저는 서버에 있는 정보에 액세스할 수 있습니다. 그러나 Win32 환경과 마찬가지로 정보를 제공하는 방법에 제한이 있습니다. 사용자 지정이 널리 활용되지도, 폭넓게 개발되어 있지도 않았습니다.

인터넷 발전의 3단계를 위한 플랫폼은 .NET입니다. 정보를 액세스하고 사용하는 방법이 변화할 것입니다.

.NET에 대해 자세히 살펴 보도록 하겠습니다.

.NET 및 IT 전문가 Back to Top

사람들은 “.NET”을 한 문장으로 정의하기를 바랍니다. .NET이란 무엇인가? .NET에 관심을 가져야 할 만한 이유는 무엇인가? .NET은 언제 어디서나 모든 장치를 사용할 수 있게 하려는 Microsoft의 소프트웨어 전략입니다.

위와 같은 문장은 정확하기는 하지만 아주 포괄적인 수준의 정의이므로 충분하지는 않습니다. 솔루션을 구축하는 개발자, 이익을 유지하려는 기업 또는 엄청난 양의 기술과 정보를 가지고 작업하려는 고객에게 이 문장은 .NET이 무엇을 의미하는지 설명하지 못합니다.

.NET은 인터넷에 기반을 두고 있습니다. 인터넷은 사람마다 각자 다른 의미를 가진 기술이나 현상으로 이해하고 있습니다. 사람들에게 인터넷을 간단 명료하게 한 문장으로 정의하라고 묻는다면 다양한 대답을 듣게 될 것입니다. 개발자에게 .NET은 TCPI/IP 기반 분산 컴퓨팅의 프로토콜 스택이며 컴퓨팅 모델입니다. 기업의 입장에서는 많은 것을 기대하게 하지만 대개 성과가 적은 기술이라고 할 수 있습니다. 고객에게는 큰 좌절을 주기도 하고 엄청난 효용을 주기도 하는 정보, 통신 및 연결성과 관련한 놀라운 리소스입니다.

.NET 및 IT 전문가 Back to Top

그렇다면 IT 전문가에게 있어서 .NET은 무엇인가? Microsoft가 인터넷을 제어하는 방법이라고 할 수 있는가? .NET의 정의를 확장하면 다음과 같은 요소로 구성되는 XML 웹 서비스 플랫폼이라고 할 수 있습니다.

  • .NET 경험을 구축하는 소프트웨어 플랫폼
  • XML 웹 서비스를 구축하고 통합하는 프로그래밍 모델 및 도구
  • 일련의 프로그램 가능한 XML 웹 서비스
  • 사용자가 웹을 통해 폭 넓은 스마트 장치와 상호 작용하면서 응용 프로그램 외에 사용자가 상호 작용을 제어할 수 있도록 하는 방법
  • 개인화되고 간단하며 일관성 있고 안전한 응용 프로그램, 서비스 및 장치를 사용자에게 제공하는 방법

위의 내용을 구체적으로 살펴 보겠습니다.

.NET은 .NET 경험을 구축하기 위한 소프트웨어 플랫폼, 즉 데이터베이스를 실행하는 서버, 웹 서버 및 기타 시스템을 통합합니다. 이것은 현재 기업을 운영하는 방식과 크게 다르지 않습니다. 단지 제품의 기능에 차이가 있을 뿐입니다. 현재 Exchange 같은 메시징 시스템과 SQL Server 같은 데이터베이스가 있으며 이들은 .NET의 기본 구성 요소가 될 것입니다. 한편 엔터프라이즈를 통해 정보를 조정하기 위한 BizTalk Server, .NET을 실행하는 이러한 서버를 관리하기 위한 Application Center 및 이동이 잦은 사용자에게 서비스를 제공하기 위한 Mobile Information Server와 같은 제품도 .NET의 일부입니다.

.NET 제품은 도구가 있는 프로그래밍 모델을 포함합니다. 따라서 개발자는 .NET을 기반으로 하는 웹 서비스를 만들 수 있습니다. 모델은 본 백서의 뒷부분에서 설명할 .NET Framework입니다.

.NET의 마지막 구성 요소는 프로그래밍 모델, 도구 및 플랫폼의 최종 결과입니다. 웹 서비스는 사용자가 인터넷의 3단계에서 요구하는 서비스와 정보를 제공합니다. 이러한 웹 서비스는 프로그래밍이 가능하기 때문에 모든 장치를 사용하여 이 정보에 액세스하고 다른 사이트 및 서비스와 이 정보를 공유할 수 있습니다.

다음과 같은 가상의 상황에는 이러한 새로운 컴퓨팅 모델을 통하여 가능한 일이 잘 나타나 있습니다.

서울에 사는 이정희 씨는 부산에 출장을 가서 길을 건너다가 오토바이와 부딪쳐 부상을 입었습니다. 이정희 씨는 웹 폰을 사용하여 주치의의 접수원인 김연수 씨에게 연락합니다. 김연수 씨는 이정희 씨의 위치를 알았고 의료 보험이 적용되는 근처의 병원 목록을 갖고 있습니다. 김연수 씨는 한 블록 거리의 병원에 이정희 씨를 대신하여 예약을 하고 이정희 씨는 필요한 치료를 받고 업무를 계속합니다.

웹 서비스 Back to Top

위와 같은 예는 비즈니스와 관련하여 특히 주목할만한 요소를 한 가지 포함하고 있습니다. 이것은 김연수 씨가 부상을 입은 이정희 씨를 도울 수 있는 병원을 찾는 데 사용한 "Clinic Referral Service"라는 응용 프로그램입니다. 이 응용 프로그램이 수행한 것은 아래와 같은 병원을 찾기 위해 상대적으로 "간단한" 검색을 작성한 것입니다.

  • 이정희 씨의 5km 반경 내에 있는 병원
  • 이정희 씨의 의료 보험이 적용되는 병원
  • 가장 빠른 시간에 예약이 가능한 병원

Clinic Referral Service가 이 기준에 맞는 병원을 검색하면 이용할 수 있을 뿐 아니라 김연수 씨가 이정희 씨를 대신하여 예약할 수 있는 병원 네 곳이 나타납니다. 이정희 씨가 이 날 이용할 수 있는 병원이 네 군데 이상 있었으며 이들 병원이 검색 기준을 충족시켰다고 가정해야 합니다. 그렇다면 네번째 이후의 병원은 왜 나타나지 않은 것일까요? 옵션 목록에 5번째나 6번째 가능한 병원은 어째서 나타나지 않았을까요? 이들 병원이 인터넷을 통해 해당 응용 프로그램에서 사용할 수 있는 표준 방식으로 서비스를 제공하도록 설정하지 않았기 때문입니다.

XML 웹 서비스는 비즈니스를 찾고 수행하는 표준 방식이 되면서 디지털 경제에 동참하기를 원하는 비즈니스에 반드시 필요한 전제 사항이 될 것입니다. 웹 서비스를 제공하지 않는다는 것은 스스로 "우리 회사는 전화 시스템을 필요로 하지 않습니다. 전화 번호부에 우리 회사를 등록할 필요가 없습니다. 우리를 필요로 한다면 고객이 직접 우리를 찾아야 할 것입니다."라고 하는 것과 같습니다.

이것은 Microsoft가 바라는 일이 아닙니다. XML 웹 서비스는 업계 표준이 되고 있으며 기업은 다음 두 가지 질문을 스스로에게 던져 보아야 합니다.

  1. 우리 회사의 서비스가 액세스 가능하며 통합적이고 XML 웹 서비스를 활용하고 있다고 확신할 수 있는가?
  2. 우리 회사가 고객과 비즈니스 파트너에게 자사 웹 서비스를 제공하여 얻을 수 있는 새로운 기회는 무엇인가?

컴퓨팅 모델과 그 중요성을 이해할 수 있도록 웹 서비스를 최대한 간단히 살펴보겠습니다.

XML 웹 서비스의 정의

웹 서비스는 프로그래밍이 가능한 응용 프로그램입니다. 다양한 요청에 응답하기 위해 일련의 표준 프로토콜을 사용하며 요청자에게 어떤 서비스를 제공하는지 알려 줌으로써 UDDI 요청에 응답합니다. 서비스는 처리하는 메시지의 순서와 형식으로 정의됩니다. 메시지를 보내고 받는 데는 SOAP(Simple Object Access Protocol)를 사용하며 이 프로토콜은 XML, HTTP 및 SMTP 위에 구축됩니다.

.NET 도구

그림 1 .NET 도구

웹 서비스를 사용하는 방법

웹 서비스의 예로 고객이 웹 사이트에 액세스하여 상품을 구입한다고 가정합니다. 웹 서비스는 주문을 처리할 수 있는 재고가 있는지 확인하기 위해 재고 시스템과 통신할 수 있습니다. 재고가 없으면 시스템은 공급업체와 통신하여 주문을 처리하기 전에 주문을 구성하는 하나 또는 모든 부품을 찾을 수 있습니다. 모든 단계에서 고객에게 메시지를 통해 진행 과정을 알려줍니다. 최종 결과는 실행하는 플랫폼에 관계 없이 쉽게 정보를 통신하고 교환하는 완벽한 시스템입니다. 공급업체 시스템에서 실행되는 웹 서비스에 무엇을 수행하는지 묻기 때문에 잘못된 공급업체로 갈 염려가 없습니다. 다른 시스템은 SOAP와 XML을 통해 통신하기 때문에 데이터 처리 방법에 신경 쓸 필요가 없습니다.

.NET 웹 서비스에 사용할 수 있는 장치를 살펴 보겠습니다.

웹 서비스를 사용하는 방법

.NET 웹 서비스에는 전화, 태블릿 장치, 포켓 PC 등 다양한 장치를 사용할 수 있습니다. 이러한 장치는 MSN과 Passport 같은 여러 서비스에 액세스할 수 있습니다. 웹 서비스는 도구를 사용하는 모든 사용자에게 제공할 수 있으며 백 엔드에서 Windows Server System을 실행하는 서버에 연결됩니다. 이렇게 하여 IT 전문가가 .NET 환경에서 일상적으로 보게 되는 제품인 Windows Server System에 연결합니다.

.NET의 구축 위치 Back to Top

Windows Server System은 확장 가능하고 통합된 웹 기반 솔루션을 구축하고 배포하고 관리하기 위한 Microsoft의 포괄적인 서버 응용 프로그램 제품군입니다. 업무상 중요한 성능을 염두에 두고 설계된 Windows Server System은 전세계적으로 웹을 사용하는 기업을 위해 확장성, 안정성 및 관리상의 용이성을 제공합니다. Windows Server System은 XML과 같은 개방된 웹 표준을 사용하여 처음부터 상호 운용성을 염두에 두고 구축됩니다. 확장 가능하고 안정적인 웹 서비스와 응용 프로그램을 구축하고 배포하고 조정하려는 고객은 이제 Windows Server System을 사용할 수 있습니다.

Windows Server System

핵심 Windows Server System은 다음을 포함합니다.

  • SQL Server 2000-이 데이터베이스 제품은 확장성이 상당히 크고 관리하기 쉽도록 설계되었지만 .NET 환경에서 가장 중요한 요소로서 완벽하게 웹 사용이 가능하며 기본 XML 저장소를 갖추고 있습니다. 따라서 개발자는 레코드 집합이나 다른 데이터베이스 정보를 탐색하는 방법을 알 필요가 없으며 원하는 결과를 XML 문서로 얻을 수 있습니다. 이것은 또한 개발자가 액세스하는 모든 데이터베이스에 대하여 응용 프로그램을 작성하지 않아도 여러 데이터베이스에 액세스할 수 있다는 의미이기도 합니다. 모든 결과는 응용 프로그램이 알 수 있는 XML 문서로 반환됩니다.
  • Exchange Server 2000-SQL Server 처럼 이 메시징 시스템을 사용하면 모든 장치에 있는 응용 프로그램이 정보에 액세스하고 XML을 사용하여 공동 작업을 할 수 있습니다.
  • Commerce Server 2000-차세대 Site Server 제품으로 전자 상거래 인프라를 신속하게 생성할 수 있습니다. 이 제품은 시장 변화에 매우 신속하게 대응할 수 있는 강력한 관리 제품군을 사용하여 B2B(Business-to-Business)나 B2C(Business-to-Consumer) 통신에 맞게 구축하는 데 사용됩니다.
  • BizTalk Server 2000-모든 엔터프라이즈 서버와 마찬가지로 .NET, Biztalk Server용으로 만들어진 첫번째 제품은 XML 기반이며 조직의 다른 서비스나 다른 비즈니스와 통합하는 비즈니스 프로세스를 구축할 수 있습니다. BizTalk를 사용하면 이동되는 메시지를 기반으로 실행과 동작을 설정할 수 있습니다.
  • Host Integration Server 2000-SNA 서버를 대체하는 것으로 SNA보다 더 많은 기능을 갖고 있으며 메인프레임 시스템을 .NET 환경으로 통합할 수 있습니다. 메인프레임에는 많은 양의 정보가 있으며 이 데이터를 웹 서비스에 표시하는 것이 중요합니다.
  • Application Center 2000-웹 응용 프로그램을 관리하는 제품입니다.
  • Internet Security and Acceleration Server 2000?이 웹 서비스 환경에서는 시스템에 대한 보안 및 보호를 제공해야 합니다. ISA는 웹 사용 회사가 더욱 안전하고 빠르며 관리가 용이하도록 구축된 통합 방화벽 및 웹 캐시 서버입니다.
  • Mobile Information Server?이동 장치 커뮤니티에 대해 실시간 액세스를 제공합니다. Outlook 사용자는 이제 이동 중에도 포켓 PC를 사용하여 모든 Outlook 데이터에 액세스할 수 있습니다.

이러한 제품은 모두 Windows 2000에서 실행하도록 구축되고 설계되었으며 기본 서비스를 제공하는 운영 체제에 의존합니다. 웹 서버는 이제 OS와 함께 제공되며 구성 요소 서비스와 관리 기능이 기본으로 제공됩니다.

이제 이러한 서버 위에 있는 프레임워크를 살펴 보겠습니다.

.NET Framework Back to Top

.NET과 같은 제품을 사용할 때는 개발자가 솔루션을 만들 수 있는 구성 요소를 많이 제공해야 합니다. 통신 프로토콜은 이미 있습니다. XML, SOAP, HTTP 및 HTML은 업계 표준이므로 프로토콜의 개발을 염려할 필요는 없습니다. 웹 서비스를 만들기 위해서는 특정 도구가 필요하며 이를 위하여 Visual Studio.NET이 제공됩니다. 또한 이러한 서비스를 개발하는 데 도움을 주기 위한 개요, 가이드, 프레임워크 및 언어를 제공해야 합니다. 이것이 바로 프레임워크이며, 개발 툴과 커뮤니케이션 사이에 존재합니다.

프레임워크 세부 사항

그림 2는 .NET 프레임워크를 보여줍니다. 맨 위에는 사용 가능한 다양한 언어가 있습니다.

.NET Framework

그림 2 .NET Framework

그림 3은 .NET에 통합된 모든 언어를 보여줍니다. 맨 윗줄에 적용 가능한 여러 가지 언어가 있습니다. 대부분의 언어는 VB, C, Perl, Python과 같이 익숙한 언어입니다. 그러나 C#은 새로운 언어입니다.


현재 사용하는 브라우저가 인라인 프레임을 지원하지 않을 경우 여기를 누르면 새 창에서 볼 수 있습니다.

그림 3 .NET 언어

웹 응용 프로그램의 프로그래밍 언어

Windows에서 웹의 프로그래밍 언어는 ASP.NET으로서 아주 널리 사용되는 Active Server Page 언어의 다음 버전입니다. 지난 몇 년간의 개발 과정에서 이 제품은 사용자의 의견을 많이 반영하여 많은 부분이 변경되었습니다. 개발자가 사용하기 편리하도록 그리고 많은 다른 언어를 지원하도록 만들었으며 C와 C# 개발자는 이제 이 ASP.NET과 함께 자신의 기술을 사용할 수 있습니다. 성능이 개선되었으며 구축하기 쉽게 만들었고 관련 응용 프로그램을 구동하는 aspx 파일과 구성 파일을 이동하는 데 XCOPY를 사용할 수 있습니다.

기본 Windows 플랫폼은 전체 시스템을 더 안정적으로 만들어 주며 제품에 기능도 추가되었습니다. 페이지의 구성 방식은 기능을 추가하고 제거하기 쉽도록 설계되었습니다. 이제 웹 팜(Web farm) 환경에서 작동하도록 세션 상태가 도입되었습니다. .NET에서 웹 팜(Web farm)을 구성하는 것은 일반적이므로, 세션 정보를 여러 서버에 확장할 수 있다는 것이 중요합니다. 그 밖에 .NET의 주요 기능으로는 웹 응용 프로그램이 클라이언트를 감지할 수 있다는 것입니다. .NET은 언제 어디서나 모든 장치에 사용 가능하다는 점을 기억하십시오. 모든 기능을 갖춘 웹 페이지를 모든 기능과 제어를 수용하지 못하는 이동 전화와 같은 장치로 보낼 수는 없습니다.

.NET 기술 Back to Top

.NET의 기본 기술을 자세히 살펴 보겠습니다. XML부터 시작하여 TCP/IP를 다루게 될 것입니다.

.NET 및 XML

XML은 .NET을 함께 묶어 주는 접착제와 같습니다. 구조적 데이터를 쉽고 신속하게 전송할 수 있는 양식에 저장한 다음 다른 쪽에서 해석하는 방법이 없으면 .NET은 동작하지 않습니다. XML은 수년 동안 발전되어 온 업계 표준이며 80년대 초의 SGML(Standard Generalized Markup Language)이 그 기원입니다. XML은 HTML과 비슷한 모양이며 HTML 처럼 읽을 수 있는 텍스트 기반입니다. 특수 문자, 컴파일러 또는 링커가 없습니다. 따라서 모든 텍스트 편집기에서 읽을 수 있지만 사람이 읽을 수 있다는 의미는 아닙니다. XML은 태그와 속성을 정의하는 사양일 뿐입니다. 이 사양과 관련하여 XML에서 하이퍼링크를 통합하는 방법과 함께 모든 선택적 모듈군을 개발 중입니다. CSS와 XSLT 두 스타일시트가 있습니다. 또한 프로그램 방식으로 XML 문서를 탐색하는 방법인 DOM(Document Object Model)도 있습니다.

참고로 Internet Explorer 5에서 XML 문서를 열어 보고 브라우저에서 서식이 어떻게 나타나는지 확인해보십시오. XML을 보면 볼수록 아주 자세한 COBOL과 비슷하다는 것을 알 수 있을 것입니다. 이것이 단점이라고 생각될 수도 있지만 개발 시에도 고려된 사항이었으며 디스크 공간 마련에 많은 비용이 들지 않는 현재 환경에서는 문제가 되지 않을 것입니다.

마지막으로 XML에 대하여 강조할 수 있는 점은 라이센스가 필요하지 않으며 플랫폼 독립적이고 지원이 뛰어나다는 점입니다. XML은 Microsoft 제품은 아니지만 모든 공급업체가 사용할 수 있으며 모든 업체는 W3C가 다음 개정판에 포함할 것을 고려하고 있는 주석에 대한 요청을 제출할 수 있습니다.

지금까지 XML이란 무엇인가를 살펴 보았습니다. 그러나 앞에서 설명한 것처럼 XML은 구조화된 데이터를 텍스트 파일로 만드는 방법일 뿐입니다. 여러 플랫폼에서 다양한 소프트웨어를 사용하는 여러 조직 사이에서 이동하려면 이를 하나로 묶어주어야 합니다. 그런 역할을 하는 것이 바로 SOAP와 같은 프로토콜입니다.

XML 문서의 전송 준비

SOAP(Simple Object Access Protocol)는 XML을 사용하여 구조화되고 입력된 정보를 분산된 환경 사이에서 교환하기 위한 간단하고 손쉬운 메커니즘입니다. SOAP는 세 부분으로 구성됩니다. SOAP Envelope는 각 메시지에 대한 프레임워크를 정의합니다. 수신 엔터티에 메시지 내용은 무엇이고 누가 메시지를 처리해야 하며 선택적인지 의무적인지를 알려줍니다. 다음 부분은 SOAP 프레임워크 내의 인코딩 규칙으로서 숫자와 같은 데이터가 인코딩되는 방법을 정의합니다. XML은 인코딩 규칙을 갖고 있으며 이 규칙은 매우 융통성이 있습니다. SOAP는 더 작은 범위의 규칙을 정의하는 만큼 융통성은 없지만 이것은 문제가 되지 않습니다.

웹 서비스 환경에서 비즈니스는 서로를 발견하고 인터넷을 통해 상호 작용하며 정보를 공유하는 방법을 정의할 수 있는 방법을 필요로 합니다. UDDI는 이러한 기능을 제공하는 프레임워크입니다. 이 프레임워크에는 서비스를 설명하고 검색할 수 있도록 하는 업계 표준 사양이 포함되어 있습니다.

Microsoft, IBM 및 Ariba가 초기에 창안하고 개발한 UDDI 표준은 어느 한 회사가 소유하고 운영하는 것이 아닙니다. 사실 이 표준은 12-18개월 내에 표준 조직이 관리하게 될 것입니다.

UDDI를 사용해야 하는 이유에 대하여 설명하겠습니다. UDDI는 전자 상거래의 표준을 세우고 있습니다. UDDI를 사용하면 현재 온라인에 있는 수 많은 표준 중에서 함께 일하기에 적합한 최고의 비즈니스를 검색할 수 있습니다. UDDI 데이터 구조는 XML 문서와 비슷하며 비즈니스나 게시 엔터티에 대한 모든 알려진 정보를 설명합니다.

지금까지 새로운 프로토콜과 표준을 중점적으로 설명했습니다. .NET의 마지막 부분을 살펴 보겠습니다.

.NET의 핵심인 TCP/IP

TCP/IP는 업계 표준 프로토콜이므로 몇 가지 다른 측면을 다루겠습니다. 우선 언급해야 할 점은 이제 Windows 2000 MCP에서 NT 3.5.1 과 NT 4.0 시절부터 시행되었던 TCP/IP 시험이 없어졌다는 것입니다. 이 시험은 핵심 부분인 "Installing, Configuring, and Administering Windows 2000 Server" 시험 및 "Implementing and Administering a Windows 2000 Network Infrastructure" 시험과 선택 부분인 "Designing a Windows 2000 Network" 인프라 시험에 흡수되었습니다.

.NET 구축

.NET 플랫폼을 구축하려면 어떻게 해야 할 것인가?

현재 Windows DNA 플랫폼은 Windows 2000, 최신 DNA Server, 응용 프로그램 서버인 COM+ 및 도구 모음인 Visual Studio 6.0을 기반으로 합니다. 많은 개발자와 기업이 Windows DNA 플랫폼에서 웹 가능 응용 프로그램을 구축하고 있지만 많은 사용자 지정 코드를 작성해야 하며 이것은 쉽지 않은 일입니다.

.NET 플랫폼에는 XML에 대한 풍부하고 심층적인 지원과 같은 인터넷 기능이 기본 제공됩니다. 이 플랫폼은 Visual Studio 6.0을 도구 모음으로 포함하는 Windows 2000을 기반으로 하고 있지만 앞으로 출시될 .NET Platform의 첫 제품은 Windows Server System이 될 것입니다. 이 서버는 개발자에게 풍부한 인프라 서비스를 제공할 것이며 새로운 범주의 기능을 소개할 것입니다. 한 예로 BizTalk Server 2000에 비즈니스 프로세스와 웹 서비스 조정이 포함될 것입니다.

.NET 플랫폼으로 이동하기 위해 개발자와 기업 고객이 할 수 있는 첫번째 단계는 Windows Server System을 구축하고 새로운 응용 프로그램 개발과 응용 프로그램 통합에 이 서비스를 이용하는 것입니다.

앞으로 Microsoft는 더 많은 .NET Platform 제품을 출시할 것입니다. 다음으로 출시할 제품은 .NET Framework와 Visual Studio.NET입니다. 이러한 새로운 개발자 도구와 프레임워크는 여전히 Windows, 특히 COM+를 트랜잭션 관리와 메시지 대기열 같은 서비스를 위한 응용 프로그램 서버로 이용한다는 것을 알아야 합니다. 물론 이러한 플랫폼의 새로운 부분은 Windows Server System의 인프라 서비스를 계속 이용할 것입니다.

.NET Framework와 Visual Studio.NET의 출시에 이어 이러한 Windows Server System의 일부가 운영 체제에 통합된 Windows의 새 버전이 출시될 것입니다. 이 버전을 임시로 "Windows.NET"이라고 부르고 있습니다.

끝으로, Microsoft는 .NET Building Block Service의 출시를 준비해 왔습니다. .NET Platform 위에 구축되어 전역적으로 사용 가능한 이 웹 서비스는 인증과 승인, 글로벌 스키마 저장소, 메시징 및 공동 작업과 같은 공통 서비스를 제공할 것입니다. 이러한 Building Block Service의 첫 번째 예가 바로 Microsoft Passport 서비스입니다. 이 서비스는 현재 사용 가능하며 SOAP과 같은 .NET Platform 기술을 지원하는 새로운 버전이 출시될 예정입니다. 앞으로 2-3년 안에 Microsoft는 사용 가능한 최소 7가지의 추가적인 서비스를 발표할 예정이며, Microsoft 협력 업체는 업종별 또는 일반적인 서비스(신용카드 인증)와 같은 추가적인 서비스를 만들게 될 것입니다.

.NET의 전망 Back to Top

그림 4의 전망과 같이 클라이언트 .NET 경로를 살펴보면 현재 PC 쪽은 Windows 2000을 기반으로 하고 있으나 앞으로는 Windows XP와 태블릿 PC를 기반으로 하게 될 것입니다.

 


현재 사용하는 브라우저가 인라인 프레임을 지원하지 않을 경우 여기를 누르면 새 창에서 볼 수 있습니다.

그림 4 .NET의 전망

현재 스마트 장치에는 포켓 PC, Windows용 스마트 카드, 자동차의 Auto PC 및 Microsoft의 Ultimate TV 장치 등이 있습니다. 이러한 장치는 계속 개발되고 향상될 것입니다. 연말쯤에는 XBox와 Stinger 폰이 소개될 예정입니다.

현재 적용가능한 제품은 Embeded Windows와 Windows CE이지만, 향후에는 Embeded Windows XP와 CE 4.0도 사용하게 될 것입니다. Framework와 Compact Framework는 .NET Platform의 일부로 포함되어 개발자가 새로운 스마트 장치를 사용할 수 있도록 지원할 것입니다.

다음으로 서버에 대하여 살펴 보겠습니다.

서버의 전망

앞에서 보았듯이 .NET은 서버에서 실행됩니다. 현재 Windows 2000 서버에는 Advanced 및 Data Center가 있습니다. 올해 말이면 Windows XP 버전의 서버도 사용 가능하게 될 것입니다.

Microsoft는 소프트웨어뿐 아니라 서비스도 함께 제공합니다.

Microsoft에서 제공하는 .NET 서비스 Back to Top

현재 Microsoft는 단 하나의 .NET 서비스를 제공하고 있으며 이것은 Passport 서비스입니다. 그러나 이제 개별적인 정보 저장소를 쉽게 통합할 수 있는 HailStorm 서비스를 선보이고자 합니다. HailStorm 서비스는 특정 장치, 응용 프로그램 서비스 또는 네트워크 중심이라기보다 사용자 중심의 서비스입니다. HailStorm은 사용자 스스로 자신의 데이터와 정보를 제어하여 개인 정보를 보호하도록 하며 새로운 수준의 편리함과 개인화를 제공합니다. HailStorm 서비스는 응용 프로그램, 장치 및 서비스가 함께 작동할 수 있도록 하는 .NET 기술과 아키텍처를 이용합니다. 이러한 서비스는 사용자 정보에 액세스할 수 있는 사람과, 해당 정보로 할 수 있는 작업 및 사용 권한을 가질 수 있는 기간에 대한 기본적인 규정에 사용자가 동의하도록 합니다.

HaliStorm은 Passport 사용자 인증 시스템을 기반으로 사용자의 편의를 위하여 응용 프로그램과 서비스가 상호 작용하도록 할 뿐 아니라 사용자, 그룹 및 조직이 작업을 공유하고 협력할 수 있도록 합니다. 예를 들어, HailStorm 서비스를 사용하면 사용자의 동의 하에 여행 서비스가 자동으로 사용자의 기본 설정과 지불에 액세스할 수 있기 때문에 온라인 여행 예약 서비스를 사용하여 비행기 표를 예약하는 일이 훨씬 간단해집니다. 업무상 출장이 필요하고 회사의 출장 여행 정책을 준수해야 한다면 회사의 HailStorm 그룹 ID를 가진 개인 회원에게는 사용자 개인 설정과 회사의 요구 사항을 모두 만족하는 경우만을 자동으로 보여주는 여행 서비스가 제공됩니다. 여행을 선택하면 여행 서비스는 명시적 사용 권한을 갖고 HailStorm을 사용하여 일정 서비스를 확인하고, 여행 일정을 사용자 일정에 자동으로 입력하고 여행 일정을 자동으로 업데이트하며 비행기가 연착되는 경우 알려줍니다. 여행 시 방문할 사람과 함께 HailStorm을 통하여 실시간으로 여객기 정보를 공유할 수 있으므로 도착할 시간과 장소를 상대방에게도 알려줄 수 있습니다. HailStorm을 사용한 일정 정보는 사용자 PC, 다른 사람의 PC, 스마트폰, PDA 또는 기타 스마트 연결 장치를 통해 액세스할 수 있습니다.

개발자 도구 Back to Top

현재 대부분의 Windows 개발자는 Visual Studio 6의 도구와 언어를 사용합니다. Microsoft는 다른 버전을 준비하고 있습니다. Visual Studio.NET 제품의 Beta 2는 곧 완전한 버전으로 출시될 것입니다.

SOAP 개발자를 위한 제품으로는 현재 2.0 도구 키트가 제공되고 있으며 향후 .NET Framework와 Compaq 제품에 통합될 것입니다. 개발자가 필요로 할 수 있는 모든 정보는 MSDN 프로그램을 통해 얻을 수 있으며 MSDN은 변경되지 않을 예정입니다.

IT 전문가의 기본 기술 Back to Top

IT 전문가가 서버를 마스터하는데 필요한 기술은 Windows 2000이나 Windows XP입니다. 그러나 올해나 내년에 XP나 2000을 배포할 계획이 있다면 이러한 운영 체제의 기본 서비스(Active Directory 및 네트워킹 서비스)와 이를 어떻게 계획하고 배포할 것인지를 지금부터 연구하는 것이 중요합니다.

Windows 2000 Networking 과정과 시험은 이제 NT 4와 3.51때보다 더 중요해졌습니다. "Networking Essentials"은 케이블 길이와 종류, 일상 업무에 그리 유용하지 않은 정보들을 다룹니다. Windows 2000 버전은 무엇이며, 어떤 작업을 하며 어떻게 구성, 설치 및 유지해야 하는지 등의 네트워크 서비스 설계를 다룹니다. "Networking Essentials"을 대신하는 “Core Networking" 시험은 네트워크 서비스에 보다 비중을 둡니다. 새로운 과정은 기존 "Essentials" 시험과 "TCP/IP" 시험 사이의 범위에 있습니다. 결국 중요한 점은 Windows 2000이 지식을 빨리 습득할 수 있는 주제라는 것입니다.

XML은 개발자가 아니라도 XML 문서를 읽고 그 구성을 이해할 수 있을 만한 수준으로 널리 인식되고 이해되는 기술입니다. 이제 XML이 Office XP와 같은 일반적인 제품에 포함되었으므로 이 기술에 대해서 질문을 받는 일이 분명히 생길 것입니다.

BizTalk Server는 대부분의 기업이 시스템 및 고객/공급업체에 메시지를 전달하는 데 사용하는 라우팅 엔진입니다. BizTalk의 조정을 이해할 수 있다면 무슨 일이 일어날 때 살펴보고 전자 메일을 받거나 호출을 받을 수 있도록 조치하는 일을 담당할 수 있게 될 것입니다. 메시지가 이상한 동작을 보이기 시작하는 경우에는 조정 맵을 읽고 BizTalk를 이해하는 일이 필요합니다.

IIS를 유지하고 구성하는 방법을 알아두면 유용합니다. .NET 환경에서는 IIS 서버를 조정하고 모니터링하며 구성할 수 있는 능력이 중요합니다. IT 전문가에게는 보안을 이해하고 올바른 구성으로 공격을 예방하도록 하는 역할이 요구될 것입니다.

마지막으로 SQL Server를 다루지만 그렇다고 해서 가장 덜 중요한 주제인 것은 아닙니다. 데이터베이스 제품은 Microsoft 제품 중에서 그 중요성이 더욱 커지고 있습니다. 여러 가지 제품 중에서 SQL 데이터베이스를 사용할 수 있거나 사용하는 제품을 몇 가지만 예로 들면 SMS, SharePoint Portal Server, SharePoint Team Server, Microsoft Operation Manager 등이 있습니다. 데이터베이스 관리자는 현재 데이터베이스 서버 또는 서버를 사용하는 많은 제품을 관리하게 될 것이므로 관리 측면을 이해하는 것이 좋습니다.


 

최종 수정일 : 2002년 7월 4일

댓글 없음:

댓글 쓰기