JP4307122B2 - Workflow processing method and program - Google Patents

Workflow processing method and program Download PDF

Info

Publication number
JP4307122B2
JP4307122B2 JP2003087501A JP2003087501A JP4307122B2 JP 4307122 B2 JP4307122 B2 JP 4307122B2 JP 2003087501 A JP2003087501 A JP 2003087501A JP 2003087501 A JP2003087501 A JP 2003087501A JP 4307122 B2 JP4307122 B2 JP 4307122B2
Authority
JP
Japan
Prior art keywords
data
workflow
slip
state
definition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003087501A
Other languages
Japanese (ja)
Other versions
JP2004295516A (en
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.)
Fujitsu Ltd
Fujitsu Social Science Labs Ltd
Original Assignee
Fujitsu Ltd
Fujitsu Social Science Labs Ltd
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 Fujitsu Ltd, Fujitsu Social Science Labs Ltd filed Critical Fujitsu Ltd
Priority to JP2003087501A priority Critical patent/JP4307122B2/en
Publication of JP2004295516A publication Critical patent/JP2004295516A/en
Application granted granted Critical
Publication of JP4307122B2 publication Critical patent/JP4307122B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

【0001】
【発明が属する技術分野】
本発明は、ワークフローの処理技術に関する。
【0002】
【従来の技術】
ワークフロー処理システムの開発には従来多大な労力が必要とされてきた。ワークフロー上取り扱われる伝票を表示する伝票画面の各フィールドは、伝票自体のワークフローの進行状況(現在地)に応じて、同一伝票内の同一フィールドであっても、入力フィールドや表示フィールドまたは非表示フィールドに変化し、更に入力フィールドのチェック・ロジック(フォーマット・チェック、マスタ・チェック、固有なビジネス・ロジックなど)や表示フィールドの表示ロジック(マスタ参照、計算ロジック、フォーマット変換ロジックなど)も変化する。
【0003】
また、伝票画面でのワークフローのプログラミングも、同じくワークフローの進行状況及び定義されたワークフローに応じて、申請や可決/否決、差戻、取戻し他、ワークフローの進行状況(現在地)に応じてどのワークフロー機能(申請、可決などの、伝票画面に設けられたボタンなど)が有効であるのかを判定し、ユーザの操作により選ばれたワークフロー機能を実行してワークフローを進めてゆかなければならない。
【0004】
このように、ワークフローの進行状況(現在地)に応じた伝票画面は、各ワークフロー定義におけるワークフローの進行状況(現在地)のバリエーションに対し、各伝票様式とのコンビネーションからなる相当数のバリエーションを有することになる。
【0005】
このような状況において、伝票様式(伝票種類)毎に伝票フィールドのプログラミングと伝票画面でのワークフローのプログラミングとの整合を適切に行うため、開発分担は伝票様式(伝票種類)毎のワークフロー付き伝票画面となる。プログラム開発者は、ワークフロー付き伝票画面の開発においては、以下の事項を全て理解する必要があった。(1)画面デザイン、(2)ワークフロー制御、(3)伝票フィールドのロジック、(4)(1)乃至(3)の連携(ある伝票様式とそれが用いられるワークフロー定義におけるワークフローの進行状況(現在地)に応じたプログラミング。)従って、例えば、起票時点における(1a)伝票画面のデザイン、(2a)利用できるワークフロー機能(申請など)の判定とワークフロー実行、(3a)伝票の各入出力フィールドについてのロジック、及び(4a)(1a)乃至(3a)を連携させる為のプログラミングをプログラム開発者一人一人が行わなければならない。これでは、N人で開発しても開発期間の短縮ができないという問題があった。
【0006】
また例えば特開2001−134681号公報には、以下のような技術が開示されている。すなわち、電子帳票を処理するワークフロー上の作業者毎、実行できるアクションを定義する。各作業者が電子帳票を操作するに際し、操作画面上の帳票イメージに、その作業者に指定されたアクションに対応したボタンなどのオブジェクトが表示される。そのオブジェクトを操作することにより、そのアクションが実行される。現在処理しようとしているのがワークフロー上のどのノードか、また、そのノードに有効なものとして定義されているのはどのアクションか、処理の結果遷移した帳票の状態は、どのようになるかといった情報は、サーバー・プログラムにより、電子帳票がノードを移動する度に現在の帳票情報としてセットされる。クライアント・サービス・プログラムはこれに従って適切な表示を行う。この技術では、ボタンの生成方法については述べられているが、電子帳票との関連で、開発効率を向上させるための工夫については開示されていない。
【0007】
【特許文献1】
特開2001−134681号公報
【0008】
【発明が解決しようとする課題】
以上のように、従来のワークフロー処理システムにおいては、伝票様式数分のワークフロー付き伝票画面を開発しなければならないため開発負担が大きく、プログラム開発者にとってはシステム理解に時間を要し、プログラム開発者の一人一人による逐次開発なので開発期間及び保守時間の短縮ができず、システムの一部変更時も全体の見直しが必要となるなど問題が多かった。これは、ワークフローの伝票回送制御と伝票画面のプログラミングとを混在させた開発方式を取らざるを得なかったことが、以上のような問題を生み出した大きな原因である。
【0009】
従って、本発明の目的は、ワークフロー処理システムの開発・保守効率の向上を可能とするための技術を提供することである。
【0010】
【課題を解決するための手段】
本発明に係るワークフロー処理方法は、ユーザの端末から受信したデータに基づき、特定の伝票についてのワークフロープロセスにおける、状態と当該状態間の状態遷移とのいずれかであるポジションを特定するポジション特定ステップと、ポジションに関連する伝票のフォーム・データを取得し、記憶装置に格納する伝票フォーム・データ取得ステップと、ワークフローの定義に基づき、特定されたポジションに関連してユーザにより指示させることの可能な状態遷移のデータを取得し、記憶装置に格納する状態遷移データ取得ステップと、少なくとも伝票のフォーム・データから電子フォーム表示用のデータを、状態遷移のデータからボタン表示用のデータを生成し、出力する表示用データ生成ステップとを含む。さらに、保守時においても修正を最小限度にすることが可能となる。
【0011】
このように、特定されたポジションに関連する伝票のフォーム・データから電子フォーム表示用のデータを、ワークフローの定義に基づき且つユーザにより指示させることの可能な状態遷移のデータからボタン表示用のデータを生成するようにしているため、伝票のフォーム・データに関する開発作業とワークフローに関する開発作業とを分離することができるようになった。従って、開発の並列性が向上し、プログラム開発者一人一人の負担も減らすことができるようになる。
【0012】
また、本発明において、特定されたポジションが状態遷移である場合、少なくとも当該状態遷移と当該状態遷移に関連する伝票とにより特定されるプログラムを起動するプログラム起動ステップをさらに含み、上で述べた表示用データ生成ステップにおいて、プログラムからのデータをさらに用いて電子フォーム表示用のデータを生成するようにすることも可能である。このように伝票及び状態遷移に関連して実行されるべきプログラムについても状態遷移に応じて起動されるようにしたため、電子フォーム表示用のデータからは分離して開発できるようになる。従って、開発の効率が向上している。
【0013】
さらに、本発明において、上で述べたポジション特定ステップにおいて所定の状態遷移を特定した場合、当該特定の状態遷移の遷移前の状態に関連する電子フォームに入力されたデータ及び特定の状態遷移の遷移先の状態に関するデータを、ワークフロー実行制御情報として登録するステップとをさらに含むようにしてもよい。さらに、上で起動されたプログラムからの戻り値を登録するようにしても良い。ワークフローの定義情報とワークフロー実行制御情報にてワークフローの回送制御を行うようになっており、伝票のフォーム・データとは独立して処理される。
【0014】
さらに、上で述べたポジション特定ステップが、ユーザの端末から特定のワークフロープロセスの識別データを受信した場合、特定のワークフロープロセスの識別データに基づき、対応するワークフロー実行制御情報を特定するステップと、対応するワークフロー実行制御情報により現在の状態を特定するステップとを含むようにしても良い。例えば、特定の権限を有するユーザが申請に対して承認を行う場合の処理である。
【0015】
なお、上述の方法はプログラム及びコンピュータにて実施することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納される。また、ネットワークなどを介してデジタル信号として配信される場合もある。尚、中間的な処理結果はメモリに一時保管される。
【0016】
【発明の実施の形態】
本発明の一実施の形態に係るシステム概要図を図1に示す。例えばLAN(Local Area Network)であるネットワーク1には、例えばパーソナルコンピュータでウェブ(Web)ブラウザ機能を有する1又は複数のユーザ端末3と、周知のWebサーバ機能51を有し且つ本実施の形態における主要な処理を実施するワークフロー処理システム5とが接続されている。なお、ネットワーク1には、開発者又は保守担当者が操作し且つ例えばパーソナルコンピュータである開発者端末7が接続されている場合もある。
【0017】
ワークフロー処理システム5は、ユーザ端末3からの要求に応じてWebページ・データ(HTML(Hyper Text Markup Language)ファイルと埋め込まれる画像ファイルなど)を生成しユーザ端末3に送信すると共にユーザ端末3からの入力データ等を受信して伝票コンテナ53に出力するWebサーバ機能51と、Webサーバ機能51とデータのやり取りを行い且つ本実施の形態における主要な処理を実施する伝票コンテナ53と、伝票コンテナ53から参照される定義情報を格納した定義情報DB55と、伝票コンテナ53により起動され且つ所定の処理を実施するプログラムである複数のアクション部品57と、従来から利用されている各種マスタファイルを管理し且つアクション部品57とのデータのやり取りを行うバックグランドシステム59と、個々のワークフロープロセス実行における制御情報であるワークフロー実行制御情報を格納するワークフロー実行制御情報格納部58とを含む。
【0018】
伝票コンテナ53は、電子フォーム制御部531と、ワークフロー制御部532と、イベント制御部533と、ワークフローデータ処理部534とを含む。伝票コンテナ53の詳細な処理については以下で説明する。また、バックグランドシステム59は、所属マスタファイル591、社員マスタファイル593、各種業務マスタファイル595などを有している。なお、バックグランドシステム59については従来のシステムと変わりないので、これ以上詳しく説明しない。
【0019】
アクション部品57は、プログラムであって、例えばEJB(Enterprise Java Beans:JavaはSun Microsystems社の商標)で構成されている。
【0020】
図2に示すように、開発者端末7には、電子フォームデザイナ71及び関連するプロパティ設定部73とが含まれている。開発者は、開発者端末7を操作して、電子フォームデザイナ71により電子伝票の画面デザインを、提供されるGUI(Graphical User Interface)に従って行う。電子伝票のフィールド名及び型などの属性情報については、プロパティ設定部73により、各フィールドについて設定を行う。また、電子伝票全体についての属性情報についても、プロパティ設定部73により設定する。電子フォームデザイナ71により生成された画面デザインのデータ(フォーム・データ)と共に、各フィールド及び電子伝票全体についてプロパティ設定部73により設定された電子フォーム定義551は、定義情報DB55に登録され、伝票コンテナ53により参照される。電子フォーム定義551の一例を図3に示す。図3に示したテーブルでは、伝票名の列301と、フィールド名の列302と、型の列303とを含み、電子伝票に設けられるフィールド毎に型等の属性情報を登録するようになっている。
【0021】
また、プロパティ設定部73により、当該電子伝票についてどのようなイベント(状態遷移)の際にどのようなアクション部品57を起動してバックグランドシステム59に対する処理を行うかということも規定する。図2では、イベント/アクションのタブを選択して、特定のフィールド(例えば残日数)について起動すべきアクション部品57を規定するようになっている。但し、伝票全体についても起動すべきアクション部品57を規定する。図2の例では、イベント入力部731においてイベントを特定し、アクション部品入力部732においてアクション部品を特定し、パラメタ項目名特定部733においてパラメタ項目名を特定し、パラメタ入力部734においてパラメタを特定する。なお、イベント入力部731は、イベント定義601から選択肢をコンボボックス形式で示すようになっている。イベント定義601の一例を図4に示す。図4に示したテーブルは、イベント名の列311と、説明の列312とを含み、本ワークフロー処理システム5において出現するイベントの一覧となっている。本実施の形態では、予め図4のようなイベント定義601を用意しておき、開発作業において参照するようになっている。イベント入力部731では、図4のイベント名の列311のデータにより、コンボボックスが構成される。
【0022】
また、アクション部品入力部732は、業務ロジック部品定義602から選択肢をコンボボックス形式で示すようになっている。業務ロジック部品定義602の一例を図5に示す。図5に示したテーブルは、アクション部品名の列321と、パラメタ数の列323と当該パラメタ数に対応する数のパラメタ項目名の列324とを含む部品への入力情報の列322とを有しており、アクション部品毎にパラメタ数とデータを入力すべきパラメタ項目名とが規定されている。本実施の形態では、予め図5のような業務ロジック部品定義602を用意しておき、開発作業において参照するようになっている。また、アクション部品57は、業務ロジック部品定義602に従って作成されており、アクション部品名に記されているような機能を実現するものである。アクション部品入力部732では、図5のアクション部品名321のデータにより、コンボボックスが構成される。なお、アクション部品入力部732において特定のアクション部品57が選択されると、図5のパラメタ数の列323の値から当該特定のアクション部品57についての列数が決定され、プロパティ設定部73におけるパラメタ項目特定部733(図2)の表示が列方向に展開されるようになっている。「年次休暇残日数取得」についてはパラメタ数が1であるが、「年次休暇申請期間・日数チェック」についてはパラメタ数が2であるから、プロパティ設定部73におけるパラメタ項目特定部733の表示が2列に自動的に展開される。
【0023】
さらにパラメタ項目名特定部733については、アクション部品入力部732において選択されたアクション部品名に基づき業務ロジック部品定義602から自動的に指定される。例えば、「年次休暇残日数取得」についてはパラメタが1つであるから「対象年度」が自動的に指定される。「年次休暇申請期間・日数チェック」についてはパラメタ数が2であるから、プロパティ設定部73における表示が2列に渡って「対象年度」と「申請期間」が指定される。
【0024】
パラメタ入力部734については、図3において特定されている電子フォーム定義551に含まれるフィールド名のデータ及びシステム変数(%当年度など)を選択肢として、コンボボックス形式で提示するようになっている。
【0025】
このようにプロパティ設定部73により表示される画面に従って、イベント、アクション部品、パラメタ項目及びパラメタを特定して、項目ロジック指示定義552として登録する。項目ロジック指示定義552の一例を図6に示す。図6に示したテーブルは、伝票名の列331と、イベント名の列332と、フィールド名の列333と、アクション部品の列334と、パラメタ項目名とパラメータを含むパラメータ情報の列335とを含み、伝票及びイベントの組み合わせ毎にアクション部品が特定される。なお、フィールド名333の列には値が登録されない場合もあり、その場合には伝票全体としてアクション部品が規定される場合である。
【0026】
このようにワークフローに関連するイベント定義601と業務ロジック部品定義602とがあれば、ワークフローのデータなしに電子伝票の開発を進めることができる。従って、開発効率を向上させることができる。また、保守においてもワークフローに影響を与えずに画面デザインを変更することも可能となる。
【0027】
また、図7に示すように、開発者端末7には、ワークフロープロセス設定部75も含まれており、開発者は、開発者端末7を操作して、ワークフロープロセス設定部75によりワークフローの設計を、提供されるGUIに従って行う。例えば、開始及び終了についての端子401と、ワークフロー内の状態を表すアクティビティ403と、端子401とアクティビティ403の間又はアクティビティ間の状態遷移を表すイベント402とを用いて、端子401とアクティビティ403とをイベント402で接続することにより、ワークフローは定義される。なお、イベント402については、イベント定義601(図4)において定義されているため、イベント名(例えば「起票」)を指定する際には、例えば右クリックすることによりイベント定義601に従った選択肢が提示され、選択できるようになっている。開発者は、ワークフロープロセス設定部75により、ワークフロー処理システム5において取り扱う全てのワークフローについて定義を行って、ワークフロープロセス定義553として定義情報DB55に登録する。図8にワークフロープロセス定義553のデータの一例を示す。図8に示したテーブルは、ワークフロープロセス名の列341と、アクティビティ名の列342と、イベント名の列343と、遷移先アクティビティ名の列344とを含み、各ワークフロープロセスについて、移動元のアクティビティからどのようなイベントでどの遷移先アクティビティに移行するかを特定している。一つのアクティビティから多数のアクティビティに遷移する場合もあるため、1つのワークフロープロセスであっても同一アクティビティについてのレコードが複数登録されている場合もある。
【0028】
このようにワークフローを定義する際には、イベント定義601については参照するが、それ以外のデータを用いなくともよくなっている。従って、開発効率を向上させることができる。また、保守においても小規模なワークフローの変更は電子フォーム定義551に影響しない。
【0029】
定義情報DB55には、さらに伝票定義554が登録されている。伝票定義554の一例を図9に示す。図9に示したテーブルは、業務カテゴリ名の列351と、伝票名の列352と、フォーム名の列353と、ワークフロープロセス名の列354と、アクティビティ名の列355と、イベントの列356とを含む。例えば、特定のワークフロープロセスにおけるアクティビティ名が識別された場合や特定のワークフロープロセスにおけるイベント名が特定された場合、使用する電子伝票のフォーム・データを特定することができるようになる。
【0030】
このように定義情報DB55には、電子フォーム定義551と、項目ロジック指示定義552と、ワークフロープロセス定義553と、伝票定義554とが登録されており、伝票コンテナ53は、これらの定義情報とアクション部品57とワークフロー実行制御情報格納部58に格納されたワークフロー実行制御情報を用いて処理を行うようになっている。
【0031】
以下図10乃至図18を用いてワークフロー処理システム5の処理フローを説明する。なお、図10の処理の前に、ユーザはワークフロー処理システム5に自らのユーザIDにてログインしているか又は他の方法にてユーザIDが特定されているものとする。まず、申請処理の処理フローについて説明する。ユーザは、ユーザ端末3を操作して、ワークフロー処理についてのメニューページにアクセスさせる(ステップS1)。ワークフロー処理システム5のWebサーバ機能51は、ユーザ端末3からのアクセスに応じて、メニューページのデータをユーザ端末3に送信する(ステップS3)。ユーザ端末3は、ワークフロー処理システム5からメニューページ・データを受信し、表示装置に表示する(ステップS5)。ユーザは、メニューページに含まれる各種業務の各種伝票の中から、例えば「就業」カテゴリの「年次休暇申請」を選択し、クリックしたものとする。ユーザ端末3は、ユーザによる「年次休暇申請」の選択入力を受け付け(ステップS7)、当該「年次休暇申請」の選択データをワークフロー処理システム5に送信する(ステップS9)。ワークフロー処理システム5のWebサーバ機能51は、ユーザ端末3から「年次休暇申請」の選択データを受信して一旦記憶装置に格納し(ステップS11)、起票イベント処理を実施する(ステップS13)。起票イベント処理については、図11を用いて説明する。
【0032】
ワークフロー処理システム5のWebサーバ機能51は、上で述べたように「年次休暇申請」の選択データを受信すると、「年次休暇申請」の起票イベントとしてイベント制御部533に通知する(図11:ステップS31)。イベント制御部533は、Webサーバ機能51から「年次休暇申請」の起票イベントを受信して一旦記憶装置に格納すると共に、電子フォーム制御部531とワークフロー制御部532に通知する(ステップS33)。
【0033】
電子フォーム制御部531は、イベント制御部533から「年次休暇申請」の起票イベントを受信し、一旦記憶装置に格納する(ステップS35)。そして、伝票定義554(図9)を参照して、「年次休暇申請」に対応するフォーム名を特定し、当該フォーム名により電子フォーム定義551から対応するフォーム・データを抽出する(ステップS37)。また、「年次休暇申請」の起票イベントに従って項目ロジック指示定義552を参照して、当該起票イベントに関係するアクション部品57を特定し、当該アクション部品57を起動する(ステップS39)。なお、項目ロジック指示定義552にパラメータが規定されている場合には、当該パラメータのデータをアクション部品57に出力する。そして、各アクション部品57は、規定された処理を例えばバックランドシステム59に対して行う。例えば社員マスタファイル593に登録されている休暇残日数のデータを読み出すなどの処理を行う。
【0034】
そして、電子フォーム制御部531は、アクション部品57から戻り値を受信し(ステップS41)、当該アクション部品57からの戻り値と電子フォーム定義551から読み出したフォーム・データとを用いて、電子フォーム部のデータを生成し、一旦記憶装置に格納する(ステップS43)。例えば図12(a)に示すような画面のためのデータを生成する。図12(a)の例では、年次休暇の取得期間の始期入力欄361と、年次休暇の取得期間の終期入力欄362と、アクション部品57からの戻り値が埋め込まれている残日数表示欄363と、休暇理由選択コンボボックス364とが設けられている。このような電子フォーム部のデータが生成される。電子フォーム制御部531は、当該電子フォーム部のデータをWebサーバ機能51に出力する(ステップS45)。
【0035】
ワークフロー制御部532は、イベント制御部533から「年次休暇申請」の起票イベントを受信し、一旦記憶装置に格納する(ステップS47)。そして、ワークフロープロセス定義553(図8)を参照し、「年次休暇申請」の起票イベントの遷移先アクティビティを特定すると共に、当該遷移先アクティビティを遷移元とする次イベントのデータを抽出する(ステップS49)。図8の例では「申請」イベントが抽出される。そして、当該次イベントのデータに基づきワークフロー部のデータを生成し、一旦記憶装置に格納する(ステップS51)。例えば図12(b)に示すような画面のためのデータを生成する。図12(b)の例では、「申請」イベントが抽出されたので、申請ボタン365が設けられている。申請ボタン365は、「年次休暇申請」の申請イベントを発生させるためのボタンである。このようなワークフロー部のデータが生成される。ワークフロー制御部532は、当該ワークフロー部のデータをWebサーバ機能51に出力する(ステップS53)。
【0036】
Webサーバ機能51は、電子フォーム制御部531から電子フォーム部のデータを受信し、ワークフロー制御部532からワークフロー部のデータを受信し、一旦記憶装置に格納する(ステップS55)。そして、図10の処理に戻る。Webサーバ機能51は、電子フォーム部のデータ及びワークフロー部のデータを用いて、申請フォーム・データを生成し、ユーザ端末3に送信する(ステップS15)。ユーザ端末3は、ワークフロー処理システム5から申請フォーム・データを受信し、表示装置に表示する(ステップS17)。例えば図12(c)のような画面が表示される。すなわち、上段には電子フォーム部366が、下段にはワークフロー部367が設けられている。上段と下段のレイアウトを逆転することも可能である。また、ワークフロー部367のボタンはボタンではなく、リンク等のクリック可能な他のものであってもよい。
【0037】
ユーザは、図12のような画面の場合には電子フォーム部366に休暇始期と休暇終期とを入力し、休暇理由を選択して、申請ボタンをクリックする。ユーザ端末3は、ユーザによる「年次休暇申請」の入力データ及び申請指示を受け付け(ステップS19)、当該入力データ及び申請指示を表すデータをワークフロー処理システム5に送信する(ステップS21)。ワークフロー処理システム5のWebサーバ機能51は、ユーザ端末3から「年次休暇申請」の入力データ及び申請指示を表すデータを受信し、一旦記憶装置に格納する(ステップS23)。そして、申請イベント処理を実施する(ステップS25)。
【0038】
申請イベント処理については図13を用いて説明する。ワークフロー処理システム5のWebサーバ機能51は、「年次休暇申請」の入力データ及び申請指示を表すデータを、当該入力データ及び申請イベント発生としてイベント制御部533に通知する(図13:ステップS61)。イベント制御部533は、Webサーバ機能51から「年次休暇申請」の入力データ及び申請イベント発生の通知を受信し、電子フォーム制御部531とワークフロー制御部532とに通知する(ステップS63)。
【0039】
電子フォーム制御部531は、イベント制御部533から「年次休暇申請」の入力データ及び申請イベント発生の通知を受信すると(ステップS65)、項目ロジック指示定義552を参照し、当該申請イベントに関連するアクション部品57を起動する(ステップS67)。アクション部品57には、「年次休暇申請」の入力データの少なくとも一部がパラメータとして渡される。起動されたアクション部品57は、例えば取得始期及び取得終期に問題がないか確認するなど予め決められた処理を実施する。なお、図では示していないが、回送先の上司(承認者)のユーザIDについては申請者が申請時点で指定し、例えば「年次休暇申請」の入力データとして取り扱われるものとする。さらに、上司のメールアドレスを抽出し、承認の処理を行うため申請が上げられたことを通知するようにしても良い。そして、アクション部品57は、処理結果に基づき戻り値を電子フォーム制御部531に出力する。電子フォーム制御部531は、アクション部品57から戻り値を受信する(ステップS69)。例えば「年次休暇申請」の入力データについて問題がない場合には、当該入力データ及びアクション部品57からの戻り値などを、ワークフロー制御部532に出力する(ステップS71)。なお、「年次休暇申請」の入力データについて所定の処理を実施する場合もある。
【0040】
ワークフロー制御部532は、イベント制御部533から申請イベント発生の通知を受信すると(ステップS77)、申請イベントに従ってワークフロープロセス定義553を参照し、遷移元アクティビティ名と遷移先アクティビティ名を特定する(ステップS79)。そして、電子フォーム制御部531から「年次休暇申請」の入力データ等を受信し(ステップS81)、ワークフロープロセス定義553から特定されたデータと共に登録用データとしてワークフローデータ処理部534に出力する(ステップS83)。ワークフローデータ処理部534は、ワークフロー制御部532から登録用データを受信し(ステップS85)、ワークフロー実行制御情報格納部58に登録する。
【0041】
ワークフロー実行制御情報の一例を図14に示す。図14(a)に示したテーブルは、1つの特定の伝票を処理するワークフロープロセスを特定するためのワークフロープロセスIDの列371と、アクティビティ名の列とイベント名の列とを含むワークフロー履歴の列372と、各ワークフロープロセスにつき現在の状態を示すための現在地アクティビティの列373と、伝票名の列374と、伝票内容の列375と、関連するユーザのユーザIDの列376とを含む。図14(a)の例にも示すように、本実施の形態ではワークフロー実行制御情報としては、同一ワークフロープロセスIDにつき複数のレコードが登録され、現在地アクティビティの列373におけるフラグにて、最新状態を表すレコードを特定するようになっている。すなわち、最新のレコード以外のレコードの現在地アクティビティの列373のフラグはOFFとなっている。
【0042】
申請イベントの際には、起票イベントにおいてワークフロープロセス定義553に登録を行わないため、ワークフロープロセスIDを発行し、ワークフロープロセスIDの列371に登録する。そして、ワークフロー履歴の列372に、遷移元のアクティビティ名として「申請」及び発生イベント名として「申請」を登録する。また、伝票名の列374に「年次休暇申請」を登録し、伝票内容の列375に「年次休暇申請」の伝票データを登録する。さらに、申請者のユーザIDをユーザIDの列376に登録する。上でも述べたが、起票イベントの際にワークフロープロセス定義553に登録を行わないので、さらにもう1つのレコードを登録する。そのレコードには、遷移先のアクティビティ(承認1)と、現在地アクティビティのONフラグ(図14(a)では丸印)と、伝票名(年次休暇申請)と、ユーザID(上司のユーザID)とが含まれる。それ以外のデータについては次のイベントが発生した際に登録する。ここまで処理を実行するとワークフロー実行制御情報は図14(a)の状態になる。
【0043】
ワークフローデータ処理部534は、処理が終了すると、処理終了通知をワークフロー制御部532に通知する(ステップS87)。ワークフロー制御部532は、ワークフローデータ処理部534から処理終了通知を受信すると、さらにWebサーバ機能51に通知する(ステップS89)。なお、申請イベント発生時には、申請者に対して続けて何らかのイベントを発生させるためのボタンを提示することはないので、ワークフロー部のデータを生成することはない。但し、ボタンを含まないワークフロー部のデータを生成し、Webサーバ機能51に出力するようにしてもよい。
【0044】
一方、電子フォーム制御部531は、アクション部品57による戻り値において問題がなければ、例えば「申請は終了しました」という内容や「****という内容で申請は終了しました」といった電子フォーム部のデータを生成する。なお、申請イベント発生時に用いる電子フォーム定義551を規定しておき、伝票定義554を参照して、当該電子フォーム定義551を特定するようにしても良い。そして、電子フォーム制御部531は、生成した電子フォーム部のデータを、Webサーバ機能51に出力する(ステップS75)。そして、Webサーバ機能51は、電子フォーム制御部531から電子フォーム部のデータを受信する(ステップS91)。また、Webサーバ機能51は、ワークフロー制御部532から処理終了通知も受信する。
【0045】
なお、アクション部品57からの戻り値が適切でない申請であることを表す値である場合には、電子フォーム制御部531の処理は中断され、処理はステップS15(図10)に移行する。また、アクション部品57からの戻り値が適切でない申請であることを表す値である場合には、電子フォーム制御部531はステップS71で、ワークフロー制御部532に対してステップS15(図10)に移行する旨のデータを出力する。そうするとワークフロー制御部532の処理は中断され、処理はステップS15(図10)に移行する。そして、Webサーバ機能51は、保持している申請フォーム・データをユーザ端末3に送信する。
【0046】
図10の処理に戻って、Webサーバ機能1は、受信した電子フォーム部のデータ(場合によってはボタンのないワークフロー部のデータ)を用いて申請受け付け通知ページのデータを生成し、ユーザ端末3に送信する(ステップS27)。ユーザ端末3は、ワークフロー処理システム5から申請受け付け通知ページ・データを受信し、表示装置に表示する(ステップS29)。
【0047】
このようにしてユーザは「年次休暇申請」を行うことができる。但し、年次休暇申請だけではなく、他の申請処理についても同様の処理にて行われる。上で述べたように、電子フォーム定義551及び項目ロジック指示定義552と、アクション部品57と、ワークフロープロセス定義553とは別々に開発されるが、伝票コンテナ53がこれらを有機的に結びつけて処理を実施するため、ユーザは何らの問題を感じることなく申請などの処理を行うことができるようになる。なお、伝票コンテナ53においても、ワークフロープロセス定義553に関連する処理と、電子フォーム定義551及び項目ロジック指示定義552に関連する処理とはほぼ分離されているが、全体としてはユーザ所望の伝票についてのワークフロープロセス定義553に従った処理がなされるようになっている。
【0048】
次に、図15乃至図17を用いて承認処理の処理フローについて説明する。なお、ここでもログインなどによりワークフロー処理システム5はユーザIDを既に把握済みであるものとする。例えば、承認権限のあるユーザがユーザ端末3を操作し、承認処理を行うための承認ページへアクセスさせる(ステップS101)。ワークフロー処理システム5のWebサーバ機能51は、ユーザ端末3から承認ページへのアクセスを受信すると(ステップS103)、伝票コンテナ53のワークフロー制御部532に対してログインIDを含む、承認についての照会要求を出力する。
【0049】
ワークフロー制御部532は、ログインIDを含む、承認についての照会要求を受信すると、ワークフローデータ処理部534に出力する。ワークフローデータ処理部534は、ログインIDを検索キーとしてワークフロー実行制御情報格納部58を検索し、現在地アクティビティの列373にONのフラグがセットされているレコードであってログインIDがユーザIDとして登録されており且つ現在のアクティビティが「承認」となっているレコードを特定する。そして、当該特定されたレコードについてのワークフロープロセスのデータを読み出す(ステップS105)。読み出されるワークフロープロセスのデータは、例えばワークフロープロセスID、伝票名、申請を行ったユーザのユーザIDなどである。場合によっては、他のデータベースからユーザIDに対応するユーザ名などを抽出する場合もある。このワークフロープロセスのデータは、ワークフロー制御部532に出力される。ワークフロー御部532は、Webサーバ機能51に、ワークフロープロセスのデータを出力する。そして、Webサーバ機能51は、ワークフロープロセスのデータをワークフロー制御部532から受信すると、ワークフロープロセスIDや伝票名などのデータを含む承認対象選択メニューページのデータを生成し、ユーザ端末3に送信する(ステップS107)。ユーザ端末3は、ワークフロー処理システム5から承認対象選択メニューページのデータを受信し、表示装置に表示する(ステップS109)。
【0050】
ユーザは、当該承認対象選択メニューの内容を見て、いずれの伝票(ワークフロープロセス)を処理するのか判断する。そして、いずれか1つの伝票(ワークフロープロセス)を選択し、当該伝票に対応するボタンなどをクリックする。ユーザ端末3は、ユーザからの承認対象選択入力を受け付け(ステップS111)、承認対象選択データ(ワークフロープロセスID)をワークフロー処理システム5に送信する(ステップS113)。ワークフロー処理システム5のWebサーバ機能51は、承認対象選択データ(ワークフロープロセスID)をユーザ端末3から受信し、一旦記憶装置に格納する(ステップS115)。そして、承認アクティビティ開始処理を実施する(ステップS117)。
【0051】
承認アクティビティ開始処理については図16を用いて説明する。Webサーバ機能51は、受信した承認対象ワークフロープロセスIDをイベント制御部533に出力する(ステップS141)。イベント制御部533は、Webサーバ機能51から承認対象ワークフロープロセスIDを受信すると、電子フォーム制御部531とワークフロー制御部532とに当該承認対象ワークフロープロセスIDを通知する(ステップS143)。電子フォーム制御部531は、イベント制御部533から承認対象ワークフロープロセスIDを受信する(ステップS145)。ワークフロー制御部532は、イベント制御部533から承認対象ワークフロープロセスIDを受信し(ステップS147)、ワークフローデータ処理部534に出力する(ステップS148)。ワークフローデータ処理部534は、ワークフロー制御部532から承認対象ワークフロープロセスIDを受信すると(ステップS149)、ワークフロー実行制御情報格納部58を当該承認対象ワークフロープロセスIDで検索し、関連データを抽出し、ワークフロー制御部532に出力する(ステップS151)。関連データは、例えば現在のアクティビティ名、ワークフロープロセス名、以前のイベントにより登録された伝票の内容などである。
【0052】
ワークフロー制御部532は、ワークフローデータ処理部534から承認対象ワークフロープロセスIDに対応するワークフロー実行制御情報の関連データを受信すると、さらに電子フォーム制御部531に出力する(ステップS153)。電子フォーム制御部531は、承認対象ワークフロープロセスIDに対応するワークフロー実行制御情報の関連データを受信する(ステップS155)。そして、当該受信したデータに含まれるワークフロープロセス名及び現在アクティビティ名に基づき伝票定義554を参照し、対応する電子フォーム定義551を特定する(ステップS157)。当該電子フォーム定義551及びワークフロー制御部532から受信したデータ(例えば以前の伝票の内容など)を用いて、電子フォーム部のデータを生成し、一旦記憶装置に格納する(ステップS159)。最後に、電子フォーム制御部531は電子フォーム部のデータをWebサーバ機能51に出力する(ステップS161)。
【0053】
ワークフロー制御部532は、承認対象ワークフロープロセスIDに対応するワークフロー実行制御情報の関連データに含まれるワークフロー名及び現在アクティビティ名に基づきワークフロープロセス定義553を参照し、現在アクティビティから発生し得るイベント(次イベント)の情報を特定する(ステップS163)。そして、当該次イベントの情報を用いてワークフロー部のデータを生成し、一旦記憶装置に格納する(ステップS165)。そして、生成したワークフロー部のデータをWebサーバ機能51に出力する(ステップS167)。
【0054】
Webサーバ機能51は、電子フォーム制御部531から電子フォーム部のデータを、ワークフロー制御部532からワークフロー部のデータを受信する(ステップS169)。例えば、「可決」のボタンと「否決」のボタンとを表示するためのデータが生成される。
【0055】
図15の処理に戻って、Webサーバ機能51は、受信した電子フォーム部のデータ及びワークフロー部のデータを用いて、承認指示ページ・データを生成し、ユーザ端末3に送信する(ステップS119)。ユーザ端末3は、ワークフロー処理システム5から承認指示ページ・データを受信し、表示装置に表示する(ステップS121)。
【0056】
ユーザは、当該承認指示ページを参照して、承認すべきか判断する。承認すべきと判断した場合には承認すべき理由などを入力の後「可決」ボタンをクリックし、承認すべきではないと判断した場合には否決理由などを入力して「否決」ボタンをクリックする。理由の入力については行わない場合もある。また、別のデータを入力しなければならない場合もある。ユーザ端末3は、ユーザによる入力データ及び指示入力を受け付け(ステップS123)、当該入力データ及び指示入力をワークフロー処理システム5に送信する(ステップS125)。
【0057】
ワークフロー処理システム5のWebサーバ機能51は、ユーザ端末3から承認指示ページにおける入力データ及び指示入力のデータを受信し、一旦記憶装置に格納する(ステップS127)。そして、指示入力イベント処理を実施する(ステップS129)。この指示入力イベント処理については図17を用いて説明する。
【0058】
ワークフロー処理システム5のWebサーバ機能51は、承認指示ページにおける入力データ及び指示入力のデータを、当該入力データ及び指示入力イベント発生(例えば「可決」イベント又は「否決」イベント(場合によっては「差戻」イベント))としてイベント制御部533に通知する(図17:ステップS171)。イベント制御部533は、Webサーバ機能51から承認指示ページの入力データ及び指示入力イベント発生の通知を受信し、電子フォーム制御部531とワークフロー制御部532とに通知する(ステップS173)。
【0059】
電子フォーム制御部531は、イベント制御部533から承認指示ページにおける入力データ及び指示入力イベント発生の通知を受信すると(ステップS175)、項目ロジック指示定義552を参照し、当該指示入力イベントに関連するアクション部品57を起動する(ステップS177)。アクション部品57には、承認指示ページにおける入力データの少なくとも一部がパラメータとして渡される場合もある。起動されたアクション部品57は、例えば再度承認権限を確認するなど予め決められた処理を実施する。また、さらに上位の承認者のユーザIDをバックグランドシステム59の所属マスタファイル591から読み出すといった処理が含まれる場合もある。さらに、更に上位の承認者のメールアドレスを抽出し、通知を行うようにしても良い。そして、アクション部品57は、処理結果に基づき戻り値を電子フォーム制御部531に出力する。電子フォーム制御部531は、アクション部品57から戻り値を受信する(ステップS179)。例えば指示入力イベントに問題がない場合には、当該承認指示ページにおける入力データ及びアクション部品57からの戻り値などを、ワークフロー制御部532に出力する(ステップS181)。なお、承認指示ページにおける入力データについて所定の処理を実施する場合もある。
【0060】
ワークフロー制御部532は、イベント制御部533から指示入力イベント発生の通知を受信すると(ステップS185)、指示入力イベントに従ってワークフロープロセス定義553を参照し、遷移元アクティビティ名と遷移先アクティビティ名を特定する(ステップS187)。そして、電子フォーム制御部531から承認指示ページにおける入力データ等を受信し(ステップS189)、ワークフロープロセス定義553から特定されたデータと共に登録用データとしてワークフローデータ処理部534に出力する(ステップS191)。ワークフローデータ処理部534は、ワークフロー制御部532から登録用データを受信し(ステップS193)、ワークフロー実行制御情報格納部58に登録する。
【0061】
ワークフロー実行制御情報格納部58への登録を、図14(a)及び図14(b)を用いて説明する。現在地アクティビティの列373(図14(a))においてONフラグがセットされているのは、ワークフロープロセスIDが00001で、アクティビティ名が「承認1」の行である。遷移元アクティビティ名「承認」を確認の上、「可決」イベントであれば、イベント名の列に「可決」を登録し、伝票内容の列375に承認指示ページにおける入力データを承認1伝票データとして登録する。「否決」イベントでも同じである。さらに、遷移先アクティビティを登録するため、新たな行を生成して、ワークフロープロセスIDの列371に「00001」を、ワークフロー履歴の列372のアクティビティ名の列に「承認2」を、現在地アクティビティの列373にONフラグを、伝票名の列374に「年次休暇申請」を、そしてユーザIDの列376に上位の承認者のユーザIDを登録する。この際アクティビティ名「承認1」でイベント名「可決」の行における現在地アクティビティのONフラグをリセットする。ここまで処理を実行するとワークフロー実行制御情報は図14(b)の状態になる。「否決」イベントの場合には、遷移先アクティビティは「申請」であり、ユーザIDの列376に申請者のユーザIDを登録する。なお、例えば「承認2」で「否決」とされた場合の状態を図14(c)に示す。図14(c)では、アクティビティ名「承認2」の行において、イベント名の列に「否決」が登録され、伝票内容の列375に承認指示頁における入力データを承認2伝票データとして登録する。例えば否決の理由などのデータが含まれる。そして、当該アクティビティ名「承認2」の行における現在地アクティビティのONフラグをリセットし、アクティビティ名「申請」の行を新たに追加する。このアクティビティ名「申請」の行には、伝票名の列374に「年次休暇申請」が、そしてユーザIDの列376に申請者のユーザIDが登録される。そして、当該行の現在地アクティビティの列に、ONフラグがセットされる。
【0062】
ワークフローデータ処理部534は、処理が終了すると、処理終了通知をワークフロー制御部532に通知する(ステップS195)。ワークフロー制御部532は、ワークフローデータ処理部534から処理終了通知を受信すると、Webサーバ機能51に通知する(ステップS197)。なお、「可決」イベント発生時には、今回の承認者に対して続けて何らかのイベントを発生させるためのボタンを提示することはないので、ワークフロー部のデータを生成することはない。但し、ボタンを含まないワークフロー部のデータを生成し、Webサーバ機能51に出力するようにしてもよい。
【0063】
一方、電子フォーム制御部531は、アクション部品57による戻り値において問題がなければ、例えば「「可決」は登録されました」という内容や「****という理由で「可決」されました」といった電子フォーム部のデータを生成する。なお、可決イベント発生時に用いる電子フォーム定義551を規定しておき、伝票定義554を参照して、当該電子フォーム定義551を特定するようにしても良い。そして、電子フォーム制御部531は、生成した電子フォーム部のデータを、Webサーバ機能51に出力する(ステップS183)。そして、Webサーバ機能51は、電子フォーム制御部531から電子フォーム部のデータを受信する(ステップS199)。Webサーバ機能51は、ワークフロー制御部532から処理終了通知を受信する。
【0064】
なお、アクション部品57からの戻り値が問題が発生したこと又は問題を検出したことを表す値である場合には、電子フォーム制御部531の処理を中断し、処理はステップS119(図15)に移行する。また、アクション部品57からの戻り値が適切でないことを表す値である場合には、電子フォーム制御部531はステップS181において、ステップS119(図15)に移行する旨のデータをワークフロー制御部532に出力する。そうするとワークフロー制御部532の処理は中断され、処理はステップS119に移行する。
【0065】
図15の処理に戻って、Webサーバ機能1は、受信した電子フォーム部のデータ(場合によってはボタンのないワークフロー部のデータ)を用いて指示完了通知ページのデータを生成し、ユーザ端末3に送信する(ステップS131)。ユーザ端末3は、ワークフロー処理システム5から指示完了通知ページ・データを受信し、表示装置に表示する(ステップS133)。
【0066】
このようにして承認者たるユーザは承認処理を行うことができる。但し、年次休暇申請だけではなく、他の申請処理についても同様の処理にて行われる。さらに、「可決」「否決」のほかに「差戻」という判断を行うことができる場合には、ワークフロー部において「差戻」ボタンが設けられる。その場合にも、基本的には図17の処理が行われる。但し、差し戻しであることを前の承認者(及び/又は申請者)に通知するアクション部品57が起動されたり、ワークフロー実行制御情報において、差し戻しが登録され、現在地アクティビティも「承認*(*は1つ前の承認アクティビティの番号を表す)」と登録される。この際においてもさらにレコードの追加を行うことで履歴を登録する。差し戻し後においては、「承認*」アクティビティから開始する点において同じである。
【0067】
図18にワークフローの典型例及び画面遷移について概説しておく。図18上段に示すように、開始から起票イベントにより申請アクティビティに遷移し、申請アクティビティから申請イベントにより承認1アクティビティに遷移し、承認1アクティビティから可決イベントにより承認2アクティビティに遷移し、承認2アクティビティから可決イベントにより最終承認アクティビティに遷移し、最終承認アクティビティから可決イベントにより終了する。また、承認1アクティビティ、承認2アクティビティ又は最終承認アクティビティから否決イベントにより申請アクティビティに遷移する。承認2アクティビティから差戻イベントにより承認1アクティビティに遷移し、最終承認アクティビティから差戻イベントにより承認2アクティビティに遷移する。このようなワークフローにおいて申請アクティビティでは図18下段に示すように、電子フォーム部には申請の電子フォームが、ワークフロー部には発生しうるイベントである「申請」ボタンが含まれるWebページが構成される。また承認1アクティビティでは、電子フォーム部には承認1の電子フォームが、ワークフロー部には発生しうるイベントである「可決」及び「否決」ボタンが含まれるWebページが構成される。承認2アクティビティでは、電子フォーム部には承認2の電子フォームが、ワークフロー部には発生しうるイベントである「可決」「否決」及び「差戻」ボタンが含まれるWebページが構成される。最終承認アクティビティでは、電子フォーム部には最終承認の電子フォームが、ワークフロー部には発生しうるイベントである「可決」「否決」及び「差戻」ボタンが含まれるWebページが構成される。上で述べたように、電子フォーム部は電子フォーム制御部531が、ワークフロー部はワークフロー制御部532がそれぞれ生成するようになっており、電子フォーム制御部531とワークフロー制御部532とはデータのやり取りを行うことはあるが、基本的には別々に開発された電子フォーム定義551及び項目ロジック指示定義552とワークフロープロセス定義553とを別々に用いて、ワークフロープロセス定義553に従って適切な画面表示を行うことができる。
【0068】
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、定義情報DB55に登録されている定義データのフォーマットについては上で述べたものだけではなく、同様のデータ又は付加データを含む他のフォーマットにて登録される場合もある。また、ワークフロー処理システム5内の機能ブロック分けについても一例であって、図示したとおりにプログラム・モジュールが作成されない場合もある。特に、ワークフロー制御部532とワークフローデータ処理部534については1つのモジュールとして作成される場合もある。
【0069】
また、アクション部品57からの戻り値については、電子フォーム制御部531からワークフロー制御部532に通知する構成を示したが、直接アクション部品57からワークフロー制御部532に通知しても良い。その場合には、入力データ等についてはイベント制御部533から通知すれば、ワークフロー制御部532と電子フォーム制御部531との通信を減らすことができる。
【0070】
さらに、ワークフロー実行制御情報格納部58の参照については、ワークフロー制御部532及びワークフローデータ処理部534を介して行うような構成を示したが、電子フォーム制御部531が直接ワークフローデータ処理部534に要求するような構成とすることも可能である。
【0071】
(付記1)
ユーザの端末から受信したデータに基づき、特定の伝票についてのワークフロープロセスにおける、状態と当該状態間の状態遷移とのいずれかであるポジションを特定するポジション特定ステップと、
前記ポジションに関連する伝票のフォーム・データを取得し、記憶装置に格納する伝票フォーム・データ取得ステップと、
ワークフローの定義に基づき、特定された前記ポジションに関連して前記ユーザにより指示させることの可能な状態遷移のデータを取得し、記憶装置に格納する状態遷移データ取得ステップと、
少なくとも前記伝票のフォーム・データから電子フォーム表示用のデータを、前記状態遷移のデータからボタン表示用のデータを生成し、出力する表示用データ生成ステップと、
を含み、コンピュータにより実行されるワークフロー処理方法。
【0072】
(付記2)
特定されたポジションが状態遷移である場合、少なくとも当該状態遷移と当該状態遷移に関連する伝票とにより特定されるプログラムを起動するプログラム起動ステップ
をさらに含み、
前記表示用データ生成ステップにおいて、前記プログラムからのデータをさらに用いて前記電子フォーム表示用のデータを生成する
ことを特徴とする付記1記載のワークフロー処理方法。
【0073】
(付記3)
前記プログラムからのデータに基づいて前記状態遷移データ取得ステップの実施を判断するステップ
をさらに含む付記2記載のワークフロー処理方法。
【0074】
(付記4)
前記伝票フォーム・データ取得ステップが、
特定されたポジションに基づき伝票定義情報格納部に格納された伝票定義情報を検索し、対応する伝票を特定するステップと、
特定された伝票に基づき電子フォーム定義情報格納部に格納された電子フォーム定義情報を検索し、対応するフォーム・データを特定するステップと、
を含む付記1乃至3のいずれか1つ記載のワークフロー処理方法。
【0075】
(付記5)
前記プログラム起動ステップが、
項目ロジック指示定義情報格納部に格納された項目ロジック指示定義情報を前記ポジションである状態遷移と当該状態遷移に関連する伝票とに基づき検索し、起動すべきプログラム及び当該プログラムに出力すべきパラメータのデータを抽出するステップ
を含む付記2記載のワークフロー処理方法。
【0076】
(付記6)
前記ポジション特定ステップにおいて所定の状態遷移を特定した場合、当該特定の状態遷移の遷移前の状態に関連する前記電子フォームに入力されたデータ及び前記特定の状態遷移の遷移先の状態に関するデータを、ワークフロー実行制御情報として登録するステップと、
をさらに含む付記1乃至5のいずれか1つ記載のワークフロー処理方法。
【0077】
(付記7)
前記ポジション特定ステップが、
前記ユーザの端末から特定のワークフロープロセスの識別データを受信した場合、前記特定のワークフロープロセスの識別データに基づき、対応するワークフロー実行制御情報を特定するステップと、
前記対応するワークフロー実行制御情報により現在の状態を特定するステップと、
を含む付記6記載のワークフロー処理方法。
【0078】
(付記8)
前記項目ロジック指示定義情報には、前記状態遷移に関連する伝票のフィールドに対応して起動すべきプログラム及び当該プログラムに出力すべきパラメータのデータとが規定されていることを特徴とする付記5記載のワークフロー処理方法。
【0079】
(付記9)
ユーザの端末から受信したデータに基づき、特定の伝票についてのワークフロープロセスにおける、状態と当該状態間の状態遷移とのいずれかであるポジションを特定するポジション特定ステップと、
前記ポジションに関連する伝票のフォーム・データを取得し、記憶装置に格納する伝票フォーム・データ取得ステップと、
ワークフローの定義に基づき、特定された前記ポジションに関連して前記ユーザにより指示させることの可能な状態遷移のデータを取得し、記憶装置に格納する状態遷移データ取得ステップと、
少なくとも前記伝票のフォーム・データから電子フォーム表示用のデータを、前記状態遷移のデータからボタン表示用のデータを生成し、出力する表示用データ生成ステップと、
をコンピュータに実行させる、プログラム。
【0080】
(付記10)
ユーザの端末から受信したデータに基づき、特定の伝票についてのワークフロープロセスにおける、状態と当該状態間の状態遷移とのいずれかであるポジションを特定するポジション特定手段と、
前記ポジションに関連する伝票のフォーム・データを取得し、記憶装置に格納する伝票フォーム・データ取得手段と、
ワークフローの定義に基づき、特定された前記ポジションに関連して前記ユーザにより指示させることの可能な状態遷移のデータを取得し、記憶装置に格納する状態遷移データ取得手段と、
少なくとも前記伝票のフォーム・データから電子フォーム表示用のデータを、前記状態遷移のデータからボタン表示用のデータを生成し、出力する表示用データ生成手段と、
を有するワークフロー処理装置。
【0081】
【発明の効果】
以上述べたように、ワークフロー処理システムの開発・保守効率の向上を可能とすることができる。
【図面の簡単な説明】
【図1】本発明の一実施の形態における機能ブロックを示す図である。
【図2】電子フォームデザイナ及びプロパティ設定部における処理を説明するための図である。
【図3】電子フォーム定義の一例を示す図である。
【図4】イベント定義の一例を示す図である。
【図5】業務ロジック部品定義の一例を示す図である。
【図6】項目ロジック指示定義の一例を示す図である。
【図7】ワークフロープロセス設定部における処理を説明するための図である。
【図8】ワークフロープロセス定義の一例を示す図である。
【図9】伝票定義の一例を示す図である。
【図10】申請時の処理フローを示す図である。
【図11】起票イベント処理の処理フローを示す図である。
【図12】(a)は電子フォーム部の一例を、(b)はワークフロー部の一例を、(c)は画面表示の一例を示す図である。
【図13】申請イベント処理の処理フローを示す図である。
【図14】ワークフロー実行制御情報の一例を示す図である。
【図15】承認時の処理フローを示す図である。
【図16】承認アクティビティ開始処理の処理フローを示す図である。
【図17】指示入力イベント処理の処理フローを示す図である。
【図18】ワークフローと画面遷移の関係を示す図である。
【符号の説明】
1 LAN 3 ユーザ端末 5 ワークフロー処理システム
7 開発者端末
51 Webサーバ機能 53 伝票コンテナ
55 定義情報DB 57 アクション部品
58 ワークフロー実行制御情報格納部
59 バックグランドシステム
531 電子フォーム制御部
532 ワークフロー制御部
533 イベント制御部
534 ワークフローデータ処理部
591 所属マスタファイル
593 社員マスタファイル
595 各種業務マスタファイル
[0001]
[Technical field to which the invention belongs]
The present invention relates to a workflow processing technique.
[0002]
[Prior art]
In the past, much effort has been required to develop a workflow processing system. The fields on the slip screen that displays the slips handled in the workflow are input fields, display fields, or non-display fields, even if they are the same fields in the same slip, depending on the workflow progress status (current location) of the slip itself. In addition, the input field check logic (format check, master check, unique business logic, etc.) and display field display logic (master reference, calculation logic, format conversion logic, etc.) also change.
[0003]
In addition, workflow programming on the slip screen also applies to the workflow progress and defined workflow, depending on the workflow progress status (current location), such as application, approval / disapproval, remand, recovery, etc. It is necessary to determine whether the button (such as a button provided on the slip screen such as application or approval) is valid, and to proceed with the workflow by executing the workflow function selected by the user's operation.
[0004]
In this way, the slip screen corresponding to the workflow progress status (current location) has a considerable number of variations consisting of combinations with the respective slip forms with respect to variations of the workflow progress status (current location) in each workflow definition. Become.
[0005]
In this situation, in order to appropriately coordinate the programming of the slip field and the workflow programming on the slip screen for each slip style (slip type), the development sharing is the slip screen with workflow for each slip style (slip type). It becomes. The program developer had to understand all of the following matters when developing the slip screen with workflow. (1) Screen design, (2) Workflow control, (3) Slip field logic, (4) Coordination of (1) to (3) (Workflow status (current location) in a certain slip style and workflow definition in which it is used Therefore, for example, (1a) design of slip screen at the time of drafting, (2a) determination of available workflow function (application, etc.) and workflow execution, (3a) each input / output field of the slip Each program developer must perform programming to link the logic of (4a), (1a) to (3a). In this case, there is a problem that even if N people develop, the development period cannot be shortened.
[0006]
Further, for example, Japanese Patent Laid-Open No. 2001-134681 discloses the following technique. That is, an action that can be executed is defined for each worker on the workflow for processing the electronic form. When each worker operates the electronic form, an object such as a button corresponding to the action designated by the worker is displayed on the form image on the operation screen. By manipulating the object, the action is executed. Information about which node on the workflow is currently being processed, what action is defined as valid for that node, and what the status of the transitioned form will be Is set as current form information every time an electronic form moves between nodes by the server program. The client service program will display accordingly accordingly. In this technique, a method for generating a button is described, but a device for improving development efficiency is not disclosed in relation to an electronic form.
[0007]
[Patent Document 1]
JP 2001-134681 A
[0008]
[Problems to be solved by the invention]
As described above, in the conventional workflow processing system, it is necessary to develop as many voucher screens with workflows as the number of voucher formats, so the development burden is large, and it takes time for the program developer to understand the system. The development period and maintenance time could not be shortened due to the sequential development by each person, and there were many problems such as the need for a complete review even when part of the system was changed. This is a major cause of the above-mentioned problems because it has been necessary to adopt a development method in which workflow slip forwarding control and slip screen programming are mixed.
[0009]
Accordingly, an object of the present invention is to provide a technique for enabling the development and maintenance efficiency of a workflow processing system to be improved.
[0010]
[Means for Solving the Problems]
A workflow processing method according to the present invention includes, based on data received from a user terminal, a position specifying step for specifying a position that is either a state or a state transition between the states in a workflow process for a specific slip; , Slip form data acquisition step that acquires the form data related to the position and stores it in the storage device, and the state that can be instructed by the user in relation to the specified position based on the workflow definition A transition data acquisition step for acquiring transition data and storing it in the storage device, and generating at least electronic form display data from the slip form data, and generating button display data from the state transition data, and outputting them Display data generation step. Furthermore, it is possible to minimize correction even during maintenance.
[0011]
In this way, the electronic form display data from the form data of the slip related to the specified position, the button display data from the state transition data that can be instructed by the user based on the workflow definition. Since it is generated, the development work related to the form data of the slip can be separated from the development work related to the workflow. Therefore, the parallelism of development is improved and the burden on each program developer can be reduced.
[0012]
Further, in the present invention, when the specified position is a state transition, the display further includes a program start step for starting a program specified by at least the state transition and a slip related to the state transition. In the data generation step, electronic form display data can be generated by further using data from the program. As described above, since the slip and the program to be executed in relation to the state transition are also started in accordance with the state transition, it can be developed separately from the electronic form display data. Therefore, the development efficiency is improved.
[0013]
Further, in the present invention, when a predetermined state transition is specified in the position specifying step described above, the data input to the electronic form related to the state before the transition of the specific state transition and the transition of the specific state transition The method may further include a step of registering data relating to the previous state as workflow execution control information. Furthermore, a return value from the program started above may be registered. The workflow forwarding control is performed by the workflow definition information and the workflow execution control information, and is processed independently from the form data of the slip.
[0014]
Further, when the position specifying step described above receives the identification data of a specific workflow process from the user's terminal, the step of specifying the corresponding workflow execution control information based on the identification data of the specific workflow process The step of specifying the current state by the workflow execution control information to be performed may be included. For example, this is processing when a user having specific authority approves an application.
[0015]
The above-described method can be implemented by a program and a computer, and the program is stored in a storage medium or storage device such as a flexible disk, a CD-ROM, a magneto-optical disk, a semiconductor memory, or a hard disk. Moreover, it may be distributed as a digital signal via a network or the like. The intermediate processing result is temporarily stored in the memory.
[0016]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 shows a system outline diagram according to an embodiment of the present invention. For example, the network 1 which is a LAN (Local Area Network) has one or a plurality of user terminals 3 having a Web (Web) browser function, for example, with a personal computer, a well-known Web server function 51, and in the present embodiment. A workflow processing system 5 that performs main processing is connected. The network 1 may be connected to a developer terminal 7 that is operated by a developer or a person in charge of maintenance and is a personal computer, for example.
[0017]
In response to a request from the user terminal 3, the workflow processing system 5 generates Web page data (such as an HTML (Hyper Text Markup Language) file and an embedded image file) and transmits the generated data to the user terminal 3. From the web server function 51 that receives input data and the like and outputs it to the slip container 53, the slip container 53 that exchanges data with the web server function 51 and performs the main processing in the present embodiment, and the slip container 53 A definition information DB 55 storing definition information to be referred to, a plurality of action components 57 that are programs executed by the slip container 53 and that perform predetermined processing, and various types of master files that have been conventionally used and actions Background system for exchanging data with component 57 And arm 59, and a workflow execution control information storage unit 58 for storing the workflow execution control information is control information in the execution individual workflow process.
[0018]
The slip container 53 includes an electronic form control unit 531, a workflow control unit 532, an event control unit 533, and a workflow data processing unit 534. Detailed processing of the slip container 53 will be described below. The background system 59 includes an affiliate master file 591, an employee master file 593, various business master files 595, and the like. The background system 59 is not different from the conventional system and will not be described in further detail.
[0019]
The action component 57 is a program, and is composed of, for example, EJB (Enterprise Java Beans: Java is a trademark of Sun Microsystems).
[0020]
As shown in FIG. 2, the developer terminal 7 includes an electronic form designer 71 and an associated property setting unit 73. The developer operates the developer terminal 7 to design the screen of the electronic slip by the electronic form designer 71 according to the provided GUI (Graphical User Interface). The attribute information such as the field name and type of the electronic slip is set for each field by the property setting unit 73. Also, the property setting unit 73 sets attribute information about the entire electronic slip. Along with the screen design data (form data) generated by the electronic form designer 71, the electronic form definition 551 set by the property setting unit 73 for each field and the entire electronic slip is registered in the definition information DB 55, and the slip container 53 Referenced by. An example of the electronic form definition 551 is shown in FIG. The table shown in FIG. 3 includes a slip name column 301, a field name column 302, and a type column 303, and attribute information such as a type is registered for each field provided in the electronic slip. Yes.
[0021]
In addition, the property setting unit 73 also defines what kind of event (state transition) the action component 57 is activated for performing processing for the background system 59 for the electronic slip. In FIG. 2, an event / action tab is selected to define an action component 57 to be activated for a specific field (for example, the number of remaining days). However, the action component 57 to be activated is defined for the entire slip. In the example of FIG. 2, an event is specified in the event input unit 731, an action component is specified in the action component input unit 732, a parameter item name is specified in the parameter item name specifying unit 733, and a parameter is specified in the parameter input unit 734. To do. Note that the event input unit 731 indicates options from the event definition 601 in a combo box format. An example of the event definition 601 is shown in FIG. The table shown in FIG. 4 includes an event name column 311 and a description column 312, and is a list of events that appear in the workflow processing system 5. In the present embodiment, an event definition 601 as shown in FIG. 4 is prepared in advance and is referred to in development work. In the event input unit 731, a combo box is configured by the data in the event name column 311 in FIG. 4.
[0022]
In addition, the action component input unit 732 indicates options from the business logic component definition 602 in a combo box format. An example of the business logic component definition 602 is shown in FIG. The table shown in FIG. 5 has an action part name column 321, a parameter number column 323, and a parameter item name column 324 corresponding to the parameter number, and a column 322 of input information to the component. For each action component, the number of parameters and the parameter item name to which data is to be input are defined. In the present embodiment, a business logic component definition 602 as shown in FIG. 5 is prepared in advance and is referred to in development work. The action component 57 is created according to the business logic component definition 602, and implements a function described in the action component name. In the action component input unit 732, a combo box is configured by the data of the action component name 321 in FIG. When a specific action component 57 is selected in the action component input unit 732, the number of columns for the specific action component 57 is determined from the value of the parameter number column 323 in FIG. item Name The display of the specifying unit 733 (FIG. 2) is expanded in the column direction. The parameter number in the property setting section 73 is 1 for “acquisition of remaining days of annual leave” but 1 for “annual leave application period / number of days check”. Name The display of the specifying unit 733 is automatically expanded into two columns.
[0023]
Further, the parameter item name specifying unit 733 is automatically specified from the business logic component definition 602 based on the action component name selected by the action component input unit 732. For example, since there is only one parameter for “acquisition of remaining days of annual leave”, “target year” is automatically specified. Since the “annual leave application period / number of days check” has two parameters, “target year” and “application period” are specified across two columns in the property setting section 73.
[0024]
The parameter input unit 734 is presented in a combo box format with field name data and system variables (such as% current year) included in the electronic form definition 551 specified in FIG. 3 as options.
[0025]
Thus, according to the screen displayed by the property setting unit 73, the event, action component, parameter item, and parameter are identified and registered as the item logic instruction definition 552. An example of the item logic instruction definition 552 is shown in FIG. The table shown in FIG. 6 includes a slip name column 331, an event name column 332, a field name column 333, an action component column 334, and a parameter information column 335 including parameter item names and parameters. An action component is specified for each combination of slip and event. In some cases, no value is registered in the column of the field name 333. In this case, an action component is defined as the entire slip.
[0026]
As described above, if there is an event definition 601 and a business logic component definition 602 related to a workflow, it is possible to proceed with the development of an electronic voucher without workflow data. Therefore, development efficiency can be improved. In the maintenance, the screen design can be changed without affecting the workflow.
[0027]
Further, as shown in FIG. 7, the developer terminal 7 also includes a workflow process setting unit 75, and the developer operates the developer terminal 7 to design a workflow by the workflow process setting unit 75. In accordance with the provided GUI. For example, a terminal 401 and an activity 403 are represented by using a terminal 401 for start and end, an activity 403 representing a state in the workflow, and an event 402 representing a state transition between the terminal 401 and the activity 403 or between activities. By connecting at event 402, the workflow is defined. Since the event 402 is defined in the event definition 601 (FIG. 4), when specifying an event name (for example, “draft”), for example, an option according to the event definition 601 by right-clicking. Is presented and can be selected. The developer defines all workflows handled in the workflow processing system 5 by the workflow process setting unit 75 and registers them in the definition information DB 55 as workflow process definitions 553. FIG. 8 shows an example of the data of the workflow process definition 553. The table shown in FIG. 8 includes a workflow process name column 341, an activity name column 342, an event name column 343, and a transition destination activity name column 344. For each workflow process, the source activity From which event to which transition destination activity is specified. Since there may be a transition from one activity to many activities, a plurality of records for the same activity may be registered even in one workflow process.
[0028]
When defining a workflow in this way, the event definition 601 is referred to, but other data need not be used. Therefore, development efficiency can be improved. Even in maintenance, a small workflow change does not affect the electronic form definition 551.
[0029]
A slip definition 554 is further registered in the definition information DB 55. An example of the slip definition 554 is shown in FIG. The table shown in FIG. 9 includes a business category name column 351, a slip name column 352, a form name column 353, a workflow process name column 354, an activity name column 355, and an event column 356. including. For example, when an activity name in a specific workflow process is identified or an event name in a specific workflow process is specified, the form data of the electronic slip to be used can be specified.
[0030]
In this way, in the definition information DB 55, the electronic form definition 551, the item logic instruction definition 552, the workflow process definition 553, and the slip definition 554 are registered, and the slip container 53 stores these definition information and action components. 57 and workflow execution control information stored in the workflow execution control information storage unit 58 are used for processing.
[0031]
Hereinafter, the processing flow of the workflow processing system 5 will be described with reference to FIGS. 10 to 18. It is assumed that the user is logged in to the workflow processing system 5 with his / her user ID or the user ID is specified by another method before the processing of FIG. First, the processing flow of application processing will be described. The user operates the user terminal 3 to access a menu page for workflow processing (step S1). The web server function 51 of the workflow processing system 5 transmits the data of the menu page to the user terminal 3 in response to the access from the user terminal 3 (Step S3). The user terminal 3 receives the menu page data from the workflow processing system 5 and displays it on the display device (step S5). It is assumed that the user selects and clicks “annual leave application” in the “work” category, for example, from various slips for various tasks included in the menu page. The user terminal 3 accepts a selection input of “annual leave application” by the user (step S7), and transmits selection data of the “annual leave application” to the workflow processing system 5 (step S9). The web server function 51 of the workflow processing system 5 receives the selection data of “annual leave application” from the user terminal 3 and temporarily stores it in the storage device (step S11), and executes the draft event processing (step S13). . The draft event process will be described with reference to FIG.
[0032]
When the Web server function 51 of the workflow processing system 5 receives the selection data of “annual leave application” as described above, the Web server function 51 notifies the event control unit 533 as a draft event of “annual leave application” (FIG. 11: Step S31). The event control unit 533 receives the “annual leave application” draft event from the Web server function 51, temporarily stores it in the storage device, and notifies the electronic form control unit 531 and the workflow control unit 532 (step S33). .
[0033]
The electronic form control unit 531 receives the “annual leave application” draft event from the event control unit 533, and temporarily stores it in the storage device (step S35). Then, with reference to the slip definition 554 (FIG. 9), the form name corresponding to “annual leave application” is specified, and the corresponding form data is extracted from the electronic form definition 551 by the form name (step S37). . Also, referring to the item logic instruction definition 552 in accordance with the “annual leave application” draft event, the action component 57 related to the draft event is specified, and the action component 57 is activated (step S39). If a parameter is defined in the item logic instruction definition 552, the parameter data is output to the action component 57. Each action component 57 performs a prescribed process, for example, G This is performed for the land system 59. For example, processing such as reading data on the remaining days of vacation registered in the employee master file 593 is performed.
[0034]
Then, the electronic form control unit 531 receives a return value from the action component 57 (step S41), and uses the return value from the action component 57 and the form data read from the electronic form definition 551 to use the electronic form unit. Is generated and temporarily stored in the storage device (step S43). For example, data for a screen as shown in FIG. In the example of FIG. 12A, the start input field 361 of the annual vacation acquisition period, the end input field 362 of the annual vacation acquisition period, and the remaining days display in which the return value from the action component 57 is embedded. A column 363 and a vacation reason selection combo box 364 are provided. Data of such an electronic form part is generated. The electronic form control unit 531 outputs the data of the electronic form unit to the web server function 51 (step S45).
[0035]
The workflow control unit 532 receives the “annual leave application” draft event from the event control unit 533, and temporarily stores it in the storage device (step S47). Then, referring to the workflow process definition 553 (FIG. 8), the transition destination activity of the “annual leave request” event is specified, and the data of the next event having the transition destination activity as the transition source is extracted (see FIG. 8). Step S49). In the example of FIG. 8, an “application” event is extracted. Then, the data of the workflow part is generated based on the data of the next event and temporarily stored in the storage device (step S51). For example, data for a screen as shown in FIG. In the example of FIG. 12B, since an “application” event is extracted, an application button 365 is provided. The application button 365 is a button for generating an application event of “annual leave application”. Data of such a workflow part is generated. The workflow control unit 532 outputs the data of the workflow unit to the web server function 51 (step S53).
[0036]
The Web server function 51 receives the electronic form part data from the electronic form control part 531, receives the workflow part data from the workflow control part 532, and temporarily stores it in the storage device (step S 55). And it returns to the process of FIG. The Web server function 51 generates application form data using the data of the electronic form part and the data of the workflow part, and transmits it to the user terminal 3 (step S15). The user terminal 3 receives the application form data from the workflow processing system 5 and displays it on the display device (step S17). For example, a screen as shown in FIG. 12C is displayed. That is, an electronic form unit 366 is provided in the upper stage, and a workflow unit 367 is provided in the lower stage. It is also possible to reverse the layout of the upper and lower stages. In addition, the button of the workflow unit 367 may not be a button but another clickable button such as a link.
[0037]
In the case of the screen as shown in FIG. 12, the user inputs a vacation start time and a vacation end time in the electronic form section 366, selects a vacation reason, and clicks an application button. The user terminal 3 receives input data and an application instruction for “annual leave application” by the user (step S19), and transmits the input data and data representing the application instruction to the workflow processing system 5 (step S21). The web server function 51 of the workflow processing system 5 receives the input data of “annual leave application” and the data indicating the application instruction from the user terminal 3, and temporarily stores them in the storage device (step S23). Then, application event processing is performed (step S25).
[0038]
The application event process will be described with reference to FIG. The web server function 51 of the workflow processing system 5 notifies the event control unit 533 of the input data of “annual leave application” and the data indicating the application instruction to the event control unit 533 as the input data and application event occurrence (FIG. 13: step S61). . The event control unit 533 receives the input data of “annual leave application” and the notification of occurrence of the application event from the Web server function 51, and notifies the electronic form control unit 531 and the workflow control unit 532 (step S63).
[0039]
When the electronic form control unit 531 receives the input data of “annual leave application” and the notification of occurrence of the application event from the event control unit 533 (step S65), the electronic form control unit 531 refers to the item logic instruction definition 552 and relates to the application event. The action component 57 is activated (step S67). At least a part of the input data of “annual leave application” is passed to the action component 57 as a parameter. The activated action component 57 performs a predetermined process such as checking whether there is a problem in the acquisition start period and the acquisition end period. Although not shown in the figure, the user ID of the forwarding supervisor (approver) is specified by the applicant at the time of application, and is handled as input data for “annual leave application”, for example. Further, the supervisor's e-mail address may be extracted to notify that the application has been submitted for the approval process. Then, the action component 57 outputs a return value to the electronic form control unit 531 based on the processing result. The electronic form control unit 531 receives the return value from the action component 57 (step S69). For example, if there is no problem with the input data of “annual leave application”, the input data, the return value from the action component 57, and the like are output to the workflow control unit 532 (step S71). Note that predetermined processing may be performed on input data of “annual leave application”.
[0040]
When the workflow control unit 532 receives the notification of occurrence of the application event from the event control unit 533 (step S77), the workflow control definition 553 is referred to according to the application event, and the transition source activity name and the transition destination activity name are specified (step S79). ). Then, input data of “annual leave application” or the like is received from the electronic form control unit 531 (step S81), and is output to the workflow data processing unit 534 as registration data together with the data specified from the workflow process definition 553 (step S81). S83). The workflow data processing unit 534 receives the registration data from the workflow control unit 532 (step S85) and registers it in the workflow execution control information storage unit 58.
[0041]
An example of the workflow execution control information is shown in FIG. The table shown in FIG. 14A is a workflow history column including a workflow process ID column 371 for specifying a workflow process for processing one specific slip, and an activity name column and an event name column. 372, a current activity column 373 for indicating the current state of each workflow process, a slip name column 374, a slip content column 375, and a user ID column 376 of the associated user. As shown in the example of FIG. 14A, in the present embodiment, as the workflow execution control information, a plurality of records are registered for the same workflow process ID, and the latest state is indicated by the flag in the column 373 of the current location activity. The record to represent is specified. That is, the flag in the current location activity column 373 of records other than the latest record is OFF.
[0042]
At the application event, since registration is not performed in the workflow process definition 553 in the draft event, a workflow process ID is issued and registered in the workflow process ID column 371. Then, in the workflow history column 372, “application” is registered as the transition source activity name and “application” as the occurrence event name. Further, “annual leave application” is registered in the slip name column 374, and slip data of “annual leave application” is registered in the slip content column 375. Further, the user ID of the applicant is registered in the user ID column 376. As described above, since no registration is performed in the workflow process definition 553 at the time of the draft event, another record is registered. The record includes the transition destination activity (approval 1), the ON flag of the current location activity (circled in FIG. 14 (a)), the slip name (annual leave application), and the user ID (supervisor's user ID). And are included. Other data is registered when the next event occurs. When the processing is executed so far, the workflow execution control information is in the state shown in FIG.
[0043]
When the process ends, the workflow data processing unit 534 notifies the workflow control unit 532 of a process end notification (step S87). Upon receiving the processing end notification from the workflow data processing unit 534, the workflow control unit 532 further notifies the Web server function 51 (step S89). In addition, when an application event occurs, Raka Since the button for generating the event is not presented, the workflow part data is not generated. However, data of a workflow part that does not include a button may be generated and output to the web server function 51.
[0044]
On the other hand, if there is no problem in the return value of the action component 57, the electronic form control unit 531 may be an electronic form unit such as “application has been completed” or “*** has been completed”. Generate data for Note that an electronic form definition 551 used when an application event occurs may be defined, and the electronic form definition 551 may be specified with reference to the slip definition 554. Then, the electronic form control unit 531 outputs the generated electronic form unit data to the Web server function 51 (step S75). Then, the Web server function 51 receives the data of the electronic form unit from the electronic form control unit 531 (Step S91). The web server function 51 also receives a process end notification from the workflow control unit 532.
[0045]
If the return value from the action component 57 is a value indicating that the application is not appropriate, the processing of the electronic form control unit 531 is interrupted, and the processing proceeds to step S15 (FIG. 10). If the return value from the action component 57 is a value indicating that the application is not appropriate, the electronic form control unit 531 proceeds to step S15 (FIG. 10) with respect to the workflow control unit 532 in step S71. Outputs data indicating that If it does so, the process of the workflow control part 532 will be interrupted and a process will transfer to step S15 (FIG. 10). Then, the web server function 51 transmits the held application form data to the user terminal 3.
[0046]
Returning to the processing of FIG. 10, the Web server function 5 1 generates the data of the application acceptance notification page using the received data of the electronic form part (data of the workflow part without buttons in some cases) and transmits it to the user terminal 3 (step S27). The user terminal 3 receives the application acceptance notification page data from the workflow processing system 5 and displays it on the display device (step S29).
[0047]
In this way, the user can make an “annual leave application”. However, not only the annual leave application but also other application processes are performed in the same process. As described above, the electronic form definition 551, the item logic instruction definition 552, the action component 57, and the workflow process definition 553 are developed separately, but the slip container 53 organically links them for processing. In order to carry out, the user can perform processing such as application without feeling any problems. In the slip container 53, the processing related to the workflow process definition 553 and the processing related to the electronic form definition 551 and the item logic instruction definition 552 are almost separated. Processing according to the workflow process definition 553 is performed.
[0048]
Next, the processing flow of the approval process will be described with reference to FIGS. In this case as well, it is assumed that the workflow processing system 5 has already grasped the user ID by login or the like. For example, a user with approval authority operates the user terminal 3 to access an approval page for performing approval processing (step S101). When receiving the access to the approval page from the user terminal 3 (Step S103), the Web server function 51 of the workflow processing system 5 issues an inquiry request for approval including the login ID to the workflow control unit 532 of the slip container 53. Output.
[0049]
When the workflow control unit 532 receives an inquiry request for approval including a login ID, the workflow control unit 532 outputs the request to the workflow data processing unit 534. The workflow data processing unit 534 searches the workflow execution control information storage unit 58 using the login ID as a search key, and is a record in which the ON flag is set in the column 373 of the current location activity, and the login ID is registered as the user ID. Identify records that are current and the current activity is “approved”. Then, the workflow process data for the specified record is read (step S105). The read workflow process data includes, for example, a workflow process ID, a slip name, and a user ID of the user who has applied. In some cases, the user name corresponding to the user ID may be extracted from another database. The workflow process data is output to the workflow control unit 532. Work flow System The control unit 532 outputs the workflow process data to the Web server function 51. Then, when the web server function 51 receives the workflow process data from the workflow control unit 532, the web server function 51 generates data of an approval target selection menu page including data such as the workflow process ID and the slip name, and transmits the data to the user terminal 3 (step). S107). The user terminal 3 receives the data of the approval target selection menu page from the workflow processing system 5 and displays it on the display device (step S109).
[0050]
The user looks at the contents of the approval target selection menu and determines which slip (workflow process) is to be processed. Then, any one slip (workflow process) is selected, and a button corresponding to the slip is clicked. The user terminal 3 receives an approval target selection input from the user (step S111), and transmits approval target selection data (workflow process ID) to the workflow processing system 5 (step S113). The web server function 51 of the workflow processing system 5 receives the approval target selection data (workflow process ID) from the user terminal 3 and temporarily stores it in the storage device (step S115). Then, an approval activity start process is performed (step S117).
[0051]
The approval activity start process will be described with reference to FIG. The Web server function 51 outputs the received approval target workflow process ID to the event control unit 533 (step S141). When receiving the approval target workflow process ID from the Web server function 51, the event control unit 533 notifies the electronic form control unit 531 and the workflow control unit 532 of the approval target workflow process ID (step S143). The electronic form control unit 531 receives the approval target workflow process ID from the event control unit 533 (step S145). The workflow control unit 532 receives the approval target workflow process ID from the event control unit 533 (step S147), and outputs it to the workflow data processing unit 534 (step S148). Upon receiving the approval target workflow process ID from the workflow control unit 532 (step S149), the workflow data processing unit 534 searches the workflow execution control information storage unit 58 with the approval target workflow process ID, extracts related data, and extracts the workflow. It outputs to the control part 532 (step S151). The related data is, for example, a current activity name, a workflow process name, the contents of a slip registered by a previous event, and the like.
[0052]
Upon receiving the related data of the workflow execution control information corresponding to the approval target workflow process ID from the workflow data processing unit 534, the workflow control unit 532 further outputs the data to the electronic form control unit 531 (step S153). The electronic form control unit 531 receives the related data of the workflow execution control information corresponding to the approval target workflow process ID (step S155). Then, the slip definition 554 is referred to based on the workflow process name and the current activity name included in the received data, and the corresponding electronic form definition 551 is specified (step S157). Using the electronic form definition 551 and the data received from the workflow control unit 532 (for example, the contents of the previous slip), the electronic form unit data is generated and temporarily stored in the storage device (step S159). Finally, the electronic form control unit 531 outputs the data of the electronic form unit to the web server function 51 (step S161).
[0053]
The workflow control unit 532 refers to the workflow process definition 553 based on the workflow name and the current activity name included in the related data of the workflow execution control information corresponding to the approval target workflow process ID, and can generate an event (next event) that can occur from the current activity. ) Information is specified (step S163). Then, data of the workflow unit is generated using the information of the next event, and is temporarily stored in the storage device (step S165). Then, the generated workflow section data is output to the Web server function 51 (step S167).
[0054]
The Web server function 51 receives data of the electronic form unit from the electronic form control unit 531 and data of the workflow unit from the workflow control unit 532 (step S169). For example, data for displaying a “Approve” button and a “Deny” button is generated.
[0055]
Returning to the processing of FIG. 15, the Web server function 51 generates approval instruction page data using the received data of the electronic form part and the data of the workflow part, and transmits it to the user terminal 3 (step S119). The user terminal 3 receives the approval instruction page data from the workflow processing system 5 and displays it on the display device (step S121).
[0056]
The user refers to the approval instruction page and determines whether to approve. If you decide to approve, enter the reason for approval and then click the “Approve” button. If you decide not to approve, enter the reason for rejection and click the “Decline” button. To do. In some cases, the reason is not entered. In some cases, another data must be input. The user terminal 3 receives input data and instruction input by the user (step S123), and transmits the input data and instruction input to the workflow processing system 5 (step S125).
[0057]
The web server function 51 of the workflow processing system 5 receives input data and instruction input data on the approval instruction page from the user terminal 3, and temporarily stores them in the storage device (step S127). Then, an instruction input event process is performed (step S129). This instruction input event process will be described with reference to FIG.
[0058]
The web server function 51 of the workflow processing system 5 converts the input data and the instruction input data on the approval instruction page into the input data and the instruction input event occurrence (for example, “pass” event or “decision” event (in some cases, “return”). "Event))" is notified to the event control unit 533 (FIG. 17: step S171). The event control unit 533 receives the input data of the approval instruction page and the notification of the occurrence of the instruction input event from the web server function 51, and notifies the electronic form control unit 531 and the workflow control unit 532 (step S173).
[0059]
When the electronic form control unit 531 receives the input data on the approval instruction page and the notification of the occurrence of the instruction input event from the event control unit 533 (step S175), the electronic form control unit 531 refers to the item logic instruction definition 552 and performs an action related to the instruction input event. The component 57 is activated (step S177). In some cases, at least part of the input data on the approval instruction page is passed to the action component 57 as a parameter. The activated action component 57 performs a predetermined process such as reconfirming the authorization authority. In addition, there may be a process of reading the user ID of a higher-level approver from the affiliation master file 591 of the background system 59. Further, the e-mail address of a higher-level approver may be extracted and notified. Then, the action component 57 outputs a return value to the electronic form control unit 531 based on the processing result. The electronic form control unit 531 receives the return value from the action component 57 (step S179). For example, if there is no problem with the instruction input event, the input data on the approval instruction page, the return value from the action component 57, and the like are output to the workflow control unit 532 (step S181). Note that a predetermined process may be performed on the input data on the approval instruction page.
[0060]
When the workflow control unit 532 receives a notification of the occurrence of the instruction input event from the event control unit 533 (step S185), the workflow control unit 532 refers to the workflow process definition 553 according to the instruction input event and specifies the transition source activity name and the transition destination activity name ( Step S187). Then, the input data on the approval instruction page is received from the electronic form control unit 531 (step S189), and is output to the workflow data processing unit 534 as registration data together with the data specified from the workflow process definition 553 (step S191). The workflow data processing unit 534 receives registration data from the workflow control unit 532 (step S193) and registers it in the workflow execution control information storage unit 58.
[0061]
Registration in the workflow execution control information storage unit 58 will be described with reference to FIGS. 14 (a) and 14 (b). In the current activity column 373 (FIG. 14A), the ON flag is set in the row where the workflow process ID is 00001 and the activity name is “approval 1”. If the event name is “approved” after confirming the transition source activity name “approved”, “approved” is registered in the event name column, and the input data on the approval instruction page is set as approval 1 slip data in the slip content column 375. sign up. The same is true for the “no” event. Further, in order to register the transition destination activity, a new line is generated, “00001” is set in the workflow process ID column 371, “approval 2” is set in the activity name column in the workflow history column 372, and the current location activity is registered. The ON flag is registered in the column 373, “annual leave application” is registered in the column 374 of the slip name, and the user ID of the higher approver is registered in the column 376 of the user ID. At this time, the ON flag of the current location activity in the row of the event name “approved” with the activity name “approval 1” is reset. When the processing is executed so far, the workflow execution control information is in the state shown in FIG. In the case of a “denied” event, the transition destination activity is “application”, and the user ID of the applicant is registered in the user ID column 376. For example, FIG. 14C shows a state in which “approval 2” is “no”. In FIG. 14C, in the row of the activity name “approval 2”, “decision” is registered in the event name column, and the input data on the approval instruction page is registered as approval 2 slip data in the slip content column 375. For example, data such as the reason for rejection is included. Then, the ON flag of the current location activity in the row of the activity name “approval 2” is reset, and a row of activity name “application” is newly added. In the row of the activity name “application”, “annual leave application” is registered in the slip name column 374, and the user ID of the applicant is registered in the user ID column 376. Then, an ON flag is set in the current location activity column of the row.
[0062]
When the process is completed, the workflow data processing unit 534 notifies the workflow control unit 532 of a process end notification (step S195). Upon receiving the process end notification from the workflow data processing unit 534, the workflow control unit 532 notifies the Web server function 51 (step S197). What happens to the approver at the time of the “Approval” event? Raka Since the button for generating the event is not presented, the workflow part data is not generated. However, data of a workflow part that does not include a button may be generated and output to the web server function 51.
[0063]
On the other hand, if there is no problem in the return value by the action component 57, the electronic form control unit 531 has been “passed” for example, ““ Approved ”has been registered” or “***”. The data of the electronic form part is generated. Note that the electronic form definition 551 used when the approval event occurs may be defined, and the electronic form definition 551 may be specified with reference to the slip definition 554. Then, the electronic form control unit 531 outputs the generated electronic form unit data to the Web server function 51 (step S183). Then, the web server function 51 receives data of the electronic form unit from the electronic form control unit 531 (step S199). The web server function 51 receives a process end notification from the workflow control unit 532.
[0064]
If the return value from the action component 57 is a value indicating that a problem has occurred or that a problem has been detected, the process of the electronic form control unit 531 is interrupted, and the process proceeds to step S119 (FIG. 15). Transition. If the return value from the action component 57 is a value indicating that it is not appropriate, the electronic form control unit 531 sends data indicating that the process proceeds to step S119 (FIG. 15) to the workflow control unit 532 in step S181. Output. If it does so, the process of the workflow control part 532 will be interrupted and a process will transfer to step S119.
[0065]
Returning to the processing of FIG. 15, the Web server function 5 1 generates the data of the instruction completion notification page using the received data of the electronic form part (data of the workflow part without buttons in some cases) and transmits it to the user terminal 3 (step S131). The user terminal 3 receives the instruction completion notification page data from the workflow processing system 5 and displays it on the display device (step S133).
[0066]
In this way, a user who is an approver can perform an approval process. However, not only the annual leave application but also other application processes are performed in the same process. Furthermore, in addition to “Approve” and “Negative”, a “Return” button is provided in the workflow section when the determination “Return” can be made. Also in that case, the processing of FIG. 17 is basically performed. However, the action component 57 for notifying the previous approver (and / or the applicant) of the return is activated, the return is registered in the workflow execution control information, and the current location activity is also “approved * (* is 1). Represents the number of the previous approval activity) ”. At this time, the history is registered by further adding records. After the return, the same is true in that it starts from the “Approve *” activity.
[0067]
FIG. 18 outlines typical workflow examples and screen transitions. As shown in the upper part of FIG. 18, a transition is made from the start to the application activity by the draft event, a transition from the application activity to the approval 1 activity by the application event, a transition from the approval 1 activity to the approval 2 activity by the approval event, and an approval 2 activity. From the final approval activity to the final approval activity, and the final approval activity ends with the approval event. In addition, a transition is made from an approval 1 activity, an approval 2 activity, or a final approval activity to an application activity due to a rejection event. Transition from the approval 2 activity to the approval 1 activity by the return event, and from the final approval activity to the approval 2 activity by the return event. In the application activity in such a workflow, as shown in the lower part of FIG. 18, the electronic form part includes an electronic form for application, and the workflow part includes a Web page including an “apply” button that is an event that can occur. . In the approval 1 activity, the electronic form part includes an electronic form of approval 1, and the workflow part includes a Web page including “approved” and “denied” buttons that are events that can occur. In the approval 2 activity, an electronic form of approval 2 is configured in the electronic form section, and a web page including “pass”, “decline”, and “return” buttons that are events that can occur in the workflow section is configured. In the final approval activity, the electronic form section includes a final approval electronic form, and the workflow section includes a Web page including “pass”, “denial”, and “send back” buttons that can be generated events. As described above, the electronic form unit is generated by the electronic form control unit 531 and the workflow unit is generated by the workflow control unit 532, and the electronic form control unit 531 and the workflow control unit 532 exchange data. Basically, the electronic form definition 551, the item logic instruction definition 552, and the workflow process definition 553, which are separately developed, are used separately, and an appropriate screen display is performed according to the workflow process definition 553. Can do.
[0068]
Although the embodiment of the present invention has been described above, the present invention is not limited to this. For example, the definition data format registered in the definition information DB 55 is not limited to the format described above, but may be registered in other formats including similar data or additional data. Also, the functional block division in the workflow processing system 5 is an example, and the program module may not be created as illustrated. In particular, the workflow control unit 532 and the workflow data processing unit 534 may be created as one module.
[0069]
In addition, although the configuration in which the return value from the action component 57 is notified from the electronic form control unit 531 to the workflow control unit 532 is shown, it may be notified directly from the action component 57 to the workflow control unit 532. In that case, if the input data or the like is notified from the event control unit 533, communication between the workflow control unit 532 and the electronic form control unit 531 can be reduced.
[0070]
Furthermore, although the configuration in which the workflow execution control information storage unit 58 is referred to via the workflow control unit 532 and the workflow data processing unit 534 is shown, the electronic form control unit 531 requests the workflow data processing unit 534 directly. It is also possible to adopt such a configuration.
[0071]
(Appendix 1)
A position identifying step for identifying a position that is either a state or a state transition between the states in a workflow process for a specific slip based on data received from a user terminal;
Obtaining slip form data related to the position, and storing the slip form data in a storage device;
A state transition data acquisition step of acquiring state transition data that can be instructed by the user in relation to the specified position based on a workflow definition, and storing the data in a storage device;
A display data generation step for generating and outputting data for electronic form display from at least the form data of the slip, and data for button display from the state transition data; and
And a workflow processing method executed by a computer.
[0072]
(Appendix 2)
A program start step for starting a program specified by at least the state transition and a slip related to the state transition when the specified position is a state transition
Further including
In the display data generation step, the electronic form display data is generated by further using data from the program.
The workflow processing method according to supplementary note 1, wherein:
[0073]
(Appendix 3)
A step of determining execution of the state transition data acquisition step based on data from the program;
The workflow processing method according to appendix 2, further comprising:
[0074]
(Appendix 4)
The slip form data acquisition step includes:
Searching the slip definition information stored in the slip definition information storage unit based on the identified position and identifying the corresponding slip;
Searching the electronic form definition information stored in the electronic form definition information storage unit based on the specified slip and identifying the corresponding form data;
The workflow processing method according to any one of supplementary notes 1 to 3, including:
[0075]
(Appendix 5)
The program starting step includes
The item logic instruction definition information stored in the item logic instruction definition information storage unit is searched based on the state transition as the position and the slip related to the state transition, and the program to be started and the parameters to be output to the program Step to extract data
The workflow processing method according to appendix 2, including:
[0076]
(Appendix 6)
When the predetermined state transition is specified in the position specifying step, the data input to the electronic form related to the state before the transition of the specific state transition and the data related to the transition destination state of the specific state transition, Registering as workflow execution control information;
The workflow processing method according to any one of appendices 1 to 5, further including:
[0077]
(Appendix 7)
The position specifying step includes
When receiving identification data of a specific workflow process from the user terminal, identifying corresponding workflow execution control information based on the identification data of the specific workflow process;
Identifying the current state from the corresponding workflow execution control information;
The workflow processing method according to appendix 6, including:
[0078]
(Appendix 8)
Item 5. The item logic instruction definition information defines a program to be started in correspondence with a slip field related to the state transition and parameter data to be output to the program. Workflow processing method.
[0079]
(Appendix 9)
A position identifying step for identifying a position that is either a state or a state transition between the states in a workflow process for a specific slip based on data received from a user terminal;
Obtaining slip form data related to the position, and storing the slip form data in a storage device;
A state transition data acquisition step of acquiring state transition data that can be instructed by the user in relation to the specified position based on a workflow definition, and storing the data in a storage device;
A display data generation step for generating and outputting data for electronic form display from at least the form data of the slip, and data for button display from the state transition data; and
A program that causes a computer to execute.
[0080]
(Appendix 10)
Based on data received from the user's terminal, a position specifying means for specifying a position that is either a state or a state transition between the states in a workflow process for a specific slip;
Slip form data acquisition means for acquiring slip form data related to the position and storing it in a storage device;
State transition data acquisition means for acquiring state transition data that can be instructed by the user in relation to the specified position based on a workflow definition, and storing the data in a storage device;
Display data generation means for generating and outputting data for electronic form display from at least form data of the slip, and data for button display from the data of the state transition;
A workflow processing apparatus.
[0081]
【The invention's effect】
As described above, the development and maintenance efficiency of the workflow processing system can be improved.
[Brief description of the drawings]
FIG. 1 is a diagram showing functional blocks in an embodiment of the present invention.
FIG. 2 is a diagram for explaining processing in an electronic form designer and a property setting unit.
FIG. 3 is a diagram illustrating an example of an electronic form definition.
FIG. 4 is a diagram illustrating an example of an event definition.
FIG. 5 is a diagram illustrating an example of a business logic component definition.
FIG. 6 is a diagram illustrating an example of an item logic instruction definition.
FIG. 7 is a diagram for explaining processing in a workflow process setting unit.
FIG. 8 is a diagram illustrating an example of a workflow process definition.
FIG. 9 is a diagram illustrating an example of a slip definition.
FIG. 10 is a diagram showing a processing flow at the time of application.
FIG. 11 is a diagram showing a processing flow of draft event processing.
12A is a diagram illustrating an example of an electronic form unit, FIG. 12B is a diagram illustrating an example of a workflow unit, and FIG. 12C is a diagram illustrating an example of a screen display;
FIG. 13 is a diagram showing a processing flow of application event processing;
FIG. 14 is a diagram illustrating an example of workflow execution control information.
FIG. 15 is a diagram showing a processing flow at the time of approval.
FIG. 16 is a diagram showing a process flow of an approval activity start process.
FIG. 17 is a diagram illustrating a processing flow of instruction input event processing;
FIG. 18 is a diagram illustrating a relationship between a workflow and screen transition.
[Explanation of symbols]
1 LAN 3 User terminal 5 Workflow processing system
7 Developer terminal
51 Web server function 53 Voucher container
55 Definition information DB 57 Action parts
58 Workflow execution control information storage
59 Background system
531 Electronic Form Control Unit
532 Workflow control unit
533 event control unit
534 Workflow data processing unit
591 Affiliation master file
593 Employee Master File
595 Various business master files

