Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4179557B2 - レガシー・アプリケーション移行を実施するシステム、方法およびコンピュータ・プログラム - Google Patents
[go: Go Back, main page]

JP4179557B2 - レガシー・アプリケーション移行を実施するシステム、方法およびコンピュータ・プログラム - Google Patents

レガシー・アプリケーション移行を実施するシステム、方法およびコンピュータ・プログラム Download PDF

Info

Publication number
JP4179557B2
JP4179557B2 JP2004247778A JP2004247778A JP4179557B2 JP 4179557 B2 JP4179557 B2 JP 4179557B2 JP 2004247778 A JP2004247778 A JP 2004247778A JP 2004247778 A JP2004247778 A JP 2004247778A JP 4179557 B2 JP4179557 B2 JP 4179557B2
Authority
JP
Japan
Prior art keywords
legacy
schema
view
new
view engine
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.)
Expired - Fee Related
Application number
JP2004247778A
Other languages
English (en)
Other versions
JP2005078636A (ja
Inventor
タク・トン
ジョゼフ・キム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2005078636A publication Critical patent/JP2005078636A/ja
Application granted granted Critical
Publication of JP4179557B2 publication Critical patent/JP4179557B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • G06F16/213Schema design and management with details for schema evolution support
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • Organic Low-Molecular-Weight Compounds And Preparation Thereof (AREA)

Description

本発明は、一般にはレガシー・コンピューティング・アプリケーションの移行に関し、より詳細には、レガシー・コンピューティング・アプリケーションからの移行後に、データにアクセスし、データを表示するシステム、方法およびコンピュータ・プログラムに関する。
新しいアプリケーション・サーバ・プラットフォームは、潜在的に効率および機能を改善する。その結果、レガシー・アプリケーションがしばしば、最先端技術のプラットフォームに移行される。具体的には、Java(商標)2 Enterprise Edition(J2EE)に準拠するアプリケーション・サーバ・プラットフォームがますます普及している。その結果、他のアプリケーション・サーバ・プラットフォームに準拠する、表示ページを定義し、データベースにアクセスするアプリケーションが、多くの場合J2EE準拠のアプリケーション・サーバ・プラットフォームに移行される。
往々にして、このレガシー・アプリケーションからの移行が行われるとき、レガシー・データベース・スキーマに変更が行われる。企業は、新しいプラットフォームへの移行を、既存のレガシー・データベース・スキーマを再定義し、拡張する機会ととらえる。このデータベース・スキーマの再定義により、新しいプラットフォーム上のアプリケーションが、その企業のシステムの移行先の新しいアプリケーション環境で使用可能な新しい機能を利用することが可能となる。このようなデータベース・スキーマの再構成を行うと、レガシー・アプリケーションで提供される機能を新しいアプリケーションで維持するよう保証するためにアプリケーションに変更がある場合、移行コストが高くなる。
このような変更コストは、レガシー・アプリケーションが定義済みのスキーマを用いてリレーショナル・データベースにアクセスし、かつ定義済みのスキーマが新しいアプリケーション用に変更される場合に潜在的に高い。リレーショナル・データベースでのアクセスがウェブ・ベースの表示ページで行われるアプリケーションでは、アクセスは通常、リレーショナル・クエリ(例えばSQLのSELECTステートメント)によって行われる。ウェブ・ベースのシステムでの表示ページの状況では、更新リレーショナル・オペレータ(例えば、UPDATE、INSERT、DELETEステートメント)は比較的少ない。一般的なMVC(Model View Controller)デザイン・パターンに対して表示ページが定義される場合、表示ページは、更新リレーショナル・オペレータを含まないように意図される。表示ページ中のそのような機能は、モデル、ビュー、およびコントローラの分離と一致しないからである。存在する場合であっても、そのような更新は通常、比較的移行が容易である。一方、リレーショナル・データベース・クエリは、複雑かつ込み入った仕方で定義され、新しいスキーマ用にこのようなクエリを再定義することは潜在的にかなりの作業である。新しいスキーマ用にレガシー・リレーショナル・データベース・クエリを書き換える際に助けとなるツールを構築するための努力が払われているが、そのようなレガシー・リレーショナル・データベース・クエリの複雑さと潜在的差異により、そのようなクエリを書き換えるためのツールを定義し、使用することが、複雑かつ困難となる。
上記で参照したように、ウェブ・ベースのシステムでのレガシー・アプリケーションは、定義済みのウェブ・ベースの表示ページを含む可能性がある。しばしば、レガシー表示ページは、J2EEで使用されるJSP(Java(商標)Server Page)定義と一致しない仕方で定義される。そのような表示ページをJ2EEアプリケーション・サーバ・プラットフォームに準拠するように書き換えることも、潜在的に複雑かつ費用のかかる作業である。
したがって、レガシー・アプリケーション中のデータベース・スキーマ用に定義されたリレーショナル・クエリを、新しいデータベース・スキーマへの移行後に使用することを可能にし、レガシー・アプリケーション中で定義された表示ページを書き換えることなく、J2EEアプリケーション・サーバ・プラットフォームで実装されるシステムで使用する方法およびシステムを提供することが望ましい。
したがって、本発明は、レガシー・プラットフォームから新しいプラットフォームへの移行後に、レガシー・リレーショナル・クエリおよびレガシー表示ページの使用を改善するシステムおよび方法を提供する。
本発明の別の態様によれば、レガシー・アプリケーションを新しいアプリケーションに移行する際に使用する方法において、レガシー・アプリケーションが、レガシー・スキーマを有するレガシー・リレーショナル・データベースにアクセスするように定義され、新しいアプリケーションが、新しいスキーマを有する移行後リレーショナル・データベースにアクセスするように定義される方法であって、
レガシー・スキーマの新しいスキーマへの移行を表す1組の移行スキーマ変更を求めるステップと、
スキーマ変更に関する事前定義された1組のリレーショナル・データベース・ビューを参照し、その1組の移行スキーマ変更に対応する事前定義された組中のビューを識別することにより、移行後リレーショナル・データベースに関する1つまたは複数のリレーショナル・データベース・ビューを生成するステップとを含み、
1つまたは複数のリレーショナル・データベース・ビューが、新しいスキーマをレガシー・スキーマにマッピングするように生成され、それによって本来はレガシー・データベース用に定義されたデータベース・クエリを、移行後リレーショナル・データベースに対して実行することが可能となる方法が提供される。
本発明の別の態様によれば、事前定義された1組のリレーショナル・データベース・ビューが、列方向分割(column-wise split)、行方向分割、列方向マージ、行方向マージ、列名変更、列タイプ変更、ヌル可能−ヌル不能移行(nullableto not-nullable transition)、値マップ、列分割、列マージの集合から選択されたスキーマ変更に関するビューを含む上記の方法が提供される。
本発明の別の態様によれば、1組の移行スキーマ変更を求めるステップが、移行スキーマ変更の表現を定義するステップを含む上記の方法が提供される。
本発明の別の態様によれば、移行後リレーショナル・データベースに関する1つまたは複数のリレーショナル・データベース・ビューを生成するステップが、移行スキーマ変更の表現を入力として受諾するステップと、その表現に基づいて1つまたは複数のリレーショナル・データベース・ビューを生成するステップとをさらに含む上記の方法が提供される。
本発明の別の態様によれば、移行スキーマ変更の表現がXMLファイルである上記の方法が提供される。
本発明の別の態様によれば、記録可能データ記憶媒体や被変調搬送波信号(インターネットを含むネットワークの伝送)などのコンピュータ可読信号運搬媒体を含むコンピュータ・プログラム製品であって、媒体が、上記方法のいずれか1つを実施する手段を含むコンピュータ・プログラム製品が提供される。
本発明の別の態様によれば、レガシー・アプリケーションを新しいアプリケーションに移行する際に使用するコンピュータ・プログラム製品において、レガシー・アプリケーションが、レガシー・スキーマを有するレガシー・リレーショナル・データベースにアクセスし、新しいアプリケーションが、新しいスキーマを有する移行後リレーショナル・データベースにアクセスし、2つのスキーマ間の関係が、定義データ表現(XMLファイルなど)内に定義されるコンピュータ・プログラム製品であって、媒体中に実施されたコンピュータ可読プログラム・コード手段を有するコンピュータ使用可能媒体を含み、定義データ表現を入力として取り、スキーマ変更に関する事前定義された1組のリレーショナル・データベース・ビューを使用し、新しいスキーマに関する1つまたは複数のビューを生成し、それによってレガシー・アプリケーション内で定義されたリレーショナル・クエリが新しいスキーマの1つまたは複数のビューに対して実行可能となるコンピュータ可読プログラム・コード手段を含むコンピュータ・プログラム製品が提供される。
本発明の別の態様によれば、新しいアプリケーションがJ2EEプラットフォーム上で実行するように定義される前述のコンピュータ・プログラム製品が提供される。
本発明の別の態様によれば、レガシー・アプリケーションを新しいアプリケーションに移行する際に使用するコンピュータ・プログラム製品において、レガシー・アプリケーションが、レガシー・ビュー・エンジンを使用して表示可能なレガシー表示ページを含み、レガシー・アプリケーションが、レガシー・スキーマを有するレガシー・リレーショナル・データベースにアクセスし、新しいアプリケーションが、新しいスキーマを有する移行後リレーショナル・データベースにアクセスし、2つのスキーマ間の関係が、定義データ表現内に定義されるコンピュータ・プログラム製品であって、媒体中に実施されたコンピュータ可読プログラム・コード手段を有するコンピュータ使用可能媒体を含み、定義データ表現を入力として取り、スキーマ変更に関する事前定義された1組のリレーショナル・データベース・ビューを使用し、新しいスキーマに関する1つまたは複数のビューを生成し、それによってレガシー・アプリケーション内で定義されたリレーショナル・クエリが新しいスキーマの1つまたは複数のビューに対して実行可能となるコンピュータ可読プログラム・コード手段と、ユーザに表示する定義済みビューに関係する表示要求を受諾し、したがってビュー・エンジン・レジストリにアクセスするビュー・エンジン・マネージャを実装するコンピュータ可読プログラム・コード手段と、ユーザに表示する定義済みビュー、表示ページ、およびビュー・エンジンの間のアソシエーションを格納し、アソシエーションに関する情報を、要求時にビュー・エンジン・マネージャに提供するビュー・レジストリを実装するコンピュータ可読プログラム・コード手段と、選択されたビューについてビュー・エンジンに関するパラメータを生成するレガシー・ビュー・エンジン・アダプタを実装するコンピュータ可読プログラム・コード手段とを含み、それによってレガシー表示ページを新しいアプリケーションによって参照することができ、レガシー表示ページが表示可能なレガシー・ビュー・エンジンを使用して要求時に表示することができるコンピュータ・プログラム製品が提供される。
本発明の別の態様によれば、レガシー・アプリケーションを新しいアプリケーションに移行する際に使用する方法において、レガシー・アプリケーションが、レガシー・ビュー・エンジンを使用して表示可能なレガシー表示ページを含む方法であって、ビュー・エンジン・マネージャ、ビュー・レジストリ、およびレガシー・ビュー・エンジン・アダプタを含むコンピュータ・システム上で実施され、
ユーザに表示する定義済みビュー、表示ページ、およびビュー・エンジン・レジストリ中のビュー・エンジンの間のアソシエーションを格納するステップと、
ビュー・エンジン・マネージャを使用して、ユーザに表示する定義済みビューに関係する表示要求を受諾するステップと、
ビュー・エンジン・マネージャによって受領される要求に基づいてビュー・エンジン・レジストリにアクセスするステップと、
上記のアクセスするステップで要求されたビュー・レジストリから、アソシエーションに関する情報を、要求時にビュー・エンジン・マネージャに提供するステップと、
ビュー・エンジン・アダプタを使用して、選択されたビューについてビュー・エンジンに関するパラメータを生成し、それによってレガシー表示ページを新しいアプリケーションによって参照することができ、レガシー表示ページが表示可能なレガシー・ビュー・エンジンを使用して要求時に表示することができるステップとを含む方法が提供される。
本発明の別の態様によれば、上記の方法を実施する手段を含むコンピュータ可読信号運搬媒体を含むコンピュータ・プログラム製品が提供される。
したがって本発明により、レガシー・アプリケーション用に定義されたリレーショナル・データベース・クエリを、新しく定義されたアプリケーションで、新しいスキーマを有する移行後データベースに対して実行することが可能となり、レガシー・表示エンジンにアクセスすることにより、レガシー・アプリケーション内で定義された表示ページに、新しいプラットフォーム上で動作する新しいアプリケーションによってアクセスし、それを表示することが可能となる。
図面は、本発明の好ましい実施形態を例示によって示すに過ぎない。
以下でより詳細に説明するように、好ましい実施形態の一定の諸構成要素を図1の例示的ブロック図に示す。
好ましい実施形態を説明する際に使用する実施例は、エンタープライズ・アプリケーションの設計においてしばしば好ましいModel−View−Controllerデザイン・パターンに従う。この設計手法によれば、当業者には周知のように、トランザクションは通常、コントローラへの要求で開始する。MVCデザイン・パターンに従うウェブ・ベースのアプリケーションは通常、要求に対する応答として、ウェブ・ベースの表示ページ(ビュー)の決定を含む。J2EE(Java(商標)2 Enterprise Edition)環境では、(ユーザへの情報の表示に関する)アプリケーションのビュー・コンポーネントは、JSPを使用して定義されるウェブ・ページである。要求の受領と表示ページの決定との間に実施されるオペレーションは、コントローラの制御下にある。好ましい実施形態は、MVC設計原理に準拠せずに実装できることを当業者は理解されよう。
図1の例は、レガシー・ウェブ・ベース・アプリケーションをJ2EE環境に移行することに関するものである。レガシー・アプリケーションは、データベース・スキーマ12を有するレガシー・データベース10へのアクセスを含む。図1には、移行後アプリケーションと共に使用する、関連するスキーマ16を有する移行後データベース14も示す。レガシー・データベース10を移行後データベース14で置き換えることができ、2つのデータベースが同時に存在する必要はないことを当業者は理解されよう。好ましい実施形態は、データベースを新しいスキーマに従って再定義した場合の、レガシー・アプリケーションから新しいアプリケーションへの移行を扱う。
図1の例は、レガシー・リレーショナル・データベース10の、新しいリレーショナル・データベース14への移行に関するものである。スキーマ16は、修正後のスキーマ12、またはスキーマ12の代替であり、レガシー・システムの移行先の新しいアプリケーション・サーバ・プラットフォームを利用するために更新される。(スキーマ12中に定義される)レガシー・データベース10中のデータの編成は、(スキーマ16に従って)移行後データベース14で修正される。
好ましい実施形態では、スキーマ12とスキーマ16との間の関係をXMLファイル18中に定義することができる。スキーマ12およびスキーマ16を含むこのXMLファイルは、データベース管理者によって生成され、2つのスキーマ間の関係を反映する。XMLファイル18中の情報は、レガシー・データベース10のリレーショナル・データベース・テーブル定義が移行後データベース14でどのように修正されたかを定義する。XMLファイル以外の代替定義データ表現もスキーマ変更を表現するのに使用できることを理解されたい。
リレーショナル・テーブルtsourceおよび2つのリレーショナル・テーブルttarget1、ttarget2の間の関係を定義するXMLコードの単純な例を以下に与える。図2に略図で示す例では、レガシー・データベース・スキーマ・テーブルtsourceが、列id、c1、c2を有する。新しい移行後データベース・スキーマで定義された2つのテーブルttarget1、ttarget2は、それぞれ列id、c1、およびid、c2を含む。
<Source table="tsource">
<KeyColumn name="id">
<Target table="ttarget1"column="id" />
<Target table="ttarget2"column="id" />
</KeyColumn>
<Column name="c1">
<Target table="ttarget1"column="c1" />
</Column>
<Column name="c2">
<Target table="ttarget2"column="c2" />
</Column>
</Source>
上記の例で示すように、好ましい実施形態では、XMLファイル18が、スキーマ12と16の間の関係の正式な表現を含む。以下でより詳細に説明するように、好ましい実施形態は、移行後データベース14に対してレガシー・クエリを実行することが可能となるように、データベース14に関する1つまたは複数のビューを定義する。好ましい実施形態では、ビュー生成ツールをプロセスの一部として使用して、このビューの組を定義する。ビュー生成ツール20は、スキーマ12からの修正を反映し、スキーマ16を生成するXMLファイル18コンテンツを入力として取る。図1の例では、ビュー生成ツール20の出力は、1組のビュー22である。
1組のビュー22は、ビューに関するSQL規格に従って定義される。その組内のビューの定義は、レガシー・アプリケーションでスキーマ12を参照して当初定義されたクエリが、ビュー22で表されるように移行後データベース14に関連して移行後アプリケーションで使用可能となるように実施される(以下でより詳細に説明する)。その結果、スキーマ12に従って以前にはレガシー・データベース10中に位置していたデータが、そのスキーマに従って定義されたクエリによってアクセス可能となるが、そうしたデータは、移行後データベース14中に位置する。実質上、ビュー22は、レガシー・クエリが移行後データベース14に対して実行されるときに、そうしたビューを使用して、スキーマ16がレガシー・クエリにとって透過的となるように定義される。1組のビュー22は、新しいスキーマ16をレガシー・スキーマ12にマッピングする。
図1の例では、レガシー表示ページ24がデータベース・クエリ26を含む。データベース・クエリ26は、レガシー・データベース10に関するスキーマ12に対して定義される。好ましい実施形態によれば、1組のビュー22は、ビュー22を含む移行後データベース14に対してデータベース・クエリ26が実行可能となるように生成される。
このようにして、好ましい実施形態のシステムおよび方法により、レガシー・システムに対して定義されたデータベース・クエリを、スキーマが元のレガシー・スキーマからの変化を含む修正後データベースに対して実行することが可能となる。好ましい実施形態は、新しいスキーマをレガシー・スキーマにマッピングする1組のビュー22を提供する。好ましい実施形態を、表示ページからのリレーショナル・データベース・アクセスを参照しながら説明するが、本発明のこの態様に従って、他のリレーショナル・データベース・アクセスも実施することができる。
理解するであろうが、ビュー22は、ビュー生成ツール20によって自動的に生成することができ、またはデータベース管理者が手動で定義することもできる。どちらの手法も、スキーマ12と新しいスキーマ16の比較に依拠する。この比較情報は、スキーマ16を定義するためにスキーマ12に行った修正を参照することによって得ることができる。このようなビュー生成ツールの作成は、以下で参照するテーブル・レベルの変更および列レベルの変更に関するビューを使用して当業者によって実施されることになる。このようなビュー生成ツールは、好ましい実施形態にとって必要ではない。
図1に示す好ましい実施形態の別の態様は、レガシー・システムに対して定義される表示ページに関するものである。この説明では、ウェブ・ページの表示または閲覧あるいはその両方のための旧型の独自技術を示すAlegacy system@の用語を使用するが、あるアプリケーションから別のアプリケーションに適切な移行を行う場合に好ましい実施形態を使用できることを理解されよう。ある場合には、こうした旧型の独自技術から、表示ページが例えばJSPで定義されるアプリケーションにウェブ・ページを移行することは、アプリケーションを、J2EEなどの新しいプラットフォームに移行する際の障害となる可能性がある。多くの場合、レガシー・アプリケーションから新しいアプリケーションに移行した後に、ウェブ・ページのルック・アンド・フィールを同一に維持することが望ましい。既存のウェブ・サイトを定義し、またはその一部となるウェブ・ページは通常は貴重であり、ウェブ・ページを一貫して定義するように維持することが望ましい。レガシー・アプリケーションでのウェブ・ページの機能を反映するようにウェブ・ページをJSPで書き換えることは、レガシー・アプリケーションを新しいアプリケーションに移行する際の潜在的に高価な要件である。
図1に反映される好ましい実施例では、新しいJ2EEアプリケーション・プラットフォーム30が示されている。J2EEアプリケーション・プラットフォーム30によってサポートされる、レガシー表示ページの使用に関する好ましい実施形態の諸構成要素が示されている。J2EEを参照しながら好ましい実施形態を説明するが、好ましい実施形態は他のアプリケーション・プラットフォームにも適用できることを当業者は理解されよう。
したがって、好ましい実施形態によれば、アプリケーション・プラットフォーム30に関連してビュー・エンジン・マネージャ32が定義される(ここで参照するAview@はユーザへの表示に関するものであり、この説明の別の箇所で参照するリレーショナル・データベース・ビューではないことに留意されたい)。ビュー・エンジン・マネージャ32は、ビュー・レジストリ34にアクセスすることができる。アプリケーションは、従来の技術と同様に、情報を定義済みビューに関連して表示するよう要求することができる。アプリケーションは、情報を表示する表示ページの詳細を指定する必要はないが、定義済みビューを単に指定することができる。ビュー・レジストリ34は、ビューと関連する表示ページとの間のアソシエーションを格納する。さらに、好ましい実施形態では、ビュー・レジストリ34は、ビュー、表示ページ、およびビュー・エンジンの間のアソシエーションを格納する。好ましい実施形態では、サポートされる各ビュー・エンジン(ネイティブJ2EEビュー・エンジンを除く)は、ビュー・エンジン・アダプタ(図1の例ではレガシー・ビュー・エンジン・アダプタ36として示す)を備える。
好ましい実施形態では、ビュー・レジストリ34中のエントリに基づいて適切なビュー・エンジン・アダプタ(図1の例では、レガシー・ビュー・エンジン・アダプタ36)を起動するビュー・エンジン・マネージャ32が定義される。ビュー・エンジン・アダプタは、特定のビュー・エンジンの必要に応じてパラメータを整理し、次いで、ビュー・レジストリで指定された適切なビュー文書を用いてビュー・エンジンを起動する。ビュー・エンジンは、その要求への応答としてビューを送達する。
この構成は、アプリケーション・プラットフォームが、レガシー・ビュー・エンジンを含まない1つまたは複数のビュー・エンジンを使用するよう指定される場合に使用される。例えば、J2EEは、JSPに対するビュー・エンジンのみをサポートする。JSPで定義されていないレガシー表示ページは、J2EEプラットフォームから直接には表示することができない。好ましい実施形態の手法により、このようなレガシー表示ページを、JSPで書き換えることなく表示することが可能となる。
図1の例は、レガシー・ビュー・エンジン・アダプタ36を示す。このアダプタは、(J2EE環境とは異なる技術環境で実装された)レガシー・ビュー・エンジンを起動することを可能にするブリッジとして使用される。レガシー・ビュー・エンジン・アダプタ36はまた、転送されたデータを整理して、レガシー・ビュー・エンジンの動作が正しくなるよう保証する。図1の例では、レガシー・ビュー・エンジン38を立ち上げるレガシー・ビュー・エンジン・アダプタ36を示す。レガシー・ビュー・エンジン38は、レガシー表示ページ24を実行することができる(通常は、ページ24は当初、レガシー・ビュー・エンジン38による表示のために定義されたものである)。このようにして、レガシー・アプリケーションに関する、以前に定義した表示ページが、新しいJ2EEアプリケーション・プラットフォーム30のアプリケーションに関連して使用される。表示ページを、新しいJ2EEアプリケーション・プラットフォーム30上で動作する新しいアプリケーションに移行することは、必要に応じて、または利用可能な資源に従って、表示ページに関する新しいJSP定義を書き込むことが可能となるように時差式に(in a staggered manner)実施することができる。
関連するビュー・エンジン・マネージャ、レジストリ、およびアダプタと共にビュー・エンジンを使用することは、データベース・スキーマに対する変更を含まない移行にも適用できることは当業者には明らかであろう。このような移行では、レガシー表示ページを保持することが有利であることがある。ビュー・エンジン・マネージャ、ビュー・レジストリ、およびビュー・エンジン・アダプタを組み込むシステムは、レガシー表示ページと新しく定義した表示ページとをシームレスに利用できるようにする。
次に図1に戻ると、新しいデータベース・スキーマを有するデータベースに対してレガシー・クエリ定義を実行することが可能となるように1つまたは複数のビューを生成することができる。好ましい実施形態によれば、新しいスキーマに関する1つまたは複数のビューが、1組の可能なスキーマ変更を反映する事前定義された1組のビューを使用して生成される。これらは、テーブル・レベルの変更または列レベルの変更でよい。テーブル・レベルのスキーマ変更は、列方向分割、行方向分割、列方向マージ、行方向マージを含む。列レベルの変更は、列名変更、列タイプ変更、ヌル可能−ヌル不能移行、値マップ、列分割、列マージを含む。好ましい実施形態による1組のビュー定義の詳細を以下で説明する。
列方向分割であるスキーマ変更を、図2の略図表現に示す。列id、c1、c2を有するテーブルtsourceが示されている。スキーマ変更の結果、ttarget1(列idおよびc1を有する)およびttarget2(列idおよびc2を有する)の2つのテーブルが得られる。ソース・テーブル中の各列が、複数のターゲット・テーブル内の各列に分割される。このようなスキーマ変更の一例は、当初他の従業員情報と共に単一テーブル中にあった従業員の住所データを、従業員テーブルとは別々のテーブルに分割する場合である。
新しいアプリケーションでテーブルtsourceをエミュレートすべき(テーブルttarget1およびttarget2に関して定義された)データベース・ビューは、以下のように定義される。
create view tsource (id, c1, c2) as
select ttarget1.id, ttarget1.c1,ttarget2.c2
from ttarget1, ttarget2
where ttarget1.id = ttarget2.id
新しいデータベース・スキーマに対してビューtsourceを定義した結果は、レガシー・アプリケーションでテーブルtsourceに対して以前に定義したクエリを、新しいスキーマを有する新しいアプリケーション・データベース内のビューtsourceを参照して実行できることである。当業者には明らかであろうが、上記で与えた例示的ビューは一般化されており、他の可能な列方向分割と共に使用するように修正することができる。
行方向分割であるスキーマ変更を、図3の略図表現に示す。列id、c1、c2およびステータス(値PendingおよびCompleteを有する)を有するテーブルtsourceが示されている。スキーマ変更の結果、ttarget1(列id、c1、c2を有する)およびttarget2(列id、c1、c2を有する)の2つのテーブルが得られる。ソース・テーブルtsource中の行は、判別列(discriminator column)に基づいて、複数のターゲット・テーブル中の行に分割される。図3の例では、ステータス列が判別列であり、新しいスキーマへの移行は、受注テーブル・データ(tsource)を受注保留テーブル(ttarget1)と受注完了テーブル(ttarget2)に分割することを反映する。このことは、行1001(ステータスがPending)が、行方向分割を反映するスキーマを有する新しいデータベース中のttarget1に追加される図3の例から見ることができる。
テーブルtsourceをエミュレートすべきである(テーブルttarget1およびttarget2に対して定義された)好ましい実施形態におけるデータベース・ビューは、以下のように定義される。
create view tsource (id, c1, c2, status)as
select ttarget1.id, ttarget1.c1,ttarget1.c2, 'P'
from ttarget1
union
select ttarget2.id, ttarget2.c1,ttarget12c2, 'C'
from ttarget2
この説明で述べたビューのすべてがそうであるのと同様に、上記のビューは、同一のタイプ(この場合は行方向分割)の他の特定のスキーマ変更に適合させることができる。
列方向マージであるスキーマ変更を図4の略図表現で示す。列idおよびc1を有するテーブルtsource1と、列idおよびc2を有するテーブルtsource2が示されている。スキーマ変更の結果、単一のテーブルttarget(列id、c1、c2を有する)が得られる。複数のソース・テーブル中の列が、単一のターゲット・テーブル中の列にマージされる。このようなスキーマ変更の一例は、従業員記録テーブルと従業員給与テーブルを単一の従業員情報テーブルにマージすることである。
図4のテーブルtsource1およびtsource2をエミュレートすべき(テーブルttargetに対して定義された)好ましい実施形態におけるデータベース・ビューは、以下のように定義される。
create view tsource1 (id, c1) as
select ttarget.id, ttarget.c1
from ttarget

create view tsource2 (id, c2) as
select ttarget.id, ttarget.c2
from ttarget
行方向マージであるスキーマ変更を図5の略図表現に示す。列id、c1、およびc2を有するテーブルtsource1と、列id、c1、およびc2を有するテーブルtsource2が示されている。スキーマ変更の結果、単一のテーブルttarget(列id、c1、c2、およびステータスを有する)が得られる。このとき複数のソース・テーブル中の列が、単一のターゲット・テーブルにマージされ、判別列が追加される。一例は、受注保留テーブルおよび受注完了テーブルを単一の受注テーブルにマージすることである。
図5のテーブルtsource1およびtsource2をエミュレートすべきである(テーブルttargetに対して定義された)好ましい実施形態におけるデータベース・ビューは、以下のように定義される。
create view tsource1 (id, c1, c2) as
select ttarget.id, ttarget.c1, ttarget.c2
from ttarget
where ttarget.status = 'P'

create view tsource2(id, c1, c2) as
select ttarget.id, ttarget.c1, ttarget.c2
from ttarget
where ttarget.status = 'C'
好ましい実施形態では、データベース・スキーマ中の列レベルの変更に対して以下のビュー定義が生成される。
列名変更であるスキーマ変更を図6の略図表現に示す。列id、c1、およびcxを有するテーブルtsourceが示されている。スキーマ変更の結果、単一のテーブルttarget(列id、c1、cyを有する)が得られる。列名は、列の意味をより適切に反映するように変更される。一例として、LNAMEがLASTNAMEに変更される。
図6のテーブルtsourceをエミュレートすべきである(テーブルttargetに対して定義された)好ましい実施形態におけるデータベース・ビューは、以下のように定義される。
create view tsource (id, c1, cx) as
select ttarget.id, ttarget.c1, ttarget.cy
from ttarget
列タイプ変更であるスキーマ変更を図7の略図表現に示す。列id、c1、およびc2を有するテーブルtsourceが示されている。c2は整数型である。スキーマ変更の結果、単一のテーブルttarget(列id、c1、c2を有する。ただしc2はchar型)が得られる。このスキーマ変更では、適切な使用法を反映するように列タイプが変更される。
図7のテーブルtsourceをエミュレートすべきである(テーブルttargetに対して定義された)好ましい実施形態におけるデータベース・ビューは、以下のように定義される。
create view tsource (id, c1, c2) as
select ttarget.id, ttarget.c1,int(ttarget.c2)
from ttarget
ヌル可能列がヌル不能となる変更であるスキーマ変更を図8の略図表現に示す。列id、c1、およびヌル可能であるc2を有するテーブルtsourceが示されている。スキーマ変更の結果、単一のテーブルttarget(列id、c1、c2を有する。ただしc2はヌル不能であり、デフォルト値0を有する)が得られる。ヌル可能列が、デフォルト値を有するヌル不能に変更される。一例は、ヌル可能となるべきでない列に対して正しい値表現を与えるようにスキーマがこのように変更される場合である。
図8のテーブルtsourceをエミュレートすべきである(テーブルttargetに対して定義された)好ましい実施形態におけるデータベース・ビューは、以下のように定義される。
create view tsource (id, c1, c2) as
select ttarget.id, ttarget.c1, casettarget.c2
when 0 then null else ttarget.c2 end
from ttarget
値マップ変更であるスキーマ変更を図9の略図表現に示す。列id、c1、およびc2を有するテーブルtsourceが示されている。スキーマ変更の結果、単一のテーブルttarget(列id、c1、c2を有する)が得られる。列c2中の値は、新しいデータベース・スキーマでは、マッピングに基づいて別の値に変更される。図9の例では、テーブルtsource中の受注状況列c2は値0、1、2を有する。ただし0は保留を表し、1は完了を表し、2は削除済みを表す。新しいデータベース・スキーマでは、列c2中の値が、保留、完了、削除済みをそれぞれ表す、より意味のある値P、C、Dに変更される。
図9のテーブルtsourceをエミュレートすべきである(テーブルttargetに対して定義された)好ましい実施形態におけるデータベース・ビューは、以下のように定義される。
create view tsource (id, c1, c2) as
select ttarget.id, ttarget.c1, casettarget.c2
when 'P' then '0' when 'C' then '1' when'D'
then '2' end
from ttarget
列分割変更であるスキーマ変更を図10の略図表現に示す。列id、c1、およびc2を有するテーブルtsourceが示されている。スキーマ変更の結果、単一のテーブルttarget(列id、c21、c22を有する)が得られる。図10の例では、文字1〜2をtsource.c2からttarget.c21に移動し、文字3〜4をttarget.c22に移動することによってtsource.c2中のデータの分割が達成される。図示するように、このときソース・テーブルの列が、ターゲット・テーブル中の複数の列に分割される。一例は、日付列(ddmm)を日(dd)、月(mm)を表す2つの列に分離することである。
図10のテーブルtsourceをエミュレートすべきである(テーブルttargetに対して定義された)好ましい実施形態におけるデータベース・ビューは、以下のように定義される。
create view tsource (id, c1, c2) as
select ttarget.id, ttarget.c1,concat(ttarget.c21,
ttarget.c22)
from ttarget
列マージ変更であるスキーマ変更を図11の略図表現に示す。列id、c1、c21、およびc22を有するテーブルtsourceが示されている。スキーマ変更の結果、単一のテーブルttarget(列id、c1、c2を有する)が得られる。ソース・テーブル中の複数の列が、そのときターゲット・テーブル中の単一の列にマージされる。一例は、日(dd)列および月(mm)列を単一の日付(ddmm)列にマージすることである。図11では、ttarget.c2は、tsource.c21およびtsource.c22に関してそれぞれ示した長さmおよびnの文字データの連結である値を有する。
図11のテーブルtsourceをエミュレートすべきである(テーブルttargetに対して定義された)好ましい実施形態におけるデータベース・ビューは、以下のように定義される。
create view tsource (id, c1, c21, c22) as
select ttarget.id, ttarget.c1,substr(ttarget.c2,
1, m), substr(ttarget.c2, m+1, n)
from ttarget
理解するであろうが、テーブル・スキーマ変更は、テーブル・レベルの変更と、任意の数の列レベルの変更との組合せでよい。以下は、テーブル・レベルの列方向分割と、いくつかの異なる列レベルの変更との組合せに対して生成することができるデータベース・ビューの一例である。
create view tsource (id, c1, c2, c3, c4,c5) as
select ttarget1.id,
int(ttarget1.c1x),
case ttarget2.c2 when 0 then null elsettarget.c2
end,
case ttarget3.c3 when 'P' then '0' when 'C'then
'1' when 'D' then '2' end,
substr(ttarget1.c4, 4, 7),
concat(ttarget3.c5, ttarget2.c6)
from ttarget1, ttarget2, ttarget3
where ttarget1.id = ttarget2.id and
ttarget2.id = ttarget.3.id
スキーマ変更を分析および分類することにより、データベース・ビューの作成は、潜在的に複雑であるレガシー・アプリケーション・クエリを変換する(書き換える)ことを試みるよりも単純であることがわかる。
好ましい実施形態では、上記のタイプのスキーマ変更が、移行後リレーショナル・データベース・スキーマに対して1組のビューを定義するのに使用される。図1に示すように、レガシー・スキーマから新しいスキーマへの変更を表現するのにXMLファイル(XMLファイル18など)が定義される。前述のタイプのスキーマ変更を使用して、ビュー生成ツール(ビュー生成ツール20など)が定義される。図1の例では、XMLファイル18が、ビュー生成ツール20に対する入力として取得される。ビュー生成ツール20は、前述の1組のスキーマ変更と共にXMLファイル18中にカプセル化された情報を使用することによってXMLファイル18を処理し、図1にビュー22として示す1組のビューを定義する。
例えば、実施例1で説明した前述のXMLコードは、図2の列方向分割を定義する。ビュー生成ツール20は、このようなXMLコードを解析して、図2の例に関して上記で説明したビューを定義する。したがってビュー生成ツール20は、移行の際に実施されるスキーマ変更のタイプを詳細に定義するXML入力に基づいて、ビュー生成を実施する。
図1を参照しながら行った上記の好ましい実施形態の説明は、新しいJ2EEアプリケーション・プラットフォーム30から、データベース・クエリ26を含むレガシー表示ページ24にどのようにアクセスすることができるかを示す。図12のブロック図は、レガシー表示ページ24自体が、JSPで定義される新しい表示ページへの移行の対象となるときに、別法としてどのように好ましい実施形態を実装することができるかを示す。図12では、データベース・クエリ26を有するレガシー表示ページ24が再び示されている。図12では、レガシー・データベース10(スキーマ12を有する)に対して実行されるデータベース・クエリ26が示されている。図12では、図1と同様に、移行後データベース14はスキーマ16を有する。やはり図1で示すのと同様に、XMLファイル18およびビュー生成ツール20が、ビュー22を定義するのに使用される。
しかし図12の例では、移行を行うアプリケーションがJSP表示ページ50を含む。新しいJ2EE環境への移行により、レガシー表示ページ24をJSPで再定義することができる。しかし、上記で指摘したように、新しい1組のビュー(ビュー22)が新しいデータベース・スキーマをレガシー・データベース・スキーマに実質上マッピングするように定義される限り、好ましい実施形態により、リレーショナル・データベース・クエリ26を、新しいスキーマ用に書き換える必要なしに保持することが可能となる。図12の例では、データベース・クエリ26がJava(商標) bean 52中にカプセル化される。したがって、JSP表示ページ定義50は、データベース・クエリ26を書き換えなくとも、レガシー・クエリ26をカプセル化するように定義されるJava(商標)bean 52へのアクセスを介してデータベース・クエリ26を使用することができる。
図1に示す構成要素と図12に示す構成要素との比較から明らかとなるように、好ましい実施形態により、(図1と同様に)レガシー・システムから移行した後であってもレガシー表示ページ定義を引き続き使用することが可能となる。ユーザにとって都合の良いときに、新しいJSPページ定義を作成して、J2EE環境用のJSP中のレガシー表示ページを複製する(または置き換える)ことができる(結果として得られる構成を図12の例に示す)。このようにして、レガシー・システムから、JSP表示ページを有するJ2EEベースのシステムへの系統的かつ段階的な移行を実施することができる。
上記で示したように、好ましい実施形態は、レガシー・アプリケーションの、新しいアプリケーション、具体的にはJ2EE環境で実装されたアプリケーションへの移行を実施する際に助けとなるシステムおよび方法を提供する。
以上、本発明の様々な実施形態を例示によって詳細に説明したが、本発明から逸脱することなく変形形態および修正形態を作成できることは当業者には明らかであろう。本発明は、添付の特許請求の範囲に包含されるこのようなすべての変形形態および修正形態を含む。
好ましい実施形態の実装における諸構成要素を示すブロック図である。 レガシー・リレーショナル・データベース・スキーマから移行後リレーショナル・データベース・スキーマへの例示的移行を示す概略図である。 レガシー・リレーショナル・データベース・スキーマから移行後リレーショナル・データベース・スキーマへの例示的移行を示す概略図である。 レガシー・リレーショナル・データベース・スキーマから移行後リレーショナル・データベース・スキーマへの例示的移行を示す概略図である。 レガシー・リレーショナル・データベース・スキーマから移行後リレーショナル・データベース・スキーマへの例示的移行を示す概略図である。 レガシー・リレーショナル・データベース・スキーマから移行後リレーショナル・データベース・スキーマへの例示的移行を示す概略図である。 レガシー・リレーショナル・データベース・スキーマから移行後リレーショナル・データベース・スキーマへの例示的移行を示す概略図である。 レガシー・リレーショナル・データベース・スキーマから移行後リレーショナル・データベース・スキーマへの例示的移行を示す概略図である。 レガシー・リレーショナル・データベース・スキーマから移行後リレーショナル・データベース・スキーマへの例示的移行を示す概略図である。 レガシー・リレーショナル・データベース・スキーマから移行後リレーショナル・データベース・スキーマへの例示的移行を示す概略図である。 レガシー・リレーショナル・データベース・スキーマから移行後リレーショナル・データベース・スキーマへの例示的移行を示す概略図である。 J2EE環境内のレガシー・アプリケーションで定義された表示ページの実行に関する好ましい実施形態の実装における諸構成要素を示すブロック図である。
符号の説明
10 レガシー・データベース
12 スキーマ
14 移行後データベース
16 スキーマ
18 XMLファイル
20 ビュー生成ツール
22 ビュー
24 レガシー表示ページ
26 データベース・クエリ
30 J2EEアプリケーション・プラットフォーム
32 ビュー・エンジン・マネージャ
34 ビュー・レジストリ
36 レガシー・ビュー・エンジン・アダプタ
38 レガシー・ビュー・エンジン
50 JSP表示ページ
52 Java(商標)bean

Claims (18)

  1. レガシー・アプリケーションを新しいアプリケーションに移行する際に使用する方法において、
    前記レガシー・アプリケーションが、レガシー・スキーマを有するレガシー・リレーショナル・データベースにアクセスするように定義する第1のステップと、
    前記新しいアプリケーションが、新しいスキーマを有する移行後リレーショナル・データベースにアクセスするように定義する第2のステップと、
    前記レガシー・スキーマの前記新しいスキーマへの移行を表す1組の移行スキーマ変更を求める第3のステップと、
    スキーマ変更に関する事前定義された1組のリレーショナル・データベース・ビューを参照し、前記1組の移行スキーマ変更に対応する前記事前定義された組中のビューを識別して、前記移行後リレーショナル・データベースに関する1つまたは複数のリレーショナル・データベース・ビューを生成して前記新しいスキーマを前記レガシー・スキーマにマッピングする第4のステップと、
    レガシー・データベース用に定義されたデータベース・クエリを、前記移行後リレーショナル・データベースに対して実行する第5のステップとを含む方法。
  2. 前記事前定義された1組のリレーショナル・データベース・ビューが、列方向分割、行方向分割、列方向マージ、行方向マージ、列名変更、列タイプ変更、ヌル可能−ヌル不能移行、値マップ、列分割、列マージの集合から選択されたスキーマ変更に関するビューを含む請求項1に記載の方法。
  3. 前記第3のステップは、移行スキーマ変更の表現を定義するステップを含む請求項1に記載の方法。
  4. 前記4のステップは、前記移行スキーマ変更の前記表現を入力として受諾するステップと、前記表現に基づいて前記1つまたは複数のリレーショナル・データベース・ビューを生成するステップをさらに含む請求項3に記載の方法。
  5. 前記移行スキーマ変更の前記表現がXMLファイルである請求項3に記載の方法。
  6. 前記3のステップは、前記移行スキーマ変更を表すXMLファイルを定義するステップを含む請求項2に記載の方法。
  7. 前記4のステップは、前記XMLファイルを入力として受諾するステップと、前記XMLファイルの内容に基づいて前記1つまたは複数のリレーショナル・データベース・ビューを生成するステップとをさらに含む請求項6に記載の方法。
  8. 請求項1ないし7のいずれかに記載の方法をコンピュータに実行させるコンピュータ・プログラム。
  9. 請求項8に記載のコンピュータ・プログラムが記録された記録可能データ記憶媒体。
  10. レガシー・アプリケーションを新しいアプリケーションに移行する際に使用するコンピュータ・プログラムにおいて、コンピュータに、
    前記レガシー・アプリケーションが、レガシー・スキーマを有するレガシー・リレーショナル・データベースにアクセスし、前記新しいアプリケーションが、新しいスキーマを有する移行後リレーショナル・データベースにアクセスし、2つのスキーマ間の関係を、定義データ表現内に定義する第1の機能と、
    前記定義データ表現を入力として受け、スキーマ変更に関する事前定義された1組のリレーショナル・データベース・ビューを使用して、前記新しいスキーマに関する1つまたは複数のビューを生成して前記新しいスキーマを前記レガシー・スキーマにマッピングする第2の機能と、
    前記レガシー・アプリケーション内で定義されたリレーショナル・クエリを前記新しいスキーマの1つまたは複数のビューに対して実行する第3の機能とを実現させるためのコンピュータ・プログラム。
  11. 前記定義データ表現がXMLファイルである請求項10に記載のコンピュータ・プログラム。
  12. 前記事前定義された1組のリレーショナル・データベース・ビューが、列方向分割、行方向分割、列方向マージ、行方向マージ、列名変更、列タイプ変更、ヌル可能−ヌル不能移行、値マップ、列分割、列マージの集合から選択されたスキーマ変更に関するビューを含む請求項11に記載のコンピュータ・プログラム。
  13. レガシー・アプリケーションを新しいアプリケーションに移行する際に使用するコンピュータ・プログラムにおいて、
    前記レガシー・アプリケーションが、レガシー・ビュー・エンジンを使用して表示可能なレガシー表示ページを含み、
    コンピュータに、
    ユーザに表示する定義済みビューに関係する表示要求を受諾し、ビュー・エンジン・レジストリにアクセスするビュー・エンジン・マネージャを実装する第1のコンピュータ可読プログラム・コードと、
    ユーザに表示する前記定義済みビュー、表示ページ、およびレガシー・ビュー・エンジンの間のアソシエーションを格納し、前記アソシエーションに関する情報を、要求時に前記ビュー・エンジン・マネージャに提供するビュー・エンジン・レジストリを実装する第2のコンピュータ可読プログラム・コードと、
    選択されたビューについて前記レガシー・ビュー・エンジンに関するパラメータを生成するレガシー・ビュー・エンジン・アダプタを実装する第3のコンピュータ可読プログラム・コードと、
    前記レガシー表示ページを前記新しいアプリケーションによって参照して、前記レガシー表示ページ表示可能なレガシー・ビュー・エンジンを使用して要求時に表示する第4のコンピュータ可読プログラム・コードとを実行させるコンピュータ・プログラム。
  14. 前記新しいアプリケーションがJ2EEプラットフォーム上で実行されるように定義される請求項13に記載のコンピュータ・プログラム。
  15. レガシー・アプリケーションを新しいアプリケーションに移行する際に使用するコンピュータ・プログラムにおいて、
    前記レガシー・アプリケーションが、レガシー・ビュー・エンジンを使用して表示可能なレガシー表示ページを含み、
    コンピュータに、
    前記レガシー・アプリケーションが、レガシー・スキーマを有するレガシー・リレーショナル・データベースにアクセスし、前記新しいアプリケーションが、新しいスキーマを有する移行後リレーショナル・データベースにアクセスし、2つのスキーマ間の関係を、定義データ表現内に定義する第1のコンピュータ可読プログラム・コードと、
    前記定義データ表現を入力として受け、スキーマ変更に関する事前定義された1組のリレーショナル・データベース・ビューを使用して、前記新しいスキーマに関する1つまたは複数のビューを生成する第2のコンピュータ可読プログラム・コードと、
    前記レガシー・アプリケーション内で定義されたリレーショナル・クエリを前記新しいスキーマの1つまたは複数のビューに対して実行可能とする第3のコンピュータ可読プログラム・コードと、
    ユーザに表示する定義済みビューに関係する表示要求を受諾し、ビュー・エンジン・レジストリにアクセスするビュー・エンジン・マネージャを実装する第4のコンピュータ可読プログラム・コードと、
    ユーザに表示する前記定義済みビュー、表示ページ、およびレガシー・ビュー・エンジンの間のアソシエーションを格納し、前記アソシエーションに関する情報を、要求時に前記ビュー・エンジン・マネージャに提供するビュー・エンジン・レジストリを実装する第5のコンピュータ可読プログラム・コードと、
    選択されたビューについて前記レガシー・ビュー・エンジンに関するパラメータを生成するレガシー・ビュー・エンジン・アダプタを実装する第6のコンピュータ可読プログラム・コードと、
    前記レガシー表示ページを前記新しいアプリケーションによって参照して、前記レガシー表示ページを表示可能なレガシー・ビュー・エンジンを使用して要求時に表示する第7のコンピュータ可読プログラム・コードとを実行させるコンピュータ・プログラム。
  16. レガシー・アプリケーションを新しいアプリケーションに移行する際に使用する方法において、
    前記レガシー・アプリケーションが、レガシー・ビュー・エンジンを使用して表示可能なレガシー表示ページを含み、ビュー・エンジン・マネージャ、ビュー・エンジン・レジストリ、およびレガシー・ビュー・エンジン・アダプタを含むコンピュータ・システム上に実装され、
    コンピュータに、
    ユーザに表示する定義済みビュー、表示ページ、および前記ビュー・エンジン・レジストリ内のレガシー・ビュー・エンジンの間のアソシエーションを格納する第1のステップと、
    前記ビュー・エンジン・マネージャを使用して、ユーザに表示する定義済みビューに関係する表示要求を受諾する第2のステップと、
    前記ビュー・エンジン・マネージャによって受け取った要求に基づいてビュー・エンジン・レジストリにアクセスする第3のステップと、
    前記アクセスするステップで要求された前記ビュー・エンジン・レジストリから、前記アソシエーションに関する情報を、要求時に前記ビュー・エンジン・マネージャに提供する第4のステップと、
    レガシー・ビュー・エンジン・アダプタを使用して、選択されたビューについて前記レガシー・ビュー・エンジンに関するパラメータを生成する第5のステップと、
    前記レガシー表示ページを前記新しいアプリケーションによって参照して、前記レガシー表示ページを表示可能なレガシー・ビュー・エンジンを使用して要求時に表示する第6のステップとを実行させる方法。
  17. 請求項16に記載の方法をコンピュータに実行させるコンピュータ・プログラム。
  18. 請求項17に記載のコンピュータ・プログラムが記録された記録可能データ記憶媒体。
JP2004247778A 2003-08-28 2004-08-27 レガシー・アプリケーション移行を実施するシステム、方法およびコンピュータ・プログラム Expired - Fee Related JP4179557B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CA002438997A CA2438997A1 (en) 2003-08-28 2003-08-28 System and method for carrying out legacy application transitions

Publications (2)

Publication Number Publication Date
JP2005078636A JP2005078636A (ja) 2005-03-24
JP4179557B2 true JP4179557B2 (ja) 2008-11-12

Family

ID=34200812

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004247778A Expired - Fee Related JP4179557B2 (ja) 2003-08-28 2004-08-27 レガシー・アプリケーション移行を実施するシステム、方法およびコンピュータ・プログラム

Country Status (4)

Country Link
US (1) US7478111B2 (ja)
JP (1) JP4179557B2 (ja)
CA (1) CA2438997A1 (ja)
TW (1) TW200517870A (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4738041B2 (ja) * 2005-03-30 2011-08-03 富士通株式会社 変換規則修正プログラム
US8375063B2 (en) 2006-01-31 2013-02-12 International Business Machines Corporation Method and program product for migrating data from a legacy system
US7680767B2 (en) * 2006-03-23 2010-03-16 Microsoft Corporation Mapping architecture with incremental view maintenance
KR100810268B1 (ko) * 2006-04-06 2008-03-06 삼성전자주식회사 모바일 디스플레이 장치에서의 색약자를 위한 구현 방법
US8635238B2 (en) * 2009-04-20 2014-01-21 Fairway Group Acquisition Company Appratus, system and method for an automated stock ledger
US8239423B2 (en) * 2009-06-30 2012-08-07 Sap Ag System and method for semantic exposure of data stored in a dynamic schema
JP5398663B2 (ja) * 2010-08-06 2014-01-29 三菱電機株式会社 データ処理装置及びデータ処理方法及びプログラム
US9075661B2 (en) 2010-10-20 2015-07-07 Microsoft Technology Licensing, Llc Placing objects on hosts using hard and soft constraints
US8417737B2 (en) * 2010-10-20 2013-04-09 Microsoft Corporation Online database availability during upgrade
US8386501B2 (en) 2010-10-20 2013-02-26 Microsoft Corporation Dynamically splitting multi-tenant databases
US8296267B2 (en) 2010-10-20 2012-10-23 Microsoft Corporation Upgrade of highly available farm server groups
US8751656B2 (en) 2010-10-20 2014-06-10 Microsoft Corporation Machine manager for deploying and managing machines
US8799453B2 (en) 2010-10-20 2014-08-05 Microsoft Corporation Managing networks and machines for an online service
US8850550B2 (en) 2010-11-23 2014-09-30 Microsoft Corporation Using cached security tokens in an online service
US9721030B2 (en) 2010-12-09 2017-08-01 Microsoft Technology Licensing, Llc Codeless sharing of spreadsheet objects
US8407237B1 (en) * 2011-12-20 2013-03-26 Sap Ag System and method of connecting legacy database applications and new database systems
US9182963B2 (en) * 2012-06-18 2015-11-10 Syntel, Inc. Computerized migration tool and method
US9122716B1 (en) * 2012-12-13 2015-09-01 Shoretel, Inc. Database upgrade management
US9659040B1 (en) * 2013-09-23 2017-05-23 Amazon Technologies, Inc. Database fleet schema maintenance
US10061789B2 (en) * 2013-10-28 2018-08-28 Excalibur Ip, Llc Dynamic database indexes for entity attribute value stores
US9507810B2 (en) * 2013-12-10 2016-11-29 Sap Se Updating database schemas in a zero-downtime environment
US20210327009A1 (en) * 2014-04-10 2021-10-21 School Innovations & Achievement, Inc. System and method for student attendance management
US9824100B2 (en) 2014-06-14 2017-11-21 International Business Machines Corporation Technology for importing schema changes to multiple target systems
US20160103431A1 (en) * 2014-10-14 2016-04-14 Honeywell International, Inc. System and method for point by point hot cutover of controllers and ios
US10846284B1 (en) * 2015-03-30 2020-11-24 Amazon Technologies, Inc. View-based data mart management system
US10713375B2 (en) 2015-10-09 2020-07-14 Sap Se Database public interface
US10401816B2 (en) 2017-07-20 2019-09-03 Honeywell International Inc. Legacy control functions in newgen controllers alongside newgen control functions
CN108319656A (zh) * 2017-12-29 2018-07-24 中兴通讯股份有限公司 实现灰度发布的方法、装置及计算节点和系统
US10846299B2 (en) 2018-12-11 2020-11-24 Optum, Inc. Data validation and/or data conversion using smart contracts in distributed ledger systems
JP7765932B2 (ja) * 2021-10-04 2025-11-07 株式会社キーエンス 自動化プログラム作成装置、自動化プログラム作成方法、自動化プログラム作成プログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器
JP7484033B1 (ja) * 2023-10-25 2024-05-16 株式会社インフォース データベースの管理を行うシステムを変更する方法、プログラム及び情報処理装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08314787A (ja) 1995-05-12 1996-11-29 Nec Corp ファイルロケーション管理方式
US5960200A (en) 1996-05-03 1999-09-28 I-Cube System to transition an enterprise to a distributed infrastructure
US5974418A (en) * 1996-10-16 1999-10-26 Blinn; Arnold Database schema independence
EP1019851A1 (en) 1997-08-14 2000-07-19 Aoraki Corporation Limited Relational database coexistence in object oriented environments
US6229534B1 (en) 1998-02-27 2001-05-08 Sabre Inc. Methods and apparatus for accessing information from multiple remote sources
US6076108A (en) 1998-03-06 2000-06-13 I2 Technologies, Inc. System and method for maintaining a state for a user session using a web system having a global session server
US6339776B2 (en) 1999-10-04 2002-01-15 International Business Machines Corporation Dynamic semi-structured repository for mining software and software-related information
JP4552242B2 (ja) 1999-10-06 2010-09-29 株式会社日立製作所 仮想表インタフェースと該インタフェースを用いた問合せ処理システム及び方法
US6418448B1 (en) 1999-12-06 2002-07-09 Shyam Sundar Sarkar Method and apparatus for processing markup language specifications for data and metadata used inside multiple related internet documents to navigate, query and manipulate information from a plurality of object relational databases over the web
US6754670B1 (en) * 1999-12-17 2004-06-22 International Business Machines Corporation Mapping relational tables to object oriented classes
US6810429B1 (en) * 2000-02-03 2004-10-26 Mitsubishi Electric Research Laboratories, Inc. Enterprise integration system
WO2001057651A2 (en) 2000-02-07 2001-08-09 Attachmate Corporation System and method for user interface translation
US6687873B1 (en) * 2000-03-09 2004-02-03 Electronic Data Systems Corporation Method and system for reporting XML data from a legacy computer system
JP2001344147A (ja) 2000-05-31 2001-12-14 Dainippon Printing Co Ltd 汎用データベースアクセス装置
AU2001296866A1 (en) * 2000-09-05 2002-03-22 Zaplet, Inc. Methods and apparatus providing electronic messages that are linked and aggregated
JP2002099561A (ja) 2000-09-21 2002-04-05 Toshiba Corp データ変換方法およびデータ変換システム並びに記憶媒体

Also Published As

Publication number Publication date
TW200517870A (en) 2005-06-01
JP2005078636A (ja) 2005-03-24
CA2438997A1 (en) 2005-02-28
US20050050076A1 (en) 2005-03-03
US7478111B2 (en) 2009-01-13

Similar Documents

Publication Publication Date Title
JP4179557B2 (ja) レガシー・アプリケーション移行を実施するシステム、方法およびコンピュータ・プログラム
US7720873B2 (en) Dynamic data discovery of a source data schema and mapping to a target data schema
US5890158A (en) Method, apparatus, and program storage device for sharing objects with a network server and a database server using a common object model
US7620665B1 (en) Method and system for a generic metadata-based mechanism to migrate relational data between databases
Clifford et al. Tracking provenance in a virtual data grid
US7350191B1 (en) Computer implemented system and method for the generation of data access applications
US6356920B1 (en) Dynamic, hierarchical data exchange system
EP1347394B1 (en) Schema-oriented content management system
US8812439B2 (en) Folder structure and authorization mirroring from enterprise resource planning systems to document management systems
US5418957A (en) Network data dictionary
US5905990A (en) File system viewpath mechanism
US6226792B1 (en) Object management system supporting the use of application domain knowledge mapped to technology domain knowledge
US6594672B1 (en) Generating multidimensional output using meta-models and meta-outlines
US20020013790A1 (en) System and method for converting data in a first hierarchical data scheme into a second hierarchical data scheme
US20070150562A1 (en) System and method for data quality management and control of heterogeneous data sources
US20060206507A1 (en) Hierarchal data management
US7533136B2 (en) Efficient implementation of multiple work areas in a file system like repository that supports file versioning
EP1585036A2 (en) Management of parameterized database queries
US20010018684A1 (en) System and method for accessing non-relational data by relational access methods
RU2406115C2 (ru) Доступ к сложным данным
Kolbe et al. 3d city database for citygml
Schwichtenberg Modern data access with entity framework core
Ben-Gan et al. T-SQL Querying
JP2001527241A (ja) オブジェクト指向データ依存性に対応するデータベース内の記憶済み手続をロードするための方法及び装置
US20240338369A1 (en) Method and system for providing data access service

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080317

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20080317

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080527

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080716

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: 20080819

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20080820

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080822

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110905

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120905

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees