(57)【特許請求の範囲】
【請求項１】
データソースを発見し、接続するための、コンピュータにより実行される方法において、
前記コンピュータが、前記データソースに接続するための要求を受信するステップであって、前記要求は、前記データソースに接続してレポート内で使用するデータを得るための要求を含むものであるステップと、
前記要求に応答して、前記コンピュータが、使用可能なデータソースのリストのための要求を、中央管理されたデータ接続リポジトリに送信するステップと、
前記コンピュータが、前記使用可能なデータソースの前記リストを、前記中央管理されたデータ接続リポジトリから受信し、前記リストを表示するステップと、
前記コンピュータが、表示された前記リストからの、前記使用可能なデータソースのうちの１つの選択を受信するステップと、
前記コンピュータが、選択されたデータソースの識別を、前記中央管理されたデータ接続リポジトリに送信するステップと、
前記選択されたデータソースの前記識別の送信に応答して、前記コンピュータが、データ接続ファイル及びメタデータを、前記中央管理されたデータ接続リポジトリから受信するステップであって、前記データ接続ファイルは、前記選択されたデータソースへの接続を確立するためのデータを有し、前記メタデータは、前記データソースのための１つ又は複数のプロパティを記述し、前記メタデータは、前記データソースにアクセスするためのクレデンシャルを記述するためのクレデンシャルフィールドを備え、前記クレデンシャルは、ユーザーが前記クレデンシャルについてプロンプトされるべきであるかどうか、前記データソースにアクセスするためにクレデンシャルが要求されないかどうか、前記クレデンシャルが統合されているかどうか、または、前記クレデンシャルが別のロケーション内に格納されているかどうかを指示する複数の値を備えるものであるステップと、
前記コンピュータが、前記データ接続ファイル内に格納された前記データを利用して、前記選択されたデータソースへの接続を確立するステップと、
前記コンピュータが、前記中央管理されたデータ接続リポジトリ内に格納された前記接続ファイルへのリンクを、前記レポート内に格納するステップと、
前記コンピュータが、前記レポートを開くための要求を受信するステップと、
前記レポートを開くための要求に応答して、前記コンピュータが、前記リンクによって識別された前記接続ファイルが前記中央管理されたデータ接続リポジトリ内に含まれるかどうかを判断するステップと、
前記リンクによって識別された前記接続ファイルが前記中央管理されたデータ接続リポジトリ内にないと判断することに応答して、前記コンピュータが、前記レポートを、前記データソースへの接続を確立することなくロードするステップと、
前記リンクによって識別された前記接続ファイルが前記中央管理されたデータ接続リポジトリ内になく、前記接続ファイル内の前記データが前記レポート内にキャッシュされていると判断することに応答して、前記コンピュータが、前記接続ファイル内の前記データを利用して、前記データソースへの接続を確立するステップと
を含むことを特徴とする方法。
【請求項２】
前記リンクによって識別された前記接続ファイルが前記中央管理されたデータ接続リポジトリ内にあると判断することに応答して、前記コンピュータが、前記接続ファイルを前記中央管理されたデータ接続リポジトリからコピーするステップと、
前記コンピュータが、前記データ接続ファイル内に格納された前記データを利用して、前記選択されたデータソースへの接続を確立するステップと、
前記コンピュータが、前記レポートを実行するステップと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記コンピュータが、前記接続ファイルを前記レポート内に埋め込むステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記レポートを開くための要求に応答して、前記コンピュータが、前記レポート内に埋め込まれた前記接続ファイルが前記中央管理されたデータ接続リポジトリ内に含まれるかどうかを判断するステップと、
前記埋め込まれた接続ファイルが前記中央管理されたデータ接続リポジトリ内にあると判断することに応答して、前記コンピュータが、前記埋め込まれたデータ接続ファイル内に格納された前記データを利用して、前記選択されたデータソースへの接続を確立し、前記レポートを実行するステップと
をさらに含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記埋め込まれた接続ファイルが前記中央管理されたデータ接続リポジトリ内にないと判断することに応答して、前記コンピュータが、前記レポートが信頼されるかどうかを判断するステップと、
前記レポートが信頼されると判断することに応答して、前記コンピュータが、前記埋め込まれたデータ接続ファイル内に格納された前記データを利用して、前記選択されたデータソースへの接続を確立し、前記レポートを実行するステップと、
前記レポートが信頼されないと判断することに応答して、前記コンピュータが、前記レポートを、前記データソースへの接続を確立することなくロードするステップと
をさらに含むことを特徴とする請求項４に記載の方法。
【請求項６】
データソースの発見を提供するためのシステムにおいて、
データ接続定義のための中央管理されたデータ接続リポジトリを維持するように動作するサーバーコンピュータであって、前記データ接続定義は、データソースへの接続を確立するためのデータを有するデータ接続ファイル、および、前記データソースのための１つまたは複数のプロパティを記述するメタデータを備え、前記メタデータは、前記データソースにアクセスするためのクレデンシャルを記述するためのクレデンシャルフィールドを備え、前記クレデンシャルは、ユーザーが前記クレデンシャルについてプロンプトされるべきであるかどうか、前記データソースにアクセスするためにクレデンシャルが要求されないかどうか、前記クレデンシャルが統合されているかどうか、または、前記クレデンシャルが別のロケーション内に格納されているかどうかを指示する複数の値を備えるものであるサーバーコンピュータと、
前記データソースからのデータを消費するためのアプリケーションプログラムを実行するように動作するクライアントコンピュータと
を備え、
前記クライアントコンピュータはさらに、
データソースに接続するための要求を受信し、ここで、前記要求は、前記データソースに接続してレポート内で使用するデータを得るための要求を含み、
前記要求に応答して、使用可能なデータソースのリストのための要求を、中央管理されたデータ接続リポジトリに送信し、
前記使用可能なデータソースの前記リストを、前記中央管理されたデータ接続リポジトリから受信して前記リストを表示し、
表示された前記リストからの、前記使用可能なデータソースのうちの１つの選択を受信し、
選択されたデータソースの識別を、前記中央管理されたデータ接続リポジトリに送信し、
前記選択されたデータソースの前記識別の送信に応答して、データ接続ファイル及びメタデータを、前記中央管理されたデータ接続リポジトリから受信し、ここで、前記データ接続ファイルは、前記選択されたデータソースへの接続を確立するためのデータを有し、前記メタデータは、前記データソースのための１つ又は複数のプロパティを記述し、前記メタデータは、前記データソースにアクセスするためのクレデンシャルを記述するためのクレデンシャルフィールドを備え、前記クレデンシャルは、ユーザーが前記クレデンシャルについてプロンプトされるべきであるかどうか、前記データソースにアクセスするためにクレデンシャルが要求されないかどうか、前記クレデンシャルが統合されているかどうか、または、前記クレデンシャルが別のロケーション内に格納されているかどうかを指示する複数の値を備えるものであり、
前記データ接続ファイル内に格納された前記データを利用して、前記選択されたデータソースへの接続を確立し、
前記中央管理されたデータ接続リポジトリ内に格納された前記接続ファイルへのリンクを、前記レポート内に格納し、
前記レポートを開くための要求を受信し、
前記レポートを開くための要求に応答して、前記リンクによって識別された前記接続ファイルが前記中央管理されたデータ接続リポジトリ内に含まれるかどうかを判断し、
前記リンクによって識別された前記接続ファイルが前記中央管理されたデータ接続リポジトリ内にないと判断することに応答して、前記レポートを、前記データソースへの接続を確立することなくロードし、
前記リンクによって識別された前記接続ファイルが前記中央管理されたデータ接続リポジトリ内になく、前記接続ファイル内の前記データが前記レポート内にキャッシュされていると判断することに応答して、前記接続ファイル内の前記データを利用して、前記データソースへの接続を確立するように動作することを特徴とするシステム。
【請求項７】
前記サーバーコンピュータはさらに、前記使用可能なデータソースの前記リストのための要求とともに提供される１つまたは複数のフィルタ語に基づいて、前記使用可能なデータソースのリストを前記中央管理されたデータ接続リポジトリから決定するように動作することを特徴とする請求項６に記載のシステム。
【請求項８】
前記クライアントコンピュータはさらに、前記サーバーコンピュータに位置する前記中央管理されたデータ接続リポジトリのコンテンツを管理するためのアプリケーションプログラムを実行するように動作することを特徴とする請求項６に記載のシステム。
【請求項９】
コンピュータに、データソースを発見し、接続するための方法を実行させるためのプログラムにおいて、前記方法は、
前記コンピュータが、前記データソースに接続するための要求を受信するステップであって、前記要求は、前記データソースに接続してレポート内で使用するデータを得るための要求を含むものであるステップと、
前記要求に応答して、前記コンピュータが、使用可能なデータソースのリストのための要求を、中央管理されたデータ接続リポジトリに送信するステップと、
前記コンピュータが、前記使用可能なデータソースの前記リストを、前記中央管理されたデータ接続リポジトリから受信し、前記リストを表示するステップと、
前記コンピュータが、表示された前記リストからの、前記使用可能なデータソースのうちの１つの選択を受信するステップと、
前記コンピュータが、選択されたデータソースの識別を、前記中央管理されたデータ接続リポジトリに送信するステップと、
前記選択されたデータソースの前記識別の送信に応答して、前記コンピュータが、データ接続ファイル及びメタデータを、前記中央管理されたデータ接続リポジトリから受信するステップであって、前記データ接続ファイルは、前記選択されたデータソースへの接続を確立するためのデータを有し、前記メタデータは、前記データソースのための１つ又は複数のプロパティを記述し、前記メタデータは、前記データソースにアクセスするためのクレデンシャルを記述するためのクレデンシャルフィールドを備え、前記クレデンシャルは、ユーザーが前記クレデンシャルについてプロンプトされるべきであるかどうか、前記データソースにアクセスするためにクレデンシャルが要求されないかどうか、前記クレデンシャルが統合されているかどうか、または、前記クレデンシャルが別のロケーション内に格納されているかどうかを指示する複数の値を備えるものであるステップと、
前記コンピュータが、前記データ接続ファイル内に格納された前記データを利用して、前記選択されたデータソースへの接続を確立するステップと、
前記コンピュータが、前記中央管理されたデータ接続リポジトリ内に格納された前記接続ファイルへのリンクを、前記レポート内に格納するステップと、
前記コンピュータが、前記レポートを開くための要求を受信するステップと、
前記レポートを開くための要求に応答して、前記コンピュータが、前記リンクによって識別された前記接続ファイルが前記中央管理されたデータ接続リポジトリ内に含まれるかどうかを判断するステップと、
前記リンクによって識別された前記接続ファイルが前記中央管理されたデータ接続リポジトリ内にないと判断することに応答して、前記コンピュータが、前記レポートを、前記データソースへの接続を確立することなくロードするステップと、
前記リンクによって識別された前記接続ファイルが前記中央管理されたデータ接続リポジトリ内になく、前記接続ファイル内の前記データが前記レポート内にキャッシュされていると判断することに応答して、前記コンピュータが、前記接続ファイル内の前記データを利用して、前記データソースへの接続を確立するステップと
を含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データソースを発見して接続するための方法、システムおよび装置に関する。
【背景技術】
【０００２】
レポートの生成は、スプレッドシートアプリケーションプログラムのユーザーによって最も頻繁に実行されるタスクの１つである。レポートを作成するために、外部コンピュータシステム上に位置するデータソースへのアクセスがしばしば必要とされる。例えば、特定のレポートのために必要なデータを得るために、リモートデータベースまたはオンライン分析処理（「ＯＬＡＰ」）キューブ内に含まれたデータにアクセスすることが必要である場合がある。
【０００３】
このようなデータソースにアクセスするために、データのソースへのネットワーク接続が作成されなければならない。このような接続を作成するため、データが含まれるサーバーコンピュータの識別、サーバーコンピュータ内のデータベースの識別、およびしばしば、データベースまたはデータ技術に特有の他の知識を知ることが必要である。しかし、多くの場合、レポート作成者はこの情報への高速アクセスを有していない。したがって、ユーザーがデータソースを探し出して接続することは、非常に困難である場合がある。
【０００４】
ユーザーが最終的にデータソースに接続することができた後、データソースに接続するために必要とされた情報を取り込み、将来使用するためにデータ接続ファイル内に保存することができる。しかし、１人のコンピュータユーザーがデータ接続ファイルを複数の他のユーザーと共有するための容易な方法はない。したがって、多くの場合、同じデータソースへのアクセスを必要とする各ユーザーは、独力でデータソースに接続するために必要な情報を独立して探し出し、あるいは作成しなければならない。これは、各ユーザーにとってストレスがたまり、時間がかかる可能性がある。組織に、同じデータソースに接続する必要のある多数のアナリストがいるとき、これは相当な効率の悪さを引き起こす可能性がある。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
レポートが外部データソースへの接続と共に作成されるとき、データソースへの接続を記述する情報が通常、レポート内に格納される。このように、レポートが後に開かれるとき、データソースへの接続を再確立することができる。しかし、データソースのロケーションが変更になり、あるいはデータソースが無効にされる場合、レポートはデータソースについての不正確なロケーションまたは他のパラメータ（名前、テーブル名、カタログ名など）を識別するようになる。このレポートが開かれるとき、ユーザーは、なぜデータソースが使用不可能であるかについて、混乱する場合がある。また、組織が、修正されたデータソースを参照する多数のレポートを利用する場合、レポートの各々まで追跡し、これらのレポートを、データソースの新しいロケーションを参照するように修正することは、困難である場合がある。データソースに接続するレポートは、誰かがレポートを探し出して手動でデータソースへの参照をアップデートするまで、役に立たない。
【０００６】
外部データソースの使用はまた、システム管理者にとっても困難となる場合がある。具体的には、システム管理者は現在、信頼されたデータソースへの接続を中心で定義するため、および、これらの接続をエンドユーザーにとって使用可能にするための方法を有していない。また、システム管理者が、あるデータソースをあるユーザーのグループにとってアクセス可能にし、別のユーザーのグループにとってアクセス可能でないようにするための、容易な方法はない。
【課題を解決するための手段】
【０００７】
これらの考慮事項およびその他に関して、本発明の様々な実施形態が作成された。
【０００８】
本発明によれば、上記および他の問題は、データソースを発見して接続するための方法、システムおよび装置によって解決される。本発明の様々な態様を利用して、データソースに接続するために必要な情報への高速アクセスを有することができ、データを容易にパブリッシュして他者と共有することができ、データソースを利用してレポートへの変更を必要としない方法で修正することができ、データソース接続を、中央ロケーションから容易に管理することができる。
【０００９】
本発明の一態様によれば、使用可能なデータソースの発見を支援するためのシステムが提供される。このシステムには、データ接続定義の中央管理リポジトリを維持するように動作する、サーバーコンピュータが含まれる。各データ接続定義には、データソースのためのネットワークアドレスおよびデータベースロケーションなど、データソースへの接続を確立するための接続情報を格納するデータ接続ファイルが含まれる。各データ接続定義にはまた、接続を記述する１つまたは複数のメタデータプロパティもが含まれる。例えば、これらのプロパティには、名前、テキスト記述、探索可能キーワード、データソースのためのクレデンシャルを得るための命令、および他の情報が含まれる場合がある。データ接続を、システム管理者または他の信頼されたユーザーによってのみ、リポジトリに追加することができる。
【００１０】
本発明の他の態様によれば、システムにはまた、データソースからのデータを消費することができるアプリケーションプログラムを含む、クライアントコンピュータが含まれる場合もある。例えば、アプリケーションプログラムは、財務分析の実行においてデータソースからのデータを利用する、スプレッドシートアプリケーションプログラムを備える場合がある。アプリケーションプログラムは、データ接続を探し出すための改良されたユーザーインターフェイスを提供するように動作する。本発明のこの態様によれば、データソースへの接続を作成するための要求を、ユーザーなどから受信することができる。このような要求が受信されるとき、アプリケーションは、使用可能なデータソースのリストのための要求をサーバーコンピュータに送信するように動作する。
【００１１】
使用可能なデータソースのリストのための要求をアプリケーションから受信することに応答して、サーバーコンピュータは、使用可能なデータソースについてリポジトリを探索するように動作する。本発明の態様によれば、この探索を、アプリケーションプログラムのユーザーがセキュリティ特権を有するデータソースに制限することができ、あるいは、ユーザーによって提供されたフィルタ語にマッチするメタデータを有するデータソースに制限することができる。１つまたは複数のデータソースがリポジトリ内で識別されているとき、サーバーコンピュータはクライアントアプリケーションからの要求に、マッチするデータソースのリストにより応答する。
【００１２】
アプリケーションプログラムはさらに、使用可能なデータソースのリストをユーザーに表示するように動作する。データソースのリストを、各ソースに関連付けられたメタデータに基づいてソートおよびフィルタリングすることができる。ユーザーが、データソースのうち接続するべきものの選択を提供するとき、アプリケーションプログラムは、選択されたソースに対応するデータ接続情報のための要求を、サーバーコンピュータに送信する。応答において、サーバーコンピュータはデータ接続ファイルを戻す。
【００１３】
データ接続ファイルがクライアントコンピュータに戻された後、アプリケーションプログラムはファイルのコンテンツを利用して、データソースへの接続を確立することができる。次いで、データをデータソースから検索し、アプリケーションプログラムによって実行される計算において利用することができる。レポートがアプリケーションプログラムによって保存されるとき、データ接続ファイルへの参照をレポート内で保存することができる。具体的には、サーバーコンピュータ上に位置するデータ接続ファイルへのリンクを、レポート内に保存することができる。データ接続ファイルをまた、レポート内に埋め込むこともできる。
【００１４】
データソースへの参照を含むレポートが後にアプリケーションプログラムによって開かれるとき、参照がリンクであるか、埋め込みデータ接続ファイルであるかについての判断が行われる。参照がリンクである場合、リンクによって識別された接続ファイルが、中央管理されたデータ接続リポジトリ内に含まれるかどうかについての判断が行われる。接続ファイルがリポジトリ内にない場合、レポートは、データソースへの接続を確立することなくロードされる。接続ファイルがリポジトリ内になく、接続情報がレポート内にキャッシュされる場合、レポート内の接続情報が利用されて、データソースへの接続が開かれる。接続ファイルがリポジトリ内にある場合、接続ファイルはリポジトリからクライアントコンピュータへコピーされる。次いで、アプリケーションプログラムは接続ファイルを利用して、データソースへの接続を開き、レポート内のデータソースからのデータを利用する。
【００１５】
レポート内のデータソースへの参照が、埋め込みデータ接続ファイルであると判断される場合、最初に、データ接続ファイルもまたリポジトリ内に存在するかどうかについての判断が行われる。データ接続ファイルがリポジトリ内に含まれる場合、埋め込みデータ接続ファイル内の情報が、リポジトリ内に格納されたデータ接続ファイル内に含まれたデータにマッチするかどうかについての判断が行われる。データがマッチする場合、埋め込みデータ接続ファイルのコンテンツが利用されて、データソースへの接続が開かれる。
【００１６】
データ接続ファイルがリポジトリ内にない場合、または、埋め込みデータ接続ファイルのコンテンツが、リポジトリ内のデータ接続ファイルのコンテンツにマッチしない場合、レポートが信頼されるかどうかについての判断が行われる。レポートが信頼されない場合、データソースへの接続は行われない。レポートが信頼される場合、埋め込みデータ接続ファイルのコンテンツが利用されて、データソースへの接続が開かれる。
【００１７】
本発明の他の態様によれば、リポジトリのコンテンツの管理を支援するために、アプリケーションプログラムを提供することができる。具体的には、データ接続定義をリポジトリに追加すること、またはリポジトリから除去することができる。データ接続をまた、参照されたデータソースのロケーションを含む、関連付けられたプロパティのいずれかを変更するように修正することもできる。また、アクセス権をデータ接続定義に関連付けて、あるユーザーまたは対象者のグループのみがデータ接続を見てデータソースに接続することを許可されるようにすることもできる。
【００１８】
本発明をまた、コンピュータプロセス、コンピュータシステムもしくは装置として、または、コンピュータプログラム製品もしくはコンピュータ可読メディアなどの製造品として実施することもできる。コンピュータプログラム製品を、コンピュータシステムによって可読であり、コンピュータプロセスを実行するための命令のコンピュータプログラムを符号化する、コンピュータストレージメディアにすることができる。コンピュータプログラム製品をまた、コンピューティングシステムによって可読であり、コンピュータプロセスを実行するための命令のコンピュータプログラムを符号化する、搬送波上の伝搬信号にすることもできる。
【００１９】
本発明を特徴付けるこれらおよび様々な他の特徴ならびに利点は、以下の詳細な説明を読み、関連図面を再検討することから明らかになるであろう。
【発明を実施するための最良の形態】
【００２０】
図面を参照して本発明の様々な態様を説明し、図面においては、類似の符号は類似の要素を表す。具体的には、図１および対応する考察は、本発明の実施形態を実施することができる適切なコンピューティング環境の短い全体的な説明を提供するように意図される。本発明を一般に、パーソナルコンピュータ上のオペレーティングシステム上で実行するプログラムモジュールと共に実行する、プログラムモジュールとの関連で説明するが、本発明をまた、他のタイプのコンピュータシステムおよびプログラムモジュールと組み合わせて実施することもできることは、当業者には理解されよう。
【００２１】
一般に、プログラムモジュールには、ルーチン、プログラム、コンポーネント、データ構造、および、特定のタスクを実行するか、あるいは特定の抽象データタイプを実装する他のタイプの構造が含まれる。また、本発明を他のコンピュータシステム構成により実施することができ、これらの構成には、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラマブルなコンシューマエレクトロニクス、ミニコンピュータ、メインフレームコンピュータなどが含まれることは、当業者には理解されよう。本発明をまた分散コンピューティング環境において実施することもでき、この環境では、タスクは、通信ネットワークを通じてリンクされるリモート処理デバイスによって実行される。分散コンピューティング環境では、プログラムモジュールはローカルおよびリモートのメモリストレージデバイス内に位置することができる。
【００２２】
図１に示すように、いくつかのコンピュータは、インターネットなどの分散ネットワーク１０を介して通信することができる。具体的には、コンピュータ２をインターネットに接続することができ、コンピュータ２は、レポート作成アプリケーション４およびレポート消費アプリケーション６を含む。レポート作成アプリケーション４は、データレポートを作成するためのアプリケーションプログラムを備える。例えば、本発明の一実施形態によれば、レポート作成アプリケーション４はスプレッドシートアプリケーションプログラムを備え、これはＭＩＣＲＯＳＯＦＴ  ＣＯＲＰＯＲＡＴＩＯＮからのＥＸＣＥＬスプレッドシートアプリケーションプログラムなどである。例えば、スプレッドシートレポートを、データソース１６など、外部データソースからのデータを利用して作成することができる。以下でより詳細に説明するように、データソース１６は、リレーショナルデータベスまたはＯＬＡＰキューブを含む、いかなるタイプのデータベースを備えることもできる。
【００２３】
本発明の態様によれば、コンピュータ２にはまた、レポート消費アプリケーション６が含まれる場合もある。レポート消費アプリケーション６もまた、ＭＩＣＲＯＳＯＦＴ  ＣＯＲＰＯＲＡＴＩＯＮからのＥＸＣＥＬスプレッドシートアプリケーションプログラムなど、スプレッドシートアプリケーションプログラムを備えることができる。データを消費するため、レポート消費アプリケーション６は、外部データソースへの参照を含む、以前に作成されたレポートをロードすることができる。レポートが実行されるとき、データが外部データソースから検索され、レポートを備える財務計算内に含まれるようになる。レポート作成アプリケーション４およびレポート消費アプリケーション６は、同じアプリケーションプログラムまたは異なるアプリケーションプログラムを備えることができることを理解されたい。また、レポート作成アプリケーション４およびレポート消費アプリケーション６は、外部データソースに接続するいかなるプログラムを備えることもできることを理解されたい。
【００２４】
図１に示すように、サーバーコンピュータ１２Ｂもまたネットワーク１０に接続する。サーバーコンピュータ１２Ｂは、データソース１６へのゲートウェイを提供するように動作する。サーバーコンピュータ１２Ｂはまた、データソース１６内に格納されたデータのための要求を受信し、これに応答するようにも動作する。したがって、サーバーコンピュータ１２Ｂは、ネットワーク１０を介してデータソース１６内に含まれたデータへのアクセスを提供するためのデータベースソフトウェアを実行するように、動作可能である。このようなデータベースソフトウェアは、当業者には周知である。
【００２５】
また、図１に示すように、サーバーコンピュータ１２Ａもまたネットワーク１０に接続される。本書を通じてより詳細に説明するように、サーバーコンピュータ１２Ａは、データ接続リポジトリ１４を維持するように動作する。データ接続リポジトリ１４は、データ接続定義の中央管理リポジトリを備える。データ接続リポジトリ１４内に格納されたデータ接続定義の各々には、データソースのためのネットワークアドレスおよびデータベースロケーションなど、データソースへの接続を確立するためのデータを格納するデータ接続ファイルが含まれる。例えば、サーバーコンピュータ１２Ｂを参照して、データ接続リポジトリ１４は、サーバーコンピュータ１２Ｂのネットワークアドレス、および、データソース１６に接続するために必要な追加の情報を定義する、データ接続ファイルを格納することができる。
【００２６】
本発明の実施形態によれば、データ接続リポジトリ１４はまた、各データ接続ファイルに関連付けられた１つまたは複数のメタデータプロパティを格納することもできる。これらのプロパティには、例えば、それによってデータ接続を参照することができる共通名、データ接続のテキスト記述、データ接続のための探索可能キーワード、データソースにアクセスするためのクレデンシャルを得るための命令、および他の情報が含まれる場合がある。
【００２７】
本発明の他の態様によれば、サーバーコンピュータ１２Ａは、データ接続リポジトリ１４内に格納されたデータ接続ファイルのための要求を受信し、これに応答することができる。例えば、レポート作成アプリケーション４が、データソース１６に接続するために利用されるとき、レポート作成アプリケーション４はサーバーコンピュータ１２Ａから、接続のために使用可能なデータ接続ファイルのすべてを要求することができる。それへの応答において、サーバーコンピュータ１２Ａはデータ接続リポジトリ１４を、使用可能なデータ接続ファイルについて探索し、これらのファイルのリストをレポート作成アプリケーション４に戻すことができる。本発明の態様によれば、サーバーコンピュータ１２Ａによって実行されたデータ接続リポジトリ１４の探索を、アプリケーション４のユーザーがセキュリティ特権を有するデータソースに制限することができる。代替として、サーバーコンピュータ１２Ａによるデータ接続リポジトリ１４の探索を、コンピュータ２のユーザーによって提供されたフィルタ語にマッチする、それに関連付けられたメタデータを有するデータソースに制限することができる。１つまたは複数のデータソースがリポジトリ１４内で識別されているとき、サーバーコンピュータ１２Ａはこの要求に、マッチするデータソースのリストにより応答する。
【００２８】
レポート作成アプリケーション４が、使用可能なデータソースのリストを受信した後、これらのデータソースをコンピュータ２のユーザーに提示することができる。データソースのリストをまた、各ソースに関連付けられたメタデータに基づいてソートおよびフィルタリングすることもできる。アプリケーション４のユーザーが、データソースのうち接続するべきものを選択するとき、アプリケーションプログラム４は、選択されたデータソースに対応するデータ接続ファイルのための要求を、サーバーコンピュータ１２Ａに送信する。それへの応答において、サーバーコンピュータ１２Ａはリポジトリ１４から適切なデータ接続ファイルを検索し、このファイルをレポート作成アプリケーション４に戻す。
【００２９】
データ接続ファイルがコンピュータ２に戻された後、アプリケーション４は接続ファイルのコンテンツを利用して、データソース１６への接続を確立することができる。次いで、データをデータソースから検索し、アプリケーションプログラム４によって実行される計算において利用することができる。レポートがアプリケーションプログラム４によって保存されるとき、データ接続ファイルへの参照をレポート内で保存することができる。具体的には、サーバーコンピュータ上に位置するデータ接続ファイルへのリンクを、レポート内に保存することができる。データ接続ファイルをまた、保存されたレポート内に埋め込むこともできる。
【００３０】
データソースへの参照を含むレポートが後にレポート消費アプリケーション６によって開かれるとき、アプリケーションは、参照がリンクであるか、埋め込みデータ接続ファイルであるかを判断するように動作可能である。参照がデータ接続ファイルへのリンクである場合、アプリケーション６によって、接続ファイルがデータ接続リポジトリ１４内に含まれるかどうかについての判断を行うことができる。データ接続ファイルがリポジトリ１４内にない場合、レポート消費アプリケーション６はレポートを、データソースへの接続を確立することなくロードするようになる。しかし、データ接続ファイルがリポジトリ１４内に位置する場合、データ接続ファイルはリポジトリからサーバーコンピュータ１２Ａによってコンピュータ２へコピーされる。次いで、アプリケーション６は接続ファイルを利用してデータソース１６への接続を開き、レポート内のデータソース１６からのデータを利用することができる。レポート内のデータソースへの参照が、埋め込みデータ接続ファイルであると判断される場合、埋め込みデータ接続ファイルが利用されるべきであるかどうかを判断するために、一連のオペレーションが実行される。一連のオペレーションを、以下で図５に関してより詳細に説明する。
【００３１】
図１に示すように、コンピュータ２にはまた、データ接続のための管理ツール８も含まれる場合がある。管理ツール８は、管理者がデータ接続リポジトリ１４のコンテンツを管理することを可能にする。具体的には、システム管理者は新しい接続を定義し、既存の接続のプロパティを修正し、使用可能な接続を見ることを許可されるべきであるユーザーのグループを指定することができる。このように、他の接続はエクスポーズされないが、ある接続をあるユーザーのグループにエクスポーズすることができる。管理ツール８は、コンピュータ２上で実行するスタンドアロンアプリケーション、または、サーバーコンピュータ１２Ａ上の別のタイプのアプリケーション実行を備えることができることを理解されたい。例えば、サーバーコンピュータ１２Ａは、データ接続リポジトリ１４のコンテンツを管理するための、ハイパーテキストマークアップ言語（「ＨＴＭＬ」）インターフェイスを提供することができる。データ接続リポジトリ１４内に格納されたデータ接続ファイルを管理するための、他のタイプのインターフェイスもまた提供することができる。
【００３２】
図２を参照して、データ接続リポジトリ１４のコンテンツに関する追加の詳細を提供する。上記で簡単に論じたように、リポジトリ１４は、データ接続ファイル１８Ａ〜１８Ｎを格納するように動作する。データ接続ファイル１８Ａ〜１８Ｎは、データソース１６に接続するために必要なデータを格納する。具体的には、データ接続ファイル１８Ａは、データソース１６をホストするサーバーコンピュータ１２Ｂのネットワークアドレスを格納することができる。加えて、データ接続ファイル１８Ａは、このサーバーコンピュータ１２Ｂで使用可能な特定のデータソース１６を識別する追加のデータを格納することができる。データソース１６への接続を得るために必要な他の情報もまた、データ接続ファイル１８Ａ内に格納することができる。
【００３３】
本発明の様々な実施形態によれば、各データ接続ファイル１８Ａ〜１８Ｎに対応する、データ接続プロパティ２０Ａ〜２０Ｎもまた格納される。図２に示すように、データ接続プロパティ２０Ａは、データ接続ファイル１８Ａのためのメタデータを定義する。具体的には、ここで提示する本発明の一実施形態によれば、メタデータには、データ接続のフレンドリ名２２Ａ、データ接続のテキスト記述２２Ｂ、および、コンピュータ２のユーザーによって、特定の接続を探索するために利用することができる、１つまたは複数のキーワード２２Ｃが含まれる。コンピュータ２に戻されるべきであるデータ接続ファイルを識別するとき、キーワード２２Ｃをサーバーコンピュータ１２Ａによってフィルタリングすることができる。
【００３４】
データ接続プロパティ２０Ａ内に格納されたメタデータにはまた、ＯＬＥＤＢ、ＯＤＢＣ、ＳＯＡＰなど、データソースまたはプロバイダタイプを識別するタイプフィールド２２Ｄが含まれる場合もある。タイプフィールド２２Ｄのコンテンツを利用して、関連付けられたプロバイダがサポートされるかどうかを判断することができる。本発明の実施形態によれば、クレデンシャル検索フィールド２２Ｅもまたメタデータ内で提供することができ、このフィールドは、特定のデータソースにアクセスするために必要なクレデンシャルのタイプを記述するためのものである。例えば、このフィールドは、ユーザーがクレデンシャルについてプロンプトされるべきであるかどうか、データソースにアクセスするためにクレデンシャルが要求されないかどうか、Ｋｅｒｂｅｒｏｓネットワーク許可プロトコルの使用などを通じてクレデンシャルが統合されるかどうか、または、クレデンシャルが別のロケーション内に格納されるかどうかを指示する、４つの値のうち１つを格納することができる。これに関して、プロンプトテキストフィールド２２Ｆを利用して、ユーザーが供給したクレデンシャルについてのプロンプトにより表示されるテキストを指定することができる。例えば、ユーザーは、データベースにアクセスするためのクレデンシャルのために、それらの従業員識別番号およびユーザー名を入力するようにプロンプトされる場合がある。
【００３５】
データ接続プロパティ２０Ａはまた、データ接続ファイルを作成したユーザーを識別する作成者フィールド２２Ｇ、最後にデータ接続ファイルを修正したユーザーを識別する修正者フィールド２２Ｈ、および、データ接続ファイルが修正された最終日を識別する修正日フィールド２２Ｉを格納することもできる。データ接続プロパティ２０Ａはまた、データソース１６との接続を確立するために必要とされた接続文字列２２Ｊを格納することもできる。接続文字列２２Ｊを、対応するデータ接続ファイルのコンテンツからコピーすることができる。本発明の実施形態によれば、データ接続プロパティ２０Ａはまた、シングルサインオンサービス（「ＳＳＯ」）アプリケーションＩＤフィールド２２Ｋ、ＳＳＯユーザー名フィールド２２Ｌ、およびＳＳＯパスワード２２Ｍを格納することもできる。これらのフィールドのコンテンツは、クレデンシャル検索フィールド２２Ｅの値が、格納されたクレデンシャルを利用するために設定されるとき、利用される。これらのフィールドは、格納されたクレデンシャルサービス、ならびに、データソース１６へのアクセスを得るために利用されるべきであるユーザー名およびパスワードを識別する。他のタイプのメタデータもまたデータ接続プロパティ２０Ａ内に格納され、この中で利用される場合があることを理解されたい。例えば、他のタイプのメタデータには、サーバーコンピュータがデフォルト設定をオーバーライドして、データ接続に特有の設定を収容することを可能にする値を識別する、ＱｕｅｒｙＴｉｍｅＯｕｔおよびＤａｔａＣａｃｈｅＬｉｆｅｔｉｍｅフィールド（図示せず）、および、データベースのためのサーバーコンピュータの名前を格納するロケーションフィールド（図示せず）が含まれる場合がある。ロケーションフィールドは、サーバーコンピュータ上の接続の管理のために有用である場合があることは理解されよう。クエリを記述するための追加のメタデータ（コマンドテキスト、アップデート、挿入、削除および選択など）もまた、データ接続プロパティ２０Ａ内に格納することができる。
【００３６】
このとき図３を参照して、本発明の様々な実施形態において利用されたコンピュータ２のための例示的コンピュータアーキテクチャを説明する。図３に示すコンピュータアーキテクチャは従来の汎用コンピュータを例示し、中央処理装置２４（「ＣＰＵ」）、ランダムアクセスメモリ２８（「ＲＡＭ」）および読み取り専用メモリ（「ＲＯＭ」）３０を含むシステムメモリ２６、ならびに、メモリをＣＰＵ２４に結合するシステムバス３２が含まれる。基本入出力システムは、起動中など、コンピュータ内の複数の要素の間で情報を転送する助けとなる基本ルーチンを含み、ＲＯＭ３０に格納される。コンピュータ２にはさらに、オペレーティングシステム３６、アプリケーションプログラム、および他のプログラムモジュールを格納するための大容量ストレージデバイス３４が含まれ、これらを以下でより詳細に説明する。
【００３７】
大容量ストレージデバイス３４はＣＰＵ２４に、バス３２に接続された大容量ストレージコントローラ（図示せず）を通じて接続される。大容量ストレージデバイス３４およびその関連付けられたコンピュータ可読メディアは、コンピュータ２のための不揮発性ストレージを提供する。本明細書に含まれるコンピュータ可読メディアの説明は、ハードディスクまたはＣＤ−ＲＯＭドライブなど、大容量ストレージデバイスに言及するが、コンピュータ可読メディアを、コンピュータ２によってアクセスすることができるいかなる使用可能なメディアにすることもできることを、当業者には理解されたい。
【００３８】
例として、限定ではなく、コンピュータ可読メディアは、コンピュータストレージメディアおよび通信メディアを備えることができる。コンピュータストレージメディアには、揮発性および不揮発性、リムーバブルおよび非リムーバブルのメディアが含まれ、これらのメディアは、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータなど、情報の格納のためのいずれかの方法または技術において実装される。コンピュータストレージメディアには、それだけに限定されないが、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリもしくは他の固体メモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（「ＤＶＤ」）もしくは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または、所望の情報を格納するために使用することができ、コンピュータ２によってアクセスすることができる他のいかなるメディアもが含まれる。
【００３９】
本発明の様々な実施形態によれば、コンピュータ２はネットワーク環境において、インターネットなどのネットワーク１０を通じたリモートコンピュータへの論理接続を使用して動作することができる。コンピュータ２はネットワーク１０に、バス３２に接続されたネットワークインターフェイスユニット３８を通じて接続することができる。ネットワークインターネットユニット３８を利用して、他のタイプのネットワークおよびリモートコンピュータシステムに接続することもできることを理解されたい。コンピュータ２にはまた、キーボード、マウスまたは電子スタイラス（図１に図示せず）を含むいくつかの他のデバイスからの入力を受信および処理するための、入出力コントローラ４０が含まれる場合もある。同様に、入出力コントローラ４０は出力を表示画面、プリンタ、または他のタイプの出力デバイスに提供することができる。
【００４０】
簡単に上述したように、いくつかのプログラムモジュールおよびデータファイルを、図２の大容量ストレージデバイス３４およびＲＡＭ２８に格納することができ、これらのプログラムモジュールおよびデータファイルには、ワシントン州レドモンドのＭＩＣＲＯＳＯＦＴ  ＣＯＲＰＯＲＡＴＩＯＮからのＷＩＮＤＯＷＳ（登録商標）ＸＰオペレーティングシステムなど、ネットワークパーソナルコンピュータのオペレーションをコントロールするために適切なオペレーティングシステム３６が含まれる。大容量ストレージデバイス３４およびＲＡＭ２８はまた、１つまたは複数のプログラムモジュールを格納することもできる。具体的には、大容量ストレージデバイス３４およびＲＡＭ２８は、レポート作成アプリケーション４およびレポート消費アプリケーション６を格納することができる。本発明の一実施形態によれば、これらのアプリケーションは、ＭＩＣＲＯＳＯＦＴ  ＣＯＲＰＯＲＡＴＩＯＮからのＥＸＣＥＬスプレッドシートアプリケーションプログラムを備える。しかし、他のメーカーからの他のアプリケーションプログラムを利用して、本発明の様々な態様を実施することができることを理解されたい。
【００４１】
図３に示すように、大容量ストレージデバイス３４はまたレポート４２を格納することもできる。本明細書で説明する本発明の実施形態では、レポート４２は、コンピュータ２の外部のデータソースへの参照を含む、スプレッドシートファイルを備える。外部データソースへの参照を利用することによって、レポート４２は、異なる種類の分析を実行するとき、外部データベース内に含まれたデータを利用することができる。
【００４２】
図３に示すように、大容量ストレージデバイス３４はまた、管理ツール８を格納することもできる。簡単に上述したように、管理ツール８は、リポジトリ１４内に格納されたデータ接続ファイルを中央管理するための機能性を提供することができる。データ接続ファイルをリポジトリに、管理ツール８を利用して追加または削除することができる。加えて、データ接続ファイルのコンテンツを修正することができ、データ接続プロパティ２０Ａに格納されたそれらの関連付けられたメタデータもまた変更することができる。加えて、管理ツール８の使用を通じて、システム管理者は、特定のデータ接続ファイルを見ることを許可された人々または個人のグループを分類することができる。このように、グループまたは対象者を、特定のデータ接続ファイルのために作成することができる。
【００４３】
図１に示したサーバーコンピュータ１２Ａおよび１２Ｂには、図３のコンピュータ２に関して示した従来のコンポーネントの多数が含まれる場合があることを理解されたい。加えて、サーバーコンピュータ１２Ａには、リポジトリ１４に格納されたデータ接続ファイルにアクセスするための要求を受信し、これに応答するためのポータルアプリケーション４６が含まれる場合がある。ポータルアプリケーション４６は、許可されたユーザーのみにデータ接続ファイルを提供するため、データ接続リポジトリ１４の探索をフィルタリングするため、および、そうでない場合はリポジトリ１４へのアクセスのための要求をコンピュータ２から受信し、これに応答するために必要な機能を実行することができる。加えて、ポータルアプリケーション４６は、データ接続リポジトリ１４のコンテンツを管理するためのＨＴＭＬインターフェイスを提供することができる。管理ツール８を参照して上述した機能を、ポータルアプリケーション４６によって提供されたウェブベースのインターフェイスを通じて実行することができる。本発明の一実施形態によれば、ポータルアプリケーション４６は、ＭＩＣＲＯＳＯＦＴ  ＣＯＲＰＯＲＡＴＩＯＮからのＷＩＮＤＯＷＳ（登録商標）ＳＨＡＲＥ  ＰＯＩＮＴサービスサーバーアプリケーションを備える。
【００４４】
図３に示すように、サーバーコンピュータ１２Ｂにはまた、データベースアプリケーション４４が含まれる場合もある。当業者には知られているように、データベースアプリケーション４４は、データソース１６への接続のための要求を受信し、これに応答するように動作する。サーバーコンピュータ１２Ｂには、オペレーティングシステム３６、および、当業者に知られる他のコンポーネントなど、他の従来のソフトウェアが含まれる場合があることを理解されたい。
【００４５】
このとき図４を参照して、データ接続リポジトリを使用してデータソースを発見するためのプロセスを例示する、例示的ルーチン４００を説明する。本明細書で説明する本発明の実施形態は、スプレッドシートアプリケーションプログラムとの関連で提示されるが、本発明を、データソースに接続するいかなるタイプのアプリケーションプログラムと共に利用することもできることを理解されたい。例えば、本明細書で説明する本発明の実施形態を、プレゼンテーションアプリケーションプログラム、ドローもしくはＣＡＤアプリケーションプログラム、ワード処理アプリケーションプログラム、またはデータベースアプリケーションプログラム内で利用することができる。
【００４６】
本明細書で提示するルーチンの考察を読むとき、本発明の様々な実施形態の論理オペレーションは、（１）コンピューティングシステム上で実行する、一連のコンピュータ実施動作またはプログラムモジュールとして、および／または、（２）コンピューティングシステム内で相互接続されたマシン論理回路または回路モジュールとして、実施されることを理解されたい。この実施は、本発明を実施するコンピューティングシステムのパフォーマンス要件によって決まる、選択できる問題である。したがって、図４〜５に例示する論理オペレーション、および、本明細書で説明する本発明の実施形態の構成は様々に、オペレーション、構造デバイス、動作またはモジュールと呼ばれる。これらのオペレーション、構造デバイス、動作およびモジュールを、ソフトウェア内、ファームウェア内、専用デジタル論理内、およびそれらのいかなる組み合わせにおいても、本明細書に付属の特許請求の範囲内で列挙されるような本発明の精神および範囲から逸脱することなく、実施することができることは、当業者には理解されよう。
【００４７】
このとき図４を参照して、データ接続リポジトリ１４のコンテンツを使用して、使用可能なデータソースを発見するための例示的ルーチン４００を説明する。ルーチン４００はオペレーション４０２で開始し、レポート作成アプリケーション４はデータソースに接続するための要求を受信する。このような要求をプログラム的に、またはユーザーから受信することができる。このような要求に応答して、オペレーション４０４で、レポート作成アプリケーション４はクエリをサーバーコンピュータ１２Ａに送信し、使用可能なデータソースの識別を要求する。クエリには、レポート作成アプリケーション４のユーザーの識別、および、ユーザーによって提供された、データ接続リポジトリ１４のコンテンツをフィルタリングするための１つまたは複数のフィルタ語が含まれる場合がある。
【００４８】
レポート作成アプリケーション４によってクエリ内で提供された情報を利用して、サーバーコンピュータ１２Ａは、それに対してコンピュータ２のユーザーがアクセスすることを許可され、ユーザーによって提供されたいずれかのフィルタ語にマッチする、データ接続ファイルについて、データ接続リポジトリ１４のコンテンツを探索するように動作する。各データ接続ファイル１８Ａ〜１８Ｎのためのデータ接続プロパティ２０Ａ〜２０Ｎ内に格納されたメタデータを、サーバーコンピュータ１２Ａによって探索して、それに対してユーザーが見ることを許可され、ユーザーによって提供されたいずれかのフィルタ語にマッチする、データ接続プロパティのリストを識別することができることを理解されたい。使用可能なデータ接続ファイルのリストがサーバーコンピュータ１２Ａによって決定された後、ファイルのリストはレポート作成アプリケーションへ、コンピュータ２上で実行するために戻される。
【００４９】
オペレーション４０６で、レポート作成アプリケーション４は、使用可能なデータソースのリストをコンピュータ２のユーザーに表示するように動作する。次いで、ユーザーは、表示されたリストから使用可能なデータソースの１つを選択するようにプロンプトされる場合がある。オペレーション４０８で、レポート作成アプリケーション４はユーザーから、使用可能なデータソースの選択を受信する。このような選択を受信することに応答して、オペレーション４１０で、レポート作成アプリケーション４は、選択されたデータ接続ファイルの識別をサーバーコンピュータ１２Ａに送信する。
【００５０】
特定のデータ接続ファイルの識別を受信することに応答して、サーバーコンピュータ１２Ａは、データ接続ファイルをデータ接続リポジトリ１４から検索するように、および、データソースに接続するために必要な情報を含むデータ接続ファイルをレポート作成アプリケーション４に送信するように動作する。オペレーション４１２で、レポート作成アプリケーション４はデータ接続ファイルをサーバーコンピュータ１２Ａから受信する。
【００５１】
データ接続ファイルがコンピュータ２によって受信された後、データ接続ファイルのコンテンツを利用して、データ接続ファイル内に含まれたデータによって識別された、データソース１６などのデータソースに接続することができる。接続が開かれた後、レポート作成アプリケーション４はデータをデータソースから検索し、このデータをレポート４２内で利用することができる。
【００５２】
レポート作成アプリケーション４のユーザーがレポートを保存することを選ぶとき、データ接続ファイルへのリンクをレポート内に保存することができる。データ接続ファイルへのリンクは、データソース１６に接続するために必要なデータを含まない。むしろ、データ接続ファイルへのリンクは、サーバーコンピュータ１２Ａへのリンク、および、データ接続リポジトリ１４内に格納されたデータ接続ファイルの識別を含む。ドキュメントが開かれるとき、リポジトリ１４内に格納されたデータ接続ファイルへのリンクを利用することによって、データ接続ファイルのみが、それが参照するすべてのレポートをアップデートするように修正される必要がある。代替として、データ接続ファイルをレポート内に埋め込むことができる。データ接続ファイルにリンクする、または、データ接続ファイルをファイル内に埋め込むプロセスは、オペレーション４１６で生じる。このプロセスが実行された後、ルーチン４００はオペレーション４１８に進み、終了する。
【００５３】
このとき図５を見て、データソースへの接続を含むレポートをロードおよび実行するための例示的ルーチン５００を説明する。例えば、このプロセスは、レポート消費アプリケーション６が利用されて、データソース１６への接続を含むレポート４２がロードおよび実行されるとき、実行される場合がある。レポートが識別およびロードされた後、オペレーション５０２でルーチン５００は開始し、レポート消費アプリケーション６は、データ接続への参照がレポート内に埋め込まれているかどうか、または、リポジトリ１４内のデータ接続ファイルへのリンクが作成されているかどうかを判断する。データ接続リポジトリ１４内に格納されたデータ接続ファイルへのリンクが作成されている場合、ルーチン５００はオペレーション５０４に進む。オペレーション５０４で、レポート消費アプリケーション６からサーバーコンピュータ１２Ａへ、接続ファイルがデータ接続リポジトリ１４内に含まれるかどうかを判断するための要求が送信される。レポート内でリンクされたデータ接続ファイルがデータ接続リポジトリ１４内に含まれない場合、ルーチン５００はオペレーション５０４からオペレーション５０５に進む。オペレーション５０５で、レポート消費アプリケーション６は、接続ファイル内の情報がレポート内でキャッシュされるかどうかを判断する。接続ファイル内の情報がレポート内でキャッシュされる場合、ルーチン５００はオペレーション５０５からオペレーション５１０に分岐し、レポート消費アプリケーション６は、接続ファイル内でキャッシュされた情報を利用して、データソース１６への接続を確立する。しかし、接続ファイル内の情報がレポート内でキャッシュされない場合、ルーチン５００はオペレーション５０５からオペレーション５０６に分岐する。オペレーション５０６で、データソースへの接続は行われない。しかし、レポート内でリンクされたデータ接続ファイルがリポジトリ１４内に含まれる場合、ルーチン５００はオペレーション５０４からオペレーション５０８に分岐する。
【００５４】
オペレーション５０８で、サーバーコンピュータ１２Ａからの適切なデータ接続ファイルのための要求が作成される。データ接続ファイルがレポート消費アプリケーション６で受信されるとき、オペレーション５１０で、データ接続ファイルが利用されて、データソース１６への接続が作成される。データソース１６との接続が確立されており、データを送信することができるようになった後、レポート内に含まれたクエリ５１２がレポート消費アプリケーション６によって実行される。オペレーション５１２から、ルーチン５００はオペレーション５１４に進み、終了する。
【００５５】
オペレーション５０２で、データ接続ファイルがレポート内に埋め込まれると判断される場合、ルーチン５００はオペレーション５０２からオペレーション５１６に分岐する。オペレーション５１６で、レポート消費アプリケーション６は、サーバーコンピュータ１２Ａへ、埋め込み接続ファイルがリポジトリ１４内に含まれるかどうかを判断するための要求を送信する。埋め込みデータ接続ファイルがリポジトリ１４内に含まれる場合、ルーチン５００はオペレーション５１６からオペレーション５２６に分岐する。オペレーション５２６で、レポート消費アプリケーション６は、レポート内に埋め込まれた情報が、リポジトリ１４内に格納されたデータ接続ファイルのコンテンツにマッチするかどうかを判断する。埋め込みデータ接続ファイルのコンテンツが、リポジトリ１４内に格納されたデータ接続ファイルのコンテンツにマッチする場合、ルーチン５００はオペレーション５２６からオペレーション５２２に分岐し、レポート消費アプリケーション６は、埋め込みデータ接続ファイルのコンテンツを利用して、データソース１６への接続を確立する。オペレーション５２４で、レポート内に含まれたクエリがレポート消費アプリケーション６によって実行される。次いで、ルーチンはオペレーション５１４に進み、終了する。
【００５６】
オペレーション５１６で、埋め込み接続ファイルがリポジトリ１４内に含まれないと判断される場合、または、オペレーション５２６で、埋め込みデータ接続ファイルが、リポジトリ１４内に格納されたデータにマッチしないと判断される場合、ルーチン５００はオペレーション５１８に進む。オペレーション５１８で、レポート消費アプリケーション６は、レポートが信頼されるかどうかを判断する。高い特権を有するユーザー（管理者、または、管理権を付与されたユーザーなど）のみが保存のためのアクセス権を有するが、他のそれほど特権を有していないユーザーは読み取り専用アクセスのみを有する、安全なロケーションに保存される場合、ファイルは信頼される。レポートが信頼されない場合、ルーチン５００はオペレーション５２０に分岐し、データソースへの接続は行われない。しかし、レポートが信頼される場合、ルーチン５００はオペレーション５１８からオペレーション５２２に進み、データソース１６への接続は、埋め込みデータ接続ファイル内で示されたように確立され、オペレーション５２４でクエリが実行される。オペレーション５２０および５２４から、ルーチン５００はオペレーション５１４に進み、終了する。
【００５７】
前述に基づいて、本発明の様々な実施形態には、データソースを発見して接続するための方法、システム、装置およびコンピュータ可読メディアが含まれることを理解されたい。上記の仕様、実施例およびデータは、本発明の構成の製造および使用の完全な説明を提供する。本発明の多数の実施形態を、本発明の精神および範囲から逸脱することなく作成することができるので、本発明は、以下の付属の特許請求の範囲内に存在する。
【図面の簡単な説明】
【００５８】
【図１】本発明の実施形態のためのオペレーティング環境を例示するコンピュータネットワーク図である。
【図２】本発明の様々な実施形態によって利用されたデータ接続定義のための中央管理リポジトリの構造およびコンテンツを例示するデータベース図である。
【図３】本発明の様々な実施形態において利用され、それによって提供されたコンピュータシステムを例示する、コンピュータシステムアーキテクチャ図である。
【図４】データ接続リポジトリを利用してデータソースを発見するための方法を例示する流れ図である。
【図５】データソースへの参照を含むレポートをロードおよび利用するための、本発明の態様を例示する流れ図である。
【符号の説明】
【００５９】
２  コンピュータ
４  レポート作成アプリケーション
６  レポート消費アプリケーション
８  データ接続のための管理ツール
１０  ネットワーク
１２Ａ  サーバーコンピュータ
１２Ｂ  サーバーコンピュータ
１４  データ接続リポジトリ
１６  データソース
１８Ａ  データ接続ファイル
１８Ｎ  データ接続ファイル
２０Ａ  データ接続プロパティ
２０Ｎ  データ接続プロパティ
２２Ａ  名前
２２Ｂ  記述
２２Ｃ  キーワード
２２Ｄ  タイプ
２２Ｅ  クレデンシャル検索
２２Ｆ  プロンプトテキスト
２２Ｇ  作成者
２２Ｈ  修正者
２２Ｉ  修正日
２２Ｊ  接続文字列
２２Ｋ  ＳＳＯアプリケーションＩＤ
２２Ｌ  ＳＳＯユーザー名フィールド
２２Ｍ  ＳＳＯパスワードフィールド
２４  中央処理装置
２６  システムメモリ
２８  ランダムアクセスメモリ
３０  読み取り専用メモリ
３４  大容量ストレージデバイス
３６  オペレーティングシステム
３８  ネットワークインターフェイスユニット
４０  入出力コントローラ
４２  レポート
４４  データベースアプリケーション
４６  ポータルアプリケーション
【図１】
0004726545.tif 000002
【図２】
0004726545.tif 000003
【図３】
0004726545.tif 000004
【図４】
0004726545.tif 000005
【図５】
0004726545.tif 000006