Insider's Eye

SQL Serverのレポート機能を大幅に強化する無料アドオン「Reporting Services」とは?

―― SQL Server 2000向け多目的レポーティング・ツールの機能としくみ ――

Peter Pawlak
2004/03/30
Copyright(C) 2004, Redmond Communications Inc. and Mediaselect Inc.


本記事は、(株)メディアセレクトが発行する月刊誌『Directions on Microsoft日本語版』 2004年4月15日号 p.14の「多目的レポーティング・ツールReporting Servicesを徹底解析」を、許可を得て転載したものです。同誌に関する詳しい情報は、本記事の最後に掲載しています。

 SQL Server 2000 Reporting Services(以下「Reporting Services」)は現在、SQL Server 2000の顧客向けに無料のアドオンとして提供されている。同コンポーネントは当初、コード名でYukonと呼ばれるSQL Serverの次期バージョン向けに計画されていたもので、人間に読める形のレポートを作成、管理するためのネイティブなSQL Serverサポートを提供する。同コンポーネントは、多数のユーザーに継続的にレポートを配信している企業や、Webブラウザで簡単に閲覧できるレポートの配信を希望するWindowsソフトウェア・ベンダ(Microsoft自身も含む)にとって、特に興味深いものとなるはずだ。ただし、このリリースは既にSQLServer向けのマネージド・レポート機能を提供しているMicrosoftのパートナー企業にとっては、大きな影響を及ぼすことになるだろう。特にそうした企業が、自社製品 で業界固有あるいはアプリケーション固有の差別化を図っていない場合にはなおさらだ。

 顧客やパートナー企業はReporting Servicesを使って、データベース・アプリケーションにおける各種のレポート作成のニーズを満たすことができ、多くの場合、カスタムメイドやサードパーティのレポート・エンジンは不要となる。Microsoft社内でも、いくつかの製品グループが同アドオンを使って自分たちの製品にレポート作成機能を追加しようと計画している。例えば、Microsoft Operations Manager(MOM)2004は同コンポーネントを使って、ステータス・レポートを作成できるようになる見通しだ。ただし、Reporting Servicesはそのまま使えるソリューションではなく、エンド・ユーザー向けのレポート作成ツールでもない。開発者がレポートを作成し、それらのレポートをどのように発行、配布するかを決定するには、Visual Studio .NET 2003を使う必要がある。

企業にはなぜマネージド・レポート機能が必要か

 基本的にデータベースは、ユーザーが必要としている情報をユーザーに読める形で引き出せるのでなければ無益だ。そこで一般的なソリューションとなるのが、レポートと呼ばれる電子的または印刷された文書だ。データベースのレポートでは、データが書式に従い、組織的に表示される。関連性のある有用な情報のみが、たいていはカテゴリ別に分類され、例えばアルファベット順や「総売上高」など、何かしらの順番に従って並べられる。またレポートには図表を含めることもできる。

 マネージド・レポート作成ソフトウェアは通常、Excelなどのシンプルなクエリ製品のレポート作成機能を強化でき、経営や技術部門の意思決定者のほか、特定の情報を定期的に必要とする人などに役立つ。また、レポートを設計し、データからレポートを作成し、それらのレポートをネットワークに発行し、そうしたレポートを必要としているユーザー向けに定期的に配信するための統合ツールとしても利用できる。

 多くの企業はかつて、メインフレームが生成する大量のレポートの扱いに苦労させられたものだ。だが、最近のマネージド・レポート・ソリューションは柔軟性と多様性が増し、多くの場合はペーパーレスとなっている。例えば現在、多くのレポート作成ツールでは、固定したレポートを表示する代わりに、特定のデータ範囲や販売地域などのパラメータを入力して、セミ・カスタムのレポートを作成し、データをさらに掘り下げたり、あるいはまとめたりすることで詳細なレベルの調整を行えるようになっている。

 シンプルなレポート作成ソフトウェアには通常、何かしらのレポート・エンジンのほか、レポートの計算/構成/書式を定義するための言語、レポートを作成するためのツール、およびデータ・ソースにリンクして計算を実行するための手段などが含まれる。さらに高度なマネージド・レポート機能を備える場合には、バージョン管理、レポートの作成/発行のスケジュール管理、ユーザー・アクセス権限の細かな設定、アーカイブ機能、レポートを配信/発行するための電子メール・スクリプトやWebベースのポータルなどが含まれる。

 通常、マネージド・レポート作成ソフトウェアはサーバ・ベースで、中央集中型のレポート管理機能を提供し、大量のデータ・セットからのレポート作成を可能にする。デスクトップ・クライアントで動作するシンプルなレポート作成サービスは、こうした高度な機能を複数のユーザー向けに実行する機能が限られるため、最近ではサーバ・ベースのレポート作成サービスに取って代わられつつある。

