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