JP4307122B2 - ワークフロー処理方法及びプログラム - Google Patents
ワークフロー処理方法及びプログラム Download PDFInfo
- 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
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
【発明が属する技術分野】
本発明は、ワークフローの処理技術に関する。
【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サーバ機能51は、受信した電子フォーム部のデータ(場合によってはボタンのないワークフロー部のデータ)を用いて申請受け付け通知ページのデータを生成し、ユーザ端末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サーバ機能51は、受信した電子フォーム部のデータ(場合によってはボタンのないワークフロー部のデータ)を用いて指示完了通知ページのデータを生成し、ユーザ端末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 各種業務マスタファイル
Claims (4)
- 各伝票のフォーム・データを含む電子フォーム定義、伝票名と当該伝票に係る状態、状態遷移及びワークフロープロセスの識別データとを含む伝票定義、並びに、状態と当該状態において発生し得る状態遷移と当該状態遷移による遷移先の状態とを含むワークフロープロセス定義を格納する定義情報データベースと、ワークフロープロセスにおける現在の状態を示すデータを含むワークフロー実行制御情報を格納するワークフロー実行制御情報格納部と、記憶装置とにアクセス可能なコンピュータにより実行されるワークフロー処理方法であって、
ユーザの端末から特定のワークフロープロセスの識別データを受信した場合には、当該特定のワークフロープロセスの識別データを基に前記ワークフロー実行制御情報格納部を検索し、前記特定のワークフロープロセスに対応する前記ワークフロー実行制御情報に含まれる前記現在の状態をポジションとして特定し、又は、前記ユーザの端末から特定の伝票に関する所定の指示を受信した場合には、当該所定の指示に応じた状態遷移を前記ポジションとして特定するポジション特定ステップと、
受信した前記特定のワークフロープロセスの識別データ又は受信した前記所定の指示に係る前記特定の伝票の伝票名と、前記ポジション特定ステップにおいて特定された前記ポジションとを基に前記伝票定義を検索し、当該ポジションに関連する伝票を特定し、特定した伝票のフォーム・データを前記電子フォーム定義から取得し、前記記憶装置に格納する伝票フォーム・データ取得ステップと、
前記ポジション特定ステップにおいて特定された前記ポジションが状態を示している場合には、当該状態において発生し得る状態遷移のデータを前記ワークフロープロセス定義から取得して前記記憶装置に格納し、又は、前記ポジション特定ステップにおいて特定された前記ポジションが状態遷移を示している場合には、前記ワークフロープロセス定義から当該状態遷移に対応する前記遷移先の状態を特定し、特定した前記遷移先の状態において発生し得る状態遷移のデータを前記ワークフロープロセス定義から取得して前記記憶装置に格納する状態遷移データ取得ステップと、
少なくとも前記記憶装置に格納された、前記伝票のフォーム・データから電子フォーム表示用のデータを生成し、前記記憶装置に格納された、前記状態遷移のデータからボタン表示用のデータを生成し、出力する表示用データ生成ステップと、
を含むワークフロー処理方法。 - 前記定義情報データベースが、伝票名と状態遷移と起動すべきプログラムの識別データとを含む項目ロジック指示定義をさらに格納し、
前記ポジション特定ステップにおいて特定されたポジションが状態遷移を示している場合、少なくとも当該状態遷移と当該状態遷移に関連する伝票の伝票名とを基に前記項目ロジック指示定義を検索し、前記状態遷移と当該状態遷移に関連する伝票の伝票名とに対応する前記プログラムを特定し、当該プログラムを起動するプログラム起動ステップ
をさらに含み、
前記表示用データ生成ステップにおいて、前記プログラムからのデータをさらに用いて前記電子フォーム表示用のデータを生成する
ことを特徴とする請求項1記載のワークフロー処理方法。 - 前記ポジション特定ステップにおいて特定された前記ポジションが状態遷移を示している場合、当該状態遷移の遷移前の状態に関連する前記電子フォームに入力されたデータ及び当該状態遷移の遷移先の状態に関するデータを、前記ワークフロー実行制御情報として前記ワークフロー実行制御情報格納部に登録するステップ
をさらに含む請求項1又は2記載のワークフロー処理方法。 - 各伝票のフォーム・データを含む電子フォーム定義、伝票名と当該伝票に係る状態、状態遷移及びワークフロープロセスの識別データとを含む伝票定義、並びに、状態と当該状態において発生し得る状態遷移と当該状態遷移による遷移先の状態とを含むワークフロープロセス定義を格納する定義情報データベースと、ワークフロープロセスにおける現在の状態を示すデータを含むワークフロー実行制御情報を格納するワークフロー実行制御情報格納部と、記憶装置とにアクセス可能なコンピュータに、
ユーザの端末から特定のワークフロープロセスの識別データを受信した場合には、当該特定のワークフロープロセスの識別データを基に前記ワークフロー実行制御情報格納部を検索し、前記特定のワークフロープロセスに対応する前記ワークフロー実行制御情報に含まれる前記現在の状態をポジションとして特定し、又は、前記ユーザの端末から特定の伝票に関する所定の指示を受信した場合には、当該所定の指示に応じた状態遷移を前記ポジションとして特定するポジション特定ステップと、
受信した前記特定のワークフロープロセスの識別データ又は受信した前記所定の指示に係る前記特定の伝票の伝票名と、前記ポジション特定ステップにおいて特定された前記ポジションとを基に前記伝票定義を検索し、当該ポジションに関連する伝票を特定し、特定した伝票のフォーム・データを前記電子フォーム定義から取得し、前記記憶装置に格納する伝票フォーム・データ取得ステップと、
前記ポジション特定ステップにおいて特定された前記ポジションが状態を示している場合には、当該状態において発生し得る状態遷移のデータを前記ワークフロープロセス定義から取得して前記記憶装置に格納し、又は、前記ポジション特定ステップにおいて特定された前記ポジションが状態遷移を示している場合には、前記ワークフロープロセス定義から当該状態遷移に対応する前記遷移先の状態を特定し、特定した前記遷移先の状態において発生し得る状態遷移のデータを前記ワークフロープロセス定義から取得して前記記憶装置に格納する状態遷移データ取得ステップと、
少なくとも前記記憶装置に格納された、前記伝票のフォーム・データから電子フォーム表示用のデータを生成し、前記記憶装置に格納された、前記状態遷移のデータからボタン表示用のデータを生成し、出力する表示用データ生成ステップと、
を実行させる、プログラム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003087501A JP4307122B2 (ja) | 2003-03-27 | 2003-03-27 | ワークフロー処理方法及びプログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003087501A JP4307122B2 (ja) | 2003-03-27 | 2003-03-27 | ワークフロー処理方法及びプログラム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2004295516A JP2004295516A (ja) | 2004-10-21 |
| JP4307122B2 true JP4307122B2 (ja) | 2009-08-05 |
Family
ID=33401873
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2003087501A Expired - Fee Related JP4307122B2 (ja) | 2003-03-27 | 2003-03-27 | ワークフロー処理方法及びプログラム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4307122B2 (ja) |
Families Citing this family (2)
| 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 |
-
2003
- 2003-03-27 JP JP2003087501A patent/JP4307122B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2004295516A (ja) | 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 | |
| JP4399127B2 (ja) | 文書管理方法及び装置並びにその処理プログラム及びそれを格納した記憶媒体 | |
| US20080104523A1 (en) | Apparatus and method for extracting and sharing information | |
| JP2005063404A (ja) | Xmlドリブンアーキテクチャにおける情報処理方法及びプログラム | |
| JPH11167584A (ja) | ページ遷移方法及びその実施装置並びにその処理プログラムとデータを記録した媒体 | |
| JP2010015458A (ja) | プログラム修正支援システム、プログラム修正支援方法、およびプログラム修正支援プログラム | |
| JP4307122B2 (ja) | ワークフロー処理方法及びプログラム | |
| JP6336922B2 (ja) | 業務バリエーションに基づく業務影響箇所抽出方法および業務影響箇所抽出装置 | |
| JP4043251B2 (ja) | サーバプログラム | |
| JP2004038759A (ja) | アプリケーション連携システム、アプリケーション連携方法およびその方法を実行するためのプログラム | |
| JP2003150762A (ja) | プロジェクト情報連携方法およびシステム | |
| JP6231260B2 (ja) | 画面制御システム、画面制御プログラム、画面作成支援プログラム及び画面制御方法 | |
| JP2001100999A (ja) | ルールベースシステム | |
| JP2012164177A (ja) | プログラム自動生成システム | |
| JPH0588863A (ja) | プログラム開発支援システム | |
| JP7545187B1 (ja) | ラベル付与システム、ラベル生成システム、ラベル付与方法、ラベル生成方法、ラベル付与プログラム、及びラベル生成プログラム | |
| JP7618529B2 (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
| JP2005174256A (ja) | ファイル検索装置およびファイル検索プログラム | |
| JP2002132516A (ja) | プログラム実行システム | |
| JP3646376B2 (ja) | 情報管理装置及び情報管理方法 | |
| JP2026059658A (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
| JP2006146677A (ja) | アプリケーションの開発支援システム及びこの開発支援システムを用いたデータフォーマット生成方法並びにデータ処理システム | |
| WO2026053400A1 (ja) | タスク一覧生成方法、タスク一覧生成システム、およびプログラム | |
| CN118626436A (zh) | 信息处理装置、记录介质及信息处理方法 |
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 |