マネージド・レポート分野に参入する理由

 Microsoftには、SQL Serverデータベースにデータを保存する製品が多数存在する。例えば、BizTalk Server、Commerce Server、Systems Management Serverのほか、多くのビジネス・ソリューション製品がある。だが同社はこれまでそうした製品に、サードパーティのレポート作成ツールをバンドルするか(Crystal DecisionのCrystal Reportsの限定版など)、あるいは各製品グループに独自のツールを開発させるという、いずれかの方針を採用してきた。こうしたバラバラなアプローチの結果、現在、同社の製品ラインアップでは、レポート作成ツールを使えるはずの製品にもかかわらず、必ずしも対応するツールが存在しない、という事態が生じている。例えば、Internet Information Services(IIS)のログからレポートを作成したり、Active Directoryエントリへの変更をレポートしたりといったツールは非常に限られている。

 Microsoftは共通のレポート作成インフラを作成することで、そのインフラを各種の製品向けに調整でき、個々の製品チームによる作業の重複を避けられるだけでなく、サードパーティのレポート作成ツールへのライセンス料の支払いも回避できる。

 またマネージド・レポート機能を追加することで、SQL Serverは顧客にとってより魅力的な製品となり、独自のレポート作成ツールを提供しているOracleやIBMとの競争力も高められる。

 Microsoftはオンライン分析処理(OLAP)のためのSQL Server Analysis Servicesや、ユーザーの設定に応じて興味のある分野に関する最新の情報をユーザーに配信するためのSQL Server Notification Servicesなど、SQL Serverの機能拡張を進めており、Reporting Servicesのリリースもそうした一連の流れに沿う動きといえる。同社はこうした追加機能により、SQL Serverのライセンスの売り上げを一層押し上げたい考えだ。

Reporting Servicesの特徴

 Reporting Servicesには、既存のレポート作成システムと比べて大幅な改良が施されている。ただし、同コンポーネントのレポート作成機能は開発者向けであり、エンド・ユーザー向けではない。

●SQL Serverでマネージ・コードとして動作する
 SQL Server Notification Servicesと同様、Reporting Servicesは.NET Framework上のマネージ・コード(managed code)として動作するが、レポート定義、設定データ、キャッシュしたレポートの保存にはSQL Server 2000のStandard EditionまたはEnterprise Editionを使用する。こうした複数階層のアーキテクチャにより、より大きな容量が必要となった場合でも、レポート・サーバ・ファーム全体でスケール・アウトが可能になる(図「Reporting Servicesのアーキテクチャ」を参照)。

Reporting Servicesのアーキテクチャ
Reporting Servicesは複数階層のアーキテクチャを用いる。基底となるSQL Server 2000データベースには、Reporting Servicesの設定データ、レポート定義、キャッシュ・レポート、ODBCあるいはOLE-DB互換の1つまたは複数のデータ・ソースが格納される。次の層は、1つまたは複数のレポート・サーバで構成される。こうしたサーバがレポート・エンジンをホストし、さらにユーザー・リクエストの応答、データの収集、必要なフォーマットにレポートをレンダリング、そして設定に応じてユーザーにレポートをメール配信する。またReporting Servicesは2種類の主要なツールを供給する。1つは管理者向けのReport Manager、もう1つはレポート開発者向けのReport Designerだ。最上位層では通常、ユーザーはWebブラウザを使ってレポートにアクセスし、アプリケーションはWebサービスを介してレポートにアクセスする。

●各種のデータ・ソースをサポート
 Reporting ServicesはSQL ServerとSQL Server Analysis Services、およびSQLのOLAPとデータ・マイニング・システムを統合し、強化するが、一方では、同コンポーネントは各種のデータ・ソースのデータを処理できる汎用ソリューションでもあり、例えば、Open DataBase Connectivity(ODBC)やOLE DBなどのデータ・アクセスAPIをサポートするデータ・ソースなどを扱える。

●WebサーバとWebサービスを介してレポートを提供する
 Reporting ServicesはIISを使って、ユーザーにレポートへのダイレクトなブラウザ・アクセスを提供するほか、Webサービスを使って、OfficeアプリケーションやそのほかのWebサービスの利用者向けにXMLフォーマットでレポートを提供できる。

