連載
» 2011年09月12日 00時00分 公開

Windows Insider用語解説:Visual Studio LightSwitch 2011

ほとんど何もコードを書かずとも、DBのフロント・エンドとなるアプリケーションを開発できるRADツール、Visual Studio LightSwitch 2011。その概要を解説。

[打越浩幸,デジタルアドバンテージ]
用語解説
Windows Server Insider


「用語解説」のインデックス

連載目次

 Visual Studio LightSwitch 2011(以下LightSwitch 2011)は、エンド・ユーザーでも使えるように設計された、ビジネス・アプリケーション向けのRAD(Rapid Application Development)ツールである。2011年8月に販売が開始された。通常パッケージ版の参考価格は3万7800円である(2011年12月31日まではキャンペーン価格で約33%引き)。ユーザーはプログラム・コードをほとんど書くことなく、データベースを操作するアプリケーション(CRUD:Create/Read/Update/Deleteともいう)を簡単に開発できる。業務アプリケーションでよく利用される検索や一覧表示などのデータ・アクセス画面をあらかじめテンプレートとして持っているので、ユーザーはデータ・ソースの指定と表示する画面テンプレートを選択するだけで、すぐに動作するアプリケーションを作成できる。LightSwitchという名称は、電灯のスイッチ(LightSwitch 2011)をオンにするかのように、素早く簡単にアプリケーションを作成できる、という意味から付けられている。

 すでにVisual Studio 2010を導入している場合は、LightSwitch 2011は追加のテンプレートとしてインストールされるが、導入に先立って、Visual Studio 2010にはSP1を適用しておく必要がある。

LightSwitch 2011の開発画面
LightSwitchは、VisualStudioに組み込まれて使われる。ユーザーはまず右上の「データ ソース」部でアクセスしたいデータ・ソース(データ・エンティティ)を定義する。次に、そのデータ・ソースを表示させる画面を、あらかじめ用意されているテンプレートから選んで作成する。それだけでほぼアプリケーションが完成する。

 LightSwitch 2011で作成したアプリケーションは、いわゆる3階層(3ティア)モデルに基づいたアーキテクチャを持つ。ユーザー・インターフェイス層は.NET FrameworkとSilverlight、ビジネス・ロジックやデータ・アクセス層はWCF RIAサービスやEntity Framework(.NET FramekworkにおけるDBアクセス・テクノロジ)、データ・ストレージ層はSQL ServerやSQL Server Express、SQL Azureなどが使われる。

LightSwitch 2011によるビジネス・アプリケーション

 データベースを使った業務アプリケーションにはさまざまなものがあるが、単にデータの一覧を表示したり、検索や新規入力、更新、削除などの画面(+管理画面)を持つだけのものも少なくない。このようなシンプルな構造のアプリケーションは、例えばVBやC#とWindowsフォームを組み合わせて作ったりするほか、従来はAccess+VBAなどで作成することが多かった。また非常に単純なデータ・モデルの場合はExcelとマクロで作成していたこともあるだろう。LightSwitch 2011では、このような典型的なデータ操作アプリケーションをほぼコーディングなしで作成できるよう、あらかじめいくつかの画面パターンを用意しており、ユーザーはそれを呼び出して、画面にデータ・ソースを割り当てるだけで済むようになっている。

LightSwitch 2011で作成したアプリケーションの例
LightSwitch 2011で作成したアプリケーションには、一番上にコマンド列(リボン)、左側にナビゲーション(画面切り替え)のメニューがあり、複数の画面をタブで切り替えながら表示できる。この上側と左側を「シェル」といい、切り替わりながら表示されている右下の部分(タブ・ウィンドウの部分)を「スクリーン」という。内部的には、スクリーン部分はMVVM(Model-View-ViewModel)というモデルで動作している。シェルの機能や、全体の色使い/フォント設定など(テーマ)は変更可能だが、標準では一種類しか用意されていない。Excelのアイコンをクリックすると、一覧表示されているデータがExcelにエクスポートされる。

 ただしあらかじめ決められたテンプレートを利用するため、アプリケーションの外観や使い勝手などはある程度固定的になってしまう。だが画面のデザインよりも、開発期間の短さなどを重視するなら、これでも十分だろう。画面上の表示項目の位置やサイズなどはある程度カスタマイズできるが、もし大幅にカスタマイズしたり、標準では用意されていないような機能(例えばグラフの描画など)を使ったりしたければ、後で述べるように機能を拡張して対応できる。

 LightSwitch 2011でアプリケーションを作成すると、素早く開発できるだけでなく、次のようなことも実現できる。