Claims (4)

各伝票のフォーム・データを含む電子フォーム定義、伝票名と当該伝票に係る状態、状態遷移及びワークフロープロセスの識別データとを含む伝票定義、並びに、状態と当該状態において発生し得る状態遷移と当該状態遷移による遷移先の状態とを含むワークフロープロセス定義を格納する定義情報データベースと、ワークフロープロセスにおける現在の状態を示すデータを含むワークフロー実行制御情報を格納するワークフロー実行制御情報格納部と、記憶装置とにアクセス可能なコンピュータにより実行されるワークフロー処理方法であって、
ユーザの端末から特定のワークフロープロセスの識別データを受信した場合には、当該特定のワークフロープロセスの識別データを基に前記ワークフロー実行制御情報格納部を検索し、前記特定のワークフロープロセスに対応する前記ワークフロー実行制御情報に含まれる前記現在の状態をポジションとして特定し、又は、前記ユーザの端末から特定の伝票に関する所定の指示を受信した場合には、当該所定の指示に応じた状態遷移を前記ポジションとして特定するポジション特定ステップと、
受信した前記特定のワークフロープロセスの識別データ又は受信した前記所定の指示に係る前記特定の伝票の伝票名と、前記ポジション特定ステップにおいて特定された前記ポジションとを基に前記伝票定義を検索し、当該ポジションに関連する伝票を特定し、特定した伝票のフォーム・データを前記電子フォーム定義から取得し、前記記憶装置に格納する伝票フォーム・データ取得ステップと、
前記ポジション特定ステップにおいて特定された前記ポジションが状態を示している場合には、当該状態において発生し得る状態遷移のデータを前記ワークフロープロセス定義から取得して前記記憶装置に格納し、又は、前記ポジション特定ステップにおいて特定された前記ポジションが状態遷移を示している場合には、前記ワークフロープロセス定義から当該状態遷移に対応する前記遷移先の状態を特定し、特定した前記遷移先の状態において発生し得る状態遷移のデータを前記ワークフロープロセス定義から取得して前記記憶装置に格納する状態遷移データ取得ステップと、
少なくとも前記記憶装置に格納された、前記伝票のフォーム・データから電子フォーム表示用のデータを生成し、前記記憶装置に格納された、前記状態遷移のデータからボタン表示用のデータを生成し、出力する表示用データ生成ステップと、
を含ワークフロー処理方法。
Electronic form definition including form data of each slip, slip definition including slip name and state related to the slip, state transition and workflow process identification data, and state transition that can occur in the state and the state A definition information database that stores a workflow process definition including a transition destination state by a transition, a workflow execution control information storage unit that stores workflow execution control information including data indicating a current state in the workflow process, and a storage device A workflow processing method executed by an accessible computer,
When the identification data of a specific workflow process is received from a user terminal, the workflow execution control information storage unit is searched based on the identification data of the specific workflow process, and the workflow corresponding to the specific workflow process When the current state included in the execution control information is specified as a position, or when a predetermined instruction related to a specific slip is received from the user terminal, a state transition corresponding to the predetermined instruction is set as the position. A position identification step to identify;
The slip definition is searched based on the received identification data of the specific workflow process or the slip name of the specific slip related to the received predetermined instruction and the position specified in the position specifying step. identify the documents associated with the position, and acquires the form data of the specified document from the electronic form definition, a slip form data obtaining step of storing in the storage device,
When the position specified in the position specifying step indicates a state, state transition data that can occur in the state is acquired from the workflow process definition and stored in the storage device, or the position When the position specified in the specifying step indicates a state transition, the transition destination state corresponding to the state transition is specified from the workflow process definition, and can occur in the specified transition destination state A state transition data acquisition step of acquiring state transition data from the workflow process definition and storing it in the storage device;
Stored in at least said storage device generates data for electronic form displayed from the form data of the document, stored in said storage device, generates data for button display from the state transition data output Display data generation step to be performed;
Including workflow processing methods.
前記定義情報データベースが、伝票名と状態遷移と起動すべきプログラムの識別データとを含む項目ロジック指示定義をさらに格納し、
前記ポジション特定ステップにおいて特定されたポジションが状態遷移を示している場合、少なくとも当該状態遷移と当該状態遷移に関連する伝票の伝票名を基に前記項目ロジック指示定義を検索し、前記状態遷移と当該状態遷移に関連する伝票の伝票名とに対応する前記プログラムを特定し、当該プログラムを起動するプログラム起動ステップ
をさらに含み、
前記表示用データ生成ステップにおいて、前記プログラムからのデータをさらに用いて前記電子フォーム表示用のデータを生成する
ことを特徴とする請求項1記載のワークフロー処理方法。
The definition information database further stores an item logic instruction definition including a slip name, state transition, and identification data of a program to be activated;
When the position specified in the position specifying step indicates a state transition, the item logic instruction definition is searched based on at least the state transition and a slip name of a slip related to the state transition, and the state transition A program starting step of specifying the program corresponding to the slip name of the slip related to the state transition and starting the program;
The workflow processing method according to claim 1, wherein, in the display data generation step, the data for displaying the electronic form is generated by further using data from the program.
前記ポジション特定ステップにおいて特定された前記ポジションが状態遷移を示している場合、当該状態遷移の遷移前の状態に関連する前記電子フォームに入力されたデータ及び当該状態遷移の遷移先の状態に関するデータを、前記ワークフロー実行制御情報として前記ワークフロー実行制御情報格納部に登録するステップ
さらに含む請求項1又は2記載のワークフロー処理方法。
If the position identified in said position identifying step indicates a state transition, the data relating to the destination state of the electronic form to the input data and the state transitions associated with the state before transition of the state transition , the step of registering the workflow execution control information storage unit as the workflow execution control information
The workflow processing method according to claim 1 or 2 , further comprising:
各伝票のフォーム・データを含む電子フォーム定義、伝票名と当該伝票に係る状態、状態遷移及びワークフロープロセスの識別データとを含む伝票定義、並びに、状態と当該状態において発生し得る状態遷移と当該状態遷移による遷移先の状態とを含むワークフロープロセス定義を格納する定義情報データベースと、ワークフロープロセスにおける現在の状態を示すデータを含むワークフロー実行制御情報を格納するワークフロー実行制御情報格納部と、記憶装置とにアクセス可能なコンピュータに、
ユーザの端末から特定のワークフロープロセスの識別データを受信した場合には、当該特定のワークフロープロセスの識別データを基に前記ワークフロー実行制御情報格納部を検索し、前記特定のワークフロープロセスに対応する前記ワークフロー実行制御情報に含まれる前記現在の状態をポジションとして特定し、又は、前記ユーザの端末から特定の伝票に関する所定の指示を受信した場合には、当該所定の指示に応じた状態遷移を前記ポジションとして特定するポジション特定ステップと、
受信した前記特定のワークフロープロセスの識別データ又は受信した前記所定の指示に係る前記特定の伝票の伝票名と、前記ポジション特定ステップにおいて特定された前記ポジションとを基に前記伝票定義を検索し、当該ポジションに関連する伝票を特定し、特定した伝票のフォーム・データを前記電子フォーム定義から取得し、前記記憶装置に格納する伝票フォーム・データ取得ステップと、
前記ポジション特定ステップにおいて特定された前記ポジションが状態を示している場合には、当該状態において発生し得る状態遷移のデータを前記ワークフロープロセス定義から取得して前記記憶装置に格納し、又は、前記ポジション特定ステップにおいて特定された前記ポジションが状態遷移を示している場合には、前記ワークフロープロセス定義から当該状態遷移に対応する前記遷移先の状態を特定し、特定した前記遷移先の状態において発生し得る状態遷移のデータを前記ワークフロープロセス定義から取得して前記記憶装置に格納する状態遷移データ取得ステップと、
少なくとも前記記憶装置に格納された、前記伝票のフォーム・データから電子フォーム表示用のデータを生成し、前記記憶装置に格納された、前記状態遷移のデータからボタン表示用のデータを生成し、出力する表示用データ生成ステップと、
行させる、プログラム。
Electronic form definition including form data of each slip, slip definition including slip name and state related to the slip, state transition and workflow process identification data, and state transition that can occur in the state and the state A definition information database that stores a workflow process definition including a transition destination state by a transition, a workflow execution control information storage unit that stores workflow execution control information including data indicating a current state in the workflow process, and a storage device On an accessible computer,
When the identification data of a specific workflow process is received from a user terminal, the workflow execution control information storage unit is searched based on the identification data of the specific workflow process, and the workflow corresponding to the specific workflow process When the current state included in the execution control information is specified as a position, or when a predetermined instruction related to a specific slip is received from the user terminal, a state transition corresponding to the predetermined instruction is set as the position. A position identification step to identify;
The slip definition is searched based on the received identification data of the specific workflow process or the slip name of the specific slip related to the received predetermined instruction and the position specified in the position specifying step. identify the documents associated with the position, and acquires the form data of the specified document from the electronic form definition, a slip form data obtaining step of storing in the storage device,
When the position specified in the position specifying step indicates a state, state transition data that can occur in the state is acquired from the workflow process definition and stored in the storage device, or the position When the position specified in the specifying step indicates a state transition, the transition destination state corresponding to the state transition is specified from the workflow process definition, and can occur in the specified transition destination state A state transition data acquisition step of acquiring state transition data from the workflow process definition and storing it in the storage device;
Stored in at least said storage device generates data for electronic form displayed from the form data of the document, stored in said storage device, generates data for button display from the state transition data output Display data generation step to be performed;
It is allowed to run the program.
JP2003087501A 2003-03-27 2003-03-27 Workflow processing method and program Expired - Fee Related JP4307122B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003087501A JP4307122B2 (en) 2003-03-27 2003-03-27 Workflow processing method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003087501A JP4307122B2 (en) 2003-03-27 2003-03-27 Workflow processing method and program