●レポート定義言語(RDL)を用いる
 Reporting Servicesはレポート定義言語(RDL)を用いる。RDLは、Microsoftとパートナー数社が開発した新しいXMLスキーマだ。RDLの目的は、レポート定義のための共通のスキーマを定義することで、商用のレポート作成製品間の相互互換性を促進することである。プロプライエタリなソリューションとは異なり、RDLの相互互換性によって、1つのレポート定義を各種のレポート・エンジンで共有する。開発者はたとえ使用中の開発ツールとは異なるツールを用いて作成されたレポートであっても、既存の定義を拡張したり、カスタマイズを加えたりできる。Cizer(Cizer社のホームページ[英文])やProClarity(ProClarity社のホームページ[英文])などのISV各社(Reporting Servicesのパートナー企業のリストについては、「関連リンク」の項を参照)はすでにRDLベースの製品を提供しており、またMicrosoftはRDLを標準化団体に提出する意向を明らかにしている。

 RDLでは、従来の表計算式のレポートのほか、図表、パラメータ化したレポート(ユーザーがレポートの判断基準を入力できる)、インタラクティブなレポート(より詳細にデータを調べるためのアクションを実行できる)、パーソナライズ化したレポート(特定のユーザーのニーズに合わせてIDごとに設計できる)なども定義できる。RDL XMLコードを生成するには、Reporting Servicesに含まれるグラフィカル・レポート開発環境Report Designer(Visual Studio .NET 2003とともに動作する)を使うか、あるいはRDL準拠のXMLを出力するサードパーティのレポート設計ツールを使用する。

●2段階のレンダリングを採用
 レポート・エンジンはデータ・ソースとRDL定義を使って、中間フォーマットでレポートを生成する。レポートはそこから、HTML、XML、TIFF画像、Excel、およびAdobeのPDF(Acrobat)フォーマットをサポートする最終的なフォームにレンダリングできる。キャッシュされた中間フォーマットのレポートは、データ・ソースを再クエリしなくても再利用できる。さもなければ、単に中間レポートを再フォーマットするよりも、相当多くの処理能力が必要となっていたはずだ。

●レポートのスナップショットをサポート
 レポート開発者は、Webサービスやブラウザ・ユーザーからのリクエストにオンデマンドで応える形でレポートを生成するだけでなく、ポイントごとにレポートのスナップショットを生成できる。1分1秒でも最新のデータを必要とするレポートでなければ、書式さえ標準化してあれば、レポートのスナップショットをキャッシュして、ユーザーがいつでも迅速に引き出せるようにできる。また、購読ベース、あるいは開発者が作成したルールに従って、そうしたスナップショットをユーザーに電子メールで配信することも可能だ。

●追加のライセンスが不要
 Reporting Servicesには追加のライセンスが不要だ。ただし、SQL Serverが実際にそのコンピュータでホストされているかどうかにかかわらず、Reporting Servicesを搭載するサーバにはそれぞれ、SQL Server 2000のライセンスが必要となる。ライセンスは、サーバとクライアント・アクセス・ライセンス(CAL)が一緒になったモデルと、プロセッサごとのモデルの両方が提供される。

●ISV各社の製品に組み込みが可能
 ソフトウェア・ベンダ各社は、SQL ServerのReporting Servicesを自社製品に組み込める。例えば、Siebelの顧客関係管理(CRM)アプリケーションであれば、Reporting Servicesを組み込んで、顧客データからレポートを生成する機能を追加できる。これは、一部のパートナーにとっては非常に大きな恩恵となるはずだ。特に、もっぱらSQL Server向けの製品を開発し、Microsoftと競合しそうにない特定の垂直業界をターゲットにしている企業にとってはなおさらそうだろう。

SQL Serverの機能拡張がパートナー企業を脅かす

 MicrosoftがReporting Servicesによって参入しようとしているレポート作成ソフトウェアの市場では、すでに同社の多くのパートナー企業がSQL Server向けのレポート作成機能で確固たるビジネスを確立している。先のMicrosoftによるCRM分野への参入と同様、今回のReporting Servicesも、そうしたパートナー企業にとっては競争上の脅威となるだろう。

 Windowsプラットフォーム専用のシンプルなレポート・エンジンにフォーカスしてきた企業にとっては、特に厳しい状況が待ち受けているといえるだろう。なぜなら、MicrosoftはReporting ServicesをSQL Serverライセンスに組み込んでいるからだ。ただし、マルチプラットフォームのサポートを提供し、高度なビジネス・インテリジェンス(BI)機能と分析機能にフォーカスしているBrioやCognos、Crystal Decisions(現在はBusiness Objectsの傘下)、Hyperion、Information Buildersといった企業は、それほど大きな影響は受けないだろう。同様に、特定のビジネス機能や特定の業界(金融など)向けの分析アプリケーションの一部としてレポート作成機能を提供しているComshareなどのベンダも、それほどの影響は受けないはずだ。いずれは、SQL Server向けのアプリケーション構築にフォーカスしているベンダの中から、自社製品にReporting Servicesを採用、統合し、ローレベルのレポート作成サービスのメンテナンスをMicrosoftに委ねる企業も出てくるかもしれない。End of Article

関連リンク

Directions on Microsoft日本語版
本記事は、(株)メディアセレクトが発行するマイクロソフト技術戦略情報誌「Directions on Microsoft日本語版」から、同社の許可を得て内容を転載したものです。『Directions on Microsoft 日本語版』は、同社のWebサイトより定期購読の申し込みができます。
 
 「Insider's Eye」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間