마이크로소프트가 지난 10월 말 PDC에서 공개한 클라우드 플랫폼인 Azure Services Platform (Azure)은 아래 그림에서와 같이 Windows Azure와 Azure Services로 구분할 수 있다. Windows Azure 혹은 Azure Services의 각 서비스를 사용하기 위해서는 별도의 사용권한인 "Invitation code"가 있어야 한다.
Azure Services 가운데 하나인 .NET Services에는 현재 .NET Services Bus, Access Control Service, Workflow Service 등이 구현되어 테스트해 볼 수 있다.
.NET Services 중에 Service Bus를 한 마디로 정의하면, 기업내에서 메시지 기반의 백본을 제공하며 이 기종 시스템간에 웹 서비스 기반으로 연동을 제공하는 Enterprise Services Bus (ESB)가 클라우드 스케일로 확장되어 기업간 서비스 연계를 제공해 주는 Internet Service Bus (ISB) 의 마이크로소프트판 구현물이다. 서비스 버스로서 .NET Service Bus는, 어디인지 모르지만 또 어떤 언어로 구현되었는지 모르는 서비스에 대해 플랫폼이나 언어에 종속적이지 않은 웹 서비스 기반의 접근을 제공하고 있다. 현재 발표된 CTP 버전에서는 닷넷, 자바 혹은 루비로 구현된 서비스를 .NET Service Bus에 등록하면 닷넷, 자바 혹은 루비 중 그 어떤 언어에서도 접근하여 서비스를 사용할 수 있는 SDK가 제공되고 있다.
Access Control Service와 연계되어 .NET Services Bus를 사용하는 샘플을 돌려보자. 주의할 사항은 .NET Framework 3.5 이상이 설치된 Windows Server 2008 혹은 Vista 에서만 동작하며 Visual Studio 2008에서 샘플을 돌려볼 수 있습니다. 이상이 준비된 경우,
1. Azure 싸이트에서 Resources 메뉴 중 "Microsoft .NET Services SDK"를 다운로드 받아 설치한다.
2. Azure 싸이트에서 Resources 메뉴 중 "Azure Services Training Kit"을 다운로드 받아 설치한다.
Azure Services Training Kit을 설치하면 좌측과 같은 폴더들이 생성되고 이중 Labs에 들어있는 샘플을 돌려보면서 .NET Services Bus의 원리를 파악해볼 수 있다. "IntroServiveBus" 샘플이 Access Control 서비스와 .NET Service Bus가 연계되어 있는 처음 접하기에는 안성맞춤이다. IntroServiceBus 폴더에 위치한 Lab.docx 문서를 참고하며 하나하나 따라하면 별다른 무리없이 실행해 볼 수 있다.
.NET Services를 이용하기 위해 반드시 필요한 Invitation code는 Azure.com에서 신청하면 하루 이내에 발급된다. 따라서 training kit에 있는 lab을 따라하기 전에, azure 싸이트에서 코드를 발급받아 사용자로 등록하는 것이 필요하다. 이때 각 개인별 Live ID가 필요하며 Live ID 별로 invitation code가 발급된다.
Azure 싸이트의 메뉴 맨 오른쪽에 Sing In을 통해 등록 싸이트에 가면, 아래와 같이 화면 중간에 "Register for Services" 메뉴가 보인다. 이를 클릭하면 Microsoft Connect 싸이트로 이동한다.
정상적인 사용을 위해서 반드시 Live ID가 필요하며, 각 개인의 Live ID 등록시 기재했던 메일 주소로 Invitation code가 발송되기 때문에 등록되어 있는 메일 아이디에 각별히 신경쓸 필요가 있다.
Microsoft 로부터 이메일 주소 확인 메일을 받아 확인해주고 아래와 같은 간단한 설문을 마치면 신청 완료 화면이 뜬다.
이후 하루 이내에 두 통의 메일이 오는데, 한통은 신청 완료 확인 및 안내 메일이고 나중에 오는 "Do not delete"로 시작하는 다른 한통은 바로 Invitation code를 담고 있는 메일이다. 기재되어 있는 Invitation code를 가지고 Azure 싸이트에서 사용자로 등록하면 된다. 등록 과정은 위에서 언급한 IntroServiceBus Lab 문서에 자세히 기술되어 있다.
Invitation code를 신청하고 이를 통해 Azure 싸이트에 자신의 계정을 등록하고 lab 문서에 나와 있는 대로 Azure 싸이트에 자신의 솔루션 이름과 CardSpace 카드를 등록하면 아래와 같은 화면을 Azure 싸이트에서 확인할 수 있다. 아래는 현재 제 계정의 모습이며 Open_Interop이라는 솔루션이 등록되어 있고 두 개의 CardSpace 카드가 각 머신별로 하나씩 등록되어 있는 것을 볼 수 있다.
위와 같이 정상적으로 설정이 끝나고 lab을 실행하면 서버 실행시 한번, 클라이언트 실행시 한번씩 CardSpace 카드를 선택하라는 화면이 뜬다.
아래는 각각 서버와 클라이언트 프로그램 동작 모습이다.
이상의 내용은 Azure 싸이트에서 제공하는 SDK와 Lab 매뉴얼을 충실히 따르면 손쉽게 테스트해볼 수 있는 것이며, 사실은 어제 진행된 Open & Interoperability Day를 준비하면서 .NET Service Bus에 등록된 .NET WCF 서비스를 자바에서 접근하는 모습을 보여드리려고 했는데 실패하여 아쉬운 마음에 일단 닷넷 끼리 연동하는 모습을 포스트 합니다.
[업데이트] 2009-02-27
본문에서 언급한 Azure Services Training Kit이 업데이트되었다. 이번에 릴리스한 Azure Services Training Kit에는 19개의 데모 스크립트와 10개의 프리젠테이션 자료, Live Services에 대한 3개의 hands-on lab이 포함되어 있으며 아래 링크에서 다운로드 받을 수 있다.
Azure Services Training Kit - February

