Windows Azure AppFabric SDK V2.0 May Updateが公開されました

2011年5月18日 | By TatsuakiSakai | Filed in: Micosoft Azure.

現在、米国アトランタで開催中のMicrosoft Tech・Ed North AmericaでWindows Azure AppFabric Service Bus V2サービスの新しいCTP提供を開始するアナウンスがありました。

これを受けて、Windows Azure AppFabric V2 SDKのCTP版がMay Updateに更新されています。サービスの正式な提供開始へ向けた準備として、多くのUpdateが提供されています。まず、Queueという概念が導入されました。高信頼のメッセージングプラットフォームとしてService Busが利用できるようになります。May UpdateのAPIにはQueueに対応したAPIおよびサンプルが提供されています。

V1で実行されていたコードをV2環境で実行するには数行のコード変更のみでマイグレーション可能になっています。

それではコードを見ていきましょう。

このコードがV1用のコードです。

 

//エンドポイントのURIを生成

Uri address = ServiceBusEnvironment.CreateServiceUri(“sb”,


ConfigurationManager.AppSettings[“Namespace”], “HelloAppFabric”);

//エンドポイントに対する資格情報を生成


TransportClientEndpointBehavior SBCredential

= new
TransportClientEndpointBehavior();

//SharedSecretを選択し、資格情報に設定

SBCredential.CredentialType

= TransportClientCredentialType.SharedSecret;

//資格情報に発行者(issuer)を設定

SBCredential.Credentials.SharedSecret.IssuerName

= ConfigurationManager.AppSettings[“Issuer”];

//資格情報にIssuer Keyを設定

SBCredential.Credentials.SharedSecret.IssuerSecret

= ConfigurationManager.AppSettings[“DefaultKey”];

//ServiceHostのインスタンスを生成

ServiceHost host = new
ServiceHost(typeof(HelloAppFabric));

//サービスバスを介したRelayエンドポイントを追加

var ep = host.AddServiceEndpoint(


typeof(IHelloAppFabric),


new
NetTcpRelayBinding(),

address);

//エンドポイントにServiceRegistoryの設定を反映

IEndpointBehavior serviceRegistrySettings

= new
ServiceRegistrySettings(DiscoveryType.Public);

//エンドポイントの構成にServiceBusの資格情報を追加

ep.Behaviors.Add(serviceRegistrySettings);

ep.Behaviors.Add(SBCredential);

// サービスをOpen

host.Open();

Console.WriteLine(“Service Started…”);

Console.WriteLine(“Press [Enter] to exit”);

Console.ReadLine();

host.Close();

 

そして、下がV2のコードです。

 

//エンドポイントのURIを生成

Uri address = ServiceBusEnvironment.CreateServiceUri(“sb”,


ConfigurationManager.AppSettings[“Namespace”], “HelloAppFabric”);

//エンドポイントに対する資格情報を生成


TransportClientEndpointBehavior SBCredential

= new
TransportClientEndpointBehavior();

//SharedSecretを選択し、資格情報に設定

SBCredential.CredentialType

= TransportClientCredentialType.SharedSecret;

//資格情報に発行者(issuer)を設定

SBCredential.Credentials.SharedSecret.IssuerName

= ConfigurationManager.AppSettings[“Issuer”];

//資格情報にIssuer Keyを設定

SBCredential.Credentials.SharedSecret.IssuerSecret

= ConfigurationManager.AppSettings[“DefaultKey”];

//ServiceHostのインスタンスを生成

ServiceHost host = new
ServiceHost(typeof(HelloAppFabric));

//サービスバスを介したRelayエンドポイントを追加

var ep = host.AddServiceEndpoint(


typeof(IHelloAppFabric),


new
NetTcpRelayBinding(),

address);

//エンドポイントにServiceRegistoryの設定を反映

IEndpointBehavior serviceRegistrySettings

= new
ServiceRegistrySettings(DiscoveryType.Public);

//エンドポイントの構成にServiceBusの資格情報を追加

ep.Behaviors.Add(serviceRegistrySettings);

ep.Behaviors.Add(SBCredential);

// サービスをOpen

host.Open();

Console.WriteLine(“Service Started…”);

Console.WriteLine(“Press [Enter] to exit”);

Console.ReadLine();

host.Close();

 

両者のコードを比較して何か気づきませんか?

そうです。まったく一緒なのです。

つまり、「参照設定」でMicrosoft.ServiceBus.dllの参照を、V1.0からV2.0に変更するだけです。もちろん、AppFabric Labで作成してあるName Spaceやキーへの変更は必要です。これらの情報を構成情報に外だししておくことで、コードをまったく書き換えることなくV2へ移行することが可能です。この点がAzure AppFabric SDK V2.0 February Updateからの変更点です。

いうまでもありませんが、クライアント側のコードも変更不要です。

このように従来のコードを書き換えることなく、Service Bus V1で実行されていたコードをService Bus V2で実行することが可能になります。

もちろん、この例はこれまで実行していたコードをそのまま移行する例にすぎません。

Service Bus V2 CTP May Updateで追加された新たな機能は、追ってご紹介していきたいと思います。


Comments are closed here.