BT

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

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Microsoft が "データに関する質問 TOP10" に答える

Microsoft が "データに関する質問 TOP10" に答える

原文(投稿日:2010/07/07)へのリンク

Microsoft は “データに関する質問 TOP10 (Top Ten Questions on Data)” と呼んでいる質問に対する回答を公開した。Oslo,ADO.NET データサービス,WCF,LINQ to SQL,T-SQL といった技術が現在どうなっているのか,あるいは今後どうなるのかについて説明されている。

Oslo

Microsoft によれば,一連の技術に対する “Oslo” というコードネームはもはや使われていない。ただし “開発については今後も継続を約束” している。現在の名称は SQL Server Modeling CTP である。SQL 関連技術との類似点が,特に Quadrant と Repository – 現在は SQL Server モデリングサービスと呼ばれている – に多いことから,今後は SQL Server に取り込まれていく予定である。

Microsoft はさらに SQL Server モデリング と .NET との関連にも触れ,開発者のモデル駆動アプリケーションの作成を容易にするものと説明している。

ADO.NET データサービスと .NET RIA サービス

ADO.NET データサービスは WCF データサービスになり,.NET RIA サービスは WCF RIA サービスになった。その目的は WCF を “サービスとN層アプリケーション構築の ’ワンストップ・ショップ’ にするため” である。ADO.NET データサービスと .NET RIA サービスは,この種のアプリケーション開発において WCF を補完する役割を果たす。

LINQ to SQL

LINQ to SQL の開発は .NET 4.0 でも継続中である,とした上で,Microsoft は次のように認めている。

しかし私たちは,エンティティデータモデル (Entity Data Model/EDM) を中心として構築される,エンティティフレームワーク (Entity Framework) の開発に対して,投資額の大部分を割り当てたいと考えています。EDM は SQL Server や .NET,Visual Studio など数多くの製品に適用される,Microsoft の重要な戦略的方針のひとつなのです。

このメッセージは明確だ。LINQ to SQL は Microsoft の次期計画には含まれない。

“M” 言語

これに対する Microsoft の態度はあいまいだ。最初の部分では,M は他の Oslo 技術とともに SQL Server に組み込まれると言っている。

コードネーム “M” のモデル言語に関して重要なのは,SQL Server が単なる DB エンジン以上の広範な存在であると理解することです — SQL Server には,数多くのサービスやツールが含まれています。“M” 言語および関連ツールはその一部として,(最も広い意味での) SQL Server 製品を使用するソフトウェアから利用可能になる予定です。

ところがその後には,

Microsoft は現在,エンティティフレームワークとデータサービスで使用されている EDM に “M” を適用する作業も行っています。結果的には,2つの表現形式を持った単一の共通データモデルになります。ひとつは現行の EDM 用の言語である CSDL です。これは XML をベースとしていて,相互運用の面で最適です。そしてもうひとつがプログラマ指向の “M” なのです。

M の進む方向は明確とは言いがたい。恐らく SQL Server に取り込まれるだろうが,EDM への整合のための変更が加えられることになりそうだ。

“M” 対 T-SQL

M はまだリリースされた製品ではないので,今のところ Microsoft は T-SQL の使用を推奨している。しかし将来的には変更されるようだ。

“M” の出荷後は,問題領域を “M” を使って,より高い抽象レベルで記述することが目標となります。“M” は T-SQL,C#,その他のフォーマットに変換できるので,それによってネイティブなターゲット上で,さらなる実行時最適化が可能になるのです。

WCF データサービス

Microsoft は WCF データサービスの新機能について強調している。すべて .NET 4.0 と VS 2010 で実装済みのものだ。

  • データバインディング
  • 行カウント
  • フィードのカスタマイズ
  • サーバ駆動ページング (Server Driven Paging)
  • 拡張 BLOB サポート
  • カスタムプロバイダ作成のための新しい "Data Service Provider" インターフェース
  • 射影 (Projection)

ADO.NET エンティティフレームワーク

ADO.NET エンティティフレームワークの最も重要な機能は次のものだ。

  • 外部キー
  • POCO (Plain Old CLR Object) サポート
  • 新規モデルの既定値としての遅延ローディング(Lazy Loading)
  • EntityDataSource によるクエリエクステンダ(Query Extender)と POCO のサポート
  • バイナリキーのサポート
  • ObjectMetarialized イベント
  • オブジェクトサービス API 改善による N層および自己追跡エンティティ(Self Tracking Entity) の実現
  • 生成される SQL の改善
  • ナビゲーションプロパティ管理
  • データベース生成の改善
  • 新しい拡張性 API
  • ストアドプロシージャでの複雑型の生成
  • ファセット管理の大幅な改善
  • LINQ to Entity の改善

Microsoft はさらに Quadrant (“SQL データベース内のデータをツリー,リスト,テーブル,マスタ/詳細など,各種の組込ビューアを使って参照,問合せ,編集するツール”) と,オープンデータプロトコル(OData,以前 InfoQ でも取り上げた) について解説している。

この記事に星をつける

おすすめ度
スタイル

BT