SharePoint 2010 には、"Access Services" という名の新しいサービスが搭載されます。BI アプリケーションという範疇からはやや外れますが、現場レベルの BI システム展開にあたって、日常業務のデータ収集やビジネス プロセスとの連携に重要な役割を果たすキー コンポーネントの 1 つとなる機能だと考えています。
Access Services は、Excel に対する Excel Services、Visio に対する Visio Services と同様に、Access アプリケーションを Web 上に実装するための技術です。Access で作成したフォームやテーブルを SharePoint に 「発行」 するだけで、ほぼそっくりそのままの Web アプリケーションに変換されます。Access アプリケーションと Access Services Web アプリケーションの各コンポーネントの対応関係は大まかに以下のようになります:
- ACCDB ファイル ⇒ SharePoint サイト
- Access テーブル ⇒ SharePoint リスト
- Access フォーム ⇒ ASPX ページ
- Access レポート ⇒ RDL ファイル
- UI マクロ ⇒ JavaScript
- データマクロ ⇒ SharePoint ワークフロー
残念ながら VBA は動きませんが、“Access マクロ” と呼ばれる、アプリケーション動作を自動実行させるコマンドが動きます。Access マクロでは IF 文などの条件式も定義できますので、Web アプリケーションとしての基本的な動作は VBA がなくてもかなりカバーできます。つまり、Access が Web アプリケーション開発プラットフォームになったわけです。
作り方は簡単、まさに Access そのもの
Access 2010 を起動するとまず 「新規作成」 メニューになるのですが、「空のデータベース」 や 「サンプル テンプレート」 などのボタンと並んで、「空の Web データベース」 というボタンが表示されます。これが Access Web Services に対応したデータベースを作成するときに使用する一番シンプルなテンプレートです。テンプレートといってもその名の通り 「空」 なので、ID 列が 1 列だけある空のテーブルがある以外は、本当に何も入っていません。なので、ここでは 「サンプル テンプレート」 をクリックしてみましょう。その先にいくつかのテンプレートが登録されています。
この中で、アイコンの背景に地球儀が表示されているものが、Access Services に対応したテンプレートです。「プロジェクト Web データベース」 や 「案件管理 Web データベース」、「連絡先管理 Web データベース」 などいくつかのテンプレートがありますので、ここではひとまず 「連絡先管理 Web データベース」 を選んでみます。
「連絡先管理 Web データベース」 は、連絡先情報を格納するためのテーブルと、連絡先それぞれにコメントを累積的に追加していくためのテーブルの 2つの実テーブルと、データ表示のためのクエリ、複数のフォームやレポートがあらかじめ含まれた状態で作成されます。
カスタマイズが不要ならこのまますぐに使い始めることができます。そしてこの新たに作成した Access アプリケーションを、Access のメニューから「Access Servicesに発行」を選ぶことで、SharePoint 上の Web アプリケーションとして (SharePoint から見れば 1 つのサイトとして) 展開されます。モーダルダイアログボックスなど一部Web化に対応していないフォームがありますが、このようにあらかじめ用意されたテンプレートを使ったり、Web 化用に用意されているフォーム作成メニューやクエリメニューを利用したりすれば、戸惑うことなく Access Services 用のアプリケーションを作成することができます。Access Services への発行時に行う 「互換性チェックの実行」 により、Web 化に非対応のフォームやクエリなどが含まれていれば警告されますので、既存のAccessアプリケーションを一旦Access 2010で開いたうえで互換性を確認し、問題を修正してWebアプリケーション化する、といったこともできます。
入力、集計、分析を SharePoint 2010 の上で完結
このようにして作成されたAccess Services Webフォームやリストは、InfoPathやその他のツールを用いて作成されたWebフォームやリストと同様に、複数の利用者による同時アクセスに対しても問題なく動作します。片やシステム管理者は、SharePoint上のシングルポイントを管理するだけで済みますし、バックエンド データベースとの接続や他の SharePoint アプリケーションとの連携なども、安全性と完全性を確保した 「サンドボックス」 環境の中で、安心して利用者に開放することができます。
BI システムの全社展開における重要な課題の 1 つに、「日常業務データをどのように収集するか」 というものがあります。BI を始めようというからには、普通は何らかのターゲットとなるデータソース、たとえば販売実績データや顧客データがあってのことなわけですが、実はそれだけでは足りないことがほとんどです。販売実績スコアカードを作るなら期初の目標だけでなく営業部門の月次の見通しデータとの対比が必要だったり、顧客の特性を知るためには定型の基本属性情報だけでなく都度異なるフォーマットで収集されているアンケートやキャンペーン申込みデータとのマッチングが必要だったりします。ところがこれらのデータの多くは基幹業務システムとは独立したサイロ状態のシステムあるいはデスクトップに格納されており、運よく中央にフィードバックする仕組みがあったとしてもそのクレンジングのために 1 か月先でないとインポートされない、ということもまた実によくある話です。至極当前なのですが、現場では現場の環境変化に合わせて柔軟にデータ構造を変える必要があり、そのためにシステムは標準化できず、必然的にサイロとして存在し続けているわけです。すべてのシステムを ERP に統合しよう、あるいはすべてのデータを DWH に統合しよう、といった類の試みは過去何度も繰り返されてきたわけですが、成就したためしはほとんどありません。
Access Services はこの欠けたパーツを埋める存在です。現場業務の視点で見れば、既に多くの実績のある Access アプリケーションをより効率的に活用するための Web アプリケーション化環境です。データ管理の視点で見れば、入力されたデータは SharePoint のリストとして格納されるため、http で共有されるフラット テーブル、そのものです。データ統合の視点では、バックエンド データベースと接続された外部データ リストとの連携によりそれら標準化された世界と、日々変化する柔軟な現場世界とを、人を経由してつなぐ役割を果たします。BI を 「分析アプリケーション」 ではなく 「意思決定支援システム」 ととらえるならば、Access Servicesは、標準化できない世界を人が吸収することによって、よりタイムリーで価値の高いデータを集めるための大変重要な手段になると考えています。
※ 本エントリーに記載する機能および画面デザインは、開発途中にあるベータ版製品に基づく内容です。今後断り無く、変更される可能がありますので、あらかじめご了承下さい。
※このエントリはZDNETブロガーにより投稿されたものです。朝日インタラクティブ および ZDNET編集部の見解・意向を示すものではありません。