デバイス用のWindows Azure Toolkit-モバイルプラットフォームでのWindows Azureの使用









Windows Azureは、Microsoftの最もオープンで相互運用可能なプラットフォームの1つです。 プラットフォームが提供するサービスへのアクセスと管理は、オープンプロトコルとREST APIを介して実行されます。 .NETだけでなく、 node.jsJavaPHPでもアプリケーションを開発できます。



開発者にとって、これは、クラウドプラットフォームを使用してアプリケーションのサーバー側を開発し、通常の技術を維持できることを意味します。 一方、Windows Azureクラウドプラットフォームの登場当初からREST APIをサポートしているため、通常のHTTP要求を使用してWindows Azureとやり取りするアプリケーションをいつでも作成できます。 これら2つの機能を組み合わせることで、Windows Azure Platformは、多様なクライアントサイドでサービスを開発するのに適した選択肢になります。



インターネットや関連サービスにアクセスするためのスマートフォンやタブレットの使用は日々増加しています。 ほぼすべての一般的なインターネットサービスには、主要なモバイルプラットフォーム用の高度なクライアントがあります。 Windows Azureの機能を考えると、人気のあるモバイルプラットフォームの開発者に、アプリケーションからWindows Azureを使用する便利な機会を提供することは理にかなっています。



私はすでに、habrについて、Windows Phone 用のWindows Azure ToolkitとiOS用のWindows Azure Toolkitがどのように始まったかについて書きました



これまで、このプロジェクトはAndroidおよびWindows 8 Developer Previewでも利用でき、まとめてWindows Azure Toolkit for Devicesと呼ばれています



このソリューションは、サービスとプロキシを提供するサーバー部分と、対応するモバイルプラットフォーム用の一連のライブラリで構成されています。



以下は、Widnows Phoneの例を使用したサービス、プロキシ、およびデバイスの相互作用の図です。











クライアントのテーブルおよびキューサービスにアクセスキーを保存しないために、クライアントリクエストをリダイレクトし、それらに必要な認証データを追加するプロキシサービスが使用されます。 アクセス制限メカニズムはすでにBLOBへのアクセスメカニズムに含まれています;共有アクセス署名サービスにより、BLOBストレージへの直接アクセスに必要なデータを取得できます。



次の図は、Windows Phoneの例を使用したSQL Azureへのアクセスの組織を示しています。











SQL Azure ODataサービスは、Entity Framework 4.1 Code Firstを使用してSQL Azureの上に構築された単純なWCF Dataサービスの例です。



次の図は、Windows Phoneのプッシュ通知の実装を示しています。











次の2種類の認証がサポートされています。アクセス制御サービスの使用:











habrでのアクセス制御サービスの使用についてはすでに書きました 。 このサービスにより、電話のアプリケーションは、Windows Live ID、Google、Yahoo、Facebook、およびActive Directoryのアカウントに従ってユーザーを認証できます。



ASP.NET認証の使用:











このサービスは、Azure TablesまたはSQL Azureの上部にある古典的なASP.NETメンバーシップ認証を電話のアプリケーションに提供します。



Androidプラットフォーム用のツールキットは、サービスとプロキシを提供する、または直接アクセスする同じサーバーパーツを使用できます。 さらに、ストレージの操作と認証/承認、サンプルアプリケーション、単体テストが実装されています。



iOSのツールキットは、サービスとプロキシを提供する、または直接アクセスする同じサーバーパーツを使用することもできます。 さらに、ストレージの操作、認証/承認、およびサンプルアプリケーションが実装されています。



ツールキットのサーバー部分とデバイスの部分は、ソースコードで入手でき、そのまま使用することも、Windows Azureを使用するプロジェクトのアクセスライブラリの独自の実装の基礎として使用することもできます。



便利なリンク:

Windows Azureの開発に必要なものすべて

MSDNのWindows Azure開発センター

MSDNのWindows Azureフォーラム

Android向けWindows Azure Toolkit

iOS用Windows Azure Toolkit

Windows Phone用のWindows Azure Toolkit

Windows 8用のWindows Azure Toolkit



All Articles