JP5320637B2 - Data search system, system, program, and data search method - Google Patents
Data search system, system, program, and data search method Download PDFInfo
- Publication number
- JP5320637B2 JP5320637B2 JP2008092631A JP2008092631A JP5320637B2 JP 5320637 B2 JP5320637 B2 JP 5320637B2 JP 2008092631 A JP2008092631 A JP 2008092631A JP 2008092631 A JP2008092631 A JP 2008092631A JP 5320637 B2 JP5320637 B2 JP 5320637B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- unit
- search
- information
- acquired
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 125
- 238000012545 processing Methods 0.000 claims abstract description 199
- 230000005540 biological transmission Effects 0.000 claims abstract description 75
- 230000008569 process Effects 0.000 claims description 79
- 238000001914 filtration Methods 0.000 claims description 37
- 230000004044 response Effects 0.000 claims description 7
- 238000004891 communication Methods 0.000 description 56
- 230000006870 function Effects 0.000 description 9
- 230000001174 ascending effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 239000008280 blood Substances 0.000 description 2
- 210000004369 blood Anatomy 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本発明は、データ検索システム、データ検索方法、およびプログラムに関する。本発明は、特に、サービスで利用するデータを検索するデータ検索システム、データ検索方法、およびプログラムに関する。 The present invention relates to a data search system, a data search method, and a program. The present invention particularly relates to a data search system, a data search method, and a program for searching for data used in a service.
システム内で分散する複数のデータベースを仮想的に統合する技術が考案されている(たとえば、特許文献1および特許文献2参照。)。このような技術を利用することで、データ要求元のシステムは、データの格納先を意識することなく、データベースに格納されているデータを取得することができるものとされている。
しかしながら、上記技術では、データベース接続を前提としているので、データベース接続インタフェースを有していないシステム、データベース以外の方式でデータを永続化しているシステムが有するデータの統合は困難となる。 However, since the above technique is premised on database connection, it is difficult to integrate data included in a system that does not have a database connection interface and a system that persists data using a method other than a database.
また、上記技術では、データ要求元で直接検索問合せ文を生成・発行しているので、データベースに負荷がかかるような問合せ文を防ぐことができない。この場合、この問合せに対するレスポンスだけでなく、このデータベースを対象とした他の問合せに対するレスポンスも低下する可能性が生じる。 Further, in the above technique, since the query request statement is directly generated and issued by the data request source, it is not possible to prevent a query statement that puts a load on the database. In this case, there is a possibility that not only the response to this query but also the response to other queries targeting this database will be reduced.
また、問合せの結果に対してデータベース統合参照装置で制限等を実施していないので、データ要求元が不要に大量のデータを取得したり、特定のデータ要求元にしか公開すべきでない機密性の高いデータを他のシステムが取得できてしまうことになる。 In addition, since the database integrated reference device does not restrict the query results, the data requester can acquire a large amount of data unnecessarily, or it must be disclosed only to a specific data requester. Other systems can acquire high data.
上記課題を解決するために、本発明の第1の形態においては、サービスで利用するデータをデータベースから検索するデータ検索システムであって、データの要求元から送信された、サービスを識別するためのサービス識別情報を取得するサービス識別情報取得部と、サービス識別情報に対応付けられている、検索問い合わせ文の構成情報を特定する構成情報特定部と、特定された構成情報を用いて、検索問い合わせ文を生成する検索問い合わせ文生成部と、生成した検索問い合わせ文により、データを取得するデータ取得部と、取得したデータを、要求元へ送信するデータ送信部とを備える。 In order to solve the above-described problem, in the first embodiment of the present invention, a data search system for searching data used in a service from a database, for identifying the service transmitted from the data request source. A service inquiry information acquisition unit that acquires service identification information, a structure information specifying unit that specifies configuration information of a search query sentence associated with the service identification information, and a search inquiry sentence using the specified configuration information A search query statement generation unit that generates the data, a data acquisition unit that acquires data using the generated search query statement, and a data transmission unit that transmits the acquired data to the request source.
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。 The above summary of the invention does not enumerate all the necessary features of the present invention, and sub-combinations of these feature groups can also be the invention.
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。 Hereinafter, the present invention will be described through embodiments of the invention, but the following embodiments do not limit the invention according to the claims. In addition, not all the combinations of features described in the embodiments are essential for the solving means of the invention.
図1は、実施形態に係る行政システム10の一例を示す。行政システム10は、データ検索システム100を備える。また、行政システム10は、サービスで利用するデータのデータ要求元の一例としての受給台帳システム110を備える。また、行政システム10は、サービスで利用するデータの取得先の一例としての高齢者支援システム121、生活保護システム122、および共通データベース123を備える。
FIG. 1 shows an example of an
高齢者支援システム121は、高齢者支援サービスを提供するシステムであって、高齢者支援サービスのデータを保持する。生活保護システム122は、生活保護サービスを提供するシステムであって、生活保護サービスのデータを保持する。共通データベース123は、複数のシステムが共通して利用するデータを格納する。共通データベース123は、住民情報サービスのデータおよび住民所得情報サービスのデータを格納する。
The elderly
データ検索システム100は、受給台帳システム110からの要求に応じて、利用者に提供するサービスのデータを、高齢者支援システム121、生活保護システム122、および共通データベース123の少なくともいずれか一つから取得する。そして、データ検索システム100は、取得したデータを、受給台帳システム110へ送信する。
In response to a request from the
データ検索システム100は、高齢者支援情報検索サービス機能、生活保護情報検索サービス機能、住民情報検索サービス機能、および住民所得情報検索サービス機能を有する。高齢者支援情報検索サービス機能は、高齢者支援システム121から、高齢者支援サービスのデータを取得する。生活保護情報検索サービス機能は、生活保護システム122から、生活保護サービスのデータを取得する。住民情報検索サービス機能は、共通データベース123から、住民情報サービスのデータを取得する。住民所得情報検索サービス機能は、共通データベース123から、住民所得情報サービスのデータを取得する。
The
受給台帳システム110は、サービスの利用者に提供するデータを、データ検索システム100に対して要求する。そして、受給台帳システム110は、要求に応じたデータをデータ検索システム100から取得する。さらに、受給台帳システム110は、取得したデータを、利用者に提供する。
The
たとえば、受給台帳システム110が備える端末装置から高齢者支援サービスが選択された場合、受給台帳システム110は、高齢者支援サービスのデータを、データ検索システム100に対して要求する。これに応じて、データ検索システム100は、高齢者支援システム121から、高齢者支援サービスのデータを取得する。そして、受給台帳システム110は、高齢者支援サービスのデータを、データ検索システム100から取得する。さらに、受給台帳システム110は、取得した高齢者支援サービスのデータを、端末装置の画面上に表示する。
For example, when the elderly support service is selected from the terminal device included in the
受給台帳システム110は、高齢者支援システム121、生活保護システム122、および共通データベース123が保持するそれぞれのデータを、データ検索システム100に要求することで、データ検索システム100から取得できる。このため、受給台帳システム110は、高齢者支援システム121、生活保護システム122、および共通データベース123のそれぞれに対する通信インタフェースを設ける必要が無く、データ検索システム100に対する通信インタフェースだけを設ければよい。
The
特に、受給台帳システム110は、高齢者支援システム121、生活保護システム122、および共通データベース123のそれぞれに対する通信接続方式が異なる場合がある。たとえば、高齢者支援システム121との通信接続方式にWebサービス接続が用いられ、生活保護システム122との通信接続方式にDB2(登録商標)用のデータベース接続が用いられ、共通データベース123との通信接続にOracle(登録商標)用のデータベース接続が用いられているとする。このような場合であっても、受給台帳システム110は、データ検索システム100との通信接続方式の通信インタフェースだけを設ければよい。
In particular, the
行政システム10が備えるいずれかのシステムを変更または削除する場合は、変更または削除するシステムとデータ検索システム100との通信インタフェースだけを変更または削除すればよい。また、行政システム10に対してシステムを追加する場合、追加するシステムは、データ検索システム100に対する通信インタフェースだけを設ければよい。これにより、追加するシステムは、高齢者支援システム121、生活保護システム122、または共通データベース123が保持するデータを、データ検索システム100に要求することで、データ検索システム100から取得できる。
When any system included in the
このように、本実施形態の行政システム10によれば、既存のデータ要求元システムおよびデータ提供元システムに影響を及ぼすことなく、システムの追加・変更・削除をおこなうことができるので、システムの構築および管理にかかるコストを削減できる。また、行政システム10が備えるそれぞれのシステムは、複数種類の通信ポートを開放する必要がないので、行政システム10が備えるそれぞれのシステムにおけるセキュリティ効果を向上できる。
As described above, according to the
図2は、実施形態に係るデータ検索システム100の機能構成例を示す。データ検索システム100は、サービスインタフェース部210、権限判定処理部220、検索処理部230、フィルタ処理部240、および格納部250を備える。
FIG. 2 shows a functional configuration example of the
格納部250は、サービスインタフェース部210、権限判定処理部220、検索処理部230、またはフィルタ処理部240によって参照される各種定義ファイルを予め格納する。たとえば、格納部250は、複数のサービス識別情報のそれぞれに対する権限判定ルールの対応付けを予め定義した権限判定ルール定義ファイルを格納する。また、格納部250は、複数のサービス識別情報のそれぞれに対するデータ検索処理の対応付けを予め定義したサービス定義ファイルを格納する。また、格納部250は、複数のフィルタリング条件を定義したフィルタリング条件定義ファイルを予め格納する。
The
サービスインタフェース部210は、要求電文を受給台帳システム110から取得する。要求電文には、サービス識別情報、ユーザ情報、検索パラメータなどが示されている。サービスインタフェース部210は、取得したサービス識別情報、ユーザ情報、検索パラメータなどを示すValueObjectを生成する。そして、サービスインタフェース部210は、生成したValueObjectを権限判定処理部220に送信する。これにより、サービスインタフェース部210は、権限判定処理部220に対して、権限判定処理部220による権限判定処理および検索処理部230によるデータ検索処理を要求する。
The
権限判定処理部220は、サービスインタフェース部210から送信されたValueObjectを取得する。権限判定処理部220は、取得したValueObjectを参照することにより、サービスおよびユーザを特定する。権限判定処理部220は、格納部250に格納されている権限判定ルール定義ファイルを参照することにより、特定したサービスに対応付けられている権限判定ルールを特定する。そして、権限判定処理部220は、特定した権限判定ルールを用いて、特定したユーザの権限を判定する。
The authority
権限判定処理部220は、取得したValueObjectを参照することにより、ユーザが属する部署名を特定してもよい。そして、権限判定処理部220は、特定した部署名で、ユーザの権限を判定してもよい。また、権限判定処理部220は、取得したValueObjectを参照することにより、ユーザの職位名を特定してもよい。そして、権限判定処理部220は、特定した職位名で、ユーザの権限を判定してもよい。
The authority
権限判定処理によって特定したサービスに対する特定したユーザの権限が有ると判定された場合、権限判定処理部220は、サービス識別情報および検索パラメータが示されたValueObjectを検索処理部230に引き渡す。これにより、権限判定処理部220は、検索処理部230に対してデータ検索処理を要求する。一方、権限判定処理によって特定したサービスに対する特定したユーザの権限が無いと判定した場合、権限判定処理部220は、検索処理部230に対してデータ検索処理を要求せずに、権限判定処理の結果を示すValueObjectを、サービスインタフェース部210へ送信する。
When it is determined that the specified user has authority for the service specified by the authority determination process, the authority
検索処理部230は、権限判定処理部220から送信されたValueObjectを取得する。検索処理部230は、取得したValueObjectを参照することにより、サービスおよび検索パラメータを特定する。また、検索処理部230は、格納部250に格納されているサービス定義ファイルを参照することにより、特定したサービスに対応付けられているデータ検索処理を特定する。
The
そして、検索処理部230は、特定したデータ検索処理により、特定したサービスに応じたデータ検索処理をおこなう。たとえば、検索処理部230は、特定したサービスに応じた検索問い合わせ文を、特定したサービスに応じたあて先へ送信する。
And the
これにより、検索処理部230は、特定したサービスに応じた検索結果データを取得する。たとえば、検索処理部230は、特定したサービスに応じた検索結果データを、高齢者支援システム121、生活保護システム122、または共通データベース123から取得する。検索処理部230は、取得した検索結果データを示すValueObjectを生成する。検索処理部230は、生成したValueObjectを権限判定処理部220へ送信する。
Thereby, the
フィルタ処理部240は、検索処理部230が取得した検索結果データに対して、データ項目単位でのフィルタリング処理をおこなう。たとえば、検索処理部230は、サービス識別情報、ユーザ情報、および検索結果データが示されたValueObjectをフィルタ処理部240へ送信する。
The
フィルタ処理部240は、検索処理部230から送信されたValueObjectを取得する。フィルタ処理部240は、取得したValueObjectを参照することにより、サービスおよびユーザを特定する。また、フィルタ処理部240は、格納部250に格納されているサービス定義ファイルを参照することにより、特定したサービスに対応付けられているフィルタリング条件を特定する。
The
フィルタ処理部240は、格納部250に格納されているフィルタリング条件定義ファイルを参照することにより、特定したフィルタリング条件から、権限判定ルールを、取得した検索結果データのデータ項目ごとに特定する。そして、フィルタ処理部240は、取得した検索結果データのデータ項目ごとに、特定した権限判定ルールを用いて、特定したユーザの権限を判定する。
By referring to the filtering condition definition file stored in the
フィルタ処理部240は、ユーザが属する部署名を特定してもよい。そして、フィルタ処理部240は、特定した部署名で、取得した検索結果データのデータ項目ごとのユーザの権限を判定してもよい。また、フィルタ処理部240は、ユーザの職位名を特定してもよい。そして、フィルタ処理部240は、特定した職位名で、取得した検索結果データのデータ項目ごとのユーザの権限を判定してもよい。
The
フィルタ処理部240は、取得した検索結果データから、権限判定処理によってユーザの権限が有ると判定されたデータ項目のデータを抽出する。そして、フィルタ処理部240は、抽出したデータ、すなわちフィルタリング処理後の検索結果データが示されたValueObjectを検索処理部230に送信する。検索処理部230は、フィルタリング処理後の検索結果データが示されたValueObjectを取得する。なお、フィルタ処理部240は、フィルタリング処理後の検索結果データが示されたValueObjectを、権限判定処理部220またはサービスインタフェース部210へ送信してもよい。
The
権限判定処理部220は、検索結果データが示されたValueObjectを検索処理部230から取得する。そして、権限判定処理部220は、取得したValueObjectを、サービスインタフェース部210へ送信する。
The authority
サービスインタフェース部210は、検索結果データが示されたValueObjectを権限判定処理部220から取得する。そして、サービスインタフェース部210は、検索結果データが示された応答電文を生成する。さらに、サービスインタフェース部210は、生成した応答電文を、受給台帳システム110へ送信する。
The
図3は、検索処理部230の機能構成例を示す。検索処理部230は、検索部310を有する。検索処理部230は、事前固有処理実行部322、カラム値生成部324、および事後固有処理実行部328をさらに有する。
FIG. 3 shows a functional configuration example of the
検索部310は、権限判定処理部220から送信されたValueObjectを取得する。検索部310は、取得したValueObjectを参照することにより、サービスおよび検索パラメータを特定する。また、検索部310は、格納部250に格納されているサービス定義ファイルを参照することにより、特定したサービスに対応付けられているデータ検索処理を特定する。
The
そして、検索部310は、特定したデータ検索処理を用いて、特定したサービスに応じたデータ検索処理をおこなう。たとえば、検索部310は、特定したサービスに応じたSQL文、XML文などの検索問い合わせ文を、特定したサービスに応じたあて先へ送信する。
And the
これにより、検索部310は、特定したサービスに応じた検索結果データを取得する。たとえば、検索部310は、特定したサービスに応じた検索結果データを、高齢者支援システム121、生活保護システム122、または共通データベース123から取得する。
Thereby, the
そして、検索部310は、取得した検索結果データを示すValueObjectを生成する。さらに、検索部310は、生成したValueObjectを権限判定処理部220へ送信する。
And the
事前固有処理実行部322は、検索処理部230によるデータ検索処理が実行される前におこなうべきサービス固有の処理である事前固有処理をおこなう。たとえば、事前固有処理実行部322は、サービス識別情報を検索部310から取得する。そして、事前固有処理実行部322は、格納部250に格納されているサービス定義ファイルを参照することにより、取得したサービス識別情報に対応付けられている事前固有処理を、実行すべき事前固有処理として特定する。事前固有処理をサービス定義ファイルに定義することで、バリデーションチェック処理などの事前固有処理を、容易に管理することができる。
The pre-unique
カラム値生成部324は、サービス固有のデータ項目値を生成するカラム値生成ロジックを実行する。たとえば、カラム値生成部324は、サービス識別情報を検索部310から取得する。そして、カラム値生成部324は、格納部250に格納されているサービス定義ファイルを参照することにより、取得したサービス識別情報に対応付けられているカラム値生成ロジックを、実行すべきカラム値生成ロジックとして特定する。
The column
いずれのデータベースにも存在しないデータ項目を、要求元が要求する場合がある。このような場合であっても、カラム値生成部324は、検索部310が取得した他のデータ項目のデータなどから、データベースに存在しないデータ項目のデータを生成することができる。たとえば、データベースには「生年月日」というデータ項目が存在するが、いずれのデータベースにも存在しない「年齢」というデータ項目を要求元が要求したとする。この場合、カラム値生成部324は、検索部310が取得したデータ項目「生年月日」のデータに基づいて、データ項目「年齢」のデータを生成することができる。
The requester may request a data item that does not exist in any database. Even in such a case, the column
事後固有処理実行部328は、検索処理部230によるデータ検索処理が実行された後におこなうべきサービス固有の処理である事後固有処理をおこなう。たとえば、事後固有処理実行部328は、サービス識別情報を検索部310から取得する。そして、事後固有処理実行部328は、格納部250に格納されているサービス定義ファイルを参照することにより、取得したサービス識別情報に対応付けられている事後固有処理を、実行すべき事後固有処理として特定する。事前固有処理をサービス定義ファイルに定義することで、データ加工処理などの事後固有処理を、容易に管理することができる。
The post-specific
図4は、検索部310の機能構成例を示す。検索部310は、データ検索処理特定部400およびサービス識別情報取得部402を備える。また、検索部310は、検索パラメータ取得部412、検索問い合わせ文生成部414、通信接続部416、データ取得部418、第1取得件数特定部420、第2取得件数特定部422、送信件数特定部423、送信開始位置特定部424、およびデータ送信部426を備える。
FIG. 4 shows a functional configuration example of the
サービス識別情報取得部402は、サービスで利用するデータのデータ要求元から送信された、サービスを識別するためのサービス識別情報を取得する。たとえば、サービス識別情報取得部402は、権限判定処理部220から通信接続部430を介して取得したValueObjectから、上記サービス識別情報を取得する。
The service identification
データ検索処理特定部400は、格納部250が格納する複数のデータ検索処理の中から、サービス識別情報取得部402が取得したサービス識別情報に対応付けられているデータ検索処理を特定する。データ検索処理特定部400は、構成情報特定部404、処理プログラム特定部406、および通信接続方式特定部410を有する。
The data search
構成情報特定部404は、サービス識別情報取得部402が取得したサービス識別情報に対応付けられている、検索問い合わせ文の構成情報を特定する。たとえば、構成情報特定部404は、SQL文の構成情報を特定する。検索問い合わせ文の構成情報は、テーブル名、データ項目名、絞り込み条件を含む。構成情報特定部404は、格納部250に格納されているサービス定義ファイルを参照することにより、サービス識別情報取得部402が取得したサービス識別情報に対応付けられている検索問い合わせ文の構成情報を特定してもよい。
The configuration
処理プログラム特定部406は、格納部250が格納する複数の処理プログラムの中から、サービス識別情報取得部402が取得したサービス識別情報に対応付けられている処理プログラムを特定する。処理プログラム特定部406は、格納部250に格納されているサービス定義ファイルを参照することにより、サービス識別情報取得部402が取得したサービス識別情報に対応付けられている処理プログラムを特定してもよい。
The processing
たとえば、処理プログラム特定部406は、データベース接続によるデータ検索処理をおこなう処理プログラムを特定する。他の例では、処理プログラム特定部406は、Webサービス接続またはHTTP接続によるデータ検索処理をおこなう処理プログラムを特定する。
For example, the processing
処理プログラムがDAO(Data Access Object)であって、DAO定義ファイルに定義されている場合、処理プログラム特定部406は、格納部250に格納されているサービス定義ファイルを参照することにより、サービス識別情報に対応付けられている、DAO定義ファイルを特定してもよい。そして、処理プログラム特定部406は、特定したDAO定義ファイルを参照することにより、DAOを特定してもよい。
When the processing program is DAO (Data Access Object) and is defined in the DAO definition file, the processing
通信接続方式特定部410は、格納部250が格納する複数の通信接続方式の中から、サービス識別情報取得部402が取得したサービス識別情報に対応付けられている通信接続方式を特定する。通信接続方式特定部410は、格納部250に格納されているサービス定義ファイルを参照することにより、サービス識別情報に対応付けられている通信接続方式を特定してもよい。
The communication connection
たとえば、通信接続方式特定部410は、通信接続方式としてデータベース接続を特定する。他の例では、通信接続方式特定部410は、通信接続方式としてWebサービス接続またはHTTP接続を特定する。
For example, the communication connection
通信接続方式がシステム接続定義ファイルに定義されている場合、通信接続方式特定部410は、格納部250に格納されているサービス定義ファイルを参照することにより、サービス識別情報に対応付けられている、システム接続定義ファイルを特定してもよい。そして、通信接続方式特定部410は、特定したシステム接続定義ファイルを参照することにより、通信接続方式を特定してもよい。
When the communication connection method is defined in the system connection definition file, the communication connection
検索パラメータ取得部412は、サービスで利用するデータのデータ要求元から送信された検索パラメータを取得する。たとえば、検索パラメータ取得部412は、権限判定処理部220から通信接続部430を介して取得したValueObjectから、上記検索パラメータを取得する。検索パラメータ取得部412は、データ要求元から送信された不要データ項目の識別情報をさらに取得してもよい。検索パラメータ取得部412は、データ要求元から送信された絞り込み条件をさらに取得してもよい。検索パラメータ取得部412は、データ要求元から送信されたソート条件をさらに取得してもよい。
The search
検索問い合わせ文生成部414は、構成情報特定部404が特定した構成情報および検索パラメータ取得部412が取得した検索パラメータを用いて、検索問い合わせ文を生成する。たとえば、検索問い合わせ文生成部414は、構成情報特定部404が特定した構成情報および検索パラメータ取得部412が取得した検索パラメータを用いて、SQL文を生成する。
The search query
検索パラメータ取得部412が不要データ項目の識別情報を取得した場合、検索問い合わせ文生成部414は、上記不要データ項目以外のデータを取得するためのSQL文を生成してもよい。検索パラメータ取得部412が絞り込み条件を取得した場合、検索問い合わせ文生成部414は、上記絞り込み条件に合致するデータを取得するためのSQL文を生成してもよい。検索パラメータ取得部412がソート条件を取得した場合、検索問い合わせ文生成部414は、取得したソート条件にしたがって検索結果データがソートされる検索問い合わせ文を生成してもよい。
When the search
通信接続部416は、通信接続方式特定部410によって特定された通信接続方式により、サービスで利用するデータのデータ取得先に通信接続する。たとえば、通信接続部416は、JDBCドライバによるデータベース接続、Webサービス接続、HTTP接続などの通信接続方式により、データ取得先に通信接続する。
The
データ取得部418は、データ検索処理特定部400が特定したデータ検索処理により、サービスで利用するデータを取得する。具体的には、データ取得部418は、処理プログラム特定部406が特定した処理プログラムにより、サービスで利用するデータを取得する。また、データ取得部418は、通信接続方式特定部410が特定した通信接続方式により、サービスで利用するデータを取得する。
The
また、データ取得部418は、検索問い合わせ文生成部414が生成した検索問い合わせ文によってデータベースから検索されたデータのうちの、第1取得件数特定部420が特定した取得件数のデータを、データベースから取得してもよい。
Further, the
データ取得部418は、検索問い合わせ文に該当するデータのデータ件数が、第1取得件数特定部420が特定した取得件数よりも多い場合は、第1取得件数特定部420が特定した取得件数のデータを、データベースから取得してもよい。また、データ取得部418は、検索問い合わせ文に該当するデータのデータ件数が、第1取得件数特定部420が特定した取得件数よりも多い場合は、所定のエラー処理をおこなってもよい。
If the number of data items corresponding to the search query statement is greater than the number of acquisition items specified by the first acquisition
第1取得件数特定部420および第2取得件数特定部422の双方が取得件数を特定する場合がある。このとき、第2取得件数特定部422が特定した取得件数が、前記第1取得件数特定部が取得した取得件数よりも少ない場合、データ取得部418は、第2取得件数特定部422が特定した取得件数のデータを、データベースから取得してもよい。一方、第2取得件数特定部422が特定した取得件数が、第1取得件数特定部420が特定した取得件数よりも多い場合、データ取得部418は、第1取得件数特定部420が特定した取得件数のデータを、データベースから取得してもよい。
Both the first acquisition
検索問い合わせ文生成部414が検索問い合わせ文を生成した場合、データ取得部418は、生成した検索問い合わせ文により、サービスで利用するデータを取得してもよい。たとえば、検索問い合わせ文生成部414がSQL文を生成した場合、データ取得部418は、生成したSQL文により、サービスで利用するデータを取得してもよい。
When the search query
第1取得件数特定部420は、サービス識別情報取得部402が取得したサービス識別情報に対応付けられている取得件数を特定する。たとえば、第1取得件数特定部420は、格納部250に格納されているサービス定義ファイルを参照することにより、サービス識別情報に対応付けられている取得件数を特定する。
The first acquisition
第2取得件数特定部422は、サービスで利用するデータのデータ要求元が要求する取得件数を特定する。たとえば、第2取得件数特定部422は、通信接続部430を介して権限判定処理部220から取得したValueObjectを参照することにより、データ要求元が要求する取得件数を特定する。
The second acquisition
送信件数特定部423は、サービスで利用するデータのデータ要求元が要求する送信件数を特定する。たとえば、送信件数特定部423は、通信接続部430を介して権限判定処理部220から取得したValueObjectを参照することにより、データ要求元が要求する送信件数を特定する。
The transmission
送信開始位置特定部424は、データの要求元が要求する、データの送信開始位置を特定する。たとえば、送信開始位置特定部424は、通信接続部430を介して権限判定処理部220から取得したValueObjectを参照することにより、上記送信開始位置を特定する。
The transmission start
データ送信部426は、データ取得部418が取得したデータを、データ要求元へ送信する。たとえば、データ送信部426は、データ取得部418が取得したデータを示すValueObjectを生成した後に、生成したValueObjectを通信接続部430を介して権限判定処理部220へ送信する。
The
送信件数特定部423が送信件数を特定した場合、データ取得部418は、検索問い合わせ文生成部414が生成した検索問い合わせ文によってデータベースから検索されたデータのうちの、送信件数特定部423が特定した送信件数のデータを、データベースから取得してもよい。また、送信開始位置特定部424が送信開始位置を特定した場合、データ取得部418は、検索問い合わせ文生成部414が生成した検索問い合わせ文によってデータベースから検索されたデータのうちの、送信開始位置特定部424が特定した送信開始位置からのデータを、データベースから取得してもよい。
When the transmission
図5は、データ検索システム100が受け付ける要求電文の一例を示す。要求電文は、「header」タグで示されるヘッダー部510および「body」タグで示されるボディ部520を含む。
FIG. 5 shows an example of a request message received by the
ヘッダー部510において、「auth」タグ内には、権限判定処理部220による権限判定処理およびフィルタ処理部240によるフィルタリング処理に用いられるユーザ情報が示される。「auth」タグ内において、「userid」タグには、データ要求元でサービスを利用するユーザの識別情報が設定される。また、「auth」タグ内において、「params」タグ内には、上記ユーザに関するユーザ情報群が設定される。
In
「params」タグ内において、「param」には、ユーザ情報のパラメータ値が設定される。また、「param」タグの「name」属性には、ユーザ情報名が設定される。たとえば、図5に示す要求電文では、データ要求元のユーザは、個人ID「0000000001」を有する「○○課」の「課長」であることが示されている。 In the “params” tag, a parameter value of user information is set in “param”. In addition, a user information name is set in the “name” attribute of the “param” tag. For example, the request message shown in FIG. 5 indicates that the data requesting user is the “section manager” of “XX section” having the personal ID “0000000001”.
ボディ部520において、「request」タグの「serviceName」属性には、サービス識別情報が設定される。たとえば、図5に示す要求電文では、サービス識別情報として「Jumin」が設定されている。すなわち、図5に示す要求電文には、当該要求電文は「Jumin」サービスを要求するための要求電文であることが示されている。
In the
ボディ部520において、「params」タグ内にはデータ検索処理に用いられる検索パラメータ群が設定される。「params」タグ内において、「param」タグには、検索パラメータのパラメータ値が設定される。また、「param」タグの「itemName」属性には、検索パラメータとするデータ項目の論理名が設定される。論理名とは、データ要求元のシステムに対して公開されるデータ項目の名称を示す。たとえば、図5に示す要求電文では、データ項目「性別」が「男性」が設定されているデータだけを検索するデータ検索処理をデータ検索システム100に対して要求することが示されている。
In the
ボディ部520において、「condition」タグにはデータ検索処理に用いられる絞り込み条件が設定される。ボディ部520において、「unnecessaries」タグ内には、データ要求元において不要なデータ項目群が設定される。「unnecessaries」タグ内において、「item」タグの「name」属性には、不要なデータ項目の論理名が設定される。たとえば、図5に示す要求電文では、不要なデータ項目の論理名として「住所」および「電話番号」が設定されている。
In the
ボディ部520において、「order」タグ内には、検索結果データのソート条件が設定される。「order」タグ内において、「item」タグの「name」属性には、ソートのキー項目とするデータ項目の論理名が設定される。また、「item」タグの「order」属性には、「asc(昇順)」または「desc(降順)」が設定される。たとえば、図5に示す要求電文では、データ項目「個人番号」で昇順ソートすることをデータ検索システム100に対して要求することが示されている。
In the
ボディ部520において、「startRecord」タグには、検索結果データの送信開始位置が設定される。また、「requestCount」タグには、検索結果データの送信件数が設定される。たとえば、図5に示す要求電文では、検索結果データの「1」番目のレコードから「3」件分のレコードを送信するようにデータ検索システム100に対して要求することが示されている。
In the
ボディ部520において、「maxCount」タグには、データベースからのデータの取得件数が設定される。たとえば、図5に示す要求電文では、「10」件分のデータをデータベースから検索するようにデータ検索システム100に対して要求することが示されている。
In the
ボディ部520において、「expired」タグには、DBアクセス時のタイムアウト時間が設定される。たとえば、図5に示す要求電文では、「3」秒以上経過した場合はタイムアウトするようにデータ検索システム100に対して要求することが示されている。
In the
図6は、格納部250が格納するサービス定義ファイルの一例を示す。サービス定義ファイルにおいて、「service」タグ内には、サービスに依存したデータ検索処理を特定するための情報であるサービス定義情報が設定される。サービス定義ファイルにおいて、「services」タグ内には、複数のサービスのサービス定義情報が設定できる。
FIG. 6 shows an example of a service definition file stored in the
サービス定義ファイルにおいて、「name」タグには、サービス識別情報が設定される。たとえば、図6に示すサービス定義ファイルには、サービス識別情報として「Jumin」が設定されている。すなわち、図6に示すサービス定義には、当該サービス定義は「Jumin」サービスに依存したデータ検索処理を特定するためのサービス定義情報であることが示されている。 In the service definition file, service identification information is set in the “name” tag. For example, “Jumin” is set as service identification information in the service definition file shown in FIG. That is, the service definition shown in FIG. 6 indicates that the service definition is service definition information for specifying data search processing depending on the “Jumin” service.
サービス定義ファイルにおいて、「filteringName」タグには、フィルタ処理部240によるフィルタリング処理に用いられるフィルタリング条件名が設定される。サービス定義ファイルにおいて、「daoName」タグには、データ検索処理をおこなうDAOクラスを特定するためのDAO名が設定される。また、「daoServiceName」タグには、データ検索処理をおこなうメソッドおよび通信接続方式が定義されているシステム接続定義ファイルを特定するためのDAOサービス名が設定される。
In the service definition file, a filtering condition name used for the filtering process by the
サービス定義ファイルにおいて、「preLogicName」タグには、事前固有処理実行部322による事前固有処理に用いられる処理プログラム名が設定される。また、「postLogicName」タグには、事後固有処理実行部328による事後固有処理に用いられる処理プログラム名が設定される。また、「conditinLogic」タグには、検索問い合わせ文を構成する絞り込み条件を生成する処理プログラム名が設定される。また、「maxCount」タグには、データベースからのデータの取得件数が設定される。
In the service definition file, a processing program name used for the pre-unique process by the pre-unique
サービス定義ファイルにおいて、「sql」タグには、データ検索処理に用いる検索問い合わせ文を生成するための構成情報が設定される。「sql」タグ内において、「select」タグ内には、データ取得対象のデータ項目が複数設定される。 In the service definition file, configuration information for generating a search query sentence used for data search processing is set in the “sql” tag. Within the “sql” tag, a plurality of data items to be acquired are set in the “select” tag.
「select」タグ内において、「item」タグの「name」属性には、データ取得対象のデータ項目の論理名が設定される。「item」タグの「hide」属性には、当該データ項目をデータ要求元に送信する場合には「true」が設定され、当該データ項目をデータベースから取得するがデータ要求元に送信しない場合には「false」が設定される。 Within the “select” tag, the “name” attribute of the “item” tag is set to the logical name of the data item to be acquired. The “hide” attribute of the “item” tag is set to “true” when the data item is transmitted to the data request source, and when the data item is acquired from the database but not transmitted to the data request source. “False” is set.
「select」タグ内において、「column」タグの「value」属性には、データ取得対象のデータ項目のカラム名が設定される。「from」タグには、データ取得先のテーブル名が設定される。「where」タグには、絞り込み条件が設定される。「order」タグには、ソート条件が設定される。 Within the “select” tag, the “value” attribute of the “column” tag is set to the column name of the data item to be acquired. In the “from” tag, the table name of the data acquisition destination is set. In the “where” tag, a narrowing condition is set. A sort condition is set in the “order” tag.
たとえば、検索処理部230は、図6に示す構成情報から、以下の検索問い合わせ文を生成することができる。「select kojin_no,name,name_kana,address,tel,birth,blood,sex from JuminTbl where blood=A and sex = ? order by name」。
For example, the
図7は、検索部310によるデータ検索処理の一例を示す。図7では、共通データベース123に対するデータベース接続によるデータ検索処理の一例を説明する。なお、生活保護システム122に対するデータベース接続によるデータ検索処理については、共通データベース123に対するデータベース接続によるデータ検索処理と同様なので、説明を省略する。
FIG. 7 shows an example of data search processing by the
まず、検索部310は、権限判定処理部220から、ValueObjectを取得する(S701)。ValueObjectには、データ要求元から送信された、サービス識別情報、不要データ項目、ソート条件、および検索パラメータが示されている。つぎに、検索部310は、格納部250に格納されている複数のサービス定義ファイルの中から、S701で取得したサービス識別情報に対応付けられているサービス定義ファイルを取得する(S702)。
First, the
つぎに、検索部310は、取得したサービス定義ファイルを参照することにより、データ検索処理に用いる検索問い合わせ文の構成情報を特定する(S703)。そして、検索部310は、S703で特定した構成情報およびS701で取得した検索パラメータを用いて、検索問い合わせ文を生成する(S704)。
Next, the
ここでは、検索部310は、S701で取得した不要データ項目を含む、全てのデータ項目を取得するための検索問い合わせ文を生成する。他の例では、検索部310は、S701で取得した不要データ項目以外のデータ項目を取得するための検索問い合わせ文を生成してもよい。たとえば、検索部310は、データ項目「address」およびデータ項目「tel」以外のデータ項目を取得する検索問い合わせ文を生成してもよい。また、検索部310は、S701で取得したソート条件にしたがって検索結果データがソートされる検索問い合わせ文を生成する。たとえば、図7に示す例では、検索部310は、データ項目「konjin_no」で昇順ソートされる検索問い合わせ文を生成する。サービス定義ファイルおよび要求電文の双方にソート条件が示されている場合、検索部310は、要求電文に示されているソート条件を優先して用いて、検索問い合わせ文を生成してもよい。
Here, the
つぎに、検索部310は、格納部250に格納されているDAO定義ファイルを参照することにより(S705)、S701で取得したサービス識別情報に対応付けられている処理プログラムを特定する(S706)。たとえば、図7に示す例では、まず、検索部310は、S702で取得したサービス定義ファイルを参照することにより、サービス識別情報「Jumin」に対応付けられているDAO名として「Jumin_dao」を特定する。また、サービス識別情報「Jumin」に対応付けられているDAOサービス名として「Select」を特定する。そして、検索部310は、格納部250に格納されているDAO定義ファイルを参照することにより、DAO名「Jumin_dao」に対応付けられているDAOクラス「RdbmsSelectDAO」を特定する。また、DAOサービス名「Select」に対応付けられているメソッド「select」を特定する。
Next, the
つぎに、検索部310は、S706で特定した処理プログラムを実行することにより、データベース接続をおこない(S707)、S704で生成した検索問い合わせ文を接続先のデータベースへ送信する(S708)。これにより、検索部310は、接続先のデータベースから検索結果データを取得する(S709)。そして、検索部310は、取得した検索結果データが示されたValueObjectを、権限判定処理部220へ送信する(S710)。フィルタ処理部240によるフィルタリング処理をおこなう場合は、検索部310は、取得した検索結果データが示されたValueObjectを、フィルタ処理部240へ送信してもよい。なお、S709で不要データ項目を含む全てのデータ項目を取得した場合、S710では、取得した検索結果データのうち、不要データ項目以外のデータ項目を、検索結果データとして権限判定処理部220へ送信してもよい。
Next, the
図8は、検索部310によるデータ検索処理の他の一例を示す。図8では、高齢者支援システム121に対するWebサービス接続によるデータ検索処理の一例を説明する。
FIG. 8 shows another example of data search processing by the
まず、検索部310は、権限判定処理部220から、ValueObjectを取得する(S801)。ValueObjectには、データ要求元から送信された、サービス識別情報、不要データ項目、ソート条件、および検索パラメータが示されている。つぎに、検索部310は、格納部250に格納されている複数のサービス定義ファイルの中から、S801で取得したサービス識別情報に対応付けられているサービス定義ファイルを取得する(S802)。
First, the
つぎに、検索部310は、取得したサービス定義ファイルを参照することにより、データ検索処理に用いる検索問い合わせ文の構成情報を特定する(S803)。そして、検索部310は、S803で特定した構成情報およびS801で取得した検索パラメータを用いて、検索問い合わせ文を生成する(S804)。
Next, the
ここでは、検索部310は、S801で取得した不要データ項目を含む、全てのデータ項目を取得するための検索問い合わせ文を生成する。他の例では、S801で取得した不要データ項目以外のデータ項目を取得するための検索問い合わせ文を生成してもよい。たとえば、検索部310は、データ項目「address」およびデータ項目「tel」以外のデータ項目を取得する検索問い合わせ文を生成してもよい。また、検索部310は、S801で取得したソート条件にしたがって検索結果データがソートされる検索問い合わせ文を生成する。たとえば、図8に示す例では、検索部310は、データ項目「konjin_no」で昇順ソートされる検索問い合わせ文を生成する。
Here, the
つぎに、検索部310は、格納部250に格納されているDAO定義ファイルを参照することにより(S805)、S801で取得したサービス識別情報に対応付けられている処理プログラムを特定する(S806)。たとえば、図8に示す例では、まず、検索部310は、S802で取得したサービス定義ファイルを参照することにより、サービス識別情報「Koureisya」に対応付けられているDAO名として「Koureisya_dao」を特定する。また、サービス識別情報「Koureisya」に対応付けられているDAOサービス名として「Koureisya_Web_Connect」を特定する。そして、検索部310は、格納部250に格納されているDAO定義ファイルを参照することにより、DAO名「Koureisya_dao」に対応付けられているDAOクラス「SystemCoopDAO」を特定する。また、DAOサービス名「Koureisya_Web_Connect」に対応付けられているメソッド「execute」を特定する。
Next, the
つぎに、検索部310は、格納部250に格納されているシステム接続定義ファイルを参照することにより(S807)、S801で取得したサービス識別情報に対応付けられている通信接続方式を特定する(S808)。たとえば、図8に示す例では、まず、検索部310は、S802で取得したサービス定義ファイルを参照することにより、サービス識別情報「Koureisya」に対応付けられているDAOサービス名として「Koureisya_Web_Connect」を特定する。そして、検索部310は、格納部250に格納されているシステム接続定義ファイルを参照することにより、DAOサービス名「Koureisya_Web_Connect」と同名のシステム接続サービス「Koureisya_Web_Connect」に対応付けられているGW(ゲートウェイ)実装クラス「KoureisyaWebConnect」および接続方法(Webサービス接続)、uriなどの接続用情報を特定する。
Next, the
つぎに、検索部310は、S806で特定した処理プログラムを実行することにより、S808で特定した通信接続方式を用いた通信接続をおこなう(S809)。具体的には、検索部310は、DAOクラス「SystemCoopDAO」のメソッド「execute」を実行する。メソッド「execute」は、システム接続サービスとしてGW実装クラス「KoureisyaWebConnect」を呼び出すことにより、接続先のシステムに対する通信接続をおこなう。そして、検索部310は、S804で生成した検索問い合わせ文を、接続先のシステムが要求する形式で、接続先のシステムへ送信する(S810)。たとえば、図8に示す例では、検索部310は、S804で生成した検索問い合わせ文を、XML形式で送信する。これにより、検索部310は、接続先のシステムから検索結果データを取得する(S811)。そして、検索部310は、取得した検索結果データが示されたValueObjectを、権限判定処理部220へ送信する(S812)。フィルタ処理部240によるフィルタリング処理をおこなう場合は、検索部310は、取得した検索結果データが示されたValueObjectを、フィルタ処理部240へ送信してもよい。なお、S811で不要データ項目を含む全てのデータ項目を取得した場合、S812では、取得した検索結果データのうち、不要データ項目以外のデータ項目を、検索結果データとして権限判定処理部220へ送信してもよい。
Next, the
このように、本実施形態のデータ検索システム100によれば、複数のサービスのそれぞれに対してデータ検索処理を予め定義しておくことができる。これにより、複数のサービスのそれぞれに対して、サービスに応じた適切なデータ検索処理をおこなうことができる。
Thus, according to the
また、本実施形態のデータ検索システム100によれば、データ要求元は、サービス識別情報をデータ検索システム100に送信するだけで、データ検索処理をデータ検索システム100におこなわせることができる。このため、データ要求元にデータ検索処理を実装する必要がなく、データ要求元のシステム構成を簡素化できる。
Further, according to the
また、本実施形態のデータ検索システム100によれば、サービスインタフェース部210によって、データ検索処理の要求を受け付けるためのインタフェースが共通化されている。このため、データ要求元を追加する場合、追加されるデータ要求元は、既存のデータ要求元に実装されているインタフェースを再利用できる。
Further, according to the
また、本実施形態のデータ検索システム100によれば、サービス定義ファイルにより、データ検索処理の設定を一括して管理できる。このため、サービスを追加する場合であっても、追加されるサービスに対するデータ検索処理の設定を容易におこなうことができる。
Further, according to the
また、本実施形態のデータ検索システム100によれば、データ検索処理に用いる処理プログラムおよび通信接続方式を、複数のサービスで共用できる。このため、サービスを追加する場合であっても、追加されるサービス用の処理プログラムおよび通信接続方式を設ける必要がない。追加されるサービスは、既存のサービスが利用する処理プログラムおよび通信接続方式を利用できる。
Further, according to the
また、本実施形態のデータ検索システム100によれば、複数のサービスでサービス定義ファイルを共用することで、複数のサービスでデータ検索処理を共用できる。これにより、既にキャッシュされているデータ検索処理を有効利用することができるので、データ検索処理の処理効率を向上することができる。具体的には、たとえば、複数のデータ要求元が同様の検索をおこなう場合であっても、それぞれのデータ要求元が他のデータ要求元と異なるSQL文を実行してしまうと、RDMSのキャッシュ効果を得ることができない。本実施形態のデータ検索システム100によれば、同様の検索を行う検索サービスを定義・規定し、それを複数のデータ利用元が共通利用する事で、複数のデータ要求元のそれぞれが同一のSQL文を実行することができるので、RDMSのキャッシュ効果を得ることができ、データ検索処理の処理効率向上を図ることができる。
Further, according to the
図9は、データ取得部418によるデータ取得処理およびデータ送信部426によるデータ送信処理の一例を示す。図9では、共通データベース123からデータを取得する例を示す。
FIG. 9 shows an example of data acquisition processing by the
まず、データ取得部418は、第1取得件数特定部420から、サービス識別情報に対応付けられている取得件数を取得する(S901)。たとえば、データ取得部418は、サービス識別情報に対応付けられている取得件数として「50」を取得する。
First, the
つぎに、データ取得部418は、第2取得件数特定部422から、データ要求元が要求する取得件数を取得する(S902)。たとえば、データ取得部418は、データ要求元が要求する取得件数として「100」を取得する。
Next, the
第2取得件数特定部422から取得した取得件数は、第1取得件数特定部420から取得した取得件数よりも多い。このため、データ取得部418は、第1取得件数特定部420から取得した取得件数である「50」件分の検索結果データを、共通データベース123から取得することを許可する。したがって、データ取得部418は、検索結果データとして「50」件以上ヒットする場合であっても、「50」件分の検索結果データを共通データベース123から取得することを許可する(S903)。
The number of acquisitions acquired from the second acquisition
つぎに、データ送信部426は、送信件数特定部423から、データ要求元が要求する送信件数を取得する(S904)。たとえば、データ送信部426は、データ要求元が要求する送信件数として「5」を取得する。つぎに、データ送信部426は、送信開始位置特定部424から、データ要求元が要求する送信開始位置を取得する(S905)。たとえば、データ送信部426は、データ要求元が要求する送信開始位置として「1」を取得する。
Next, the
そして、データ送信部426は、データ取得部418が取得することを許可した検索結果データのうちの、「1」番目のレコードから「5」件分のレコードを取得する(S906)。たとえば、データ送信部426は、取得することを許可した「50」件分の検索結果データのうちの「1」番目のレコードから「5」件分のレコードを、共通データベース123からフェッチしてメモリ上に展開して取得する。そして、データ送信部426は、取得したレコードと、次のレコードが存在する旨を示す情報とを、権限判定処理部220へ送信する(S907)。
Then, the
続いて、たとえば、データ送信部426は、データ要求元が要求する送信件数として「10」を取得する(S908)。さらに、データ送信部426は、データ要求元が要求する送信開始位置として「6」を取得する(S909)。
Subsequently, for example, the
この場合、データ送信部426は、データ取得部418が取得することを許可した検索結果データのうちの、「6」番目のレコードから「10」件分のレコードを取得する(S910)。たとえば、データ送信部426は、取得することを許可した「50」件分の検索結果データのうちの「6」番目のレコードから「10」件分のレコードを、共通データベース123からフェッチしてメモリ上に展開して取得する。そして、データ送信部426は、取得したレコードと、次のレコードが存在する旨を示す情報とを、権限判定処理部220へ送信する(S911)。
In this case, the
続いて、送信開始位置特定部424から取得した送信開始位置が「51」以降となる場合がある。また、送信開始位置特定部424から取得した送信開始位置と送信件数特定部423から取得した送信件数との合計が「51」以上となる場合がある。これらの場合、データ取得部418は、「51」件目以降の検索結果データを、さらに共通データベース123から取得することを許可するか、または所定のエラー処理をおこなってもよい。
Subsequently, the transmission start position acquired from the transmission start
このように、本実施の形態によれば、複数のサービスのそれぞれに対して、取得件数を定義できる。これにより、複数のサービスのそれぞれにおいて、サービス固有の最適な件数のデータを、データベースから取得することができる。 Thus, according to the present embodiment, the number of acquisition cases can be defined for each of a plurality of services. Thereby, in each of the plurality of services, the optimum number of data unique to the service can be acquired from the database.
また、本実施の形態によれば、データ要求元が要求する取得件数を、データ要求元から取得できる。これにより、複数のサービスのそれぞれにおいて、データ要求元のシステムに応じた最適な件数のデータを、データベースから取得することができる。 Further, according to the present embodiment, the number of acquisitions requested by the data request source can be acquired from the data request source. Thereby, in each of the plurality of services, the optimum number of data corresponding to the data requesting system can be acquired from the database.
また、本実施の形態によれば、データ要求元が要求する送信件数を、データ要求元から取得できる。これにより、複数のサービスのそれぞれにおいて、データ要求元のシステムに応じた最適な件数のデータを、データ要求元へ送信することができる。 Further, according to the present embodiment, the number of transmissions requested by the data request source can be acquired from the data request source. Thereby, in each of the plurality of services, the optimum number of data corresponding to the data requesting system can be transmitted to the data requesting source.
また、本実施の形態によれば、データ要求元から取得した取得件数が、予めサービスに対応付けられている取得件数を超える場合は、予めサービスに対応付けられている取得件数のデータを、データベースから取得する。これにより、データ検索システム100において、一のサービスのデータ検索処理に、大量のリソースが占有されることを防止することができる。
Further, according to the present embodiment, when the number of acquisitions acquired from the data request source exceeds the number of acquisitions previously associated with the service, the data on the number of acquisitions previously associated with the service is stored in the database. Get from. Thereby, in the
図10は、権限判定処理部220による権限判定処理の一例を示す。まず、権限判定処理部220は、サービスインタフェース部210から、ValueObjectを取得する(S1001)。取得したValueObjectには、サービス識別情報、ユーザ情報、および検索パラメータが示されている。
FIG. 10 shows an example of authority determination processing by the authority
図10に示す例では、取得したValueObjectには、サービス識別情報として「住民基本情報取得サービス」が示されている。また、ユーザ情報の部署名として、「○○課」が示されている。また、ユーザ情報の職位名として、「課長」が示されている。 In the example shown in FIG. 10, “Basic Resident Information Acquisition Service” is shown as service identification information in the acquired ValueObject. In addition, “XX section” is shown as the department name of the user information. In addition, “section manager” is shown as the title of the user information.
つぎに、権限判定処理部220は、格納部に格納されている権限判定ルール定義ファイルを参照することにより(S1002)、取得したサービス識別情報に対応付けられている権限判定ルールを特定する(S1003)。図10に示す例では、権限判定処理部220は、サービス識別情報「住民基本情報取得サービス」に対応付けられている権限判定ルールの「必要権限レベル」として「REF」を特定する。また、サービス識別情報「住民基本情報取得サービス」に対応付けられている権限判定ルールの「ルールクラス」として「A」を特定する。
Next, the authority
本実施形態では、権限レベルのパラメータとして「UPD」、「REF」、および「NON」を用いている。「UPD」は、更新権限があることを示す。「REF」は、更新権限はないが、参照権限があることを示す。「NON」は、更新権限も参照権限もないことを示す。 In this embodiment, “UPD”, “REF”, and “NON” are used as authority level parameters. “UPD” indicates that there is an update authority. “REF” indicates that there is no update authority, but there is a reference authority. “NON” indicates that neither update authority nor reference authority exists.
つぎに、権限判定処理部220は、格納部250に格納されている複数のルールクラスの中から、特定したルールクラス「A」を取得する(S1004)。そして、権限判定処理部220は、サービスインタフェース部210から取得したユーザ情報と、格納部250から取得したルールクラスとに基づいて、ユーザに与えられている「権限レベル」を特定する(S1005)。図10に示す例では、権限判定処理部220は、「○○課」の「課長」に与えられている「権限レベル」として「UPD」を特定する。
Next, the authority
つぎに、権限判定処理部220は、特定した「必要権限レベル」と、特定した「権限レベル」とを比較することにより、権限を判定する(S1006)。ここで、権限判定処理部220は、特定した「権限レベル」が、特定した「必要権限レベル」以上の場合は、権限があると判定してもよい。また、権限判定処理部220は、特定した「権限レベル」が、特定した「必要権限レベル」未満の場合は、権限がないと判定してもよい。図10に示す例では、権限判定処理部220は、特定した「権限レベル」である「UPD」が、特定した「必要権限レベル」である「REF」以上であることから、権限がある、すなわち「○○課」の「課長」は、「住民基本情報取得サービス」を利用する権限があると判定する。
Next, the authority
権限判定処理部220は、権限があると判定した場合、サービス識別情報および検索パラメータを示すValueObjectを検索処理部230へ送信する(S1007)。これにより、権限判定処理部220は、検索処理部230に対してデータ検索処理を要求する。権限判定処理部220は、サービスインタフェース部210から取得したValueObjectを、検索処理部230へ送信してもよい。
When the authority
図11は、権限判定処理部220による権限判定処理の他の一例を示す。まず、権限判定処理部220は、サービスインタフェース部210から、ValueObjectを取得する(S1101)。取得したValueObjectには、サービス識別情報、ユーザ情報、および検索パラメータが示されている。
FIG. 11 shows another example of authority determination processing by the authority
図11に示す例では、取得したValueObjectには、サービス識別情報として「住民所得情報取得サービス」が示されている。また、ユーザ情報の部署名として、「△△課」が示されている。また、ユーザ情報の職位名として、「次長」が示されている。 In the example shown in FIG. 11, “Resident Income Information Acquisition Service” is shown as service identification information in the acquired ValueObject. In addition, “△△ section” is shown as the department name of the user information. In addition, “Deputy Director” is shown as the title of the user information.
つぎに、権限判定処理部220は、格納部に格納されている権限判定ルール定義ファイルを参照することにより(S1102)、取得したサービス識別情報に対応付けられている権限判定ルールを特定する(S1103)。図11に示す例では、権限判定処理部220は、サービス識別情報「住民所得情報取得サービス」に対応付けられている権限判定ルールの「必要権限レベル」として「REF」を特定する。また、サービス識別情報「住民基本情報取得サービス」に対応付けられている権限判定ルールの「ルールクラス」として「B」を特定する。
Next, the authority
つぎに、権限判定処理部220は、格納部250に格納されている複数のルールクラスの中から、特定したルールクラス「B」を取得する(S1104)。そして、権限判定処理部220は、サービスインタフェース部210から取得したユーザ情報と、格納部250から取得したルールクラスとに基づいて、ユーザに与えられている「権限レベル」を特定する(S1105)。図11に示す例では、権限判定処理部220は、「△△課」の「次長」に与えられている「権限レベル」として「NON」を特定する。
Next, the authority
つぎに、権限判定処理部220は、特定した「必要権限レベル」と、特定した「権限レベル」とを比較することにより、権限を判定する(S1106)。図11に示す例では、権限判定処理部220は、特定した「権限レベル」である「NON」が、特定した「必要権限レベル」である「REF」未満であることから、権限がない、すなわち「△△課」の「次長」は、「住民所得情報取得サービス」を利用する権限がないと判定する。権限判定処理部220は、権限がないと判定した場合、権限判定処理の結果を示すValueObjectをサービスインタフェース部210へ送信する(S1107)。
Next, the authority
このように、本実施形態のデータ検索システム100によれば、複数のサービスのそれぞれに対して権限判定ルールを定義する。このため、複数のサービスのそれぞれに対して、サービス固有の権限判定処理をおこなうことができる。
Thus, according to the
また、本実施形態のデータ検索システム100によれば、部署名、職位名などのユーザ属性レベルで、権限判定処理をおこなう。このため、複数のユーザIDに対する権限判定ルールの設定および変更を一括しておこなうことができる。
Further, according to the
また、本実施形態のデータ検索システム100によれば、権限判定ルール定義ファイルにより、権限判定ルールを一括して管理する。このため、サービスが追加された場合であっても、追加されたサービスに対する権限判定ルールの設定を容易におこなうことができる。
Further, according to the
図12は、フィルタ処理部240によるフィルタリング処理の一例を示す。まず、フィルタ処理部240は、検索処理部230から、ValueObjectを取得する(S1201)。取得したValueObjectには、サービス識別情報、ユーザ情報、および検索結果データが示されている。
FIG. 12 shows an example of filtering processing by the
図12に示す例では、取得したValueObjectには、サービス識別情報として「住民所得情報取得サービス」が示されている。また、ユーザ情報の部署名として、「△△課」が示されている。また、ユーザ情報の職位名として、「次長」が示されている。また、3つのデータ項目「性別」、「年齢」、および「氏名」を含む検索結果データが示されている。 In the example shown in FIG. 12, “Resident Income Information Acquisition Service” is shown as service identification information in the acquired ValueObject. In addition, “△△ section” is shown as the department name of the user information. In addition, “Deputy Director” is shown as the title of the user information. In addition, search result data including three data items “sex”, “age”, and “name” is shown.
つぎに、フィルタ処理部240は、格納部に格納されているサービス定義ファイルを参照することにより、取得したサービス識別情報に対応付けられているフィルタリング条件を特定する(S1202)。図12に示す例では、フィルタ処理部240は、サービス識別情報「住民所得情報取得サービス」に対応付けられているフィルタリング条件として「条件A」を特定する。
Next, the
つぎに、フィルタ処理部240は、格納部250に格納されているフィルタリング条件定義ファイルを参照することにより(S1203)、特定したフィルタリング条件から、権限判定ルールを、取得した検索結果データのデータ項目ごとに特定する(S1204)。図12に示す例では、フィルタ処理部240は、フィルタリング条件「条件A」から、データ項目「性別」の「必要権限レベル」として「UPD」を特定する。また、データ項目「性別」の「ルールクラス」として「A」を特定する。
Next, the
また、データ項目「年齢」の「必要権限レベル」として「UPD」を特定する。また、データ項目「年齢」の「ルールクラス」として「B」を特定する。また、データ項目「氏名」の「必要権限レベル」として「REF」を特定する。また、データ項目「氏名」の「ルールクラス」として「B」を特定する。 Further, “UPD” is specified as the “required authority level” of the data item “age”. Further, “B” is specified as the “rule class” of the data item “age”. In addition, “REF” is specified as the “required authority level” of the data item “name”. Further, “B” is specified as the “rule class” of the data item “name”.
つぎに、フィルタ処理部240は、格納部250に格納されている複数のルールクラスの中から、特定したルールクラス「A」および「B」を取得する(S1205)。そして、フィルタ処理部240は、サービスインタフェース部210から取得したユーザ情報と、格納部250から取得したルールクラスとに基づいて、ユーザに与えられている「権限レベル」を、データ項目ごとに特定する(S1206)。
Next, the
図12に示す例では、フィルタ処理部240は、「△△課」の「次長」に与えられているデータ項目「性別」に対する「権限レベル」として「UPD」を特定する。また、フィルタ処理部240は、「△△課」の「次長」に与えられているデータ項目「年齢」に対する「権限レベル」として「REF」を特定する。また、フィルタ処理部240は、「△△課」の「次長」に与えられているデータ項目「氏名」に対する「権限レベル」として「REF」を特定する。
In the example illustrated in FIG. 12, the
つぎに、フィルタ処理部240は、データ項目ごとに、特定した「必要権限レベル」と、特定した「権限レベル」とを比較することにより、権限を判定する(S1207)。図12に示す例では、フィルタ処理部240は、データ項目「性別」に対して特定した「権限レベル」である「UPD」が、データ項目「性別」に対して特定した「必要権限レベル」である「UPD」以上であることから、権限がある、すなわち「△△課」の「次長」は、データ項目「性別」を参照する権限があると判定する。
Next, the
また、フィルタ処理部240は、データ項目「年齢」に対して特定した「権限レベル」である「REF」が、データ項目「年齢」に対して特定した「必要権限レベル」である「UPD」未満であることから、権限がない、すなわち「△△課」の「次長」は、データ項目「年齢」を参照する権限がないと判定する。また、フィルタ処理部240は、データ項目「氏名」に対して特定した「権限レベル」である「REF」が、データ項目「氏名」に対して特定した「必要権限レベル」である「REF」以上であることから、権限がある、すなわち「△△課」の「次長」は、データ項目「氏名」を参照する権限があると判定する。
Further, the
フィルタ処理部240は、取得した検索結果データから、権限判定処理によってユーザの権限が有ると判定されたデータ項目である「性別」および「氏名」のデータを抽出する。そして、フィルタ処理部240は、抽出したデータ、すなわちフィルタリング処理後の検索結果データが示されたValueObjectを検索処理部230へ送信する(S1208)。フィルタ処理部240は、フィルタリング処理後の検索結果データが示されたValueObjectを、権限判定処理部220またはサービスインタフェース部210へ送信してもよい。
The
このように、本実施形態のデータ検索システム100によれば、複数のサービスのそれぞれに対してデータ項目レベルで権限判定ルールを設定する。このため、複数のサービスのそれぞれに対して、データ項目レベルで、サービス固有のフィルタリング処理をおこなうことができる。
Thus, according to the
また、本実施形態のデータ検索システム100によれば、フィルタリング条件定義ファイルにより、フィルタリング条件およびデータ項目レベルでの権限判定ルールを一括して管理する。このため、データ項目が追加された場合であっても、追加されたデータ項目に対する権限判定ルールの設定を容易におこなうことができる。
Further, according to the
また、本実施形態のデータ検索システム100によれば、部署名、職位名などのユーザ属性レベルでデータ項目レベルのフィルタリング処理をおこなう。このため、複数のユーザIDに対するフィルタリング条件の設定および変更を一括しておこなうことができる。
Further, according to the
また、本実施形態のデータ検索システム100によれば、フィルタリング処理をデータ検索システム100で集中しておこなう。このため、データ要求元およびデータ取得先のシステムは、フィルタリング処理を実装する必要がない。
Further, according to the
また、本実施形態のデータ検索システム100によれば、検索処理部230によるデータ検索処理から独立して、フィルタ処理部240によるフィルタリング処理をおこなう。このため、検索処理部230は、データ取得先の通信接続方式に依存しない共通の仕組みでフィルタリング処理をおこなうことができる。
Further, according to the
図13は、データ検索システム100のハードウェア構成の一例を示す。データ検索システム100は、ホスト・コントローラ1582により相互に接続されるCPU1505、RAM1520、グラフィック・コントローラ1575、および表示装置1580を有するCPU周辺部を備える。また、データ検索システム100は、I/O(入出力)コントローラ1584によりホスト・コントローラ1582に接続される通信I/F1530、ハードディスクドライブ1540、およびCD−ROMドライブ1560を有する入出力部を備える。さらに、データ検索システム100は、I/Oコントローラ1584に接続されるROM1510、FD(フレキシブルディスク)ドライブ1550、およびI/O(入出力)チップ1570を有するレガシー入出力部を備える。
FIG. 13 shows an example of the hardware configuration of the
ホスト・コントローラ1582は、RAM1520と、高転送レートでRAM1520をアクセスするCPU1505およびグラフィック・コントローラ1575とを接続する。CPU1505は、ROM1510およびRAM1520に格納されたプログラムに基づいて動作して、各部を制御する。グラフィック・コントローラ1575は、CPU1505等がRAM1520内に設けたフレーム・バッファ上に生成する画像データを取得して、表示装置1580上に表示させる。これに代えて、グラフィック・コントローラ1575は、CPU1505等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
The
I/Oコントローラ1584は、ホスト・コントローラ1582と、比較的高速な入出力装置である通信I/F1530、ハードディスクドライブ1540、CD−ROMドライブ1560を接続する。通信I/F1530は、ネットワークを介して外部1598と通信する。ハードディスクドライブ1540は、CPU1505が使用するプログラムおよびデータを格納する。CD−ROMドライブ1560は、CD−ROM1595からプログラムまたはデータを読み取り、RAM1520を介してハードディスクドライブ1540に提供する。
The I /
また、I/Oコントローラ1584には、ROM1510と、FDドライブ1550、およびI/Oチップ1570の比較的低速な入出力装置とが接続される。ROM1510は、データ検索システム100の起動時にCPU1505が実行するブート・プログラム、データ検索システム100のハードウェアに依存するプログラム等を格納する。FDドライブ1550は、フレキシブルディスク1590からプログラムまたはデータを読み取り、RAM1520を介してハードディスクドライブ1540に提供する。I/Oチップ1570は、FDドライブ1550、たとえばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を接続する。
The I /
RAM1520を介してハードディスクドライブ1540に提供されるプログラムは、フレキシブルディスク1590、CD−ROM1595、またはICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM1520を介してデータ検索システム100内のハードディスクドライブ1540にインストールされ、CPU1505において実行される。データ検索システム100にインストールされて実行されるプログラムは、CPU1505等に働きかけて、コンピュータを、図1から図12にかけて説明した、データ検索システム100が有する各機能部として機能させる。
A program provided to the
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。 As mentioned above, although this invention was demonstrated using embodiment, the technical scope of this invention is not limited to the range as described in the said embodiment. It will be apparent to those skilled in the art that various modifications or improvements can be added to the above-described embodiment. It is apparent from the scope of the claims that the embodiments added with such changes or improvements can be included in the technical scope of the present invention.
10 行政システム
100 データ検索システム
110 受給台帳システム
121 高齢者支援システム
122 生活保護システム
123 共通データベース
210 サービスインタフェース部
220 権限判定処理部
230 検索処理部
240 フィルタ処理部
250 格納部
310 検索部
322 事前固有処理実行部
324 カラム値生成部
328 事後固有処理実行部
400 データ検索処理特定部
402 サービス識別情報取得部
404 構成情報特定部
406 処理プログラム特定部
410 通信接続方式特定部
412 検索パラメータ取得部
414 検索問い合わせ文生成部
416 通信接続部
418 データ取得部
420 第1取得件数特定部
422 第2取得件数特定部
423 送信件数特定部
424 送信開始位置特定部
426 データ送信部
430 通信接続部
510 ヘッダー部
520 ボディ部
1505 CPU
1510 ROM
1520 RAM
1530 通信I/F
1540 ハードディスクドライブ
1550 FDドライブ
1560 CD−ROMドライブ
1570 I/Oチップ
1575 グラフィック・コントローラ
1580 表示装置
1582 ホスト・コントローラ
1584 I/Oコントローラ
1590 フレキシブルディスク
1595 CD−ROM
1598 外部
DESCRIPTION OF
1510 ROM
1520 RAM
1530 Communication I / F
1540
1598 External
Claims (11)
前記データ要求元システムから送信された、前記データ要求元システムが選択した情報検索サービスを識別するためのサービス識別情報を取得するサービス識別情報取得部と、
前記データ要求元システムから送信された不要データ項目の識別情報を取得する検索パラメータ取得部と、
前記複数の情報検索サービスを識別するための複数のサービス識別情報のそれぞれに対する、検索問い合わせ文の構成情報の対応付けが示された定義情報を格納する格納部と、
前記格納部に格納されている前記定義情報を参照することにより、前記サービス識別情報取得部が取得した前記サービス識別情報に対応付けられている前記構成情報を特定する構成情報特定部と、
前記構成情報特定部が特定した前記構成情報を用いて、検索問い合わせ文を生成する検索問い合わせ文生成部と、
前記検索問い合わせ文生成部が生成した前記検索問い合わせ文により、前記データを取得するデータ取得部と、
前記データ取得部が取得した前記データを、前記データ要求元システムへ送信するデータ送信部と
を備え、
前記構成情報は、前記データベースからデータを取得するべきデータ取得対象のデータ項目と、当該データ取得対象のデータ項目のデータを要求元へ送信するか否かとを示す情報を含み、
前記検索問い合わせ文生成部は、前記構成情報特定部が特定した前記構成情報に含まれる情報で示される前記データ取得対象のデータ項目であって前記不要データ項目を含むデータ項目のデータを、前記データベースから検索するための検索問い合わせ文を生成し、
前記データ取得部は、前記検索問い合わせ文生成部が生成した前記検索問い合わせ文を前記データベースへ送信することにより前記データを前記データベースからデータを取得し、
前記データ送信部は、前記データ取得部が前記データベースから取得した前記データのうち、前記構成情報特定部が特定した前記構成情報に含まれる情報によって要求元へ送信する旨が示されているデータ項目であり、かつ、前記不要データ項目以外のデータ項目のデータを、前記データ要求元システムへ送信する
データ検索システム。 According to the information retrieval service selected by the data requesting system, which is a data requesting system among the plurality of information retrieving services, having a function of providing a plurality of information retrieving services that retrieve and provide data from a database data a data retrieval system for retrieving from said database Te,
Said data request sent from the source system, service identification information acquisition unit that acquires service identification information for the data requesting system to identify the selected information retrieval services,
A search parameter acquisition unit for acquiring identification information of unnecessary data items transmitted from the data request source system;
A storage unit that stores definition information in which a plurality of pieces of service identification information for identifying the plurality of information search services are associated with search query sentence configuration information;
A configuration information specifying unit that specifies the configuration information associated with the service identification information acquired by the service identification information acquisition unit by referring to the definition information stored in the storage unit;
A search query statement generating unit that generates a search query statement using the configuration information specified by the configuration information specifying unit;
A data acquisition unit that acquires the data by the search query statement generated by the search query statement generation unit;
A data transmission unit that transmits the data acquired by the data acquisition unit to the data requesting system ;
The configuration information includes information indicating a data item to be acquired from which data is to be acquired from the database, and whether to transmit data of the data item to be acquired to the request source.
The search query generator generates data items of data items including the unnecessary data items that are the data items to be acquired indicated by the information included in the configuration information specified by the configuration information specifying unit. Generate a search query to search from
The data acquisition unit acquires the data from the database by transmitting the search query statement generated by the search query statement generation unit to the database,
The data item indicating that the data transmitting unit transmits to the request source by information included in the configuration information specified by the configuration information specifying unit among the data acquired by the data acquiring unit from the database And a data search system for transmitting data of data items other than the unnecessary data items to the data requesting system.
前記データ要求元システムが要求する、データの取得件数を特定する第2取得件数特定部と A second acquisition number specifying part for specifying the number of data acquisitions requested by the data requesting system;
をさらに備え、Further comprising
前記データ取得部は、前記第2取得件数特定部が特定した取得件数が、前記第1取得件数特定部が特定した取得件数よりも少ない場合は、前記第2取得件数特定部が特定した取得件数を上限として、前記検索問い合わせ文生成部が生成した前記検索問い合わせ文により検索されるデータを前記データベースから取得する When the number of acquisitions specified by the second acquisition number specifying unit is smaller than the number of acquisitions specified by the first acquisition number specifying unit, the data acquisition unit specifies the number of acquisitions specified by the second acquisition number specifying unit. The search query statement generated by the search query statement generation unit is retrieved from the database with the upper limit of
請求項1に記載のデータ検索システム。The data search system according to claim 1.
前記データ要求元システムから送信された、前記データ要求元システムが選択した情報検索サービスを識別するためのサービス識別情報を取得するサービス識別情報取得部と、 A service identification information acquisition unit for acquiring service identification information transmitted from the data request source system for identifying the information search service selected by the data request source system;
前記サービス識別情報取得部が取得した前記サービス識別情報に対応付けられているデータの取得件数を特定する第1取得件数特定部と、 A first acquisition number specifying unit for specifying the number of acquisitions of data associated with the service identification information acquired by the service identification information acquisition unit;
前記データ要求元システムが要求する、データの取得件数を特定する第2取得件数特定部と、 A second acquisition number specifying unit for specifying the number of data acquisitions requested by the data requesting system;
前記複数の情報検索サービスを識別するための複数のサービス識別情報のそれぞれに対する、検索問い合わせ文の構成情報の対応付けが示された定義情報を格納する格納部と、 A storage unit that stores definition information in which a plurality of pieces of service identification information for identifying the plurality of information search services are associated with search query sentence configuration information;
前記格納部に格納されている前記定義情報を参照することにより、前記サービス識別情報取得部が取得した前記サービス識別情報に対応付けられている前記構成情報を特定する構成情報特定部と、 A configuration information specifying unit that specifies the configuration information associated with the service identification information acquired by the service identification information acquisition unit by referring to the definition information stored in the storage unit;
前記構成情報特定部が特定した前記構成情報を用いて、検索問い合わせ文を生成する検索問い合わせ文生成部と、 A search query statement generating unit that generates a search query statement using the configuration information specified by the configuration information specifying unit;
前記検索問い合わせ文生成部が生成した前記検索問い合わせ文により、前記データを取得するデータ取得部と、 A data acquisition unit that acquires the data by the search query statement generated by the search query statement generation unit;
前記データ取得部が取得した前記データを、前記データ要求元システムへ送信するデータ送信部と A data transmission unit that transmits the data acquired by the data acquisition unit to the data requesting system;
を備え、With
前記データ取得部は、前記第2取得件数特定部が特定した取得件数が、前記第1取得件数特定部が特定した取得件数よりも少ない場合は、前記第2取得件数特定部が特定した取得件数を上限として、前記検索問い合わせ文生成部が生成した前記検索問い合わせ文により検索されるデータを前記データベースから取得し、 When the number of acquisitions specified by the second acquisition number specifying unit is smaller than the number of acquisitions specified by the first acquisition number specifying unit, the data acquisition unit specifies the number of acquisitions specified by the second acquisition number specifying unit. Is acquired from the database, the data searched by the search query sentence generated by the search query sentence generation unit,
前記構成情報は、前記データベースからデータを取得するべきデータ取得対象のデータ項目と、当該データ取得対象のデータ項目のデータを要求元へ送信するか否かとを示す情報を含み、 The configuration information includes information indicating a data item to be acquired from which data is to be acquired from the database, and whether to transmit data of the data item to be acquired to the request source.
前記検索問い合わせ文生成部は、前記構成情報特定部が特定した前記構成情報に含まれる情報で示される前記データ取得対象のデータ項目のデータを、前記データベースから検索するための検索問い合わせ文を生成し、 The search query statement generation unit generates a search query statement for searching the database for data of the data item to be acquired indicated by the information included in the configuration information specified by the configuration information specifying unit. ,
前記データ取得部は、前記検索問い合わせ文生成部が生成した前記検索問い合わせ文を前記データベースへ送信することにより前記データを前記データベースからデータを取得し、 The data acquisition unit acquires the data from the database by transmitting the search query statement generated by the search query statement generation unit to the database,
前記データ送信部は、前記データ取得部が前記データベースから取得した前記データのうち、前記構成情報特定部が特定した前記構成情報に含まれる情報によって要求元へ送信する旨が示されているデータ項目のデータを、前記データ要求元システムへ送信する The data item indicating that the data transmitting unit transmits to the request source by information included in the configuration information specified by the configuration information specifying unit among the data acquired by the data acquiring unit from the database Is sent to the data requesting system.
データ検索システム。Data retrieval system.
前記データ要求元システムが要求する、データの送信開始位置を特定する送信開始位置特定部と、 A transmission start position specifying unit for specifying a data transmission start position requested by the data requesting system;
をさらに備え、Further comprising
前記データ取得部は、前記第1取得件数特定部が特定した取得件数および前記第2取得件数特定部が特定した取得件数の少ない方の取得件数のデータを、前記データベースから取得することを許可し、 The data acquisition unit permits the acquisition of data from the database, the number of acquisitions specified by the first acquisition number specifying unit and the acquisition number of the acquisitions having a smaller number of acquisitions specified by the second acquisition number specifying unit. ,
前記データ送信部は、前記送信開始位置特定部が特定した前記送信開始位置および前記送信件数特定部が特定した前記送信件数によって示されるデータの位置が、前記許可された取得件数の範囲を超えない場合に、前記データ取得部が前記データベースから取得した前記送信開始位置から前記送信件数のデータを、前記データ要求元システムへ送信する In the data transmission unit, the position of data indicated by the transmission start position specified by the transmission start position specifying unit and the number of transmissions specified by the transmission number specifying unit does not exceed the range of the permitted number of acquisitions. In this case, the data acquisition unit transmits the transmission count data from the transmission start position acquired from the database to the data request source system.
請求項2または3に記載のデータ検索システム。The data search system according to claim 2 or 3.
をさらに備え、
前記定義情報はさらに、前記複数のサービス識別情報のそれぞれに対する、前記フィルタ処理部による前記フィルタリング処理に用いられるフィルタリング条件の対応付けを示し、
前記フィルタ処理部は、前記格納部に格納されている前記定義情報を参照することにより、前記サービス識別情報取得部が取得した前記サービス識別情報に対応付けられている前記フィルタリング条件で前記フィルタリング処理を行う
請求項1から4のいずれか一項に記載のデータ検索システム。 A filter processing unit that performs a filtering process in units of data items on the data transmitted to the data requesting system ,
The definition information further indicates an association of filtering conditions used for the filtering process by the filter processing unit with respect to each of the plurality of service identification information,
The filter processing unit refers to the definition information stored in the storage unit, and performs the filtering process with the filtering condition associated with the service identification information acquired by the service identification information acquisition unit. The data search system according to claim 1, wherein the data search system is performed.
請求項1から5のいずれか一項に記載のデータ検索システム。 The search query statement generation unit uses the configuration information the configuration information identifying unit has identified, the data search system according to claim 1, any one of 5 to generate the SQL statement as the search query statement.
をさらに備え、
前記検索問い合わせ文生成部は、前記検索パラメータ取得部が取得した前記絞込み条件および前記構成情報特定部が特定した前記構成情報を用いて、前記絞込み条件に合致する前記データを前記データベースから取得するための前記検索問い合わせ文を生成する
請求項2から4のいずれか一項に記載のデータ検索システム。 Search parameter acquisition unit for acquiring narrowing-down conditions transmitted from the data request source system
Further comprising
The search query statement generation unit uses the narrowing condition acquired by the search parameter acquisition unit and the configuration information specified by the configuration information specifying unit to acquire the data that matches the narrowing condition from the database. The data search system according to any one of claims 2 to 4 , wherein the search query statement is generated.
前記検索問い合わせ文生成部は、前記ソート条件に従ってソートされた前記データを前記データベースから取得するための前記検索問い合わせ文を生成する
請求項7に記載のデータ検索システム。 The search parameter acquisition unit further acquires a sort condition transmitted from the data request source system ,
The data search system according to claim 7 , wherein the search query statement generation unit generates the search query statement for acquiring the data sorted according to the sort condition from the database.
前記データ要求元システムが備える端末装置と
を備え、
前記端末装置は、前記複数の情報検索サービスの中から選択した情報検索サービスを識別するためのサービス識別情報を含む要求電文を送信し、
前記データ検索システムは、前記端末装置へ送信するデータを応答電文で前記端末装置へ送信する
システム。 The data search system according to any one of claims 1 to 8 ,
A terminal device provided in the data request source system ,
The terminal device transmits a request message including service identification information for identifying an information search service selected from the plurality of information search services;
The data search system is a system for transmitting data to be transmitted to the terminal device to the terminal device by a response message.
前記データ検索システムが備える格納部が、前記複数の情報検索サービスを識別するための複数のサービス識別情報のそれぞれに対する、検索問い合わせ文の構成情報の対応付けが示された定義情報を格納する格納段階と、
前記データ検索システムが備えるサービス識別情報取得部が、前記データ要求元システムから送信された、前記データ要求元システムが選択した前記情報検索サービスを識別するためのサービス識別情報を取得するサービス識別情報取得段階と、
前記データ検索システムが備える検索パラメータ取得部が、前記データ要求元システムから送信された不要データ項目の識別情報を取得する検索パラメータ取得段階と、
前記データ検索システムが備える構成情報特定部が、前記格納部に格納されている前記定義情報を参照することにより、前記サービス識別情報取得部が取得した前記サービス識別情報に対応付けられている前記構成情報を特定する構成情報特定段階と、
前記データ検索システムが備える検索問い合わせ文生成部が、前記構成情報特定部が特定した前記構成情報を用いて、検索問い合わせ文を生成する検索問い合わせ文生成段階と、
前記データ検索システムが備えるデータ取得部が、前記検索問い合わせ文生成部が生成した前記検索問い合わせ文により、前記データを取得するデータ取得段階と、
前記データ検索システムが備えるデータ送信部が、前記データ取得部が取得した前記データを、前記データ要求元システムへ送信するデータ送信段階と
を備え、
前記構成情報は、前記データベースからデータを取得するべきデータ取得対象のデータ項目と、当該データ取得対象のデータ項目のデータを要求元へ送信するか否かとを示す情報を含み、
前記検索問い合わせ文生成段階において、前記検索問い合わせ文生成部は、前記構成情報特定部が特定した前記構成情報に含まれる情報で示される前記データ取得対象のデータ項目であって前記不要データ項目を含むデータ項目のデータを、前記データベースから検索するための検索問い合わせ文を生成し、
前記データ取得段階において、前記データ取得部は、前記検索問い合わせ文生成部が生成した前記検索問い合わせ文を前記データベースへ送信することにより前記データベースからデータを取得し、
前記データ送信段階において、前記データ送信部は、前記データ取得部が前記データベースから取得した前記データのうち、前記構成情報特定部が特定した前記構成情報に含まれる情報によって要求元へ送信する旨が示されているデータ項目であり、かつ、前記不要データ項目以外のデータ項目のデータを、前記データ要求元システムへ送信する
データ検索方法。 A data search system having a function of providing a plurality of information search services that search and provide data from a database selects an information search selected by a data request source system that is a data request source system among the plurality of information search services a data retrieval method for retrieving data from the database according to the service,
A storage stage in which the storage unit included in the data search system stores definition information indicating a correspondence of configuration information of a search query statement to each of a plurality of service identification information for identifying the plurality of information search services When,
Service identification information acquisition unit for acquiring service identification information for identifying the information search service selected by the data request source system , transmitted from the data request source system , by a service identification information acquisition unit included in the data search system Stages,
A search parameter acquisition unit provided in the data search system acquires a search parameter acquisition step of acquiring identification information of unnecessary data items transmitted from the data request source system,
The configuration associated with the service identification information acquired by the service identification information acquisition unit by referring to the definition information stored in the storage unit by a configuration information specifying unit included in the data search system A configuration information identification stage for identifying information;
A search query statement generating unit provided in the data search system uses the configuration information specified by the configuration information specifying unit to generate a search query statement, and
A data acquisition stage provided in the data search system, the data acquisition step of acquiring the data by the search query sentence generated by the search query sentence generation unit;
A data transmission unit included in the data search system includes a data transmission step of transmitting the data acquired by the data acquisition unit to the data request source system ;
The configuration information includes information indicating a data item to be acquired from which data is to be acquired from the database, and whether to transmit data of the data item to be acquired to the request source.
In the search query statement generation stage, the search query statement generation unit includes the unnecessary data item that is the data item to be acquired indicated by the information included in the configuration information specified by the configuration information specifying unit. Generating a search query for searching the data of the data item from the database;
In the data acquisition step, the data acquisition unit acquires data from the database by transmitting the search query statement generated by the search query statement generation unit to the database,
In the data transmission step, the data transmission unit may transmit to the request source by information included in the configuration information specified by the configuration information specifying unit among the data acquired by the data acquisition unit from the database. A data search method for transmitting data of a data item other than the unnecessary data item to the data request source system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008092631A JP5320637B2 (en) | 2008-03-31 | 2008-03-31 | Data search system, system, program, and data search method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008092631A JP5320637B2 (en) | 2008-03-31 | 2008-03-31 | Data search system, system, program, and data search method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009245282A JP2009245282A (en) | 2009-10-22 |
JP5320637B2 true JP5320637B2 (en) | 2013-10-23 |
Family
ID=41307078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008092631A Active JP5320637B2 (en) | 2008-03-31 | 2008-03-31 | Data search system, system, program, and data search method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5320637B2 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130132372A1 (en) * | 2011-11-17 | 2013-05-23 | Benefitfocus.Com | Systems and methods for dynamic service integration |
JP5916974B1 (en) * | 2014-11-19 | 2016-05-11 | 株式会社インフォメックス | Data search device, program, and recording medium |
EP3171282A4 (en) | 2014-11-19 | 2017-12-06 | Informex Inc. | Data retrieval apparatus, program and recording medium |
CN112015771B (en) * | 2020-10-15 | 2021-06-29 | 北京新唐思创教育科技有限公司 | Data retrieval method and device, electronic equipment and computer storage medium |
KR20220055151A (en) * | 2020-10-26 | 2022-05-03 | 삼성에스디에스 주식회사 | Method for generating identification id, and apparatus implementing the same method |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001142885A (en) * | 1999-11-12 | 2001-05-25 | Hitachi Ltd | Inquiry sql generator by job name designation |
JP2004126680A (en) * | 2002-09-30 | 2004-04-22 | Fujitsu Ltd | Sql masking type database access method and computer program |
JP4109988B2 (en) * | 2002-12-27 | 2008-07-02 | キヤノンマーケティングジャパン株式会社 | Database search apparatus, database search method, program, and computer-readable recording medium |
JP3892825B2 (en) * | 2003-05-23 | 2007-03-14 | 株式会社東芝 | Database search support system and database search support method |
JP5430819B2 (en) * | 2003-08-28 | 2014-03-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Database system, information acquisition availability inspection system, information acquisition method, and program |
JP4429082B2 (en) * | 2004-06-02 | 2010-03-10 | 富士通株式会社 | Session management method and apparatus |
JP2006004274A (en) * | 2004-06-18 | 2006-01-05 | Nippon Telegr & Teleph Corp <Ntt> | Interactive processing device, interactive processing method, and interactive processing program |
KR100795929B1 (en) * | 2005-09-29 | 2008-01-21 | 엔에이치엔(주) | Method and system for transmitting defined-query to database |
-
2008
- 2008-03-31 JP JP2008092631A patent/JP5320637B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2009245282A (en) | 2009-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4739455B2 (en) | Document management method | |
US8352396B2 (en) | Systems and methods for improving web site user experience | |
US9703885B2 (en) | Systems and methods for managing content variations in content delivery cache | |
RU2380748C2 (en) | Registration and receiving information about database table change which can be used to invalidate cache elements | |
JP4660475B2 (en) | User profile management system | |
CN100478944C (en) | Automatic task generator method and system | |
JP5509596B2 (en) | Data management device | |
KR100737300B1 (en) | Intelligent Use of User Data to Pre-emptively Prevent Execution of a Query Violating Access Controls | |
JP2010518467A (en) | How to integrate an enterprise search system with a custom access control application programming interface | |
JP2010026653A (en) | Data access control method, data access control apparatus, and program | |
JP2006505062A (en) | How to achieve security for your data | |
JP5320637B2 (en) | Data search system, system, program, and data search method | |
CN111046041B (en) | Data processing method and device, storage medium and processor | |
US11176044B2 (en) | Systems and methods for implementing overlapping data caching for object application program interfaces | |
JP2009037501A (en) | Information retrieval apparatus, information retrieval method and program | |
CN112597486A (en) | Method for preventing repeated access to Restful API based on Spring | |
JP5322019B2 (en) | Predictive caching method for caching related information in advance, system thereof and program thereof | |
JP5156935B2 (en) | Data search system, system, program, and data search method | |
JP5283600B2 (en) | Information search program, information search system | |
JP2009245283A (en) | Data retrieval system, data retrieval method, and program | |
KR100658299B1 (en) | Method for monitoring telecommunication network performance based on web corresponding to change database structure | |
JP2002175327A (en) | Method for managing database | |
JP5354208B2 (en) | Default value setting system and default value setting method | |
Rasool et al. | Poster: Rql: rest query language for converting firebase to a mobile cloud computing platform | |
JP4550876B2 (en) | Structured document retrieval system and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100401 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20120330 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20120330 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20120330 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120627 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120710 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120827 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130129 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130329 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130618 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130628 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5320637 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |