JP2009271839A - Information processing system, information processing method, program and recording medium - Google Patents
Information processing system, information processing method, program and recording medium Download PDFInfo
- Publication number
- JP2009271839A JP2009271839A JP2008123443A JP2008123443A JP2009271839A JP 2009271839 A JP2009271839 A JP 2009271839A JP 2008123443 A JP2008123443 A JP 2008123443A JP 2008123443 A JP2008123443 A JP 2008123443A JP 2009271839 A JP2009271839 A JP 2009271839A
- Authority
- JP
- Japan
- Prior art keywords
- workflow
- web application
- server
- update
- database
- 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
Links
- 230000010365 information processing Effects 0.000 title claims description 39
- 238000003672 processing method Methods 0.000 title claims 5
- 238000011084 recovery Methods 0.000 claims abstract description 49
- 238000012545 processing Methods 0.000 claims description 77
- 238000000034 method Methods 0.000 claims description 47
- 230000008569 process Effects 0.000 claims description 38
- 239000000725 suspension Substances 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 10
- 238000005096 rolling process Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 230000000694 effects Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
本発明は、ウェブアプリケーション(業務アプリケーション)が動作するウェブアプリケーションサーバと、ワークフローサーバとがネットワークを介して疎結合に構成される情報処理システムに関し、特に障害発生時の制御に関する。 The present invention relates to an information processing system in which a web application server on which a web application (business application) runs and a workflow server are loosely coupled via a network, and more particularly to control when a failure occurs.
疎結合システム(例えば、ウェブアプリケーションとワークフローアプリケーション等で構成されるシステム)において、障害時のデータの整合性を保つことは非常に困難である。 In a loosely coupled system (for example, a system composed of a web application and a workflow application), it is very difficult to maintain data consistency at the time of failure.
一般的には、密結合したアプリケーション同士であれば、全てのアプリケーションが2フェーズコミットに対応するなどして、データの原子性(トランザクションが終了した時点で、全ての処理が完了(コミット)しているか、全く行われていないか(ロールバック)のいずれかの状態であること。)を高い確率で保つようにすることが出来る。 In general, between tightly coupled applications, all applications support 2-phase commit, etc., and the data atomicity (all processing is completed (committed) when the transaction ends). It is possible to maintain a high probability of being in a state of being in a state of being rolled back or not being performed at all).
ただし、この場合でも、通信障害が発生するなどの現象により、データの整合性を完全に保証することは出来ない。 However, even in this case, data consistency cannot be completely guaranteed due to a phenomenon such as a communication failure.
特許文献1には、ワークフロー状態とアプリケーションの状態との整合を維持できるようにすることが示されているが、前述のような、通信障害によりデータの不整合が発生する可能性はあり、また不整合状態からのリカバリ手順は示されていない。
しかしながら、互いに独立性の強い疎結合のアプリケーション同士だと、全体のトランザクションをモニタするような役割を担うシステムが無いため、障害時にデータの整合性を保つことがより困難となる。 However, loosely coupled applications that are strongly independent from each other have no system that plays the role of monitoring the entire transaction, making it more difficult to maintain data consistency in the event of a failure.
障害が発生した場合、取り消し処理を行えば、整合性を復旧できるが、取り消すデータの範囲の特定が困難であり、作業も煩雑なものとなる。 If a failure occurs, if cancellation processing is performed, consistency can be restored, but it is difficult to specify the range of data to be canceled, and the work becomes complicated.
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、疎結合なシステムにおいて、障害発生により完全なデータの整合性が実現できない場合、障害発生時のデータ不整合を前提とし、それ以上、データ不整合を拡大させないようにしておき、管理者の操作によって、簡便且つ速やかにデータ不整合を復旧することができる仕組を提供することである。 The present invention has been made to solve the above-described problems. The object of the present invention is to prevent data failure at the time of failure in a loosely coupled system when complete data integrity cannot be realized due to failure. It is based on the premise of consistency, and further prevents the data inconsistency from being expanded, and provides a mechanism that can easily and quickly restore the data inconsistency by the operation of the administrator.
本発明は、ウェブアプリケーションが動作するウェブアプリケーションサーバと、ワークフローサーバとがネットワークを介して疎結合に構成される情報処理システムであって、前記ウェブアプリケーションサーバは、前記ウェブアプリケーションサーバが管理するウェブアプリケーションデータベースを更新するウェブアプリケーションデータベース更新手段と、前記ウェブアプリケーションデータベース更新手段による更新の後、前記ワークフローサーバに対し、該ワークフローサーバが管理するワークフローデータベースのワークフロー状態を更新させるための更新指示を行うワークフローデータベース更新指示手段と、前記ワークフローサーバからワークフロー状態が正常に更新された旨の更新結果を受信した場合、前記更新手段により更新されたウェブアプリケーションデータベースに対しコミット処理するコミット処理手段と、前記コミット処理手段による前記コミット処理が正常に完了した場合、前記ワークフローサーバに対し前記ワークフローデータベースの一時停止状態の解除を指示し、一方、前記コミット処理手段によるコミット処理がエラーとなった場合、前記ワークフローサーバに対し前記ワークフローデータベースの一時停止状態の解除を指示しない一時停止解除指示制御手段と、前記ワークフローサーバは、前記ウェブアプリケーションサーバからの更新指示に応じて、前記ワークフローデータベースのワークフロー状態を更新するワークフローデータベース更新手段と、前記ワークフローデータベース更新手段により更新されたワークフローデータベースを一時停止状態にする一時停止手段と、前記一時停止手段により一時停止状態にされたワークフローデータベースに対しコミット処理した後、前記ウェブアプリケーションサーバへ更新結果を通知する更新結果通知手段と、前記ウェブアプリケーションサーバからの一時停止解除指示に応じて、前記ワークフローデータベースの一時停止状態を解除する一時停止解除手段とを有することを特徴とする。 The present invention is an information processing system in which a web application server on which a web application operates and a workflow server are configured to be loosely coupled via a network, the web application server being managed by the web application server Web application database updating means for updating the database, and a workflow database for instructing the workflow server to update the workflow state of the workflow database managed by the workflow server after updating by the web application database updating means When receiving an update instruction means and an update result indicating that the workflow state has been normally updated from the workflow server, the update means A commit processing unit that performs a commit process on the updated web application database, and when the commit process by the commit processing unit is normally completed, the workflow server is instructed to release the suspended state of the workflow database, On the other hand, if the commit processing by the commit processing unit results in an error, the suspension cancellation instruction control unit that does not instruct the workflow server to cancel the suspension state of the workflow database, and the workflow server includes the web application server In response to an update instruction from the workflow database, a workflow database update unit that updates a workflow state of the workflow database, and workflow data updated by the workflow database update unit A suspension means for temporarily suspending the service, and an update result notifying means for notifying the web application server of the update result after commit processing is performed on the workflow database that has been suspended by the suspension means, In accordance with a pause cancellation instruction from the web application server, the system has a pause cancellation means for canceling the pause state of the workflow database.
本発明によれば、疎結合なシステムにおいて、障害により、データ不整合が発生した場合、それ以上、データ不整合を拡大させないようにし、管理者の操作によって、速やかにデータ不整合を回復させることができる等の効果を奏する。 According to the present invention, when a data inconsistency occurs due to a failure in a loosely coupled system, the data inconsistency is not further expanded, and the data inconsistency can be quickly recovered by the operation of the administrator. There is an effect such as being able to.
図1は、本発明の一実施形態を示す情報処理システムの一例を示すシステム構成図である。本例では、基幹業務におけるワークフローアプリケーションの構成を示す。 FIG. 1 is a system configuration diagram showing an example of an information processing system showing an embodiment of the present invention. In this example, the configuration of the workflow application in the core business is shown.
図1において、001,002はアプリケーションサーバ(ウェブアプリケーションサーバ)である。アプリケーションサーバ1(001),アプリケーションサーバ2(002)は、業務処理(例えば、受注システム,出荷システム等)の業務アプリケーション(ウェブアプリケーション)を実行する。そして、アプリケーションサーバ1(001)、アプリケーションサーバ2(002)は、アプリケーションDB005(ウェブアプリケーションデータベース)に、上記業務データ(受注情報、在庫情報、出荷情報)を格納する。 In FIG. 1, 001, 002 is an application server (web application server). The application server 1 (001) and the application server 2 (002) execute a business application (web application) for business processing (for example, an order receiving system, a shipping system, etc.). The application server 1 (001) and the application server 2 (002) store the business data (order information, inventory information, shipping information) in the application DB 005 (web application database).
ワークフローサーバ003は、ワークフロー経路情報に従って、ワークフロー操作(承認、否認、差戻し等)処理を行い、ワークフローDB004(ワークフローデータベース)に、その情報を保管する。
The
クライアントブラウザ006は、クライアント端末でウェブクライアントとして動作するウェブブラウザを示す。クライアントブラウザ006は、ユーザの指示に従って、ネットワーク007を介してアプリケーションサーバ1(001)、アプリケーションサーバ2(002)、ワークフローサーバ003に通信し、アプリケーション処理を行う。
The
本情報処理システムは、独立性の高い業務アプリケーションとワークフローアプリケーションより構成されている疎結合システムである。なお、一般に、疎結合とは、細分化された個々のコンポーネント同士の結びつきが比較的緩やかで、独立性が強い状態のことをいう。 This information processing system is a loosely coupled system composed of highly independent business applications and workflow applications. In general, loose coupling refers to a state in which the individual components that are subdivided are relatively loosely connected and strongly independent.
なお、図中、001〜006は、それぞれ異なる情報処理装置に実装されてもよいし、いずれか又は全てが同一の情報処理装置に実装される構成であってもよい。 In the figure, 001 to 006 may be mounted on different information processing apparatuses, or any or all of them may be mounted on the same information processing apparatus.
図2は、図1に示した情報処理システムを構成する各装置に適用可能な情報処理装置のハードウェア構成の一例を示すブロック図である。 FIG. 2 is a block diagram illustrating an example of a hardware configuration of an information processing apparatus applicable to each apparatus configuring the information processing system illustrated in FIG.
図2において、101はCPUであり、ROM103或いは外部記憶装置(ハードディスク(HD)等)104に記憶されている制御プログラムに基づいて、システムバスに接続されている各種デバイスとのアクセスを総括的に制御する。 In FIG. 2, reference numeral 101 denotes a CPU, which comprehensively accesses various devices connected to the system bus based on a control program stored in a ROM 103 or an external storage device (hard disk (HD) or the like) 104. Control.
102はRAMで、CPU101の主メモリ、ワークエリア等として機能する。ROM103或いはHD104には、CPU101の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステム(OS)プログラム、後述するフローチャートに示す処理をCPUに実行させるために必要な各種プログラム等が記憶されている。そして、CPU101は、必要なプログラム等をRAM102にロードして実行することにより、各種機能を実現するものである。 Reference numeral 102 denotes a RAM that functions as a main memory, work area, and the like for the CPU 101. The ROM 103 or HD 104 stores a BIOS (Basic Input / Output System) or an operating system (OS) program, which is a control program for the CPU 101, and various programs necessary for causing the CPU to execute the processes shown in the flowcharts to be described later. Yes. The CPU 101 implements various functions by loading necessary programs and the like into the RAM 102 and executing them.
また、105は、キーボードやマウス等の入力装置である。106は、LCDやCRT等の表示装置である。107はネットワークインタフェースカード(NIC)であり、LAN,WAN等のネットワーク007を介して、他の装置と通信可能に構成されている。
Reference numeral 105 denotes an input device such as a keyboard or a mouse. Reference numeral 106 denotes a display device such as an LCD or CRT. A network interface card (NIC) 107 is configured to be able to communicate with other apparatuses via a
以下、図3のシーケンスチャートを参照して、業務処理を業務アプリケーションで行い、ワークフローサーバでワークフロー処理をする場合の処理手順を示す。本処理は、クライアントから入力される要求に従って開始される。ここでは、受注システムの受注承認、在庫引当処理を行う場合を例にあげる。 Hereinafter, with reference to the sequence chart of FIG. 3, a processing procedure in the case where the business processing is performed by the business application and the workflow processing is performed by the workflow server will be described. This process is started according to a request input from the client. Here, an example is given of the case where order acceptance processing and inventory allocation processing are performed by the order acceptance system.
図3,図4は、業務処理を業務アプリケーションで行いワークフローサーバでワークフロー処理をする場合の処理手順の一例を示すシーケンスチャートである。なお、図3はエラー発生しても各DB間に不整合が発生しない場合に対応する。一方、図4はエラー発生により各DB間に不整合が発生する場合に対応する。また、図3,図4において同一の処理には同一の番号を付してある。 3 and 4 are sequence charts showing an example of a processing procedure when business processing is performed by a business application and workflow processing is performed by the workflow server. FIG. 3 corresponds to the case where no mismatch occurs between the DBs even if an error occurs. On the other hand, FIG. 4 corresponds to the case where inconsistency occurs between the DBs due to the occurrence of an error. In FIG. 3 and FIG. 4, the same number is assigned to the same process.
さらに、図3,図4のシーケンスチャートで、アプリケーションサーバの処理は、アプリケーションサーバ(例えば、アプリケーションサーバ1(001))を実装する情報処理装置のCPU101が、外部記憶装置104に記憶されるプログラムをRAM102にロードして実行することにより実現されるものであり、以下、アプリケーションサーバが実行すると記載する。また、ワークフローサーバ003の処理は、ワークフローサーバを実装する情報処理装置のCPU101が、外部記憶装置104に記憶されるプログラムをRAM102にロードして実行することにより実現されるものであり、以下、ワークフローサーバ003が実行すると記載する。
Furthermore, in the sequence charts of FIGS. 3 and 4, the processing of the application server is performed by a program stored in the external storage device 104 by the CPU 101 of the information processing device that implements the application server (for example, application server 1 (001)). It is realized by being loaded into the RAM 102 and executed, and hereinafter, described as being executed by the application server. Further, the processing of the
まず、図3を用いて説明する。 First, it demonstrates using FIG.
まず、図3において、S2001では、アプリケーションサーバ(例えば、アプリケーションサーバ1(001))は、アプリケーションDB005にトランザクションの開始を指示する。
First, in FIG. 3, in S2001, the application server (for example, application server 1 (001)) instructs the
S2002において、アプリケーションサーバは、アプリケーションDB005にデータを書き込む。例えば、受注情報の保管、在庫引当による商品在庫数の減少などデータ更新をする。
In S2002, the application server writes data to the
次に、S2003において、アプリケーションサーバは、承認処理をワークフローサーバ003に案件番号とともに要求する。ここで伝票番号は、予め、ワークフローサーバ003の処理待ち一覧画面からアプリケーションサーバに受け渡されているものとする。
Next, in S2003, the application server requests the approval process together with the case number from the
次に、S2004において、ワークフローサーバ003は、アプリケーションサーバからの承認処理要求(S2003)を受け、ワークフロー情報を格納しているワークフローDB004にトランザクションの開始を指示する。
In step S2004, the
S2005において、ワークフローサーバ003は、承認処理のためワークフローDB004のアプリケーションサーバから渡された案件番号に関連するデータ(案件)を更新する。
In step S2005, the
さらに、S2006において、ワークフローサーバ003は、ワークフローDB004が管理する案件の状態をsuspend状態に変更する。
In step S2006, the
S2007において、ワークフローサーバ003は、ワークフローDB004にコミットを指示する。コミットとは、トランザクション処理が成功したときに、その結果を確定させることをいう。ここでは、更新されたワークフローDB004の結果を確定する指示を行っている。
In step S2007, the
なお、S2005〜S2007において、ワークフローサーバ003、又は、ワークフローDB004においてエラーが発生した場合、ワークフローサーバ003は、ワークフローDB004にロールバック処理をして、アプリケーションサーバにエラー発生を通知するものとする。この通知を受けて、アプリケーションサーバは、アプリケーションDB005をロールバック処理することができる。なお、上記エラーは、例えば、ワークフローDB004に障害が発生した場合に発生する。
In S2005 to S2007, when an error occurs in the
S2005〜S2007の処理が正常終了した場合、S2008において、ワークフローサーバ003は、承認処理が完了したことをアプリケーションサーバへ通知する。
When the processes in S2005 to S2007 are normally completed, in S2008, the
この通知を受信することにより正常終了を確認したアプリケーションサーバは、S2009において、アプリケーションDB005にコミットを指示する。
In step S2009, the application server that has confirmed the normal termination by receiving this notification instructs the
そして、S2009で指示したアプリケーションDB005のコミットが完了した場合、S2010において、アプリケーションサーバは、ワークフローサーバ003に、案件の状態をsuspend状態からresume状態に変更することを、案件番号とともに要求する。
When the commit of the
そして、S2011において、ワークフローサーバ003は、ワークフローDB004が管理する案件の状態をsuspend状態からresume状態に変更する。
In step S2011, the
ここで、上記案件の状態を示すresume状態、suspend状態について説明する。 Here, the resume state and the suspend state indicating the state of the case will be described.
ワークフローサーバ003で管理する案件は、常にresume状態あるいは、suspend状態の何れかとなるように、該案件の状態がワークフローDB004に保持されている。ワークフローサーバ003は、案件について操作する場合(承認、否決、差戻し、引戻しなど)、この案件の状態が、resume状態でなければ操作できずエラーとなる。即ち、resume状態とは、案件を操作可能な状態(完了)を示す。一方、suspend状態とは、案件を操作できない状態(一時停止)を示す。
The status of the matter managed by the
なお、図3に示したシーケンスで、ネットワークや機器不具合によるエラーが発生した場合、アプリケーションDB005とワークフローDB004のデータで不整合が発生する場合がある。
Note that in the sequence shown in FIG. 3, when an error due to a network or device failure occurs, inconsistency may occur in the data of the
S2001〜S2007でエラーが発生した場合、上述したようにアプリケーションDB005、ワークフローDB004ともにロールバック処理をするため、それぞれのDB内容の不整合は発生しない。
If an error occurs in S2001 to S2007, both the
即ち、アプリケーションDB005がロールバックされるだけではなく、ワークフローDB004においても承認がなされず、ワークフロー処理が進まないため不整合が生じない。従って、このようなケースにおいては、本願発明の解決すべき課題は発生しない。
That is, not only the
次に、図4を用いて、エラー発生により、アプリケーションDB005、ワークフローDB004の内容に不整合が発生してしまう場合について説明する。
Next, a case where inconsistency occurs in the contents of the
図4のS2110に示すように、S2009においてアプリケーションサーバが実行したコミット処理でエラーが発生した場合、S2111に示すように、アプリケーションDB005はロールバックされる。一方、ワークフローDB004は、S2005において承認済みとなっており、アプリケーションDB005とワークフローDB004との間での不整合が生じてしまう。
As shown in S2110 of FIG. 4, when an error occurs in the commit process executed by the application server in S2009, the
しかし、案件の状態はsuspend状態(S2006)のままであるため、ワークフローサーバ003は、当該案件に対して、他の操作は行うことはできないため、さらに承認処理を継続して先に進めることは不可能になる。
However, since the state of the matter remains in the suspend state (S2006), the
以下、図5のフローチャートを参照して、図3に示したエラー発生しても各DB間に不整合が発生しない場合のアプリケーションサーバの処理について説明する。 Hereinafter, with reference to the flowchart of FIG. 5, processing of the application server when no inconsistency occurs between the DBs even when the error illustrated in FIG. 3 occurs will be described.
図5は、アプリケーションサーバ(例えば、アプリケーションサーバ1(001))の動作の一例を示すフローチャートである。なお、このフローチャートの各ステップ(S2201〜S2217)は、アプリケーションサーバ(例えば、アプリケーションサーバ1(001))を実装する情報処理装置のCPU101が、外部記憶装置104に記憶されるプログラムをRAM102にロードして実行することにより実現されるものであり、以下、アプリケーションサーバが実行すると記載する。 FIG. 5 is a flowchart showing an example of the operation of the application server (for example, application server 1 (001)). In each step (S2201 to S2217) in this flowchart, the CPU 101 of the information processing apparatus that implements the application server (for example, application server 1 (001)) loads the program stored in the external storage device 104 into the RAM 102. In the following description, the application server executes.
S2201において、アプリケーションサーバは、セッション内のリカバリモードがtrueであるかチェックする。図3,図4のように通常の処理の場合、S2201の判断は偽(N)となる。アプリケーションサーバは、S2201において、リカバリモードでないと判断し、S2202に処理を進める。 In S2201, the application server checks whether the recovery mode in the session is true. In the case of normal processing as shown in FIGS. 3 and 4, the determination in S2201 is false (N). In S2201, the application server determines that it is not in the recovery mode, and advances the process to S2202.
S2202において、アプリケーションサーバは、アプリケーションサーバ側のメモリで保持管理するワークフロー状態(案件番号、処理情報等を含む)を初期化する。アプリケーションサーバは、案件番号を、ワークフローサーバ003から予め受け取った現在処理対象の案件の案件番号で初期化する。また、アプリケーションサーバは、現在処理対象の案件の処理状態を示す処理状態を、「未処理」(ここでは処理前なので「未処理」)で初期化する。
In step S2202, the application server initializes a workflow state (including a case number and processing information) that is held and managed in the memory on the application server side. The application server initializes the matter number with the matter number of the matter to be processed currently received from the
次に、S2203において、アプリケーションサーバは、S2202で初期化したワークフロー状態のコピーを別途、アプリケーションサーバ側のメモリに保存しておく。 Next, in S2203, the application server separately saves a copy of the workflow state initialized in S2202 in the memory on the application server side.
次に、S2204では、アプリケーションサーバは、図3のS2001の通り、アプリケーションDB005にトランザクションの開始を指示する。
In step S2204, the application server instructs the
次に、S2205において、アプリケーションサーバは、図3のS2002の通り、アプリケーションDB005の更新処理をする。また、アプリケーションサーバ上のログにDB更新データログを出力する(図6)。
Next, in S2205, the application server performs update processing of the
図6は、図5のS2205で出力されるログの出力例(DB更新データログ)を示す図である。 FIG. 6 is a diagram showing an output example (DB update data log) of the log output in S2205 of FIG.
次に、S2206において、アプリケーションサーバは、S2205の処理でエラーが発生したか判断し、エラーが発生したと判断した場合には、S2207において、アプリケーションDB005をロールバックし、処理を終了する。
Next, in S2206, the application server determines whether an error has occurred in the processing of S2205. If it is determined that an error has occurred, the application server rolls back the
一方、S2206において、S2205の処理でエラーが発生していないと判断した場合には、アプリケーションサーバは、S2208に処理を進める。 On the other hand, if it is determined in S2206 that no error has occurred in the process of S2205, the application server advances the process to S2208.
S2208では、アプリケーションサーバは、セッション内のリカバリモードがtrueであるかチェックし、図3,図4の場合、リカバリモードがtrueでないので(通常モードであるので)、ワークフロー処理を行うため次のS2209に処理を進める。 In S2208, the application server checks whether the recovery mode in the session is true. In the case of FIGS. 3 and 4, since the recovery mode is not true (because of the normal mode), the next S2209 is performed to perform the workflow processing. Proceed with the process.
S2209では、アプリケーションサーバは、ワークフロー処理(承認処理)をワークフローサーバ003に指示し(図3のS2003)、S2210に処理を進める。
In S2209, the application server instructs the
S2210では、アプリケーションサーバは、ワークフロー処理が完了したため、ワークフロー処理状態を「処理済み」に変更する。ワークフロー処理状態は、後述する、クライアントに表示するボタンの状態(有効、無効)の判断などに使用するためにある。このワークフロー処理状態を使用して、例えば、一度、承認処理を行った後の、処理後の画面では、承認ボタンを無効化すること等ができる。 In step S2210, the application server changes the workflow processing state to “processed” because the workflow processing has been completed. The workflow processing state is for use in determining the state (valid or invalid) of a button displayed on the client, which will be described later. Using this workflow processing state, for example, the approval button can be invalidated on the screen after processing once the approval processing has been performed.
次に、S2211において、アプリケーションサーバは、ワークフロー処理の完了を確認したら(図3のS2008)、アプリケーションDB005にコミットを指示する(図3のS2009)。
Next, in S2211, when the application server confirms the completion of the workflow processing (S2008 in FIG. 3), the application server instructs the
次に、S2212において、アプリケーションサーバは、S2211のコミット処理エラーが発生したか判断する。図3に示した場合では、発生しないため、アプリケーションサーバは、S2212を偽(N)と判断し、S2214に処理を進める。 Next, in S2212, the application server determines whether a commit processing error in S2211 has occurred. In the case illustrated in FIG. 3, since it does not occur, the application server determines that S2212 is false (N), and advances the processing to S2214.
S2214では、アプリケーションサーバは、動作モードがリカバリモードかどうか判断する。図3のように通常の処理の場合、S2214の判断は偽(N)となる。アプリケーションサーバは、S2214において、リカバリモードでないと判断した場合には、S2215において、ワークフローサーバ003に、案件の状態をsuspend状態からresume状態に変更する(一時停止状態を解除する)ことを、案件番号とともに要求する。そして、本フローチャートの処理を終了する。
In S2214, the application server determines whether the operation mode is the recovery mode. In the case of normal processing as shown in FIG. 3, the determination in S2214 is false (N). If the application server determines in S2214 that it is not in the recovery mode, in S2215, the
以上、図3のS2001〜S2011に示したエラー発生しても各DB間に不整合が発生しない場合のアプリケーションサーバの処理を説明した。 As described above, the processing of the application server when the inconsistency does not occur between the DBs even when the error shown in S2001 to S2011 in FIG. 3 has been described.
以下、図5のフローチャートを参照して、図4に示したエラー発生により各DB間に不整合が発生してしまう場合のアプリケーションサーバの処理について説明する。 Hereinafter, with reference to the flowchart of FIG. 5, processing of the application server when inconsistency occurs between the DBs due to the occurrence of the error illustrated in FIG. 4 will be described.
S2201〜S2211は、前述の図3の場合と同一であるので、説明は省略する。 S2201 to S2211 are the same as those in the case of FIG.
次に、S2212において、アプリケーションサーバは、S2211のコミット処理エラーが発生したか判断する。図4はコミット処理エラーが発生した場合であるため、アプリケーションサーバは、S2212を真(Y)と判断し、S2213に処理を進める。 Next, in S2212, the application server determines whether a commit processing error in S2211 has occurred. Since FIG. 4 shows a case where a commit processing error has occurred, the application server determines that S2212 is true (Y), and advances the processing to S2213.
S2213では、アプリケーションサーバは、アプリケーションDB005のロールバック処理を行う。
In S2213, the application server performs rollback processing of the
次に、S2216において、アプリケーションサーバは、アプリケーションサーバ上のログに、S2203で別途、メモリに保存しておいたワークフロー状態を出力する(図7)。 In step S2216, the application server outputs the workflow state separately stored in the memory in step S2203 to the log on the application server (FIG. 7).
図7は、図5のS2216で出力されるログの出力例(ワークフロー状態ログ)を示す図である。 FIG. 7 is a diagram showing an output example (workflow state log) of the log output in S2216 of FIG.
図7において、601はワークフロー状態ログであり、図5のS2216で出力される保存しておいたワークフロー状態を示すログに対応する。
In FIG. 7,
なお、図5には示していないが、エラーが発生した場合、アプリケーションサーバは、操作者のクライアントブラウザにエラー画面を表示し、システム管理者へ連絡するようにユーザに指示をする。そして、図5のフローチャートの処理を終了する。 Although not shown in FIG. 5, when an error occurs, the application server displays an error screen on the operator's client browser and instructs the user to contact the system administrator. Then, the process of the flowchart of FIG.
即ち、図4に示した場合では、(S2215を実行しないため、)案件の状態はsuspend状態(S2006)のままである。このため、ワークフローサーバ003は、当該案件に対して、他の操作は行うことはできず、データ不整合を拡大させることがない。
In other words, in the case shown in FIG. 4, the state of the case remains in the suspend state (S2006) (since S2215 is not executed). For this reason, the
以上、図4のS2001〜S2009,2110,2111に示したエラー発生により各DB間に不整合が発生する場合のアプリケーションサーバの処理を説明した。 As described above, the processing of the application server when the inconsistency occurs between the DBs due to the occurrence of the error illustrated in S2001 to S2009, 2110, and 2111 in FIG. 4 has been described.
次に、図8を参照して、図4で発生したエラーのリカバリ手順について(図11)に示す。 Next, with reference to FIG. 8, the recovery procedure for the error that occurred in FIG. 4 is shown in FIG.
図8は、図4で発生したエラーのリカバリ手順を示すシーケンスチャートである。 FIG. 8 is a sequence chart showing a recovery procedure for the error that occurred in FIG.
なお、図8のシーケンスチャートで、アプリケーションサーバの処理は、アプリケーションサーバ(例えば、アプリケーションサーバ1(001))を実装する情報処理装置のCPU101が、外部記憶装置104に記憶されるプログラムをRAM102にロードして実行することにより実現されるものであり、以下、アプリケーションサーバが実行すると記載する。また、ワークフローサーバ003の処理は、ワークフローサーバを実装する情報処理装置のCPU101が、外部記憶装置104に記憶されるプログラムをRAM102にロードして実行することにより実現されるものであり、以下、ワークフローサーバ003が実行すると記載する。さらに、クライアントブラウザ006の処理は、クライアントブラウザ006を実装する情報処理装置のCPU101が、外部記憶装置104に記憶されるプログラムをRAM102にロードして実行することにより実現されるものであり、以下、クライアントブラウザ006が実行すると記載する。
In the sequence chart of FIG. 8, the processing of the application server is performed by the CPU 101 of the information processing device that implements the application server (for example, application server 1 (001)) loads the program stored in the external storage device 104 into the RAM 102. In the following, it is described that the application server executes. Further, the processing of the
システム管理者は、ユーザから連絡を受け、アプリケーションサーバ上に出力されているログファイルから、DB更新データログ(図6)とワークフロー状態ログ(図7の601)を抽出する。そして、システム管理者は、DBエラーの原因(例えば、アプリケーションDB005において発生した障害など)を除去したあと次の手順をする。 The system administrator receives a notification from the user and extracts the DB update data log (FIG. 6) and the workflow status log (601 in FIG. 7) from the log file output on the application server. Then, the system administrator removes the cause of the DB error (for example, a failure that has occurred in the application DB 005) and then performs the following procedure.
システム管理者の操作に応じて、クライアントブラウザ006は、S2301において、アプリケーションサーバに、アプリケーションサーバのリカバリ画面(図9)の要求を送信する。
In response to the operation of the system administrator, the
S2302では、アプリケーションサーバは、クライアントブラウザ006からの要求に応じて、リカバリ画面(図9)をクライアントブラウザ006に送信し、クライアントブラウザ006にリカバリ画面(図9)を表示させる。
In S2302, the application server transmits a recovery screen (FIG. 9) to the
図9は、アプリケーションサーバのリカバリ画面の一例を示す図である。 FIG. 9 is a diagram illustrating an example of the recovery screen of the application server.
図9に示すように、クライアントブラウザ006にリカバリ画面が表示されると、システム管理者は、ログファイルから取得したワークフロー状態ログ(図7の601)をリカバリ画面のワークフロー情報項目801に入力する(例えば、コピー&ペーストにより入力する)。さらに、システム管理者によって、リカバリ画面のリカバリモードで遷移ボタン802が押下されると、S2303において、クライアントブラウザ006は、アプリケーションサーバに、ワークフロー情報項目801に入力されたワークフロー状態ログを送信してリカバリモード遷移を要求する。アプリケーションサーバは、クライアントブラウザ006からの要求に基づいて、アプリケーションサーバ上のセッション内のリカバリモードをtrueにセットする。
As shown in FIG. 9, when the recovery screen is displayed on the
次に、S2304において、アプリケーションサーバは、クライアントブラウザ006から受け取ったワークフロー状態ログから、エラー発生時のアプリケーション画面を生成する。
In step S <b> 2304, the application server generates an application screen when an error occurs from the workflow state log received from the
そして、S2305において、アプリケーションサーバは、S2304で生成したアプリケーション画面をクライアントブラウザ006に送信し、クライアントブラウザ006にエラーが発生時のアプリケーション画面(図10)を表示させる。
In step S2305, the application server transmits the application screen generated in step S2304 to the
図10は、アプリケーションサーバのリカバリモードでクライアントブラウザ006に表示されるエラー発生時のアプリケーション画面の一例を示す図である。
FIG. 10 is a diagram showing an example of an application screen when an error occurs displayed on the
システム管理者は、このとき、エラー発生時の処理で、エンドユーザが入力したデータは、エラーによりロールバックされているためシステム管理者が、再度入力する必要がある。なお、再入力する内容は、DB更新データログ(図6)から抽出することができる。 At this time, the system administrator needs to input the data again by the system administrator because the data input by the end user is rolled back due to the error in the processing at the time of occurrence of the error. The content to be re-input can be extracted from the DB update data log (FIG. 6).
システム管理者は、例えば、エラー発生時のアプリケーション画面(図10)の備考901に、DB更新データログ(図6)から取得した更新内容を再入力する。即ち、システム管理者は、前記DB更新データログから取得した更新内容に基づいてエラー発生時と同様の操作を行うことになる。
For example, the system administrator re-inputs the update content acquired from the DB update data log (FIG. 6) in the
S2306において、システム管理者が、エラー発生時のアプリケーション画面(図10)の承認ボタン902を押下すると、この操作を検知したクライアントブラウザ006は、アプリケーションサーバに承認処理の実行を要求する。
In step S2306, when the system administrator presses the approval button 902 on the application screen (FIG. 10) when an error occurs, the
この要求に応じて、アプリケーションサーバは、S2307において、リカバリモード時の処理を実行する。 In response to this request, the application server executes processing in the recovery mode in S2307.
以下、図5のフローチャートを参照して、リカバリモード時のアプリケーションサーバの処理について説明する。 Hereinafter, the processing of the application server in the recovery mode will be described with reference to the flowchart of FIG.
S2201において、アプリケーションサーバは、セッション内のリカバリモードがtrueであるかチェックする。図8の場合、S2201の判断は真(Y)となる。アプリケーションサーバは、S2201において、リカバリモードであると判断し、S2217に処理を進める。 In S2201, the application server checks whether the recovery mode in the session is true. In the case of FIG. 8, the determination in S2201 is true (Y). In S2201, the application server determines that it is in the recovery mode, and advances the process to S2217.
次に、S2217において、アプリケーションサーバは、S2301でシステム管理者がリカバリ画面(図9)から入力したワークフロー状態ログ(図6の601)を読み取り、メモリ上にワークフロー状態オブジェクトを復元する。そして、アプリケーションサーバは、S2204に処理を進める。 In step S2217, the application server reads the workflow state log (601 in FIG. 6) input from the recovery screen (FIG. 9) by the system administrator in step S2301, and restores the workflow state object in the memory. Then, the application server advances the process to S2204.
S2204〜S2207は、前述の図3,図4の場合と同一であるので、説明は省略する。 S2204 to S2207 are the same as those in FIGS.
S2208では、アプリケーションサーバは、セッション内のリカバリモードがtrueであるかチェックし、図8の場合、リカバリモードがtrueであるので、ワークフロー処理は行わないため、そのままS2210に処理を進める。 In S2208, the application server checks whether the recovery mode in the session is true, and in the case of FIG. 8, since the recovery mode is true, the workflow process is not performed, and the process directly proceeds to S2210.
S2210では、アプリケーションサーバは、図3,図4の場合に示した通り、ワークフロー処理状態を「処理済み」に変更する。この処理は、リカバリモードであっても、ワークフロー処理状態に基づいて承認ボタンの有効/無効の判断に使用できるように更新する必要がある。 In step S2210, the application server changes the workflow processing state to “processed” as illustrated in the cases of FIGS. This process needs to be updated so that it can be used to determine whether the approval button is valid or invalid based on the workflow process state even in the recovery mode.
次に、S2211において、アプリケーションサーバは、アプリケーションDB005にコミットを指示する(図3のS2009)。
Next, in S2211, the application server instructs the
次に、S2212において、アプリケーションサーバは、S2211のコミット処理エラーが発生したか判断し、エラーが発生しない場合には、S2214に処理を進める。 Next, in S2212, the application server determines whether or not the commit processing error in S2211 has occurred. If no error has occurred, the application server advances the process to S2214.
S2214では、アプリケーションサーバは、動作モードがリカバリモードかどうか判断する。図8の場合、リカバリモードであるので、案件はresumeせず、そのまま処理を終了する。 In S2214, the application server determines whether the operation mode is the recovery mode. In the case of FIG. 8, since it is in the recovery mode, the matter is not resumed, and the processing is ended as it is.
以上、2201〜2214の手順により、ワークフローサーバ003の状態(ワークフローDB004)とアプリケーションDB005のデータ不整合が解消された状態になる。
As described above, the state of the workflow server 003 (workflow DB 004) and the data inconsistency between the
この後、システム管理者は、クライアントブラウザ006からワークフローの管理画面(図11)にアクセスし、該ワークフローの管理画面(図11)により、702に示すように、該当の案件を選択し、案件再開ボタン701を押下指示する。この操作に応じて、ワークフローサーバ003は、該当の案件の状態(702)を、一時停止状態、即ちsuspend状態からresume状態(完了)に変更する。これにより、以後、当該案件を操作することが可能となる。
Thereafter, the system administrator accesses the workflow management screen (FIG. 11) from the
図11は、ワークフローの管理画面の一例を示す図である。 FIG. 11 is a diagram illustrating an example of a workflow management screen.
以上、説明したように、本実施形態によれば、疎結合なシステムにおいて、図4に示したように、障害発生により完全なデータの整合性が実現できない場合、本実施形態の情報処理システムでは、障害発生時のデータ不整合を前提とし、それ以上、データ不整合を拡大させないようにしておく(suspend状態にしておく)。そして、図8〜図11に示したように、管理者の操作によって、簡便且つ速やかにデータ不整合を復旧することができる。 As described above, according to the present embodiment, in a loosely coupled system, as shown in FIG. 4, when complete data consistency cannot be realized due to a failure, the information processing system of the present embodiment On the premise of data inconsistency at the time of failure occurrence, the data inconsistency is not further expanded (is in a suspended state). Then, as shown in FIGS. 8 to 11, data inconsistency can be easily and quickly restored by the operation of the administrator.
また、リカバリ画面は、通常処理時の画面と同じであり、わざわざリカバリ用の画面を用意していない。そのため、リカバリ用の画面を作成する開発者の負担も減り、また管理者も同じ画面から回復することが可能となるため容易に回復操作をすることができる。 Also, the recovery screen is the same as the screen during normal processing, and no special screen for recovery is prepared. Therefore, the burden on the developer who creates the screen for recovery is reduced, and the administrator can recover from the same screen, so that the recovery operation can be easily performed.
なお、本実施形態の情報処理システムが、アプリケーションサーバ(001,002)、アプリケーションDB005、ワークフローサーバ003とワークフローDB004を備える場合について説明した。しかし、ワークフローサーバ003とワークフローDB004の代わりに、他のアプリケーションサーバ、他のアプリケーションDBを備える構成であってもよい。この構成の場合、上述したような構成により、アプリケーションDB005と他のアプリケーションDBとの整合性がとれるようにする。
Note that the case where the information processing system of the present embodiment includes the application server (001, 002), the
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。 It should be noted that the configuration and contents of the various data described above are not limited to this, and it goes without saying that the various data and configurations are configured according to the application and purpose.
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。 Although one embodiment has been described above, the present invention can take an embodiment as, for example, a system, apparatus, method, program, or recording medium, and specifically includes a plurality of devices. The present invention may be applied to a system including a single device.
以下、図12に示すメモリマップを参照して本発明に係る情報処理システムを構成する各情報処理装置で読み取り可能なデータ処理プログラムの構成について説明する。 The configuration of a data processing program that can be read by each information processing apparatus constituting the information processing system according to the present invention will be described below with reference to the memory map shown in FIG.
図12は、本発明に係る情報処理システムを構成する各情報処理装置で読み取り可能な各種データ処理プログラムを格納する記録媒体(記憶媒体)のメモリマップを説明する図である。 FIG. 12 is a diagram for explaining a memory map of a recording medium (storage medium) for storing various data processing programs that can be read by each information processing apparatus constituting the information processing system according to the present invention.
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。 Although not specifically shown, information for managing a program group stored in the recording medium, for example, version information, creator, etc. is also stored, and information depending on the OS on the program reading side, for example, a program is identified and displayed. Icons may also be stored.
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。 Further, data depending on various programs is also managed in the directory. In addition, when a program or data to be installed is compressed, a program to be decompressed may be stored.
本実施形態における図3,図4,図5,図8に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。 The functions shown in FIGS. 3, 4, 5, and 8 in this embodiment may be performed by a host computer by a program installed from the outside. In this case, the present invention is applied even when an information group including a program is supplied to the output device from a recording medium such as a CD-ROM, a flash memory, or an FD, or from an external recording medium via a network. Is.
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。 As described above, a recording medium in which a program code of software for realizing the functions of the above-described embodiments is recorded is supplied to the system or apparatus, and the computer (or CPU or MPU) of the system or apparatus is stored in the recording medium. It goes without saying that the object of the present invention can also be achieved by reading and executing the program code.
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。 In this case, the program code itself read from the recording medium realizes the novel function of the present invention, and the recording medium storing the program code constitutes the present invention.
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,DVD−ROM,磁気テープ,不揮発性のメモリカード,ROM,EEPROM,シリコンディスク等を用いることができる。 As a recording medium for supplying the program code, for example, a flexible disk, hard disk, optical disk, magneto-optical disk, CD-ROM, CD-R, DVD-ROM, magnetic tape, nonvolatile memory card, ROM, EEPROM, A silicon disk or the like can be used.
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an OS (operating system) or the like running on the computer based on the instruction of the program code. It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included.
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 Furthermore, after the program code read from the recording medium is written in a memory provided in a function expansion board inserted in the computer or a function expansion unit connected to the computer, the function expansion is performed based on the instruction of the program code. It goes without saying that the case where the CPU or the like provided in the board or the function expansion unit performs part or all of the actual processing and the functions of the above-described embodiments are realized by the processing.
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。 Further, the present invention may be applied to a system composed of a plurality of devices or an apparatus composed of a single device. It goes without saying that the present invention can also be applied to a case where the present invention is achieved by supplying a program to a system or apparatus. In this case, by reading a recording medium storing a program represented by software for achieving the present invention into the system or apparatus, the system or apparatus can enjoy the effects of the present invention.
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ,データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。 Furthermore, by downloading and reading out a program represented by software for achieving the present invention from a server, database, etc. on a network using a communication program, the system or apparatus can enjoy the effects of the present invention. It becomes.
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。 In addition, all the structures which combined each embodiment mentioned above and its modification are also included in this invention.
シーケンスチャートである。
001 アプリケーションサーバ1
002 アプリケーションサーバ2
003 ワークフローサーバ
004 ワークフローDB
005 アプリケーションDB
006 クライアントブラウザ
007 ネットワーク
001 Application server 1
002 Application server 2
003
005 Application DB
006
Claims (8)
前記ウェブアプリケーションサーバは、
前記ウェブアプリケーションサーバが管理するウェブアプリケーションデータベースを更新するウェブアプリケーションデータベース更新手段と、
前記ウェブアプリケーションデータベース更新手段による更新の後、前記ワークフローサーバに対し、該ワークフローサーバが管理するワークフローデータベースのワークフロー状態を更新させるための更新指示を行うワークフローデータベース更新指示手段と、
前記ワークフローサーバからワークフロー状態が正常に更新された旨の更新結果を受信した場合、前記更新手段により更新されたウェブアプリケーションデータベースに対しコミット処理するコミット処理手段と、
前記コミット処理が正常に完了した場合、前記ワークフローサーバに対し前記ワークフローデータベースの一時停止状態の解除を指示し、一方、前記コミット処理がエラーとなった場合、前記一時停止状態の解除を指示しない一時停止解除指示制御手段と、
前記ワークフローサーバは、
前記ウェブアプリケーションサーバからの更新指示に応じて、前記ワークフローデータベースのワークフロー状態を更新するワークフローデータベース更新手段と、
前記ワークフローデータベース更新手段により更新されたワークフローデータベースを一時停止状態にする一時停止手段と、
前記一時停止手段により一時停止状態にされたワークフローデータベースに対しコミット処理した後、前記ウェブアプリケーションサーバへ更新結果を通知する更新結果通知手段と、
前記ウェブアプリケーションサーバからの一時停止解除指示に応じて、前記ワークフローデータベースの一時停止状態を解除する一時停止解除手段と、
を有することを特徴とする情報処理システム。 An information processing system in which a web application server on which a web application operates and a workflow server are configured to be loosely coupled via a network,
The web application server
Web application database update means for updating a web application database managed by the web application server;
Workflow database update instruction means for instructing the workflow server to update the workflow state of the workflow database managed by the workflow server after the update by the web application database update means;
When an update result indicating that the workflow state has been normally updated is received from the workflow server, a commit processing unit that performs a commit process on the web application database updated by the update unit;
When the commit process is normally completed, the workflow server is instructed to cancel the pause state of the workflow database. On the other hand, when the commit process is an error, the temporary stop not instructing to cancel the pause state is performed. Stop cancellation instruction control means;
The workflow server
In response to an update instruction from the web application server, a workflow database update unit that updates a workflow state of the workflow database;
A suspension means for temporarily suspending the workflow database updated by the workflow database update means;
Update result notification means for notifying the web application server of the update result after commit processing is performed on the workflow database that has been paused by the pause means;
In response to the suspension cancellation instruction from the web application server, the suspension cancellation means for canceling the suspension state of the workflow database;
An information processing system comprising:
トランザクション開始時における前記ワークフローサーバのワークフロー状態を保持しておく保持手段と、
前記コミット処理がエラーとなった場合、該ウェブアプリケーションデータベースをロールバックするロールバック手段と、
前記ロールバック手段によりロールバックされた場合、前記保持手段に保持された前記トランザクション開始時の前記ワークフローサーバのワークフロー状態をログに出力するワークフロー状態ログ出力手段と、
前記ワークフロー状態ログ出力手段により出力された前記トランザクション開始時のワークフロー状態を示すログの入力を受け付けるログ入力受付手段と、
前記入力受付手段により受け付けた前記トランザクション開始時のワークフロー状態を示すログに従って、ウェブアプリケーションデータベースを回復するための操作を行うための回復操作画面を表示する制御を行う表示制御手段と、
前記回復操作画面からの操作に応じて、前記ウェブアプリケーションデータベースを回復する回復手段とを更に有し、
前記コミット処理手段は、前記回復手段により回復されたウェブアプリケーションデータベースに対しコミット処理することを特徴とする請求項1に記載の情報処理システム。 The web application server
Holding means for holding the workflow state of the workflow server at the start of the transaction;
If the commit process results in an error, rollback means for rolling back the web application database;
A workflow state log output unit that outputs the workflow state of the workflow server at the start of the transaction held in the holding unit to a log when rolled back by the rollback unit;
Log input receiving means for receiving an input of a log indicating the workflow state at the start of the transaction output by the workflow state log output means;
Display control means for performing control to display a recovery operation screen for performing an operation for recovering the web application database according to a log indicating a workflow state at the start of the transaction received by the input receiving means;
A recovery means for recovering the web application database in response to an operation from the recovery operation screen;
2. The information processing system according to claim 1, wherein the commit processing unit performs a commit process on the web application database recovered by the recovery unit.
前記回復手段は、前記更新内容ログ出力手段により出力されたログに記載された更新内容に対応する、前記回復操作画面からの操作に応じて、前記ウェブアプリケーションデータベースを回復することを特徴とする請求項2に記載の情報処理システム。 The web application server further includes an update content log output unit that outputs the update content to a log when the web application database is updated by the web application database update unit,
The said recovery means recovers the said web application database according to operation from the said recovery operation screen corresponding to the update content described in the log output by the said update content log output means. Item 3. The information processing system according to Item 2.
前記回復手段は、前記更新内容ログ出力手段により出力されたログに記載された更新内容に対応する、前記エラー発生時のウェブアプリケーション画面からの前記エラー発生時の操作に応じて、前記ウェブアプリケーションデータベースを回復することを特徴とする請求項3に記載の情報処理システム。 The display control means performs control to display the web application screen at the time of the error occurrence as the recovery operation screen according to the log indicating the workflow state at the start of the transaction,
The recovery means corresponds to the update content described in the log output by the update content log output means, in accordance with the operation at the time of the error occurrence from the web application screen at the time of the error occurrence, the web application database The information processing system according to claim 3, wherein the information processing system is recovered.
前記ウェブアプリケーションデータベース更新手段は、前記回復モードが設定されている場合、前記回復手段として動作することを特徴とする請求項4に記載の情報処理システム。 The web application server further includes setting means for setting a recovery mode as an operation mode of the web application server when the log input is accepted by the log input acceptance means.
5. The information processing system according to claim 4, wherein the web application database update unit operates as the recovery unit when the recovery mode is set.
前記ウェブアプリケーションサーバに、
ウェブアプリケーションデータベース更新手段が、前記ウェブアプリケーションサーバが管理するウェブアプリケーションデータベースを更新するウェブアプリケーションデータベース更新ステップと、
ワークフローデータベース更新指示手段が、前記ウェブアプリケーションデータベース更新ステップによる更新の後、前記ワークフローサーバに対し、該ワークフローサーバが管理するワークフローデータベースのワークフロー状態を更新させるための更新指示を行うワークフローデータベース更新指示ステップと、
コミット処理手段が、前記ワークフローサーバからワークフロー状態が正常に更新された旨の更新結果を受信した場合、前記更新ステップにより更新されたウェブアプリケーションデータベースに対しコミット処理するコミット処理ステップと、
一時停止解除指示制御手段が、前記コミット処理が正常に完了した場合、前記ワークフローサーバに対し前記ワークフローデータベースの一時停止状態の解除を指示し、一方、前記コミット処理がエラーとなった場合、前記一時停止状態の解除を指示しない一時停止解除指示制御ステップとを実行させ、
前記ワークフローサーバに、
ワークフローデータベース更新手段が、前記ウェブアプリケーションサーバからの更新指示に応じて、前記ワークフローデータベースのワークフロー状態を更新するワークフローデータベース更新ステップと、
一時停止手段が、前記ワークフローデータベース更新ステップにより更新されたワークフローデータベースを一時停止状態にする一時停止ステップと、
更新結果通知手段が、前記一時停止ステップにより一時停止状態にされたワークフローデータベースに対しコミット処理した後、前記ウェブアプリケーションサーバへ更新結果を通知する更新結果通知ステップと、
前記一時停止解除手段が、前記ウェブアプリケーションサーバからの一時停止解除指示に応じて、前記ワークフローデータベースの一時停止状態を解除する一時停止解除ステップとを実行させることを特徴とする情報処理方法。 An information processing method in an information processing system in which a web application server on which a web application operates and a workflow server are configured to be loosely coupled via a network,
In the web application server,
A web application database update step in which a web application database update means updates a web application database managed by the web application server;
A workflow database update instructing unit for instructing the workflow server to update the workflow state of the workflow database managed by the workflow server after the update by the web application database updating step; ,
When the commit processing means receives an update result indicating that the workflow state has been normally updated from the workflow server, a commit processing step for performing a commit process on the web application database updated by the update step;
The suspension cancellation instruction control means instructs the workflow server to cancel the suspension state of the workflow database when the commit processing is completed normally, while if the commit processing results in an error, A pause cancellation instruction control step that does not instruct the cancellation of the stop state is executed,
In the workflow server,
A workflow database update means for updating a workflow state of the workflow database in response to an update instruction from the web application server;
A pausing step for pausing the workflow database updated by the workflow database updating step;
An update result notifying unit that performs a commit process on the workflow database that has been suspended by the suspension step, and then notifies the update result to the web application server,
An information processing method, wherein the temporary suspension canceling unit executes a temporary suspension canceling step for canceling a temporary suspension state of the workflow database in response to a temporary suspension canceling instruction from the web application server.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008123443A JP5128365B2 (en) | 2008-05-09 | 2008-05-09 | Information processing system, information processing method, program, and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008123443A JP5128365B2 (en) | 2008-05-09 | 2008-05-09 | Information processing system, information processing method, program, and recording medium |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2009271839A true JP2009271839A (en) | 2009-11-19 |
JP2009271839A5 JP2009271839A5 (en) | 2010-08-12 |
JP5128365B2 JP5128365B2 (en) | 2013-01-23 |
Family
ID=41438309
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008123443A Expired - Fee Related JP5128365B2 (en) | 2008-05-09 | 2008-05-09 | Information processing system, information processing method, program, and recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5128365B2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012243067A (en) * | 2011-05-19 | 2012-12-10 | Pioneer Electronic Corp | Server device, user terminal and program |
WO2017002249A1 (en) * | 2015-07-01 | 2017-01-05 | 富士通株式会社 | Workflow management program, workflow management method, and workflow management device |
WO2017073009A1 (en) * | 2015-10-27 | 2017-05-04 | 日本電気株式会社 | M2m node device, control method, and nontemporary computer-readable medium in which program is stored |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10775976B1 (en) * | 2018-10-01 | 2020-09-15 | Splunk Inc. | Visual previews for programming an iterative publish-subscribe message processing system |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09185539A (en) * | 1995-12-28 | 1997-07-15 | Hitachi Ltd | Committing control method for distributed transaction |
US6014673A (en) * | 1996-12-05 | 2000-01-11 | Hewlett-Packard Company | Simultaneous use of database and durable store in work flow and process flow systems |
JP2000029956A (en) * | 1998-07-08 | 2000-01-28 | Fujitsu Ltd | Workflow application executing device, and workflow application construction method |
JP2001356946A (en) * | 2000-06-14 | 2001-12-26 | Nippon Telegr & Teleph Corp <Ntt> | Method, device for executing work flow and recording medium in which work flow execution program is recorded |
JP2004118553A (en) * | 2002-09-26 | 2004-04-15 | Toshiba Corp | Work flow execution method and system, and program for the same |
JP2006178935A (en) * | 2004-12-22 | 2006-07-06 | Microsoft Corp | Synchronization of runtime and application state via batching of workflow transaction |
-
2008
- 2008-05-09 JP JP2008123443A patent/JP5128365B2/en not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09185539A (en) * | 1995-12-28 | 1997-07-15 | Hitachi Ltd | Committing control method for distributed transaction |
US6014673A (en) * | 1996-12-05 | 2000-01-11 | Hewlett-Packard Company | Simultaneous use of database and durable store in work flow and process flow systems |
JP2000029956A (en) * | 1998-07-08 | 2000-01-28 | Fujitsu Ltd | Workflow application executing device, and workflow application construction method |
JP2001356946A (en) * | 2000-06-14 | 2001-12-26 | Nippon Telegr & Teleph Corp <Ntt> | Method, device for executing work flow and recording medium in which work flow execution program is recorded |
JP2004118553A (en) * | 2002-09-26 | 2004-04-15 | Toshiba Corp | Work flow execution method and system, and program for the same |
JP2006178935A (en) * | 2004-12-22 | 2006-07-06 | Microsoft Corp | Synchronization of runtime and application state via batching of workflow transaction |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012243067A (en) * | 2011-05-19 | 2012-12-10 | Pioneer Electronic Corp | Server device, user terminal and program |
WO2017002249A1 (en) * | 2015-07-01 | 2017-01-05 | 富士通株式会社 | Workflow management program, workflow management method, and workflow management device |
WO2017073009A1 (en) * | 2015-10-27 | 2017-05-04 | 日本電気株式会社 | M2m node device, control method, and nontemporary computer-readable medium in which program is stored |
Also Published As
Publication number | Publication date |
---|---|
JP5128365B2 (en) | 2013-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3592721B2 (en) | Refresh Agent for Backup Software | |
WO2018103318A1 (en) | Distributed transaction handling method and system | |
KR101278818B1 (en) | Transaction consistency and problematic states | |
JP4581500B2 (en) | Disaster recovery system, program, and database recovery method | |
US8332443B2 (en) | Masterless distributed batch scheduling engine | |
EP2626786B1 (en) | Multicore processor system, method of monitoring control, and monitoring control program | |
CN101321187B (en) | System, method and program product for backing up data | |
JP5467625B2 (en) | Production-substitution system including a production system that processes transactions and a substitution system that is a backup system of the production system | |
JP2006277208A (en) | Backup system, program and backup method | |
US20140297355A1 (en) | Workflow control apparatus and method therefor | |
JP2008226088A (en) | Disaster recovery system and method | |
US20080115128A1 (en) | Method, system and computer program product for implementing shadow queues for recovery of messages | |
CN101441582A (en) | Backup and recovery method of computer data object and system and program product for implementing the same | |
US10581966B2 (en) | Cloud services integrated backup and restore | |
JP5128365B2 (en) | Information processing system, information processing method, program, and recording medium | |
EP3163447B1 (en) | Data replication method, device and system | |
CN110413369B (en) | System and method for backup in virtualized environments | |
JP4289056B2 (en) | Data duplication control method between computer systems | |
US7890468B2 (en) | Rollback support in distributed data management systems | |
US20100174683A1 (en) | Individual object restore | |
CN108984779A (en) | Distributed file system snapshot rollback metadata processing method, device and equipment | |
JP2008310591A (en) | Cluster system, computer, and failure recovery method | |
JP5317182B2 (en) | POS terminal, module update method and module update program | |
JP2004295272A (en) | Transaction control method | |
JP2006235737A (en) | Storage subsystem and storage system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100629 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100629 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120410 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120611 |
|
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: 20121002 |
|
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: 20121031 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 5128365 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151109 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R370 | Written measure of declining of transfer procedure |
Free format text: JAPANESE INTERMEDIATE CODE: R370 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R370 | Written measure of declining of transfer procedure |
Free format text: JAPANESE INTERMEDIATE CODE: R370 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |