(57)【要約】  【課題】  ウェブ・アプリケーションが組織管理データにアクセスすることを可能にするための装置、システム、および方法を提供する。  【解決手段】  ウェブ・アプリケーションが組織管理データにアクセスすることを可能とするための装置、システム、および方法を提供する。本発明は、回復可能リソース・マネージャ（ＲＲＭ）、トランザクション変換器、インタフェース、および結果変換器を含む。ＲＲＭは、ウェブ・アプリケーションを含む複数のアプリケーションに、トランザクション回復およびトランザクション・アクセスを提供する。トランザクション変換器、インタフェース、および結果変換器は、協働することによって、ウェブ・アプリケーションが送信した関係データ要求がＲＲＭを介して非関係データにアクセスし、ＲＲＭが与えた非関係結果から関係結果を戻すようにする。一態様において、本発明は、ｚ／ＯＳオペレーティング・システムによって独占的にアクセス可能なＶＳＡＭデータに対するウェブ・アプリケーションのトランザクション・アクセスを提供する。【選択図】図２
2007525758.tif 000002
【特許請求の範囲】
【請求項１】
ウェブ・アプリケーションが組織管理データにアクセスするための装置であって、
データのための回復可能リソース・マネージャ（ＲＲＭ）であって、前記データに同時にアクセスする複数のトランザクションにトランザクション回復およびトランザクション・アクセスを提供するように構成されたＲＲＭと、
前記ＲＲＭによって管理された前記データを伴うトランザクションの関係トランザクション要求を１つ以上の非関係トランザクション要求に変換するように構成されたトランザクション変換器と、
前記非関係トランザクション要求を前記ＲＲＭに送信するように構成されたインタフェースであって、前記要求が実行されて生成される非関係結果を受信する、インタフェースと、
前記非関係結果を、ウェブ・アプリケーションに送信可能な関係結果に変換するように構成された結果変換器と、
を含む、装置。
【請求項２】
前記ＲＲＭが、組織情報システム（ＥＩＳ）内で協働して、前記データの記録、ロッキング、２相コミット、バックアウト、および共有を提供して、前記データにアクセスするトランザクションを回復可能とする、請求項１に記載の装置。
【請求項３】
業界に認められたアプリケーション・プログラミング・インタフェース（ＡＰＩ）に従って前記ウェブ・アプリケーションから前記関係トランザクションを受信するように構成されたウェブ・アプリケーション・インタフェースを更に含む、請求項１に記載の装置。
【請求項４】
前記ＲＲＭがリソース回復サービス（ＲＲＳ）および同時アクセス機能（ＣＡＦ）と協働して、前記データにアクセスする関係および非関係トランザクションを回復可能とする、請求項１に記載の装置。
【請求項５】
前記ＲＲＭが、仮想記憶アクセス・データのためのストレージ管理サブシステム（ＳＭＳ  ＶＳＡＭ）を含み、前記ＣＡＦが結合機能（ＣＦ）を含む、請求項４に記載の装置。
【請求項６】
前記ＲＲＭが、ＶＳＡＭレコード・レベル共有（ＲＬＳ）モジュールを用いるトランザクション仮想記憶アクセス方式（ＶＳＡＭ）モジュールを含み、前記データがＶＳＡＭデータを含む、請求項１に記載の装置。
【請求項７】
前記トランザクション変換器が、前記関係トランザクション要求を関係表現に構文解析し、前記データの関係ビューおよび非関係ビューによって定義される既定のメタデータに従って前記関係表現を非関係表現にマッピングするように更に構成されている、請求項１に記載の装置。
【請求項８】
前記結果変換器が、前記データの関係ビューおよび非関係ビューによって定義される既定のメタデータに従って前記非関係結果を関係結果にマッピングするように更に構成されている、請求項１に記載の装置。
【請求項９】
ウェブ・アプリケーションが組織管理データにアクセスするための装置であって、
ウェブ・アプリケーションとインタフェースするように構成された第１のアプリケーション・サーバと、
仮想記憶アクセス方式（ＶＳＡＭ）データのための回復可能リソース・マネージャ（ＲＲＭ）を含む組織情報システム（ＥＩＳ）であって、前記ＲＲＭが、前記ＶＳＡＭデータに同時にアクセスする複数のトランザクションにトランザクション回復およびトランザクション・アクセスを提供するように構成されている、ＥＩＳと、
前記ＶＳＡＭデータを伴うトランザクションの１つ以上の関係要求および関係結果を、前記第１のアプリケーション・サーバと前記ＥＩＳの前記ＲＲＭとの間で交換するように構成されたコネクタと、
を含む、装置。
【請求項１０】
前記コネクタが、
前記関係要求を１つ以上の非関係要求に変換するように構成されたトランザクション変換器と、
前記非関係要求を前記ＲＲＭに送信するように構成されたインタフェースであって、前記要求が実行されて生成される非関係結果を受信する、インタフェースと、
前記非関係結果を関係結果に変換するように構成された結果変換器であって、前記コネクタが前記第１のアプリケーション・サーバを介して前記ウェブ・アプリケーションに前記関係結果を送信する、結果変換器と、
を更に含む、請求項９に記載の装置。
【請求項１１】
前記コネクタが、ＪＤＢＣ（Java Database Connectivity）ＡＰＩ（アプリケーション・プログラミング・インタフェース）を含む、請求項９に記載の装置。
【請求項１２】
前記第１のアプリケーション・サーバと通信状態にある第２のアプリケーション・サーバを更に含み、前記装置が、前記第２のアプリケーション・サーバ上の分散アプリケーション・コンポーネントと前記第１のアプリケーション・サーバ上で動作する前記コネクタとの間をインタフェースする分散コネクタを更に含み、前記分散アプリケーション・コンポーネントが前記ＶＳＡＭデータに対するトランザクション・アクセスを有し、トランザクション回復を用いて前記トランザクションが管理されるようになっている、請求項９に記載の装置。
【請求項１３】
前記分散コネクタがＪＡＶＡプログラミング言語タイプ３コネクタを含み、前記コネクタがＪＡＶＡプログラミング言語タイプ２コネクタを含み、前記分散アプリケーション・コンポーネントが、トランザクションにおけるＶＳＡＭデータのための関係トランザクション要求を受信または実行すると共に前記コネクタおよび前記分散コネクタを用いて関係結果を戻すように構成されたエンタープライズＪａｖａビーンズ（ＥＪＢ）を含む、請求項１２に記載の装置。
【請求項１４】
前記ＥＩＳが、多重仮想記憶回復可能リソース管理サービス（ＭＶＳ／ＲＲＭＳ）、結合機能（ＣＦ）、およびＶＳＡＭレコード・レベル共有（ＲＬＳ）モジュールを含み、これら各々が、前記ＶＳＡＭデータの記録、ロッキング、２相コミット、バックアウト、および共有を与えるために前記ＲＲＭとインタラクトして、前記ＲＲＭによる前記データにアクセスするトランザクションが回復可能であるようになっている、請求項９に記載の装置。
【請求項１５】
ウェブ・アプリケーションが組織管理データにアクセスするためのシステムであって、  
第１のアプリケーション・サーバ上で動作するウェブ・アプリケーションとインタフェースするように構成されたクライアント・アプリケーションと、
前記ウェブ・アプリケーションとインタフェースして、非関係データに対する関係データベース・アクセスを可能とするように構成されたデータベース・モジュールと、
前記非関係データに対する同時トランザクション・アクセス、ならびに、前記ウェブ・アプリケーションおよびバッチ・プログラムおよびカスタマ情報制御システム（ＣＩＣＳ）のためのトランザクション回復を提供するように構成された組織情報システムと、
を含む、システム。
【請求項１６】
前記非関係データが仮想記憶アクセス方式（ＶＳＡＭ）データを含む、請求項１５に記載のシステム。
【請求項１７】
前記ウェブ・アプリケーションが、１つ以上のアプリケーション・サーバ上で動作する１つ以上の分散ミドルウェア・コンポーネントを含む、請求項１５に記載のシステム。
【請求項１８】
前記第１のアプリケーション・サーバがｚ／ＯＳオペレーティング・システム上で動作する、請求項１５に記載のシステム。
【請求項１９】
ｚ／ＯＳオペレーティング・システムでないオペレーティング・システム上で動作し、前記第１のアプリケーション・サーバと通信状態にある第２のアプリケーション・サーバを更に含み、前記システムが、前記第２のアプリケーション・サーバ上の分散アプリケーション・コンポーネントと前記第１のアプリケーション・サーバ上で動作する前記コネクタとの間をインタフェースする分散コネクタを更に含み、前記分散アプリケーション・コンポーネントが前記ＶＳＡＭデータに対するトランザクション・アクセスを有し、トランザクション回復を用いて前記トランザクションが管理されるようになっている、請求項１５に記載のシステム。
【請求項２０】
ウェブ・アプリケーションが組織管理データにアクセスするための方法であって、
データのための回復可能リソース・マネージャ（ＲＲＭ）であって、前記データに同時にアクセスする複数のトランザクションにトランザクション回復およびトランザクション・アクセスを提供するように構成されたＲＲＭを設けるステップと、
前記ＲＲＭによって管理された前記データを伴う関係トランザクションを非関係トランザクションに変換するステップと、
前記非関係トランザクションを前記ＲＲＭに伝達し、前記要求が実行されて非関係結果が生成されるステップと、
前記非関係結果を、ウェブ・アプリケーションに送信される関係結果に変換するステップと、
を含む、方法。
【請求項２１】
前記ＲＲＭが、組織情報システム（ＥＩＳ）内で協働して、前記データの記録、ロッキング、２相コミット、バックアウト、および共有を提供して、前記データにアクセスするトランザクションを回復可能とする、請求項２０に記載の方法。
【請求項２２】
業界に認められたアプリケーション・プログラミング・インタフェース（ＡＰＩ）に従って前記ウェブ・アプリケーションから前記関係トランザクションを受信するステップを更に含む、請求項２０に記載の方法。
【請求項２３】
前記ＲＲＭがリソース回復サービス（ＲＲＳ）および同時アクセス機能（ＣＡＦ）と協働して、前記データにアクセスする関係および非関係トランザクションを回復可能とする、請求項２０に記載の方法。
【請求項２４】
前記ＲＲＭが、仮想記憶アクセス・データのためのストレージ管理サブシステム（ＳＭＳ  ＶＳＡＭ）を含み、前記ＣＡＦが結合機能（ＣＦ）を含む、請求項２３に記載の方法。
【請求項２５】
前記ＲＲＭが、ＶＳＡＭレコード・レベル共有（ＲＬＳ）モジュールを用いるトランザクション仮想記憶アクセス方式（トランザクションＶＳＡＭ）モジュールを含み、前記データがＶＳＡＭデータを含む、請求項２０に記載の方法。
【請求項２６】
前記関係トランザクションを変換するステップが、前記関係トランザクションを関係表現に構文解析し、前記データの関係ビューおよび非関係ビューによって定義される既定のメタデータに従って前記関係表現を非関係表現にマッピングすることを含む、請求項２０に記載の方法。
【請求項２７】
前記非関係結果を変換するステップが、前記データの関係ビューおよび非関係ビューによって定義される既定のメタデータに従って前記非関係結果を関係結果にマッピングすることを含む、請求項２０に記載の方法。
【請求項２８】
ウェブ・アプリケーションが組織管理データにアクセスするための方法を実行するためのコンピュータに、
データのための回復可能リソース・マネージャ（ＲＲＭ）であって、前記データに同時にアクセスする複数のトランザクションにトランザクション回復およびトランザクション・アクセスを提供するように構成されたＲＲＭを設けるステップと、
前記ＲＲＭによって管理された前記データを伴う関係トランザクションを非関係トランザクションに変換するステップと、
前記非関係トランザクションを前記ＲＲＭに伝達し、前記要求が実行されて非関係結果が生成されるステップと、
前記非関係結果を、ウェブ・アプリケーションに送信される関係結果に変換するステップと、
を実行させるための、コンピュータ・プログラム。
【請求項２９】
前記ＲＲＭが、組織情報システム（ＥＩＳ）内で協働して、前記データの記録、ロッキング、２相コミット、バックアウト、および共有を提供して、前記データにアクセスするトランザクションを回復可能とする、請求項２８に記載のコンピュータ・プログラム。
【請求項３０】
業界に認められたアプリケーション・プログラミング・インタフェース（ＡＰＩ）に従って前記ウェブ・アプリケーションから前記関係トランザクションを受信するステップを更に含む、請求項２８に記載のコンピュータ・プログラム。
【請求項３１】
前記ＲＲＭがリソース回復サービス（ＲＲＳ）および同時アクセス機能（ＣＡＦ）と協働して、前記データにアクセスする関係および非関係トランザクションを回復可能とする、請求項２８に記載のコンピュータ・プログラム。
【請求項３２】
前記ＲＲＭが、仮想記憶アクセス・データのためのストレージ管理サブシステム（ＳＭＳ  ＶＳＡＭ）を含み、前記ＣＡＦが結合機能（ＣＦ）を含む、請求項３１に記載のコンピュータ・プログラム。
【請求項３３】
前記ＲＲＭが、ＶＳＡＭレコード・レベル共有（ＲＬＳ）モジュールを用いるトランザクション仮想記憶アクセス方式（トランザクションＶＳＡＭ）モジュールを含み、前記データがＶＳＡＭデータを含む、請求項２８に記載のコンピュータ・プログラム。
【請求項３４】
前記関係トランザクションを変換するステップが、前記関係トランザクションを関係表現に構文解析し、前記データの関係ビューおよび非関係ビューによって定義される既定のメタデータに従って前記関係表現を非関係表現にマッピングすることを含む、請求項２８に記載のコンピュータ・プログラム。
【請求項３５】
前記非関係結果を変換するステップが、前記データの関係ビューおよび非関係ビューによって定義される既定のメタデータに従って前記非関係結果を関係結果にマッピングすることを含む、請求項２８に記載のコンピュータ・プログラム。
【請求項３６】
ウェブ・アプリケーションが組織管理データにアクセスするための装置であって、
データのための回復可能リソース・マネージャ（ＲＲＭ）であって、前記データに同時にアクセスする複数のトランザクションにトランザクション回復およびトランザクション・アクセスを提供するように構成されたＲＲＭを設けるための手段と、
前記ＲＲＭによって管理された前記データを伴う関係トランザクションを非関係トランザクションに変換するための手段と、
前記非関係トランザクションを前記ＲＲＭに伝達し、前記要求が実行されて非関係結果を生成するための手段と、
前記非関係結果を、ウェブ・アプリケーションに送信される関係結果に変換するための手段と、
を含む、装置。
【請求項３７】
前記ＲＲＭが、組織情報システム（ＥＩＳ）内で協働して、前記データの記録、ロッキング、２相コミット、バックアウト、および共有を提供して、前記データにアクセスするトランザクションを回復可能とする、請求項３６に記載の装置。
【請求項３８】
業界に認められたアプリケーション・プログラミング・インタフェース（ＡＰＩ）に従って前記ウェブ・アプリケーションから前記関係トランザクションを受信するステップを更に含む、請求項３６に記載の装置。
【請求項３９】
前記ＲＲＭがリソース回復サービス（ＲＲＳ）および同時アクセス機能（ＣＡＦ）と協働して、前記データにアクセスする関係および非関係トランザクションを回復可能とする、請求項３６に記載の装置。
【請求項４０】
前記関係トランザクションを変換するステップが、前記関係トランザクションを関係表現に構文解析し、前記関係表現を非関係表現にマッピングし、前記非関係結果を関係結果にマッピングし、これら双方のマッピングが、前記データの関係ビューおよび非関係ビューによって定義される既定のメタデータに従って行われるステップを含む、請求項３６に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、組織情報システムに関する。具体的には、本発明は、組織管理データに対するウェブ・アプリケーションの回復可能なトランザクション・アクセスを可能にするための装置、システム、および方法に関する。
【背景技術】
【０００２】
コンピュータおよび情報技術は、進歩し続けており、過去におけるよりも容易にソフトウェア・アプリケーションのインタラクトを可能とするツールを提供し続けている。例えば、近年、導入されているウェブ・アプリケーションおよびウェブ・サービスは、広く普及しているウェブ・ブラウザ等のクライアント・アプリケーションが、ワールド・ワイド・ウェブ等の全世界ネットワークを介して、銀行業務、買い物、遠隔アクセス、データベース・アクセス等を含む様々なサービスを提供するようにプログラムされたサーバ・アプリケーションと通信を行うことを可能とする。通常、これらのサービスのためのデータは、古いコンピュータ技術が最初にこれらのサービスを提供した時に当初定義されたフォーマットでストアされ維持され続けている。
【０００３】
今日、最新のインタフェースを用いて、データの元来のフォーマットおよびセマンティクスを維持する旧来のデータ・ストレージ・サブシステムによって、ウェブ・アプリケーションは直接データにアクセスすることができる。多くの場合、旧来のデータ・ストレージ・サブシステムは、単にオペレーティング・システムのファイル・システムであり、データをストアする多数の異なるファイルを固有のフォーマットで管理する。かかるデータの一例は、ＩＢＭ社からのｚ／ＯＳオペレーティング・システムを用いてアクセス可能な仮想記憶アクセス方式（ＶＳＡＭ：Virtual Storage Access Method）データである。大企業、政府、および他の組織は、かかる旧来のデータ・ストレージ・サブシステムを使用し続けており、開発およびデータ維持のため、ならびに、旧来のアプリケーションあるいは最新のアプリケーションまたはその両方がデータを使用可能とするために費やしてきた大きな投資から利益を得ようとしている。
【０００４】
旧来のデータ・ストレージ・サブシステムは、これらの業務のためのデータおよび日々のトランザクションの大部分を管理し続けている。これらの最新のインタフェースによって、一般に旧来のシステムから最新システムへとデータを移すことに関連したデータ抽出、変換、およびリフォーマットの高いコストが回避される。図１は、旧来のデータに対するウェブ・アプリケーションの直接インタフェースを提供するシステム１００の一例を示す。
【０００５】
システム１００は、ウェブ・クライアント１０２、アプリケーション・サーバ１０４、および、ＶＳＡＭデータ１０６等の旧来のデータ１０６を含む。ウェブ・クライアント１０２は、ウェブ・アプリケーション１０８における１つのコンポーネントである。通常、ウェブ・アプリケーション１０８は、ウェブ・ブラウザ、ウェブ・サービス、アプレット、サーブレット、ＥＶＢ（Enterprise Java Beans）、他のウェブ・サーバ、ミドルウェア等を含むがこれらには限定されない多数のモジュールを含む。これらの各々は、単独でまたは組み合わせて、ウェブ・アプリケーション１０８を構成することができる。ウェブ・クライアント１０２は、インターネット等のネットワーク１１０を介して、ＶＳＡＭデータ１０６に対するアクセスの要求を送信する。
【０００６】
ウェブ・アプリケーション１０８の１つ以上のコンポーネントは、アプリケーション・サーバ１０４内で動作する。アプリケーションまたはウェブ・サーバ１０４は、セキュリティ、認証、および接続プーリング等のサービスを、ウェブ・アプリケーション１０８に提供する。アプリケーション・サーバ１０４は、ＶＳＥ／ＥＳＡ（Virtual Storage Extended/Enterprise Systems Architecture）等のオペレーティング・システム１１２内で動作する。
【０００７】
システム１００等の従来のシステムにおいて、旧来のＶＳＡＭデータ１０６は、オペレーティング・システム内のファイル・システムによってストレージ媒体上に管理されている。ファイル・システムは、データを組織化しフォーマットする。データにアクセスするには、オペレーティング・システムに「ＧＥＴ」または「ＰＵＴ」コール等のコールを行い、オペレーティング・システムがファイル・システムを用いてこの要求を満足させる。従って、ＶＳＡＭデータ１０６は、オペレーティング・システムに密接に関連付けられている。
【０００８】
ＶＳＡＭデータ１０６は、通常はフラット・ファイルにおいて非関係フォーマットでストアされている。ＶＳＡＭデータ１０６内のレコードは、１つ以上のファイルへのキーまたはオフセット情報によって識別される。ＶＳＡＭデータ１０６が非関係の特質を有するので、関係トランザクション要求を非関係トランザクション要求に変換することが必要である。
【０００９】
システム１００は、ＶＳＡＭＳＱＬモジュール１１４を含む。これは、本明細書中では関係トランザクション要求とも呼ぶ関係アクセス方法（relational access methods）と、ＶＳＡＭデータ１０６にアクセスするためのオペレーティング・システムによって理解される非関係アクセス方法（non‐relationalaccess methods）との間で変換を行う。ＶＳＡＭＳＱＬモジュール１１４によって、ウェブ・アプリケーション１０８は、ＳＱＬ（Structured Query Language）関係トランザクション要求を用いて、ＶＳＡＭデータ１０６にアクセスすることができる。
【００１０】
ＶＳＡＭＳＱＬモジュール１１４は、要求に応答して関係結果セットを提供する。このように、ウェブ・アプリケーション１０８のプログラマは、古い非関係アクセス方法の詳細事項から遮断されている。その代わり、プログラマは、周知のＳＱＬ要求を用いてＶＳＡＭデータ１０６にアクセスすることができる。
【００１１】
システム１００の一例が、公開番号ＵＳ２００１／００１８６８４Ａ１（以降６８４号と記す）を有し、本願と同一譲受人によって所有される米国特許第０９／７９１，９２４号に記載されている。しかしながら、特許６８４号等のようなシステム１００は、今日のミッション・クリティカルなトランザクションに望まれるものと同じトランザクション・アクセスおよび回復機能性を提供しない。トランザクション・アクセスおよび回復が利用可能でない理由は、ＶＳＡＭＳＱＬモジュール１１４とインタラクトするためのデータ管理システムが適所に存在しないからである。更に、ＶＳＥ／ＥＳＡオペレーティング・システムは、かかる管理システムをサポートしない。
【特許文献１】公開番号ＵＳ２００１／００１８６８４Ａ１
【発明の開示】
【発明が解決しようとする課題】
【００１２】
このため、ＶＳＡＭＳＱＬモジュール１１４は、オペレーティング・システムおよびファイル・システムと直接インタフェースする。レコードは、ファイルまたはレコード・レベルにロックされ、特定のトランザクションがアトミック・トランザクション（atomic transaction）として完了するという保証はない。これが意味するのは、トランザクションの一部分がデータを完了させ変更させ得る一方で、必要な第２の部分がデータの更新をしないということである。更に、トランザクションが完全にまたは部分的に失敗すると、そのトランザクションを回復させるための機構は現時点では存在しない。
【００１３】
更に、ＶＳＡＭＳＱＬとインタフェースするファイル・システムは、この重要データに、２相コミット（two‐phase commit）、ロールバック（rollback）、バックアップ（backup）および回復（recovery）等の他の組織レベルのデータ管理機能を提供しない。ＶＳＡＭＳＱＬモジュール１１４を用いたＶＳＡＭデータ１０６に対するウェブ・アプリケーション・アクセスでは、この結果、データを失い、データ完全性の問題を引き起こし、あるいはデータのロッキングのためにデータ・アクセスが単一の要求に限られる、またはそれら全てを生じる恐れがある。
【００１４】
従って、ウェブ・アプリケーションが組織管理データにアクセスすることを可能にするための装置、システム、および方法に対する要望が存在する。この装置、システム、および方法は、基礎にあるデータが非関係であっても、標準的なインタフェースによって関係トランザクションを受け入れ、関係結果を戻さなければならない。更に、この装置、システム、および方法は、２相コミット、ロールバック、同時アクセス、記録、および回復等の組織レベル機能をトランザクションに提供するように管理されている旧来のデータにトランザクション・アクセスおよびトランザクション回復を提供しなければならない。
【課題を解決するための手段】
【００１５】
本発明は、いまだ解決していない問題および要求に応えるために開発され、最新のウェブ・アプリケーションを用いて旧来のデータにアクセスするためのものであり、２相コミット、ロールバック、同時アクセス、および記録等のトランザクション管理および回復機構によって、ウェブ・アプリケーションが開始するトランザクションを保護する。従って、本発明は、当技術分野における上述の欠点の多数または全てを克服する、ウェブ・アプリケーションが組織管理データにアクセスするための装置、システム、および方法を提供するために開発された。
【００１６】
本発明の一態様に従った装置は、回復可能リソース・マネージャ、トランザクション変換器、インタフェース、および結果変換器を含む。回復可能リソース・マネージャ（ＲＲＭ）は、データに同時にアクセスする複数のトランザクションに、トランザクション回復およびトランザクション・アクセスを提供する。好ましくは、ＲＲＭは、ＶＳＡＭデータ等の特定のタイプのデータのために構成する。ＲＲＭは、トランザクション要求を発行する複数のアプリケーションによるデータへのアクセスを管理する。好ましくは、ＲＲＭは、組織情報システム（ＥＩＳ：Enterprise Information System）内の他のコンポーネントと協働して、データの記録、ロッキング、２相コミット、バックアウト、および共有を提供して、データにアクセスするトランザクションを回復可能とする。
【００１７】
トランザクション変換器は、ウェブ・アプリケーションからの関係トランザクション要求を、１つ以上の非関係トランザクション要求に変換する。関係トランザクション要求は、ＲＲＭが管理するデータのためのものである。インタフェースによって、非関係トランザクション要求はＲＲＭに送信され、これが実行されて非関係結果が生成され、インタフェースに戻される。結果変換器は、非関係結果を、ウェブ・アプリケーションに返信することができる関係結果に変換する。いくつかの実施形態では、ウェブ・アプリケーション・インタフェースを設け、業界に認められたアプリケーション・プログラミング・インタフェース（ＡＰＩ）に従って、ウェブ・アプリケーションから関係トランザクションを受信する。
【００１８】
また、本発明の一態様に従って、ウェブ・アプリケーションが組織管理データにアクセスするための方法を提示する。一実施形態において、この方法は、データのための回復可能リソース・マネージャ（ＲＲＭ）であって、データに同時にアクセスする複数のトランザクションにトランザクション回復およびトランザクション・アクセスを提供するように構成されたＲＲＭを設けるステップを含む。次に、ＲＲＭによって管理されたデータを伴う関係トランザクションを、非関係トランザクションに変換する。非関係トランザクションをＲＲＭに伝達し、ＲＲＭは非関係トランザクションを実行して非関係結果を生成する。最後に、非関係結果を、ウェブ・アプリケーションに送信される関係結果に変換する。
【００１９】
また、本発明は、システム、コンピュータ・プログラム、および製造アーティクルとして構成された実施形態を含み、これは、１組の命令を具現化するコンピュータ読み取り可能ストレージ媒体を含み、各々が、装置および方法に関連付けて上述した構成要素およびステップと実質的に同じ機能性を含む。本発明の特徴および利点は、以下の説明および特許請求の範囲から充分に明らかになり、または、以下で述べるような本発明の実施によって教示することができる。
【００２０】
本発明の利点を容易に理解するため、添付図面に例示した特定の実施形態を参照して、先に簡単に述べた本発明の更に具体的な説明を行う。これらの図面は、本発明の単に典型的な実施形態を図示し、従って、その範囲を限定すると考えられるものではないことを理解した上で、添付図面を用いて、本発明について更に具体性および詳細をもって記載し説明する。
【発明を実施するための最良の形態】
【００２１】
本発明の構成要素は、本明細書中の図面において一般的に記載し示すように、様々な異なる構成で配置および設計が可能であることは容易に理解されよう。このため、以下に示す本発明の装置、システム、および方法の実施形態の更に詳細な説明は、図面に提示するように、特許請求する本発明の範囲を限定することを意図せず、本発明の選択した実施形態を単に表現するものである。
【００２２】
本明細書に記載する機能ユニットの多くは、それらの実施の独立性を特に強調するために、モジュールと称する。例えば、モジュールは、カスタムＶＬＳＩ回路またはゲート・アレイ、ロジック・チップ、トランジスタ、または他の個別コンポーネント等の既製の半導体から成るハードウェア回路として実施することができる。また、モジュールは、フィールド・プログラマブル・ゲート・アレイ、プログラマブル・アレイ・ロジック、プログラマブル・ロジック・デバイス等のプログラマブル・ハードウェア・デバイスにおいて実施可能である。
【００２３】
また、モジュールは、様々なタイプのプロセッサによって実行するためにソフトウエアで実施することができる。実行可能コードの識別されたモジュールは、例えば、コンピュータ命令の１つ以上の物理または論理ブロックを含むことができ、これは、例えば、オブジェクト、手順、機能、または他の構造物として整理することができる。しかしながら、識別されたモジュールの実行ファイルは、物理的に一緒に配置する必要がなく、異なる位置にストアされた異なる命令を含むことができる。これらは、論理的に結合されると、モジュールを構成し、モジュールのために指定された目的を達成することができる。
【００２４】
実際、実行可能コードのモジュールは、単一の命令または多くの命令とすることができ、異なるプログラムの中およびいくつかのメモリ・デバイス間で、いくつかの異なるコード・セグメント上に分散させることができる。同様に、動作データは、モジュール内で識別し例示することができ、いずれかの適切な形態で具現化し、いずれかの適切なタイプのデータ構造内で整理することができる。動作データは、単一データ・セットとして集めることができ、または、異なるストレージ・デバイスを含む異なる位置に分散させることができ、更に、少なくとも部分的に、システムまたはネットワーク上で単に電子信号として存在することができる。
【００２５】
本明細書を通して、「選択実施形態」、「一実施形態」、または「実施形態」に対する言及が意味するのは、その実施形態と関連付けて記載する特定の機構、構造、または特徴が、本発明の少なくとも１つの実施形態に含まれるということである。このため、本明細書を通して、様々な箇所において「選択実施形態」、「一実施形態において」、または「実施形態において」という語句が現れるが、必ずしも同一の実施形態を指すのではない。
【００２６】
更に、記載した機構、構造、または特徴は、１つ以上の実施形態においていずれかの適切な方法で組み合わせることができる。以下の記載において、プログラミング、ソフトウェア・モジュール、ユーザ選択、ユーザ・インタフェース、ネットワーク・トランザクション、データベース・クエリ、データベース構造、ハードウェア・モジュール、ハードウェア回路、ハードウェア・チップ等の例等、多数の具体的な詳細を与えて、本発明の実施形態の完全な理解を得る。しかしながら、それらの具体的な詳細の１つ以上がなくても、または他の方法、コンポーネント、材料等を用いても本発明を実施可能であることは、当業者には認められよう。他の例において、本発明の態様を不明瞭にすることを回避するために、周知の構造、材料、または動作については、詳細な図示および説明は行わない。
【００２７】
本発明の例示的な実施形態は、図面を参照することによって最も良く理解されよう。図面全体を通して、同様の部品は同様の番号で表す。以下の説明は、単に一例として意図されるものであり、特許請求される本発明に一致するデバイス、システム、およびプロセスのいくつかの選択した実施形態を単に例示するものである。
【００２８】
図２は、本発明の一実施形態に従った、ウェブ・アプリケーションが組織管理データにアクセスするための装置２００を示す。装置２００は、ウェブ・クライアント２０２、オペレーティング・システム２０４、および少なくとも１つのデータ・ストア２０６を含む。むろん、装置２００のコンポーネントは、ネットワーク通信によって接続された１つ以上のコンピュータ・システム上で動作することができる。
【００２９】
ウェブ・クライアント２０２は、図１に関連して記載したウェブ・クライアント１０２と同様の周知のコンポーネントを含む。オペレーティング・システム２０４は、公知であり、Ｌｉｎｕｘ、Ｕｎｉｘ、Ｗｉｎｄｏｗｓ、ＯＳ／３９０、ｚ／ＯＳ等を含むいずれかのオペレーティング・システムを含むことができる。
【００３０】
上述のように、何らかの旧来のデータのためのデータ・ストア２０６は、個別のレコードまたはデータ要素の構造を維持するためのロジックまたは構造を含まないことが多い。その代わり、オペレーティング・システム２０４上で動作するＥＩＳ２０８が、データ・ストア２０６にストアされたデータのためのフォーマット、スキーマ、およびセマンティクスを維持する。
【００３１】
任意に、またはこれに加えて、ＥＩＳ２０８は、他のデータ管理モジュールと通信して、旧来のデータのためのスキーマおよびセマンティクスを管理することができる。
【００３２】
ＥＩＳ２０８は、組織レベルの機構、機能、および保護を旧来のデータに提供する。スキーマおよびセマンテイックの管理に加えて、ＥＩＳ２０８は、同時アクセスを提供することができる。従来、バッチ・プロセスおよびトランザクション・プロセスは、旧来のデータ内の同一レコードに同時にアクセスすることができなかった。今や、ＥＩＳ２０８によって、いずれのプロセスも同一データ・セットにアクセスするこができる。レコードおよびデータ要素は、必要に応じてロックおよびアンロックして、データの完全性を維持する。
【００３３】
更に、ＥＩＳ２０８は、データに対して行われたアクションを記録することができる。記録は、データに対する全ての更新を明らかにし、失敗したトランザクションのバックアウトを実行可能とする。また、記録によって、システム故障の場合にデータ・ストア２０６を回復させることができる。ＥＩＳ２０８は、データの完全性を維持するように確実にアトミック・トランザクションを完了または逆転させるためのロジックを含むことができる。例えば、ＥＩＳ２０８は、旧来のデータに２相コミット機能を提供することができる。２相コミット機能によって、トランザクションの全要求が共に成功するかまたは共に失敗することが保証される。従って、ＥＩＳ２０８は、複数のプロセスによってアクセス可能な旧来のデータに、最新のデータベース管理機構を提供する。ＥＩＳ２０８は、データまたはデータにアクセスしたアプリケーションのコードのストレージ・フォーマットの変更を必要とすることなく、これらの利点を提供する。
【００３４】
データ・ストア２０６上にストアされた旧来のデータ間でフォーマット、構造、およびセマンティクスが異なるため、ＥＩＳ２０８は、旧来のデータの各タイプごとに、別個の回復可能リソース・マネージャ（ＲＲＭ）２１０を含むことができる。回復可能リソース・マネージャ２１０は、特定のタイプの旧来のデータを管理するために専用に設計されたソフトウェア・モジュールを含む。ＲＲＭ２１０は、ＥＩＳ２０８と特定のタイプの旧来のデータとの間のインタフェースを提供する。例えば、あるＲＲＭ２１０は、ＶＳＡＭデータ・ストア２０６内のＶＳＡＭデータにアクセスし管理するのに必要なスキーマ、セマンティクス、およびプロトコルを用いる。同様に、ＥＩＳ２０８内の他のＲＲＭ（図示せず）は、情報管理システム（ＩＭＳ）データ・ストレージ・システムおよびＤＢ２データ・ストア２０６に対するアクセスを提供することができる。
【００３５】
ＥＩＳ２０８は、以下で更に具体的に説明する他のコンポーネントと組み合わせてＲＲＭ２１０を用いて、旧来のデータの組織管理を行う。これによって、フラット・ファイルにストアされたＶＳＡＭデータ２０６等の非関係データを、最新のトランザクション・アクセス方法で使用可能であり、トランザクションが完全に回復可能となるので、有利である。このため、ＶＳＡＭデータ２０６は、新しいファイル・システムあるいはＤＢＭＳまたはその両方に変換する必要がなく、最新のアプリケーションおよび旧来のアプリケーションの双方に対して有用であり続ける。
【００３６】
具体的には、ＲＲＭ２１０によって、複数のアプリケーションが、回復可能な方法で、旧来のデータに同時トランザクション・アクセスを行うことができる。すなわち、トランザクション回復が提供される。本明細書において用いる場合、トランザクション回復とは、外部アプリケーションとデータとの間のいかなるトランザクションについても、トランザクションを開始する前の元の状態にデータを回復可能であるということである。トランザクションは、データを伴う１つ以上のトランザクション要求を含む。トランザクション要求は、データを読み取るかまたは更新する場合がある。
【００３７】
旧来のアプリケーションに加えて、本発明のいくつかの実施形態では、ＥＩＳ２０８によって、ウェブ・アプリケーション２１２あるいはアプリケーション／ウェブ・サーバ２１４またはその両方等の最新アプリケーションが、旧来のデータにアクセスすることができ、その際に組織管理データの利点は全て維持されたままである。ウェブ・アプリケーション２１２およびアプリケーション／ウェブ・サーバ２１４は周知であり、一般に、データ・ストア２０６内のデータにアクセスするための、ＯＤＢＣ（Open Database Connectivity）等の標準インタフェース（図示せず）を含む。ウェブ・アプリケーション２１２および標準データベース接続モジュールをＲＲＭ２１０から分離するため、本発明は、コネクタ２１６を提供する。
【００３８】
コネクタ２１６は、ウェブ・アプリケーション２１２とＥＩＳ２０８のＲＲＭ２１０との間でトランザクション要求の変換を行う。同様に、コネクタ２１６は、ＲＲＭ２１０が提供する結果を、ウェブ・アプリケーション２１２が理解するフォーマットおよびプロトコルに変換する。好ましくは、異なる旧来のストア２０６における各タイプの旧来のデータに、異なるコネクタ２１６を関連付ける。あるいは、単一のコネクタ２１６が、複数のＲＲＭ２１０と通信することも可能である。
【００３９】
ウェブ・アプリケーション２１２は、トランザクション要求をコネクタ２１６に送信する。通常、最初のトランザクション要求は、最新の標準化フォーマットのものである。コネクタ２１６は、ＲＲＭ２１０によって理解することができる１つ以上のトランザクション要求を発生する。コネクタ２１６が、オペレーティング・システム、ファイル・システム、または他の旧来のデータ管理システムと直接通信を行うのではなく、トランザクション要求はＲＲＭ２１０を経るので、トランザクションが、ＥＩＳ２０８によって管理されるデータの利点を得るようになっている。
【００４０】
図３は、本発明の一実施形態によるコネクタ３００の一実施形態を示す。具体的には、コネクタ３００によって、トランザクションは、ＶＳＡＭ  ＲＲＭ２１０（図２を参照）を介してＶＳＡＭデータ２０６にアクセスする場合に、組織管理の利点を得ることができる。ＶＳＡＭコネクタ３００は、ウェブ・インタフェース３１０、トランザクション変換器３１２、インタフェース３１４、および結果変換器３１６を含む。
【００４１】
通常、ウェブ・アプリケーション２１２は、関係フォーマット（relational format）でストアされたデータにアクセスすることに慣れている。このため、ウェブ・インタフェース３１０は、ウェブ・アプリケーション２１２から関係トランザクション要求を受信する。ウェブ・インタフェース３１０は、関係トランザクション要求を受信するための公開インタフェースを含む。好ましくは、公開インタフェースは、ＪＤＢＣ（Java Database Connectivity）、ＯＤＢＣ等、業界に認められたＡＰＩである。従って、関係トランザクション要求は、ＳＱＬプロトコルに従ってフォーマットされている。むろん、ウェブ・インタフェース３１０のＡＰＩは、ＶＳＡＭコネクタ３００の他のコンポーネントを変更することなく、新しいデータ要求プロトコルに対応するように変更することができる。
【００４２】
ＶＳＡＭデータは、非関係フォーマットで構成されている。これは、ＲＲＭ２１０に対するトランザクション要求発行も非関係トランザクション要求でなければならないことを意味する。このように、ＶＳＡＭデータはそのままであり、変換もリフォーマットも必要ない。更に、旧来のアプリケーションおよびバッチ・プログラムはどれも、組織管理データの安全対策を全て利用しながら、ＶＳＡＭデータにアクセスしこれを用いることができる。トランザクション変換器３１２は、ウェブ・インタフェース３１０から受信した関係トランザクション要求を、１つ以上の非関係トランザクション要求に変換する。非関係トランザクション要求は、ＲＲＭ２１０のトランザクション要求インタフェースと一致する方法でフォーマットされ定義される。
【００４３】
インタフェース３１４は、トランザクション変換器３１２によって与えられた非関係トランザクション要求をＲＲＭ２１０に送信する。上述のように、通常、各コネクタ３００は単一のＲＲＭ２１０に対応する。しかしながら、これは必須ではない。図３において、インタフェースは、非関係トランザクション要求をＶＳＡＭ  ＲＲＭ２１０に送信する。ＲＲＭ２１０は、その非関係トランザクション要求が、トランザクション回復およびＶＳＡＭデータ２０６に対するアクセスを要求する他のいずれかの旧来のアプリケーションから送られてきた場合のように、その要求を実行する。
【００４４】
インタフェース３１４は、ＲＲＭ２１０によって提供された非関係の結果を受信する。次いで、この非関係の結果は、結果変換器３１６に与えられる。結果変換器３１６は、非関係の結果を受け入れ、その結果を、ウェブ・アプリケーション２１２に送信することができる関係結果に変換する。いくつかのトランザクション要求では、関係結果は、１対１で関係要求に対応する。他のトランザクション要求では、対応する関係要求に対して適切な関係結果セットを発生することが可能となるまで、結果変換器３１６は複数の非関係結果を蓄積することができる。従って、結果変換器３１６は、ウェブ・インタフェース３１０あるいはトランザクション変換器３１２またはその両方と通信して、関係結果が関係トランザクション要求に対応するように適切な数の非関係結果を確実に受信することができる。
【００４５】
非関係結果は、ＶＳＡＭデータにアクセスする全てのアプリケーション（旧来のもの、バッチ等）が用いるフォーマット、符号化、および構造に従って整理および構成されたＶＳＡＭデータ等のデータ・セットである。従って、結果変換器３１６は、結果におけるデータの構造、フォーマット、および符号化を変更することによって、関係結果の構造、フォーマット、符号化が、ウェブ・アプリケーションによって予想されるものであるようにすることができる。
【００４６】
例えば、最新のウェブ・アプリケーション２１２は、Ｕｎｉｃｏｄｅ等の符号化フォーマットに従って符号化したデータを用いる。ＶＳＡＭデータは、通常、ＥＢＣＤＩＣ（Extended Binary-Coded Decimal Interchange Code）符号化フォーマットでメインフレーム・ストレージ・システム上にストアされている。このため、結果変換器３１６は、結果におけるデータをＥＢＣＤＩＣからＵｎｉｃｏｄｅに変換する。同様に、トランザクション変換器３１２は、関係トランザクション要求内のあらゆるデータ要素を、ＵｎｉｃｏｄｅからＥＢＣＤＩＣに変換することができる。
【００４７】
好ましくは、関係結果がウェブ・インタフェース３１０に提供されると、インタフェース３１０は、この結果を、関係トランザクション要求を開始したウェブ・アプリケーション２１２に戻す。このように、ウェブ・アプリケーション２１２は、関係トランザクション要求を発行し、関係結果を受信し、他のトランザクションと同時に全トランザクションを動作させることができるが、一方で、ＥＩＳ２０８（図２を参照）の他のコンポーネントと動作しているＲＲＭ２１０によって回復およびデータ完全性の目的のために保護されている。
【００４８】
図４は、本発明と共に機能するように構成されたＥＩＳ４００の一実施形態であり、ウェブ・アプリケーション４０２が、ＶＳＡＭデータ４０４等の旧来のデータのトランザクション回復から利益を得るようになっている。いくつかの実施形態では、回復可能リソース・マネージャ（ＲＲＭ４０６）が、単一コンポーネントにおいてＶＳＡＭデータ等のデータの記録、ロッキング、２相コミット、バックアウト、および共有を提供する。好ましくは、ＲＲＭ４０６は、ＥＩＳ４００の他のコンポーネントと協働して、これらの組織管理データの利益を提供する。ＲＲＭ４０６は、組織データ管理機構のいくつかを提供し、アプリケーション機構についてはＥＩＳ４００の他のコンポーネントに頼ることができる。
【００４９】
好ましくは、ＲＲＭ４０６は、図２に関して説明したＲＲＭ２１０と実質的に同一である。一実施形態では、ＲＲＭ４０６は、リソース回復サービス（ＲＲＳ）４０８および同時アクセス機能（ＣＡＦ）４１０と協働して、データの記録、ロッキング、２相コミット、バックアウト、および共有を含む組織データ管理機構の全てを提供する。
【００５０】
ＲＲＭ４０６は、ＲＲＳ４０８と共に、ＶＳＡＭデータ４０４に対する回復可能トランザクション・アクセスを可能とする。好ましくは、ＲＲＭ４０６は、バッチ・アプリケーション４１２、カスタマ情報制御システム（ＣＩＣＳ）４１４等の旧来のアプリケーション４１４、ならびにウェブ・アプリケーション４０２によって用いられる。バッチおよび旧来のアプリケーション４１２、４１４は、直接またはそのプログラムに固有のＲＲＭ４０６を介して、ＲＲＳ４０８にアクセスすることができる。一実施形態では、ＲＲＭ４０６は、ＩＢＭ社から入手可能なＳＭＳ  ＶＳＡＭ（仮想記憶アクセス方式のためのストレージ管理サブシステム：Storage Management Subsystem for Virtual Storage Access Method）データを含む。
【００５１】
ウェブ・アプリケーション４０２からの回復可能関係トランザクションは、ＲＲＭ４０６、ＲＲＳ４０８、およびＣＡＦ４１０と連携したコネクタ３００によって可能となる。むろん、バッチおよび旧来のアプリケーション４１２、４１４は、非関係トランザクション要求を直接ＲＲＳ４０８に送信する。
【００５２】
ＣＡＦ４１０によって、アプリケーション４０２、４１２、４１４は、１日のどの時刻でも同一のＶＳＡＭデータ４０４に同時にアクセスすることができる。アプリケーション４０２、４１２、４１４はどれも、ＶＳＡＭデータ４０４に対するアクセスを得るためにオフラインになることを待つ必要はない。ＶＳＡＭデータ４０４は、同時アクセスのためにキャッシュされ管理されている。一実施形態では、ＣＡＦ４１０は、ＩＢＭ社から入手可能な結合機能（ＣＦ：Coupling Facility）を含む。
【００５３】
図５は、本発明の一実施形態によるＲＲＭ４０６を示す。ＲＲＭ４０６は、トランザクションＶＳＡＭ（ＴＶＳ）モジュール４１６、および、ＶＳＡＭレコード・レベル共有（ＶＳＡＭ  ＲＬＳ）モジュール４１８を含む。ＴＶＳモジュール４１６は、複数のアプリケーション４０２、４１２、４１４によるＶＳＡＭデータに対するトランザクション・アクセスを可能とする。ＴＶＳモジュール４１６は、複雑なロッキングおよび記録機構を含み、ＶＳＡＭデータに関するトランザクションが完全に回復可能であるようにする。
【００５４】
ＶＳＡＭデータ４０４の共有を容易にするため、ＴＶＳモジュール４１６は、ＶＳＡＭ  ＲＬＳモジュール４１８を有する。ＶＳＡＭ  ＲＬＳモジュール４１８によって、多数のアプリケーションがレコード・レベルでＶＳＡＭデータを共有することができる。一実施形態では、ＩＢＭ社から入手可能なＤＦＳＭＳｔｖｓおよびＶＳＡＭ  ＲＬＳとしても知られるトランザクションＶＳＡＭの最新リリースを、本発明において使用可能である。
【００５５】
図６は、トランザクション変換器５００の一実施形態を示す。トランザクション変換器５００は、図３に関連付けて上述したトランザクション変換器３１２および結果変換器３１６によって共に実行される本質的に同一の機能を実行するように構成された単一モジュールを含むことができる。トランザクション変換器５００は、関係トランザクション要求５０２を非関係トランザクション要求５０４に、非関係結果５０６を関係結果５０８に変換する。
【００５６】
変換器５００は、パーサ５１０、マッパ（mapper）５１２、およびメタデータ５１４を含む。パーサ５１０は、関係トランザクション要求５０２を、１つ以上の関係表現に構文解析する。例えば、関係トランザクション要求５０２が、「従業員から名前、年齢を選択、年齢は６５歳以上」等のＳＱＬステートメントを含むと仮定する。パーサ５１０は、ＳＱＬプロトコルにおいて識別したキーワードに従って、ステートメント５０２を、「名前、年齢を選択」、「従業員から」、および「年齢は６５歳以上」という表現に構文解析する。関係表現は、ＳＱＬ等の関係トランザクション・プロトコルに従って構文解析されてフォーマットされる。むろん、どの関係トランザクション・プロトコルも使用可能である。
【００５７】
次に、マッパ５１２は、関係表現を非関係表現にマッピングする。マッピングを実行するため、マッパ５１２は、好ましくは、１組のルール（図示しないが、メタデータ５１４にストアすることができる）を含む。このルールは、どのように関係表現のシンタックスを変更して、データにアクセスするための非関係表現において同じシンタックスを生成するかを示す。マッパ５１２は、このルールを用いて、各関係表現に対応する１つ以上の非関係表現を生成する。  
【００５８】
次に、マッパ５１２は、関係表現におけるデータ要素識別子およびリテラル・データ要素を、非関係表現のための対応するデータ要素識別子およびリテラル・データ要素にマッピングする。このマッピングを実行するため、マッパ５１２は、関係ビュー５１６および非関係ビュー５１８を参照することができる。
【００５９】
通常、関係トランザクション要求５０２によって参照されるデータは、最初に関係トランザクション要求５０２を定式化するために用いたものとは異なるスキーマおよび符号化フォーマットに従って構成されている。従って、関係ビュー５１６は関係スキーマ（relational schema）および符号化識別子をストアし、一方、非関係ビュー５１８は非関係ビュー５１８をストアする。
【００６０】
関係ビュー５１６は、関係トランザクション要求５０２によってアクセスされるテーブル、列、およびフィールドのためのラベル、サイズ、およびデータ・タイプ等の名前および特徴を含む。非関係ビュー５１８は、ＶＳＡＭデータ等の非関係データに対するデータセットおよびレコードを記述する。非関係ビュー５１８は、データ・レコード内のデータのラベル、オフセット、長さ、およびデータ・タイプを含む。
【００６１】
好ましくは、関係ビュー５１６は、有効な関係トランザクション要求５０２において用いたものと同じ、テーブル、列、およびフィールドのためのラベルおよび識別子を含む。このように、マッパ５１２は、関係ビュー５１６において、各関係表現を構文解析する際にどのラベルが生じたかに応じて、一致するテーブル・ラベル、列ラベル、またはフィールド・ラベルを探すことによって、関係表現をマッピングすることができる。いったん関係ビュー５１６において一致するラベルが見つかると、ポインタまたは他の識別子が、非関係ビュー５１８の対応するラベルおよび選択を示すことができる。そして、マッパ５１２は、ポインタを用いて、非関係ビュー５１８における一致するラベルについての適切な非関係シンタックスおよびセマンティクスを参照することができる。マッパ５１２は、このようにして先に進んで、各関係表現ごとに少なくとも１つの非関係表現を生成する。
【００６２】
関係表現がラベルの代わりにリテラル・データ要素を含む場合、マッパ５１２は、ＶＳＡＭデータ等の非関係データの符号化フォーマットを用いて、リテラル・データ要素を対応するデータ要素に変換することができる。例えば、関係表現におけるデータ要素はＵｎｉｃｏｄｅで符号化することができ、非関係データ要素はＥＢＣＤＩＣで符号化することができる。このため、マッパ５１２は、ストリングのＵｎｉｃｏｄｅ表現をＥＢＣＤＩＣ符号化に変換する。
【００６３】
関係および非関係ビュー５１６、５１８は、いかなるデータ構造でも構成およびストアすることができる。好ましくは、関係および非関係ビュー５１６、５１８ならびに他のメタデータ５１４は、拡張記述言語（ＸＭＬ）に従ってファイル内にストアする。ＸＭＬ等の最新データ構造を用いることによって、予め構築されたモジュールをマッパ５１２において用い、マッピング・プロセスを容易にすることができる。関係および非関係ビュー５１６、５１８は、関係トランザクション要求をマッピングする前に定義しなければならない。
【００６４】
マッパ５１２が対応する一致を見つけられない場合、エラー・イベントが生じる。関係および非関係ビュー５１６、５１８の生成は、手動で、または、ＣＯＢＯＬコピーブック等のソース・スキーマが与えられると適切なＸＭＬファイルを生成するようにプログラミングされた自動化ツールを用いて行うことができる。
【００６５】
一実施形態では、関係および非関係ビュー５１６、５１８は、ＶＳＡＭデータについて定義する。ＶＳＡＭデータは、ＥＢＣＤＩＣ符号化フォーマットを用いて、システム上に、非関係アクセス方法に従ってストアされる。通常、ＶＳＡＭデータのための非関係アクセス方法は、ＶＳＡＭデータセットが関係アクセス方法におけるテーブルに対応するようにデータを組織化する。同様に、ＶＳＡＭデータ・レコード内の各フィールドはテーブル内の列に対応し、ＶＳＡＭレコード内のデータはテーブルの行内のデータに対応する。
【００６６】
いくつかの実施形態では、マッパ５１２は、非関係結果５０６を関係結果５０８に変換する。非関係結果５０６は、通常、成功メッセージ、失敗メッセージ、または要求されたデータを含む。好ましくは、マッパ５１２は、非関係フォーマットから関係フォーマットに成功メッセージおよび失敗メッセージを変換するようにプログラミングされている。むろん、これらのメッセージの変換は必要でない場合がある。真では１および失敗では０のような汎用メッセージを用いることがあるからである。通常、マッパ５１２は、要求されたデータを、非関係符号化フォーマットから関係符号化フォーマットに変換する。しかしながら、マッパ５１２は、結果セットにおけるデータのフィールドを適切にフォーマットするか、またはデータ・タイプを変換するために、関係ビュー５１６を参照することができる。例えば、１８０文字の２進非関係データ要素は、最大１００文字の長さを有する関係ビューのタイプのストリングにおけるデータ・フィールドにマッピングすることができる。このため、マッパ５１２は、データ・タイプの変換を行い、結果として得られるストリングの末尾を１００文字に切り取ることができる。
【００６７】
図７は、ウェブ・アプリケーションが組織管理データにアクセスするための装置６００の一実施形態を示す。装置６００は、第１のアプリケーション・サーバ６０２、ＥＩＳ６０４、および１つ以上のコネクタ６０６を含む。好ましくは、各コネクタ６０６は、特定のデータ・ストア６０８ａ〜６０８ｃにおける特定のタイプのデータとインタフェースする。特に、装置６００は、単一のトランザクションが複数のデータ・ストア６０８ａ〜６０８ｃ内のデータを用いて、ＥＩＳ６０４が与えるトランザクション回復およびトランザクション・アクセスからトランザクションが利益を得るように構成されている。
【００６８】
例えば、第１のアプリケーション・サーバ６０２上で動作するウェブ・アプリケーション６１０またはそのコンポーネントは、全て同じトランザクション内にあるＶＳＡＭデータ、ＩＭＳデータ、あるいはＤＢ２データまたはそれら全てに対するトランザクション要求を発行することができる。ＥＩＳ６０４は、データのロッキング、記録、２相コミット、および共有を調整し管理して、複数のデータ・ソースがアクセスされる場合であってもトランザクションが充分に回復可能であることを保証する。
【００６９】
第１のアプリケーション・サーバ６０２、ＥＩＳ６０４、およびコネクタ６０６は、図２の装置２００の対応するアプリケーション／ウェブ・サーバ２１４、ＥＩＳ２０８、およびコネクタ２１０と同様にインタラクトし機能する。装置６００は、どのように単一トランザクションが複数のコネクタ６０６を含むことができるかを示す。
【００７０】
具体的には、ＥＩＳ６０４は、ＶＳＡＭデータを伴う回復可能トランザクションを管理するように特に構成されたＲＲＭ２１０（図２を参照）を含む。装置６００は、第１のアプリケーション・サーバ６０２とＥＩＳ６０４のＲＲＭ２１０との間でＶＳＡＭデータのための関係要求および関係結果を交換するように構成されたＶＳＡＭコネクタ６０６ａを含む。一実施形態では、ＲＲＭ２１０は、ＳＭＳ  ＶＳＡＭデータ、ＣＦ、およびＶＳＡＭレコード・レベル共有モジュールとインタフェースして、回復可能トランザクションのためのＶＳＡＭデータの記録、ロッキング、２相コミット、バックアウト、および共有を提供する。
【００７１】
好ましくは、コネクタ６０６は、ＥＩＳ６０４等の旧来のデータ管理システムと、ウェブ・アプリケーション６１０あるいはウェブ・コンポーネント６１０またはその両方等の最新技術との間に橋をかけるように構成されている。このため、いくつかの実施形態では、コネクタ６０６は、ＪＤＢＣ  ＡＰＩＣを含むがこれに限定されない標準化ＡＰＩを用いて実施される。
【００７２】
コネクタ６０６は、一方側のウェブ・アプリケーション６１０およびアプリケーション／ウェブ・サーバ６０２の技術と、他方側の旧来のアプリケーション、オペレーティング・システム、あるいはシステム・コールまたはそれら全てとの間の技術遮断層を含む。このため、コネクタ６０６は、特定のハードウェア・コマンドからアプリケーションを遮断するソフトウェア・ドライバのように機能する。異なるタイプのコネクタ６０６を実施することができる。ＪＤＢＣコネクタ６０６では、４つの異なる周知のタイプが存在する。
【００７３】
タイプ１のコネクタは、ＪＤＢＣ−ＯＤＢＣブリッジを含む。タイプ２のコネクタは、部分的にＪＡＶＡプログラミング言語で書かれたドライバと組み合わせたネイティブＡＰＩを含む。タイプ２のコネクタは、ＪＤＢＣコールを、データベースまたはオペレーティング・システムに固有のデータ要求に変換する。いくつかの実施形態では、ＶＳＡＭコネクタ６０６ａは、ＪＡＶＡおよびＩＢＭ社からのｚ／ＯＳ等のホスト・オペレーティング・システム６１２とコンパチブルな言語で書かれたタイプ２のコネクタを含む。タイプ３のコネクタは、完全にＪＡＶＡで書かれたドライバを含み、これは、ＪＤＢＣ要求をネットワークを介して中間層のサーバに渡し、これが次いでＪＤＢＣ要求をデータ・ストアに固有のデータ要求に変換する。タイプ４のコネクタは、完全にＪＡＶＡで書かれ、データベース管理システム・プロトコル（ＤＢＭＳ：database management system protocol）サーバと直接通信するために、ＪＤＢＣコールを特定のＤＢＭＳに変換する。
【００７４】
更に図７を参照すると、装置６００は、容易にウェブ・アプリケーション・ソフトウェア・アーキテクチャに拡張可能である。このアーキテクチャは、トランザクションを満足させるために、ウェブ・クライアント６１４と、データに対するアクセスを管理するＥＩＳ６０４との間に、複数の層を含む。一実施形態では、ウェブ・アプリケーション６１０全体が第１のアプリケーション／ウェブ・サーバ６０２上で動作するのではなく、ウェブ・アプリケーション６１０は複数のサーバ上に分散させることができる。ウェブ・アプリケーション６１０のいくつかのコンポーネントは、ウェブ・サービスまたはデータ・サーバとして第１のアプリケーション／ウェブ・サーバ６０２上で動作することができる。
【００７５】
図７の例示した装置６００において、ウェブ・アプリケーション６１０は、複数の分散アプリケーション・コンポーネント６１０ａ〜６１０ｄを含むことができる。例えば、第２のアプリケーション・サーバ６１６は、様々な分散アプリケーション・コンポーネント６１０ａ〜６１０ｃを実行することができる。これらは、エンタープライズＪａｖａビーンズ（ＥＪＢ：Enterprise Java Beans）６１０ａ、Ｊａｖａサーバ・ページ（ＪＳＰ：Java Server Pages）あるいはサーブレット６１０ｂまたはその両方、およびウェブ・サーバ６１０ｃを含む。
【００７６】
好ましくは、第１のアプリケーション・サーバ６１６および分散アプリケーション・コンポーネント６１０ａ〜６１０ｃは、ＶＳＡＭコネクタ６０６ａを実行するオペレーティング・システム６１２以外のオペレーティング・システム６１８上で動作する。このように、ＶＳＡＭコネクタ６０６ａは、ＶＳＡＭデータ６０８ａ等の旧来のデータにアクセスするためのネイティブ・コールを含むｚ／ＯＳ６１２等のオペレーティング・システム６１２上で動作することができ、残りのウェブ・アプリケーション・コンポーネント６１０ａ〜６１０ｃは、１つ以上の異なるオペレーティング・システム６１８を動作させ、ＶＳＡＭデータ６０８ａ等の旧来のデータに対するトランザクション回復およびアクセスから利益を得る。異なるオペレーティング・システム６１８は、Ｌｉｎｕｘ、Ｕｎｉｘ、Ｗｉｎｄｏｗｓ、Ｍａｃｉｎｔｏｓｈ、ＢＳＤ等を含むことができる。
【００７７】
分散ウェブ・アプリケーション・コンポーネント６１０ａ〜６１０ｃは、分散コネクタ６２０によってＶＳＡＭコネクタ６０６ａと通信を行う。分散コネクタ６２０によって、１つ以上のウェブ・アプリケーション６１０からのＶＳＡＭデータに対する関係トランザクション要求が、確実にネットワークを介してＶＳＡＭコネクタ６０６ａに伝達される。関係要求および関係結果は、第１のアプリケーション・サーバ６０２を通ってＶＳＡＭコネクタ６０６ａに渡されるか、または直接ＶＳＡＭコネクタ６０６ａに伝達される。
【００７８】
分散コネクタ６２０は、第１のアプリケーション・サーバ６０２上で動作する１つのモジュール、および、第２のアプリケーション・サーバ６１６上で動作する対応するモジュールを含むことができる。一実施形態では、分散コネクタ６０２は、ＪＡＶＡプログラミング言語で書かれたタイプ３のコネクタを含む。
【００７９】
図８は、ウェブ・アプリケーションが組織管理データにアクセスするためのシステム７００を示す。組織管理データは、トランザクション・アクセス方法を用いて同時に利用可能であり完全に回復可能であるデータを意味する。ファイル・システム、オペレーティング・システム、またはデータベース管理シスムのどれを用いてデータにアクセスするかには関係なく、組織管理データは完全に回復可能である。組織管理ＶＳＡＭデータは特に有用である。なぜなら、ＩＢＭ社から入手可能なＶＳＡＭＳＱＬ等のコンポーネントを用いたＶＳＡＭデータに対するアクセスは、回復可能トランザクション・アクセスを提供しないからである。図８は、ＶＳＡＭデータおよび他の旧来のデータ・ストアとウェブ・アプリケーションとの間のデータ・フローを更に明確に示すために、モジュールのいくつかの詳細を含まない。
【００８０】
システム７００は、クライアント・アプリケーション７０２、ウェブ・アプリケーション７０４、データベース・モジュール７０６、ＥＩＳ集合７０８、および複数のデータ・ストア７１０を含む。クライアント・アプリケーション７０２は周知であり、ウェブ・アプリケーション７０４とインタフェースする。好ましくは、ウェブ・アプリケーション７０４は、第１のアプリケーション・サーバ７１２上で動作する。一実施形態では、第１のアプリケーション・サーバ７１２は、ｚ／ＯＳオペレーティング・システム上で動作する。
【００８１】
ウェブ・アプリケーション７０４は、１つ以上の分散ミドルウェア・コンポーネント７１４を含むことができる。ミドルウェア・コンポーネント７１４は、サーブレット、ＪＳＰ、サーバ、ダイナミック・リンク・ライブラリ（ＤＬＬ：Dynamic Link Library）、スクリプト、および、協働してウェブ・アプリケーション７０４を形成する他の同様のコンポーネントを含むことができる。更に、ミドルウェア・コンポーネント７１４は、１つ以上のアプリケーション・サーバ上で動作することができる。
【００８２】
データベース・モジュール７０６は、関係データ・ストア７１０である場合もそうでない場合もあるデータベース・ストア７１０に対して関係データベース・アクセスを与えるように構成されている。通常、ウェブ・アプリケーション７０４は、厳密に関係セマンティクスでデータ要求を発行する。データベース・モジュール７０６は、ＶＳＡＭデータ・ストア７１０ａ等の非関係データ・ストア７１０に対する直接アクセスを提供する。
【００８３】
しかしながら、組織のためのウェブ・アプリケーション７０４では、非関係データ７１０を伴うトランザクションが回復可能であること、および、非関係データ７１０がいつでも利用可能であることが必要である場合がある。このため、データベース・モジュール７０６は、ＥＩＳ集合７０８とインタフェースする。これは、ウェブ・アプリケーション７０４に同時トランザクション・アクセスおよびトランザクション回復を与える。同時に、１つ以上のＥＩＳ７０８ａ〜７０８ｎは、バッチ・プログラム、ストアされた手順、およびＣＩＣＳのような旧来のアプリケーション等の他のアプリケーションに、同一データに対するトランザクション回復およびトランザクション・アクセスを提供する。
【００８４】
通常、ＥＩＳ集合７０８は既存のシステムであり、データベース・モジュール７０６は、特定のＥＩＳ７０８ａ〜７０８ｎとインタフェースするように特にプログラミングされている。いくつかの実施形態では、データベース・モジュール７０６は、分散アプリケーション・コンポーネントを、ＥＩＳ集合７０８ａ〜７０８ｎと同じオペレーティング・システム上で動作するコネクタにリンクする分散コネクタを含む。データベース・モジュール７０６の分散型の実施形態は、図７に関連して説明した分散コンポーネントと同様に動作することができる。
【００８５】
図９は、ウェブ・アプリケーションが組織管理データにアクセスするための方法８００のフロー・チャートを示す。方法８００は、データのための回復可能リソース・マネージャ（ＲＲＭ）を設ける（８０２）ことによって開始する。図２、図４、および図９を参照すると、ＲＲＭ２１０／４０６は、データに同時にアクセスする複数のトランザクションに対して、トランザクション回復およびトランザクション・アクセスを提供する。
【００８６】
上述のように、トランザクション回復によって、ウェブ・アプリケーション４０２は、トランザクション・アクセス方法を用いてデータにアクセスすることができる。トランザクションは、従来ＤＢＭＳによって提供されている２相コミット、記録、ロッキング、バックアウト、および共有等の機構を有する。ＶＳＡＭＳＱＬ等の従来の解決策によって、ウェブ・アプリケーションは、ＶＳＡＭデータにアクセスすることができるが、本発明を用いて利用可能なものと同様のトランザクション回復の利点は提供されない。本発明により、ウェブ・アプリケーションは、最新のＤＢＭＳにおいて利用可能なものと同じ保護を用いて旧来のデータにアクセスすることができる。
【００８７】
最初に、ウェブ・アプリケーション４０２は、関係トランザクションのための１つ以上の関係トランザクション要求５０２を、トランザクション変換器５００（図６を参照）に送信する。次いで、パーサ５１０が、関係トランザクション要求５０２を１つ以上の関係表現に構文解析する（８０４）。次に、マッパ５１２は、関係表現を非関係表現にマッピングし（８０６）、非関係表現を組み合わせて非関係トランザクション要求５０４を生成する。好ましくは、マッパ５１２は、既定のメタデータ５１４を用いてマッピングを実行する。
【００８８】
一実施形態では、コネクタ２１６が、非関係トランザクション要求５０４をＲＲＭ２１０（図２を参照）に伝達する（８０８）。ＲＲＭ２１０は、非関係結果５０６を生成する。いくつかの実施形態では、トランザクション変換器５００のマッパ５１２は、非関係結果５０６も受信することができる。マッパ５１２は、同じメタデータ５１４を用いて、非関係結果５０６を関係結果５０８に変換する（８１０）。次いで、関係結果５０８は、ウェブ・アプリケーション４０２に提供される。
【００８９】
むろん、方法８００は、本発明の本質から逸脱することなく、当業者によって変更することができる。全てのかかる変更は、本発明の範囲内にあると考えられる。一実施形態では、ＲＲＭ２１０は、ＲＲＳおよびＣＡＦと協働して、ＲＲＭ２１０が管理する関係および非関係トランザクションの双方を回復可能とする。ウェブ・アプリケーション４０２は、ＯＤＢＣ、ＪＤＢＣ等の業界に認められたＡＰＩに従って、関係トランザクションをコネクタ２１６に伝達することができる。
【００９０】
図１０は、非関係トランザクション要求をＲＲＭ２１０に伝達し、非関係結果を受信するプロセス８０６の更に別の詳細を示す。プロセス８０６は、トランザクション変換器５００が発生した非関係トランザクション要求をキューに入れる（９０２）ことによって開始する。いくつかの実施形態では、トランザクション要求は、コネクタ２１６のキューに一時的にストアすることができる。
【００９１】
次に、コネクタ２１６は、キューからＲＲＭ２１０に、第１またはそれ以降の非関係トランザクション要求を送信する（９０４）。好ましくは、コネクタ２１６は、バッチ・プログラム等のネイティブ・アプリケーションがＲＲＭ２１０とインタフェースするのと同じインタフェースを用いて、ＲＲＭ２１０と通信を行う。従って、コネクタ２１６からの非関係トランザクション要求は、他の非関係要求と同じ処理を受ける。
【００９２】
例えば、非関係トランザクション要求が、別の非関係トランザクション要求による更新のために現在ロックされたデータ・レコードに対するアクセスを含む場合（９０６）、コネクタ２１６からの非関係トランザクション要求は、そのロックが解除されるまで待つ。次に、ＲＲＭ２１０は、そのレコードに対するアクセスを許す。コネクタ２１６からの非関係トランザクション要求が更新を伴う場合、ＲＲＭ２１０は、非関係トランザクション要求が実行される（９１０）までレコードをロックする（９０８）ことができる。例えば、非関係トランザクション結果は、ＧＥＴまたはＰＵＴコマンドを含むことができる。ＲＲＭ２１０は、ＶＳＡＭ  ＲＬＳモジュール４１８（図４を参照）等のモジュールを用いて、例えばＶＳＡＭレコードのような特定のデータ・レコードをロックすることができる（９０８）。  
【００９３】
非関係トランザクション要求が更新でない場合、非関係トランザクション要求は単に実行され（９１０）、非関係結果が発生する。この後、非関係トランザクション要求が実行したアクションを記録する（９１２）。
【００９４】
いくつかの実施形態におけるいくつかの非関係トランザクション要求では、非関係結果を組み合わせて（９１４）単一データ・セットを生成し、全ての非関係トランザクション要求が実行された後に、これを送信することができる。例えば、ウェブ・アプリケーションからの関係要求は、２つ以上のテーブル間の結合動作を含む場合がある。いったん非関係トランザクション要求に変換されると、第１の組の非関係トランザクション要求は、ＲＲＭ２１０によってアクセス可能な第１のデータ・セットを独占的に処理することができ、第２の組の非関係トランザクション要求は、ＲＲＭ２１０によってアクセス可能な第２のデータ・セットを独占的に処理することができる。このため、所望の結合動作を満足させるために、第１のデータ・セットからの非関係結果を第２のデータ・セットからの非関係結果と組み合わせることができる（９１４）。
【００９５】
次に、更に非関係要求がキューにあるか否かを判定する（９１６）。ある場合、方法８０６は続けてステップ９０４を実行する。ない場合、方法８０６は終了する。
【００９６】
要約すると、本発明は、ウェブ・アプリケーションが組織管理データにアクセスすることを可能とするための装置、システム、および方法を提供する。本発明は、最新ウェブ・アプリケーションを従来の組織データ管理システムに相互接続して、ＶＳＡＭデータ等の旧来のデータがトランザクションによってアクセス可能とすると共に、かかるトランザクションが充分に回復可能であるようにする。本発明は、関係トランザクションにおける関係データ要求の非関係データ要求への変換を処理し、この要求は、特定のタイプのデータに対するデータ・アクセスの管理を行うＥＩＳのＲＲＭに送信される。本発明は、ウェブ・アプリケーションに対する標準的なインタフェースを用いる。また、この装置、システム、および方法は、２相コミット、ロールバック、同時アクセス、記録、および回復等の組織機能を含むトランザクション・アクセスおよびトランザクション回復を手供する。
【００９７】
本発明は、その精神および本質的な特徴から逸脱することなく、他の特定の形態で具現化することができる。記載した実施形態は、全ての点において、限定でなく例示としてのみ見なされるものとする。
【図面の簡単な説明】
【００９８】
【図１】最新のウェブ・アプリケーションによって非関係の旧来のデータにアクセスするために提供される従来のアクセス方法を例示するブロック図である。
【図２】本発明による、ウェブ・アプリケーションが組織管理データにアクセスするための装置の一実施形態を例示する概略ブロック図である。
【図３】本発明によるＶＳＡＭコネクタの一実施形態の概略ブロック図である。
【図４】本発明のいくつかの実施形態とインタフェースすることができる組織情報システム（ＥＩＳ）を例示する概略ブロック図である。
【図５】本発明とインタフェースするように構成された回復可能リソース・マネージャ（ＲＲＭ）を例示する概略ブロック図である。
【図６】本発明によるトランザクション変換器の概略ブロック図である。
【図７】ウェブ・アプリケーションが組織管理データにアクセスすることを可能とするための装置の概略ブロック図である。
【図８】ウェブ・アプリケーションが組織管理データにアクセスするためのシステムの概略ブロック図である。
【図９】ウェブ・アプリケーションが組織管理データにアクセスするための方法を例示する概略フロー・チャートである。
【図１０】非関係トランザクション要求を回復可能リソース・マネージャに伝達し非関係結果を受信するための方法を例示する概略フロー・チャートである。
【図１】
2007525758.tif 000003
【図２】
2007525758.tif 000004
【図３】
2007525758.tif 000005
【図４】
2007525758.tif 000006
【図５】
2007525758.tif 000007
【図６】
2007525758.tif 000008
【図７】
2007525758.tif 000009
【図８】
2007525758.tif 000010
【図９】
2007525758.tif 000011
【図１０】
2007525758.tif 000012
【国際調査報告】
2007525758.tif 000013
2007525758.tif 000014
2007525758.tif 000015