JP2017111834A - 動的サービス統合システム及び方法 - Google Patents
動的サービス統合システム及び方法 Download PDFInfo
- Publication number
- JP2017111834A JP2017111834A JP2017023948A JP2017023948A JP2017111834A JP 2017111834 A JP2017111834 A JP 2017111834A JP 2017023948 A JP2017023948 A JP 2017023948A JP 2017023948 A JP2017023948 A JP 2017023948A JP 2017111834 A JP2017111834 A JP 2017111834A
- Authority
- JP
- Japan
- Prior art keywords
- service
- data source
- result
- query
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】クライアントは広範なカスタマイズなしで様々なデータソースにアクセスすることを可能にする。
【解決手段】サービス統合モジュールは複数のサービスレコード250を備え、各サービスレコードは別のデータソース230と夫々関連付けられる。サービス統合モジュールは、データソースドライバ、信用情報及び接続情報を含むデータソース統合を管理するように構成される。クライアント280からのサービス要求に応答して、前記サービス統合モジュールは、サービスレコードを識別し、データソースクエリを生成し、クエリの結果219にアクセスし、その結果をクライアントに送信する。また、サービス統合モジュールは、データソースから返される生データを標準フォーマットにマッピングする。サービス統合モジュールは、前記結果をクライアントにより指定されたフォーマット又はデータ符号化に再フォーマット化する。
【選択図】図2
【解決手段】サービス統合モジュールは複数のサービスレコード250を備え、各サービスレコードは別のデータソース230と夫々関連付けられる。サービス統合モジュールは、データソースドライバ、信用情報及び接続情報を含むデータソース統合を管理するように構成される。クライアント280からのサービス要求に応答して、前記サービス統合モジュールは、サービスレコードを識別し、データソースクエリを生成し、クエリの結果219にアクセスし、その結果をクライアントに送信する。また、サービス統合モジュールは、データソースから返される生データを標準フォーマットにマッピングする。サービス統合モジュールは、前記結果をクライアントにより指定されたフォーマット又はデータ符号化に再フォーマット化する。
【選択図】図2
Description
本発明は、サービスの生成及び提供に関し、より詳しくはデータソース及びクライアン
トの動的統合に関する。
トの動的統合に関する。
現在の情報技術システムは様々なタイプのデータソースへのアクセスにますます依存し
ている。
ている。
しかしながら、クライアントを様々なデータソースに適応させることは時間を要し、間
違いを起こしやすいタスクである。一部のデータソース及び/又はサービスはサービス記
述を公開しているが、これらのサービスを利用したいクライアントは依然としてサービス
記述に従ってカスタマイズされなければならない。更に、このカスタマイズオーバヘッド
は、多数の異なるクライアントを異なるデータソースにアクセスするように適応化させる
場合に増大する。
違いを起こしやすいタスクである。一部のデータソース及び/又はサービスはサービス記
述を公開しているが、これらのサービスを利用したいクライアントは依然としてサービス
記述に従ってカスタマイズされなければならない。更に、このカスタマイズオーバヘッド
は、多数の異なるクライアントを異なるデータソースにアクセスするように適応化させる
場合に増大する。
本明細書に開示されるシステム及び方法は、クライアントを様々なタイプのデータソー
スと統合するのに要するカスタマイズオーバヘッドを最小化又は削減するために使用する
ことができる。ユーザは、クライアントを様々なタイプのデータソースと統合するために
、本明細書に開示される動的サービス統合システム及び方法を、データソースで使用され
ている基本的な技術及び/又はデータフォーマット及び/又は通信機構に関する最小限の
知識で利用することができる。新しいデータソース及びサービスは、それらを登録すると
直ちに利用可能になるため、コンパイル(編集)及びデプロイメント(展開)の遅れを生
じない。
スと統合するのに要するカスタマイズオーバヘッドを最小化又は削減するために使用する
ことができる。ユーザは、クライアントを様々なタイプのデータソースと統合するために
、本明細書に開示される動的サービス統合システム及び方法を、データソースで使用され
ている基本的な技術及び/又はデータフォーマット及び/又は通信機構に関する最小限の
知識で利用することができる。新しいデータソース及びサービスは、それらを登録すると
直ちに利用可能になるため、コンパイル(編集)及びデプロイメント(展開)の遅れを生
じない。
いくつかの実施形態では、サービス統合モジュールは1つ以上のデータソースへのアク
セスを簡単にすることができる。サービス統合モジュールは1つ以上のデータソースをそ
れぞれのデータソースレコードに登録することができる。各データソースレコードは特定
のデータソースに関連する情報を含むことができる。データソースレコードは、データソ
ースのドライバ、データソース信用情報、データソース接続情報等を含むことができるが
、それらに限定されない。本明細書において、データソースのドライバは、特定のタイプ
のデータソースと相互作用するように構成されたコンポーネント又はライブラリ(例えば
、コンピュータ読取り可能な命令)を指す。ドライバは、JDBC(Java Database Conne
ctivity)ドライバ、ODBC(Object Database Connectivity)ドライバ、SQL(Structu
red Query Language)データベースドライバ、セマンティックデータソースコネクティビ
ティドライバなどを含むことができるが、それらに限定されない。データソースレコード
は、ドライバ自体とは対照的に、データソースドライバへのリファレンス又はリンクを含
むことができる。データソース信用情報はデータソースの認証に使用することができる。
データソース信用情報は、ユーザ名、パスワード、PIN、証明書、鍵等を含むことがで
きる。データソース接続情報は、特定のデータソースへの接続(対応するドライバを用い
る)を開始するために使用される接続文字列(ストリング)又は他の情報を含むことがで
きる。接続文字列は、データソースのアドレス(例えば、データソースのURL)を含み
、データソース名(例えば、テーブル又はデータベース名)を識別し、データソースドラ
イバを特定する。
セスを簡単にすることができる。サービス統合モジュールは1つ以上のデータソースをそ
れぞれのデータソースレコードに登録することができる。各データソースレコードは特定
のデータソースに関連する情報を含むことができる。データソースレコードは、データソ
ースのドライバ、データソース信用情報、データソース接続情報等を含むことができるが
、それらに限定されない。本明細書において、データソースのドライバは、特定のタイプ
のデータソースと相互作用するように構成されたコンポーネント又はライブラリ(例えば
、コンピュータ読取り可能な命令)を指す。ドライバは、JDBC(Java Database Conne
ctivity)ドライバ、ODBC(Object Database Connectivity)ドライバ、SQL(Structu
red Query Language)データベースドライバ、セマンティックデータソースコネクティビ
ティドライバなどを含むことができるが、それらに限定されない。データソースレコード
は、ドライバ自体とは対照的に、データソースドライバへのリファレンス又はリンクを含
むことができる。データソース信用情報はデータソースの認証に使用することができる。
データソース信用情報は、ユーザ名、パスワード、PIN、証明書、鍵等を含むことがで
きる。データソース接続情報は、特定のデータソースへの接続(対応するドライバを用い
る)を開始するために使用される接続文字列(ストリング)又は他の情報を含むことがで
きる。接続文字列は、データソースのアドレス(例えば、データソースのURL)を含み
、データソース名(例えば、テーブル又はデータベース名)を識別し、データソースドラ
イバを特定する。
サービス統合モジュールは、1つ以上のサービスのためにデータソースへのアクセスを
提供することができる。サービス統合モジュールは1つ以上のサービスをそれぞれのサー
ビスレコードを用いて登録することができる。サービスレコードは、識別子、データソー
ス(例えば、データソースへのリファレンス)、パラメータ化されたクエリ、結果マッピ
ング等を含むが、それらに限定されない。サービスは1つ以上のデータソースを参照し得
る。データソースは複数の異なるサービスで使用され得る(例えば、参照され得る)。
提供することができる。サービス統合モジュールは1つ以上のサービスをそれぞれのサー
ビスレコードを用いて登録することができる。サービスレコードは、識別子、データソー
ス(例えば、データソースへのリファレンス)、パラメータ化されたクエリ、結果マッピ
ング等を含むが、それらに限定されない。サービスは1つ以上のデータソースを参照し得
る。データソースは複数の異なるサービスで使用され得る(例えば、参照され得る)。
サービスのパラメータ化されたクエリはクエリ文字列(又は他のクエリフォーマット)
を含むことができ、これは1つ以上のパラメータプレースホルダを含むことができる。プ
レースホルダはデータソースクエリを形成するためにサービス要求のパラメータと置き換
えることができる。本明細書で使用される「サービス要求」は、サービス及び/又はデー
タソースを対象にする要求を指す。サービス要求は、1つ以上の要求パラメータ、サービ
ス識別子又は名前、認証信用情報等を含むことができる。1つ以上の要求パラメータはデ
ータソースクエリを生成するためにパラメータ化されたクエリに挿入することができる。
本明細書において、「データソースクエリ」は、特定のデータソースとともに使用するよ
う構成されたクエリを指す。例えば、SQL(Structured Query Language)データベース
内の特定の人を検索するためのパラメータ化されたクエリは、”select*from TABLE wher
e FIRST_NAME=%search_parameter%”を含むことができる。”%search_parameter%”の値
はサービス要求からのパラメータと交換することができる。いくつかの実施形態では、デ
ータソースクエリの生成は、更に、1つ以上の要求パラメータを特定のデータソースに適
したフォーマットに再フォーマットすることを含むことができる。例えば、要求パラメー
タはUTF−8エンコーディングからASCIIエンコーディング等に変換することができ
る。
を含むことができ、これは1つ以上のパラメータプレースホルダを含むことができる。プ
レースホルダはデータソースクエリを形成するためにサービス要求のパラメータと置き換
えることができる。本明細書で使用される「サービス要求」は、サービス及び/又はデー
タソースを対象にする要求を指す。サービス要求は、1つ以上の要求パラメータ、サービ
ス識別子又は名前、認証信用情報等を含むことができる。1つ以上の要求パラメータはデ
ータソースクエリを生成するためにパラメータ化されたクエリに挿入することができる。
本明細書において、「データソースクエリ」は、特定のデータソースとともに使用するよ
う構成されたクエリを指す。例えば、SQL(Structured Query Language)データベース
内の特定の人を検索するためのパラメータ化されたクエリは、”select*from TABLE wher
e FIRST_NAME=%search_parameter%”を含むことができる。”%search_parameter%”の値
はサービス要求からのパラメータと交換することができる。いくつかの実施形態では、デ
ータソースクエリの生成は、更に、1つ以上の要求パラメータを特定のデータソースに適
したフォーマットに再フォーマットすることを含むことができる。例えば、要求パラメー
タはUTF−8エンコーディングからASCIIエンコーディング等に変換することができ
る。
サービスレコードの結果マッピングは、データソースからの生結果データと標準データ
フォーマットとの間のマッピングを含むことができる。標準フォーマットは、XML(eX
tensible Markup Language)、JSON(Javascript Object Notation)、YAML、T
urtle(Terse RDF Triple Language)などのRDF(Resource Description Format
)、デリミテッドテキスト、又はそれらのフォーマットの組合せなどを含むことができる
が、それらに限定されない。いくつかの実施形態では、結果は代替フォーマット又は代替
エンコーディングに変換することができる。変換はサービス要求内で指定することができ
る。例えば、結果はバイナリフォーマット、特定のテキストエンコーディング(例えば、
ASCII、UTF−8等)などに変換することができる。例えば、サービス要求は、XM
L標準フォーマットの結果はUTF−8キャラクタエンコーディングを用いて符号化する
ことを指定することができる。
フォーマットとの間のマッピングを含むことができる。標準フォーマットは、XML(eX
tensible Markup Language)、JSON(Javascript Object Notation)、YAML、T
urtle(Terse RDF Triple Language)などのRDF(Resource Description Format
)、デリミテッドテキスト、又はそれらのフォーマットの組合せなどを含むことができる
が、それらに限定されない。いくつかの実施形態では、結果は代替フォーマット又は代替
エンコーディングに変換することができる。変換はサービス要求内で指定することができ
る。例えば、結果はバイナリフォーマット、特定のテキストエンコーディング(例えば、
ASCII、UTF−8等)などに変換することができる。例えば、サービス要求は、XM
L標準フォーマットの結果はUTF−8キャラクタエンコーディングを用いて符号化する
ことを指定することができる。
図1は模範的なサービスレコードのデータ構造及び模範的なデータソースレコードのデ
ータ構造を示す。模範的なサービスレコードのデータ構造150は、識別子152、デー
タソースリファレンス154、パラメータ化されたクエリ156及び結果マッピング15
8を含む。データソースリファレンス154はデータソースレコード160を参照し、デ
ータソースレコード160は、データソース識別子162、ドライバ164、データソー
ス信用情報166及び接続情報168(例えば接続文字列)を含む。代わりに又は加えて
、データソースレコード160はサービスレコードのデータ構造150の1つ以上のフィ
ールド内に組み込むことができる。
ータ構造を示す。模範的なサービスレコードのデータ構造150は、識別子152、デー
タソースリファレンス154、パラメータ化されたクエリ156及び結果マッピング15
8を含む。データソースリファレンス154はデータソースレコード160を参照し、デ
ータソースレコード160は、データソース識別子162、ドライバ164、データソー
ス信用情報166及び接続情報168(例えば接続文字列)を含む。代わりに又は加えて
、データソースレコード160はサービスレコードのデータ構造150の1つ以上のフィ
ールド内に組み込むことができる。
データ構造150及び160は、ハードディスク、不揮発性メモリ等の非一時的コンピ
ュータ読取り可能記録媒体上で具体化することができる。図1は模範的なデータ構造15
0及び160を示すが、本発明はこれに限定されず、任意の適切なデータ構造を任意の適
切なフォーマットで使用するように適応させることができる。
ュータ読取り可能記録媒体上で具体化することができる。図1は模範的なデータ構造15
0及び160を示すが、本発明はこれに限定されず、任意の適切なデータ構造を任意の適
切なフォーマットで使用するように適応させることができる。
クライアントは、任意の適切な要求機構を用いてサービス統合モジュールのサービスに
アクセスすることができる。いくつかの実施形態では、クライアントは、HTTP(Hype
r Text Transfer Protocol)GET要求を用いてサービス統合モジュールのサービスにア
クセスすることができる。GET要求は要求サービスを識別する及び/又は1つ以上の要
求パラメータを含むことができる。サービス要求に応答して、サービス統合モジュールは
サービスレコードを識別し、データソースクエリを生成し、(データソース又は結果キャ
ッシュ内の)データソースクエリの結果にアクセスし、その結果をクライアントに送信す
ることができる。サービス統合モジュールは結果を標準フォーマットにマッピングするこ
と及び/又は結果を上述したように変換することができる。
アクセスすることができる。いくつかの実施形態では、クライアントは、HTTP(Hype
r Text Transfer Protocol)GET要求を用いてサービス統合モジュールのサービスにア
クセスすることができる。GET要求は要求サービスを識別する及び/又は1つ以上の要
求パラメータを含むことができる。サービス要求に応答して、サービス統合モジュールは
サービスレコードを識別し、データソースクエリを生成し、(データソース又は結果キャ
ッシュ内の)データソースクエリの結果にアクセスし、その結果をクライアントに送信す
ることができる。サービス統合モジュールは結果を標準フォーマットにマッピングするこ
と及び/又は結果を上述したように変換することができる。
いくつかの実施形態では、サービス統合モジュールはデータソース要求の結果をキャッ
シュするように構成される。サービス統合モジュールは結果を記録媒体への記録に適した
フォーマットにシリアル化し、シリアル化した結果をデータソースクエリ及び/又は1つ
以上の要求パラメータに関連付けてキャッシュ内に格納することができる。同じ結果に対
する後続のサービス要求(同じ要求パラメータを有し及び/又は同等のデータソースクエ
リを生じる)は結果キャッシュから戻すことができる。いくつかの実施形態では、キャッ
シュされた結果は所定の期間に亘って及び/又はキャッシュポリシ(例えば、最長時間未
使用(LRU)ポリシ又は他の適切なキャッシュポリシ)に従って格納される。いくつか
の実施形態では、サービス統合モジュール210はデータソースへの書込み及び/又は変
更などの他の記録操作に応答してキャッシュから無効(例えば、ダーティ(不正))エン
トリを除去することができる。
シュするように構成される。サービス統合モジュールは結果を記録媒体への記録に適した
フォーマットにシリアル化し、シリアル化した結果をデータソースクエリ及び/又は1つ
以上の要求パラメータに関連付けてキャッシュ内に格納することができる。同じ結果に対
する後続のサービス要求(同じ要求パラメータを有し及び/又は同等のデータソースクエ
リを生じる)は結果キャッシュから戻すことができる。いくつかの実施形態では、キャッ
シュされた結果は所定の期間に亘って及び/又はキャッシュポリシ(例えば、最長時間未
使用(LRU)ポリシ又は他の適切なキャッシュポリシ)に従って格納される。いくつか
の実施形態では、サービス統合モジュール210はデータソースへの書込み及び/又は変
更などの他の記録操作に応答してキャッシュから無効(例えば、ダーティ(不正))エン
トリを除去することができる。
いくつかの実施形態では、サービス要求はアグリゲート要求を含むことができ、この要
求は1つ以上のデータソースから複数のデータのセットを要求するものである。アグリゲ
ート要求は複数のクエリを1つのデータソースに発行し、各クエリが1つ以上の結果を生
じるものとし得る。アグリゲート要求は複数の区切られた要求パラメータ(例えばGET
要求パラメータ)とすることができ、各パラメータはサービスのパラメータ化されたクエ
リに適用してそれぞれ異なるデータソースクエリ及び対応する結果を生成することができ
る。結果の各々は上述したように標準フォーマットにマッピングする及び/又は変換する
ことができる。いくつかの実施形態では、アグリゲート結果は上述したようにシリアル化
し、キャッシュすることができる。結果はアグリゲートクエリに及び/又は個別のデータ
ソースクエリとしてキャッシュすることができる。
求は1つ以上のデータソースから複数のデータのセットを要求するものである。アグリゲ
ート要求は複数のクエリを1つのデータソースに発行し、各クエリが1つ以上の結果を生
じるものとし得る。アグリゲート要求は複数の区切られた要求パラメータ(例えばGET
要求パラメータ)とすることができ、各パラメータはサービスのパラメータ化されたクエ
リに適用してそれぞれ異なるデータソースクエリ及び対応する結果を生成することができ
る。結果の各々は上述したように標準フォーマットにマッピングする及び/又は変換する
ことができる。いくつかの実施形態では、アグリゲート結果は上述したようにシリアル化
し、キャッシュすることができる。結果はアグリゲートクエリに及び/又は個別のデータ
ソースクエリとしてキャッシュすることができる。
いくつかの実施形態は結果のグラフィック(図表)表示を提示のために表示装置上に自
動的に生成するように構成された提示モジュールを備えることができる。グラフィック表
示は、チャート、グラフ、複数のグラフィック表示の組み合わせ等を含むことができるが
、それらに限定されない。かわりに又は加えて、提示モジュールは、表形式、円柱形式、
集計表形式等の特定の形式で結果のテキスト(文字)表示を生成することができる。
動的に生成するように構成された提示モジュールを備えることができる。グラフィック表
示は、チャート、グラフ、複数のグラフィック表示の組み合わせ等を含むことができるが
、それらに限定されない。かわりに又は加えて、提示モジュールは、表形式、円柱形式、
集計表形式等の特定の形式で結果のテキスト(文字)表示を生成することができる。
図2は動的サービス統合用システム200の一実施形態のブロック図である。システム
200はコンピュータ装置220上で動作するサービス統合モジュール210を備えるこ
とができる。コンピュータ装置220は、プロセッサ222、メモリ、非一時的記録媒体
224(例えば、ハードディスク、固体記録装置等)、通信インタフェース226等を備
えることができる。いくつかの実施形態では、サービス統合モジュール210は、非一時
的記録媒体224に格納され、プロセッサ222で実行されるように構成された命令とし
て具体化される。図2は単一のプロセッサ222を有する単一のコンピュータ装置220
上で動作するサービス統合モジュール210を示すが、本発明はこれに限定されない。い
くつかの実施形態では、システム200は、クラスタ化された環境及び/又は高可用性環
境において複数のコンピュータ装置220(又は仮想コンピュータ装置)上で動作する複
数のサービス統合モジュール210を備えることができる。
200はコンピュータ装置220上で動作するサービス統合モジュール210を備えるこ
とができる。コンピュータ装置220は、プロセッサ222、メモリ、非一時的記録媒体
224(例えば、ハードディスク、固体記録装置等)、通信インタフェース226等を備
えることができる。いくつかの実施形態では、サービス統合モジュール210は、非一時
的記録媒体224に格納され、プロセッサ222で実行されるように構成された命令とし
て具体化される。図2は単一のプロセッサ222を有する単一のコンピュータ装置220
上で動作するサービス統合モジュール210を示すが、本発明はこれに限定されない。い
くつかの実施形態では、システム200は、クラスタ化された環境及び/又は高可用性環
境において複数のコンピュータ装置220(又は仮想コンピュータ装置)上で動作する複
数のサービス統合モジュール210を備えることができる。
サービス統合モジュール210はネットワーク240を介して1つ以上のデータソース
230に通信可能に結合され得る。各データソース230はそれぞれのサーバコンピュー
タ、クラスタ又は他の適切なコンピュータ装置上で動作し得る。ネットワーク240は任
意の適切な通信ネットワークとすることができ、インターネットプロトコル(IP)ネッ
トワーク、インターネット、ローカルエリアネットワーク(LAN)、ワイドエリアネッ
トワーク(WAN)、無線ネットワーク、セルラー方式データネットワーク、公衆交換電
話ネットワーク(PSTN)等を含み得るが、それらに限定されない。
230に通信可能に結合され得る。各データソース230はそれぞれのサーバコンピュー
タ、クラスタ又は他の適切なコンピュータ装置上で動作し得る。ネットワーク240は任
意の適切な通信ネットワークとすることができ、インターネットプロトコル(IP)ネッ
トワーク、インターネット、ローカルエリアネットワーク(LAN)、ワイドエリアネッ
トワーク(WAN)、無線ネットワーク、セルラー方式データネットワーク、公衆交換電
話ネットワーク(PSTN)等を含み得るが、それらに限定されない。
図2は模範的なネットワークアクセス可能なデータソース230を示すが、本発明はこ
れに限定されない。いくつかの実施形態では、システム200は、ネットワークアクセス
可能なデータソース230に加えて(又は代わりに)1つ以上のローカルデータソースを
備えることができる。ローカルデータソースは、サービス統合モジュール210及び/又
はコンピュータ装置220に、1つ以上のバス又は他の通信リンク(例えば、ユニバーサ
ルシリアルバス、IEEE1394、SCSI、PCI(Peripheral Component Interco
nnect)等)を介して通信可能に結合することができる。
れに限定されない。いくつかの実施形態では、システム200は、ネットワークアクセス
可能なデータソース230に加えて(又は代わりに)1つ以上のローカルデータソースを
備えることができる。ローカルデータソースは、サービス統合モジュール210及び/又
はコンピュータ装置220に、1つ以上のバス又は他の通信リンク(例えば、ユニバーサ
ルシリアルバス、IEEE1394、SCSI、PCI(Peripheral Component Interco
nnect)等)を介して通信可能に結合することができる。
サービス統合モジュール210はデータストア212を備えることができ、このデータ
ストアには1つ以上のサービスレコード250及び/又は1つ以上のデータソースレコー
ド260が格納される。各データソースレコード260は、上述したように、識別子、ド
ライバ、信用情報及び接続情報を含むことができる。いくつかの実施形態では、データス
トア212は、上述したように、1つ以上のデータソースクエリの結果をキャッシュする
結果キャッシュ270を備えることができる。
ストアには1つ以上のサービスレコード250及び/又は1つ以上のデータソースレコー
ド260が格納される。各データソースレコード260は、上述したように、識別子、ド
ライバ、信用情報及び接続情報を含むことができる。いくつかの実施形態では、データス
トア212は、上述したように、1つ以上のデータソースクエリの結果をキャッシュする
結果キャッシュ270を備えることができる。
サービス統合モジュール210は、データソース識別子、ドライバ、信用情報、接続情
報等を含むデータソース追加要求に応答して、新しいデータソースレコード260をデー
タストア212に追加するように構成することもできる。いくつかの実施形態では、サー
ビス統合モジュール210は、対応するデータソースレコード260をデータストア21
2に追加する前に、新しいデータソースが提供される情報と接触できることを検証する。
報等を含むデータソース追加要求に応答して、新しいデータソースレコード260をデー
タストア212に追加するように構成することもできる。いくつかの実施形態では、サー
ビス統合モジュール210は、対応するデータソースレコード260をデータストア21
2に追加する前に、新しいデータソースが提供される情報と接触できることを検証する。
いくつかの実施形態では、サービス統合モジュール210はサービス登録インタフェー
ス214(例えば、ウェブインタフェース)を備え、ユーザはこのインタフェースを介し
てデータソースレコード260及び/又はサービスレコード250を生成、編集もしくは
管理することができる。サービス統合モジュール210は、サービス登録インタフェース
214を介して新しいサービスレコード250及び/又はデータソースレコード260を
データストア212に追加するように構成することができる。サービスレコード250を
追加する要求は、識別子、データソース、パラメータ化されたクエリ、結果マッピング等
を含むことができる。いくつかの実施形態では、サービス統合モジュール210は、新し
いサービスレコード250をデータストア212に追加する前にそのサービスを検証する
。サービスの検証は、指定のデータソースがデータストア212に存在するかどうかの決
定、データソースの検証、パラメータ化されたクエリの検証(例えば、クエリの構文(シ
ンタックス)の検証、1つ以上の試験パラメータを有するデータソースに対するクエリの
試験等)、及び/又は結果マッピングの検証(例えば、マッピングの構文の検証等)を含
むことができる。サービスの検証は、更に、クライアントが新しいサービスレコードの追
加を許可していることを確かめるために要求を認証することも含むことができる。
ス214(例えば、ウェブインタフェース)を備え、ユーザはこのインタフェースを介し
てデータソースレコード260及び/又はサービスレコード250を生成、編集もしくは
管理することができる。サービス統合モジュール210は、サービス登録インタフェース
214を介して新しいサービスレコード250及び/又はデータソースレコード260を
データストア212に追加するように構成することができる。サービスレコード250を
追加する要求は、識別子、データソース、パラメータ化されたクエリ、結果マッピング等
を含むことができる。いくつかの実施形態では、サービス統合モジュール210は、新し
いサービスレコード250をデータストア212に追加する前にそのサービスを検証する
。サービスの検証は、指定のデータソースがデータストア212に存在するかどうかの決
定、データソースの検証、パラメータ化されたクエリの検証(例えば、クエリの構文(シ
ンタックス)の検証、1つ以上の試験パラメータを有するデータソースに対するクエリの
試験等)、及び/又は結果マッピングの検証(例えば、マッピングの構文の検証等)を含
むことができる。サービスの検証は、更に、クライアントが新しいサービスレコードの追
加を許可していることを確かめるために要求を認証することも含むことができる。
サービス登録インタフェース214は、データソース230の1つ以上の生データタイ
プと標準データフォーマットとの間の結果マッピングをユーザが指定することを可能にす
ることができる。マッピングは上述したように1つ以上のサービスレコード250に適用
することができる。サービス登録インタフェース214は1つ以上のデータソース230
への接続を試験し、試験クエリを1つ以上のサービスに通すこと等によって1つ以上のサ
ービス及び/又はデータソースを試験するように構成することができる。いくつかの実施
形態では、サービス登録インタフェース214は結果キャッシュ270に対するポリシを
指定することもユーザに可能にすることができる。キャッシュポリシはエージアウト(削
除)タイム、最大キャッシュ容量、LRUポリシ等を含み得る。
プと標準データフォーマットとの間の結果マッピングをユーザが指定することを可能にす
ることができる。マッピングは上述したように1つ以上のサービスレコード250に適用
することができる。サービス登録インタフェース214は1つ以上のデータソース230
への接続を試験し、試験クエリを1つ以上のサービスに通すこと等によって1つ以上のサ
ービス及び/又はデータソースを試験するように構成することができる。いくつかの実施
形態では、サービス登録インタフェース214は結果キャッシュ270に対するポリシを
指定することもユーザに可能にすることができる。キャッシュポリシはエージアウト(削
除)タイム、最大キャッシュ容量、LRUポリシ等を含み得る。
データソース及びサービスは登録時にサービス統合モジュール210に追加することが
できる。従って、新しいデータソース及び/又はサービスは、対応するデータソースレコ
ード及び/又はサービスレコード250がデータストア212に生成されると同時に使用
可能になり得る。
できる。従って、新しいデータソース及び/又はサービスは、対応するデータソースレコ
ード及び/又はサービスレコード250がデータストア212に生成されると同時に使用
可能になり得る。
サービス統合モジュール210は、サービス統合モジュール210に登録された1つ以
上のサービスを、ネットワーク140を介してクライアント280に提示するように構成
されたサービスインタフェース216を備えることができる。本明細書で使用される「ク
ライアント」は、クライアントコンピュータ装置を指し、例えばパーソナルコンピュータ
装置、ラップトップ、ノートブック、タブレット、携帯情報端末(PDA)、スマートフ
ォン等を含み得るが、それらに限定されない。いくつかの実施形態では、サービス統合モ
ジュール210は各サービスレコード250をそれぞれのURI(Uniform Resource Ide
ntifier)と関連させることができる。クライアント280はURIを使って要求を特定
のサービスに向けることができる。サービスレコード250のURIはサービスレコード
の識別子から導出することができる。例えば、サービスインタフェース216のホストネ
ームが”service.com”である場合、“Service_A”として識別されるサービスのURIは
”service.com/services/Service_A”とし得る。いくつかの実施形態では、サービスは
要求パラメータで識別することができる。例えば、サービスインタフェース216に向け
られたHTTP要求は、値”Service_A”を有する「サービス識別子」パラメータを含む
ことができる。サービスを登録及び/又は提示する模範的なメカニズムをここに記載した
が、本発明はこれに限定されず、任意の適切な登録メカニズムを使用するように適応化さ
せることができる。
上のサービスを、ネットワーク140を介してクライアント280に提示するように構成
されたサービスインタフェース216を備えることができる。本明細書で使用される「ク
ライアント」は、クライアントコンピュータ装置を指し、例えばパーソナルコンピュータ
装置、ラップトップ、ノートブック、タブレット、携帯情報端末(PDA)、スマートフ
ォン等を含み得るが、それらに限定されない。いくつかの実施形態では、サービス統合モ
ジュール210は各サービスレコード250をそれぞれのURI(Uniform Resource Ide
ntifier)と関連させることができる。クライアント280はURIを使って要求を特定
のサービスに向けることができる。サービスレコード250のURIはサービスレコード
の識別子から導出することができる。例えば、サービスインタフェース216のホストネ
ームが”service.com”である場合、“Service_A”として識別されるサービスのURIは
”service.com/services/Service_A”とし得る。いくつかの実施形態では、サービスは
要求パラメータで識別することができる。例えば、サービスインタフェース216に向け
られたHTTP要求は、値”Service_A”を有する「サービス識別子」パラメータを含む
ことができる。サービスを登録及び/又は提示する模範的なメカニズムをここに記載した
が、本発明はこれに限定されず、任意の適切な登録メカニズムを使用するように適応化さ
せることができる。
いくつかの実施形態では、サービスインタフェース216は利用可能なサービス及び/
又はデータソースのリスティング又はディレクトリを提供する。サービスインタフェース
216は1つ以上の登録サービスのパラメータを列挙すること及び/又は模範的なサービ
ス要求を提供することができる。サービスインタフェース216は、更に、サービスマッ
ピング情報を提供する及び/又はサービスの結果を返し得る標準フォーマットを指定する
ことができる。サービスインタフェース216は、上述したように1つ以上のサービスを
サービス登録インタフェース214により編集及び/又は変更することをユーザに可能に
することができる。
又はデータソースのリスティング又はディレクトリを提供する。サービスインタフェース
216は1つ以上の登録サービスのパラメータを列挙すること及び/又は模範的なサービ
ス要求を提供することができる。サービスインタフェース216は、更に、サービスマッ
ピング情報を提供する及び/又はサービスの結果を返し得る標準フォーマットを指定する
ことができる。サービスインタフェース216は、上述したように1つ以上のサービスを
サービス登録インタフェース214により編集及び/又は変更することをユーザに可能に
することができる。
サービスインタフェース216は、1つ以上のクライアント280からのサービス要求
217を受信するように構成される。サービスインタフェース216はサービス要求21
7を、例えばHTTP、SOAP(Simple Object Access Protocol)、RPC(Remote
Procedure Call)、RMI(Remote Method Invocation)等の任意の適切なメカニズムを
用いて受信することができるが、それらに限定されない。
217を受信するように構成される。サービスインタフェース216はサービス要求21
7を、例えばHTTP、SOAP(Simple Object Access Protocol)、RPC(Remote
Procedure Call)、RMI(Remote Method Invocation)等の任意の適切なメカニズムを
用いて受信することができるが、それらに限定されない。
サービス要求217の受信時に、サービス統合モジュール210は要求217を検証す
ることができ、この検証は要求構文の検証、要求パラメータの検証等を含み得る。いくつ
かの実施形態では、サービス統合モジュール210へのアクセスは認証されたユーザに制
限される。サービス統合モジュール210はユーザデータベース、ディレクトリ等(図示
せず)を備えることができ、及び/又はそれらに通信可能に結合することができる。サー
ビス要求217の検証は、サービス要求217内の信用情報、例えばユーザ名及びパスワ
ード、PIN、ディジタル署名等を検証することも含むことができる。
ることができ、この検証は要求構文の検証、要求パラメータの検証等を含み得る。いくつ
かの実施形態では、サービス統合モジュール210へのアクセスは認証されたユーザに制
限される。サービス統合モジュール210はユーザデータベース、ディレクトリ等(図示
せず)を備えることができ、及び/又はそれらに通信可能に結合することができる。サー
ビス要求217の検証は、サービス要求217内の信用情報、例えばユーザ名及びパスワ
ード、PIN、ディジタル署名等を検証することも含むことができる。
サービス要求217の検証時に、サービス統合モジュール210は、上述したように、
対応するサービスレコード250を識別することができる。サービス統合モジュール21
0は、要求217が向けられたURI、サービス要求217のパラメータ等に基づいてサ
ービスレコード250を識別することができる。
対応するサービスレコード250を識別することができる。サービス統合モジュール21
0は、要求217が向けられたURI、サービス要求217のパラメータ等に基づいてサ
ービスレコード250を識別することができる。
サービス統合モジュール210は識別されたサービスレコード250のパラメータ化さ
れたクエリ及び/又はサービス要求のパラメータを用いてデータソースクエリを生成する
ことができる。データソースクエリの生成は、サービス要求217の1つ以上の要求パラ
メータをサービスレコード250のパラメータ化されたクエリに挿入することを含むこと
ができる。いくつかの実施形態では、要求パラメータはデータソース230に対して適切
なフォーマットにフォーマット化及び/又は符号化することができる。
れたクエリ及び/又はサービス要求のパラメータを用いてデータソースクエリを生成する
ことができる。データソースクエリの生成は、サービス要求217の1つ以上の要求パラ
メータをサービスレコード250のパラメータ化されたクエリに挿入することを含むこと
ができる。いくつかの実施形態では、要求パラメータはデータソース230に対して適切
なフォーマットにフォーマット化及び/又は符号化することができる。
サービス要求217は複数のデータのセットに対する要求を含むことができる。例えば
、サービス要求217は複数の要求パラメータのセットを含むことができる。このような
要求に応答して、サービス統合モジュール210は複数の異なるデータソースクエリを生
成することができ、各データソースクエリはそれぞれの要求パラメータのセットを含む。
要求パラメータは特定の文字で区切ること及び/又はサービス要求217のフォーマット
で示すことができる。
、サービス要求217は複数の要求パラメータのセットを含むことができる。このような
要求に応答して、サービス統合モジュール210は複数の異なるデータソースクエリを生
成することができ、各データソースクエリはそれぞれの要求パラメータのセットを含む。
要求パラメータは特定の文字で区切ること及び/又はサービス要求217のフォーマット
で示すことができる。
サービス統合モジュール210は、データソースクエリを用いて結果を生成し及び/又
はクライアントへ送信することができる。いくつかの実施形態では、サービス統合モジュ
ール210は、結果が結果キャッシュ270にキャッシュされているかどうかを決定する
。そうであれば、サービス統合モジュール210は、データソース230に問い合わせる
ことなく、キャッシュされた結果をクライアントに送信することができる。
はクライアントへ送信することができる。いくつかの実施形態では、サービス統合モジュ
ール210は、結果が結果キャッシュ270にキャッシュされているかどうかを決定する
。そうであれば、サービス統合モジュール210は、データソース230に問い合わせる
ことなく、キャッシュされた結果をクライアントに送信することができる。
結果がキャッシュ270内に見つからない場合(又はキャッシュされた結果が無効であ
る場合)には、サービス統合モジュール210はネットワーク240を介してデータソー
ス230からの結果にアクセスすることができる。サービス統合モジュール210は、サ
ービスレコード250により参照されるデータソースレコード260のドライバ、信用情
報及び/又は接続情報を用いてデータソース230にアクセスすることができる。サービ
ス統合モジュール210はクライアントクエリ217に結果を含む応答219を送信する
ことができる。
る場合)には、サービス統合モジュール210はネットワーク240を介してデータソー
ス230からの結果にアクセスすることができる。サービス統合モジュール210は、サ
ービスレコード250により参照されるデータソースレコード260のドライバ、信用情
報及び/又は接続情報を用いてデータソース230にアクセスすることができる。サービ
ス統合モジュール210はクライアントクエリ217に結果を含む応答219を送信する
ことができる。
いくつかの実施形態では、サービス統合モジュール210は、上述したように、サービ
スレコード250の結果マッピングを適用し、データソースから取得した結果を標準フォ
ーマットにマッピングするように構成される。応答219は標準フォーマットの結果を含
む。いくつかの実施形態では、サービス統合モジュール210は結果をサービス要求21
7に指定されたフォーマットにフォーマット化するよう構成することができる。上述した
ように、フォーマットは、バイナリフォーマット、テキストフォーマット、又はクライア
ント280の使用に適した他のフォーマットとすることができる。
スレコード250の結果マッピングを適用し、データソースから取得した結果を標準フォ
ーマットにマッピングするように構成される。応答219は標準フォーマットの結果を含
む。いくつかの実施形態では、サービス統合モジュール210は結果をサービス要求21
7に指定されたフォーマットにフォーマット化するよう構成することができる。上述した
ように、フォーマットは、バイナリフォーマット、テキストフォーマット、又はクライア
ント280の使用に適した他のフォーマットとすることができる。
サービス統合モジュール210は、結果を結果キャッシュ270にキャッシュするよう
に構成することができる。結果のキャッシングは、結果を非一時的コンピュータ読取り可
能記録媒体に記録するのに適したフォーマットに「シリアル化」し、シリアル化した結果
を結果クエリと関連させることを含むことができる。シリアル化した結果は、最終アクセ
ス時間、アクセス周波数メトリック、経過時間等のキャッシュ管理データと関連させるこ
とができる。
に構成することができる。結果のキャッシングは、結果を非一時的コンピュータ読取り可
能記録媒体に記録するのに適したフォーマットに「シリアル化」し、シリアル化した結果
を結果クエリと関連させることを含むことができる。シリアル化した結果は、最終アクセ
ス時間、アクセス周波数メトリック、経過時間等のキャッシュ管理データと関連させるこ
とができる。
クライアント280は応答219を受信し、そこから結果を抽出することができる。い
くつかの実施形態では、クライアント280は、結果219を表示装置、オーディオ出力
装置などのクライアント280の1つ以上の人間−機械インタフェースコンポーネントに
提示するように構成されたクライアント提示モジュール282を備える。クライアント提
示モジュール282は、結果をグラフィック、テキスト等の任意の方式で提示するように
構成することができる。いくつかの実施形態では、クライアント提示モジュール282は
、サービス統合モジュール210から利用可能であり、及び/又はネットワーク240を
介してアクセス可能である(例えば、クライアント提示モジュール282はサービス統合
モジュール210により提供されるアプレットを備えることができる)。
くつかの実施形態では、クライアント280は、結果219を表示装置、オーディオ出力
装置などのクライアント280の1つ以上の人間−機械インタフェースコンポーネントに
提示するように構成されたクライアント提示モジュール282を備える。クライアント提
示モジュール282は、結果をグラフィック、テキスト等の任意の方式で提示するように
構成することができる。いくつかの実施形態では、クライアント提示モジュール282は
、サービス統合モジュール210から利用可能であり、及び/又はネットワーク240を
介してアクセス可能である(例えば、クライアント提示モジュール282はサービス統合
モジュール210により提供されるアプレットを備えることができる)。
クライアント提示モジュール282は、結果219に対して適切なグラフィック表示形
式を選択することができる。グラフィック表示形式は、チャート、テキストベース形式(
例えば、表形式、円柱形式、集計表形式等)、複数の形式の組合せ等を含み得るが、それ
らに限定されない。クライアント提示モジュール282は、結果219の「構造」、例え
ば結果219に表示される変数の数及び/又はタイプ、結果219の入力/出力変数の数
、サービス要求217のパラメータ等に基づいてグラフィック表示形式を選択することが
できる。従って、クライアント提示モジュール282は結果219を分析して適切なグラ
フィック表示形式を選択することができる。この選択は1つ以上のユーザ決定選択基準又
は好みに基づくものとすることができる。
式を選択することができる。グラフィック表示形式は、チャート、テキストベース形式(
例えば、表形式、円柱形式、集計表形式等)、複数の形式の組合せ等を含み得るが、それ
らに限定されない。クライアント提示モジュール282は、結果219の「構造」、例え
ば結果219に表示される変数の数及び/又はタイプ、結果219の入力/出力変数の数
、サービス要求217のパラメータ等に基づいてグラフィック表示形式を選択することが
できる。従って、クライアント提示モジュール282は結果219を分析して適切なグラ
フィック表示形式を選択することができる。この選択は1つ以上のユーザ決定選択基準又
は好みに基づくものとすることができる。
代わりに又は加えて、サービス統合モジュール210は、クライアント280への提示
のために結果219のグラフィック表示を自動的に生成するように構成されたサーバ側提
示モジュール213を備えることができる。サーバ側提示モジュール213は、上述した
ように、結果219に対して適切なグラフィック表示形式を自動的に選択することができ
る。フォーマット化された結果を提示のためにクライアント280に供給することができ
る。
のために結果219のグラフィック表示を自動的に生成するように構成されたサーバ側提
示モジュール213を備えることができる。サーバ側提示モジュール213は、上述した
ように、結果219に対して適切なグラフィック表示形式を自動的に選択することができ
る。フォーマット化された結果を提示のためにクライアント280に供給することができ
る。
いくつかの実施形態では、クライアント280は、サービス統合モジュールから得られ
た結果をネットワーク240を介して1つ以上のクライアント284に提示するように構
成されたサーバコンピュータ装置を備えることができる。例えば、クライアント280は
、結果をアグリゲートし複数のクライアントコンピュータ装置284に公開するように構
成されたウェブサーバを備えることができる。
た結果をネットワーク240を介して1つ以上のクライアント284に提示するように構
成されたサーバコンピュータ装置を備えることができる。例えば、クライアント280は
、結果をアグリゲートし複数のクライアントコンピュータ装置284に公開するように構
成されたウェブサーバを備えることができる。
図3は、動的サービス統合方法300の一実施形態のフローチャートである。ステップ
310において、方法300は開始し、初期化される。方法300は非一時的記録媒体上
のコンピュータ読取り可能な命令として具体化することができる。従って、ステップ31
0は、1つ以上のコンピュータ読取り可能な命令をロードし及び/又はこの1つ以上の命
令をコンピュータ装置で実行するステップを含むことができる。方法300の1つ以上の
ステップは、通信インタフェース、コンピュータ読取り可能な記録媒体等の特定のマシン
コンポーネントに関連し得る。従って、ステップ310はこれらのマシンコンポーネント
へのアクセス及び/又はそれらの初期化も含み得る。
310において、方法300は開始し、初期化される。方法300は非一時的記録媒体上
のコンピュータ読取り可能な命令として具体化することができる。従って、ステップ31
0は、1つ以上のコンピュータ読取り可能な命令をロードし及び/又はこの1つ以上の命
令をコンピュータ装置で実行するステップを含むことができる。方法300の1つ以上の
ステップは、通信インタフェース、コンピュータ読取り可能な記録媒体等の特定のマシン
コンポーネントに関連し得る。従って、ステップ310はこれらのマシンコンポーネント
へのアクセス及び/又はそれらの初期化も含み得る。
ステップ320において、方法300はネットワーク通信インタフェースを介してサー
ビス要求を受信することができる。サービス要求はサービス識別子及び/又は1つ以上の
要求パラメータを含み得る。上述したように、サービス識別子はステップ330において
サービスレコード及び/又はデータソースレコードを識別するために使用される。ステッ
プ320で識別されたサービスレコード及び/又はデータソースレコードはコンピュータ
装置の非一時的コンピュータ読取り可能記録媒体に格納し得る。
ビス要求を受信することができる。サービス要求はサービス識別子及び/又は1つ以上の
要求パラメータを含み得る。上述したように、サービス識別子はステップ330において
サービスレコード及び/又はデータソースレコードを識別するために使用される。ステッ
プ320で識別されたサービスレコード及び/又はデータソースレコードはコンピュータ
装置の非一時的コンピュータ読取り可能記録媒体に格納し得る。
ステップ340は、サービスレコードのパラメータ化されたクエリ及び/又はサービス
要求の要求パラメータの1つ以上を用いてデータソースクエリを生成するステップを含む
ことができる。ステップ340は、1つ以上の要求パラメータをパラメータ化されたクエ
リに挿入するステップを含むこともできる。いくつかの実施形態では、ステップ340は
、1つ以上の要求パラメータを特定のデータソースに適切なフォーマットにフォーマット
化及び/又は符号化するステップを含むこともできる。代わりに又は加えて、結果はデー
タソースからアクセスすることもできる。データソースからのアクセスは、ステップ33
0で識別されたデータソースレコードのドライバ、信用情報及び/又は接続情報を用いて
クエリをデータソースに発行するステップを含むこともできる。
要求の要求パラメータの1つ以上を用いてデータソースクエリを生成するステップを含む
ことができる。ステップ340は、1つ以上の要求パラメータをパラメータ化されたクエ
リに挿入するステップを含むこともできる。いくつかの実施形態では、ステップ340は
、1つ以上の要求パラメータを特定のデータソースに適切なフォーマットにフォーマット
化及び/又は符号化するステップを含むこともできる。代わりに又は加えて、結果はデー
タソースからアクセスすることもできる。データソースからのアクセスは、ステップ33
0で識別されたデータソースレコードのドライバ、信用情報及び/又は接続情報を用いて
クエリをデータソースに発行するステップを含むこともできる。
ステップ350は、結果をクライアントにネットワークを介して送信するステップを含
むことができる。いくつかの実施形態では、ステップ350は、サービスレコードの結果
マッピングを適用して生結果データを標準フォーマットにマッピングするステップを含む
こともできる。ステップ350は更に、上述したように、結果をクライアントに対して適
切なフォーマットに変換するステップを含むこともできる。いくつかの実施形態では、ス
テップ350は更に、上述したように、結果を結果キャッシュに含めるステップを含むこ
ともできる。
むことができる。いくつかの実施形態では、ステップ350は、サービスレコードの結果
マッピングを適用して生結果データを標準フォーマットにマッピングするステップを含む
こともできる。ステップ350は更に、上述したように、結果をクライアントに対して適
切なフォーマットに変換するステップを含むこともできる。いくつかの実施形態では、ス
テップ350は更に、上述したように、結果を結果キャッシュに含めるステップを含むこ
ともできる。
ステップ360において、方法300は別のサービス要求が受信されるまで終了となる
。
。
図4はサービス統合を動的に提供する方法400の別の実施形態のフローチャートであ
る。
る。
ステップ410において、方法400は開始し、初期化される。方法400は、非一時
的記録媒体上のコンピュータ読取り可能な命令として具体化することができる。従って、
ステップ410は、1つ以上のコンピュータ読取り可能な命令をロードし及び/又はこの
1つ以上の命令をコンピュータ装置で実行するステップを含み得る。方法400の1つ以
上のステップは、通信インタフェース、コンピュータ読取り可能な記録媒体等の特定のマ
シンコンポーネントに関連し得る。従って、ステップ410はこれらのマシンコンポーネ
ントへのアクセス及び/又はそれらの初期化も含み得る。ステップ420は、上述のよう
に、サービス要求を受信するステップを含む。
的記録媒体上のコンピュータ読取り可能な命令として具体化することができる。従って、
ステップ410は、1つ以上のコンピュータ読取り可能な命令をロードし及び/又はこの
1つ以上の命令をコンピュータ装置で実行するステップを含み得る。方法400の1つ以
上のステップは、通信インタフェース、コンピュータ読取り可能な記録媒体等の特定のマ
シンコンポーネントに関連し得る。従って、ステップ410はこれらのマシンコンポーネ
ントへのアクセス及び/又はそれらの初期化も含み得る。ステップ420は、上述のよう
に、サービス要求を受信するステップを含む。
ステップ422において、サービス要求を検証することができる。サービス要求の検証
は、要求の構文の検証、要求の信用情報の検証(例えば、要求が許可されたユーザからの
ものであるかの検証)等を含むことができる。ステップ422は更に、サービス要求が有
効なサービスレコード及び/又はデータソースレコードを参照するかを検証するステップ
を含むこともできる。サービス要求が有効である場合、方法400はステップ430に進
み、さもなければ、方法400はステップ424に進む。
は、要求の構文の検証、要求の信用情報の検証(例えば、要求が許可されたユーザからの
ものであるかの検証)等を含むことができる。ステップ422は更に、サービス要求が有
効なサービスレコード及び/又はデータソースレコードを参照するかを検証するステップ
を含むこともできる。サービス要求が有効である場合、方法400はステップ430に進
み、さもなければ、方法400はステップ424に進む。
ステップ424は、エラー応答をクライアントに返すステップを含むことができる。ス
テップ424は、エラーの性質を示し、後続のサービス要求においてこのエラーの対処方
法に関する指示を提供するエラー応答を生成するステップを含むこともできる。
テップ424は、エラーの性質を示し、後続のサービス要求においてこのエラーの対処方
法に関する指示を提供するエラー応答を生成するステップを含むこともできる。
ステップ430において、方法400は上述のようにサービス要求に対応するサービス
レコードを識別する。ステップ432において、方法400は、サービス要求の結果が結
果キャッシュで入手可能かを決定することができる。ステップ432は、サービス要求の
1つ以上の要求パラメータ(又はデータソースクエリ)で結果キャッシュに問い合わせ(
クエリ)を行うことを含むことができる。ステップ432は更に、キャッシュ結果が有効
であるか(例えば、期限切れでなく、「ダーティ(不正)」でないか)を決定するステッ
プを含むこともできる。有効な結果がキャッシュで得られる場合には、方法400はステ
ップ470に進み、さもなければ、方法400はステップ440に進む。
レコードを識別する。ステップ432において、方法400は、サービス要求の結果が結
果キャッシュで入手可能かを決定することができる。ステップ432は、サービス要求の
1つ以上の要求パラメータ(又はデータソースクエリ)で結果キャッシュに問い合わせ(
クエリ)を行うことを含むことができる。ステップ432は更に、キャッシュ結果が有効
であるか(例えば、期限切れでなく、「ダーティ(不正)」でないか)を決定するステッ
プを含むこともできる。有効な結果がキャッシュで得られる場合には、方法400はステ
ップ470に進み、さもなければ、方法400はステップ440に進む。
ステップ440は、サービス要求に対してデータソースクエリを生成するステップを含
むことができる。ステップ440はステップ430で識別されたサービスレコードのパラ
メータ化されたクエリ内に1つ以上の要求パラメータを挿入するステップを含むこともで
きる。ステップ430は更に、要求パラメータの1つ以上をデータソースに適したフォー
マットに再フォーマット及び/又は符号化するステップを含むこともできる。
むことができる。ステップ440はステップ430で識別されたサービスレコードのパラ
メータ化されたクエリ内に1つ以上の要求パラメータを挿入するステップを含むこともで
きる。ステップ430は更に、要求パラメータの1つ以上をデータソースに適したフォー
マットに再フォーマット及び/又は符号化するステップを含むこともできる。
ステップ450は、サービスレコード内で参照されるデータソースレコードのドライバ
、信用情報及び/又は接続情報を用いて、データソースにクエリを発行するステップを含
むことができる。ステップ450は更に、データソースからのクエリに対する応答を受信
するステップを含むこともできる。ステップ460は、上述のように、データソースから
返される生データに結果マッピングを適用するステップを含むことができる。いくつかの
実施形態では、ステップ460は更に、結果を結果キャッシュにキャッシュするステップ
を含むこともできる。
、信用情報及び/又は接続情報を用いて、データソースにクエリを発行するステップを含
むことができる。ステップ450は更に、データソースからのクエリに対する応答を受信
するステップを含むこともできる。ステップ460は、上述のように、データソースから
返される生データに結果マッピングを適用するステップを含むことができる。いくつかの
実施形態では、ステップ460は更に、結果を結果キャッシュにキャッシュするステップ
を含むこともできる。
いくつかの実施形態では、方法400は更に、上述のように、ステップ470において
、結果をサービス要求内で指定されているフォーマットに変換するステップを含む。結果
はステップ480においてネットワークインタフェースを用いてクライアントコンピュー
タ装置に送信することができる。ステップ490において、方法400は次の要求が受信
されるまで終了となる。
、結果をサービス要求内で指定されているフォーマットに変換するステップを含む。結果
はステップ480においてネットワークインタフェースを用いてクライアントコンピュー
タ装置に送信することができる。ステップ490において、方法400は次の要求が受信
されるまで終了となる。
図5は動的サービス統合方法の別の実施形態のフローチャートである。ステップ510
において、方法500は開始し、初期化される。方法500は、非一時的記録媒体上のコ
ンピュータ読取り可能な命令として具体化することができる。従って、ステップ510は
、1つ以上のコンピュータ読取り可能な命令をロードし及び/又はこの1つ以上の命令を
コンピュータ装置で実行するステップを含み得る。方法500の1つ以上のステップは、
通信インタフェース、コンピュータ読取り可能な記録媒体等の特定のマシンコンポーネン
トに関連し得る。従って、ステップ510はこれらのマシンコンポーネントへのアクセス
及び/又はそれらの初期化も含み得る。
において、方法500は開始し、初期化される。方法500は、非一時的記録媒体上のコ
ンピュータ読取り可能な命令として具体化することができる。従って、ステップ510は
、1つ以上のコンピュータ読取り可能な命令をロードし及び/又はこの1つ以上の命令を
コンピュータ装置で実行するステップを含み得る。方法500の1つ以上のステップは、
通信インタフェース、コンピュータ読取り可能な記録媒体等の特定のマシンコンポーネン
トに関連し得る。従って、ステップ510はこれらのマシンコンポーネントへのアクセス
及び/又はそれらの初期化も含み得る。
新しいサービスレコードを追加する要求はステップ520で受信される。この要求はネ
ットワークを介してクライアントから受信され得る。ステップ520の要求は、サービス
識別子、パラメータ化されたクエリ、結果マッピングを含み、データソースを参照し、及
び/又はデータソース識別子、ドライバ、信用情報及び/又は接続情報を指定する。
ットワークを介してクライアントから受信され得る。ステップ520の要求は、サービス
識別子、パラメータ化されたクエリ、結果マッピングを含み、データソースを参照し、及
び/又はデータソース識別子、ドライバ、信用情報及び/又は接続情報を指定する。
ステップ522は要求を検証し、この検証は、要求の構文の検証、要求が許可されたク
ライアントからのものかどうかを確定する要求の信用情報の検証等を含み得る。要求が有
効である場合、方法500はステップ530に進む。いくつかの実施形態では、要求の検
証は、更に、新しいサービスレコード(及び/又は新しいデータソースレコード)を非一
時的コンピュータ読取り可能記録媒体に格納するステップを含む。新しいサービスは、ス
テップ522で有効とされると直ちに利用可能にし得る。従って、新しいサービスをコン
パイル及び/又はデプロイメント遅延なしで利用可能にすることができる。
ライアントからのものかどうかを確定する要求の信用情報の検証等を含み得る。要求が有
効である場合、方法500はステップ530に進む。いくつかの実施形態では、要求の検
証は、更に、新しいサービスレコード(及び/又は新しいデータソースレコード)を非一
時的コンピュータ読取り可能記録媒体に格納するステップを含む。新しいサービスは、ス
テップ522で有効とされると直ちに利用可能にし得る。従って、新しいサービスをコン
パイル及び/又はデプロイメント遅延なしで利用可能にすることができる。
要求が有効でない場合には、方法500はステップ524に進み、ここでエラー応答が
返される。エラー応答は、エラーの性質を指示すること及び/又は後続のサービス要求に
おいてこのエラーにどのように対処できるか指示することができる。
返される。エラー応答は、エラーの性質を指示すること及び/又は後続のサービス要求に
おいてこのエラーにどのように対処できるか指示することができる。
ステップ540は、上述のように、新しいサービス要求に向けられたサービス要求を受
信するステップを含む。ステップ550は、上述のように、サービス要求に応答して結果
を生成し、その結果をクライアントに送信するステップを含み得る。ステップ540及び
550は、ステップ522で新しいサービスレコードが有効と検証されると直ちに生起す
る。
信するステップを含む。ステップ550は、上述のように、サービス要求に応答して結果
を生成し、その結果をクライアントに送信するステップを含み得る。ステップ540及び
550は、ステップ522で新しいサービスレコードが有効と検証されると直ちに生起す
る。
方法500は、ステップ550において、別のサービス要求が追加されるまで及び/又
は別のサービス要求が受信されるまで、終了とされる。
は別のサービス要求が受信されるまで、終了とされる。
図6は動的サービス統合方法の別の実施形態のフローチャートである。ステップ610
において、方法600は開始し、初期化される。方法600は、非一時的記録媒体上のコ
ンピュータ読取り可能な命令として具体化することができる。従って、ステップ610は
、1つ以上のコンピュータ読取り可能な命令をロードし及び/又はこの1つ以上の命令を
コンピュータ装置で実行するステップを含み得る。方法600の1つ以上のステップは、
通信インタフェース、コンピュータ読取り可能な記録媒体等の特定のマシンコンポーネン
トに関連し得る。従って、ステップ610はこれらのマシンコンポーネントへのアクセス
及び/又はそれらの初期化も含み得る。
において、方法600は開始し、初期化される。方法600は、非一時的記録媒体上のコ
ンピュータ読取り可能な命令として具体化することができる。従って、ステップ610は
、1つ以上のコンピュータ読取り可能な命令をロードし及び/又はこの1つ以上の命令を
コンピュータ装置で実行するステップを含み得る。方法600の1つ以上のステップは、
通信インタフェース、コンピュータ読取り可能な記録媒体等の特定のマシンコンポーネン
トに関連し得る。従って、ステップ610はこれらのマシンコンポーネントへのアクセス
及び/又はそれらの初期化も含み得る。
ステップ610において、クライアントのコンピュータ装置がサービス要求をネットワ
ークアクセス可能なサービス統合モジュールへ送信する。サービス要求はサービス識別子
及び1つ以上の要求パラメータを含むことができる。サービス要求はデータソースから独
立させ、データソースは要求の結果にアクセスするために問い合わせを受けるようにする
ことができる。従って、サービス要求は、HTTP、SOA等の簡単なフォーマットで生
成することができる。サービス要求は、データソースドライバ、データソース信用情報等
を含まなくても、それらにリファレンスさせなくてもよい。いくつかの実施形態では、サ
ービス要求は要求の結果に対するフォーマット及び/又は符号化を指定することができる
(例えば、ASCIIテキスト、UTF−8等)。
ークアクセス可能なサービス統合モジュールへ送信する。サービス要求はサービス識別子
及び1つ以上の要求パラメータを含むことができる。サービス要求はデータソースから独
立させ、データソースは要求の結果にアクセスするために問い合わせを受けるようにする
ことができる。従って、サービス要求は、HTTP、SOA等の簡単なフォーマットで生
成することができる。サービス要求は、データソースドライバ、データソース信用情報等
を含まなくても、それらにリファレンスさせなくてもよい。いくつかの実施形態では、サ
ービス要求は要求の結果に対するフォーマット及び/又は符号化を指定することができる
(例えば、ASCIIテキスト、UTF−8等)。
いくつかの実施形態では、ステップ620のサービス要求はコンピュータ装置上で動作
するアプリケーションで発生される。代わりに又は加えて、サービス要求は1つ以上のク
ライアントコンポーネント装置にコンテンツを提供するように構成されたウェブサーバの
コンポーネントにより発生され及び/又は送信されるようにし得る。
するアプリケーションで発生される。代わりに又は加えて、サービス要求は1つ以上のク
ライアントコンポーネント装置にコンテンツを提供するように構成されたウェブサーバの
コンポーネントにより発生され及び/又は送信されるようにし得る。
ステップ630において、クライアントコンピュータ装置は要求に対する応答を受信し
、この応答は結果をXML、JSON、YAML、RDF、Turtle等の標準フォー
マットで含んでいる。これらの結果はサービス要求の指定に従ってフォーマット化及び/
又は符号化され得る。ステップ630で受信される応答は上述のようにサービス統合モジ
ュールにより生成することができる。
、この応答は結果をXML、JSON、YAML、RDF、Turtle等の標準フォー
マットで含んでいる。これらの結果はサービス要求の指定に従ってフォーマット化及び/
又は符号化され得る。ステップ630で受信される応答は上述のようにサービス統合モジ
ュールにより生成することができる。
ステップ640において、クライアントコンピュータ装置は結果のグラフィック表示を
自動的に生成する。グラフィック表示は、チャート、グラフ、テキストベース表示、複数
のグラフィック表示形式の組合せ等の任意の適切なグラフィック表示形式を含み得るが、
それらに限定されない。いくつかの実施形態では、ステップ640は、グラフィック表示
をステップ630で得られる結果に基づいて選択する(例えば、結果を表示するのに適し
た形式を選択する)ことができる。この選択は結果の「構造」に基づくものとし得る。従
って、ステップ640は、上述のように、ユーザが決めた選択基準に基づいて結果を分析
するステップも含むことができる。代わりに、いくつかの実施形態では、グラフィック表
示は、上述のように、ネットワークアクセス可能なサーバ統合モジュールにより生成され
るようにすることができる。
自動的に生成する。グラフィック表示は、チャート、グラフ、テキストベース表示、複数
のグラフィック表示形式の組合せ等の任意の適切なグラフィック表示形式を含み得るが、
それらに限定されない。いくつかの実施形態では、ステップ640は、グラフィック表示
をステップ630で得られる結果に基づいて選択する(例えば、結果を表示するのに適し
た形式を選択する)ことができる。この選択は結果の「構造」に基づくものとし得る。従
って、ステップ640は、上述のように、ユーザが決めた選択基準に基づいて結果を分析
するステップも含むことができる。代わりに、いくつかの実施形態では、グラフィック表
示は、上述のように、ネットワークアクセス可能なサーバ統合モジュールにより生成され
るようにすることができる。
いくつかの実施形態では、ステップ640はグラフィック表示を表示装置に提示する。
グラフィック表示はユーザ入力を受信するように構成されたユーザインタフェースコンポ
ーネントを備えることができる。ステップ640は、グラフィック表示をユーザインタフ
ェースを介して受信されるユーザ入力に応答して変更するステップを含むことができる。
例えば、ステップ640は、グラフィック表示の一部分へのズームイン、グラフィック表
示内におけるパンニング、グラフィック表示のタイプの変更(例えば、グラフから円グラ
フ)等を含み得る。いくつかの実施形態では、ユーザインタフェースコンポーネントが要
求パラメータを受信するように構成する、及び/又は、ユーザがコンピュータ装置により
ステップ620で別のサービス要求を送信させることができるように構成することができ
る。新しいサービス要求に対する応答の受信に応答して、グラフィック表示を更新し、ス
テップ630及び640でユーザに提示することができる。
グラフィック表示はユーザ入力を受信するように構成されたユーザインタフェースコンポ
ーネントを備えることができる。ステップ640は、グラフィック表示をユーザインタフ
ェースを介して受信されるユーザ入力に応答して変更するステップを含むことができる。
例えば、ステップ640は、グラフィック表示の一部分へのズームイン、グラフィック表
示内におけるパンニング、グラフィック表示のタイプの変更(例えば、グラフから円グラ
フ)等を含み得る。いくつかの実施形態では、ユーザインタフェースコンポーネントが要
求パラメータを受信するように構成する、及び/又は、ユーザがコンピュータ装置により
ステップ620で別のサービス要求を送信させることができるように構成することができ
る。新しいサービス要求に対する応答の受信に応答して、グラフィック表示を更新し、ス
テップ630及び640でユーザに提示することができる。
ステップ650において、フローは次のサービス要求がサービスインタフェースモジュ
ールに送信されるまで終了となる。
ールに送信されるまで終了となる。
上述の記載は、本願明細書に記載されている実施形態の理解のため、多くの具体的な詳
細を提供する。しかしながら、当業者によれば、1つ以上の具体的な詳細が省略可能であ
り、また他の方法、構成要素、又はデータが使用可能であることが認められるだろう。一
部の例では、動作は示されず又は詳細に記載されていない。
細を提供する。しかしながら、当業者によれば、1つ以上の具体的な詳細が省略可能であ
り、また他の方法、構成要素、又はデータが使用可能であることが認められるだろう。一
部の例では、動作は示されず又は詳細に記載されていない。
更に、記載された機能、動作、又は特徴は1つ以上の実施形態において任意の適切な態
様に結合することができる。当業者に明らかなように、開示された実施形態と関連して記
載された方法に係るステップ及び動作の順序は変更可能であることは容易に理解されるだ
ろう。そして、順序が必須であると特定されていない限り、図面又は詳細な説明における
いかなる順序も、説明のためだけであって、必須の順序を意味するものではない。
様に結合することができる。当業者に明らかなように、開示された実施形態と関連して記
載された方法に係るステップ及び動作の順序は変更可能であることは容易に理解されるだ
ろう。そして、順序が必須であると特定されていない限り、図面又は詳細な説明における
いかなる順序も、説明のためだけであって、必須の順序を意味するものではない。
実施形態は様々なステップを含んでもよく、これらは汎用または専用コンピュータ(又
は他の電子デバイス)により実行し得る機械実行可能な命令として具体化してもよい。ま
た、ステップは、ステップを実行する特定の論理回路を含むハードウェア要素により、又
はハードウェア、ソフトウェア、及び/又はファームウェアの組み合わせにより、実行し
てもよい。
は他の電子デバイス)により実行し得る機械実行可能な命令として具体化してもよい。ま
た、ステップは、ステップを実行する特定の論理回路を含むハードウェア要素により、又
はハードウェア、ソフトウェア、及び/又はファームウェアの組み合わせにより、実行し
てもよい。
実施形態は、本願明細書に記載されている処理を実行するようにコンピュータをプログ
ラムするために使用し得る命令が格納されたコンピュータ読取り可能媒体を含むコンピュ
ータプログラム製品として実現してもよい。コンピュータ読取り可能媒体としては、ハー
ドドライブ、フロッピー(登録商標)ディスク、光学ディスク、CDROM、DVDRO
M、ROM、RAM、EPROM、EEPROM、磁気又は光学カード、ソリッドステー
トメモリ装置、又は電気的命令を格納するのに適した他の形式の媒体/コンピュータ読取
り可能媒体を含むことができるが、これらに限られるものではない。
ラムするために使用し得る命令が格納されたコンピュータ読取り可能媒体を含むコンピュ
ータプログラム製品として実現してもよい。コンピュータ読取り可能媒体としては、ハー
ドドライブ、フロッピー(登録商標)ディスク、光学ディスク、CDROM、DVDRO
M、ROM、RAM、EPROM、EEPROM、磁気又は光学カード、ソリッドステー
トメモリ装置、又は電気的命令を格納するのに適した他の形式の媒体/コンピュータ読取
り可能媒体を含むことができるが、これらに限られるものではない。
本願明細書において、ソフトウェアモジュール又は要素は、メモリ装置及び/又はコン
ピュータ読取り可能な媒体内に格納された任意のタイプのコンピュータ命令又はコンピュ
ータ実行可能なコードを含んでもよい。ソフトウェアモジュールは、例えば、コンピュー
タ命令の1つ以上の物理的又は論理的ブロックを備えてもよい。このブロックは、1つ以
上のタスクを実行する又は特定の抽象データ型を実行するルーチン、プログラム、オブジ
ェクト、コンポーネント、データ構造等として編成してもよい。
ピュータ読取り可能な媒体内に格納された任意のタイプのコンピュータ命令又はコンピュ
ータ実行可能なコードを含んでもよい。ソフトウェアモジュールは、例えば、コンピュー
タ命令の1つ以上の物理的又は論理的ブロックを備えてもよい。このブロックは、1つ以
上のタスクを実行する又は特定の抽象データ型を実行するルーチン、プログラム、オブジ
ェクト、コンポーネント、データ構造等として編成してもよい。
いくつかの実施形態では、特定のソフトウェアモジュールは、メモリ装置内の異なる位
置に格納された、モジュールの記載の機能を実行する全く異なる命令を備えてもよい。実
際は、モジュールは1つの命令又は複数の命令を備えることができ、またいくつかの異な
るコードセグメントに、異なるプログラム間で、及びいくつかのメモリ装置に、分散させ
てもよい。いくつかの実施形態は分散型コンピュータ環境において実施され、通信ネット
ワークを介して接続されるリモート処理装置によりタスクが処理される。分散型コンピュ
ータ環境において、ソフトウェアモジュールは、ローカル及び/又はリモートのメモリ記
録装置内に存在させてもよい。更に、結合された又はデータベースレコードにされたデー
タは、同一のメモリ内に又はいくつかのメモリにわたって常駐させてもよく、またネット
ワークの全域にわたってデータベース内のレコードのフィールドで相互に結合してもよい
。
置に格納された、モジュールの記載の機能を実行する全く異なる命令を備えてもよい。実
際は、モジュールは1つの命令又は複数の命令を備えることができ、またいくつかの異な
るコードセグメントに、異なるプログラム間で、及びいくつかのメモリ装置に、分散させ
てもよい。いくつかの実施形態は分散型コンピュータ環境において実施され、通信ネット
ワークを介して接続されるリモート処理装置によりタスクが処理される。分散型コンピュ
ータ環境において、ソフトウェアモジュールは、ローカル及び/又はリモートのメモリ記
録装置内に存在させてもよい。更に、結合された又はデータベースレコードにされたデー
タは、同一のメモリ内に又はいくつかのメモリにわたって常駐させてもよく、またネット
ワークの全域にわたってデータベース内のレコードのフィールドで相互に結合してもよい
。
本発明の基本原理から逸脱することなく、先に述べた実施形態の詳細について多くの変
更をなし得ることは当業者に理解されよう。
更をなし得ることは当業者に理解されよう。
Claims (25)
- 動的サービス統合方法であって、
クライアントからサービス識別子及び1つ以上の要求パラメータを含むサービス要求を
コンピュータ装置で受信するステップ、
前記サービス識別子を用いて、パラメータ化されたクエリを含み且つ複数のデータソー
スレコードのうちの1つを参照する複数のサービスレコードのうちの1つを識別するステ
ップであって、前記複数のサービスレコード及び前記複数のデータソースレコードは非一
時的コンピュータ読取り可能な記録媒体に格納されている、ステップ、
前記要求パラメータのうちの1つ以上を前記パラメータ化されたクエリに挿入してデー
タソースクエリを生成するステップ、及び
前記データソースクエリの結果を前記クライアントに前記コンピュータ装置のネットワ
ークインタフェースで送信するステップ、
を備える方法。 - データソースの生データを標準フォーマットにマッピングするために前記サービスレコ
ードの結果マッピングを適用するステップを更に備える、請求項1記載の方法。 - データソースの生データをXML(eXtensible Markup Language)フォーマット、JS
ON(Javascript Object Notation)フォーマット、YAMLフォーマット、RDF(Re
source Description Format)フォーマット、Turtle(Terse RDF Triple Language
)フォーマット、及びデリミテッドテキストフォーマットのうちの1つにマッピングため
に、前記サービスレコードの結果マッピングを適用するステップを更に備える、請求項1
記載の方法。 - 前記結果を前記サービス要求で指定されたフォーマットにフォーマット化するステップ
を更に備える、請求項1記載の方法。 - 前記データソースクエリを用いて、前記コンピュータ装置の結果キャッシュ内の前記結
果にアクセスするステップを更に備える、請求項1記載の方法。 - 前記結果をシリアル化するステップ、及び
前記シリアル化した結果を前記データソースクエリに関連付けて前記コンピュータ装置
の結果キャッシュ内にキャッシュするステップ、
を更に備える、請求項1記載の方法。 - 前記識別されたサービスレコードにより参照される前記データソースレコードのドライ
バ、信用情報及び接続情報を用いて、前記データソースクエリをデータソースに発行する
ステップを更に備える、請求項1記載の方法。 - 前記サービス識別子は前記サービス要求のURI(Uniform Resource Identifier)を
含む、請求項1記載の方法。 - 前記サービス識別子は前記サービス識別子のパラメータを含む、請求項1記載の方法。
- 前記サービス要求を前記サービス要求に含まれる信用情報を用いて認証するステップを
更に備える、請求項1記載の方法。 - 前記コンピュータ読取り可能な記録媒体上の新しいデータソースレコードを参照する新
しいサービスレコードを前記コンピュータ読取り可能な記録媒体に追加するステップ、
前記新しいサービスレコードを識別するサービス要求を受信し、前記新しいサービスレ
コードの追加時にデータソースクエリの結果を前記新しいデータソースレコードのデータ
ソースに送信するステップ、
を更に備える、請求項1記載の方法。 - 前記結果のグラフィック表示を表示装置に提示するステップを更に備える、請求項1記
載の方法。 - 前記結果の構造に基づいてグラフィック表示形式を選択するステップ、及び
前記結果のグラフィック表示を、前記選択したグラフィック表示形式で表示装置に提示
するステップ、
を更に備える、請求項1記載の方法。 - コンピュータ装置に動的サービス統合方法を実行させるように構成された命令を含む非
一時的コンピュータ読取り可能な記録媒体であって、前記方法は、
クライアントからサービス識別子及び1つ以上の要求パラメータを含むサービス要求を
受信するステップ、
前記サービス識別子を用いて、パラメータ化されたクエリを含み且つ複数のデータソー
スレコードのうちの1つを参照する複数のサービスレコードのうちの1つを識別するステ
ップ、
前記要求パラメータのうちの1つ以上を前記パラメータ化されたクエリに挿入してデー
タソースクエリを生成するステップ、
結果キャッシュ及びデータソースのうちの1つから前記データソースクエリの結果にア
クセスするステップ、及び
前記データソースクエリの結果を前記クライアントにネットワークを介して送信するス
テップを備える、
コンピュータ読取り可能な記録媒体。 - 前記方法は標準フォーマットに前記結果をマッピングするステップを更に備える、請求
項14記載のコンピュータ読取り可能な記録媒体。 - 前記方法は、前記結果を要求されたフォーマットに再フォーマット化するステップを更
に備える、請求項14記載のコンピュータ読取り可能な記録媒体。 - 前記方法は、
前記結果をシリアル化するステップ、及び
前記シリアル化した結果を前記データソースクエリに関連付けて結果キャッシュ内にキ
ャッシュするステップ、
を更に備える、請求項14記載のコンピュータ読取り可能な記録媒体。 - 前記データソースレコードのドライバ、信用情報及び接続情報を用いて、前記データソ
ースクエリをネットワークアクセス可能なデータソースに発行するステップを更に備える
、請求項14記載のコンピュータ読取り可能な記録媒体。 - 前記サービス識別子は前記サービス要求のURI(Uniform Resource Identifier)及
び前記サービス要求の要求パラメータを含む、請求項14記載のコンピュータ読取り可能
な記録媒体。 - 前記データソースクエリの生成ステップは、前記要求パラメータのうちの1つ以上を再
フォーマット化することを含む、請求項14記載のコンピュータ読取り可能な記録媒体。 - 前記方法は、
前記結果の構造に基づいてグラフィック表示形式を選択するステップ、及び
前記結果のグラフィック表示を前記選択したグラフィック表示形式で表示装置に提示す
るステップ、
を更に備える、請求項14記載のコンピュータ読取り可能な記録媒体。 - 動的サービス統合装置であって、
プロセッサ、ネットワークインタフェース、メモリ及び非一時的コンピュータ読取り可
能な記録媒体を備えるコンピュータ装置、及び
前記コンピュータ装置上で動作するサービス統合モジュールを備え、
前記サービス統合モジュールは、クライアントからサービス識別子及び1つ以上の要求
パラメータを含むサービス要求を前記ネットワークインタフェースで受信し、前記サービ
ス識別子を用いて、複数のサービスレコードのうちの1つを識別し、前記識別したサービ
スレコードのパラメータ化されたクエリ及び前記要求パラメータのうちの1つ以上からデ
ータソースクエリを生成し、前記データソースクエリの結果を前記クライアントに前記ネ
ットワークインタフェースで送信するように構成されている、装置。 - それぞれのデータソースクエリの複数の結果を含む結果キャッシュを更に備え、前記サ
ービス統合モジュールは前記結果キャッシュ及びネットワークアクセス可能なデータソー
スのうちの1つから前記データソースクエリの前記結果にアクセスするように構成されて
いる、請求項22記載の装置。 - 前記サービス統合モジュールは、前記サービスレコードの結果マッピングを用いて、デ
ータソースの生データを前記データソースクエリの前記結果の標準フォーマットにマッピ
ングするように構成されている、請求項22記載の装置。 - 前記サービス統合モジュールは、前記識別されたサービスレコードのドライバ、信用情
報及び接続情報を用いて、ネットワークアクセス可能なデータソースから前記データソー
スクエリの前記結果にアクセスするように構成されている、請求項22記載の装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/299,112 | 2011-11-17 | ||
US13/299,112 US20130132372A1 (en) | 2011-11-17 | 2011-11-17 | Systems and methods for dynamic service integration |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014542317A Division JP2015505387A (ja) | 2011-11-17 | 2012-10-22 | 動的サービス統合システム及び方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017111834A true JP2017111834A (ja) | 2017-06-22 |
Family
ID=48427928
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014542317A Pending JP2015505387A (ja) | 2011-11-17 | 2012-10-22 | 動的サービス統合システム及び方法 |
JP2017023948A Withdrawn JP2017111834A (ja) | 2011-11-17 | 2017-02-13 | 動的サービス統合システム及び方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014542317A Pending JP2015505387A (ja) | 2011-11-17 | 2012-10-22 | 動的サービス統合システム及び方法 |
Country Status (10)
Country | Link |
---|---|
US (1) | US20130132372A1 (ja) |
EP (1) | EP2780839A4 (ja) |
JP (2) | JP2015505387A (ja) |
KR (1) | KR20140093947A (ja) |
CN (1) | CN103946841A (ja) |
AU (1) | AU2012337242A1 (ja) |
CA (1) | CA2855191A1 (ja) |
IN (1) | IN2014CN02117A (ja) |
TW (1) | TW201322135A (ja) |
WO (1) | WO2013074249A1 (ja) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10339133B2 (en) | 2013-11-11 | 2019-07-02 | International Business Machines Corporation | Amorphous data preparation for efficient query formulation |
TWI552547B (zh) * | 2014-07-22 | 2016-10-01 | 廣達電腦股份有限公司 | 資料傳輸服務切換系統和方法 |
CN104933115B (zh) * | 2015-06-05 | 2019-05-03 | 北京京东尚科信息技术有限公司 | 一种多维分析方法和系统 |
CN117235162A (zh) * | 2016-06-23 | 2023-12-15 | 施耐德电气美国股份有限公司 | 用于分布式系统的事务性非结构化数据驱动的顺序联合查询方法 |
CN106227782A (zh) * | 2016-07-15 | 2016-12-14 | 广东亿迅科技有限公司 | 一种基于多数据源插入到数据库的方法 |
JP6834290B2 (ja) * | 2016-09-21 | 2021-02-24 | カシオ計算機株式会社 | 人材情報処理装置及びプログラム |
US10412149B2 (en) | 2016-12-12 | 2019-09-10 | Sap Se | Logical data object web services |
US10831509B2 (en) * | 2017-02-23 | 2020-11-10 | Ab Initio Technology Llc | Dynamic execution of parameterized applications for the processing of keyed network data streams |
US11947978B2 (en) | 2017-02-23 | 2024-04-02 | Ab Initio Technology Llc | Dynamic execution of parameterized applications for the processing of keyed network data streams |
CN108875291B (zh) * | 2017-05-11 | 2022-11-29 | 腾讯科技(深圳)有限公司 | 一种信息处理方法及服务器、计算机存储介质 |
CN108334622B (zh) * | 2018-02-08 | 2020-06-02 | 竞技世界(北京)网络技术有限公司 | 一种获取格式化复合数据的方法 |
CN110633313A (zh) * | 2018-05-31 | 2019-12-31 | 贵州白山云科技股份有限公司 | 一种基于多数据源的数据传输方法及装置 |
CN109656989A (zh) * | 2018-10-29 | 2019-04-19 | 平安科技(深圳)有限公司 | 多数据源整合方法、装置、计算机设备和存储介质 |
US11514053B2 (en) * | 2019-04-16 | 2022-11-29 | Microsoft Technology Licensing, Llc | Caching of potential search results |
CN110704521A (zh) * | 2019-08-30 | 2020-01-17 | 深圳壹账通智能科技有限公司 | 接口数据接入方法及系统 |
CN110909059A (zh) * | 2019-11-25 | 2020-03-24 | 杭州晨鹰军泰科技有限公司 | 一种数据集成系统、方法、设备及存储介质 |
CN111092877B (zh) * | 2019-12-12 | 2022-09-02 | 北京金山云网络技术有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
US11995469B2 (en) * | 2019-12-26 | 2024-05-28 | EMC IP Holding Company LLC | Method and system for preemptive caching across content delivery networks |
CN111444443B (zh) * | 2020-03-27 | 2024-04-16 | 广州方硅信息技术有限公司 | 内容推送服务器及其内容服务的内容推送方法 |
CN115309566B (zh) * | 2022-08-09 | 2023-09-05 | 医利捷(上海)信息科技有限公司 | 一种服务接口的动态管理方法及系统 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4251699B2 (ja) * | 1999-02-03 | 2009-04-08 | 三菱電機株式会社 | データベース検索システム |
US6826597B1 (en) * | 1999-03-17 | 2004-11-30 | Oracle International Corporation | Providing clients with services that retrieve data from data sources that do not necessarily support the format required by the clients |
JP2001265799A (ja) * | 2000-03-15 | 2001-09-28 | Hitachi Ltd | 情報検索方法 |
US6865593B1 (en) * | 2000-04-12 | 2005-03-08 | Webcollege, Inc. | Dynamic integration of web sites |
US20020091712A1 (en) * | 2000-10-28 | 2002-07-11 | Martin Andrew Richard | Data-base caching system and method of operation |
JP2004295364A (ja) * | 2003-03-26 | 2004-10-21 | Ntt Comware Corp | データベースアクセスシステム及び方法、データベースアクセスサーバ、ならびに、コンピュータプログラム |
US7464073B2 (en) * | 2003-04-10 | 2008-12-09 | International Business Machines Corporation | Application of queries against incomplete schemas |
AU2004258349B2 (en) * | 2003-07-22 | 2010-11-11 | Kinor Technologies Inc. | Information access using ontologies |
US20050240600A1 (en) * | 2004-04-21 | 2005-10-27 | Hill David A | Methods, systems, and storage mediums for integrating service request generation systems with a service order control system |
US7580946B2 (en) | 2006-08-11 | 2009-08-25 | Bizweel Ltd. | Smart integration engine and metadata-oriented architecture for automatic EII and business integration |
US9268856B2 (en) * | 2007-09-28 | 2016-02-23 | Yahoo! Inc. | System and method for inclusion of interactive elements on a search results page |
CN101398810B (zh) * | 2007-09-30 | 2013-05-01 | 日电(中国)有限公司 | 自适应服务选择设备及其方法,查询系统及其方法 |
JP5320637B2 (ja) * | 2008-03-31 | 2013-10-23 | 株式会社Jsol | データ検索システム、システム、プログラム、およびデータ検索方法 |
JP5635978B2 (ja) * | 2008-05-30 | 2014-12-03 | イルデト・カナダ・コーポレイションIrdeto Canada Corporation | 人間が介入しないアプリケーションのための認証されたデータベース接続 |
US8190675B2 (en) * | 2010-02-11 | 2012-05-29 | Inditto, Llc | Method and system for providing access to remotely hosted services through a normalized application programming interface |
US9043323B2 (en) * | 2011-08-22 | 2015-05-26 | Nokia Corporation | Method and apparatus for providing search with contextual processing |
-
2011
- 2011-11-17 US US13/299,112 patent/US20130132372A1/en not_active Abandoned
-
2012
- 2012-10-22 EP EP12849965.4A patent/EP2780839A4/en not_active Withdrawn
- 2012-10-22 JP JP2014542317A patent/JP2015505387A/ja active Pending
- 2012-10-22 KR KR1020147012950A patent/KR20140093947A/ko not_active Application Discontinuation
- 2012-10-22 AU AU2012337242A patent/AU2012337242A1/en not_active Abandoned
- 2012-10-22 CN CN201280055871.2A patent/CN103946841A/zh active Pending
- 2012-10-22 CA CA2855191A patent/CA2855191A1/en not_active Abandoned
- 2012-10-22 WO PCT/US2012/061277 patent/WO2013074249A1/en active Application Filing
- 2012-11-14 TW TW101142364A patent/TW201322135A/zh unknown
-
2014
- 2014-03-19 IN IN2117CHN2014 patent/IN2014CN02117A/en unknown
-
2017
- 2017-02-13 JP JP2017023948A patent/JP2017111834A/ja not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
JP2015505387A (ja) | 2015-02-19 |
CN103946841A (zh) | 2014-07-23 |
AU2012337242A1 (en) | 2014-03-27 |
TW201322135A (zh) | 2013-06-01 |
EP2780839A1 (en) | 2014-09-24 |
WO2013074249A1 (en) | 2013-05-23 |
US20130132372A1 (en) | 2013-05-23 |
IN2014CN02117A (ja) | 2015-05-29 |
KR20140093947A (ko) | 2014-07-29 |
CA2855191A1 (en) | 2013-05-23 |
EP2780839A4 (en) | 2015-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2017111834A (ja) | 動的サービス統合システム及び方法 | |
US11924214B2 (en) | Systems and methods for accessing cloud resources from a local development environment | |
US20220191188A1 (en) | Single sign-on enabled oauth token | |
US10447684B2 (en) | Hosted application sandbox model | |
KR102048653B1 (ko) | 외부 데이터 소스로부터의 데이터를 이용한 데이터베이스 쿼리 응답의 강화 기법 | |
JP5200721B2 (ja) | 制御方法、制御装置、及びプログラム | |
US8965958B2 (en) | File fetch from a remote client device | |
US8745088B2 (en) | System and method of performing risk analysis using a portal | |
US8468217B2 (en) | Maintaining portlet data currency while minimizing latency | |
CA2747783C (en) | Extensibility for web based diagram visualization | |
CN107844488B (zh) | 数据查询方法和装置 | |
CN111310230B (zh) | 一种空间数据处理方法、装置、设备及介质 | |
WO2022088710A1 (zh) | 一种镜像管理方法及装置 | |
US8949930B1 (en) | Template representation of security resources | |
US7907619B2 (en) | Method, system and program product for adapting to protocol changes | |
WO2022262481A1 (zh) | 电子控制单元标定数据管理系统、方法、装置及设备 | |
US10114864B1 (en) | List element query support and processing | |
US20130173907A1 (en) | Pki gateway | |
US10554789B2 (en) | Key based authorization for programmatic clients | |
US20230376628A1 (en) | Privacy Manager for Connected TV and Over-the-Top Applications | |
KR102320258B1 (ko) | 웹 애플리케이션 서비스 제공 시스템 및 그 서비스 제공 방법과 이를 위한 프로그램 | |
CN115964382A (zh) | 基于区块链的资产数据处理系统以及资产数据处理方法 | |
CN116366272A (zh) | 资源处理方法、装置、服务器及存储介质 | |
CN116881316A (zh) | 一种针对图表访问的权限查询方法、装置、设备及介质 | |
CN116488834A (zh) | 网站登录方法、装置、存储介质以及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20170601 |