使ってみよう! Live Framework

第2回 Live Framework概要

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

前回はLive Meshサービスを紹介しました。今回からはLive Servicesを利用した開発のためのLive Frameworkについて紹介していきます。

Live Services

2008年にマイクロソフトは,開発者向けのカンファレンス「Microsoft Professional Developers Conference 2008」(PDC 2008)においてインターネットベースのサービスプラットフォーム「Azureサービスプラットフォーム」を発表しました。このAzureサービスプラットフォームの構成要素としてサービス基盤となる「Windows Azure」があり,その上の要素のひとつとして「Live Services」があります図1)。

図1 Azureサービスプラットフォーム

図1 Azureサービスプラットフォーム

図1はAzureサービス関連の話題において頻繁に目にする構成図ではないかと思います。マイクロソフトが提唱する「ソフトウェア+サービス」を実現するための技術基盤がAzureサービスプラットフォームで,そのためのOSがWindows Azureです。Windows AzureはクラウドOSとも呼ばれています。いずれもマイクロソフトのデータセンターで稼働しています。

さて,AzureサービスプラットフォームのビルディングブロックであるLive Servicesは,Windows Liveサービスにアクセスする手段を提供します。Liveサービスが扱うユーザーデータとアプリケーションリソースにアクセスするための手段と考えるとよいかと思います。前回紹介したLive Meshサービスを包含し,多様なデバイス間での文書や写真などのデータを含むさまざまなリソースの同期・共有の仕組みも利用できます。このLive Servicesにアクセスするための開発環境としてLive Frameworkが提供されています。

Live Framework

Live Frameworkは,Live Servicesを利用するための統一的な手法を提供しています。そして,さまざまなプラットフォーム,プログラミング言語,アプリケーション,デバイスからの利用が想定されています。今回はLive Frameworkの概要として次の3点について紹介します。

  • オープンなプロトコルベースのプログラミングモデル
  • リソース指向のプログラミングモデル
  • クラウド・クライアント共通のプログラミングモデル

本連載の内容はCTP(Community Technology Preview)の内容に基づいています。紹介する内容は変更される可能性があります。

オープンなプロトコルベースのプログラミングモデル

既に少し述べたように,Live FrameworkはOSに依存せず,プログラミング言語に依存せず,ランタイムやライブラリーなどにも依存していません。依存しているのは次のふたつのみです。

  • HTTP
  • XMLまたはJSON

この標準的なプロトコルとフォーマットに対応していれば,多様なプラットフォーム・デバイス等からLive Frameworkの利用が可能です。このシンプルな仕様は,Live FrameworkのというよりもAzureプラットフォームサービスの思想と言えるでしょう。

Live FrameworkはAtomPubやFeedSync,JSON,POX(Plain Old XML),RSS,Binary XMLといった標準的な仕様を用いた利用が想定されていますが,.NETやSilverlightの開発者にはより容易に利用可能なAPIおよび環境が用意されています。

リソース指向プログラミングモデル

Live Frameworkはリソース指向のプログラミングモデルを提供しており,すべてのものをリソースとして扱います。それでは,Live Frameworkで扱うリソースとは何でしょうか。まず思いつくのは

  • データ
  • デバイス

といったところでしょうか。文書や写真などのデータや,PCや携帯電話などのデバイスですね。

Live Frameworkで扱うデバイスとは,PC・Macや携帯電話に限らず,ゲーム機・プリンタ・カメラなどの多様なハードウェアも想定しています。さらにデバイスをコンピューティングとストレージ機能を持つものとし,Webサービスもデバイスの一種としています。これらをクラウド デバイスと称しています。

少し脱線しましたが,データやデバイス以外にもリソースとして

  • アプリケーション
  • ユーザー情報
  • 更新情報
  • スクリプト

などもリソースとして扱います。具体的なリソースやその構成と関係は後の連載で扱いたいと思います。

これらのリソースはすべてURI形式で表現することが可能になっています。当然ながらHTTPとの親和性も高く,HTTPメソッドによりすべてのリソースに対してアクセスが可能です。

著者プロフィール

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

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

URL:http://katamari.jp

コメント

コメントの記入