使ってみよう! Live Framework

第2回 Live Framework概要

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

クラウド・クライアント共通のプログラミングモデル

Webアプリケーションとクライアントサイドのアプリケーションとで同じデータを扱う場合,PCとPCだけでなく,Macや携帯電話など多様なデバイス間でデータを扱う場合を考えてみてください。これらを実現するアプリケーションの作成は煩雑であると容易に想像がつきます。異なるアーキテクチャー上で作成し,データの同期・共有,通信,状態の管理方法など,さまざまな問題を解決しなければなりません。

Live Frameworkは,データのキャシュ・同期をアプリケーションの代わりに行うLive Operating Environment(LOE)というコンポーネントを用意しています。また,LOEはアプリケーションに対してRESTfulな共通のプログラミングモデルを提供します。Live Frameworkを利用したすべてのアプリケーションはLOEとやり取りすることによってLiveサービスへアクセスし,各種リソースの操作を行います。図2にLOEとアプリケーションの関係を示します。

図2 クラウドLive Operating Environment

図2 クラウドLive Operating Environment

各種デバイス上にあるアプリケーションはHTTP(S)によりクラウド上のLOEにアクセスします。プラットフォームやプログラミング言語は問いません。LOEはhttp://user.windows.net/※1というURIを持っているので,アプリケーションはこのアドレスに対し共通のアクセス方法でやり取りを行います。これはクラウド上にあるWebアプリケーションも同じです。

※1

現在のCTP版では,https://user-ctp.windows.net/で提供されています。

実はLOEには2種類あります。今 示したものはクラウド上のLOEでした。もうひとつはクライアントサイドのLOEです図3⁠。デバイスにLOEがインストールされている場合,デバイス上のアプリケーションはクラウドのときと同様の方法でローカルのLOEと対話し,各リソースへのアクセスが可能です。ネットワークに接続されていない場合,LOEがデータのキャッシングや同期処理を行い,またほかのデバイスが接続されている場合,クラウドLOEを介さずP2Pによる通信も行います。

図3 クライアントLive Operating Environment

図3 クライアントLive Operating Environment

クライアントサイドのLOEは,WindowsのCTPバージョンが現在提供されており,MacとWindows MobileのLOEの提供が今後予定されています。

アプリケーションはクラウドとクライアントサイドのLOEのURIのみ意識さえすれば,オンライン・オフライン関係なく同じ方法によりリソースのアクセスが可能になり,キャシュ・同期処理,デバイス間通信など煩雑な処理をLOEが行ってくれます。また,LOEとの対話はHTTPベースの統一されたシンプルな方法のため,多くの場合プラットフォームや言語等を問わずに利用できると言えるでしょう。

まとめ

以上,簡単にではありますが,Live Frameworkの特徴を3点確認しました。

  • オープンそしてシンプルな仕様
  • すべてはリソース
  • クラウド・クライアント一貫したプログラミングモデル

Live Frameworkの特徴はこれだけではありません。さらに,これらの特徴がもたらす開発者へのメリットなど,Live Frameworkを利用した開発と併せて今後本連載で紹介していく予定です。

著者プロフィール

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

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

URL:http://katamari.jp