IIS 7をビルドする際に考慮した中で優先度の高かったものに、リッチな.NET の拡張モデルを有効にし、開発者が簡単にプラグインを接続できるよう、またWebサーバを拡張できるようにすることがありました。
これらの拡張性の接続は、Webサーバのパイプライン(新しいIIS7 ビットレートスロッターなどのシナリオの有効化)、構成システム(開発者による新規web.configスキーマ設定の作成を有効化)、ヘルスモニターシステム(開発者による固有のトレースイベント追加を有効化)、管理者ツール(開発者による新規管理者UIモジュールのプラグインを有効化)などの中で提供されています。
これらの拡張性への接続を追加することで、誰もが簡単に.NET を使用したWebサーバの拡張および改善できるようになりました。また勝手ながらこちら側でそれらを必要としていたのは、コアなWebサーバへ機能を追加するパッケージを定期的な出荷ができるようになるためです。
IIS 7 管理者パック プレビュー1のリリース
先週、恐らくWeb開発者が非常に便利だと思われるだろう管理モジュールのいくつかの最初の技術プレビューをIISチームが 出荷しました。このプレビューではIIS7管理ツールにいくつかの新機能が追加されています。
:
以下はログレポートとデータベースマネージャの管理UIモジュールのスクリーンショットと、簡単なチュートリアルです。
:
ログレポートの管理モジュール
サーバにWebアプリケーションを展開されたことはありますか?またその時にどれくらいロードされているのだろうと思われたことはありますか?そのサーバからの平均応答時間はどれくらいだろう、またサーバーエラーはどれくらい起こっているのだろう(起こっているならどのURLで)と思われたことはありますか?これらの設定は全てテキストベースのログファイルにIISがログを取っていきます。今日、ほとんどの人たちが
IIS ログパーサーユーティリティなどのコマンドラインツールを使用して、これらのファイルの検索や分析を行っています。
IIS 7 の管理パックとその新しい"IIS レポート" の管理モジュールでは、IIS管理ツールにおいてレポートを検索しグラフィックにチャート化することができます。
:
"IIS レポートの管理モジュールは、多くのすでにビルドされたログパーサベースのレポートを搭載しており、サイトやアプリケーション上で簡単に起動することができます。
:
以下は"TestSite" アプリケーションから返されたHTTPのステータスコードを確認して引っ張ってきている簡単なレポートです。
("棒グラフ" 表示オプションの使用方法をご確認ください。):
レポートはオプションでデータ範囲を使用して絞ることができます。レポートページで、印刷および保存ボタンを押すとプリンターやロカールに保存されたレポートを生成することができます。
IIS7管理ツールはリッチなクライアントアプリケーション(Winフォームを使用してビルドされた)ですが、全てリモートアクセスを行っており、リモートのWebサーバに接続するHTTPベースのWebサービスを使用して動作しています。つまり、ファイアウォールを通じて動作し、ホスト側はこれを有効にするためにネットワークにポートを開ける必要はありません。
ホスト側でWebサーバ上にIIS7の管理パックがインストールされれば、ホストされているサイトをIIS管理ツール(Vistaにはビルドインされていますが、XPではダウンロードが必要です。)を使用して管理しているリモートのお客様は、自動的にIISレポート管理モジュールが有効化されます。そうなると、管理ツール内のレポートモジュールを使用して、リモートのホストサイトのレポートを確認することができます。
注:ホスト側は必要に応じてオプションでこの機能を無効にしたり、提供するレポートの一覧を規制またはカスタマイズすることができます。できれば、ホスト側で全てのIISおよびASP.NETの標準機能を提供して頂ければと思います。
データベースマネージャのモジュール
リモートのホスティングプロバイダーに自作のアプリケーションやデータベースをデプロイして、データベースに少し変更をしたい(が、ホスティングプロバイダーはSQL管理ツールを使用してのアクセスをサポートされていない。)と思われたことはありますか? このIIS管理ツールにある新しい"データベースマネージャ" モジュールを使用するとWebサーバを通じて
HTTP/SSLを使用してデータベースにリモートでアクセスし変更することができます。
IIS管理ツールでリモートサイトに接続して、"データベースマネージャ" アイコンをクリックするだけです。
:
デフォルトではデータベースマネージャのモジュールは、Webアプリケーションのweb.configファイルの<connectionStrings> セクションを見て、ホストしているアプリケーションが使用しているデータベースに簡単にアクセスできるようにします。
例えば、以下のTestSiteアプリケーションには web.configの<connectionStrings>セクションに"NorthwindConnectionString" 設定があります。(このために接続ノードの一覧に表示されています。)
それをクリックすると、ストアドプロシージャやテーブルのスキーマ(インデックスを含む)を見て編集することができます。
:
どのテーブルも右クリックで行データを編集したり、カスタムのSQLクエリを実行してデータを取得することができます。
:
何が良いかというと、ホスト側は簡単に上記のデータベース管理機能を全て、専用および共有ホスティング利用(例え1つのサーバ上に何百、何千のお客様いた場合でも)の両方へ提供することができます。
管理ツールにある他のモジュールのように、ホスト側のリッチクライアントのフロントエンドとバックエンド間の全てのやり取りはHTTP/SSLベースのWebサービスを通じて行われます(つまり、ファイアウォールを通り抜けるので、ホスト側で新しくポートを開ける必要も、インターネット上で直接SQLサーバをさらす必要もありません。)
このデータベース管理モジュールが、すべてのIISをホストされる方々が有効にできる1つの標準機能として、リモートのホストデータ管理がより簡単にできるようになると幸いです。
まとめ
今後、ますますIIS 7管理パックで管理UIモジュールが出荷されていき、多くの機能が有効になっていきます。(
管理ツールを構築している開発チームを管理しているCarlosは、彼のブログ を通じて必要なもののご提案を積極的に求めていますので、もし何かご提案や必要機能などがございましたら彼にコメントください。)
IIS 7の管理パックリリースの最初の技術プレビューは
ここ からダウンロードすることができます。また詳細については、
オンラインドキュメントでご確認いただけます。上記のモジュールはVista SP1またWindows Server 2008のどちらのIIS7リリースでも動作します。
Hope this helps,
Scott