コンピュータに実装された方法であって、1つ又は複数のワークフロープロセスに、データベース内に保存されたデータ構成を割り当てるステップ、及び前記データ構成に在る新たな記録に対応してワークフロープロセスのインスタンスを自動的に作成するステップを含むことを特徴とする方法。更に、前記1つ又は複数のワークプロセスにアプリケーションを割り当てるステップを含み、前記アプリケーションは前記データ構成の処理を実行することを特徴とする請求項1に記載の方法。前記データ構成は複数の列を含むベーステーブルであり、それぞれの列は前記1つ又は複数のワークフロープロセスの新たなインスタンスを示すことを特徴とする請求項1又は請求項2に記載の方法。前記データ構成は、1つ又は複数のトリガーを含むことを特徴とする請求項3に記載の方法。データ構成に新たな記録が挿入されると、前記1つ又は複数のトリガーが起動してワークフロープロセスのインスタンスを作成することを特徴とする請求項4に記載の方法。コンピュータが読み出し可能な記録媒体であって、1つ又は複数のワークフロープロセスに、データベース内に保存されたデータ構成を割り当てるステップ、及び前記データ構成に在る新たな記録に対応してワークフロープロセスのインスタンスを自動的に作成するステップを含む処理を処理装置において実行するプログラムを含むことを特徴とする記録媒体。更に、前記1つ又は複数のワークプロセスにアプリケーションを割り当てるステップを含み、前記アプリケーションは前記データ構成の処理を実行することを特徴とする請求項6に記載の記録媒体。前記データ構成は複数の列を含むベーステーブルであり、それぞれの列は前記1つ又は複数のワークフロープロセスの新たなインスタンスを示すことを特徴とする請求項6又は請求項7に記載の記録媒体。前記データ構成は、1つ又は複数のトリガーを含むことを特徴とする請求項8に記載の記録媒体。データ構成に新たな記録が挿入されると、前記1つ又は複数のトリガーが起動してワークフロープロセスのインスタンスを作成することを特徴とする請求項9に記載の記録媒体。処理装置及びメモリーを含むシステムであって、前記メモリーは、1つ又は複数のワークフロープロセスに、データベース内に保存されたデータ構成を割り当てるステップ、及び前記データ構成に在る新たな記録に対応してワークフロープロセスのインスタンスを自動的に作成するステップを含む処理が処理装置において実行されるプログラムを含むことを特徴とシステム。更に、前記1つ又は複数のワークフロープロセスにアプリケーションを割り当てるステップを含み、前記アプリケーションは前記データ構成の処理を実行することを特徴とする請求項11に記載のシステム。前記データ構成は複数の列を含むベーステーブルであり、それぞれの列は前記1つ又は複数のワークフロープロセスの新たなインスタンスを示すことを特徴とする請求項11又は請求項12に記載のシステム。前記データ構成は、1つ又は複数のトリガーを含むことを特徴とする請求項13に記載のシステム。データ構成に新たな記録が挿入されると、前記1つ又は複数のトリガーが起動してワークフロープロセスのインスタンスを作成することを特徴とする請求項14に記載のシステム。更に、前記メモリーは、データベース層を含み、該データベース層はワークフローエンジン層を含むことを特徴とする請求項15に記載のシステム。少なくとも1つのアプリケーション及びデータベースフロントエンドアプリケーションツールは、ワークフローエンジンをその存在に意識することなく操作し、且つワークエンジンコントロールを含むことを特徴とする請求項16に記載のシステム。少なくとも1つのアプリケーション及びデータベースフロントエンドアプリケーションツールは、ワークフローエンジンAPIを用いることにより、ワークフローエンジンの存在を意識して操作することを特徴とする請求項16に記載のシステム。前記ワークフローエンジンは。1つ又は複数のイベント形式を作成し、それぞれの前記イベント形式はワークフロー移動形式であり、前記ワークフロー移動形式は1つ又は複数のワークフローエレメントと関連付けられ、それぞれの前記ワークフローエレメントは少なくとも1つ又は複数のデータベースに関連付けられたプログラムコードを実行することにより統合的なワークフロー及びデータベーストランザクションを提供することを特徴とする請求項16に記載のシステム。更に、前記メモリーは、統合されたデータベースに依存するワークフロートランザクションを可能とする、少なくとも1つのサービス指向アーキテクチャSOA又はサービスブローカーを含むことを特徴とする請求項19に記載のシステム。本発明は、データベースとワークフローソリューソンを統合して、特定のビシネス上の要求に対するカスタムソリューソンとして、異なったソフトウェアプラットフォームを緩やかに連結することを含んだ統合ワークフロー及びデータベーストランザクションを実現することを目的としている。本発明の一実施態様では、コンピュータにより実行される方法を提供する。その方法には、データベースに保存されたデータ構成を一つ又は複数のワークフロープロセスへ割り当てることも含む。更にこの方法には、新たな記録がデータ構成に在るとワークフローのインスタンスを自動的に作成することも含む。別の実施態様では、処理装置においてオペレーションを実行するプログラムを含んでいる、コンピュータが読み出し可能な記録媒体を提供する。オペレーションには、データベースに保存されたデータ構成を一つ又は複数のワークフロープロセスへ割り当てることを含む。オペレーションには、新たな記録がデータ構成に在るとワークフローのインスタンスを自動的に作成することも含む。更に、別の実施態様では、システムが提供される。システムには、処理装置及び処理装置においてオペレーションを実行するプログラムを含む。オペレーションには、データベースに保存されたデータ構成を一つ又は複数のワークフロープロセスへ割り当てることを含む。オペレーションには、新たな記録がデータ構成に在るとワークフローのインスタンスを自動的に作成することも含む。以下、図面を用いて本発明による実施例を説明する。明確な記載とするため、本発明の全て特徴を記載してはいない。具体化が進展するにつれ、システム及びビジネスに関連した制限など、開発者の特定な目標を達成するように、具体例によって異なる種々の決定が行われることを正しく認識すべきである。更に、そのように開発する努力は、複雑で時間を要するにもかかわらず、本開示の恩恵を受ける当業者にとっては、定常的に行うことであることを正しく認識すべきである。説明のためにのみ及び当業者には周知のことが不明瞭にならないように、種々の構成、連結、システム及び装置は模式的に図示されている。しかしながら、本発明による実施例を記載及び説明する図面も含まれている。ここで使用された語句は、当業者の理解に一致していると解釈すべきである。ここでは、当業者の解釈とは異なる特別な定義となるように語句を繰り返し用いてはいない。ある語句に対して、当業者の解釈とは異なった特別な定義をする場合には、明細書中で明確に定義する。本発明の一実施態様では、例えば図1に示すシステム構成100のようなコンピュータシステムを用いるソフトウェアパッケージとして実行される。ソフトウェアパッケージのプログラムは、ここでは方法も含む実施態様の機能を規定し、信号を含む種々の媒体に含まれている。信号を含む種々の媒体には、i書き込み不可の記録媒体例えば、CD-ROMドライブにより読み出し可能なCD-ROMディスクのようなコンピュータ内の読み出し専用記憶装置に不変に保存された情報、ii書き込み可能媒体例えばディスケットドライブ内のフロッピー登録商標ディスク又はハードディスクドライブに保存された変更可能な情報及びiiiコンピュータ又は無線通信を含む電話網などを通じての通信媒体によってコンピュータへ伝達される情報が含まれるが、これらに限定されるものではない。最後の例には、インターネット及び他の通信網からダウンロードされた情報も含まれる。このような信号を含む媒体が、コンピュータが読み取り可能な命令を伝える場合には、本発明の実施態様を示すことになる。一般に、発明が具現化するように実行されるルーチンは、オペレーティングシステムの一部又は特定のアプリケーション、データベース、コンポーネント、プログラム、モジュール、オブジェクト又は一連の命令であってもよい。本発明のコンピュータプログラムは、コンピュータによって、読み取り可能なフォーマット、即ち実行可能な命令に翻訳する多数の命令を含んで構成されることが多い。プログラム群には、一部のプログラムに存在するか又はメモリー又は記憶装置内に存在する変数及びデータ構成も含まれる。更に、以下に記載する種々のプログラムは、特定の実施例において実行されるアプリケーションに基づいて識別される。しかしながら、以後に用いられる特殊なプログラム用語は、単に便宜的に使われるので、本発明は、そのような用語によって識別及び/又は暗示される特定のアプリケーションに限定されるものではないことを正しく認識すべきである。この点に関連して、HTML、XML、SQL、NET、Cなどの特定の定義及びプログラム言語は単なる例として言及する。本発明は、ネットワークリソースの内容を定義する特殊なスキーマ又は言語に関係なく、適用可能であるように企図している。図1には、本発明の実施例であるシステム構成100のブロック図を示す。通常、システム構成100は、クライアント例えばユーザーコンピュータ102及びサーバコンピュータ104を含む。クライアントコンピュータ102及びサーバコンピュータ104は、同じコンピュータシステム内のコンポーネントでもよいし、インターネットのようなネットワーク106を介して連結してもよい。図に示すように、クライアントコンピュータ102は、バス116を介してメモリー110、記憶装置112及びネットワークインターフェース114に連結された中央処理装置CPU108を含む。CPU108は、単一のCPU、複数のCPU、マルチ処理コアを有する単一のCPUなどを含む。記憶装置112は、アプリケーションプログラム及びクライアントコンピュータ102の使用するデータが保存されている。記憶装置112の例としては、1つ又は複数のハードディスクドライブ、フラッシュメモリー装置、光媒体などがある。ネットワークインターフェース114を用いて、クライアントコンピュータ102を、データ通信ネットワーク106例えばインターネットなど他のネットワークに連結できるLANに連結してもよい。メモリー110は、RAM、不揮発又はバックアップメモリー例えば、プログラマブルメモリー又はフラッシュメモリー、読み出し専用メモリーなどを含むメモリーデバイスの組み合わせでもよい。クライアントコンピュータ102のメモリー110は、ハードウェア及びクライアントコンピュータ102において実行されるソフトウェアを管理するオペレーティングシステムO/S118を保存している。図に示すように、メモリー110は、種々のサーバと1つ又は複数のサーバ例えばサーバコンピュータ104の所定のネットワークアドレスとの間のやりとりを支援する、CPU108により実行されるブラウザープログラム120も保存している。クライアントコンピュータ102は、1つ又は複数の表示装置122、入力装置124、出力装置126及び周辺装置128に連結してもよい。表示装置122は、内部又は外部モニター、テレビ画面、携帯表示装置などでもよい。入力装置124は、キーボード、マウス、トラックボール、スタイラス、マウスパッド、マウスボタン、ジョイスティック、スキャナーなどのいずれかでもよい。出力装置126は、モニター、プリンター、プロッター、コピアー又は他の出力装置のいずれでもよい。周辺装置128は、ディジタル媒体に読み書き可能なCD/DVDドライブ、USB装置、Zipドライブ、外付けフロッピー登録商標ドライブ、外付けハードディスクドライブ、電話及び/又はブロードバンドモデム、ルーター/ゲートウェイ、アクセスポイントなどのコンピュータに連結可能などのような装置でもよい。クライアントコンピュータ102と同様に、サーバコンピュータ104は、バス138を介して連結されるCPU130、メモリー132、ネットワークインターフェース装置134及び記憶装置136を含んでもよい。メモリー132は、必要なプログラム及びサーバコンピュータ104に設置されたデータ構成を保存するのに十分な容量のRAMでもよい。図に示すように、メモリー132は、サーバのハードウェア及びサーバコンピュータ104を動かすソフトウェアを管理するオペレーティングシステムO/S142を保存している。メモリー132は、クライアントコンピュータ102からのサービスリクエストに適応するように構成されたハイパーテキストトランスファープロトコールhttpサーバ144を含む。例えばhttpサーバ144は、サーバコンピュータ104内に存在する電子レソース例えばHTML文書、ネットワーク情報などへのアクセスのリクエストに応答してもよい。メモリー132は、データベースアプリケーションクエリーなどへのアクセスのリクエストに応答するデータベースサーバ143を含んでもよい。しかし、データベースサーバ143又はhttpサーバ144は単なる例であり、本発明は周知及び未知のプロトコールをサポートするように適用できることは言うまでもない。必要に応じて、CPU130は、httpサーバ144のプログラミング及びデータ構成にアクセスして実行してもよい。サーバコンピュータ104は、ネットワークインターフェース装置134例えば、アナログモデム、有線ネットワークカード又は無線ネットワークデバイスを用いてネットワーク106に連結してもよい。ユーザーは、グラフィカルユーザインターフェースGUIを用いてサーバコンピュータ104と相互に対話してもよい。ブラウザー120を用いてクライアントコンピュータ102に連結された表示装置122に画像表示するHTML文書すなわち、WebページがGUIのコンテンツに含まれてもよい。Webページは、ユーザーが、種々のビジネスプロセスすなわち、ワークフローの機能をデザイン、操作、実行及び監視を可能とするページを含んでもよい。データベースサーバ143は、複数のデータベース1451、1452を含んでもよい。データベース1451は、ワークフローエンジン146を管理hostしてもよい。ワークフローエンジン146は、データベースに関連したワークアクティビティを制御できるように、ワークフローを形作る例えば、プロセス、状態、タスク、アクション、イベント、ルールなどを定義する能力を例えばGUIを介して提供できるように構成されたソフトウェアアプリケーションを含んでもよい。データベース145は、SQLクエリーが照会queryする、リレーショナルデータベース1451又はXMLクエリーが問い合わせするXMLデータベース1452を含む。しかしながら、本発明は、特定のデータベースの記憶方式に限定されるものではなく、別の方式への簡単に拡張できる。図面では、データベース1451、1452がサーバシステムに内蔵されているが、データベース1451、1452は、サーバコンピュータ104の外部記憶装置例えば、記憶装置136に在るか、又はネットワーク106を介してのアクセスであってもよい。図2は、ワークフローエンジン146の部分を図示した。ワークフローエンジン146は、データベース1451内に在る。データベース1451はデータベースサーバ143内に在る。図に示すように、プロセスデザイナー204、ビジネスソフトウェアアプリケーション206、データベース照会ツール207、データベース報告ツール208及び他のデータベースツール209が、データベース1451に連結されている。データベースサーバ143は、データベース1451、1452の作成、保守及び使用を制御するデータベース管理システムDBMSでもよい。データベース1451、1452は、データ、手続き及びセキュリティが使用する関連アプリケーションによって分離されている論理ユニットに関連している。データベースサーバ143は、データベース1451内のプログラム可能な機能及び/又はデータベースサーバ143内のソフトウェア又はO/S142図1参照を通してワークフローエンジン146により直接に制御するか統合する、第三者のシステムであってもよい外部システム1481、1482にも連結できる。先端のデータベースサーバが備えているサービスブローカー不図示の機能を統合するのに用いることもある。統合とは、自動化された管理、調整及び複合コンピュータシステム、ミドルウェア及びサービスの管理のことである。統合操作によっては、タスクを完遂するために共動する緩やかに連結されたシステム間でメッセージが交わされることもある。製品をある場所に出荷する旨のメッセージがある輸送会社に送られることが、その一例である。輸送会社は、自主的に出荷し、出荷の詳細を依頼者に確認する。出荷を依頼した会社は、出荷業務を気づかう必要はなく、また輸送会社は、出荷の目的を気づかう必要はない。出荷業務が完遂されるように、2つの会社のシステム間でメッセージが交わされるだけである。プロセスデザイナー204により、ユーザーが、例えば図1のブラウザー120内に在るGUIを介して、ワークフロープロセスを作成及び変更することができる。ユーザーは、GUIを用いて、ワークフロープロセスを定義、編集、再検討及び管理することができる。プロセスデザイナー204を用いて、ワークフロープロセスが作成されると、データベース1451内のテーブル又はデータ構成がプロセスに対する制御テーブルベーステーブルとして定義される。ベーステーブルへデータが流れ込むと、ワークフローエンジン146が作動triggerする。データがベーステーブルテーブルの記録に流れ込むや否や、ワークフローのインスタンスが始動する。ベーステーブルは2つ以上のプロセスに対する制御テーブルであってもよく、それにより、ベーステーブルに流れ込むデータのインスタンスが、ワークフローの多くの各プロセスに1つのインスタンスを始動させることができる。代わりに、ワークフロートランザクションを、ベーステーブルへのデータベーストランザクションの一部として始動させてもよい。一般的に、ワークフローは、3つの基本エレメントである、プロセス、ステート及び移行トランジションから成り立っている。ワークフロープロセスは、タスクを完遂させる一連のワークの流れである。この流れは、プロセスデザイナー204により設定された条件に応じて、異なったポイントにおいて異なったルートを取ることができる。大きなタスクは、相互に関連する多数のサブプロセスに、論理的に分割してもよい。ステートは、ワークフロープロセスにおける休止工程である。移行は、ワークフローインスタンスをあるステートから他のステートへ移動させる動作である。移行は、ユーザー特有の行動か又はユーザーにより設定された特有の条件に基づく自動化されたフローである。ユーザーは、GUIを用いて、ステート及びそれに関連するモデルとされるワークフローの移行を定義できる。ワークフローは、アクティビティをプロセスとして論理的に記述することを可能とする図4に示す高度な流れ図としてのモデルであってもよい。流れ図は、アイコンのドラッグドロップ操作により作成することもできる。プロセスデザイナー204は、ワークフローエンジン146と相互に作用する。ワークフローの全てのプロセスの定義ワークフローメタデータはデータベース1451と共にデータとして保存される。アプリケーション206は、ソフトウェアが支援するビシネスを実行するビジネスアプリケーションである。例えば、メールで注文操作するための顧客注文管理アプリケーションソフトウェアは、ビジネスアプリケーションである。このビジネスアプリケーションは、顧客への注文、出荷命令及び請求を作成する画面を有することもできる。ワークフローを備えているか否かに拘わらず、このようなアプリケーションを構築できる。ワークフローを具備しないアプリケーションは、データベース1451内のワークフローエンジン146を有していなくてもよい。ワークフローを備えたアプリケーションは、ソフトウェアアプリケーションのように作動するが、ワークフローエンジン146からの制御を必要とする。このアプリケーションは、アプリケーション206がワークフローエンジン146と相互に作用してワークフローの機能を利用するワークフローを意識したアプリケーションへと機能が高められる。例えば、ワークフローの機能を高めたアプリケーションは、公開された全ての注文のワークフローのステートを示すことができる。ワークフローの機能を高めたアプリケーションは、ユーザーの実行できる業務の調整、ユーザー間の調整なども提供できる。上述したように、ワークフローエンジン146は、データベース1451内に在り、データベース1451及びデータベースサーバ143と統合されている。データベース1451のデータベース層に在るプログラムとしてのワークフローエンジン146が実行されて、上記の統合が達成される。このような統合により、新たなデータがデータベース1451に流れ込む際、又はデータが修正及び/又は削除される場合に、ワークフローエンジン146は、ワークフロープロセスを制御することができるようになる。この統合により、データベースの機能性をそのまま使用すなわち、ワークフローエンジン146の存在を意識せずにできる。しかし、統合にはワークフローの制御が含まれる。ワークフロープロセスは、データベース1451内に在るベーステーブルにおけるデータへ変更することにより、具体化、誘導及び制御される。アプリケーション206、データベース照会ツール207、データベース報告ツール208及び他のデータベースツール209によるデータへのすべての変更は、ワークフローエンジン206により自動的に調査されて制御される。上記統合により、データベース1451層内のワークフローエンジン146が継ぎ目なく作動するようになる。ワークフローエンジン146は、ワークフロープロセスの作成及び管理の提供、ワークフローのモデルの解釈並びにワークフローの実行の管理ができる。ワークフローエンジン146は、流れの経路の決定、複数のアクティビティの同期化、複数のアクティビティへのリソースの割り当て、個体への通知、イベント及びアプリケーションの実行、データ及び文書のアプリケーション及び個体への転送、ユーザーのセキュリティ及び特権の制御、種々のワークフローのインスタンスの種々のステートの維持、ワークフロートランザクションのログの維持もできる。図3は、ベーステーブル及びサブ-テーブルの構成図の例を示す。一般に、ビジネス、組織、団体entityなどは、データベース1451、1452の幾つかの関連するテーブル302、304、306に保存されている。そのようなテーブルの1つが、記録が入っている多数の列から成るベーステーブル302である。ベーステーブルを発注管理アプリケーションに用いると、ベーステーブルのそれぞれの記録は、アプリケーションによる発注を示す。図示のように、それぞれの記録は、発注の識別番号を含んでもよい。ベーステーブル302は、N個の関連するサブ-テーブル304、306を有している。それぞれのサブ-テーブル304、306は、それぞれの発注に関する追加の情報を含むことができる。図示のように、サブ-テーブル304は、それぞれの発注に対する顧客名を含み、サブ-テーブル306は、発注された商品の数量を含んでいる。新たなデータがベーステーブル302に書き加えられると、ワークフローが始動する。従って、ベーステーブルのそれぞれの列は、ワークフロープロセス例えば、ワークフローで定義された発注管理プロセスの発生を示している。ベーステーブル302又はサブ-テーブル304、306内に保存されるデータの作成又は修正をするように、アプリケーション206を構成してもよい。アプリケーション206は、データを入力又は修正するユーザーインターフェースの利用、報告する機能の提供などもできる。ワークフローは、内部及び外部システム1481、1482と関連付けてもよい。例えば、購入の点数frequentbuyerpointsにより顧客に信用貸しするビジネスモデルを考える。この場合、点数制は、内部システムであってもよいが、データベース1452を用いる異なったアプリケーションとなる。第三者の輸送会社を、顧客への直送に起用する例もある。輸送会社のシステム例えば外部システム1481及び/又は1482は、出荷の詳細を通知される。輸送会社は、出荷業務を行い、確認の詳細を送信する。ワークフローイベントを通して、内部システムと外部システムの相互のやり取りが完了する。ワークフローイベントは、プログラム可能な言語例えば、C、Java登録商標などを用いてスクリプトに記述することができる。イベントスクリプトは、トランザクションに統合されたデータベース-ワークフローの一部としてか、又は単にワークフロートランザクションの一部として実行できる。イベントは、あるステートに入る時点、あるステートから出る時点又はユーザーがアクションを実行する時点など、適切な時点において実行される。イベントは、ファイルの作成、他のシステム及び/又はアプリケーションにおけるアクションの開始、電子メール通知の送信などが含まれるが、これに限定されない。図4は、ワークフロープロセス404を設計及び管理するGUI画面402を示す。説明のため、図には発注管理プロセス用のワークフロープロセス404を示す。発注管理システムは、開始406、注文の進行中408、注文の出荷済み410、送り状送付済み412及び終了414を含む複数のステートを含んで構成されている。ステート406、408、410、412、414は、発注416、出荷418、送り状送付420、取消し422及び完了424を含む複数のトランジションのそれぞれと互いに連結してもよい。ワークフロープロセス404は、購入者が製品を例えば、web形式で発注した際に、注文の進行ステート408に入るように構成されている。このステート中に取るアクションに応じて、ワークフロー404は、注文進行ステート408から、終了ステート414又は出荷済みステート410へ移行できる。例えば、注文が例えば供給者により取り消されると、ワークフロープロセス402は、注文の進行ステート408から取消トランジション422を経て終了ステート414へと移行できる。この場合、供給者は、ワークフローが取消トランジション422に従うイベントを開始するユーザーフォームを用いてもよい。しかし、もし製品が出荷されると、ワークフロープロセス404は、注文進行ステート408から出荷済みステート410へと移行するかもしれない。この場合、ユーザーフォームは、ワークフロープロセス404が出荷のトランジション418を実行する対話を開始する。例えばユーザーフォームを用いて送り状を送付すると、ワークフロープロセス404は、出荷済みステート410から、送り状送付のトランジション420を経て送り状送付済みステート412へと移行できる。発注が完了すると、送り状送付済みステート412は、完了のトランジション424を経て終了のステート414へと移行できる。ステート406、408、410、412、414及びトランジション416、418、420、422、424は、ステートボックス426及びトランジションボックス428内のアイコンを、ドラッグドロップすることにより、ワークフロー402の一部として実行することができる。上述したように、ワークフロープロセス404は、データベース1451、1452のベーステーブルに保存されたデータに関連付けられる。ユーザーは、データベース選択ボタン430を用いて適切なデータベース1451、1452を選択してもよい。注文情報例えば識別番号を含むベーステーブル302図3参照関連付けられているベーステーブル選択ボタン432を用いて、発注管理用のワークフロープロセス404を作成できる。注文を処理するアプリケーション206、照会ツール又は互換可能な他のアプリケーションを含む種々のツールにより、注文ワークフローのインスタンスを作成できる。使用するツールに関係なく、ワークフローのインスタンスが作成される。ベーステーブル302をワークフロープロセス404に関連付けする間に、ワークフローエンジン146は、ベーステーブルに、テーブルレベルトリガーを作成する。このような、トリガーは、ワークフローエンジン146へのゲートウェイとして働く。ベーステーブルの記録が追加、更新及び削除されると、テーブルトリガーを通して、ワークフローエンジン146が制御機能を獲得する。制御機能を獲得したワークフローエンジン146は、記録の主キーを用いて記録を識別してワークフロートランザクションを完了させる。このようにして、データベーストランザクションの一部として、ワークフロートランザクションを完了させる。ベーステーブル302に、新たな注文の記録が追加されると、この注文に対してワークフロープロセス404のインスタンスが自動的に作成される。新たな注文がベーステーブル302に挿入されると、ワークフロープロセス404が始動して、始動ステート406から注文進行ステート408へと、自動的且つ/又は条件付きで移行する。所望のワークフロープロセス404が設定されると、その機能が既存のアプリケーション又は新たなアプリケーション例えば、webに基づいた発注アプリケーションに組み込まれる。ユーザーは、例えば、マイクロソフト社のVisualBasic.NETを用いてwebフォームを作成してwebフォームをデータベース1451、1452と関連付けてもよい。ブラウザー122を用いて、それぞれが異なった目的の複数のwebフォームを作成することができる。例えば、製品の注文を受けるのに用いる、特定のwebフォームを作成することができる。このようなwebフォームは、注文に関する情報例えば、出荷先、請求先、製品名、数量などを受け入れる種々のフィールドを含んでもよい。ユーザーがフォームを送ると、新たな注文を示すエントリーが、ワークフロープロセス404に対して選択されたのと同じベーステーブル302内に作成される。従って、ベーステーブル302にエントリーが作成されると、この注文に対するワークフロープロセスインスタンスが自動的に作成される。ワークフロープロセスインスタンスは、プロセスに対する条件により作成されることも、作成されないこともある。例えば、大型店の購入注文ではなく、メールによる注文に対してのみ作成するとの条件を設定することもできる。列が作成されると、発注トランジション416も始動する。ワークフローのインスタンスは、ベーステーブルの主キー又はユニークキーにより識別される。テーブルの主キーは、テーブルの列に対するユニーク識別子である。ワークフローエンジン146は、複数のテーブルより成るデータストア内のベーステーブルのそれぞれの記録のステート情報を独立して維持する。例えば、ワークフローエンジン146は、ORDER_ID=0001主キーが現時点においてステート408に在るとの情報を有する。作成可能な別のフォームのテーブルは、製品の供給者が用いる受注終了及び出荷フォームである。供給者は、このフォームを用いて、受注の取消し、並びに受注の完了又は製品受注すなわち出荷指示をすることができる。フォームが送られると、ワークフロープロセス404が注文進行ステート408から適切なステートへと移動するように、ワークフローエンジン146に通知するイベントが始動する。例えば、供給者が受注を取消すと、取消トランジションイベントが始動して、ワークフロープロセス404が、注文進行ステート408から終了ステート414へと移動する。受注終了及び出荷フォームが送られると、取消トランジション422へ信号を送る機能が呼び出され、ワークフローエンジン146に、ワークフロープロセス404が注文進行ステート408から終了ステート414へと移動するように指示する。これに対して、供給者が受注を終了すると、出荷トランジション418が始動して、ワークフロープロセス404が注文進行ステート408から出荷済みステート410へと移動する。受注終了及び出荷フォームが送られると、ワークフロープロセス404が注文進行ステート408から出荷済みステート410へと移動するように、ワークフローエンジン146に指示する機能が呼び出される。ベーステーブルの記録及びデータは、ワークフローエンジン146には依存しない。ワークフローエンジン146は、ベーステーブルにどのようなデータが入力できるかの決定権を有していない。この場合、ワークフローエンジン146は、主キーを用いて、ベーステーブルの記録のステート情報を独立して案内及び監視する。ステート情報は、ワークフローエンジン146のデータストア内に分離して保存される。ワークフローデータをベーステーブルデータから分離することにより、アプリケーション206及びデータベース1451は、ワークフローに依存せずありのままに働く。しかし、ワークフローの全機能性は、ワークフローエンジン146により提供される。ワークフローエンジン146は、プロセスの現時点のステート408、410及び412におけるベーステーブルの記録に対しても機能している。始動ステート406及び終了ステート414は、一時的なステートであり、ベーステーブルの記録はこのステートには、止まらない。ベーステーブルの記録が、終了ステート414に到達すると、記録はワークフローキューから分離され、ワークフローエンジン146は、記録の追跡を停止する。終了ステートに到達すると、注文は完了又は取消されし、この注文に対して更に作業する必要はなくなる。ベーステーブルは、完了した注文に関するデータを持ち続ける。ベーステーブルデータは、引き続きアプリケーション206に管理される。実施例によっては、ベーステーブルの主キー及び記録の在るステートを用いて、ワークフローエンジン146に、再ステート状態とするワークフローエンジン146への再ステートリクエストにより完了した注文をワークフローに戻すことも可能である。ベーステーブルの記録データが、アプリケーション206、クエリーツール207又は他のデータベースツール209により更新されても、主キー以外のデータの変更はワークフローインスタンスには何らの影響も及ぼさない。もし記録がワークフローにおいて能動的であれば例えば記録の現時点のステートが408、410又は412であれば、ワークフローエンジン146は、主キーをステートの追跡に使うと同時に、主キーを更新できない能力を補強することもできる。また、ワークフローエンジン146は、データベース主キーの変化に合うように、ワークフローインスタンスキーを自動的に調整し、それによって主キーを更新することが可能となる。ワークフローエンジン146から制限された干渉はあるが、アプリケーション206に完全な独立が付与される場合には、用いた手法に関係なく、記録は制限なく更新される。アプリケーション206、クエリーツール207又は他のデータベースツール209によりベーステーブルの記録が削除されると、ワークフローエンジン146は主キーの記録を調べて、主キーがワークフローにおいて能動的のままであれば例えば記録の現時点のステートが408、410又は412であれば、ワークフローキューから主キーを削除する。ベーステーブルの挿入により、ワークフローインスタンス及びトランザクションが始動する。しかしながら、ベーステーブルの記録の変更を伴わない多数の後続のトランザクションがあり得る。ステートが移動すると、ワークフロートランザクションが起こる。上述のしたことを図5に要約して示す。図5の2つの表502、504は、データベースとワークフロートランザクションとの関係を示す。表502は、データベーステーブルトランザクションのワークトランザクションへの影響を示す。表504は、ワークフロートランザクションのデータベーステーブルトランザクションへの影響を示す。表502に示すように、ベーステーブルのデータベーストランザクションは、ワークフロートランザクションを始動させる。例えば、データベーストランザクションが挿入トランザクションであって、ベーステーブルの条件が満たされれば、挿入トランザクションがワークフロートランザクションにおいて実行される。データベーストランザクションがベーステーブルの主キーに対して更新されたトランザクションならば、データベーストランザクションは停止させられる。しかしながら、更新されたトランザクションが主キーに対するものでないならば、ワークフロートランザクションには何らの影響もない。データベーストランザクションが、削除トランザクションならば、それに対応する記録の主キーもワークフローから削除される。しかしながら、表504に示すように、ワークフロートランザクション例えば、挿入、更新又は削除トランザクションは、ベーステーブルにデータベーストランザクションを作成しない。このことは、データベースに基づいて開発したアプリケーションのアーキテクチャを変更せずに、既存又は新たなビシネスアプリケーションへ、最小限に侵略的invasiveなワークフローエンジン146を導入し易くする。また、統合されたデータベース-ワークフロートランザクションは、データベースに従うワークフロートランザクションとして実行される。データベーストランザクションの観点から、テーブルに列が挿入されると、通常はデータベースエンジンが列レベルのロック又はテーブルレベルのロックを設定する。ロックの実行はデータベースのベンダ毎に異なっている。ワークフローエンジン146により作成されたトリガーは、妥当な性能を維持するため、極めて迅速に実行してもよい。トリガーは、同時に数百又は数千の注文が入っても受入れできるほど十分に速い。本発明では、内部システム及び外部システム148の統合も可能としている。そのような統合により、データベーストランザクションが遅くなるか又は他のシステムからの応答を待つ時間が不確定となるおそれがある。更に、あるステートから他のステートへのフローがループ状の幾つかステートに流れ、多数のワークフローのサブ-プロセスが自動的に形成されることもある。このような、長いフローはシステムを停止lockdownさせ、全体のシステムが遅くなることもある。多くのデータベースのインプレメンターションは、まとめられたnestedlevelトリガーに関しての制限を有し、数ステップの長くまとめられた自動化されたフローを防ぐことができる。ワークフロープロセスを上手く設計することで、この問題点は克服できる。表502、504から、データベース-ワークフロー統合トランザクションは、データベースの挿入及び削除トランザクションに関連することがわかる。多くのデータベースシステムは、このようなトランザクションに対して列レベルのロックを提供し、別のユーザーのトタンザクション例えば別の注文トランザクションが停止されるか又は遅らせることは考えられない。しかしながら、まとまられたデータベーストランザクションに関して制限時間を超過するおそれ及び外部システムなどが関与するトランザクションの持ち時間が不確定となるおそれがある。データベースに従うワークフロートランザクションによりそのような問題点は克服できる。データベースに従うワークフロー機構を組み込めるように、ワークフローエンジン146は、サービスブローカー又はサービス指向アーキテクチャSOA不図示を使用してもよい。最近の多くの周知のデータベースに関して、サービスブローカー又はSOAインプレメンターションが利用できる。このことにより、タスクを分離して、停止しないやり方で独立してタスクを完了する能力が提供される。ワークフローエンジン146が、データベーストランザクションからコントロールを受け取ると、ワークフローエンジン146は、ワークフロートランザクションの一部又は全てを任意に選択して、サービスブローカーへ送る。サービスブローカーへ送った後に、ワークフローエンジン146は、ワークフロートランザクションが未定か又は完了との信号をデータベースエンジンに送って、データベーストランザクションが完了して全てのデータベースのロックを解除する。しかしながら、ワークフローエンジン146は、ワークフロートランザクションが未定であると印を付けて、ベーステーブルが他のステートに移動するのを防ぐ。サービスブローカーにより作業がうまく完了してワークフローエンジン146に通知すると、ワークフローエンジン146は、次のワークフロートランザクションに備えて、この記録のロックを解除する。サービスブローカーが作業を完了し損なう例えば、外部システム148に連結できないと、サービスブローカーは、待機して再度試みる。条件によっては、以前に完了した間違ったデータベース-ワークフロートランザクションに関するデータベーストランザクションを、最初のデータベーストランザクションが行われなかった時点まで、プログラム的にロールバックすることができる。図6は、ワークフローのデータベースを有効とし、ワークフロープロセスを作成するためのフローチャートである。操作は、ワークフローと共に使用するデータベースを選択するステップ602から始まる。ステップ604において、データベースが既に有効であるかを判定するためのチェックを行う。データベースが有効であると、判定されると、ステップ608におけるプロセス用に、データベース内のベーステーブルを選択する。これにより、新たなプロセス例えば、図4の始動ステート406がベーステーブルに作成される。次いで、プロセスは、ステップ610において、多数のステート、トランジション、終了ステート、条件、イベント、セキュリティなどにより機能が高められる。ステップ604に置いて、データベースがワークフローに対して有効でないと判定されると、ステップ606においてワークフローエンジン146により、ワークフローが有効とされる。図7は、データベース-ワークフロー統合トランザクションのフローチャートを示す。図7は、図5の表502に示すトランザクションの詳細なフローチャートである。このフローチャートは、ベーステーブルにおいて始動したデータベーストランザクションを用いて可能となる、データベース-ワークフロー統合トランザクションを示す。フローチャートは、ワークフローエンジン146がデータベースの挿入、更新及び/又は削除トランザクションかを調べる、ステップ702のデータベーストランザクションから始まる。データベーストランザクションが、記録の挿入トランザクションと判定されると、ステップ704において、データベーストランザクションが、ワークフローインスタンスを作成する条件を満たしているか否かを判定する。条件を満たしている場合には、ステップ708においてワークフローインスタンスが作成され、ステップ710においてワークフローエンジン146により記録の挿入トランザクションが実行される。ステップ704において条件を満たしていない場合は、ステップ706に移行し、ワークフローインスタンスを作成せず、ステップ710においてワークフローエンジン146により記録の挿入トランザクションが実行される。ステップ702において、データベーストランザクションが、記録の更新トランザクションと判定されると、ステップ712においてデータベーストランザクションは、記録の主キーが更新されているか否かを調べる。主キーが更新されている場合は、更にステップ714において、記録がワークフローインスタンスを有しているか否かを調べる。ワークフローインスタンスが主キーに在る場合には、ステップ716においてワークフローエンジン146は、トランザクションを停止する信号をデータベースエンジンに送る。ワークフローエンジン146は、主キーを用いてワークフローを追跡するので、主キーは更新されない。変更された主キーに整合するように、ワークフローエンジン146は、ワークフローインスタンスのキーを自動的に調整するフローチャートには図示されていない。ステップ714において、主キーが更新されていないか、ワークフローに記録が無いと判定された場合は、ステップ718に移行し、ワークフローエンジン146は、データベースを更新してデータベーストランザクションを完了するようにデータベースに信号を送る。ステップ702において、データベーストランザクションが、記録の削除トランザクションと判定されると、ステップ720においてデータベーストランザクションは、主キーに対するワークフローインスタンスが存在するか否かを調べる。ワークフローインスタンスが存在する場合は、ステップ722において、ワークフローエンジン146は、ワークフローインスタンスを削除して、ステップ724においてデータベースの削除トランザクションを完了するようにデータベースエンジンに信号を送る。ワークフローインスタンスが存在しない場合は、ワークフローエンジン146は、ステップ724においてデータベースの削除トランザクションを完了するようにデータベースエンジンに信号を送る。図8は、ワークフロートランザクションのフローチャートを示す。図8は、図5の表504に示すトランザクションの詳細なフローチャートである。このフローチャートは、ベーステーブルにおけるデータベーストランザクションによって始動されないワークフロートランザクションを示す。ステップ802において、現時点においてワークフローには無いが、ベーステーブルに存在する記録を用いて、ワークフローインスタンスを作成できる。ワークの記録例えば注文を、ワークフローに戻して再作動させれば、この作成が可能である。例えば、誤って実行した顧客からの注文をワークフローに戻して再度調べることができる。ステップ806において、挿入トランザクション中にワークフローエンジン146は、ユーザーにより定義される復帰ステートへと移行する。ステップ808において、更新トランザクション中に、ワークフローインスタンスが更新される。ワークフローインスタンスが更新されて、ユーザー又はマシンによりトランジションが実行されると、ステートが別のステートへ移行する。ステップ810において、ワークフローエンジン146は、トランジションを調べて次のステートが終了ステートか否かを判定する。次のステートが終了ステートであると判定されると、ステップ812へ移行してワークフローインスタンスが削除される。ワークフローインスタンスを削除しても、データベースのベーステーブルの記録には何らの影響も及ぼさない。データはベーステーブルに残っている。その記録に対してワークフローが無い場合は、作業は未定であることを意味する。ステップ810において、次のステートが終了ステートで無いと判定されると、ステップ814においてワークフローインスタンスの現時点のステートが更新される。ステップ816において、削除トランザクション中にワークフローインスタンスが削除される。ワークフローインスタンスが削除されると、記録がベーステーブルから取り除かれる。図9は、ワークフロー内のイベントに対するフローチャートを示す。ワークフローエンジン146において、注文が、出荷トランジション418を用いて注文進行ステート408から出荷済みステート410に移行すると、複数のワークフローイベントを実行することができる。出荷済みステート418は、ユーザー又はシステムにより始動される。サンプルイベント922、924、926は、内部システム又は外部システム148において実行される、プログラミング言語で書かれたプログラミングコードを示している。フローチャートにおいて、終了中onexitタイプのイベント922が在って、注文進行中ステート408が終了する際に実行することができる。実行中onperformタイプのイベント924が在って、出荷済みトランジション418が実行される際に実行することができる。移行中onenterタイプのイベント926が在って、出荷済みステート410に移行した際に実行することができる。例えば、イベント926は、注文の受け手への通知と同期して、電子メールサーバ940に伝達928する。トランジションが首尾よく実行されると、ワークフローインスタンスは、あるステートから別のステートに移行して、この例における全ての3つのイベントは922、924、926の順に実行される。ワークフローの動きに対応する幾つかのタイプのイベントを形成してもよい。図10は、ワークフロートランザクションにおけるイベントと共にサービスボローカーを用いるためのフローチャートを示す。この図の流れは、ワークフローエンジン146と電子メールサーバ940を仲介する、サービスブローカー1030を用いること以外は、図9と同じである。イベント1026は、データベース145内に存在するサービスブローカー1040に電子メールサーバ940が受信したか否かの結果を待つことなく委任内容を電子メールするように伝達1028する点において、図9のイベント926と異なっている。サービスブローカー1030は、電子メールサーバ940に送信し、電子メールサーバ940から応答を受信し、その応答をワークフローエンジン146に返信1034する。この方法は、電子メールサーバが働いていなくても、データベース-ワークフロートランザクションのデータベーストランザクションコンポーネントは、待機する必要が無いとの利点がある。ワークフロートランザクションは、サービスブローカーが作業を完了するまで待機する必要がある。これにより、ワークフローイベントを用いるシステムの減速、フリーズlockdownが無くなる。上述したことは、広範に適用が可能であり、本明細書に記載の実施例に限定されるものではないことは明らかである。異なるが同等のやり方による発明の修正及び実施は、当業者には明らかなので、ここでは特定の実施態様のみを開示した。更に、以下に述べる特許請求の範囲以外は、構成又は構想の詳細は、限定するものではない。従って、上述の特定な実施態様は、変更又は修正でき、そのような変更は全て請求した発明の範囲及び主旨の範囲にあるものと考える。