要件定義の不安をなくす。要件定義の不安をなくす。ユニファのバックエンド分割に学ぶイノベーションメタバース開発に必要な技術の基本知識をおさらい。Boost」など、さまざまなカンファレンスを企画・運営しています。BOOKS(コードジン・ブックス)は、CodeZineの連載からカットアップした、開発現場の課題解決に役立つ書籍シリーズです。1.0~3.5の開発を行ってきた技術者にとっては少し特異に感じるかもしれないフレームワークが近々リリースされる予定です。それは、Webの世界ではメジャーな、しかし、ASP.NETしか触れたことがない方にとってまったく別のテクノロジーであるMVCアーキテクチャです。MVCの登場によって、ASP.NETの世界でもMVCアーキテクチャが利用できるようになります。3.5)のリリースから一年も経たないうちにSP1がリリース予定となっており、バグフィックスの他、大規模な機能追加が見込まれています。本連載では、その中でもASP.NETに関する部分をピックアップし、複数回にわたって紹介します。大きく分けて、ASP.NET部分での機能強化は下図のようになっています(図1)。MVCにまずはフォーカスを当て、2回にわたって解説します。概要さて、本題の前に少しASP.NETについて振り返ってみましょう。.NETが登場した時にASP.NETは産声を上げました。「Webの深い知識を必要とせずに、既存のクライアントアプリケーションのような開発ができる」というメリットを前面に出したフレームワークだったので、WebFormモデル(従来のASP.NET開発)は、クライアント開発だけ行ってきたプログラマーでも積極的に開発を進めることができました。具体的な仕組みとしてはポストバック・ViewState・コードビハインドがあり、これらがWeb開発未経験者の大きな助けとなったと言えます。2008のIDEの機能強化も手伝い、ASP.NET開発は高い開発生産性を保証します。Web開発の間口は広くなったものの、少し複雑な開発をするにはHTML+CSS+JavaScriptの関係を深く知って開発をする必要がありました。WebFormモデルは、コードビハインド型が主流です。コードビハインド型はUIとビジネスロジックを分離できますが、実行時にはUIとロジックを合体させてコンパイルします。このため、現状のテストはWebサーバー(仮想サーバーもしくはIIS)を起動し、UIから該当のビジネスロジックを実行する必要がありました。コードビハインドのビジネスロジックのテストを行うためには工夫や多くの作業が必要でした。Webの世界でメジャーだったMVCアーキテクチャを利用した開発を行いたいという要望も多くありました。MVCフレームワークは、従来のWebFormモデルとは異なり、テスト駆動に進化したASP.NETのフレームワークです。MVCフレームワークはWebFormモデルから分離して構築されたフレームワークであると考える必要があります。WebFormモデルで多用していたViewStateやPostBackから離れたアプリケーション構築を行わなければなりません。第1回を参考に行ってください。Centerからダウンロードできます。インストールは、インストーラのウィザードに従って進めるだけです。このウィザードで、プロジェクトテンプレートはインストールできます。項目のテンプレートはインストーラーから完全にインストールされません。以下の手順でインストールを行ってください。初期インストールでは以下の場所に項目テンプレートが展開されます(カスタムでインストール先を変更した場合はその場所を参照してください)。9.0\Common7\IDE\ItemTemplates\VisualBasic\Web\MVC\1033この1033フォルダを同じ場所にコピー&ペーストし1041と名前を変更します。/InstallVSTemplates以上の手順でインストールは完了です。Controlご存じの方も多いかと思いますが、簡単にMVCについてまとめます。データの管理を行うコンポーネント。SQLなどのデータ定義を行うなど。HTMLの出力を行うコンポーネント。モデルのデータを元に出力。モデルの操作、ビューへのリクエストの選択を行うコンポーネント。ユーザーからのリクエストに応える処理を一元管理。前編では最もキモとなる「URLルーティング」と「ViewData」について解説し、それらを利用したサンプルアプリケーション構築します。NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。