JP2008197974A - Dbアクセスの疎結合化システム - Google Patents
Dbアクセスの疎結合化システム Download PDFInfo
- Publication number
- JP2008197974A JP2008197974A JP2007033412A JP2007033412A JP2008197974A JP 2008197974 A JP2008197974 A JP 2008197974A JP 2007033412 A JP2007033412 A JP 2007033412A JP 2007033412 A JP2007033412 A JP 2007033412A JP 2008197974 A JP2008197974 A JP 2008197974A
- Authority
- JP
- Japan
- Prior art keywords
- business
- data
- access
- sql
- service
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】 DB中のテーブルに格納された業務データを、SQL文を用いてDBアクセスする構造の業務システムにおいて、DBアクセスを含む密結合型システムをWebサービスを用いて疎結合化すること。
【解決手段】 業務システムにおける業務ロジックの実行時に、業務ロジックがDBアクセスするSQL文をフックする手段と、フックしたSQL文の内容を解析し、アクセスの対象となる業務データが、外部システム上に存在するDB上のテーブルに存在する場合には、フックしたSQL文をWebサービスのメッセージ交換に変換して外部システム上の業務データにアクセスする手段と、アクセスの対象となる業務データが、業務システム内部に存在するDB上のテーブルに存在する場合には、フックしたSQL文を業務システム内部に存在するDBのDB管理システムへ処理を依頼し、業務システム内の業務データにアクセスする手段とを備える。
【選択図】 図1
【解決手段】 業務システムにおける業務ロジックの実行時に、業務ロジックがDBアクセスするSQL文をフックする手段と、フックしたSQL文の内容を解析し、アクセスの対象となる業務データが、外部システム上に存在するDB上のテーブルに存在する場合には、フックしたSQL文をWebサービスのメッセージ交換に変換して外部システム上の業務データにアクセスする手段と、アクセスの対象となる業務データが、業務システム内部に存在するDB上のテーブルに存在する場合には、フックしたSQL文を業務システム内部に存在するDBのDB管理システムへ処理を依頼し、業務システム内の業務データにアクセスする手段とを備える。
【選択図】 図1
Description
本発明は、DBアクセスを含む密結合型システムをWebサービスを用いて疎結合化するシステムに関するものである。
大規模な業務システムでは、取り扱うデータの種類が多いため、最初にデータ構造の設計を一括して行い、データの流れを中心としたアプローチによってシステム設計を行うデータ指向アーキテクチャを採用すること一般的である。
しかし、データ指向アーキテクチャで設計したシステムは、データ構造と業務ロジックが密接に関連しているため、業務システムの一部を部分的に別の業務システムで再利用することが容易ではないという欠点がある。
データ指向アーキテクチャに対して、業務をデータではなく、プロセスの流れを中心としたアプローチによって設計するプロセス指向アーキテクチャがある。
プロセス指向アーキテクチャでは、各プロセスを独立したサービスとして設計することにより、サービスを別の業務システムで再利用することが容易である。プロセス指向アーキテクチャは、サービス指向アーキテクチャとも呼ばれる。
しかし、データ指向アーキテクチャで設計したシステムは、データ構造と業務ロジックが密接に関連しているため、業務システムの一部を部分的に別の業務システムで再利用することが容易ではないという欠点がある。
データ指向アーキテクチャに対して、業務をデータではなく、プロセスの流れを中心としたアプローチによって設計するプロセス指向アーキテクチャがある。
プロセス指向アーキテクチャでは、各プロセスを独立したサービスとして設計することにより、サービスを別の業務システムで再利用することが容易である。プロセス指向アーキテクチャは、サービス指向アーキテクチャとも呼ばれる。
旧来の業務システムでは、ユーザが業務システムに業務の運用を合わせることにより、業務システムの改修を軽減し、業務システムのライフサイクルを延ばしてきた。しかし、最近の業務システムでは、業務の運用の変化のニーズに業務システムが柔軟に追従することが求められてきている。業務システムが柔軟であるためには、業務システムの部分再利用性が高いことが重要であり、データ指向アーキテクチャよりも、サービス指向アーキテクチャが向いている。しかし、データ指向アーキテクチャで設計された業務システム全体を一括してサービス指向アーキテクチャに転換することは困難である。
そこで、データ指向アーキテクチャで設計された業務システムの一部を、ラッピングなどの手法を用いてサービス指向アーキテクチャのサービス化して再利用し、逐次、サービス指向アーキテクチャによる業務システムの構築を進める方法が公知となっている。
そこで、データ指向アーキテクチャで設計された業務システムの一部を、ラッピングなどの手法を用いてサービス指向アーキテクチャのサービス化して再利用し、逐次、サービス指向アーキテクチャによる業務システムの構築を進める方法が公知となっている。
図3は、データ指向アーキテクチャで設計された業務システムの一部の業務ロジックをラッピングによりサービス化し、サービス指向アーキテクチャのシステムの一部として再利用する例を示す図である。
図3に示すように、データ指向アーキテクチャで設計された業務システムB302に含まれる業務ロジックB304を、ネットワーク経由でサービスとして再利用可能にするためのサービスラッパーB303を用いてラッピングしてサービス化し、サービス指向アーキテクチャで設計された業務システムA301から、サービスとして再利用している。
同様に、業務システムC305に含まれる業務ロジックC307を、ネットワーク経由でサービスとして再利用可能にするためのサービスラッパーC306を用いてラッピングしてサービス化し、サービス指向アーキテクチャで設計された業務システムA301から、サービスとして再利用している。
前記サービスによるラッピングにより、業務システム全体としては、サービス指向アーキテクチャの業務システムになる。
なお、本発明に関連する公知技術文献としては下記の特許文献1がある。
図3に示すように、データ指向アーキテクチャで設計された業務システムB302に含まれる業務ロジックB304を、ネットワーク経由でサービスとして再利用可能にするためのサービスラッパーB303を用いてラッピングしてサービス化し、サービス指向アーキテクチャで設計された業務システムA301から、サービスとして再利用している。
同様に、業務システムC305に含まれる業務ロジックC307を、ネットワーク経由でサービスとして再利用可能にするためのサービスラッパーC306を用いてラッピングしてサービス化し、サービス指向アーキテクチャで設計された業務システムA301から、サービスとして再利用している。
前記サービスによるラッピングにより、業務システム全体としては、サービス指向アーキテクチャの業務システムになる。
なお、本発明に関連する公知技術文献としては下記の特許文献1がある。
ところで、データ指向アーキテクチャで設計された業務システムは、構造化された業務データと、業務データと密接に関連した業務ロジックの組み合わせで構成されている。
業務システムの一部を外部システムからサービスとして再利用するためには、業務ロジックの一部を切り出してラッピングするだけでは不十分であり、業務ロジックに関連する業務データへのアクセスをラッピングする必要がある。
業務システムの一部を外部システムからサービスとして再利用するためには、業務ロジックの一部を切り出してラッピングするだけでは不十分であり、業務ロジックに関連する業務データへのアクセスをラッピングする必要がある。
図4は、DBを含む業務システムの構造例を示す図である。
業務システムA401に含まれる業務ロジックA402は、業務ロジックC405を手続きとして呼び出す。また、業務ロジックA402は、業務データA403と業務データB404に対して、それぞれのテーブルをにアクセスするためのSQL文を発行する。
図4のシステムにおいて、サービス化のためのラッピングを行う場合には、業務ロジックC405、業務データA403、業務データB404がラッピング対象になる。
業務ロジックと業務データをラッピングして、サービス指向アーキテクチャにおけるサービスとして再利用する際には、ラッピングするサービスのインタフェースが、それ自体で自己完結する疎結合なインタフェースにすることにより利便性が高まる。
自己完結する疎結合なインタフェースをもつ標準的な技術として、Webサービスが使われることが多くなってきている。
業務システムA401に含まれる業務ロジックA402は、業務ロジックC405を手続きとして呼び出す。また、業務ロジックA402は、業務データA403と業務データB404に対して、それぞれのテーブルをにアクセスするためのSQL文を発行する。
図4のシステムにおいて、サービス化のためのラッピングを行う場合には、業務ロジックC405、業務データA403、業務データB404がラッピング対象になる。
業務ロジックと業務データをラッピングして、サービス指向アーキテクチャにおけるサービスとして再利用する際には、ラッピングするサービスのインタフェースが、それ自体で自己完結する疎結合なインタフェースにすることにより利便性が高まる。
自己完結する疎結合なインタフェースをもつ標準的な技術として、Webサービスが使われることが多くなってきている。
Webサービスは、XMLをベースにした疎結合なサービスをWebインフラ上で実現する技術であり、手続きの呼び出しやデータをXML形式のメッセージでやりとりすることを特徴としている。
業務ロジックと業務データとをWebサービス技術を用いてラッピングし、サービス化する場合において、業務ロジックを構成する一連のプログラムコードから成る手続きは、Webサービスの手続き呼び出しに対応することができる。
一方、通常の場合、業務データはDB中のテーブルに格納されており、テーブルの参照や更新などのDBアクセス操作を行うためには、SQL文などのDBアクセス言語を記述して、DB管理システムへ処理を依頼する必要がある。しかし、Webサービスは、DBアクセスなどの特定のデータアクセス手段に依存するメッセージ交換仕様を規定していないため、テーブルに格納された業務データにアクセスするための手段をWebサービスで実現するためには、各テーブルについて、データアクセスのための手続きを個別に用意する必要があり、手間がかかってしまうとい問題があった。
なお、前述の特許文献1に開示された技術は、サーバ内の複数のデータベースソフトの構成定義に合わせて業務アプリケーションが発行するDBアクセス要求を変換するものであるが、Webサービスに対応させる構成については開示されていない。
業務ロジックと業務データとをWebサービス技術を用いてラッピングし、サービス化する場合において、業務ロジックを構成する一連のプログラムコードから成る手続きは、Webサービスの手続き呼び出しに対応することができる。
一方、通常の場合、業務データはDB中のテーブルに格納されており、テーブルの参照や更新などのDBアクセス操作を行うためには、SQL文などのDBアクセス言語を記述して、DB管理システムへ処理を依頼する必要がある。しかし、Webサービスは、DBアクセスなどの特定のデータアクセス手段に依存するメッセージ交換仕様を規定していないため、テーブルに格納された業務データにアクセスするための手段をWebサービスで実現するためには、各テーブルについて、データアクセスのための手続きを個別に用意する必要があり、手間がかかってしまうとい問題があった。
なお、前述の特許文献1に開示された技術は、サーバ内の複数のデータベースソフトの構成定義に合わせて業務アプリケーションが発行するDBアクセス要求を変換するものであるが、Webサービスに対応させる構成については開示されていない。
本発明は、前記課題を解決するためのものであり、DB中のテーブルに格納された業務データを、SQL文を用いてDBアクセスする構造の業務システムにおいて、データアクセスのための手続きを個別に用意することなく、DBアクセスを含む密結合型システムをWebサービスを用いて疎結合化することが可能なシステムを提供することを目的とする。
上記目的を達成するために、本発明のDBアクセスの疎結合化システムは、業務システムにおける業務ロジックの実行時に、業務ロジックがDBアクセスするSQL文をフックする手段と、フックしたSQL文の内容を解析し、アクセスの対象となる業務データが、外部システム上に存在するDB上のテーブルに存在する場合には、フックしたSQL文をWebサービスのメッセージ交換に変換して外部システム上の業務データにアクセスする手段と、アクセスの対象となる業務データが、業務システム内部に存在するDB上のテーブルに存在する場合には、フックしたSQL文を業務システム内部に存在するDBのDB管理システムへ処理を依頼し、業務システム内の業務データにアクセスする手段とを備えることを特徴とする。
本発明のDBアクセス疎結合化方法によれば、業務システムのコードの書き換えを行わずに、DBアクセスを含む密結合型システムをWebサービスを用いて疎結合化することができる。
以下、本発明を適用したDBアクセス疎結合化システムの一実施の形態について、図面に基づき説明する。
図1は、本発明の実施の形態に係わるDBアクセスの疎結合化システムの概略構成を示す図である。
図1に示すように、本実施の形態に係わるDBアクセスの疎結合化システム105は、SQLフック機構107、SQL解析機構108、SQL再発行機構109、データ所在記憶機構110、SQL・Webサービス変換機構111、Webサービススタブ112とで構成している。
SQLフック機構107は、SQL文を発行するプログラムのコードに対して、フック104を埋め込むこんでSQL文をフックする。
図1は、本発明の実施の形態に係わるDBアクセスの疎結合化システムの概略構成を示す図である。
図1に示すように、本実施の形態に係わるDBアクセスの疎結合化システム105は、SQLフック機構107、SQL解析機構108、SQL再発行機構109、データ所在記憶機構110、SQL・Webサービス変換機構111、Webサービススタブ112とで構成している。
SQLフック機構107は、SQL文を発行するプログラムのコードに対して、フック104を埋め込むこんでSQL文をフックする。
業務ロジックA102は、業務データにアクセスするためにSQL文を発行するが、SQL文によってアクセスする対象となる業務データを含むテーブルは、業務ロジックA102と同一の業務システムA102内にある業務データA106の場合と、ネットワークを介して接続された別の業務システムB114内にあって、Webサービス115として提供されている業務データ116の両方の可能性があるものとする。しかし、業務ロジックA102は、前記の業務データの所在の相違を意識することなく、仮想業務データ103に対してアクセスするためのSQL文を発行する。
前記の業務データの所在の相違は、本実施の形態に係わるDBアクセスの疎結合化システムが吸収するものである。
前記の業務データの所在の相違は、本実施の形態に係わるDBアクセスの疎結合化システムが吸収するものである。
図2は、本実施の形態に係わるDBアクセスの疎結合化システム105が行うSQLフック処理手順を示すフローチャートである。
SQLフック機構307は、業務ロジックA102が仮想業務データ103に対して発行したSQL文を、フック304を埋め込んでフックし、発行されたSQL文を横取りする(ステップ201)。
SQL解析機構108は、SQLフック機構107で取り込んだSQL文を解析し、SQL文がアクセス対象とする業務データが存在するテーブルを特定する名称を切り出す(ステップ202)。
さらに、SQL解析機構108は、テーブルを特定する名称を用いて、データ所在記憶機構110を参照して検索して、テーブルの所在を特定する(ステップ203)。
SQLフック機構307は、業務ロジックA102が仮想業務データ103に対して発行したSQL文を、フック304を埋め込んでフックし、発行されたSQL文を横取りする(ステップ201)。
SQL解析機構108は、SQLフック機構107で取り込んだSQL文を解析し、SQL文がアクセス対象とする業務データが存在するテーブルを特定する名称を切り出す(ステップ202)。
さらに、SQL解析機構108は、テーブルを特定する名称を用いて、データ所在記憶機構110を参照して検索して、テーブルの所在を特定する(ステップ203)。
ステップ203で、テーブルの所在を特定した結果、テーブルがSQL文を発行した業務ロジックA102と同じ業務システム101内の業務データA106に存在する場合は、SQL再発行機構109を用いてSQL文を発行し、業務データA106にアクセスし、業務ロジックA102へアクセス結果を返して終了する(ステップ205)。
ステップ203で、テーブルの所在を特定した結果、テーブルがSQL文を発行した業務ロジックA102と異なる業務ロジックB内の業務データB116に存在し、Webサービス115を介して利用可能な場合には、SQL文を、SQL・Webサービス変換機構111を用いて、Webサービスのメッセージに変換する(ステップ206)。
ステップ203で、テーブルの所在を特定した結果、テーブルがSQL文を発行した業務ロジックA102と異なる業務ロジックB内の業務データB116に存在し、Webサービス115を介して利用可能な場合には、SQL文を、SQL・Webサービス変換機構111を用いて、Webサービスのメッセージに変換する(ステップ206)。
Webサービススタブ112は、SQL文をWebサービスに変換したメッセージを、業務システムB内のWebサービス115へ送信する(ステップ207)。
Webサービス115は、SQL発行機構117を用いてSQL文を発行し、業務データB116にアクセスし、業務ロジックA102へアクセス結果を返して終了する(ステップ208)。
Webサービス115は、SQL発行機構117を用いてSQL文を発行し、業務データB116にアクセスし、業務ロジックA102へアクセス結果を返して終了する(ステップ208)。
これにより、業務ロジックA102のSQL文を発行するプログラムコードを変更することなく、業務システムA内に存在する業務データA106と、業務システムA101とネットワーク113で接続された業務システムB114内に存在する業務データB116に透過的にアクセスすることが可能になり、DBアクセスを含む密結合型システムをWebサービスを用いて疎結合化することができる。
101…業務システムA、102…業務ロジックA、103…仮想業務データ、104…フック、105…本発明の一実施形態に係わる疎結合化システム、106…業務データA、107…SQLフック機構、108…SQL解析機構、109…SQL再発行機構、110…データ所在記憶機構、111…SQL・Webサービス変換機構、112…Webサービススタブ、113…ネットワーク、114…業務システムB、115…Webサービス、116…業務データB、117…SQL発行機構、301…業務システムA、302…業務システムB、303…サービスラッパーB、304…業務ロジックB、305…業務システムC、306…サービスラッパーC、307…業務ロジックC、401…業務システムA、402…業務ロジックA、403…業務データA、404…業務データB、405…業務ロジックC、406…業務データC。
Claims (1)
- 業務システムにおける業務ロジックの実行時に、業務ロジックがDBアクセスするSQL文をフックする手段と、フックしたSQL文の内容を解析し、アクセスの対象となる業務データが、外部システム上に存在するDB上のテーブルに存在する場合には、フックしたSQL文をWebサービスのメッセージ交換に変換して外部システム上の業務データにアクセスする手段と、アクセスの対象となる業務データが、業務システム内部に存在するDB上のテーブルに存在する場合には、フックしたSQL文を業務システム内部に存在するDBのDB管理システムへ処理を依頼し、業務システム内の業務データにアクセスする手段とを備えることを特徴とするDBアクセスの疎結合化システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007033412A JP2008197974A (ja) | 2007-02-14 | 2007-02-14 | Dbアクセスの疎結合化システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007033412A JP2008197974A (ja) | 2007-02-14 | 2007-02-14 | Dbアクセスの疎結合化システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008197974A true JP2008197974A (ja) | 2008-08-28 |
Family
ID=39756848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007033412A Pending JP2008197974A (ja) | 2007-02-14 | 2007-02-14 | Dbアクセスの疎結合化システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008197974A (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0765032A (ja) * | 1993-08-27 | 1995-03-10 | Toshiba Corp | データベース言語変換機能を持つ情報処理システム |
JPH07175697A (ja) * | 1993-12-20 | 1995-07-14 | Hitachi Ltd | 異種データベース・アクセス・システム及びその制御方法 |
JP2005092547A (ja) * | 2003-09-18 | 2005-04-07 | Hitachi Software Eng Co Ltd | 単独の情報処理システムのWebサービスシステムへの再構築方法 |
-
2007
- 2007-02-14 JP JP2007033412A patent/JP2008197974A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0765032A (ja) * | 1993-08-27 | 1995-03-10 | Toshiba Corp | データベース言語変換機能を持つ情報処理システム |
JPH07175697A (ja) * | 1993-12-20 | 1995-07-14 | Hitachi Ltd | 異種データベース・アクセス・システム及びその制御方法 |
JP2005092547A (ja) * | 2003-09-18 | 2005-04-07 | Hitachi Software Eng Co Ltd | 単独の情報処理システムのWebサービスシステムへの再構築方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20060096271A (ko) | 명령-라인의 데이터-타입을 발견하고 변환하는 방법 | |
CN109582391B (zh) | 一种基于xml的设备树配置方法 | |
CN103179166A (zh) | 在客户端中提供服务的方法和客户端 | |
CN103473034A (zh) | 一种动态发布Web 服务的方法和装置 | |
JP2008197974A (ja) | Dbアクセスの疎結合化システム | |
CN100394387C (zh) | 系统执行故障预防方法及其编译器 | |
JP5574017B2 (ja) | 情報処理装置、互換性評価方法、及びプログラム | |
EP3872630B1 (en) | Request processing method and apparatus, electronic device, and computer storage medium | |
US20070050706A1 (en) | Method of xml transformation and presentation utilizing an application-specific parser | |
CN114938397A (zh) | 一种基于kaitai的高效率协议解包组包方法、系统和可读存储介质 | |
CN114721611A (zh) | 一种b/s架构应用调用计算机本地硬件资源的方法及系统 | |
AU2004318284A1 (en) | ASN.1 protocol processor and method for ASN.1 protocol processing | |
JP2010134574A (ja) | ビジネスプロセス定義変更方法及びその実施システムとプログラム | |
JP2007272443A (ja) | 開発支援装置、開発支援方法および開発支援プログラム | |
JP2014229114A (ja) | OSGiサービス登録装置、登録方法および登録プログラム | |
CN110378101A (zh) | Bios密码设置方法、系统、装置及存储介质 | |
KR101068004B1 (ko) | 자바 스크립트 파일 제공 방법 및 시스템 | |
CN111475140A (zh) | 基于事件驱动架构的App组件化方法及事件驱动架构 | |
JP5324697B1 (ja) | 運用自動化システム、運用自動化方法及び運用自動化プログラム | |
JP2006079484A (ja) | システム移行に伴うソースプログラム変換プログラム | |
KR101099491B1 (ko) | 소모전력 분석방법 | |
US8166150B2 (en) | Systems and methods enabling interoperability between network-centric operation (NCO) environments | |
JP2006221556A (ja) | プログラム実行装置、プログラム実行方法およびプログラム | |
JP4131863B2 (ja) | 局データ管理装置、及び、整合性チェック方法 | |
KR100328816B1 (ko) | 지능형정보제공시스템의출력메시지에대한자동문서생성및출력시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090716 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111110 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111114 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120302 |