ASP.NET MVC 新時代? ~ M-V-C の M を "M" で記述できる時代はもうすぐ?~ Oslo MVC 2.0 Web Application

仕事の合間に PDC09 で発表されたものをいろいろと検証したりしています。本日は、My Favorite のひとつ "Oslo" から Oslo MVC 2.0 Web Application について軽くご紹介します。

動作環境:

    • Visual Studio 2010 Beta 2
    • SQL Server Modeling CTP Nov. 2009

この動作環境下で、新規にプロジェクトを作成しようとすると、"Oslo MVC 2.0 Web Application" なるプロジェクト テンプレートを見ることができます:

image

名前の通りですが、ASP.NET MVC 2.0 の Oslo バージョンです。"Oslo" は、モデリングプラットフォームのコードネームであったことを思い出してください。そうです、MVC の M = Modelo をモデル定義言語である "M" で記述できるのが、Oslo MVC 2.0 Web Application です。

プロジェクトを作成した時点でもうわかるのですが、モデルが格納される Models フォルダに、拡張子 .m なファイルが一つあるのがわかります。こちらにモデルやインスタンスの定義などもろもろ記述し、

image

module MEdtter.Models
{
type Entry
{
id : Integer32 => AutoNumber();
message : Text(140);
pubDate: DateTime;
}
EntrySet : {Entry*} where identity id;
}

プロジェクトのプロパティに出現する 「M Deployment」なる項目に、"Oslo" Repository (SQL Server Modeling Services)への接続文字列を登録しておくと、image

プロジェクトをビルドし、配置すると、"Oslo" Repository (SQL Server Modeling Services) に、スキーマ定義などが配置されます。

その様子を "Quadrant" で見てみると、

image

当然、アプリケーションからデータの読み書きが行えます。

一旦、M をビルドし、オブジェクト ブラウザーで確認するとアクセスに必要なオブジェクト一式が生成されているのがわかります。image

結果としては、EDM を記述し、DB へドロップしているのと同じになります。

さてさて、アプリケーションからこのリポジトリにデータの読み書きすると "Quadrant" でもそのデータを可視化することができます。

MEdtter

さて、今回は ASP.NET MVC のサンプルアプリケーションとして、Tech・Ed Japan 2009 で有名になった Edtter のソースコード一式をエバンジェリスト 井上さんからいただき、それを "M" 化してみました。

ながさわ (@tomohn)