Resource Script
今回からはResource Scriptについてです。Live Frameworkはリソース指向のプログラミングモデルを提供しており,
Live Frameworkのリソースモデル
使用する3つの利点
Resource Scriptは,
- 処理の抽象化
まず操作の集合による利点です。Live Frameworkを利用しLiveサービス上の各リソースへアクセスする際,
Live Operating EnvironmentとHTTPによる通信を行います。このとき行う操作単位は, リソースの作成・ 読み取り・ 更新など基本的なものに限られています。例えばMeshサービス上にファイルをコピーする場合, ファイルが既に存在しているかの確認 (読み取り), 存在している場合は削除, そしてファイルの作成というように複数の操作が必要です。Resource Scriptを用いると意味のある処理をひとつのリソースとして表現が可能です。 - パフォーマンス改善
上記のように通常は多くのHTTPアクセスがアプリケーションとLive Operating Environmentとの間で必要になります。Resource Scriptの処理内容はサーバーサイドでの実行が可能で,
このときアプリケーションとLive Operating Environment間のHTTPアクセスは1回に集約されます。このように複数のHTTPアクセスをまとめ, アプリケーションの動作改善にも使用できます。 - アプリケーションの拡張
Resource Scriptは,
リソースが作成・ 更新・ 削除される前または後をトリガーとして実行することが可能です。これは既にあるアプリケーションのロジックの変更や拡張として使用できることを意味します。トリガーによる実行もResource Scriptの大きな特徴のひとつです。
文法
Resource Scriptは,
文法は,
- 制御構造
- リソース操作
- データフロー
そして,
コンパイルできる点もこれまで登場したLive Frameworkのリソースと大きく異なりますね。まずは,
Statementは,
リソース操作
最初にリソース操作についてです。本記事ではリソース操作という言葉を使用しましたが,
Web Operation StatementおよびSynchronization Statementsは,
以下にC#のコードを示します。Mesh Objectを作成するStatementオブジェクト
var statement = Statement.CreateResource<MeshObjectResource>(
"createMeshObjectStatement",
new Uri("https://user-ctp.windows.net/V0.1/Mesh/MeshObjects"),
new MeshObjectResource("My Mesh Object"));
引数など詳しい内容について今回は言及していません。実際に試してみたい方はVisual C#のコンソールアプリケーションプロジェクトを作成しコードを記述してみてください。Live Framework SDKの.NET Kitライブラリに加え,
CreateResourceStatement以外にも次のクラスなどが用意されています。
- CreateMediaResourceStatement
- ReadResourceStatement
- ReadMediaResourceStatement
- ReadResourceCollectionStatement
- UpdateResourceStatement
- DeleteResourceStatement
Create,
データ同期に関するStatementは,