さまざまなデータ・ソースへのアクセスが可能

 データ・ソースとして利用可能なものは、ローカルのデータベースのほか、SQL Server、SQL Server Express、SQL Azure、SharePoint、WCF RIAサービスなどがあり、さらにこれらに対するクエリやテーブル間のリレーションも利用できる。

Excelへのデータ出力

 データ・ウィンドウの左上にExcelのアイコンが表示されているが、これをクリックするとデータをExcelへエクスポートできる。

Web/クラウド向けアプリケーションの作成

 LightSwitch 2011で作成したアプリケーションは、ローカルのコンピュータ上で動作するだけでなく、Webサーバやクラウド上にも配置できる(アプリケーション側での対応は不要。最終配置時に任意のアプリケーション・タイプに変更できる)。セキュリティ設定で、特定のユーザーだけにアクセスを許可すること(アクセス制御)もできる。

実行中のデザイン変更

 デバッグ・モードで実行している場合、アプリケーションの右上に[デザイン画面]というボタンが表示される。これを使うと、実行中に画面のデザイン(部品の配置など)を変更できる。アプリケーションを実行しながらデザインを調整できるので、プロトタイプ開発などで役に立つ。

機能拡張

 標準で用意されていない機能は、VBやC#などでコードを記述したり、(Silverlightの)追加コンポーネントを開発して(このためにはVisual Studio 2010 Professional以上が必要)、追加したりして機能を強化できる。

LightSwitch 2011によるアプリケーション開発

 LightSwitch 2011によるアプリケーション開発は、次の順で行う。Accessなどでデータベースを定義、操作したことがあればすぐに操作できるであろう。

  1. データ・エンティティの定義
  2. 画面の定義
  3. 実行、テスト
  4. 配置

 最初にデータ・エンティティを定義する。データ・エンティティとは、画面に表示するためのデータのセットである。ローカルのデータベースを定義したり、外部のデータ・ソース(SQL ServerやSharePointなど)を指定したりする。必要ならば、さらにクエリ条件を指定して対象データを絞り込んだり、複数のフィールドを組み合わせて計算したり、選択肢リストを定義したり、テーブル間のリレーション(例:製品IDから製品名を引くなど)を定義したりする。LightSwitch 2011では電話番号や電子メール・アドレスといった組み込み型も用意されているが、必要ならVBやC#で値のチェック用コードも追加できる。

データ・エンティティの定義画面
これはデータベースを手動で定義している例。既存のデータベースに接続して利用することも当然可能。電話番号や電子メール・アドレスなどは基本型として持っている。電話番号については、許可する形式を定義できる。VBやC#で検証コードを記述すれば、特別なフォーマットや範囲のチェックなども可能。

 データ・エンティティを定義したら、次はそれを表示する画面テンプレートを選び、必要なら表示形式をカスタマイズする。デフォルトでは、「詳細画面」「編集可能グリッド画面」「一覧および詳細画面」「新規データ画面」「データ検索画面」の5つが用意されている。

LightSwitch 2011で作成できる画面テンプレート
個別にカスタマイズして画面を作成することも可能だが、標準的な画面テンプレートをベースにカスタマイズする方が簡単である。これは画面全体にデータをグリッド形式で表示するテンプレートの例。テンプレートを選び、右側の[画面データ]のドロップ・ダウン・リストで、先ほど作成したデータ・エンティティを選択するだけである。

 以上で主要な作業は終了である。実行(ビルド)して結果を確認し、正しければリリース用にビルドして、発行する。わずか数分で次のようなアプリケーションが完成する。

完成したアプリケーション(デバッグ・モード)
グリッドがウィンドウいっぱいに表示されるモードの画面。このグリッドはデータ入力が可能なので(読み出しのみに設定することも可能)、データの一覧を確認しながら、新しいデータを追加することもできる。またこれはデバッグ・モードで実行しているので右上の[デザイン画面]ボタンも有効であり、結果を見ながらデザインの細部を調整することもできる(リリース版ではこの機能は無効になる)。アプリケーションが完成したら、発行ウィザードを使ってアプリケーションを配布、配置する。

■関連記事


「用語解説」のインデックス

用語解説

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。