JP2008532154A - ワークフローを処理するための方法、コンピュータ・プログラム、およびシステム(ワークフロー・システムへのデータ管理動作の統合) - Google Patents

ワークフローを処理するための方法、コンピュータ・プログラム、およびシステム(ワークフロー・システムへのデータ管理動作の統合) Download PDF

Info

Publication number
JP2008532154A
JP2008532154A JP2007557482A JP2007557482A JP2008532154A JP 2008532154 A JP2008532154 A JP 2008532154A JP 2007557482 A JP2007557482 A JP 2007557482A JP 2007557482 A JP2007557482 A JP 2007557482A JP 2008532154 A JP2008532154 A JP 2008532154A
Authority
JP
Japan
Prior art keywords
data management
workflow
business process
data
activity
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.)
Granted
Application number
JP2007557482A
Other languages
English (en)
Other versions
JP5065056B2 (ja
JP2008532154A5 (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 JP2008532154A publication Critical patent/JP2008532154A/ja
Publication of JP2008532154A5 publication Critical patent/JP2008532154A5/ja
Application granted granted Critical
Publication of JP5065056B2 publication Critical patent/JP5065056B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】 ワークフローを処理するための技法を提供することにある。
【解決手段】 1つまたは複数のデータ管理アクティビティを含むワークフローが受信される。1つまたは複数のデータ管理アクティビティの記述を含むワークフロー記述がそのワークフローから生成される。1つまたは複数のデータ管理動作がワークフロー記述から生成される。1つまたは複数のデータ管理動作が1つまたは複数のデータ管理システムに対して実行される。
【選択図】 図1

Description

本発明の諸実施形態は、ワークフロー・システムへのデータ管理動作の統合に関する。
ワークフロー管理システム(WFMS:workflowmanagement system)は、ビジネス・プロセス(businessprocess)のモデリングおよび実行をサポートするものであり、「ワークフロー・システム(workflow system)」と呼ばれる場合もある。ビジネス・プロセスは、複数の作業部分(pieces of work)からなるネットワークのうちのどの作業部分をどの順序で実行し、その作業部分を実行するためにどのリソースを活用するかを指定する。個々の作業部分は、何らかのタイプのネットワークによって接続された多数の異なるコンピュータ・システム全域に分散させることができる。
IBM(R)のMQSeries(R)Workflowという製品(インターナショナル・ビジネス・マシーンズ社から入手可能)などの強力で高度なワークフロー管理システムは、複数のアクティビティからなるネットワークとして、ビジネス・プロセスのモデリングをサポートする。このアクティビティ・ネットワーク(network of activities)、すなわち、プロセス・モデルは、有向非周期加重カラー・グラフ(directed, acyclic, weighted, colored graph)をメタ・モデルとして使用して構築される。このグラフのノードは、実行すべき個々のタスクを定義するアクティビティを表している。プロセス・モデルを構築するために、階層メタ・モデルなどの任意の他のメタ・モデルを使用することもできる。一般に、それぞれのアクティビティは、そのアクティビティに関する適切なタスクを実現する1つのコードに関連付けられている。このグラフのエッジ、すなわち、制御リンク(control link)は、アクティビティの潜在的な実行順序を記述するものである。制御リンクは矢印として表され、矢印の先端は、制御の流れがプロセス中を移動する方向を記述する。
制御リンクが始まるアクティビティはソース・アクティビティ(source activity)と呼ばれ、制御リンクが終わるアクティビティはターゲット・アクティビティ(target activity)と呼ばれる。1つのアクティビティは、種々の制御リンクに関するソース・アクティビティおよびターゲット・アクティビティになる可能性がある。いかなる着信制御リンクも備えていないアクティビティは、プロセスを開始するものであるので、開始アクティビティ(start activity)と呼ばれる。いかなる発信制御リンクも備えていないアクティビティは、その完了後にプロセスが終了するので、終了アクティビティ(end activity)と呼ばれる。1つのアクティビティは、開始アクティビティとともに終了アクティビティになる可能性がある。複数の発信制御リンクを有するアクティビティはフォーク・アクティビティ(fork activity)と呼ばれ、複数の制御リンクを有するアクティビティは結合アクティビティ(join activity)と呼ばれる。
種々のワークフロー言語が使用可能であり、ビジネス・プロセス実行言語(BPEL:Business Process Execution Language)はこのようなワークフロー言語の1つである。BPELは、複数のWebサービスの組み合わせを使用して分散コンピューティング環境用のタスク共用を可能にするXMLベースの言語として記述することができる。「BPEL」という用語は、Webサービス用ビジネス・プロセス実行言語(BPEL4WS:Business Process Execution Language for Web Services)またはBPELWSなど、この言語の他のバージョンを指すために使用される場合もある。また、BPELは、ビジネス・プロセス・アクティビティを記述し、コレオグラフィ化(choreograph)するための標準として記述することもできる。WebSphere(R)Business Integration(WBI)という製品(インターナショナル・ビジネス・マシーンズ社から入手可能)は、BPELベースのビジネス・プロセスを設計し実行するための実現例を提供する。WBIのコンポーネントの1つは、WebSphere(R)Process Choreographer(WPC)ワークフロー・システムと命名されている。
Webという用語は、ハイパーテキスト・マークアップ言語(HTML:HyperText Markup Language)でフォーマットされた文書をサポートする複数のインターネット・サーバからなるグループとして記述可能なワールド・ワイド・ウェブを指すために使用される。Webサービス(「アプリケーション・サービス(application service)」とも呼ばれる)は、典型的にはWebに接続されたプログラムによって呼び出され、Webサーバから使用可能になっているサービスとして記述することができる。
BPEL4WSは、Webサービスに基づいてビジネス・プロセス動作を指定するための表記法を定義する(2003年5月5日付けの「Business Process Execution Language for WebServices Specification」の Version1.1、以下「BPEL4WS規格」という)。BPEL4WS規格には、ビジネス・プロセスは、ビジネス対話の参加者の実際の動作をモデリングする実行可能なビジネス・プロセスとして記述するか、またはそれぞれの内部動作を暴露せずに、プロトコルに関わるそれぞれの当事者の相互可視メッセージ交換動作(mutually visible message exchange behavior)を指定するプロセス記述を使用するビジネス・プロトコルとして記述することができることが示されている。
BPEL4WS規格によれば、BPEL4WSは、ビジネス・プロセスおよびビジネス対話プロトコルの形式仕様に関する言語を提供し、企業内空間およびビジネス・トゥー・ビジネス(企業間取引)空間の両方で自動プロセス統合の拡張を容易にする相互運用可能な統合モデルを定義する。また、BPEL4WS規格は、サポートされるアクティビティも定義する。
従来のワークフロー・システムでは、ワークフロー・システム内からデータ管理システムへのアクセスが不必要に複雑である。従来のワークフロー・システムは、以下の手法のうちの1つまたは両方を提供する。
1.データ管理動作は、たとえば、何らかのJava(登録商標)(R)コードを作成し、データ管理システムによって提供されたアプリケーション・プログラミング・インターフェース(API:Application Programming Interface)を活用することにより、伝統的なプログラミング言語でコーディングしなければならない。(Java(登録商標)ならびにすべてのJava(登録商標)ベースの商標およびロゴは、米国、その他の国、またはその両方におけるサン・マイクロシステムズ社の商標である。)
2.データ管理動作は、Webサービスを介して提供しなければならない。
たとえば、WPCワークフロー・システムは、いずれの手法もサポートしている。WPCワークフロー・システムでは、Java(登録商標)コードを介してプロセス・アクティビティを実現することが可能になり、Webサービスをプロセス・アクティビティとして使用することが可能になる。
第1の手法を使用する場合、WPCユーザはJava(登録商標)アクティビティをコーディングしなければならない。ユーザは、構造化照会言語(SQL:Structured Query Language)ならびにユーザがJava(登録商標)環境内からSQLステートメントを発行できるようにするJava(登録商標) Database Connectivity(JDBC)APIに関する知識に加えて、Java(登録商標)開発知識も備えていなければならない。SQLステートメント自体は単一行のコードに収まるものである。しかし、JDBCを介してSQLステートメント(ある種の「照会」)を発行し、WPCワークフロー・システム変数から入力パラメータを取得し、照会に入力パラメータを供給し、照会の結果をWPCワークフロー・システム変数に書き込むには、作成すべき大量のコードと、コーディングを実行するための大量の時間を必要とする。
第2の手法を使用する場合、WPCワークフロー・システム・ユーザは、SQLステートメントをコーディングし、そのSQLステートメントをWebサービス内に折り返さなければならない。これを達成するために、多くのステップと種々の製品が必要である可能性がある。ユーザがどのようにWebサービスを構築したかとは無関係に、必要な入力をWebサービスに提供し、結果を処理するために、2つの追加アクティビティ(「割り当て」アクティビティ)をビジネス・プロセスに追加する必要がある場合もある。
データ管理システムにアクセスすることはビジネス・プロセスのための典型的なアクティビティであるが、いずれの手法もユーザにとって厄介なものである。
その上、BPELによって表されるものなどのワークフローは、一連の処理アクティビティを表している。最も一般的に、これらのアクティビティは、一度に単一のデータ・レコードに対して機能する。しかし、シナリオ数が増加すると、一度に1つのレコードではなく、複数組のレコード・セット(「セット」とも呼ばれる)に対して機能する方が好ましい。このパターンは、データを処理するためにデータ・ウェアハウジング(Data Warehousing)アプリケーションで使用される抽出変換ロード(ETL:Extract Transform Load)パターンと同様のものである。ETLにより、1組のレコード・セットがデータベースから検索(「抽出」)され、処理(「変換」)され、データベースにロードされる。
したがって、何らかのセット単位(set-oriented)の動作をレコード単位(record-oriented)の動作と混合するためにワークフロー・エンジンを使用することは有用である。最も多くの場合、これらのセット・アクティビティは、実際には1つまたは複数のデータ・ソース(たとえば、リレーショナル・データベース)からの情報の処理である。たとえば、あるアクティビティは、データベース照会の一部として1つまたは複数のデータ・ソースから情報を検索または更新することができる。従来のワークフロー・システムでは、一連のこのようなアクティビティを実行するために、ワークフロー・エンジンは通常、完全な1組のデータ・セットをマテリアライズ(すなわち、1つまたは複数のデータ・ソースからの情報のすべてを検索)し、データをコピーすることにより、この1組のデータ・セットを他のアクティビティに渡さなければならず、そのアクティビティはその処理を実行し、その1組のデータ・セットをさらに他のアクティビティなどに渡す。したがって、データ・アクティビティ間で完全な1組のデータ・セットがコピーされ渡される。コピーにより大きいセットを渡すことは、非効率的であり、開発しにくいことであるので、パフォーマンス上の理由で受け入れ可能なものではない。
従来のビジネス・プロセス・ランタイム・システムには、データ管理動作の設計および実行に関して、いくつかの弱点がある。たとえば、従来のビジネス・プロセス・ランタイム・システムでは、データ管理アクティビティが対向しなければならないセット(たとえば、テーブル)が、ビジネス・プロセスを実行する前にすでに既知である(すなわち、設計または配備時に指定されている)という静的環境を想定している。
アプリケーションによっては、静的データ管理環境を想定することが受け入れ可能であるが、このような想定は、関心のあるデータの選択が、たとえば、サービス・レベル・アグリーメント(Service Level Agreement)によって決まる可能性のある動的なオンデマンド・アプリケーション・シナリオの場合、受け入れ可能ではない可能性がある。オンデマンド・アプリケーション・シナリオでは、異なるサービス品質(Quality of Service)特性を有するいくつかの場所にデータが冗長に保管されるデータ管理環境が存在する可能性がある。オンデマンド・アプリケーションは、それぞれのユーザとの契約通りのサービス・レベル・アグリーメント次第で、異なるユーザのために異なるデータ・ソースを選択する必要がある場合もある。データ・ソースの選択は、たとえば、それぞれのデータ・ソースのアクセス時間、可用性、または陳腐性、あるいはこれらの組み合わせによって決まる可能性がある。
2003年5月5日付けの「Business Process Execution Language forWeb Services Specification」の Version 1.1
したがって、多くのオンデマンド・アプリケーションは、ランタイム時にどのデータ・ソースを使用すべきかに関する決定の延期を直接可能にするワークフロー・システムの恩恵を受けるであろう。
ワークフローを処理するための方法、コンピュータ・プログラム、およびシステムが提供される。1つまたは複数のデータ管理アクティビティを含むワークフローが受信される。1つまたは複数のデータ管理アクティビティの記述を含むワークフロー記述がそのワークフローから生成される。1つまたは複数のデータ管理動作がワークフロー記述から生成される。1つまたは複数のデータ管理動作が1つまたは複数のデータ管理システムに対して実行される。
好ましくは、データ管理動作をワークフロー・システムと統合する解決策が提供される。
次に、例証としてのみ、添付図面に関連して、本発明の諸実施形態について説明する。
同様の参照番号は、一貫して、対応する部分を表している。
以下の説明では、本明細書の一部を形成し、いくつかの諸実施形態を例示する添付図面を参照する。他の諸実施形態を使用することができ、本発明の範囲を逸脱せずに構造上および動作上の変更を行えることは言うまでもないことである。
図1は、特定の諸実施形態を実現可能なワークフロー・システム100の詳細を例示している。コンピューティング・デバイス110は、ユーザがワークフロー(たとえば、図3の310)のグラフィック表現を作成できるようにするためのワークフロー設計タイム・システム120を含む。ワークフロー設計タイム・システム120は、ワークフローのグラフィック表現からワークフロー記述130を生成するワークフロー記述エディタ122を含む。ワークフロー記述130は、ワークフロー・ランタイム・システム150を含むコンピューティング・デバイス140に経路指定される。ワークフロー・ランタイム・システム150は、ワークフロー記述130を実行することができる。ワークフロー・ランタイム・システム150は、ワークフロー記述130に統合されたデータ管理動作を処理するために使用されるデータ管理動作サポート・コンポーネント152を含む。データ管理動作は、1つまたは複数のデータ管理システム160a・・・160nに対してサブミットされる(省略符号は、データ管理システム160aおよび160nに加えて任意の数のデータ管理システムが存在しうることを示している)。データ管理システム160a・・・160nは、データへのアクセスを可能にするコンピューティング・デバイス(たとえば、サーバ・コンピュータ)として記述することができる。
アクティビティという用語はワークフローの「ノード」(たとえば、図3のCheckItemInStock320)を指し、「動作(operation)」という用語はデータ管理システム160a・・・160nに対して実行されるステートメント(すなわち、入力パラメータおよび入力セット参照が対応する値で置き換えられているステートメント)を指す。1つのアクティビティの実行は、いくつかの動作を必要とする可能性がある。
図2は、特定の諸実施形態によりデータ管理動作をワークフロー・システムに統合するためのロジックを例示している。制御は、諸実施形態によって提供された1つまたは複数のデータ管理アクティビティを含むワークフロー(「制御フロー(control flow)」とも呼ばれる)の作成をユーザが完了したという表示をワークフロー設計タイム・システム120が受信するブロック200から始まる。とりわけ、諸実施形態は、ワークフロー言語(たとえば、BPEL)に対する拡張機能として新しいデータ管理アクティビティ・グループを提供する。データ管理アクティビティにより、ワークフロー・システム内からデータ管理システム160a・・・160n(たとえば、リレーショナル・データベース・システム)へのアクセスならびにデータ管理システム160a・・・160nの管理が可能になる。
データ管理アクティビティは、セットに対して機能することができ、これを可能にするために、諸実施形態はセット参照にライフ・サイクル属性を提供する。したがって、データ管理アクティビティは、ライフ・サイクル属性を有するセット参照を含むことができる。セット参照は、(ビジネス・プロセス内ではなく)データ管理システム内に存在する1組のデータ・セットへのインジケータ(たとえば、ポインタ)として記述することができる。セット参照は、データ管理システムにアクセスし、対応するセットを管理するために必要な情報を含む。セット参照を使用することにより、諸実施形態は、アクティビティ間で大きい情報セットを渡すことを回避する。また、諸実施形態は、たとえば、1つのセットがどのくらいの長さ、使用可能でありうるか、ならびにそのセットをいつ廃棄すべきかを決定するライフ・サイクル属性をユーザが選択できるようにすることにより、セットに関するライフ・サイクル管理サポートを提供する。
データ管理アクティビティとしては、たとえば、構造化照会言語(SQL)アクティビティ、マテリアライズ・アクティビティ、およびシステム・コマンド・アクティビティを含む。SQLアクティビティの例としては、選択(select)、選択導入(selectinto)、呼び出し(call)、挿入(insert)、更新(update)、削除(delete)、マージ(merge)、値(values)、値導入(valuesinto)、およびデータ定義言語(DDL:DataDefinition Language)動作を含む。DDL動作としては、たとえば、作成(create)、変更(alter)、ドロップ(drop)、リフレッシュ(refresh)、取り消し(revoke)、付与(grant)、および設定(set)を含む。マテリアライズ・アクティビティは、セット参照の内容を(たとえば、XML文書として)ワークフロー・システムにとって使用可能なものにする。システム・コマンド・アクティビティの例としては、データ管理システム開始(start data management system)、データ管理システム停止(stop data management system)、バックアップ(backup)、リストア(restore)、再編成(reorganize)、および実行統計(runstats)を含む。
さらに、諸実施形態は、ユーザが新しいアクティビティ・タイプを追加できるようにする拡張性メカニズムを提供する。また、各アクティビティ・タイプは、データ管理システムの1つまたは複数の動作にマッピングすることができる。たとえば、新しいアクティビティが「リモート・システムからのデータのロード(Load data from remote system)」になる可能性があり、この新しいアクティビティを実行した結果、いくつかの動作がデータ管理システムで実行される(たとえば、いくつかの作成動作に続いて1つの選択動作が行われる)。
その上、諸実施形態により、ビジネス・プロセス変数をデータ管理アクティビティに関する入力パラメータまたは出力パラメータあるいはその両方として使用することができる。ビジネス・プロセス変数は、ワークフロー言語変数(たとえば、BPEL変数)として記述することができる。
さらに、諸実施形態により、ランタイム時にデータ・ソースの選択を可能にするデータ・ソース定義が可能になる。
既存のワークフロー言語は、このようなデータ管理動作、セット参照、またはセット参照に関するライフ・サイクル管理を含まない。その上、既存のワークフロー言語は、諸実施形態によって提供される通り、アクティビティに関するパラメータとしてのビジネス・プロセス変数の拡張使用を提供しない(すなわち、既存のワークフロー言語にはビジネス・プロセス変数の使用に関する制限がある場合が多い(たとえば、BPELでのWebサービス・アクティビティは、入力としての単一変数と、出力としての単一変数のみを有することができる))。また、既存のワークフロー言語は、ランタイム時にデータ・ソース選択を使用可能にしない。
データ管理動作が容易に呼び出され、データ管理システムとワークフロー・システムとの間でセットの形での情報の共用を可能にするように、新しいデータ管理アクティビティを提供し、追加のアクティビティの作成を可能にすることにより、諸実施形態はワークフロー・システムにデータ管理動作を統合する。
その上、データ管理アクティビティを含むようにワークフロー言語を拡張し、データをマテリアライズする必要なしにデータ・セットを参照するセット参照を提供することにより、諸実施形態は、単一ワークフロー内でレコード単位のアクティビティとセット単位のアクティビティの混合を可能にする。また、諸実施形態により、データ管理アクティビティをワークフロー記述の一部として(たとえば、ワークフロー記述内のSQLステートメントとして)「インライン(inline)」で指定することができる。
図2に戻ると、ブロック202で、ワークフロー記述エディタ122は、ワークフローからワークフロー記述を自動的に生成する。ワークフロー記述は1つまたは複数のデータ管理アクティビティの記述を含む。選択された場合、ワークフロー記述は、任意のセット参照とそのライフ・サイクル属性、入力パラメータまたは出力パラメータあるいはその両方として使用されるビジネス・プロセス変数、およびデータ・ソース定義の記述も含む。
ブロック204で、ワークフロー・ランタイム・システム150は、ワークフロー記述から1つまたは複数のデータ管理動作(たとえば、1つまたは複数のSQL照会)を自動的に生成する。ブロック206で、ワークフロー・ランタイム・システム150は、1つまたは複数のデータ管理システム160a・・・160nに対して1つまたは複数のデータ管理動作を実行する。特定の諸実施形態では、単一のデータ管理システム160a・・・160nに対して1つのアクティビティがサブミットされ、そのアクティビティに付加されたデータ・ソース定義(複数も可)次第で、異なるデータ管理システム160a・・・160nに対して異なるデータ管理動作を実行することができる。ブロック208で、照会の結果がワークフロー・ランタイム・システム150に返される。
単に本発明の理解を強化するために、本明細書の例では、BPELベースのワークフロー・システムへのSQL動作の統合に言及する場合もある。特定の諸実施形態では、SQL動作は、WebSphere(R)Process Choreographer(WPC)ワークフロー・システムに統合される。
諸実施形態の技法は、その他のタイプのデータ管理動作ならびにその他のタイプのセットおよびデータ管理システム(たとえば、XMLデータベース・システムおよびコンテンツ・マネージメント・システム)を包含するように拡張することができる。また、その技法は、XQuery(拡張可能マークアップ言語(XML)照会言語である)およびXMLデータベース・システムに保管されたXML文書の集合と、コンテンツ・アクセス操作動作および文書管理システムに保管された文書のセットに拡張することができる。ワークフロー・システムに関しては、諸実施形態の技法は、BPELに基づかない他のサービスサービス指向ワークフロー・システムに拡張することができる。すなわち、諸実施形態の技法は、任意のワークフロー言語(たとえば、書式定義マークアップ言語(FDML:Forms Definition Markup Language)またはXLANG(マイクロソフト社による規格))とともに使用することができる。
図3は、特定の諸実施形態によりワークフロー設計タイム・システム120によって提供される表示内容を例示している。ユーザはワークフロー310のグラフィック表現を作成することができる。図3のワークフロー310は、所与の在庫品目(item in stock)の可用性をチェックする「CheckItemInStock」データ管理アクティビティ320を含む。ワークフロー310では、遷移条件によってチェックされるように、在庫品目がまったく残っていない場合、新しい品目を注文するためのWebサービスが呼び出される。ワークフロー310は、その品目の在庫がない場合にWebサービスの出力を返し、その品目の在庫がある場合にデフォルト値を返す。
画面区画330は、ワークフロー記述130の一部であるSQLステートメントをユーザが直接指定できるようにするワークフロー設計タイム・システム120を使用して構築されたSQLステートメントを例示している。ItemCountおよびitemidリンクは、ビジネス・プロセス変数にリンクされる入力/出力パラメータをそれぞれ指している。ItemTableリンクは入力セット参照を指している。ユーザがこれらのリンクを選択(たとえば、クリック)すると、そのパラメータまたは参照セットをそれぞれ更新するために、ワークフロー設計タイム・システム120の諸実施形態によってウィザードが提供される。新しいパラメータおよびセット参照は、「New」ボタン340を選択することによって作成することができる。すなわち、新しいパラメータおよびセット参照(たとえば、入力または出力セット参照)は、ビジネス・プロセス変数(たとえば、BPEL変数またはプロパティあるいはその両方)にマッピングすることができる。また、variable=DataSource part=myDataSourceというステートメントは、SQLステートメントに関するデータ・ソースが「DataSource」ビジネス・プロセス変数の「myDataSource」部分によって識別されることを示している。
「CheckItemInStock」データ管理アクティビティ320によって使用すべき特定のデータ・ソースを指定するために、ユーザは、「CheckItemInStock」データ管理アクティビティ320を選択し、「define data source」ボタンを選択すると、その結果、Data Source Definition Wizard(データ・ソース定義ウィザード)400が表示される(図4)。次にユーザは、(たとえば、ビジネス・プロセス変数またはビジネス・プロセス変数の一部430へのマッピングを指定することにより)データ・ソース・タイプ410を提供することができる。代わってユーザは、データ・ソース定義をインラインで提供することもできる。したがって、SQLアクティビティに関するデータ・ソースは、そのデータ・ソースをビジネス・プロセス変数(たとえば、BPEL変数)またはビジネス・プロセス変数の一部(たとえば、BPEL変数の一部)にマッピングすることにより指定することができる。
また、諸実施形態により、入力セット参照をビジネス・プロセス変数(たとえば、BPEL変数)またはビジネス・プロセス変数の一部(たとえば、BPEL変数の一部)にマッピングすることができる。図5は、ビジネス・プロセス変数および部分520へのマッピングを可能にする、特定の諸実施形態によるAdd or Edit An InputSetReference(InputSetReferenceの追加または編集)画面500を例示している。「CheckItemInStock」データ管理アクティビティ320によって使用すべき入力セット参照およびライフ・サイクル属性を指定するために、ユーザは、「CheckItemInStock」データ管理アクティビティ320を選択し、「New」ボタン340を選択すると、その結果、Add or Edit an InputSetReference画面500が表示される。Add or Edit an InputSetReference画面500では、ユーザは、ビジネス・プロセス変数および部分520を識別し、クリーンアップ510が必要であるかどうか、ならびにどの時点でクリーンアップを実行しなければならないかなどのライフ・サイクル属性を識別する。
「CheckItemInStock」データ管理アクティビティは、ワークフロー記述でインラインSQLを使用して指定される。以下のサンプル擬似コードAは、「CheckItemInStock」データ管理アクティビティに関するワークフロー記述を例示している。
擬似コードA
Figure 2008532154
擬似コードAのデータ管理アクティビティ・ステートメント要素(「dataManagemenentActivity」)は、データ・ソース定義要素(「dataSource」)とボディ要素(「body」)とを含む。
データ・ソース定義要素は、実際のデータ・ソース定義を含むBPEL変数(「myDataSource」)を指す。
ステートメントのボディ要素内に定義されたSQLは、データ・ソース定義要素によって識別されたデータ・ソースに対して実行される。とりわけ、ボディ要素は、SQLの「SELECT INTO」ステートメントを定義する。SQLトークンは、setReferenceおよびパラメータ要素と混合される。setReference要素は、実際のデータベース・テーブルを決定するために使用されるセット参照定義を含むBPEL変数「SetReference」を指す。入力パラメータは、SQLステートメントのwhere節に使用すべきitemidを含むBPEL変数「InputVariable」を指す。このステートメントの結果は、出力パラメータによって定義された通り、変数「ItemCount」に保管される。その上、セット参照は、cleanup=“no”およびpreparation=“no”というライフ・サイクル・オプションを有し、後者は、セット参照を使用するためにいかなる準備も不要であり、対応するセットが削除されないことを示す。「ItemCount.get(“myint”) == 0」という遷移条件は、「CheckItemInStock」データ管理アクティビティの結果をチェックすることにより、Webサービスを呼び出す必要があるかどうかをチェックする。
ワークフロー・ランタイム・システム150は、その後、データ管理システム160a・・・160nに対して実行可能なデータ管理動作(たとえば、SQL照会)を擬似コードAから生成する。実行のために生成されるデータ管理動作は、任意の入力パラメータおよび入力セット参照に関する値によって決まる。
とりわけ、ワークフロー・ランタイム・システム150における「CheckItemInStock」アクティビティの実行は、データ管理動作サポート・コンポーネント152がこのアクティビティのワークフロー記述ならびにプロセスのコンテキストを受信することを含む。コンテキストは、BPEL変数とプロパティとを含む。データ管理動作サポート・コンポーネント152は、まず、入力パラメータと入力セット参照変数の有無をチェックし、指定されたBPEL変数から対応する値を入手する。たとえば、itemidはBPEL変数「InputVariable」から抽出される。この例では、整数の値が135であると想定する。選択(select)照会で使用されるテーブルの名前は、BPEL変数「SetReference」の「mySetReference」部分から抽出される。この例では、テーブルの名前が「ITEMS」であると想定する。
データ管理動作サポート・コンポーネント152は、それに対して照会を実行しなければならないデータ・ソースを決定する。この例では、データ・ソースは、BPEL変数「DataSource」の「myDataSource」部分の内容によって指定される。この例の場合、その値が「jdbc/sample」というjndi名であると想定する。データ管理動作サポート・コンポーネント152は、データ・ソース「jdbc/sample」との接続を作成し、入力パラメータおよび入力セット参照がBPEL変数から抽出された値で置き換えられているSQLステートメントを実行する。生成される照会例は以下の通りである。
Figure 2008532154
データ管理動作サポート・コンポーネント152は、BPEL変数「ItemCount」に「OUTPUTPARAMETER1」という値を書き込む。
理解しやすくするため、単純化されたワークフロー・ランタイム・システム150において「GetEuropeanOrders」アクティビティの第1のステートメントを実行する他の例が提供される。この例では、ワークフロー・ランタイム・システム150におけるデータ管理動作サポート・コンポーネント152は、アクティビティの記述ならびにプロセスのコンテキストを受信する。このコンテキストは、BPEL変数とプロパティティとを含む。
データ管理動作サポート・コンポーネント152は、まず、入力パラメータと入力セット変数の有無をチェックする。この例には、入力セット参照が存在する。SELECT照会で使用されるテーブルの名前は、BPEL変数「SetReference_OrdersEurope」の「mySetReference」部分から抽出される。この例の場合、テーブルの名前が「INPUT.EUROPEANORDERS」であると想定する。
データ管理動作サポート・コンポーネント152は、それに対して照会を実行しなければならないデータ・ソースを決定する。この例では、データ・ソースは、BPEL変数「DataSourceVariable」の「myDataSource」部分の内容によって指定される。この例の場合、その値が「jdbc/sample」というjndi名であると想定する。データ管理動作サポート・コンポーネント152は、データ・ソース「jdbc/sample」との接続を作成し、以下のSQLステートメントを実行する。
Figure 2008532154
指定された結果セット参照が存在する。したがって、データ管理動作サポート・コンポーネント152は、変数「ResultSetReference_Europe」の「mySetReference」部分によって指定されたテーブルにこの照会の結果を書き込む。このテーブルのためにライフ・サイクル管理オプションが指定される。このテーブルは、現行プロセスの存続期間の終了時にデータ管理システムから削除される予定である。データ管理動作サポート・コンポーネント152は、この情報を永続的に保管する。このプロセスの実行終了時に、クリーンアップ作業を実行するために、データ管理動作サポート・コンポーネント152がワークフロー・ランタイム・システム150によって呼び出される。
図6、図7、および図8は、特定の諸実施形態によるワークフロー610に関するサンプル擬似コード600、610、620を示している。擬似コードAは、例示された擬似コード600、610、620の一部である。
図9は、特定の諸実施形態によりワークフロー設計タイム・システム120によって提供される表示内容を例示している。ユーザはワークフロー710のグラフィック表現を作成することができる。図9のワークフロー710は、「GetEuropeanOrders」720、「GetUSOrders」722、「UnionOrders」724、および「MaterializeOrders」726というデータ管理アクティビティを含む。図9のワークフローは、2つの異なる地域(ヨーロッパおよび米国)からの注文データをロードする。2つのデータ・ストリームが一緒に結合される前に、(ユーロからドルへの)通貨換算が行われる。2つのデータ・セットの結合後に、結果として得られるデータがXML文書にマテリアライズされる。最後に、ワークフローの出力としてXML文書が返される。
以下のサンプル擬似コードBは、GetEuropeanOrdersデータ管理アクティビティ720に関するワークフロー記述を例示している。GetEuropeanOrdersデータ管理アクティビティ720は、BPEL変数「ResultSetReference_Europe」内に保管されたセット参照にヨーロッパ・データをロードし(ステートメント1)、次にユーロからドルへの通貨換算を実行する(ステートメント2)。この換算は、SQL UPDATEステートメントによって実行される。セット参照BPEL変数「ResultSetReference_Europe」は、換算ステートメントに関する入力セット参照として解釈される。
擬似コードB
Figure 2008532154
以下のサンプル擬似コードCは、GetUSOrdersデータ管理アクティビティ722に関するワークフロー記述を例示している。GetUSOrdersデータ管理アクティビティ722は、BPEL変数「ResultSetReference_US」内に保管されたセット参照に米国データをロードする。この結果セット参照のライフ・サイクル属性は、それが存在しない場合のみ、基礎となるデータベース・テーブルが作成され(preparation=“ifNeeded”)、そのテーブルが削除され(cleanup=“yes”)、テーブルの削除がプロセス・インスタンス終了時に実行される(cleanupScope=“instance”)ように設定される。
擬似コードC
Figure 2008532154
以下のサンプル擬似コードDは、UnionOrdersデータ管理アクティビティ724に関するワークフロー記述を例示している。UnionOrdersデータ管理アクティビティ724は、米国の注文と換算されたヨーロッパの注文の和集合(union)を表している。結果として得られるデータ・セットは、BPEL変数「ResultSetReference_Union」内のセット参照として保管される。
擬似コードD
Figure 2008532154
以下のサンプル擬似コードEは、MaterializeOrdersデータ管理アクティビティ726に関するワークフロー記述を例示している。MaterializeOrdersデータ管理アクティビティ726は、統合された注文テーブルの内容をプロセス・コンテキストにマテリアライズする。ステートメントの<from>要素にはマテリアライズのためのデータのソースが指定され、<to>要素はマテリアライズ・ターゲットを表している。すなわち、セット参照「ResultSetReference_Union」の内容は、BPEL変数「MaterializedOrders」の「myMaterializationResult」部分にマテリアライズされる。
擬似コードE
Figure 2008532154
結果セット参照は、その結果セットを作成するデータ管理アクティビティの指定の一部として指定される。結果セット参照を指定するために、ユーザは「create result set reference」ボタンを選択し、その結果、Result Set References Definition Wizard(結果セット参照定義ウィザード)800が表示される(図10)。図10は、「GetEuropeanOrders」アクティビティ720(図9)で使用される結果セット参照に対応するものである。Result Set References Definition Wizard800では、このパネルの「Attributes」セクションを使用して、ライフ・サイクル管理オプションを定義することができる。たとえば、ユーザは、クリーンアップ810が必要であるかどうか、ならびにどの時点でクリーンアップを実行しなければならないかなどのライフ・サイクル属性810を識別する。この例の結果セットは、プロセスの終了時(すなわち、「instance」の終了時)にクリーンアップされる。
ユーザは、たとえば、データ・ソースと、結果を保持するための既存のテーブルのIDとを提供するか、またはデータ管理動作サポート・コンポーネントによって結果セットを生成しなければならないことを指定することにより、結果セット参照の定義820を提供する。この例では、データ・ソース、スキーマ名、およびテーブル名が明示的に指定されている。
図11、図12、図13、図14、および図15は、特定の諸実施形態によるワークフロー810に関するサンプル擬似コード900、910、920、930、940を示している。擬似コードB、C、D、およびEは、例示された擬似コード900、910、920、930、940の一部である。
したがって、データ管理動作をワークフロー・システムに統合するために、データ管理動作は、ファーストクラス・メンバー(first class citizen)としてビジネス・プロセスに関するワークフロー・システムに統合される。諸実施形態では、データ管理動作に関して以下の特性を提供する。
1.データ管理動作の宣言記述から構成される新しいデータ管理アクティビティ
2.これらの動作に関する入力パラメータとしてビジネス・プロセス変数を直接指定するためのメカニズム
3.これらの動作の結果がどのようにビジネス・プロセス変数に保管されるかを直接指定するためのメカニズム
4.ランタイム中に使用すべきデータ・ソースを指定するためのメカニズム
5.ライフ・サイクル属性を有するセット参照を定義するためのメカニズム
諸実施形態は、データ管理アクティビティを実現するために必要なスキル・セットの低減や、これを行うために必要な開発時間の短縮など、従来の手法に関する問題を除去するものである。
統合システムは、設計タイム・システム・ツール120、ワークフロー言語(ワークフロー記述130に使用)内、ワークフロー・ランタイム・システム150という3通りのレベルでファーストクラス・メンバーとしてデータ管理動作をサポートすることによって達成される。ワークフロー設計タイム・システム120は、特定のデータ管理アクティビティのためのサポートによって強化される。ワークフロー言語は、アクティビティに関する入力パラメータおよび出力パラメータとしてプロセス変数を直接使用するための能力を含む、ワークフロー記述の一部としてデータ管理アクティビティを「インライン」で指定するためのメカニズムによって強化される。
ワークフロー・ランタイム・システム150はワークフロー記述130を受信する。ワークフロー・ランタイム・システム150は、セット参照のためのサポートおよび対応するセットに関するライフ・サイクル管理を含む、ワークフロー記述130に定義されたデータ管理動作を実行することができるデータ管理動作サポート・コンポーネント152によって強化される。データ管理動作サポート・コンポーネント152は、指定されたデータ管理動作を実行するために1つまたは複数のデータ管理システム160a・・・160nにアクセスする。
本発明の諸実施形態の理解を強化するために、もう1つの例が提供される。とりわけ、この例では、注文に関する情報がリレーショナル・データベース・システムに保管され、ビジネス・プロセスは特定の地域からの注文の総額をチェックする。この例では、地域はビジネス・プロセスに対する入力パラメータ(すなわち、ビジネス・プロセス入力変数)である。データベース管理動作はSELECT照会である。この照会の結果は変数に保管され、したがって、その結果を後続アクティビティで使用することができる。
諸実施形態は、ビジネス・プロセス用のワークフロー言語(たとえば、BPEL)に関するインラインSQLを提供する。WPCワークフロー・システムおよびSQLサポートの場合、ワークフロー・ランタイム・システム150へのファーストクラス・メンバーとしての統合は、ワークフロー・ランタイム・システム150がSQLコードを直接サポートすることを意味する。インラインSQLステートメントにより、データ管理アクティビティの宣言記述(「Java(登録商標)スニペット(snippet)」と同様のものであり、「SQLスニペット」または「DMA」と呼ばれるもの)をワークフロー記述130に含めることができる。
WPCワークフロー・ランタイム・システム用のSQLアクティビティに関する擬似コード例は擬似コードFとして示されている。擬似コードFの「select count(*) into」、「from ORDERS」、および「where REGION=」というテキストは、SQL照会がどのように指定されるかを示している。<dataSource variable=“DMA_Data_Source” part=“dataSource”/>という要素は使用すべきデータ・ソースを指定する。<parameter kind=“out” property=“NB_EXCEPTIONAL_ORDERS” variable=“Parameter” />という要素は出力パラメータを指定する。
<parameter kind=“in” property=“MAX_PRICE” variable=“Parameter” />という要素は入力パラメータを指定する。したがって、ビジネス・プロセス変数は入力パラメータおよび出力パラメータにすることができ、データ・ソースはビジネス・プロセス変数を介して指定することができる。
擬似コードF
Figure 2008532154
この統合システムは、ビジネス・プロセスそのもののセマンティクス(たとえば、複数のアクティビティが相互にどのように関連するか)ならびにこのビジネス・プロセス内のデータ管理アクティビティのセマンティクスの両方を理解することができる。
諸実施形態は、従来のワークフロー・システムの欠陥を克服するセット参照の概念をサポートするワークフロー・システムを提供する。
セット参照は、1組のデータ・セットを指すポインタとして記述することができる。たとえば、セット参照は、そのデータ・セットを突き止めるためのテーブル名および追加情報にすることができる。このセット参照は、たとえば、そのセットにアクセスする方法に関する情報、そのセットに関するメタ情報、そのセットを作成し削除するためのステートメントなどのセット・プロパティを含むことができる。セット参照は、ビジネス・プロセス変数に結合することができ、ステートメントに関する入力および出力セットとして使用することができる。セット参照は、そのデータ・セットをコピーするのではなく、セット参照を転送することにより、アクティビティ間のセットの受け渡しを可能にする。たとえば、第1のデータ管理アクティビティはセット参照を作成することができ、第2のデータ管理アクティビティはそのセット参照を使用することができる。セット参照は動的インフラストラクチャをサポートする(たとえば、ソースおよびターゲット・セットはビジネス・プロセス・ランタイム時に変更することができる)。
特定の諸実施形態では、セット参照は、単一のデータ管理システム160a・・・160nを介してアクセス可能なセットを指す(たとえば、リレーショナル・データベース・システム内のテーブルまたはビュー)。データ管理システム160a・・・160nは、対応するレコードが異なるデータ管理システム160a・・・160n内に存在するセットとともに機能できるフェデレーテッド・システム(federated system)にすることができる。
以下の擬似コードは、擬似コードGとして定義されるセット参照の一例を示す。擬似コードGでは、セット参照を定義するために、resultSetReference part=“reference” variable=“SelectedEmployeesSetReferenceVariable”/およびsetReference part=“reference” variable=“AllEmployeesSetReferenceVariable”/を使用する。
擬似コードG
Figure 2008532154
セット参照は、既存のセットを指すとともに、まだ実行されていないデータ管理アクティビティの結果を表すことができる。後者の場合、セット参照は、そのセットが従わなければならない特性に関するデータ管理アクティビティを指示するメタ情報を含むことができる。
セット参照のためのサポートは、以下のワークフロー・システム機能を含む。
1.セット参照は、ワークフロー・システムのワークフロー・ツールおよびAPIによってサポートされる。ユーザは、セット参照を直接指定し、変更することができる(ファーストクラス・メンバー・サポートの一例)。
2.セット参照は、ビジネス・プロセスの設計時、ビジネス・プロセスの配備時、またはビジネス・プロセス・ランタイム時を含む、様々な時点で指定し変更することができる。
3.セット参照は、データ管理アクティビティに関する入力パラメータおよび出力パラメータとして直接使用することができる。
一例として、セット参照は、リレーショナル・データベース・システム内のテーブルまたはビューを表すことができる。アドレス情報は、そのデータ・セットにアクセスするために必要な情報(たとえば、データ・ソースの指定(たとえば、JNDI名)、スキーマおよびテーブル名、認証方法に関する記述(たとえば、ビジネス・プロセスを実行している現行ユーザの資格情報による))を含む。セット参照内のメタデータ情報は、テーブルまたはビューの列を記述する。
セット参照サポートは、ビジネス・プロセス・アクティビティによりセット参照「S1」への特定のデータ・ソース内の既存のテーブルの結合を可能にする。このアクティビティは、たとえば、レジストリ・ルックアップ動作にすることができる。その場合、後続SQL SELECTアクティビティのFROM節にS1を使用することができる(すなわち、S1は集合値(set-valued)入力パラメータとして使用することができる)。このSQL SELECTステートメントの結果は、同じく後続データ管理アクティビティに使用可能な第2のセット参照「S2」に結合することができる。
セット単位の処理は、テーブルの行を表す1組のオブジェクト・セットに対するワークフロー言語のwhileループを使用して実行することができ、データを豊富にするために何らかのデータ・ソース内のルックアップが実行され、特定の特性の有無をチェックするためにWebサービスが呼び出され、この特性に基づいて更新が実行される。また、単一のセット単位のSQL更新動作も提供することができる。このセット単位の処理は、大きいセットのマテリアライズを回避し、データ・ソースへのアクセス回数を削減する。
諸実施形態は、ビジネス・プロセスによって作成されたセットに関するライフ・サイクル管理を提供する。ユーザが特定のビジネス・プロセス・アクティビティで使用するためのセットを作成し、もはや不要になると直ちにそのセットをドロップすることは、頻繁に行われるタスクである可能性がある。したがって、諸実施形態は、セットの作成および削除を単純化する、セット参照に関するライフ・サイクル管理拡張機能を提供する。この拡張機能としては、ビジネス・プロセス配備時、ビジネス・プロセス作成時、ビジネス・プロセス内の特定の範囲の開始時、またはビジネス・プロセス内の特定のアクティビティの開始時を含む特定の時点で自動的にセットを作成するメカニズムを含む。
また、この拡張機能としては、セットを作成したアクティビティの終了時、セットが作成された範囲の終了時、ビジネス・プロセスの終了時、または配備解除(undeployment)時を含む特定の時点で自動的に、ビジネス・プロセスによって作成されたセットをドロップするメカニズムも含む。作成およびドロップはユーザが管理することもできる(すなわち、セットはビジネス・プロセス後も存続することができる)。
以下の擬似コードは、擬似コードHとしてライフ・サイクル管理拡張機能の使用の一例を示す。擬似コードHでは、cleanup=“yes” cleanupScope=“process” preparation=“yes”は、ビジネス・プロセスが終了したときにセットをドロップし、擬似コードHを含むアクティビティが実行されるたびに新しいセットがデータ管理動作サポート・コンポーネント152によって自動的に作成されることを示している。
擬似コードH
Figure 2008532154
諸実施形態は、ワークフローへのデータ動作の統合を可能にし、データ動作を含むワークフローの最適化を可能にする。諸実施形態は、ETLおよびビジネス・プロセス統合とともに使用することができる。
IBM、MQSeries、WebSphere、およびDB2は、米国またはその他の国あるいはその両方におけるインターナショナル・ビジネス・マシーンズ社の登録商標または民事上のマークあるいはその両方である。Oracleは、米国またはその他の国あるいはその両方におけるオラクル社の登録商標または民事上のマークあるいはその両方である。Excelは、米国またはその他の国あるいはその両方におけるマイクロソフト社の登録商標または民事上のマークあるいはその両方である。
追加の実施形態の詳細
記載されている諸実施形態は、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組み合わせを作成するためにプログラミングまたはエンジニアリングあるいはその両方の技法を使用する方法、装置、コンピュータ・プログラム、または製品(article of manufacture)として実現することができる。本明細書で使用する「製品」および「回路」という用語は、ハードウェア・ロジック(たとえば、集積回路チップ、プログラマブル・ゲート・アレイ(PGA)、特定用途向け集積回路(ASIC)など)または磁気記憶媒体(たとえば、ハード・ディスク、フレキシブル・ディスク、テープなど)、光記憶装置(CD−ROM、光ディスクなど)、揮発性および不揮発性メモリ・デバイス(たとえば、EEPROM、ROM、PROM、RAM、DRAM、SRAM、ファームウェア、プログラマブル・ロジックなど)などのコンピュータ可読媒体で実現された状態マシン、コード、またはロジックを指す。コンピュータ可読媒体内のコードは、プロセッサによってアクセスされ実行される。コードまたはロジックがプロセッサによって実行されると、回路は、そのコードまたはロジックを含む媒体ならびにその媒体からロードされたコードを実行するプロセッサを含むことができる。好ましい諸実施形態が実現されるコードはさらに、伝送媒体により、またはネットワーク上のファイル・サーバから、アクセス可能である場合がある。このような場合、コードが実現される製品は、ネットワーク伝送路、無線伝送媒体、空気中を伝搬する信号、電波、赤外線信号などの伝送媒体を含むことができる。したがって、「製品」は、コードが実施される媒体を含むことができる。さらに、「製品」は、コードが実施され、処理され、実行される、ハードウェア・コンポーネントとソフトウェア・コンポーネントの組み合わせを含むことができる。当然のことながら、当業者であれば、この構成に対して多くの変更が可能であり、製品が当技術分野で既知の任意の情報伝送媒体を含むことができることを認識するであろう。さらに、デバイス、アダプタなどは、アダプタまたはマザーボード上の1つまたは複数の集積回路で実現することができる。
特定の諸実施形態は、人または自動処理によってコンピューティング・システムにコンピュータ可読コードを統合することによりコンピューティング・インフラストラクチャを配備するための方法を対象とすることができ、そのコードはコンピューティング・システムと協力して、記載されている諸実施形態の動作を実行することができる。
ロジックという用語は、例証として、ソフトウェアまたはハードウェアあるいはソフトウェアとハードウェアの組み合わせを含むことができる。
図2のロジックは、特定の順序で行われる特定の動作を記載している。代替諸実施形態では、このロジック動作のうちのいくつかを異なる順序で実行するか、変更または除去することができる。その上、上記のロジックに動作を追加し、依然として上記の諸実施形態に適合することもできる。さらに、本明細書に記載した動作を順次実行するか、特定の動作を並行して処理する場合もあれば、単一プロセスによって実行されるものとして記載された動作を分散プロセスによって実行する場合もある。
図2に例示されているロジックは、ソフトウェア、ハードウェア、プログラマブルおよび非プログラマブル・ゲート・アレイ・ロジックで、あるいはハードウェア、ソフトウェア、またはゲート・アレイ・ロジックの何らかの組み合わせで実現することができる。
図16は、特定の諸実施形態により使用可能なコンピュータ・システムのアーキテクチャ1000を例示している。コンピューティング・デバイス110および140はアーキテクチャ1000を実現することができる。コンピュータ・アーキテクチャ1000は、プロセッサ1002(たとえば、マイクロプロセッサ)、メモリ1004(たとえば、揮発性メモリ・デバイス)、および記憶装置1010(たとえば、磁気ディスク・ドライブ、光ディスク・ドライブ、テープ・ドライブなどの不揮発性記憶領域)を実現することができる。オペレーティング・システム1005は、メモリ1004で実行することができる。記憶装置1010は、内部記憶装置あるいは付加されたまたはネットワーク・アクセス可能な記憶装置を含むことができる。記憶装置1010内のコンピュータ・プログラム1006は、当技術分野で既知の通り、メモリ1004にロードし、プロセッサ1002によって実行することができる。このアーキテクチャは、ネットワークとの通信を可能にするためのネットワーク・カード1008をさらに含む。入力装置1012は、プロセッサ1002にユーザ入力を提供するために使用され、キーボード、マウス、ペンスタイラス、マイクロホン、タッチ検知ディスプレイ画面、あるいは当技術分野で既知の任意のその他の起動または入力メカニズムを含むことができる。出力装置1014は、ディスプレイ・モニタ、プリンタ、記憶装置など、プロセッサ1002またはその他のコンポーネントからの情報を提供することができる。コンピュータ・システムのコンピュータ・アーキテクチャ1000は、例示されているものより少ないコンポーネントを含むか、本明細書に例示されていない追加のコンポーネントを含むか、あるいは例示されているコンポーネントと追加のコンポーネントの何らかの組み合わせを含むことができる。
コンピュータ・アーキテクチャ1000は、メインフレーム、サーバ、パーソナル・コンピュータ、ワークステーション、ラップトップ、ハンドヘルド・コンピュータ、電話装置、ネットワーク家電、仮想化装置、記憶コントローラなど、当技術分野で既知の任意のコンピューティング・デバイスを含むことができる。当技術分野で既知の任意のプロセッサ1002およびオペレーティング・システム1005を使用することができる。
諸実施形態に関する上記の記述は、例示および説明のために提示されたものである。網羅することあるいは開示された正確な形式に諸実施形態を限定することは意図されていない。上記の教示を考慮すると、多くの変更および変形が可能である。諸実施形態の範囲は、この詳細な説明によって制限されず、むしろ特許請求の範囲によって制限されることが意図されている。上記の指定、例、およびデータは、諸実施形態の構成の製造および使用に関する完全な説明を提供するものである。本発明の精神および範囲を逸脱せずに多くの諸実施形態を作成することができるので、諸実施形態は、本明細書に付加された特許請求の範囲またはその後に出願された任意の請求項、ならびにそれと同等のものに存在する。
特定の諸実施形態を実現可能なコンピュータ・アーキテクチャの詳細を例示する図である。 特定の諸実施形態によりデータ管理動作をワークフロー・システムに統合するためのロジックを例示する図である。 特定の諸実施形態によりワークフロー設計タイム・システムによって提供される表示内容を例示する図である。 特定の諸実施形態によるData Source Definition Wizard(データ・ソース定義ウィザード)を例示する図である。 特定の諸実施形態によるAdd or Edit an InputSetReference(InputSetReferenceの追加または編集)画面を例示する図である。 特定の諸実施形態によるワークフローに関するサンプル擬似コードを示す図である。 特定の諸実施形態によるワークフローに関するサンプル擬似コードを示す図である。 特定の諸実施形態によるワークフローに関するサンプル擬似コードを示す図である。 特定の諸実施形態によりワークフロー設計タイム・システムによって提供される表示内容を例示する図である。 特定の諸実施形態によるResult Set References Definition Wizard(結果セット参照定義ウィザード)を例示する図である。 特定の諸実施形態によるワークフローに関するサンプル擬似コードを示す図である。 特定の諸実施形態によるワークフローに関するサンプル擬似コードを示す図である。 特定の諸実施形態によるワークフローに関するサンプル擬似コードを示す図である。 特定の諸実施形態によるワークフローに関するサンプル擬似コードを示す図である。 特定の諸実施形態によるワークフローに関するサンプル擬似コードを示す図である。 特定の諸実施形態により使用可能なコンピュータ・システムのアーキテクチャを例示する図である。

Claims (39)

  1. ワークフローを処理するための方法であって、
    1つまたは複数のデータ管理アクティビティを含むワークフローを受信するステップと、
    前記1つまたは複数のデータ管理アクティビティの記述を含むワークフロー記述を前記ワークフローから生成するステップと、
    1つまたは複数のデータ管理動作を前記ワークフロー記述から生成するステップと、
    1つまたは複数のデータ管理システムに対して前記1つまたは複数のデータ管理動作を実行するステップと、
    を含む方法。
  2. 少なくとも1つのデータ管理アクティビティがセット参照を含む、請求項1に記載の方法。
  3. 1つまたは複数のライフ・サイクル属性が前記セット参照に関連付けられる、請求項2に記載の方法。
  4. 前記セット参照が、ビジネス・プロセス変数またはビジネス・プロセス変数の一部へのマッピングを含む、請求項2または3に記載の方法。
  5. 少なくとも1つのデータ管理アクティビティが入力パラメータとしてビジネス・プロセス変数を含む、請求項1ないし4のいずれかに記載の方法。
  6. 少なくとも1つのデータ管理アクティビティが出力パラメータとしてビジネス・プロセス変数を含む、請求項1ないし5のいずれかに記載の方法。
  7. 少なくとも1つのデータ管理アクティビティがデータ・ソース定義を含む、請求項1ないし6のいずれかに記載の方法。
  8. 前記データ・ソース定義が、ビジネス・プロセス変数またはビジネス・プロセス変数の一部へのデータ・ソースのマッピングを含む、請求項7に記載の方法。
  9. 前記1つまたは複数のデータ管理システムから結果を受信するステップをさらに含む、請求項1ないし8のいずれかに記載の方法。
  10. 第1のデータ管理アクティビティがセット参照を定義し、第2のデータ管理アクティビティが前記セット参照を使用する、請求項1ないし9のいずれかに記載の方法。
  11. 前記データ管理動作が照会を含む、請求項1ないし10のいずれかに記載の方法。
  12. 各データ管理アクティビティが、前記1つまたは複数のデータ管理アクティビティのうちの1つに対応する、請求項1ないし11のいずれかに記載の方法。
  13. 新しいデータ管理アクティビティの作成を可能にするステップをさらに含む、請求項1ないし12のいずれかに記載の方法。
  14. ワークフローを処理するためのコンピュータ・プログラムであって、前記プログラムが動作を実行させることができ、前記動作が、
    1つまたは複数のデータ管理アクティビティを含むワークフローを受信するステップと、
    前記1つまたは複数のデータ管理アクティビティの記述を含むワークフロー記述を前記ワークフローから生成するステップと、
    1つまたは複数のデータ管理動作を前記ワークフロー記述から生成するステップと、
    1つまたは複数のデータ管理システムに対して前記1つまたは複数のデータ管理動作を実行するステップと、
    を含む、コンピュータ・プログラム。
  15. 少なくとも1つのデータ管理アクティビティがセット参照を含む、請求項14に記載のコンピュータ・プログラム。
  16. 1つまたは複数のライフ・サイクル属性が前記セット参照に関連付けられる、請求項15に記載のコンピュータ・プログラム。
  17. 前記セット参照が、ビジネス・プロセス変数またはビジネス・プロセス変数の一部へのマッピングを含む、請求項15または16に記載のコンピュータ・プログラム。
  18. 少なくとも1つのデータ管理アクティビティが入力パラメータとしてビジネス・プロセス変数を含む、請求項14ないし17のいずれかに記載のコンピュータ・プログラム。
  19. 少なくとも1つのデータ管理アクティビティが出力パラメータとしてビジネス・プロセス変数を含む、請求項14ないし18のいずれかに記載のコンピュータ・プログラム。
  20. 少なくとも1つのデータ管理アクティビティがデータ・ソース定義を含む、請求項14ないし19のいずれかに記載のコンピュータ・プログラム。
  21. 前記データ・ソース定義が、ビジネス・プロセス変数またはビジネス・プロセス変数の一部へのデータ・ソースのマッピングを含む、請求項20に記載のコンピュータ・プログラム。
  22. 前記動作が、前記1つまたは複数のデータ管理システムから結果を受信するステップをさらに含む、請求項14ないし21のいずれかに記載のコンピュータ・プログラム。
  23. 第1のデータ管理アクティビティがセット参照を定義し、第2のデータ管理アクティビティが前記セット参照を使用する、請求項14ないし22のいずれかに記載のコンピュータ・プログラム。
  24. 前記データ管理動作が照会を含む、請求項14ないし23のいずれかに記載のコンピュータ・プログラム。
  25. 各データ管理アクティビティが、前記1つまたは複数のデータ管理アクティビティのうちの1つに対応する、請求項14ないし24のいずれかに記載のコンピュータ・プログラム。
  26. 前記動作が、新しいデータ管理アクティビティの作成を可能にするステップをさらに含む、請求項14ないし25のいずれかに記載のコンピュータ・プログラム。
  27. ワークフローを処理するためのシステムであって、
    動作を実行させることができる回路を備え、前記動作は、
    1つまたは複数のデータ管理アクティビティを含むワークフローを受信するステップと、
    前記1つまたは複数のデータ管理アクティビティの記述を含むワークフロー記述を前記ワークフローから生成するステップと、
    1つまたは複数のデータ管理動作を前記ワークフロー記述から生成するステップと、
    1つまたは複数のデータ管理システムに対して前記1つまたは複数のデータ管理動作を実行するステップと、
    を含む、システム。
  28. 少なくとも1つのデータ管理アクティビティがセット参照を含む、請求項27に記載のシステム。
  29. 1つまたは複数のライフ・サイクル属性が前記セット参照に関連付けられる、請求項28に記載のシステム。
  30. 前記セット参照が、ビジネス・プロセス変数またはビジネス・プロセス変数の一部へのマッピングを含む、請求項28または29に記載のシステム。
  31. 少なくとも1つのデータ管理アクティビティが入力パラメータとしてビジネス・プロセス変数を含む、請求項27ないし30のいずれかに記載のシステム。
  32. 少なくとも1つのデータ管理アクティビティが出力パラメータとしてビジネス・プロセス変数を含む、請求項27ないし31のいずれかに記載のシステム。
  33. 少なくとも1つのデータ管理アクティビティがデータ・ソース定義を含む、請求項27ないし32のいずれかに記載のシステム。
  34. 前記データ・ソース定義が、ビジネス・プロセス変数またはビジネス・プロセス変数の一部へのデータ・ソースのマッピングを含む、請求項33に記載のシステム。
  35. 前記動作が、前記1つまたは複数のデータ管理システムから結果を受信するステップをさらに含む、請求項27ないし34のいずれかに記載のシステム。
  36. 第1のデータ管理アクティビティがセット参照を定義し、第2のデータ管理アクティビティが前記セット参照を使用する、請求項27ないし35のいずれかに記載のシステム。
  37. 前記データ管理動作が照会を含む、請求項27ないし36のいずれかに記載のシステム。
  38. 各データ管理アクティビティが、前記1つまたは複数のデータ管理アクティビティのうちの1つに対応する、請求項27ないし37のいずれかに記載のシステム。
  39. 前記動作が、新しいデータ管理アクティビティの作成を可能にするステップをさらに含む、請求項27ないし38のいずれかに記載のシステム。
JP2007557482A 2005-03-01 2006-02-27 ワークフローを処理するための方法、コンピュータ・プログラム、およびシステム(ワークフロー・システムへのデータ管理動作の統合) Expired - Fee Related JP5065056B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/070,529 2005-03-01
US11/070,529 US7496887B2 (en) 2005-03-01 2005-03-01 Integration of data management operations into a workflow system
PCT/EP2006/060293 WO2006092388A1 (en) 2005-03-01 2006-02-27 Integration of data management operations into a workflow system

Publications (3)

Publication Number Publication Date
JP2008532154A true JP2008532154A (ja) 2008-08-14
JP2008532154A5 JP2008532154A5 (ja) 2009-02-05
JP5065056B2 JP5065056B2 (ja) 2012-10-31

Family

ID=36642797

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007557482A Expired - Fee Related JP5065056B2 (ja) 2005-03-01 2006-02-27 ワークフローを処理するための方法、コンピュータ・プログラム、およびシステム(ワークフロー・システムへのデータ管理動作の統合)

Country Status (5)

Country Link
US (2) US7496887B2 (ja)
EP (1) EP1859399A1 (ja)
JP (1) JP5065056B2 (ja)
CN (1) CN101116095A (ja)
WO (1) WO2006092388A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011065458A (ja) * 2009-09-17 2011-03-31 Toshiba Tec Corp ワークフロー表示支援装置及びワークフロー表示プログラム

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8639542B2 (en) * 2002-06-27 2014-01-28 Siebel Systems, Inc. Method and apparatus to facilitate development of a customer-specific business process model
EP1530139A1 (en) * 2003-11-05 2005-05-11 Sap Ag Method and computer system for workflow management
US9052879B2 (en) * 2005-02-18 2015-06-09 International Business Machines Corporation Mapping assurance method and apparatus for integrating systems
US8332806B2 (en) * 2005-02-18 2012-12-11 International Business Machines Corporation Stepwise template integration method and system
US7496887B2 (en) * 2005-03-01 2009-02-24 International Business Machines Corporation Integration of data management operations into a workflow system
US7831453B2 (en) * 2005-05-05 2010-11-09 Siebel Systems, Inc. Modeling of business process data
US7895070B2 (en) * 2005-05-05 2011-02-22 Siebel Systems, Inc. Providing multiple views of a business process definition to different users
US7809597B2 (en) * 2005-05-05 2010-10-05 Siebel Systems, Inc. Progressive refinement model for business processes
US7707173B2 (en) * 2005-07-15 2010-04-27 International Business Machines Corporation Selection of web services by service providers
UY29761A1 (es) * 2005-08-24 2007-03-30 Du Pont Composiciones que proporcionan tolerancia a múltiples herbicidas y métodos para usarlas
US7499906B2 (en) * 2005-09-05 2009-03-03 International Business Machines Corporation Method and apparatus for optimization in workflow management systems
US9654456B2 (en) * 2006-02-16 2017-05-16 Oracle International Corporation Service level digital rights management support in a multi-content aggregation and delivery system
US8468496B2 (en) * 2006-04-07 2013-06-18 Ricoh Production Print Solutions LLC Flexible attribute management in workflow processing systems
US7823125B2 (en) * 2006-08-25 2010-10-26 Wipro Limited Electronic enabler and prescriptive modular service oriented architecture
US7966599B1 (en) 2006-08-29 2011-06-21 Adobe Systems Incorporated Runtime library including a virtual file system
US8250583B2 (en) 2006-12-04 2012-08-21 International Business Machines Corporation Workflow processing system and method with federated database system support
US20090112932A1 (en) * 2007-10-26 2009-04-30 Microsoft Corporation Visualizing key performance indicators for model-based applications
US20090125553A1 (en) * 2007-11-14 2009-05-14 Microsoft Corporation Asynchronous processing and function shipping in ssis
US20090138249A1 (en) * 2007-11-28 2009-05-28 International Business Machines Corporation Defining operational elements in a business process model
US8321841B2 (en) * 2008-01-08 2012-11-27 International Business Machines Corporation Validation framework for service oriented architecture (SOA) application adoption
US8181155B2 (en) * 2008-02-29 2012-05-15 Microsoft Corporation Unified expression and location framework
US8522260B2 (en) * 2008-09-16 2013-08-27 Microsoft Corporation Integration of runtime environments
CN102236672B (zh) * 2010-05-06 2016-08-24 深圳市腾讯计算机系统有限公司 一种数据导入方法及装置
US9584949B2 (en) * 2011-01-27 2017-02-28 Microsoft Technology Licensing, Llc Cloud based master data management architecture
US9128768B2 (en) * 2011-01-27 2015-09-08 Microsoft Technology Licensing, LCC Cloud based master data management
US20130282761A1 (en) * 2012-04-18 2013-10-24 Salesforce.Com, Inc. System and method for entity shape abstraction in an on demand environment
US20140108189A1 (en) * 2012-10-11 2014-04-17 Rolf Schumann Real-Time Cross-Selling Proposal Calculation
US9311134B1 (en) * 2014-09-29 2016-04-12 International Business Machines Corporation Automated creation of executable workflow
US10101995B2 (en) 2016-07-15 2018-10-16 Microsoft Technology Licensing, Llc Transforming data manipulation code into data workflow
US10216491B2 (en) * 2016-09-16 2019-02-26 Oracle International Corporation Controlled availability of objects in a visual design tool for integration development
US10929202B2 (en) 2016-09-16 2021-02-23 Oracle International Corporation Cloud service notifications
WO2019136001A1 (en) * 2018-01-08 2019-07-11 Arconic Inc. Improved computer processing based on data taxonomy-driven workflow processing and computer systems configured for utilizing thereof
US11062246B2 (en) 2018-04-16 2021-07-13 Bank Of America Corporation Enterprise framework for efficient and adaptable workflow application data distribution
US10846204B2 (en) * 2018-04-20 2020-11-24 Microsoft Technology Licensing, Llc Remediation of design time and runtime workflow errors
CN109741026A (zh) * 2018-12-27 2019-05-10 北京字节跳动网络技术有限公司 基于活动对的流程引擎处理方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002041744A (ja) * 2000-07-27 2002-02-08 Ranseputo Kk ワークフロー処理方法及びワークフロー処理システム
JP2003346023A (ja) * 2002-05-23 2003-12-05 Masukitto Kk 受発注処理システム
JP2004046895A (ja) * 2003-09-08 2004-02-12 Toshiba Corp ワークフロー変換方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003528358A (ja) 1998-08-24 2003-09-24 富士通株式会社 ワークフローシステムおよび方法
US6606740B1 (en) * 1998-10-05 2003-08-12 American Management Systems, Inc. Development framework for case and workflow systems
WO2001003037A2 (en) 1999-07-01 2001-01-11 Microsoft Corporation Workflow method and system
WO2002019228A1 (en) * 2000-09-01 2002-03-07 Togethersoft Corporation Methods and systems for improving a workflow based on data mined from plans created from the workflow
US20020032692A1 (en) * 2000-09-08 2002-03-14 Atsuhito Suzuki Workflow management method and workflow management system of controlling workflow process
US7027997B1 (en) * 2000-11-02 2006-04-11 Verizon Laboratories Inc. Flexible web-based interface for workflow management systems
US7054862B2 (en) 2001-06-29 2006-05-30 International Business Machines Corporation Method and system for long-term update and edit control in a database system
US6920456B2 (en) 2001-07-30 2005-07-19 International Business Machines Corporation Method, system, and program for maintaining information in database tables and performing operations on data in the database tables
US7337124B2 (en) * 2001-08-29 2008-02-26 International Business Machines Corporation Method and system for a quality software management process
US20030074342A1 (en) 2001-10-11 2003-04-17 Curtis Donald S. Customer information management infrastructure and methods
US20040003353A1 (en) * 2002-05-14 2004-01-01 Joey Rivera Workflow integration system for automatic real time data management
US7653562B2 (en) * 2002-07-31 2010-01-26 Sap Aktiengesellschaft Workflow management architecture
US7350188B2 (en) * 2002-07-31 2008-03-25 Sap Aktiengesellschaft Aggregation of private and shared workflows
TW200419413A (en) 2003-01-13 2004-10-01 I2 Technologies Inc Master data management system for centrally managing core reference data associated with an enterprise
WO2004114061A2 (en) 2003-06-12 2004-12-29 Reuters America Business process automation through the use of workflow
CN1799059B (zh) 2003-06-26 2010-08-18 国际商业机器公司 用于将提供商产品包自动转换成资源管理系统可执行的客户特定的服务环境定义的方法和系统
FI118102B (fi) 2003-07-04 2007-06-29 Medicel Oy Informaationhallintajärjestelmä työvirtojen hallitsemiseksi
US7386577B2 (en) * 2004-02-04 2008-06-10 International Business Machines Corporation Dynamic determination of transaction boundaries in workflow systems
US20050209841A1 (en) 2004-03-22 2005-09-22 Andreas Arning Optimization of process properties for workflows with failing activities
US7496887B2 (en) * 2005-03-01 2009-02-24 International Business Machines Corporation Integration of data management operations into a workflow system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002041744A (ja) * 2000-07-27 2002-02-08 Ranseputo Kk ワークフロー処理方法及びワークフロー処理システム
JP2003346023A (ja) * 2002-05-23 2003-12-05 Masukitto Kk 受発注処理システム
JP2004046895A (ja) * 2003-09-08 2004-02-12 Toshiba Corp ワークフロー変換方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011065458A (ja) * 2009-09-17 2011-03-31 Toshiba Tec Corp ワークフロー表示支援装置及びワークフロー表示プログラム

Also Published As

Publication number Publication date
US7890922B2 (en) 2011-02-15
EP1859399A1 (en) 2007-11-28
JP5065056B2 (ja) 2012-10-31
US20090119639A1 (en) 2009-05-07
CN101116095A (zh) 2008-01-30
WO2006092388A1 (en) 2006-09-08
US20060200797A1 (en) 2006-09-07
US7496887B2 (en) 2009-02-24

Similar Documents

Publication Publication Date Title
JP5065056B2 (ja) ワークフローを処理するための方法、コンピュータ・プログラム、およびシステム(ワークフロー・システムへのデータ管理動作の統合)
US20220300499A1 (en) Metadata-based general request translator for distributed computer systems
US7953767B2 (en) Developing applications using configurable patterns
US7366723B2 (en) Visual query modeling for configurable patterns
US7370335B1 (en) System and method for providing a public application program interface
RU2425417C2 (ru) Платформа для служб передачи данных между несопоставимыми объектными сруктурами приложений
US8312382B2 (en) Developing and executing applications with configurable patterns
KR101665152B1 (ko) 컴퓨팅 장치, 비즈니스 데이터의 획득 방법 및 컴퓨터 판독 가능 저장 매체
US8126937B2 (en) Visual database modeling
US7984417B2 (en) Meta-model information associated with an enterprise portal
US7873591B2 (en) User-interface architecture for manipulating business models
US20150046524A1 (en) Data Management for Mobile Data System
US20060112123A1 (en) Spreadsheet user-interfaced business data visualization and publishing system
US20050071805A1 (en) Developing applications using a metamodel
US11593324B2 (en) Reversible data transforms
US20090006987A1 (en) Visual design tools for portal content creation
US20150339337A1 (en) Service registry for saving and restoring a faceted selection
US20090055367A1 (en) System and program products for pruning objects in a service registry and repository
US20050267913A1 (en) Detecting and handling changes to back-end systems
CN117193802A (zh) 提供对应用程序内容多个实例的访问的合并空间
Borkar et al. XML data services
US20200133933A1 (en) Augmentation playback
US20050060309A1 (en) Query objects
Borkar Liquid data for WebLogic: integrating enterprise data and services
Rostanin et al. Managing the data in electronic learning systems

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081208

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111108

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120203

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120809

R150 Certificate of patent or registration of utility model

Ref document number: 5065056

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150817

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees