(57)【特許請求の範囲】
【請求項１】
電子封筒を利用し、サーバとクライアントがネットワークに接続されて構成されるワークフローシステムであって、
前記電子封筒には、前記電子封筒に含まれるデータと、前記電子封筒に含ませるデータのすべて或いは一部を対象データとし、前記対象データに対して前記クライアントが実行する処理内容を示す制御コードを記述するタグが含まれ、前記クライアントには、前記制御コードを解釈し、前記対象データに対して前記制御コードに応じた処理を実行する電子封筒利用手段を備え、前記サーバは、前記クライアントから受信した前記電子封筒を処理する電子封筒処理手段を備え、
前記電子封筒には、前記対象データを添付ファイルとし、前記電子封筒に埋め込む複数の添付ファイルを前記クライアントのユーザに選択させるための入力フィールドAを記述するタグと、前記添付ファイルのチェックに係わる所定の処理を示す制御コードAを記述するタグと、前記添付ファイルのデジタル署名を所定のデジタル署名生成アルゴリズムに従い生成する処理を示す制御コードBを記述するタグと、前記添付ファイル及び前記デジタル署名を前記電子封筒に埋め込むタグが少なくとも含まれ、
前記クライアントの前記電子封筒利用手段は、前記制御コードAに従い、前記入力フィールドAで選択された前記添付ファイルそれぞれをチェックした後、前記添付ファイルに対応するデジタル署名生成鍵を用いて、前記制御コードBで示されるデジタル署名生成アルゴリズムに従い、前記入力フィールドAで入力された前記添付ファイルのデジタル署名を生成し、前記添付ファイルと該デジタル署名を関連付けて電子封筒の所定のタグに埋め込む処理を少なくとも実行し、
前記制御コードAとして、前記電子封筒には、前記添付ファイルのファイル名を示す制御コードが含まれ、記電子封筒利用手段は、前記電子封筒に含められた前記添付ファイルのファイル名が、該制御コードで示されるファイル名と一致することを確認する処理を実行することを特徴とするワークフローシステム。
【請求項２】
電子封筒を利用し、サーバとクライアントがネットワークに接続されて構成されるワークフローシステムであって、
前記電子封筒には、前記電子封筒に含まれるデータと、前記電子封筒に含ませるデータのすべて或いは一部を対象データとし、前記対象データに対して前記クライアントが実行する処理内容を示す制御コードを記述するタグが含まれ、前記クライアントには、前記制御コードを解釈し、前記対象データに対して前記制御コードに応じた処理を実行する電子封筒利用手段を備え、前記サーバは、前記クライアントから受信した前記電子封筒を処理する電子封筒処理手段を備え、
前記電子封筒には、前記対象データを添付ファイルとし、前記電子封筒に埋め込む複数の添付ファイルを前記クライアントのユーザに選択させるための入力フィールドAを記述するタグと、前記添付ファイルのチェックに係わる所定の処理を示す制御コードAを記述するタグと、前記添付ファイルのデジタル署名を所定のデジタル署名生成アルゴリズムに従い生成する処理を示す制御コードBを記述するタグと、前記添付ファイル及び前記デジタル署名を前記電子封筒に埋め込むタグが少なくとも含まれ、
前記クライアントの前記電子封筒利用手段は、前記制御コードAに従い、前記入力フィールドAで選択された前記添付ファイルそれぞれをチェックした後、前記添付ファイルに対応するデジタル署名生成鍵を用いて、前記制御コードAで示されるデジタル署名生成アルゴリズムに従い、前記入力フィールドAで入力された前記添付ファイルのデジタル署名を生成し、前記添付ファイルと該デジタル署名を関連付けて電子封筒の所定のタグに埋め込む処理を少なくとも実行し、
前記制御コードAとして、前記電子封筒には、前記添付ファイルの最大容量を示す制御コードが含まれ、前記電子封筒利用手段は、前記電子封筒に含められた前記添付ファイルの容量が該制御コードで示される最大容量以下であることを確認する処理を実行することを特徴とするワークフローシステム。
【請求項３】
電子封筒を利用し、サーバとクライアントがネットワークに接続されて構成されるワークフローシステムであって、
前記電子封筒には、前記電子封筒に含まれるデータと、前記電子封筒に含ませるデータのすべて或いは一部を対象データとし、前記対象データに対して前記クライアントが実行する処理内容を示す制御コードを記述するタグが含まれ、前記クライアントには、前記制御コードを解釈し、前記対象データに対して前記制御コードに応じた処理を実行する電子封筒利用手段を備え、前記サーバは、前記クライアントから受信した前記電子封筒を処理する電子封筒処理手段を備え、
前記電子封筒には、前記対象データを添付ファイルとし、前記電子封筒に埋め込む複数の添付ファイルを前記クライアントのユーザに選択させるための入力フィールドAを記述するタグと、前記添付ファイルのチェックに係わる所定の処理を示す制御コードAを記述するタグと、前記添付ファイルのデジタル署名を所定のデジタル署名生成アルゴリズムに従い生成する処理を示す制御コードBを記述するタグと、前記添付ファイル及び前記デジタル署名を前記電子封筒に埋め込むタグが少なくとも含まれ、
前記クライアントの前記電子封筒利用手段は、前記制御コードAに従い、前記入力フィールドAで選択された前記添付ファイルそれぞれをチェックした後、前記添付ファイルに対応するデジタル署名生成鍵を用いて、前記制御コードAで示されるデジタル署名生成アルゴリズムに従い、前記入力フィールドAで入力された前記添付ファイルのデジタル署名を生成し、前記添付ファイルと該デジタル署名を関連付けて電子封筒の所定のタグに埋め込む処理を少なくとも実行し、
前記制御コードAとして、前記電子封筒には、前記添付ファイルのデータ形式を示す制御コードが含まれ、前記電子封筒利用手段は、前記電子封筒に含められた前記添付ファイルのデータ形式が、該制御コードで示されるデータ形式であることを確認する処理を実行することを特徴とするワークフローシステム。
【請求項４】
電子封筒を利用し、サーバとクライアントがネットワークに接続されて構成されるワークフローシステムであって、
前記電子封筒には、前記電子封筒に含まれるデータと、前記電子封筒に含ませるデータのすべて或いは一部を対象データとし、前記対象データに対して前記クライアントが実行する処理内容を示す制御コードを記述するタグが含まれ、前記クライアントには、前記制御コードを解釈し、前記対象データに対して前記制御コードに応じた処理を実行する電子封筒利用手段を備え、前記サーバは、前記クライアントから受信した前記電子封筒を処理する電子封筒処理手段を備え、
前記電子封筒には、前記対象データを添付ファイルとし、前記電子封筒に埋め込む複数の添付ファイルを前記クライアントのユーザに選択させるための入力フィールドAを記述するタグと、前記添付ファイルのチェックに係わる所定の処理を示す制御コードAを記述するタグと、前記添付ファイルのデジタル署名を所定のデジタル署名生成アルゴリズムに従い生成する処理を示す制御コードBを記述するタグと、前記添付ファイル及び前記デジタル署名を前記電子封筒に埋め込むタグが少なくとも含まれ、
前記クライアントの前記電子封筒利用手段は、前記制御コードAに従い、前記入力フィールドAで選択された前記添付ファイルそれぞれをチェックした後、前記添付ファイルに対応するデジタル署名生成鍵を用いて、前記制御コードAで示されるデジタル署名生成アルゴリズムに従い、前記入力フィールドAで入力された前記添付ファイルのデジタル署名を生成し、前記添付ファイルと該デジタル署名を関連付けて電子封筒の所定のタグに埋め込む処理を少なくとも実行し、
前記制御コードAとして、前記電子封筒には、前記電子封筒に含ませる前記添付ファイルのファイル数を示す制御コードが含まれ、前記電子封筒利用手段は、前記電子封筒に含められた前記添付ファイルの数が、該制御コードで示された数であることを確認する処理を実行することを特徴とするワークフローシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の部門や人が係る一連の業務処理を行うワークフローシステムおよび方法に関し、更に詳しくは、電子封筒を利用したワークフローシステムおよび方法に関する。
【背景技術】
【０００２】
インターネットやＬＡＮ（Local Area Netwrok）の普及により、複数の部門や人が係る一連の業務処理を行うワークフローシステムが構築されるようになった。ワークフローシステムにおいて、担当者がワークを処理するごとに基幹となる基幹業務サーバにアクセスすると、クライアントからの処理要求がサーバに集中し、処理時間が長くなるばかりか、サーバが停止してしまうケースが発生するため、サーバの負荷を低減させる様々な手法が用いられている。
【０００３】
サーバの負荷を低減させる一つの技法としては、クライアントサーバシステムを多階層化する技法が知られている。例えば、３階層クライアントサーバシステムは、基幹業務サーバは１台のサーバで構成されず、クライアントの窓口となるＷｅｂサーバと、処理を実行するアプリケーションサーバと、データを記憶するデータベースサーバとの３台のサーバから構成され、窓口となるサーバと処理を実行するサーバとを分離させることで、処理を効率化させる。
【０００４】
また、複数の同じ機能を有するサーバを利用することで、一台ごとのサーバの負荷を分散させる発明も開示されている。例えば、特許文献１では、サーバごとにアクセスしているクライアントの数を負荷として管理し、複数あるサーバのうち負荷の最も少ないサーバに、クライアントからの処理要求を割当てる発明である。
【特許文献１】特開２００２−２６９０６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した技術は、ワークフローシステム用などで構築されるクライアントサーバシステムの基幹業務サーバの負荷を低減させる技術として、基幹業務サーバの処理能力を高める技術、或いは、複数の同じ機能を有するサーバを用いて負荷を分散させる技術であって、サーバで実行される処理をクライアントで処理させることはできなかった。実際、基幹業務サーバで実行される処理の中には、基幹業務サーバで処理する内容の一部をクライアントに負わせた方がよい処理も存在する。
【０００６】
例えば、クライアントから送信される添付ファイルのチェックである。クライアントから複数の添付ファイルを基幹業務サーバ送るときには、クライアントから添付ファイルを1個ずつ個別に基幹業務サーバ送り、基幹業務サーバ側で、クライアントから送信された添付ファイルをチェックし、関連のあるものに関して紐付け処理を行っている。
【０００７】
クライアントから送信された添付ファイルのどれか1つのファイルにミスがあった場合、基幹業務サーバ側での処理が複雑になり不具合が発生してしまうケースがある。このため、添付ファイルのチェックは、サーバよりもむしろクライアントで行えることが望ましい。
【０００８】
そこで、本発明は、複数の部門や人が係る一連の業務処理を行うワークフローシステムにおいて、基幹業務サーバがクライアントに対して、ワークフローに係る処理の一部を委任することができるワークフローシステムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決するための第１の発明は、電子封筒を利用し、サーバとクライアントがネットワークに接続されて構成されるワークフローシステムであって、前記電子封筒には、前記電子封筒に含まれるデータと、前記電子封筒に含ませるデータのすべて或いは一部を対象データとし、前記対象データに対して前記クライアントが実行する処理内容を示す制御コードを記述するタグが含まれ、前記クライアントには、前記制御コードを解釈し、前記対象データに対して前記制御コードに応じた処理を実行する電子封筒利用手段を備え、前記サーバは、前記クライアントから受信した前記電子封筒を処理する電子封筒処理手段を備え、前記電子封筒には、前記対象データを添付ファイルとし、前記電子封筒に埋め込む複数の添付ファイルを前記クライアントのユーザに選択させるための入力フィールドAを記述するタグと、前記添付ファイルのチェックに係わる所定の処理を示す制御コードAを記述するタグと、前記添付ファイルのデジタル署名を所定のデジタル署名生成アルゴリズムに従い生成する処理を示す制御コードBを記述するタグと、前記添付ファイル及び前記デジタル署名を前記電子封筒に埋め込むタグが少なくとも含まれ、前記クライアントの前記電子封筒利用手段は、前記制御コードAに従い、前記入力フィールドAで選択された前記添付ファイルそれぞれをチェックした後、前記添付ファイルに対応するデジタル署名生成鍵を用いて、前記制御コードBで示されるデジタル署名生成アルゴリズムに従い、前記入力フィールドAで入力された前記添付ファイルのデジタル署名を生成し、前記添付ファイルと該デジタル署名を関連付けて電子封筒の所定のタグに埋め込む処理を少なくとも実行し、前記制御コードAとして、前記電子封筒には、前記添付ファイルのファイル名を示す制御コードが含まれ、記電子封筒利用手段は、前記電子封筒に含められた前記添付ファイルのファイル名が、該制御コードで示されるファイル名と一致することを確認する処理を実行することを特徴とするワークフローシステムである。
【００１０】
更に、第２の発明は、電子封筒を利用し、サーバとクライアントがネットワークに接続されて構成されるワークフローシステムであって、前記電子封筒には、前記電子封筒に含まれるデータと、前記電子封筒に含ませるデータのすべて或いは一部を対象データとし、前記対象データに対して前記クライアントが実行する処理内容を示す制御コードを記述するタグが含まれ、前記クライアントには、前記制御コードを解釈し、前記対象データに対して前記制御コードに応じた処理を実行する電子封筒利用手段を備え、前記サーバは、前記クライアントから受信した前記電子封筒を処理する電子封筒処理手段を備え、
前記電子封筒には、前記対象データを添付ファイルとし、前記電子封筒に埋め込む複数の添付ファイルを前記クライアントのユーザに選択させるための入力フィールドAを記述するタグと、前記添付ファイルのチェックに係わる所定の処理を示す制御コードAを記述するタグと、前記添付ファイルのデジタル署名を所定のデジタル署名生成アルゴリズムに従い生成する処理を示す制御コードBを記述するタグと、前記添付ファイル及び前記デジタル署名を前記電子封筒に埋め込むタグが少なくとも含まれ、前記クライアントの前記電子封筒利用手段は、前記制御コードAに従い、前記入力フィールドAで選択された前記添付ファイルそれぞれをチェックした後、前記添付ファイルに対応するデジタル署名生成鍵を用いて、前記制御コードAで示されるデジタル署名生成アルゴリズムに従い、前記入力フィールドAで入力された前記添付ファイルのデジタル署名を生成し、前記添付ファイルと該デジタル署名を関連付けて電子封筒の所定のタグに埋め込む処理を少なくとも実行し、前記制御コードAとして、前記電子封筒には、前記添付ファイルの最大容量を示す制御コードが含まれ、前記電子封筒利用手段は、前記電子封筒に含められた前記添付ファイルの容量が該制御コードで示される最大容量以下であることを確認する処理を実行することを特徴とするワークフローシステムである。
【００１１】
更に、第３の発明は、電子封筒を利用し、サーバとクライアントがネットワークに接続されて構成されるワークフローシステムであって、前記電子封筒には、前記電子封筒に含まれるデータと、前記電子封筒に含ませるデータのすべて或いは一部を対象データとし、前記対象データに対して前記クライアントが実行する処理内容を示す制御コードを記述するタグが含まれ、前記クライアントには、前記制御コードを解釈し、前記対象データに対して前記制御コードに応じた処理を実行する電子封筒利用手段を備え、前記サーバは、前記クライアントから受信した前記電子封筒を処理する電子封筒処理手段を備え、前記電子封筒には、前記対象データを添付ファイルとし、前記電子封筒に埋め込む複数の添付ファイルを前記クライアントのユーザに選択させるための入力フィールドAを記述するタグと、前記添付ファイルのチェックに係わる所定の処理を示す制御コードAを記述するタグと、前記添付ファイルのデジタル署名を所定のデジタル署名生成アルゴリズムに従い生成する処理を示す制御コードBを記述するタグと、前記添付ファイル及び前記デジタル署名を前記電子封筒に埋め込むタグが少なくとも含まれ、前記クライアントの前記電子封筒利用手段は、前記制御コードAに従い、前記入力フィールドAで選択された前記添付ファイルそれぞれをチェックした後、前記添付ファイルに対応するデジタル署名生成鍵を用いて、前記制御コードAで示されるデジタル署名生成アルゴリズムに従い、前記入力フィールドAで入力された前記添付ファイルのデジタル署名を生成し、前記添付ファイルと該デジタル署名を関連付けて電子封筒の所定のタグに埋め込む処理を少なくとも実行し、前記制御コードAとして、前記電子封筒には、前記添付ファイルのデータ形式を示す制御コードが含まれ、前記電子封筒利用手段は、前記電子封筒に含められた前記添付ファイルのデータ形式が、該制御コードで示されるデータ形式であることを確認する処理を実行することを特徴とするワークフローシステムである。
【００１２】
更に、第４の発明は、電子封筒を利用し、サーバとクライアントがネットワークに接続されて構成されるワークフローシステムであって、前記電子封筒には、前記電子封筒に含まれるデータと、前記電子封筒に含ませるデータのすべて或いは一部を対象データとし、前記対象データに対して前記クライアントが実行する処理内容を示す制御コードを記述するタグが含まれ、前記クライアントには、前記制御コードを解釈し、前記対象データに対して前記制御コードに応じた処理を実行する電子封筒利用手段を備え、前記サーバは、前記クライアントから受信した前記電子封筒を処理する電子封筒処理手段を備え、前記電子封筒には、前記対象データを添付ファイルとし、前記電子封筒に埋め込む複数の添付ファイルを前記クライアントのユーザに選択させるための入力フィールドAを記述するタグと、前記添付ファイルのチェックに係わる所定の処理を示す制御コードAを記述するタグと、前記添付ファイルのデジタル署名を所定のデジタル署名生成アルゴリズムに従い生成する処理を示す制御コードBを記述するタグと、前記添付ファイル及び前記デジタル署名を前記電子封筒に埋め込むタグが少なくとも含まれ、前記クライアントの前記電子封筒利用手段は、前記制御コードAに従い、前記入力フィールドAで選択された前記添付ファイルそれぞれをチェックした後、前記添付ファイルに対応するデジタル署名生成鍵を用いて、前記制御コードAで示されるデジタル署名生成アルゴリズムに従い、前記入力フィールドAで入力された前記添付ファイルのデジタル署名を生成し、前記添付ファイルと該デジタル署名を関連付けて電子封筒の所定のタグに埋め込む処理を少なくとも実行し、前記制御コードAとして、前記電子封筒には、前記電子封筒に含ませる前記添付ファイルのファイル数を示す制御コードが含まれ、前記電子封筒利用手段は、前記電子封筒に含められた前記添付ファイルの数が、該制御コードで示された数であることを確認する処理を実行することを特徴とするワークフローシステムである。
【発明の効果】
【００１３】
上述した本発明によれば、前記対象データとして前記添付ファイルを前記ユーザに選択させるための前記入力フィールドAと、前記添付ファイルのチェックに係わる所定の処理を示す制御コードを示すタグを前記電子封筒に含ませ、前記クライアントに備えられた前記電子封筒利用手段が、前記制御コードを解釈し、前記入力フィールドAを利用して前記ユーザが選択した前記添付ファイルに前記制御コードで示される処理を実行することで、前記電子封筒に前記制御コードを記述さえしておけば、前記基幹業務サーバから前記クライアントに対して、ワークフローに係る処理として前記添付ファイルのチェックに係わる所定の処理を委任することができる。
【００１４】
また、デジタル署名用の前記制御コードを前記電子封筒に含ませることで、デジタル署名の生成に関する様々な条件を容易に設定できる。例えば、前記対象データごとに使用する前記デジタル署名生成鍵を変更することもできるし、すべての前記対象データで同一の前記デジタル署名生成鍵を利用することもできる。すべての前記対象データで同一の前記デジタル署名生成鍵を利用するときは、前記ユーザは一つの前記デジタル署名生成鍵を選択すればよいので、前記ユーザの作業負荷を減らすことができる。
【００１５】
なお、前記添付ファイルのチェックに係わる所定の処理を示す制御コードとして、前記添付ファイルのファイル名、容量、およびデータ形式や前記添付ファイルのファイル数を確認するための制御コードを含ませておけば、前記添付ファイルのファイル名、容量、およびデータ形式や前記添付ファイルのファイル数を事前に前記クライアント側でチェックすることで、前記添付ファイルの不備による前記基幹業務サーバのトラブルを低減させることができる。
【発明を実施するための最良の形態】
【００１６】
以下に、本発明の実施の形態について図面を参照しながら説明する。図１は、本発明を適用したワークフローシステムの構成を説明する図である。図１に示したワークフローシステムは、ユーザが利用する複数のクライアント２と基幹業務サーバ１とがネットワーク４を介して接続されている。
【００１７】
基幹業務サーバ１およびクライアント２のそれぞれには、電子封筒３を利用するためのアプリケーションがインストールされている。また、クライアント２が電子封筒３を処理する内容を示す制御コードが記述されたワークフロー定義データが、電子封筒３には埋め込まれている。
【００１８】
クライアント２で電子封筒３を処理するときは、クライアント２にインストールされたこのアプリケーションが電子封筒３に埋め込まれた制御コードを解釈し、制御コードで示される処理が実行されることで、電子封筒３に埋め込まれる添付ファイルなどがチェックされる。
【００１９】
図２は、図１で示したワークフローシステムのブロック図である。基幹業務サーバ１には、電子封筒３を記憶する電子封筒データベース（DB: DataBase）１２と、クライアント２に電子封筒３を提供するための電子封筒提供手段１０と、クライアント２から送信された電子封筒３を処理するためのアプリケーションである電子封筒処理プログラム１１とが備えられている。
【００２０】
また、それぞれのクライアント２には、基幹業務サーバから電子封筒３を受信し、受信した電子封筒３を利用するためのアプリケーションである電子封筒利用プログラム２０と、電子封筒３に添付される添付ファイル５や、電子封筒３などを記憶するための情報記憶手段２１（例えば、ハードディスク）とを備えている。
【００２１】
基幹業務サーバ１に備えられた電子封筒提供手段１０は、申請業務を処理するための窓口となるＷｅｂサイトで実現され、電子封筒提供手段１０は、クライアント２から要求のあった電子封筒３をクライアント２に対して送信する。なお、クライアント２に送信する電子封筒３は、基幹業務サーバ１に備えられた電子封筒データベース１２に記憶されている。
【００２２】
図３は、基幹業務サーバ１に記憶されている電子封筒３の構造を説明する図である。図３に示したように、電子封筒３には、電子封筒３の書式に関するデータなどが格納されるヘッダフィールド３０と、電子封筒３のコンテンツが記述されるメッセージフィールド３１と、電子封筒３全体のデジタル署名が格納される署名フィールド３２を有している。なお、図３に示した電子封筒３の構造は一例にしか過ぎず、電子封筒３の構造は任意に変更することができる。
【００２３】
電子封筒３のメッセージフィールド３１には、電子封筒３の電子フォームをクライアント２に表示するためのデータであるフォームデータ３１０と、ワークフローを定義するワークフロー定義データ３１１が含まれる。このワークフロー定義データ３１１には、クライアント２でデータを入力するための入力フィールドを表示するメッセージ、そして、クライアント２における処理を示した制御コードが記述される。
【００２４】
フォームデータ３１０とは、申請書の用紙を電子的にクライアントに表示するためのデータで、クライアント２に備えられた電子封筒利用プログラム２０が電子封筒３を開封しフォームデータ３１０を読み取ることで、クライアント２に電子封筒３の電子フォームが表示される。
【００２５】
このフォームデータ３１０には、データを入力するための入力フィールドは設けられておらず、上述しているように入力フィールドを表示するメッセージは、ワークフロー定義データ３１１に記述されている。
【００２６】
図４は、ワークフロー定義データ３１１の一例を示した図である。ワークフロー定義データ３１１は、ＸＭＬなどの構造化文書で記述され、クライアント２で処理するワークは<Work>タグ６０で定義される。
【００２７】
<Work>タグ６０のWorkID属性は、<Work>タグ６０を識別するデータで、ここでは「０１」である。<Work>タグ６０のActivity属性はクライアント２を識別するデータで、ここでは「０１」である。また、Operation属性の値は、ワークの完了を意味するデータで、ここでは、「unexec」は未完了を意味し、「exec」は完了を意味する。Operation属性の値は、処理したクライアント２によって、「unexec」から「exec」へと書換えられて、業務基幹サーバ１に電子封筒３は返信される。
【００２８】
<Work>タグ６０には、入力フィールドを表示するためのメッセージが<InputField>タグ６１に記述され、入力されたデータの処理内容を示す制御コードが<ControlCode>タグ６２に記述される。
【００２９】
図５は、入力フィールドに関するメッセージを説明する図で、図５（ａ）は入力フィールドを表示するメッセージを説明する図で、図５（ｂ）は、フォームデータ３１０に記述され、入力フィールドで入力されたデータを電子封筒３に埋め込むためのメッセージを説明する図である。
【００３０】
図５（ａ）に示したように、ＸＭＬなどと同様に、クライアント２に表示される入力フィールドを表示するメッセージは<Form>タグ６３で記述される。なお、<Form>タグ６３のname属性は、この<Form>タグ６３で入力されるデータの変数名で、その他のタグから参照可能である。ここでは、添付ファイル５を選択するための入力フィールドが、少なくとも、<Form>タグ６３に記述されている。
【００３１】
複数の添付ファイル５を電子ファイル３に埋め込むときは、電子封筒３に埋め込まれる添付ファイル５ごとに、<Form>タグ６３が<InputField>タグ６１に記述される。また、添付ファイル５のデジタル署名を生成するときは、デジタル署名に利用されるデジタル署名鍵を選択するための<From>タグ６３が<InputField>タグ６１に記述され、添付ファイル５ごとに異なるデジタル署名鍵を利用したいときは、デジタル署名に利用されるデジタル署名鍵を選択するための複数の<From>タグ６３が<InputField>タグ６１に記述される。また、すべての添付ファイル５に共通のデジタル署名鍵を利用したいときは、一つのデジタル署名に利用されるデジタル署名鍵を選択するための一つの<From>タグ６３が<InputField>タグ６１に記述される。なお、<InputField>タグ６１をフォームデータ３１０に含ませていないため、同じフォームデータ３１０であってもデータの入力方法を変更できる。
【００３２】
図５（ｂ）は、入力フィールドで入力されたデータを電子封筒３に埋め込むためのメッセージを説明する図で、フォームデータ３１０には、入力フィールドで入力されたデータを埋め込むために、<Item>タグ６４が記述されている。<Work>タグ６０に記述された入力フィールドで入力されたデータは、ItemID属性がWorkID属性と同じ値である<Item>タグ６４間に埋め込まれる。
【００３３】
添付ファイル５を埋め込むときは、<Item>タグ６４間に<Attachment>タグ６５が記述され、電子封筒３に埋め込まれる添付ファイル５の変数名は、<Attachment>タグ６５のname属性で示される。例えば、図５（ａ）の入力フィールドで選択され、変数名が「kosekitouhon」である添付ファイル５は、後述するように圧縮されて、name属性が「kosekitouhon」である<Attachment>タグ６５に埋め込まれる。
【００３４】
図６では、添付ファイル５を処理する制御コードを示している。図６に示したように、制御コードはタグを用いて表記され、クライアント２の電子封筒利用プログラム２０が実行する処理の内容はタグの名称で示される。
【００３５】
<SignatureInfo>タグ７０はデジタル署名に関する制御コードを記述するタグで、<AlgorithmID>タグ７１はデジタル署名生成アルゴリズムを記述するタグで、デジタル署名の生成に利用するデジタル署名生成アルゴリズムがこのタグのデータで示される。また、<Signaturekey>タグ７２は、電子封筒３が封緘されるときに、添付ファイル５に付加したデジタル署名を検証するための暗号鍵を記述するタグで、入力フィールドでユーザが選択したデジタル署名検証用の暗号鍵（例えば、公開鍵証明書）が埋め込まれる。
【００３６】
<AttachGuide>タグ７３の間に記述されているそれぞれのタグは添付ファイル５の処理を示すタグである。
【００３７】
<NumberofAttach>タグ７４は、WorkID属性が「０１」の<Work>タグ６０添付される添付ファイル５の数を示す制御コードで、図６は「０１」で、WorkID属性が「０１」の<Work>タグ６０で選択された添付ファイル５の数は、<NumberofAttach>タグ７４のデータと同じ数でなければならない。
【００３８】
更に、<File>タグ７５では、添付される添付ファイル５ごとの制御コードが記述され、図６において<File>タグ７５は一つであるが、複数の添付ファイル５が添付されるときは、複数の<File>タグ７５が記述され、それぞれの<File>タグ７５はＳｅｑ属性によって識別される。なお、Seq属性には連番（例えば、「00001」）が付加される。
【００３９】
<FileName>タグ７５ａ、<FileID>タグ７５ｂ、<AcceptableExt>タグ７５ｃおよび<SizeLimit>タグ７５ｄは、添付ファイル５をチェックする内容を示すタグで、<SignatureFlag>タグ７５ｅおよび<Commpression>タグ７５ｆは、添付ファイル５を電子封筒３に埋め込むための処理を示すタグである。更に、<MessageDialog>タグ７５ｇには、制御コードが解釈・実行されたときのエラーメッセージを示す<Message>タグ７５ｈが記述される。
【００４０】
<File>タグ７５の間に記述される制御コードの対象となる添付ファイル５のファイル名は、<FileName>タグ７５ａで示される。例えば、図６において、連番が「00001」の<File>タグ７５で対象となる添付ファイル５のファイル名は「戸籍謄本」である。
【００４１】
更に、制御コードで処理した後、添付ファイル５を電子封筒３に埋め込む<Attachment>タグ６５のname属性は、<FileID>タグ７５ｂのデータで示されている。図６において、Ｓｅｑ属性が「00001」の<File>タグ７５では、「kosekitouhon」である。
【００４２】
<AcceptableExt>タグ７５ｃでは、添付ファイル５に対し要求されるデータ形式が示され、図６では、連番が「00001」の<File>タグ７５で対象となる添付ファイル５の形式はＧＩＦ形式であることが要求されている。更に、<SizeLimit>タグ７５ｄでは、添付ファイル５の最大サイズ容量が示され、図６では、連番が「00001」の<File>タグ７５で対象となる添付ファイル５の容量は１０Ｋバイト以内であることが要求されている。
【００４３】
<SignatureReq>タグ７５ｅではデジタル署名の有無が示され、図６では、<SignatureReq>タグ７５ｅのFlag属性は"Enable"でるため、Ｓｅｑ属性が「00001」の<File>タグ７５で対象となる添付ファイル５には、<File>タグ７５内の<SignatureInfo>タグ７０で示されるの内容に従ってデジタル署名が付加される。なお、この添付ファイル５のデジタル署名は、図５（ｂ）の<Signature>タグ６６に埋め込まれる。
【００４４】
なお、<File>タグ７５が複数あるときは、<SignatureInfo>タグ７０で示されるの内容に従って、<SignatureReq>タグ７５ｅのFlag属性は"Enable"であるすべての添付ファイル５のデジタル署名が算出され、電子封筒３に埋め込まれる。
【００４５】
また、<Commpression>タグ７５ｆの間では、添付ファイル５を圧縮するときの圧縮形式（ＺＩＰなど）を示し、連番が「00001」の<File>タグ７５で対象となる添付ファイル５はＺＩＰ形式で圧縮されて電子封筒３に埋め込むことが示されている。なお、この添付ファイル５の圧縮されたデータが、図５（ｂ）で示した<Attachment>タグ６５に埋め込まれる。
【００４６】
クライアント２に備えられた電子封筒利用プログラム２０は、クライアント２のＣＰＵを動作させるためのプログラムで、本発明の電子封筒利用プログラム２０の機能を備えたメーラーなどで実現することができる。
【００４７】
電子封筒利用プログラム２０には、基幹業務サーバ１から受信した電子封筒３を開封する機能、電子封筒３に添付ファイル５を添付するなどして、電子封筒３を作成する機能、電子封筒３に付加されたデジタル署名の検証・電子封筒３にデジタル署名を付加する機能、電子封筒３を封緘する機能、封緘した電子封筒３を送信する機能など、一般的な電子封筒３を利用するアプリケーションに備えられた機能を備えている。
【００４８】
更に、上述した機能に加え、電子封筒利用プログラム２０は電子封筒３に含まれる制御コードを解釈し、制御コードで示される処理を実行する機能を備えている。電子封筒利用プログラム２０は、制御コードに対応した処理を実行する関数を有し、電子封筒３のワークフロー定義データ３１１内に記述された制御コードを読取るごとに、読取った制御コードに対応した関数を呼び出して実行する。
【００４９】
ここから、図６に示した制御コードを電子封筒利用プログラム２０が解釈・実行する内容について説明する。図７は、添付ファイル５が埋め込まれた後の<Item>タグ６４を説明する図で、図８は、クライアント２での処理が終了したときの<WorkFlow>タグ６の内容を説明する図である。
【００５０】
ユーザは電子封筒利用プログラム２０を利用して電子封筒３を開封すると、電子封筒利用プログラム２０は、フォームデータ３１０を読み取り、電子フォームはクライアント２に表示される。
【００５１】
電子封筒３を封緘するとき、クライアント２にインストールされている電子封筒利用プログラム２０は、図６で示した制御コードに基づく処理を実行し、添付ファイル５がチェックされるなどして、入力フィールドに入力されたデータを電子封筒３に埋め込むことで、図７のメッセージが得られる。
【００５２】
すなわち、図６で示した制御コードに基づけば、電子封筒利用プログラム２０は、<FileName>タグ７５ａを読取ると、name属性が「kosekitouhon」である入力フィールドで選択され、変数名が「kosekitouhon」である添付ファイル５のファイル名が「戸籍謄本」であることを確認する。添付ファイル５が選択されていなかった場合、もしくは、選択された添付ファイル５のファイル名が<FileName>タグ７５ａのデータと異なる場合は、電子封筒利用プログラム２０は、<MessageDialog>タグ７５ｇに含まれる<Message>タグ７５ｈ（MessageID＝「０１」）のデータを表示する。
【００５３】
更に、電子封筒利用プログラム２０は、選択された添付ファイル５のデータ形式を確認し、データ形式が<AcceptableExt>タグ７５ｃで示されるＧＩＦでないときは、<MessageDialog>タグ７５ｇに含まれる<Message>タグ７５ｈ（MessageID＝「０２」）を表示する。更に、電子封筒利用プログラム２０は添付ファイル５のサイズを確認し、<SizeLimit>タグ７５ｄで示されるデータ容量を超えていれば、<MessageDialog>タグ７５ｇに含まれる<Message>タグ７５ｈ（MessageID＝「０３」）のデータを表示する。
【００５４】
電子封筒利用プログラム２０は、添付ファイル５を確認した後、<SignatureReq>タグ７５ｅの値は"Enable"であるため、ユーザが選択したデジタル署名生成用の暗号鍵を用い、<SignatureInfo>タグ７０で示される内容に従い、添付ファイル５のデジタル署名を生成し、生成したデジタル署名を図５（ｂ）の<Signature>タグ６６の値として埋め込む。
【００５５】
また、電子封筒利用プログラム２０は、<Commpression>タグ７５ｆで示される形式で、選択された添付ファイル５を圧縮し、圧縮した添付ファイル５をname属性が「kosekitouhon」である<Attachment>タグ６５のデータとして埋め込む。
【００５６】
また、電子封筒利用プログラム２０は、添付ファイル５の数が<NumberofAttach>タグ７４のデータと一致することを確認する。一致しないときは、<MessageDialog>タグ７５ｇに含まれる<Message>タグ７５ｈ（MessageID＝「０４」）のデータを表示し、不足している添付ファイル５の選択をユーザに要求する。
【００５７】
そして、制御コードで示されるすべての処理が完了した後、電子封筒利用プログラム２０は<Work>タグ６０のOperation属性を「unexec」から「exec」へと書き換え、基幹業務サーバ１に電子封筒３を送信する。
【００５８】
ここから、これまで説明したワークフローシステムの動作について説明する。図９は、ワークフローシステムの動作手順を示したフロー図である。
【００５９】
この手順の最初のステップＳ１は、ユーザがクライアント２を操作して基幹業務サーバ１にアクセスし、申請業務に関する電子封筒３を基幹業務サーバ１から取得するステップである。このステップでは、クライアント２に備えられた電子封筒利用プログラム２０などをユーザは利用して、基幹業務サーバ１から電子封筒３を取得する。なお、ユーザは、取得した電子封筒３を情報記憶手段２１に保存することもできる。
【００６０】
次のステップＳ２は、電子封筒３を開封するステップである。このステップでは、電子封筒利用プログラム２０は、ステップＳ１で取得した電子封筒３を開封する。電子封筒３が開封されると、電子封筒３内のデータが取り出され、フォームデータ３１０に記述された電子フォームがクライアント２に表示される。
【００６１】
なお、ステップ１で取得した電子封筒３にデジタル署名が付加されているときは、指定されている暗号鍵でデジタル署名を検証する。更に、デジタル署名を検証する暗号鍵が公開鍵証明証の形式で電子封筒３に埋め込まれているときは、公開証明証を発行した認証局の公開鍵で、公開鍵証明証も検証する。
【００６２】
次のステップＳ３は、電子封筒３を処理するステップである。このステップで、電子封筒利用プログラム２０は、電子封筒３に埋め込むデータを入力する入力フィールドや、添付ファイル５を選択する入力フィールドを表示し、ユーザはデータの入力、添付ファイル５やデジタル署名を生成する暗号鍵の選択などの作業を実施する。なおこのステップでは、電子封筒利用プログラム２０は、ユーザが入力したデータや、添付ファイル５を選択した情報を、クライアント２のＲＡＭなどのメモリに一時的に記憶する。
【００６３】
次のステップＳ４は、電子封筒３を封緘するステップである。このステップにおいては、電子封筒３を封緘するとき、電子封筒利用プログラム２０は、<Work>タグ６０に記述された制御コードに基づいた処理を実行することで、入力したデータのデジタル署名を生成したり、選択した添付ファイル５を確認した後、電子封筒利用プログラム２０は電子封筒３を封緘する。また、電子封筒３全体のデジタル署名を付加したり、電子封筒３の内容を暗号化しなければならないときは、このステップでこれらの処理は実行される。
【００６４】
次のステップＳ５は、次に電子封筒３が基幹業務サーバ１に電子封筒３が送信されるステップである。電子封筒利用プログラム２０は、封緘した電子封筒３を基幹業務サーバ１に送信し、基幹業務サーバ１の電子封筒処理プログラム１１によって電子封筒３は開封され処理される。
【００６５】
なお、上述した説明は本発明の一実施の形態に過ぎず、種々の変形や変更が可能である。詳しくは、様々な制御コードを定義し、定義した制御コードに対する処理を実行するモジュールを電子封筒利用プログラム２０に組み込み、電子封筒３に制御コードを記述すれば、クライアント２においては、制御コードに従い電子封筒３は処理される。
【００６６】
また、電子封筒３に含まれるデータおよび電子封筒３に含ませるデータのすべて或いは一部を制御コードの対象とすることで、電子封筒３に含まれるデータのすべて或いは一部に対し、それぞれ個別にデジタル署名を付けることができる。すなわち、この電子封筒３に含まれる添付ファイル５ごとにデジタル署名を付けることもできる。
【００６７】
それぞれ個別にデジタル署名を付ける場合は、デジタル署名を算出するときに利用するデジタル署名鍵を選択するための<Form>タグ６３をワークフロー定義データ３１１に記述し、更に、この<Form>タグ６３にはデジタル署名鍵を識別するための属性（例えば、ファイル名）を設けておく。そして、<SignatureInfo>タグ７０に、デジタル署名鍵を識別する属性を記述するタグを設け、このタグの間に、添付ファイル５を識別するためのデータ（例えば、<FileName>タグ７５ａ）を記述するタグを設ける。電子封筒利用プログラム２０は、デジタル署名鍵を識別する属性を記述するタグの内容からデジタル署名鍵を識別し、添付ファイル５を識別するためのデータを記述するタグで示される添付ファイル５のデジタル署名を生成する。
【００６８】
また、デジタル署名に加え、タイムスタンプを添付する制御コードを記述することもできる。タイムスタンプを添付する制御コードを記述する際は、制御コードとして、電子封筒３に含ませるデータのすべて或いは一部のハッシュ値を登録するタイムスタンプサーバのＵＲＬを記述するタグが記述される。
【００６９】
電子封筒利用プログラム２０は、電子封筒３にタイムスタンプを添付する制御コードが含まれていた場合は、電子封筒３に含ませるデータのすべて或いは一部（例えば、添付ファイル５）のハッシュ値を算出した後、タイムスタンプサーバにハッシュ値を登録し、タイムスタンプサーバからハッシュ値が登録されたときのタイムスタンプを取得し電子封筒３に書き込む。
【００７０】
また、基幹業務サーバ１が電子封筒３に付加したデジタル署名であるサーバデジタル署名を検証するための制御コードを記述することもできる。このときは、クライアント２には、サーバデジタル署名を検証するための暗号鍵であるデジタル署名検証鍵が記憶され、クライアント２は、ユーザが選択したデジタル署名検証鍵或いは制御コードによって指定されたデジタル署名検証鍵を用いて、電子封筒３に含まれたサーバデジタル署名を検証する。
【００７１】
また、タイムスタンプサーバから受信したタイムスタンプを検証するための制御コードを記述することもできる。このときは、クライアント２には、タイムスタンプを検証するための暗号鍵であるタイムスタンプ検証鍵が記憶され、クライアント２は、ユーザが選択したタイムスタンプ検証鍵或いは制御コードによって指定されたタイムスタンプ検証鍵を用いて、タイムスタンプサーバから受信したタイムスタンプを検証する。
【００７２】
また、デジタル署名検証鍵やタイムスタンプ検証鍵の正当性を検証するための制御コードを記述することもできる。このときは、デジタル署名検証鍵及び／又はタイムスタンプ検証鍵は電子証明書の形式でクライアント２に記憶される。例えば、デジタル署名検証鍵やタイムスタンプ検証鍵の電子証明証を発行した認証局のＵＲＬを示す制御コードを記述すれば、制御コードで示される認証局に問い合わせることで、電子封筒利用プログラム２０は電子証明証が失効しているか事前に確認することができる。更に、制御コードに信用モデルに関するデータ（例えば、トラストアンカーとなる認証局）を示す制御コードを記述すれば、この信用モデルに従い、この電子証明証の信頼性を検証することもできる。なお、トラストアンカーとなる認証局は、制御コードではなく、電子封筒処理プログラム自体が有していてもよい。
【００７３】
また、電子封筒３の配信時のセキュリティを高めるために、電子封筒３に含まれるデータのすべて或いは一部を暗号化する制御コードを記述してもよい。暗号化するときは、暗号化するデータを指定するデータ、暗号アルゴリズムを指定するデータと、暗号化に利用する暗号鍵を指定するデータをそれぞれ示す制御コードを記述すれば、クライアント２は、指定されたアルゴリズムに従い指定されたデータを暗号化し、平文の代わりに暗号化したデータを電子封筒３に含ませる。
【図面の簡単な説明】
【００７４】
【図１】本発明を適用したワークフローシステムの構成を説明する図。
【図２】ワークフローシステムのブロック図。
【図３】電子封筒の構造を説明する図。
【図４】ワークフロー定義データの一例を示した図。
【図５】入力フィールドに関するメッセージを説明する図。
【図６】<Work>タグに記述される制御コードの一例を示した図。
【図７】データが埋め込まれた後の<Item>タグを説明する図。
【図８】一つのワークが終了したときの<WorkFlow>タグの内容を説明する図。
【図９】ワークフローシステムの動作手順を示したフロー図。
【符号の説明】
【００７５】
１  基幹業務サーバ
１０  電子封筒提供手段
１１  電子封筒処理プログラム
１２  電子封筒データベース
２  クライアント
２０  電子封筒利用プログラム
２１  情報記憶手段
３  電子封筒
３０  ヘッダフィールド
３１  メッセージフィールド
３１０  フォームデータ
３１１  ワークフロー定義データ
３２  署名フィールド
４  ネットワーク
５  添付ファイル
６  <WorkFlow>タグ、６０  <Work>タグ、６１  <InputField>タグ
６２  <ControlCode>タグ、６３  <Form>タグ、６４  <Item>タグ
６５  <Attachment >タグ、６６  <Sinature>タグ
７０  <SignatureInfo>タグ、７１  <AlogrithmID>タグ、７２  <SingatureKey>タグ
７３  <AttachGuide>タグ、７４  <NumberofAttach>タグ
７５  <File>タグ、７５ａ  <FileName>タグ、７５ｂ  <FileID>タグ
７５ｃ  <AcceptableExt>タグ、７５ｄ  <Size Limit>タグ
７５ｅ  <SinnatureFlag>タグ、７５ｆ  <Commpression>タグ
７５ｇ  <MessageDialog>タグ、７５ｈ  <Message>タグ
【図１】
0004413886.tif 000002
【図２】
0004413886.tif 000003
【図３】
0004413886.tif 000004
【図４】
0004413886.tif 000005
【図５】
0004413886.tif 000006
【図６】
0004413886.tif 000007
【図７】
0004413886.tif 000008
【図８】
0004413886.tif 000009
【図９】
0004413886.tif 000010