使ってみよう! Live Framework

第8回 Mesh-Enabled Web アプリケーション ―― Newsリソース

この記事を読むのに必要な時間:およそ 6 分

今回はMesh-enabled WebアプリケーションからMeshサービスへのアクセスとNewsリソースについてです。

はじめに

前回はMesh-Enabled Webアプリケーションの実行まで行いました。Mesh-enabled Webアプリケーションとは,Webアプリケーションの特徴を持ち,デスクトップアプリケーションとしての特徴も持ったアプリケーションです。

Mesh-enabled Webアプリケーションは,Webブラウザ内のLive Desktop上で実行できるだけでなく,ローカルPCのデスクトップからもデスクトップアプリケーションのように実行が可能です。デスクトップアプリケーションらしいリッチなインターフェースはSilverlightにより実現しています。

また,アプリケーション自身およびアプリケーションのデータは,ローカルPC等のデバイス上にコピーされ,インターネットに接続していない状態でも実行が可能なこともデスクトップアプリケーションらしい特徴のひとつになっています。インターネットに接続していない時に変更されたデータは,インターネット接続が有効になった時に自動でMesh上のデータと同期されることになります。

さて今回の内容です。前回はMesh-enabled WebアプリケーションからMeshの接続について触れていませんでしたので,今回はその部分とMesh-enabled WebアプリケーションのUIによってより活かすことのできるNewsリソースについてです。

セキュリティ

Meshサービスへアクセスする前にMesh-enabled Webアプリケーションの特徴のひとつ,セキュリティについてふれておきましょう。

Mesh-Enabled Webアプリケーションは,ローカルPC上でも実行が可能ですが,サンドボックス内で実行されアプリケーションは自由にローカルPC上のデータにアクセスすることはできません。またMeshサービス上のフォルダやファイルへのアクセスも制限されています。

基本的にはMesh-Enabled Webアプリケーションは,アプリケーション自身のデータにのみアクセスが可能です。Mesh-Enabled Webアプリケーションをインスタンス化する方法を思い出してみてください。Live Framework Developer SandboxのAppsタブからアプリケーションをインスタンス化しましたが,このときにアプリケーションに対してアクセス許可を設定する必要がありました図1)。

図1 アプリケーションのアクセス許可

図1 アプリケーションのアクセス許可

このとき,図1中の「Change」リンクからアプリケーションに対してアクセスを許可するフォルダなどのMesh Objectを選択することができます図2)。こうすることでアプリケーションは初めて自身以外のMesh Objectにアクセスが可能になります。

図2 アクセスを許可するMesh Objectの選択

図2 アクセスを許可するMesh Objectの選択

以上を踏まえた上で,Mesh-enabled WebアプリケーションからMeshサービスへアクセスしてみましょう。

Meshへの接続

前回と同様Visual StudioのSilverlight Mesh-enabled Webアプリケーションプロジェクトにより開発します。前回のプロジェクトを変更しても,新しくプロジェクトを作成しても構いません。

本連載第4回から6回まではLive Framework SDKのライブラリのひとつ.NET Kitを使用していましたが,今回はSilverlight Kitを使用します。プロジェクトを作成した時点で既にライブラリへの参照が追加されています。ライブラリを使用すれば,これまでとほぼ同様のクラスと操作により簡単にMeshサービスへアクセスが可能です。

.NET FrameworkからMeshサービスへアクセスしたときとは異なり,Mesh-enabled Webアプリケーションはセキュリティで述べたようにMesh上のデータに自由にアクセスできません。アプリケーションは,Mesh上の同期単位であるMesh Objectのひとつとして存在し,自身のMesh Objectにはアクセス可能です。そのためアプリケーション自身を表すMeshApplicationServiceというクラスが用意されています。このクラスを使用するとプロパティから直接アプリケーションのData Feedなどの参照が可能です。

著者プロフィール

松江祐輔(まつえゆうすけ)

日本システムウエア株式会社 勤務。現在,ハードウェア設計・検証業務を担当。大学生・大学院生時代はベンチャー企業 有限会社ミレニアムシステムズにプログラマーとして従事。趣味はプログラミング。好きな言語はVisual Basic。Microsoft MVP for Windows Live Platform(Jul 2010 - Jun 2011),Windows Live(Jul 2011 - Jun 2013)。

URL:http://katamari.jp

コメント

コメントの記入