Publications (2)

Publication Number Publication Date
JP2004295516A JP2004295516A (en) 2004-10-21
JP4307122B2 true JP4307122B2 (en) 2009-08-05

Family

ID=33401873

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003087501A Expired - Fee Related JP4307122B2 (en) 2003-03-27 2003-03-27 Workflow processing method and program

Country Status (1)

Country Link
JP (1) JP4307122B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7610584B2 (en) * 2004-01-02 2009-10-27 International Business Machines Corporation Method, system, and product for defining and managing provisioning states for resources in provisioning data processing systems
US7853607B2 (en) * 2006-08-25 2010-12-14 Sap Ag Related actions server

Also Published As

Publication number Publication date
JP2004295516A (en) 2004-10-21

Similar Documents

Publication Publication Date Title
US6279006B1 (en) Structured data management system and computer-readable recording medium storing structured data management program
US7600182B2 (en) Electronic data capture and verification
JP4972254B2 (en) Integrated method for creating refreshable web queries
US7089268B2 (en) Document management method and document management system
US20080104523A1 (en) Apparatus and method for extracting and sharing information
US20070261035A1 (en) System and method for software prototype-development and validation and for automatic software simulation re-grabbing
US7467122B2 (en) System for aiding the design of product configuration
Abb et al. A reference data model for process-related user interaction logs
JPH11167584A (en) Page shift method and its execution device and medium recording page shift processing program and data
CN114201615B (en) Scientific research data change review method and server based on data snapshot
JP2010015458A (en) Program correction support system, program correction support method, and program correction support program
JPH0895767A (en) Program generating method using program component
JP4307122B2 (en) Workflow processing method and program
JP2004038759A (en) System and method for cooperating application and program for performing the method
JP6231260B2 (en) Screen control system, screen control program, screen creation support program, and screen control method
US20030154263A1 (en) Server program
JP6925590B1 (en) Servers that generate integrated usage log data and how they operate
JP2003044526A (en) Method and program for design analysis
JP2001100999A (en) Rule base system
JP2003256633A (en) Verification method, verification program and verification system for business flow data
JP3646376B2 (en) Information management apparatus and information management method
JP2005174256A (en) File search device and program
JP2007034807A (en) Information processor and program
JP2017182661A (en) Program creation support system
JP2006146677A (en) Application development support system, data format generation method using the same, and data processing system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060301

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090107

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4307122

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120515

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130515

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130515

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees