Microsoftの「ADO.Net Entity Framework」の初バージョンを試している多くのテスターが、Microsoftがこの技術で採った方向性について不満を感じている――あまりに不満なため、彼らはその不満を公にするべく「不信任投票」の請願をはじめた。
米国時間6月24日現在で、150人以上のテスターがこの請願に署名した。このなかにはMicrosoftの「Most Valuable Professionals(MVPs)」も何人か含まれている。
このADO.Net Entity Frameworkは当初、「Visual Studio 2008」の一部となるはずであった技術の1レイヤーである。Microsoftは結局、Entity Frameworkを同ツールスイートから除外し、それを「.Net Framework 3.5」の最初のサービスパックの一部とすることを約束した。
(MicrosoftはADO.Net Entity Frameworkを次のように定義している:このフレームワークは「開発者がそのリレーショナルデータの上により高いレベルのEntity Data Modelを定義し、次にこのモデルの観点からプログラムすることを可能とする。インヘリタンス、複合型、リレーションシップ(M:Mサポートを含む)といった概念はそれをモデルとして使うことができる。VS 2008 SP1には今ではこのモデリングを助けるためのビルトインデザイナーのサポートが含まれる。」)
テスターの苦情にもかかわらずMicrosoftはこの問題の「Entity Framework Version 1」を断念するつもりはない。そのかわりに同社はいくつかの機能を調整し、プロセスに変更を加えると約束している――本フレームワークの「Version 2」の開発をもっと透明で機動的にするねらいである。Entity FrameworkのVersion 2はVisual Studioの次期バージョン(これがが登場したときに)に取り込まれると予想されている。
Entity Frameworkのプログラムマネージャーを務めるTimothy Mallalieu氏は、あるブログ記事のなかで、不信任投票について認識し、Microsoftの次なる行動計画を概説した。
「不運な現実として、これらが、われわれは深く気にかけているが、V1.0では全面的にはサポートできないシナリオであるということだ。ここでもっと詳細に話すことができよう。注意すべき点は、これらの機能に対する選択肢はかなり吟味されたが、さらに多くの機能を加えようとするか、あるいは最初の目標を守り、もっと広範なデータプラットフォームサービスを構築するためのマルチプルリリース戦略の中核的基盤を築こうとするかということで葛藤があった。本日は同時に、本製品の次期バージョンへの取り組みを開始する日であり、われわれは、この特定の開発者コミュニティに真剣に対応するために決意を固くする一方で、全体的なデータプラットフォームに対する投資を進めていくつもりだ。」
Oakleaf Systems Blogで有名なRoger Jennings氏は、同氏がEntity Framework version 1の主な弱点だと考えているポイントを筆者のために概説してくれた:
1.ドメイン主導型のデザイン(オブジェクト優先)は企業アプリケーションのための今日のホットなデザインパターンであり、オブジェクトを持続する(保管する)ことが唯一の仕事であるリレーショナルデータベースのスキーマからではなく、ビジネスオブジェクトやリレーションシップの最適デザインから始めることを要するものである。Microsoftは常にデータ中心(データ優先)の「forms-over-data」アプローチを疑似ビジネスオブジェクトに対してとっていた。データ優先アプローチはビジネスオブジェクトデザインが次善のものとなる可能性がある。
2.「Persistence Ignorance」には「Plain Old CLR Object(POCO)」が必要とされる。なぜならこれは今日の階層化されたソフトウェアデザインでは必需品のようになっている「Separation of Concerns」を可能とするためだ。(Persistence IgnoranceはEntity FrameworkではVersion 2まで含まれることはないとJennings氏は指摘した。)
3.「Test-driven design(TDD)」。MicrosoftはTDDと「Agile Programming」の場に出遅れており、今それに追い上げをかけているところだ。しかしEntity Frameworkチームのだれも、デザイン段階におけるテスタビリティについて心配していない。問題はデータベースに接続されたビジネスオブジェクトのユニットテストのパフォーマンスが酷いものだということである。
匿名を希望するもうひとりのEntity Frameworkテスターは、この不信任投票がMicrosoftの針路に対する.Net開発者全員の不満であると解釈されるべきではないと指摘した。
「この最近の行動をうけて起きたことで最も良かったのは、Entity Frameworkチームが即座にこれに反応したことだ」と同テスターは述べている。
この記事は海外CNET Networks発のニュースをシーネットネットワークスジャパン編集部が日本向けに編集したものです。海外CNET Networksの記事へ