(58)【調査した分野】(Int.Cl.,DB名)
前記受取るステップ、前記選択するステップおよび前記開始するステップは、前記メタデータだけを変更することによって、データソース、データターゲットおよびインポートパラメータへの変更または追加を実施することができるように、前記インポート手順から外れてソフトウェアプログラムとして実現される、請求項1に記載の方法。
前記1セットの出力行のうちのいくつかは、前記インポート手順の対応する構成オプションと、前記インポート手順の呼出し中に設定されるべきそれぞれの値とを示す、請求項1〜4のいずれか1項に記載の方法。
前記受取るステップに応じて、データベースにおける前記インポートコネクタにおいて受取られた前記複数のインポートパラメータについての前記それぞれの値を記憶するステップをさらに含み、
前記1セットの入力行の各々は、前記テーブルの第2の列において、前記データベースから前記対応するインポートパラメータについての値を検索するように設計された対応するプログラム論理を指定し、
前記選択するステップは、前記インポートパラメータについての値を検索し、かつ、前記使用事例において指定された前記条件が前記検索された値によって満たされるかどうかを判断するために、前記1セットの入力行において指定される前記プログラム論理を実行するステップを含む、請求項1〜5のいずれか1項に記載の方法。
前記1セットの出力行のうちのいくつかは、前記インポート手順の対応する構成オプションと、前記インポート手順の呼出し中に設定されるべきそれぞれの値とを示す、請求項8〜10のいずれか1項に記載のコンピューティングシステム。
【発明を実施するための形態】
【0010】
添付の図面においては、同様の参照番号は概して同一の要素、機能的に同様の要素、および/または、構造的に同様の要素を示している。要素が最初に現われる図面番号が、対応する参照番号の左端の桁によって示されている。
【0011】
例示的な実施形態の説明
1.概要
本開示の局面は、複数のデータソースから所望のデータターゲットへのデータの転送を容易にする。一実施形態においては、複数の使用事例(use case)を指定するメタデータが維持される。各々の使用事例は、インポート手順と1セットのインポートパラメータによって満たされるべき対応する条件とを示しており、これにより、対応する条件が満たされたときにデータのインポートのためにインポート手順が実行されるようにする。
【0012】
データソースからデータターゲットへのデータの転送を要求するインポートコネクタを受取ったことに応じて、インポートコネクタにおいて受取られた対応するインポートパラメータについてのそれぞれの値によって満たされる条件を有する使用事例が選択される。次いで、データソースからデータターゲットにデータをインポートするために、選択された使用事例によって示されるインポート手順の実行が開始される。
【0013】
本開示のいくつかの局面を具体例を参照しながら以下に記載する。しかしながら、当業者であれば、特定の詳細のうち1つ以上がなくても、または他の方法、構成要素、材料などを用いても、本開示が実施可能であることを認識するだろう。他の場合においては、周知の構造、材料または動作が開示の特徴を不明瞭にすることを避けるために、詳細には示されない。さらに、記載された特徴/局面はさまざまな組合せで実施することができるが、但し、この明細書中においては、簡潔にするためにこれらの組合せのうちのいくつかしか記載されていない。
【0014】
2.例示的な環境
図1は、本開示のいくつかの局面が実現され得る例示的な環境(コンピューティングシステム)を示すブロック図である。エンドユーザシステム110A〜110Z、インターネット120、イントラネット130、サーバシステム140A〜140C、アドミニストレータシステム150、ならびにデータストア180Aおよび180Bを含むブロック図が示される。
【0015】
単に例示のためにのみ、代表的な数/タイプのシステムだけが図に示されている。多くの環境には、しばしば、それぞれの環境の設計目的に応じて、数およびタイプの両方の点でより多くのシステムが含まれている。
図1のシステム/デバイスの各々を以下にさらに詳細に記載する。
【0016】
イントラネット130は、サーバシステム140A〜140Cとアドミニストレータシステム150とデータストア180Aおよび180B(すべてが(点線の境界で示される)エンタープライズ内に設けられている)との間に接続性をもたらすネットワークに相当する。インターネット120は、これら(およびエンタープライズの他のシステム)とエンドユーザシステム110A〜110Zなどの外部システムとの接続性を拡張する。イントラネット140およびインターネット120の各々は、関連技術において周知である伝送制御プロトコル(Transmission Control Protocol:TCP)および/またはインターネットプロトコル(Internet Protocol:IP)などのプロトコルを用いて実現されてもよい。一般に、TCP/IP環境においては、IPパケットは転送の基本単位として用いられており、ソースアドレスがソースシステムに割当てられたIPアドレスに設定されており、そこからパケットが発生し、宛先アドレスが宛先システムのIPアドレスに設定され、最終的にそこにパケットが送達されることとなる。
【0017】
IPパケットは、パケットが最終的にインターネット120およびイントラネット130によって宛先システムに送達されるように、パケットの宛先IPアドレスが宛先システムのIPアドレスに設定される場合に、宛先システムに向けられるものとされている。パケットが宛先アプリケーションを指定するポート番号などの内容を含んでいる場合、パケットはこのようなアプリケーションにも向けられるものとされてもよい。宛先システムは、対応するポート番号を利用可能なまま/公開されたままに維持して、対応する宛先ポートでパケットを処理することが要求される可能性がある。インターネット120およびイントラネット130の各々は有線ベースの媒体または無線媒体のいずれかの組合せを用いて実現されてもよい。
【0018】
データストア180Aおよび180Bの各々は、サーバシステム140A〜140Cおよびアドミニストレータシステム150などのエンタープライズの他のシステムにおいて実行される(金融アプリケーション、分析フレームワークなどの)エンタープライズアプリケーションによるデータの集合の記憶および検索を容易にする不揮発性(永続的)ストレージに相当する。データストア180Aおよび180Bのうちのいくつかは、リレーショナルデータベース技術を用いてデータベースサーバとして実現されてもよく、これに応じて、構造化クエリ言語(Structured Query Language:SQL)などの構造化したクエリを用いてデータの記憶および検索を行い得る。関連技術において周知であるように、他のデータストアが、1つ以上のディレクトリとして編制されたファイルの形式でデータの記憶および検索を行なうファイルサーバとして実現されてもよい。
【0019】
エンドユーザシステム110A〜110Zの各々は、ユーザ要求を生成して、エンタープライズの特定のシステムに向けて送信するためにユーザによって用いられるパーソナルコンピュータ、ワークステーション、移動局、携帯電話、コンピューティングタブレットなどのシステムに相当する。ユーザ要求は、適切なユーザインターフェイス(たとえば、エンタープライズにおいて実行されるアプリケーションによって提供されるウェブページ)を用いて生成されてもよい。たとえば、ユーザは、サーバシステム140A〜140Cにおいて実行されるエンタープライズアプリケーションに対するさまざまなタスクを実行するためのユーザ要求を送信し、要求されたタスクの実績結果を含む対応する応答を受取り得る。
【0020】
サーバシステム140A〜140Cの各々は、ユーザがエンドユーザシステム110A〜110Zを用いることによって要求されるタスクを実行することができるエンタープライズアプリケーションを実行するウェブ/アプリケーションサーバなどのサーバに相当する。エンドユーザシステムから要求を受取ったことに応じて、各々のサーバシステムは、当該要求において指定されているタスクを実行し、要求を行なったエンドユーザシステムにタスクの実績結果を送信する。各々のサーバシステムは、内部(たとえば、サーバ内の不揮発性ストレージ/ハードディスク)に記憶されたデータ、(たとえば、データストア180Aおよび180Bに維持されている)外部データ、ならびに/または、このようなタスクを実行する際に外部ソースから(たとえばユーザから)受取られるデータ、を用いてもよい。
【0021】
これにより、エンタープライズアプリケーションによって用いられるデータは、エンタープライズ内のサーバシステム140A〜140Cならびにデータストア180Aおよび180Bなどのさまざまなシステムにおいて維持され得る。データは、たとえば、ファイル、(データストア180Aおよび180B内の)データベース、レガシーシステム、配信データなどとしてさまざまなフォーマットで維持/記憶されてもよい。したがって、データを記憶する或るシステム(「データソース」)から別のシステム(「データターゲット」)にデータを転送する必要が生じる可能性もある。このような転送がデータのフォーマットを変更するステップ、ソースデータをフィルタリングするステップ、ターゲットデータを生成するためにソースデータ上で演算を実行するステップ、(一般にデータの移動とも称される)転送が成功した後に転送されたデータをデータソースから削除するステップなどの1つ以上の中間ステップ/追加ステップを含む可能性があることに留意されたい。
【0022】
背景の段落に記載されたように、データの転送は、典型的には、1つ以上のインポート手順を用いることによって達成される。さまざまな数のデータソースおよびデータターゲットを有する複雑な環境においては、インポート手順の数は(100+の範囲で)大きくなるかもしれず、各々のインポート手順は、呼出し中に、対応する構成オプションを設定することを必要とする。したがって、アドミニストレータは、各々の転送ごとに、適切なインポート手順を識別し、識別されたインポート手順の構成オプションについて適切な値を決定し、その後、決定した値を用いて、識別されたインポート手順を呼出すことが要求される。このようなタスクは、特に多数の転送を実行しなければならない場合、アドミニストレータにとっては面倒で時間のかかるものとなる可能性がある。
【0023】
本開示のいくつかの局面に従って提供されるアドミニストレータシステム150は、いくつかの例を用いて以下に述べられるように、データソースからデータターゲットにデータを転送するためのインポート手順の呼出しを単純化する。
【0024】
3.インポート手順の呼出しの単純化
図2は、本開示の局面に従った、(データソースからデータターゲットにデータを転送するための)インポート手順の呼出しが単純化される態様を示すフローチャートである。フローチャートは単に例示のためだけに、
図1、特にアドミニストレータシステム150、に関連付けて記載されている。しかしながら、特徴の多くは、この明細書中に記載される開示を読むことによって当業者にとって明らかになるように、他の環境において(かつ、場合によっては他のタイプのシステム/サーバを用いて)、本開示のいくつかの局面の範囲および精神から逸脱することなく、実現することができる。
【0025】
加えて、ステップのうちのいくつかは、当業者にとって明らかになるように、特定の環境に適するものとして、以下に記載されたものとは異なる順序で実行されてもよい。このような実現例の多くは本開示のいくつかの局面によって包含されるように企図されている。フローチャートは、ステップ201から始まり、次いで、制御が直接ステップ210に進められる。
【0026】
ステップ210において、アドミニストレータシステム150は使用事例を指定するメタデータを維持する。各々の使用事例は、インポート手順とインポートパラメータによって満たされるべき条件との組合せを示している。容易に認識され得るように、メタデータは、ソフトウェア/プログラム命令から外れて維持されるとともに実行中に入力として命令に与えられるデータを指している。条件は、典型的には、インポートパラメータに基づいて構築される論理表現の形式である。
【0027】
ステップ230において、アドミニストレータシステム150は、データソースからデータターゲットにデータを転送するための要求を表わすインポートコネクタを受取る。インポートコネクタはまた、インポートパラメータについての値を指定する。
【0028】
ステップ260において、アドミニストレータシステム150は、インポートコネクタにおいて受取られたインポートパラメータについての値によって満たされている条件を有する使用事例を選択する。条件に反して適用された場合のインポートパラメータの値により、対応する論理表現が予め指定された論理値(たとえば、真)として評価される場合に、条件が満たされるものと見なされる。
【0029】
ステップ280において、アドミニストレータシステム150は、インポートコネクタに従って、データをデータソースからデータターゲットにインポートするために選択された使用事例によって示されるインポート手順を呼出す(すなわち、インポート手順の実行を開始する)。使用事例はまた、呼出し前または後に実行されるべき如何なる(サポート)動作を指定してもよく、これに応じて、このような動作が呼出しに加えて実行され得る。フローチャートはステップ299で終了する。
【0030】
こうして、ユーザ/アドミニストレータが(ステップ210において)さまざまな転送シナリオを取込んだ使用事例を指定することを可能にすることにより、(ステップ230〜280における)(多数の)転送を実行するためのインポート手順の選択および呼出しが単純化される。上述の特徴はさまざまな実施形態において実現することができる。対応する環境においてデータを転送するための実現例について説明を続ける。
【0031】
4.実現例
図3は、一実施形態における、インポート手順の呼出しが単純化される態様を示すブロック図である。データソース310A〜310C、解析アプリケーションデータ(analytics application data:AAD)320、データインテグレータ330、(データインテグレータ330において実行される)ナレッジモジュール340、使用事例識別子350、制御リポジトリ360、ユーザインターフェイスプロバイダ370、およびインポートマネージャ380を含むブロック図が示される(アドミニストレータシステム150において実行されるブロック350、360、370および380が示される)。ブロックの各々が以下に詳細に説明される。
【0032】
データソース310A〜310Cの各々は、転送することが求められているデータを記憶する/有する(サーバシステム140A〜140Cまたはデータストア180Aおよび180Bなどの)エンタープライズ内の対応するシステムを表わしている。上述のように、各々のデータソースは、1つ以上のテキストファイル、1つ以上の拡張可能マークアップ言語(Extensible Markup Language:XML)ファイル、データベースにおけるテーブル、(アパッチ・コーポレーション(Apache Corporation)から入手可能なHadoop(登録商標)によって維持されるような)1つ以上の分散型データノードのうちの1つであり得る。
【0033】
解析アプリケーションデータ(AAD)320は、(リレーショナル・データベース・サーバとして実現されるものと想定されている)データストア180B内のデータベースにおける1つ以上のテーブルを表わしており、ユーザ要求を処理するための解析アプリケーション(図示せず)によって用いられる。一実施形態においては、AAD320はオブジェクトとしてモデル化され(したがって、解析アプリケーションによってアクセスされ)る。たとえば、1つ以上のテーブルにおけるデータはオブジェクトとしてモデル化されてもよく、このようなテーブルのそれぞれの列は、オブジェクトの対応する属性としてモデル化され得る。さらに、テーブルにおける各々の行は、オブジェクトのインスタンス(「オブジェクトインスタンス」)としてモデル化されてもよく、それぞれの属性は行に記憶された対応する値を有している。
【0034】
解析アプリケーションは、サーバシステム140A〜140Cのうちの1つにおいて実行されるビジネスインテリジェンスアプリケーションであって、一般に、金融企業が、リスク調整済み業績目標を計測および満たし、リスクマネージメント文化を養い、コンプライアンスおよび規則のコストを削減し、顧客の見識を向上させることを可能にするものである。オラクル社(Oracle Corporation)から入手可能なオラクル金融サービス分析アプリケーション(Oracle Financial Services Analytical Application:OFSAA)はこのような解析アプリケーションの一例である。
【0035】
解析アプリケーションの動作のために、さまざまなデータソース(310A〜310Cなど)からのデータがAAD320にインポートされることが要求され得る(AADまたはAAD内のテーブルのいくつかがデータターゲットとなる)ことが認識され得る。このようなインポートは、データを、データソースにおけるフォーマットからAAD320におけるデータターゲットの一部として記憶され得る1つ以上のオブジェクトインスタンスに変換することを必要としてもよい。
【0036】
データインテグレータ330は、(サーバシステム140A〜140Cのうちの1つにおいて実行される)システム/アプリケーションに相当するものであって、(310A〜310Cなどの)さまざまなデータソースからAAD320へのデータのインポートを容易にする。データインテグレータ330は、イベントドリブン型のトリクル・フィード統合プロセスや、サービス指向アーキテクチャ(service-oriented architecture:SOA)対応のデータサービスに対する高容量・高性能のバッチ荷重を実行する場合などのさまざまなデータ統合要件をカバーしている。一実施形態においては、データインテグレータを用いて、後でAAD320に組込まれるべきデータをデータストア180B内のステージングテーブル(図示せず)にインポート/ロードする。オラクル社から入手可能なオラクル・データ・インテグレータ(Oracle Data Integrator:ODI)はこのようなデータ・インテグレータ・アプリケーションの一例である。
【0037】
一実施形態においては、データインテグレータ330は、データをさまざまなデータソースからインポートするためのさまざまなナレッジモジュール340を備える。データソース技術(ファイル対テーブル対配信データ)、インポートされるべき記録/オブジェクトの数、実行されるべき特定のデータ結合、(インポートされたデータをフィルタリングするために)フィルタがデータソース上で用いられるべきかどうか、データソースの数、データターゲット(AAD320内のテーブル)の数のうち、少なくともいくつかに基づいて、但しそれらに限定されることなく、さまざまなナレッジモジュールが提供される。各々のナレッジモジュールはインポート手順を含んでおり、当該インポート手順は、実行されると、所望のデータソースからAAD320へのデータのインポートを実行する。便宜上、この明細書中における開示においては、各々のナレッジモジュールが1回のインポート手順に対応するものと想定されており、ナレッジモジュール340のうちのいくつかが、1つ以上の構成オプションの値に基づいて動作可能となるように設計されている。
【0038】
上述のように、本開示のいくつかの局面は、アドミニストレータシステム150によって維持されるメタデータに基づいてインポート手順(ナレッジモジュール340)の呼出しを単純化する。このようなメタデータが維持され得る態様をいくつかの例とともに以下に記載する。
【0039】
5.メタデータの維持
制御リポジトリ360は、アドミニストレータシステム150によって維持されているさまざまな使用事例を示すメタデータを表わしている。制御リポジトリ360は、アドミニストレータシステム150内に示されているが、代替的な実施形態においては、この明細書中の開示を読むことによって当業者にとって明らかになるように、データストア180Aおよび180Bなどの外部システムに設けられてもよい。維持され得るサンプルの制御リポジトリ/メタデータを例とともに以下に記載する。
【0040】
図4Aおよび
図4Bはともに、一実施形態における、使用事例を指定するメタデータ(制御リポジトリ360)が維持される態様を図示する。便宜上、テーブルの形式で維持されたメタデータが示されているが、代替的な実施形態においては、この明細書中の開示を読むことによって当業者にとって明らかになるように、メタデータは、(アレイ、ツリーなどの)他のデータ構造を用いて、および/または、(拡張可能マークアップ言語(XML)などの)他のフォーマットで維持されてもよい。
【0041】
テーブル400は、制御リポジトリ360の一部を示している。列411(「USE_CASE_ID」)は、使用事例の識別子を示す。複数の行は、使用事例がテーブル400における対応する行において定義されていることを示すために同じ識別子を有し得る。一般に、使用事例に関連付けられた各々の行は、使用事例の対応するパラメータ(インポート/入力パラメータまたは出力パラメータ)の詳細を指定する。
【0042】
列412(「PARAM_CODE」)は、使用事例の一部として指定されるパラメータのコードを示す。各々のコードは、(対応する動作を示唆する)キーパラメータまたは(インポートパラメータであることを示唆する)非キーパラメータであり得る英数字の値である。非キーパラメータコードの例としては、ソースがファイルであるかどうかをチェックするための(行441における)ISFILEと、ソースが記録タイプの列を用いるかどうかをチェックするための(行442における)ISRECTYPEとが挙げられる。キーパラメータコードの例としては、インポート手順についての出力オプションの設定を示すためのSETOPTが挙げられる。
【0043】
列413(「PARAM_TYPE」)は対応するパラメータのタイプを指定する。この列における値「I」は、行が入力パラメータを指定していることを示し、この列における値「O」は、行が出力パラメータを指定していることを示している。列414(「PARAM_DESC」)は、対応するパラメータの記述を指定する。列415(「PARAM_VALUE」)は、対応するパラメータの値を示す。パラメータが(ISFILEなどの)論理選択肢であるシナリオにおいては、値は、(「Yes」を示す)「Y」および(「No」を示す)「N」のうちの1つであり得る。パラメータが出力オプション(SETOPT)を設定するためのものである場合、値は、設定されるべき(SRC_FILTER、FILES_NAMEなどの)オプションの特定の名前を示し得る。列416(「PARAM_STYPE」)は、対応するパラメータのサブタイプを示しており、特に、パラメータコードがSETOPTである場合のパラメータ値のタイプである。
【0044】
列417(「PARAM_TEXT」)は、パラメータの実際値を検索するために実行されるべきプログラム論理/実行可能なスクリプトを指定する。たとえば、パラメータがISFILEである場合、実行可能なスクリプトはデータソースがファイルタイプであるかどうかを判断するために実行されてもよい。ここに示される一実施形態においては、プログラム論理は、構造化クエリ言語(SQL)に従ったSELECTクエリの形式である。列418(「TECHNOLOGY」)は、416列において指定された実行可能なスクリプトを実行する場合に用いられるべき技術を指定する。この列における値「ORADB」は、SQLクエリが外部データベース上で実行されるべきであることを示す。値「ODI」は、SQLクエリがデータインテグレータ330によって維持されるデータベース上で実行されるべきであることを示す。
【0045】
行441〜474の各々は、対応するパラメータの詳細を指定する。行441〜458におけるパラメータが(列411において示されるように、識別子1を有する)第1の使用事例に対応しており、行459〜474におけるパラメータが(411列において示されるように、識別子2を有する)第2の使用事例に対応していることが観察され得る。例示の目的で、(ASCII(American Standard Code for Information Interchange:情報交換用米国標準コード)で符号化されたファイルからのデータの転送を処理するための)第1の使用事例に対応する行を以下に詳細に記載する。
【0046】
行/パラメータを入力行441〜447および出力行448〜458にグループ化するために列413における値(I/入力またはO/出力)が用いられ得ることが認識され得る。入力行441〜447の各々は、非キー/インポートパラメータのコードと一致させるべき対応する値とを指定する。特に、行441〜447は、それぞれ、インポートされているデータがファイル(ISFILE)であるかどうか、記録タイプ(ISRECTYPE)を含んでいるかどうか、フィルタリングされないものとしてマッピングされている列(COLNOTFILT)をすべて有しているかどうか、特定のロード方法(LOADMTHD)が選択されているかどうか、表現を有している(HASEXPR)かどうか、2つ以上のデータソースを有している(MRTHAN1SDI)かどうか、および、2つ以上のターゲットを有している(ISMULTARG)かどうかを、チェックする。すべての入力行を一致させる必要があるので、行441〜447によって指定されるような第1の使用事例についての条件は、入力/インポートパラメータに基づいて形成される論理表現((ISFILE=「Y」)AND(ISRECTYPE=「N」)AND(COLNOTFILT=「N」)AND(LOADMTHD=「1」)AND(HASEXPR=「N」)AND(MRTHAN1SDI=「N」)AND(ISMULTARG=「N」))となる。
【0047】
出力行448〜458は、第1の使用事例のために生成されるべき出力の詳細を指定する。特に、行455(IKM)は、データを転送するために用いられるべき統合ナレッジモジュールの識別子(14)を指定する。行452〜454および456はまた、転送のために用いることができる他のタイプのローディングナレッジモジュールを指定しているが、この使用事例においては、これらの行についての列415におけるブランク値は、このようなモジュールがこの特定の転送シナリオのためには必要でないことを示している。行458(CKM)は、データを転送するために用いられるべきチェックナレッジモジュールの識別子(1)を指定する。
【0048】
出力行448〜451はキー出力パラメータSETOPTを指定しており、これは、出力行がナレッジモジュールの呼出し中に設定されるべき構成オプションを指定することを示している。(RECORD_DELIM_EXIST、SRC_FILTERなどの)構成オプションの識別子は列415において指定されており、これらのオプションが設定されるべきである特定のナレッジモジュールが列416において示されている(その値「IKM」は、すべてのオプションが行455において指定されたIKMのためのものであることを示している)。なお、構成オプションの値が(列418によって示されるように)外部/内部データベースにおいて利用可能であり、これに応じて、値を検索するためのそれぞれのプログラム論理/SQLクエリが列417において指定されることに留意されたい。出力行457は、インポート手順で設定されるべきオプションの詳細を指定している。この場合、それは、ターゲットがステージング区域として用いられるべきであるかどうかを示している。
【0049】
こうして、行441〜458はともに、使用事例の入力パラメータおよび出力パラメータを指定することによって第1の使用事例の詳細を提供する。同様に、行459〜474は、特に、拡張2進化10進コード(Extended Binary Coded Decimal Interchange Code:EBCDIC)ファイルからのデータの転送を処理するために、第2の使用事例の詳細を提供する。他の転送シナリオに特有の他の使用事例も同様に指定され得る。なお、入出力パラメータおよび使用事例のサンプルリストだけが例示の目的でテーブル400に示されていること、さらには、実際の実施形態においては、パラメータおよび使用事例の数/タイプが、本開示の特徴を実現することが求められている環境に適したものとなるように大きく(100+)され得ることに留意されたい。
【0050】
図3を再び参照すると、制御リポジトリ360は、転送要求を処理するためにテーブル400に示されるメタデータを維持する。メタデータは、アドミニストレータシステム150の設定の一部としてインストールされてもよく、後で、アドミニストレータは、処理されることが所望される転送要求に基づいて使用事例を(適切なユーザインターフェイス(図示せず)を用いて)追加/変更し得る。
【0051】
一実施形態においては、転送要求は、データソース、データターゲットおよび転送の他の詳細を指定するインポートコネクタの形式で受取られる。インポートコネクタ/転送要求が受取られ得る態様を以下においていくつかの例とともに記載する。
【0052】
6.インポートコネクタの受取り
ユーザインターフェイス(user interface:UI)プロバイダ(ブロック)370は、適切なユーザインターフェイスを設けることによって、ユーザがインポートコネクタを生成してアドミニストレータシステム150に送信/提出するのを容易にする。以下の記載においては、ユーザインターフェイスがアドミニストレータシステム150上に設けられるものと想定されているが、代替的な実施形態においては、この明細書中の開示を読むことによって当業者にとって明らかになるように、ユーザインターフェイスは、エンドユーザシステム110A〜110Zまたはサーバシステム140A〜140Cのうちの1つの上に設けられてもよい。UIプロバイダ370によって提供され得るいくつかのサンプルユーザインターフェイスが以下において詳細に記載される。
【0053】
図5A〜
図5Eは、一実施形態におけるインポートコネクタの指定および提出を容易にするために設けられ得るサンプルユーザインターフェイスを示す。各々の図の表示領域500は、アドミニストレータシステム150に関連付けられた(
図1に示されない)表示部上に設けられたユーザインターフェイスの一部を示す。一実施形態においては、各々の表示領域は、アドミニストレータシステム150(特に、UIプロバイダ370)によって提供されるそれぞれのウェブページを表示するブラウザに対応する。ウェブページは、アドミニストレータシステム150においてエンタープライズのアドミニストレータがブラウザを用いて(たとえば、URLを指定することによって)適切な要求を送信することに応じて提供される。
【0054】
図5Aは、一実施形態における、アドミニストレータがデータソースおよびデータターゲットをインポートコネクタの一部として指定する態様を示す。表示領域510は、アドミニストレータが、データのインポートのためのデータターゲット、特にAAD320の特定のデータインターフェイス(表示領域515に示されるような顧客口座)、を選択することを可能にする。表示領域520は、アドミニストレータが、インポートコネクタの概略的な詳細、たとえば、名前(「Connector1」)、記述、およびコネクタが属する商品区分(「定期預金、CASA」)などを指定することを可能にする。
【0055】
表示領域530は、アドミニストレータが、インポート/転送のために用いられるべき(310A〜310Cに対応する)データソースを追加することを可能にする。表示領域530は、アドミニストレータが2つのテキストファイル(「TD_CASA_FILE_1」および「TD_CASA_FILE_2」)をデータソースとして選択したことを示す。アドミニストレータはまた、以下において詳細に記載されるように(データのインポートを容易にするために)テキストファイルのフォーマットを指定し得る。
【0056】
図5Bは、一実施形態における、アドミニストレータがデータソースとして用いられるテキストファイルのフォーマットを指定する態様を示す。表示領域640は、テキストファイル「TD_CASA_FILE_1」のフォーマットが指定されていることを示す。表示領域545は、データを記憶する実際のファイルの名前(「Comb_tdcasaPsplit1.csv」)と、各々の記録を判断するために用いられるべきデリミタ(デリミタがユニックス(Unix(登録商標))システムにおける行末文字であることを示すテキスト「Unix」)と、フィールド/列(カンマ)を決定するために用いられるべきデリミタとを示している。表示領域545はさらに、テキストファイル中に存在するフィールド/列の詳細(データタイプ、長さ、フォーマットなど)を(「ソースデータ要素」の下に)指定する。
【0057】
こうして、アドミニストレータは、転送のためのデータソースとして用いられるテキストファイルのフォーマットを指定するのが容易になる。この明細書中の開示を読むことによって当業者にとって明らかになるように、
図5Bと同様のインターフェイスが、拡張可能マークアップ言語(XML)ファイルなどの他のテキストベースのデータソースのフォーマットを指定するために用いられ得ることが認識されるはずである。アドミニストレータはまた、以下に詳細に記載されるようにインポートされるべき記録をフィルタリングするためのさまざまな表現を指定し得る。
【0058】
図5Cは、一実施形態における、データソースからインポートされるべき記録をフィルタリングするための表現をアドミニストレータが指定する態様を示す。表示領域550は、ユーザ/アドミニストレータが
図5Aの表示領域530における表現アイコン635を選択したことに応じて表示されるポップアップウィンドウである。表示領域550は、(表示領域545においてアドミニストレータによって定義されるフィールドを含む)エンティティのリスト、入手可能なデータベース関数のリスト、およびオペレータのリストを提供する。したがって、アドミニストレータは、所望の表現、たとえば表示領域555に示される表現、を作成するためにエンティティと関数とオペレータとの組合せを選ぶ/選択することもできる。
【0059】
アドミニストレータが「OK」ボタンを選択したことに応じて、(表示領域555に示される「TD_CASA_FILE_1.FIC_MIS_DATE=#IUT−1.MISDATE」などの)指定された表現が、インポートされる記録をフィルタリングするための基礎として用いられる。特に、特定の表現と一致する記録だけが、特定のデータソース(「TD_CASA_FILE_1」)からデータターゲット(AAD320における顧客口座)にインポートされる。
【0060】
図5Dは、一実施形態における、アドミニストレータがインポートパラメータについての値をインポートコネクタの一部として指定する態様を示す。表示領域560は、ユーザ/アドミニストレータが表示領域525における「コネクタプロパティ」タブを選択することに応じて表示される。表示領域560は、アドミニストレータがローディングメカニズム(ここではSQLローダーと示される)を選択すること、データのローディング/インポートが(選択された値「真」によって示されるように)データターゲットに対して直接なされるべきであるかまたはステージングテーブルを介してなされるべきである(値「偽」)かどうかを選択すること、ローディングが(選択された値「真」によって示されるように)並列になされるべきであるかまたは連続的になされるべきであるかどうかを選択すること、さらには、他のインポートパラメータの値を選択することを容易にする。図示されていないが、他のインポートパラメータが提供されてもよく、アドミニストレータは、さらに、提供されたインポートパラメータについての所望の値をインポートコネクタの一部として指定し得る。
【0061】
図5Eは、一実施形態における、アドミニストレータがデータターゲットにおける属性に対するデータソースにおけるフィールド間のマッピングを指定する態様を示す。表示領域550は、ユーザ/アドミニストレータが
図5Dの表示領域580を選択する/クリックすることに応じて表示されるポップアップウィンドウである。代替的には、表示領域570は、ユーザ/アドミニストレータがキーボード上のボタン(図示せず)を選択することおよび/またはキーボード上の予め定義された1セットのキーを押すことに応じて表示され得る。
【0062】
表示領域570は、アドミニストレータによって選択されるデータソース/エンティティにおけるフィールドのリスト(ここでは、
図5Bの表示領域545におけるアドミニストレータによって指定される「TD_CASA_FILE_1」におけるフィールド)と、AAD320におけるデータターゲットオブジェクト「顧客口座」のために定義された属性のリストとを提示する。アドミニストレータは、「フィールド」リストにおける所望のフィールド、「属性」リストにおける所望の属性を選択し、次いで、選択されたフィールドと選択された属性との間にマッピングを形成するように「[=]」アイコンをクリック/選択し得る。アドミニストレータによって指定されるこのようなマッピングのリストが表示領域575に示されている。
【0063】
図5Fは、一実施形態における、インポートコネクタが受取られる態様を示す。表示領域580は、アドミニストレータが表示領域570のポップアップウィンドウを用いることによって指定されるマッピングを示す。インポートコネクタのさまざまな詳細を指定するために
図5A〜
図5Eのユーザインターフェイスがアドミニストレータによって用いられ得ることが認識され得る。所望の詳細が指定された後、アドミニストレータは、処理のためにインポートコネクタが提出されるべきであることを示すために「提出」ボタン590を選択してもよい。
【0064】
再び
図3を参照すると、UIプロバイダ370は、ユーザがボタン590を選択したことに応じて、
図5A〜
図5Fのユーザインターフェイスにおいて指定された/受取られた情報を用いて新しいインポートコネクタを作成する。新しいインポートコネクタは、データソースの詳細(「TD_CASA_FILE_1」および「TD_CASA_FILE_2」)、データターゲット(顧客口座)、データソースからインポートされるべき記録をフィルタリングするために用いられるべきいずれかの表現(「TD_CASA_FILE_1.FIC_MIS_DATE=#IUT−1.MISDATE」など)、(表示領域560に示されるような)さまざまなインポートパラメータの値、および、(表示領域575/580に示されるマッピングなどの)データソースにおけるフィールドとデータターゲットにおける属性との間の物理的マッピング、を指定する。インポートコネクタにおいて指定される値のうちのいくつかは、後でプログラム論理/SQLクエリを実行したときにこれらの値がインポートパラメータのために戻されるように、内部/外部データベースのうちの予め定義された位置(列/テーブル)に記憶されてもよい。
【0065】
次いで、UIプロバイダ370は、インポートコネクタを使用事例識別子(ブロック)350に転送して処理できるようにする。インポートコネクタが処理されて、データソースからデータターゲットへのデータのインポートを行なうためにインポート手順が呼出される態様を以下において例とともに記載する。
【0066】
7.インポート手順の呼出し
使用事例識別子350は、UIプロバイダ370から(
図5A〜
図5Fのインターフェイスを用いて定義されるコネクタなどの)インポートコネクタの詳細を受取り、さらに、インポートコネクタにおいて受取られた対応するインポートパラメータについてのそれぞれの値によって満たされる条件を有する(制御リポジトリ360に記憶された)使用事例を識別する。上述のように、使用事例において指定された条件は、インポートパラメータに基づいて構築された対応する論理表現の形式である。
【0067】
このため、使用事例識別子350は、制御リポジトリ360から各々の使用事例の詳細を検索し、さらに、各々の使用事例において指定された条件に反してインポートパラメータの値を加える。対応する論理的表現が(インポートコネクタにおいて受取られたインポートパラメータの値が加えられた場合に)予め指定された論理値(たとえば、真)として評価される場合、条件が満たされものと見なされる。条件が満たされている使用事例は使用事例識別子350によって識別/選択される。
【0068】
制御リポジトリ360が使用事例を(
図4A/
図4Bの)テーブル400の形式で維持している実施形態においては、使用事例識別子350は、最初に、(第1の使用事例に対応する行441〜458、および、第2の使用事例に対応する行459〜474などの)各々の使用事例に対応する行/パラメータを検索する。使用事例のために指定されたすべての入力パラメータについての値が、インポートコネクタにおいて受取られる対応する値と一致した場合、使用事例はインポートコネクタと一致するものと見なされる(転送シナリオ)。言換えれば、使用事例は、(第1の使用事例についての((ISFILE=「Y」)AND(ISRECTYPE=「N」)AND(COLNOTFILT=「N」)AND(LOADMTHD=「1」)AND(HASEXPR=「N」)AND(MRTHAN1SDI=「N」)AND(ISMULTARG=「N」))などの)使用事例における入力パラメータによって指定される論理的表現に適用される場合のインポートパラメータの値によって論理的表現が予め指定された論理値(たとえば、真)として評価される場合にのみ、選択される。
【0069】
したがって、使用事例識別子350は、最初に、入力パラメータの値を検索するために列417に示されるプログラム論理/SQLクエリを実行し、次いで、検索された値を、検索された使用事例における入力パラメータのために指定された値と比較する。値同士が一致しない(インポートコネクタが選択された使用事例と一致していないことを示している)場合、使用事例識別子350は、制御リポジトリ360において指定された使用事例から(たとえば、テーブル400における識別子2を有する)別の使用事例を選択する。使用事例識別子350は、使用事例を選択し、選択された使用事例によって指定されるように動作を実行し、動作の結果を取得し、一致する使用事例が発見されるまで、取得された結果を使用事例において指定された値と繰返し比較するという上述の動作を実行する。
【0070】
一致する使用事例が発見されるシナリオにおいては、使用事例識別子350は、(テーブル400における列415を調べることによって、および/または、列417において指定されるプログラム論理を実行することによって)一致する使用事例において示される出力パラメータの値を決定する。次いで、使用事例識別子350は、実行されるべきナレッジモジュール340のうち特定のモジュールなどのインポートマネージャ(ブロック)380に対する出力の詳細;特定のナレッジモジュールの各々のために設定されるべき構成オプション;各々のデータソースからインポートするために設定されるべきフィルタ/表現;などを転送する。
【0071】
インポートマネージャ380は、使用事例識別子350から上述のデータを受取ったことに応じて、特定のナレッジモジュール/データソースの各々のために指定された構成オプションおよびフィルタを用いて、ナレッジモジュール340のうち特定のモジュールを呼出す(モジュールの実行を開始する)。一実施形態においては、インポートマネージャ380は、特定のナレッジモジュール/インポート手順を選択し、選択されたモジュールの構成オプションを設定し、データインテグレータ330におけるデータフローシナリオを作成する。データインテグレータ330においてデータフローが実行される(ことによって、次に、特定のナレッジモジュール/インポート手順が実行される)と、データが、インポートコネクタにおいて(
図5A〜
図5Fのインターフェイスを用いて)指定された値に従って、データソース(「TD_CASA_FILE_1」および「TD_CASA_FILE_2」)からデータターゲット(AAD320における顧客口座)にインポートされる。
【0072】
これにより、さまざまな転送シナリオ(テーブル400)を取込むさまざまな使用事例を指定することによって、データソース(310A〜310C)からデータターゲット(AAD320)へのデータの転送を実行するためのインポート手順(ナレッジモジュール340)の選択および呼出しが単純化される。
【0073】
上述の特徴がハードウェア、実行可能なモジュールおよびファームウェアのうち1つ以上を所望のとおりに組合わせたものとしてさまざまな実施形態において実現され得ることが認識されるはずである。実行可能なモジュールでの命令が実行される場合にさまざまな特徴が動作可能となる実施形態について、引き続き説明する。
【0074】
8.デジタル処理システム
図6は、適切なソフトウェア命令を実行することによって本開示のいくつかの局面が動作可能となるデジタル処理システム600の詳細を示すブロック図である。デジタル処理システム600は、アドミニストレータシステム150、または、上述のさまざまな特徴が提供され得る他のシステム(たとえばエンドユーザシステム110A〜110Z)に対応する。
【0075】
デジタル処理システム600は、(中央処理装置(central processing unit:CPU)610などの)1つ以上のプロセッサ、ランダムアクセスメモリ(random access memory:RAM)620、二次的記憶装置630、グラフィックスコントローラ660、表示部670、ネットワークインターフェイス680および入力インターフェイス690を含み得る。表示部670以外のすべての構成要素は、関連技術において周知であるいくつかのバスを含み得る通信経路650を介して互いに通信し得る。
図6の構成要素を以下にさらに詳細に記載する。
【0076】
CPU610は、本開示のいくつかの特徴を提供するためにRAM620に記憶された命令を実行し得る。CPU610は複数の処理ユニットを含み得る。複数の処理ユニットは各々、場合によっては特定のタスクのために設計されている。代替的には、CPU610は単一の汎用処理ユニットだけを含んでいてもよい。RAM620は、通信経路650を用いて二次的記憶装置630から命令を受信し得る。
【0077】
RAM620は、このとき、共有環境625および/またはユーザプログラム626(金融アプリケーション、分析フレームワークなど)を構成するソフトウェア命令を含むように図示されている。共有環境625は、ユーザプログラムによって共有されるユーティリティを含んでおり、このような共有されるユーティリティは、オペレーティングシステム、デバイスドライバ、仮想マシン、フローエンジンなどを備えることで、ユーザプログラムの実行のための(共通の)ランタイム環境を提供している。
【0078】
グラフィックスコントローラ660は、CPU610から受取られたデータ/命令に基づいて表示部670に対する(たとえばRGBフォーマットの)表示信号を生成する。表示部670は、表示信号によって定義される画像を表示するために表示画面(
図5A〜
図5Fのユーザインターフェイスの部分など)を含む。入力インターフェイス690は、(
図5A〜
図5Fのユーザインターフェイスにおいて所望の入力などを指定するためなどの)さまざまな入力を与えるために用いられ得るキーボードおよびポインティングデバイス(たとえばタッチパッド、マウス)に対応し得る。ネットワークインターフェイス680は(たとえば、インターネットプロトコルを用いて)ネットワークに接続性をもたらし、(サーバシステム140A〜140C、データストア180Aおよび180Bなどの)他の接続されたシステムと通信するために用いられてもよい。
【0079】
二次的記憶装置630は非一時的媒体であって、デジタル処理システム600が本開示に従っていくつかの特徴を提供することを可能にするためにデータ(たとえば、
図4A/
図4Bに示されるデータの部分)および(たとえば、
図2のステップを実行するための)ソフトウェア命令を記憶し得る。二次的記憶装置630に記憶されたコード/命令は、より高速の実行速度を得るためにCPU610によって実行されるよりも前にRAM620にコピーされ得るか、または、CPU610によって直接実行され得る。
【0080】
二次的記憶装置630は、ハードドライブ635と、フラッシュメモリ636と、リムーバブルストレージドライブ637とを含んでいてもよい。データおよび命令のうちのいくつかまたはすべては、リムーバブルストレージユニット640上に提供されてもよく、データおよび命令はリムーバブルストレージドライブ637によって読出されてCPU610に提供されてもよい。リムーバブルストレージユニット640は、リムーバブルストレージドライブ637がデータおよび命令を読出すことができるように、リムーバブルストレージドライブ637と互換性がある媒体および記憶フォーマットを使用して実現されてもよい。このため、リムーバブルストレージユニット640は、コンピュータソフトウェアおよび/またはデータを格納したコンピュータ読取可能(記憶)媒体を含む。しかしながら、コンピュータ(または、概して機械)読取可能な媒体は、他の形態のもの(たとえば、非リムーバブル、ランダムアクセスなど)であり得る。
【0081】
この文書では、「コンピュータプログラム製品」という用語は、ハードドライブ635にインストールされたハードディスクまたはリムーバブルストレージユニット640を概略的に指すために使用される。これらのコンピュータプログラム製品は、デジタル処理システム600にソフトウェアを提供するための手段である。CPU610は、上述のこの開示のさまざまな特徴を提供するために、ソフトウェア命令を検索し、命令を実行してもよい。
【0082】
ここに使用されるような「記憶媒体」という用語は、マシンを特定の方法で動作させるデータおよび/または命令を格納する任意の非一時的媒体を指す。そのような記憶媒体は、不揮発性媒体および/または揮発性媒体を含んでいてもよい。不揮発性媒体は、たとえば、記憶メモリ630などの光ディスク、磁気ディスク、またはソリッドステートドライブを含む。揮発性媒体は、RAM620などのダイナミックメモリを含む。記憶媒体の一般的形態は、たとえば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、ソリッドステートドライブ、磁気テープ、または任意の他の磁気データ記憶媒体、CD−ROM、任意の他の光学データ記憶媒体、穴のパターンを有する任意の物理的媒体、RAM、PROM、およびEPROM、FLASH−EPROM、NVRAM、任意の他のメモリチップまたはカートリッジを含む。
【0083】
記憶媒体は、伝送媒体とは別個であるが、伝送媒体とともに使用されてもよい。伝送媒体は、記憶媒体間の情報の転送に関与する。たとえば、伝送媒体は、バス650を含むワイヤを含む、同軸ケーブル、銅線および光ファイバーを含む。伝送媒体はまた、電波データ通信および赤外線データ通信中に生成されたものなどの音波または光波の形を取り得る。
【0084】
本明細書全体にわたる「一実施形態」、「ある実施形態」、または同様の文言への言及は、その実施形態に関連して説明された特定の特徴、構造、または特性がこの開示の少なくとも1つの実施形態に含まれる、ということを意味する。このため、本明細書全体にわたって採用されている「一実施形態では」、「ある実施形態では」、または同様の文言は、必ずしもそうとは限らないものの、すべて同じ実施形態を指していてもよい。
【0085】
さらに、この開示の説明された特徴、構造、または特性は、1つ以上の実施形態において任意の好適な態様で組合わされてもよい。上述の説明では、この開示の実施形態を十分に理解できるようにするために、プログラミング、ソフトウェアモジュール、ユーザ選択、ネットワークトランザクション、データベース問合せ、データベース構造、ハードウェアモジュール、ハードウェア回路、ハードウェアチップなどの例といった多くの特定の詳細が提供されている。
【0086】
9.結論
この開示のさまざまな実施形態が上述されてきたが、それらは限定のためではなく例示のためだけに提示されてきた、ということが理解されるべきである。このため、この開示の幅および範囲は上述の例示的な実施形態のいずれによっても限定されるべきでなく、請求項およびそれらの均等物に従ってのみ定義されるべきである。
【0087】
添付物に示されてこの開示の機能性および利点を強調する図および/またはスクリーンショットが例示の目的でのみ提示されている、ということが理解されるべきである。この開示は、添付の図面に示される以外のやり方で利用され得るように、十分に柔軟性がありかつ構成可能である。
【0088】
また、添付の要約書の目的は、一般には特許庁および一般大衆、特に特許もしくは法律用語または語句に精通していない科学者、エンジニアおよび当業者が、一瞥して本願の技術的開示の性質および本質を迅速に判断できるようにすることである。要約書は、この開示の範囲に関して限定的であるようには意図されていない。