BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース マイクロソフト、“Oslo”2009年5月版CTPをリリース

マイクロソフト、“Oslo”2009年5月版CTPをリリース

原文(投稿日:20095/28)へのリンク

“Oslo” 2009年5月版CTPの主要な特徴は次の通りである。ビジュアル・モデリング・ツール “Quadrant”、“M”言語仕様の変更、そして、開発の速度を上げるために追加された定義済みのドメインモデル。

“Quadrant”

“Quadrant”はPDC 2008で紹介されていた最初の形態から大きく変わってしまうこととなった。それには、2つの関連した目的がある。

(“Quadrant”は)エンティティ・モデル・データを含むデータを閲覧・編集するためのツールです。 “Quadrant”は、データの概要や詳細を新しい方法で表示する機能を備えています。テーブル/ツリー/リスト・ビューアを使ってコレクションを表示できます。個々のエンティティは、プロパティ・ビューアか、またはリスト・ビューアで表示できます。あるビューアから別のビューアに切り替えることで、いつでもデータ表示エクスペリエンスが作られます。データの詳細は、アイテムをビューアからワークスペースへドラッグ&ドロップすることによって見ることができます。

そして、

“Quadrant”は、任意のSQL Serverサーバデータベースにあるデータを閲覧したり、編集したり、詳細を確認したりするためのグラフィカルなツールです。ユーザーは複数のSQLデータベースに接続し、(ワークパッドと呼ばれる)ウインドウを複数開いて、接続したデータベースのセッションでデータを閲覧・編集することができます。

“M”言語で作られる型は必ずしも特定のストレージに限定されているわけではないが、デフォルトエクステントはSQL Server 2008のデータベースに作られる。従って、“Quadrant”では、ユーザーはエンティティ・モデルと根底にあるSQLデータベーステーブルとの両方を閲覧・編集できる。

“M”

“M”とMGrammarの言語仕様は、MGrammar言語仕様という1つの仕様に統合された。これにはSQLマッピング仕様も含まれている。

他に特筆すべき新機能は以下の通りである。

  • モジュール識別子のスコープを明確にするスコープ解決演算子 ::
  • "M"の宣言データをカタログに問い合わせるキーワード about()
  • externを使って外部関数を参照できます。例: extern PreDefinedFunction() : Integer32;
  • 新しいMGraphオブジェクト・モデル(AST APIとしても知られています)があり、文法と動的に連携します。これについては長い報告記事を準備している途中です。少々お待ちください。

言語の大きな変更点の中で重要なのは、バインド演算子が‘=’から‘=>’へ変わったことである。"M"は関数型言語なので、代入演算子‘=’は混乱を招き、廃止されることとなった。その結果、

Person {   
   John { Name = "John", Age = 25}

}

Person {   
   John { Name => "John", Age => 25}

}

となった。

Intellipad

Intellipadは速く起動するようになり、全体的にも速くなった。また、“まるでVisual Studioのように、Ctrl-Spaceでメンバを補完するインテリセンスがポップアップ表示される”ようになった。

リポジトリ

最も重要な変化は、“M”で記述された、あらかじめ定義されたドメインモデルを含む5つのモジュールの追加である。これらのモデルは、開発をゼロから始めたくない開発者の出発点とすることができる。SQLスキーマとして保存され、すでに存在するモジュールは、以下の通りである。

  • ベース・ドメイン・ライブラリ(BDL)。このドメイン・セット(RepositoryスキーマRepository.ItemスキーマSystem.Globalizationスキーマから成ります。これらは“M”ではモジュールですが、“Oslo”リポジトリではSQLスキーマです)に含まれているモデルでは、論理データ・アクセス(SQL Server 2008のビュー)と物理ストレージ(テーブル)の分離、データアクセスを安全にしたりスキーマやデータをバージョン管理したりできるFolderの構築、データのための効率的なIDパターンの構築、国際化のサポート、そして、SQL Server 2008における監査などのセキュリティ機能の制御が可能です。BDLは、共通的に使われるような何種類かのデータ種別についてストレージ・エクステントとユーティリティを定義しています。そのようなデータ種別は、他のドメインから参照することも、他のドメインの定義に取り込むことが可能なドメイン中立な型と関数の集合から参照することもできます。イメージファイルはRepository.mxです。
  • System.Runtime。共通言語ランタイム(CLR)ドメインは、ECMA CLI仕様のMicrosoftによる実装を対象にしています。このドメインには.NET Frameworkアセンブリのメタデータのスキーマが含まれていて、System.Runtime SQLスキーマとしてインストールされます。“Oslo”のSDKにも備わっているCLRローダー(LoadAssembly.exe)を使って、製品、部門、または場合によっては会社全体にまたがる.NETメタデータを調べるために、独自の.NETアセンブリからコード名“Oslo”のリポジトリにメタデータをロードすることができます。イメージファイルはSystem.Runtime.mxです。
  • Microsoft.Uml2Microsoft.Uml2ドメインは、OMGのUnified Modeling Language™(UML™)仕様 2.1.2版を対象にしています。これは、Microsoft.Uml2 SQLスキーマとしてインストールされます。OMGのXMLメタデータ交換 (XMI) 2.1版ファイル形式で書かれたUML2.1.2のモデルは、コード名“Oslo”モデリングテクノロジに含まれているUMLローダー(LoadUml.exe)でコード名“Oslo”のリポジトリにインポートできます。 このUMLモデルは未完成であり、アプローチと方向性を示すためのものであって、UML仕様の完全な実装ではありません。イメージファイルはMicrosoft.UML212.mxです。
  • System.Identity。クレームと呼ばれる情報を格納・検索・取得することに関係したアプリケーション・ディレクトリをサポートするSystem.Identityモジュールが存在します。クレームとは、一意に特定可能な対象物やリソース(物理的なものでも、デジタルなものでも)に関する情報のことです。最上位では、System.Identityスキーマは、Partyと呼ばれているエンティティに関するものです。このエンティティはPartyToPartyRelationshipを持っています。Partyには、PeopleOrganizationGroupDeviceSoftware Serviceという種類があります。他にも、あるPartyが別のPartyに対してふるまうRoleという名前の特別な関係が存在します。PartyRoleIdentityKeyを持っています。これは、Authorityが発行し、Tokenとして記述された、さまざま観点での一意名です。また、Locationを(場合によっては複数個)持っています。PartyPolicyに従ってResourceにアクセスします。これらのエクステントのインスタンスはすべて、Kindというシステムによって特殊化することができます。また、PartyPartyAttributeによって、スキーマを変えずに自由に拡張できます。物理的な、またはデジタルな対象物に関する情報はディレクトリ・アプリケーションでの標準的な使われ方を超えているので、対象物とクレーム情報とをコード名“Oslo”リポジトリで連合させることは、重要なゴールです。
  • Language.Catalog. Language.Catalogモジュールは“M”プログラムの構造を表現していて、“M”のセマンティック・グラフとも呼ばれます。カタログのスキーマは“M”で記述されており、コンパイラはそのスキーマに“M”プログラムのインスタンスを生成することができます。

便利なリンク: InfoQのOsloコンテンツ“Olso” 2009年5月版CTPのダウンロードページリリース・ノート開発者センター“Oslo”関連ダウンロードOsloフォーラム

この記事に星をつける

おすすめ度
スタイル

BT