連載
Enterprise Library概説

Enterprise Libraryの基本ツールと導入手順

――オープンソース・ライブラリを使うための準備を始めよう!――

市川 龍太
2005/06/11
Page1 Page2 Page3

 
 前回は、Enterprise Libraryがほかのオープンソースと決定的に違う性格を有していることや、Enterprise Libraryの目的、それに含まれるApplication Blockの種類などを概説した。

 今回は、Enterprise Libraryを使用するうえで必須の基本ツールについて、より詳しく説明する。さらに具体的な活用方法の話(次回)に入る前に、一通りのインストール手順を示しておく。

Enterprise Libraryを使いこなすための基本ツール

 Enterprise Libraryに含まれるツール、バッチ・ファイル、ドキュメントについては、前回もその名称だけは紹介した。今回はそれらの中でも特に重要な基本ツールの機能について解説しよう。

●Enterprise Library Configurationコンソール(構成管理ツール)

 Enterprise Library登場以前のApplication Blockでは、構成情報(そのApplication Blockの挙動をカスタマイズするための情報)をアプリケーション構成ファイル(いわゆる.configファイル)に手作業で記述する必要があり、さらに構成管理を行うためのドキュメンテーション(XMLのスキーマ構成など)に一貫性がなかったことから構成管理に非常に手間がかかるという問題があった。

 そこでEnterprise Libraryでは、「The Enterprise Library Configuration Console」(以下Configurationコンソール)と呼ばれる構成管理ツールを提供することで、構成ファイルをGUI画面から簡単に変更・管理できるようにしている。

 このConfigurationコンソールには、構成管理に関する多くの便利な機能が搭載されている。例えば、そのうちの1つに入力チェックを行うための検証(Validate)機能がある。このおかげで、仮に必須入力項目が未入力だったとしても、このValidate機能が働いてエラーが通知され、エラー個所がひと目ですぐに分かるようになっている。次の画面は実際にその検証機能が働いたところである。

Configurationコンソールの検証機能によるエラー情報の表示
Configurationコンソールの検証機能が働いて、エラー情報が通知されたところ。
  必須入力項目であるValueプロパティが未入力のまま保存しようとする。
  検証エラーを通知する[Validation]メッセージ・ボックス(この例では「One or more validation errors occurred.」と記述されている)が表示される。
  画面の下にある[Configuration Errors]ウィンドウに検証エラーになった情報、具体的には[Name](項目名)、[Property](プロパティ)、[Description](エラー内容)、[Path](構成パス)という情報が一覧表示される。
  この画面例では、エラー個所を分かりやすく示すために、左にあるTreeViewコントロールの[Enterprise Library Configuration]−[Application1]−[Data Access Application Block]−[Connection Strings]−[Sql Connection Strings]−[database]を選択状態にしているため確認できないが、検証に失敗した場合は、そのエラーになった項目名(この例では「database」)が赤字になる。このため、エラーになった項目がひと目で分かる。

●ビルドおよびインストール用のバッチ・ファイル

 Enterprise Libraryでは、それに含まれるApplication Block自身のビルドやインストールなどを行うためのバッチ・ファイルが標準で用意されている。具体的には次の3つがある。

  • BuildLibrary.bat

 すべてのApplication Blockと各ツール(具体的には、前述の「Configurationコンソール」と、後述する「Security Database Administration Console」)を(デフォルトではデバッグ・モードで)ビルドするためのバッチ・ファイル。

  • CopyAssemblies.bat

 各Application Blockのターゲット・ディレクトリ(=ビルドされたアセンブリが出力される場所)にあるすべてのアセンブリを、「<INSTALLDIR>\bin」ディレクトリ直下にコピーするためのバッチ・ファイル。

 このバッチ・ファイルを実行すると、例えばData Access Application Blockでデバッグ・ビルドして「C:\Program Files\Microsoft Enterprise Library\Data\bin\Debug」に出力されたすべてのアセンブリは、「C:\Program Files\Microsoft Enterprise Library\bin」にコピーされる。また、リリース・ビルドの場合は、CopyAssemblies.batファイルの中に記述された「set buildType=Debug」を「set buildType=Release」に変更してからバッチ・ファイルを実行すれば、ターゲット・ディレクトリにリリース版のアセンブリがコピーされる。

 なお<INSTALLDIR>は、Enterprise Libraryをインストールしたディレクトリのことで、デフォルトでは「C:\Program Files\Microsoft Enterprise Library」となる。インストールについては後述する。

  • InstallServices.bat

 各Application Block用のパフォーマンス・カウンタを登録するためのバッチ・ファイル。パフォーマンス・カウンタとは、何らかのパフォーマンス(例えば、メモリやネットワークの負荷状況など)を計測するためにWindowsが提供している機能である。パフォーマンス・カウンタの情報は、パフォーマンス・モニタなどで参照することができる。パフォーマンス・モニタは、コントロール・パネルの[管理ツール]フォルダにある[パフォーマンス]アイテムから起動できる。

 これらのパフォーマンス・カウンタを活用すれば、各Application Blockを使用した際のボトルネックを分析することができるだろう。

●Security Database Administration Console

 ユーザー・ロール権限を管理するSecurity Application Block用のツールで、以下の2つのデータベース承認プロバイダ(=対象データベースを更新するモジュール)を使ってユーザー編集、ロール編集を行うためのGUIを提供する。

  • Security Database Authentication Provider

 Security Application Blockが使用するSecurityデータベースを管理するためのプロバイダ。

  • QuickStarts Database Authentication Provider

 QuickStartsサンプルが使用するEntLibQuickStartsデータベースを管理するためのプロバイダ。

 Enterprise Libraryの各Application Blockの間には、「重要な関係」がある。それについて次にページで説明しよう。


 INDEX
  連載:Enterprise Library概説
  Enterprise Libraryの基本ツールと導入手順
  1.Enterprise Libraryを使いこなすための基本ツール
    2.各Application BlockとConfigurationコンソールの依存関係
    3.Enterprise Libraryのインストール
 
インデックス・ページヘ  「Enterprise Library概説」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間