オンプレミス・システムと連携するサンプル・アプリケーション
前回は、Windows Azure platform AppFabricの概要について解説し、簡単なサンプル・アプリケーションの動作確認を行いました。
今回は、以下のシナリオでサンプル・アプリケーションを動作させることで、Azure AppFabricの適用例と実装例を紹介したいと思います。また、WCF(Windows Communication Foundation)についての前提知識が必須であるため、「Code Recipe -.NET開発サンプル コード集」などを参考にしてください。
- オンプレミス・システムで購買システムが展開されている
- 上記システム内で期間限定のキャンペーンを実施する
キャンペーンに対応する目的で公開されるシステムは、利用者数が想定できず、またキャンペーン期間終了後は利用されなくなると思われます。このような要件に対応するため、クラウド・サービスの特徴である「使いたいリソースを使いたいときだけ借りられる」という点を生かして、Azure platform上にキャンペーン・システムを構築します。
今回用意したサンプル・アプリケーションは以下の2つです。
- オンプレミス・システムを想定したサンプル「ThinkITOnPremiseService」
- Azure platformで動作させるサンプル「ThinkITCampaignService」
サンプル・アプリケーションの起動手順は、以下になります。
- アプリケーション2つ分の「Web.Config」の設定を編集(※後述)
- Visual Studioを起動し、「ThinkITOnPremiseService」を「F5」で実行
- Visual Studioをもう1つ起動し、「ThinkITCampaignService」を「F5」で実行
今回はローカル環境での実行を前提としています。AppFabric SDK v1.0を利用したサービスをAzure platform上へデプロイする場合、「Microsoft.ServiceBus.dll」アセンブリをローカル・コピーに設定する必要があるので注意してください。
オンプレミス・システムの設定情報を編集する
「ThinkITOnPremiseService」についての設定方法を説明します。
まず、Web.Configを編集します。Windows Azure platform AppFabricに登録したサービスを利用できるように、「サービス・バスに設定する情報」と「公開サービスの設定」を記述します。
--------------------------------------------------------------------------------
【オンプレミス向けのWeb.Configの設定例】
<!-- (1)サービスバスに設定する情報 -->
<appSettings>
<add key="ServicePath" value="ProductService"/>
<add key="ServiceNamespace" value="thinkitbus"/>
<add key="IssuerName" value="owner"/>
<add key="IssuerSecret" value="<Base64エンコードした秘密鍵>"/>
</appSettings>
<!-- (2)公開サービスの設定 -->
<system.serviceModel>
<services>
<service name="OnPremiseSystem.Services.ProductService">
<endpoint binding="netTcpRelayBinding" contract="OnPremiseSystem.Services.IProductContract" />
</service>
</services>
</system.serviceModel>
--------------------------------------------------------------------------------
(1)と(2)で設定している情報について、解説します。
(1)第1回で紹介した「Service Namespace(thinkitservice)のパラメータ値」の認証情報と、オンプレミス・システム側での公開サービス名(今回は“OnPremiseSystem.Services.ProductService”)を記述します。
(2)<endpoint>タグ内で、「オンプレミス・システムのエンドポイント」、「サービス・バスのメッセージング形式」、「WCFサービスが公開しているインターフェースの名前空間」を記述します(本稿では割愛しますが、メッセージング形式には一方通行のユニキャストやマルチキャストなどが存在します)。
次ページからは、オンプレミス・システム側のサービスを開発/公開し、Windows Azureと連携させるまでを解説します。



