(57)【要約】【課題】業務プロセスの実行時に転送される電文のデータ量を低減する。【解決手段】業務の手順が定義された業務プロセスで使用され、処理に必要なデータを格納する電文要素が含まれる電文を解析する電文解析装置で実行される電文解析方法であって、業務プロセスは、電文の定義を含み、電文は、業務プロセスに外部から入力される第１の電文と、第１の電文から電文要素を抽出し、当該抽出された電文要素に基づいて新たに生成される第２の電文を含み、業務プロセスの入力を受け付け、入力された業務プロセスに含まれる電文の定義を入力された業務プロセスから抽出し、抽出された電文の定義に基づいて、第１の電文の電文要素と第２の電文の電文要素との対応関係を抽出し、抽出された対応関係に基づいて、第１の電文の電文要素であって、第２の電文の電文要素と対応しない電文要素を、第１の電文から削除可能な電文要素と判定する。【選択図】図５
2008310570.tif 000002
【特許請求の範囲】
【請求項１】
業務の手順が定義された業務プロセスで使用され、処理に必要なデータを格納する電文要素が含まれる電文を解析する電文解析装置で実行される電文解析方法であって、
前記電文解析装置は、プロセッサと、前記プロセッサによってアクセス可能な記憶部と、前記業務プロセスの入力を受け付ける業務プロセス入力部と、を備え、
前記業務プロセスは、前記電文の定義を含み、
前記電文は、前記業務プロセスに外部から入力される第１の電文と、前記第１の電文から電文要素を抽出し、当該抽出された電文要素に基づいて新たに生成される第２の電文を含み、
前記業務プロセス入力部は、前記業務プロセスの入力を受け付けて、前記入力された業務プロセスを前記記憶部に記憶し、
前記プロセッサは、
前記入力された業務プロセスに含まれる電文の定義を、前記入力された業務プロセスから抽出し、
前記抽出された電文の定義に基づいて、前記第１の電文の電文要素と前記第２の電文の電文要素との対応関係を抽出し、
前記抽出された対応関係に基づいて、前記第１の電文の電文要素であって、前記第２の電文の電文要素と対応しない電文要素を、前記第１の電文から削除可能な電文要素と判定することを特徴とする電文解析方法。
【請求項２】
前記業務プロセスは、前記業務を遂行するための処理が定義されるアクティビティを含み、
前記プロセッサは、
前記アクティビティに定義された処理に基づいて、前記アクティビティを分類し、
前記アクティビティの分類に基づいて、前記業務プロセスから前記第１の電文の定義及び前記第２の電文の定義を抽出することを特徴とする請求項１に記載の電文解析方法。
【請求項３】
前記プロセッサは、
前記アクティビティの分類に基づいて、処理の分岐を示す分岐アクティビティを特定し、
前記特定された分岐アクティビティから処理が分岐してから合流するまでに生成される第２の電文を、分岐ごとに抽出し、
前記分岐ごとに抽出された第２の電文の電文要素であって、分岐ごとに選択的に使用される電文要素を特定し、
前記特定された電文要素を条件付きで削除可能な電文要素と判定することを特徴とする請求項２に記載の電文解析方法。
【請求項４】
前記プロセッサは、前記削除可能と判定された電文要素を、削除可能条件とともに提示することを特徴とする請求項３に記載の電文解析方法。
【請求項５】
前記プロセッサは、
前記アクティビティの分類に基づいて、前記第１の電文の入力を受け付ける受付アクティビティを特定し、
前記特定された受付アクティビティに基づいて、前記第１の電文の定義を抽出することを特徴とする請求項２に記載の電文解析方法。
【請求項６】
前記プロセッサは、
前記アクティビティの分類に基づいて、前記第２の電文を作成する電文作成アクティビティを特定し、
前記特定された電文作成アクティビティに基づいて、前記第２の電文の定義を抽出することを特徴とする請求項２に記載の電文解析方法。
【請求項７】
前記プロセッサは、前記削除可能と判定された電文要素を提示することを特徴とする請求項１に記載の電文解析方法。
【請求項８】
業務の手順が定義された業務プロセスで使用され、処理に必要なデータを格納する電文要素が含まれる電文を解析する電文解析装置であって、
プロセッサと、前記プロセッサによってアクセス可能な記憶部と、前記業務プロセスの入力を受け付ける業務プロセス入力部と、を備え、
前記業務プロセスは、前記電文の定義を含み、
前記電文は、前記業務プロセスに外部から入力される第１の電文と、前記第１の電文から電文要素を抽出し、当該抽出された電文要素に基づいて新たに生成される第２の電文を含み、
前記業務プロセス入力部は、前記業務プロセスの入力を受け付けて、前記入力された業務プロセスを前記記憶部に記憶し、
前記プロセッサは、
前記入力された業務プロセスに含まれる電文の定義を、前記入力された業務プロセスから抽出し、
前記抽出された電文の定義に基づいて、前記第１の電文の電文要素と前記第２の電文の電文要素との対応関係を抽出し、
前記抽出された対応関係に基づいて、前記第１の電文の電文要素であって、前記第２の電文の電文要素と対応しない電文要素を、前記第１の電文から削除可能な電文要素と判定することを特徴とする電文解析装置。
【請求項９】
業務の手順が定義された業務プロセスで使用され、処理に必要なデータを格納する電文要素が含まれる電文を解析する電文解析装置で実行される電文解析プログラムであって、
前記業務プロセスは、前記電文の定義を含み、
前記電文は、前記業務プロセスに外部から入力される第１の電文と、前記第１の電文から電文要素を抽出し、当該抽出された電文要素に基づいて新たに生成される第２の電文を含み、
前記業務プロセスの入力を受け付ける手順と、
前記入力された業務プロセスに含まれる電文の定義を、前記入力された業務プロセスから抽出する手順と、
前記抽出された電文の定義に基づいて、前記第１の電文の電文要素と前記第２の電文の電文要素との対応関係を抽出する手順と、
前記抽出された対応関係に基づいて、前記第１の電文の電文要素であって、前記第２の電文の電文要素と対応しない電文要素を、前記第１の電文から削除可能な電文要素と判定する手順とを前記電文解析装置に実行させることを特徴とする電文解析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電文を再構築する技術に関し、特に、電文の容量を圧縮する技術に関する。
【背景技術】
【０００２】
業務の手順を示す業務プロセスに基づいてシステム化する際に、計算機によって実行可能なＢＰＥＬ（Business Process Execution Language for Web Services）を利用してシステムを構築する手段が提案されている。ＢＰＥＬを利用するシステムでは、業務の各処理を定義するアクティビティ間のデータの転送にＸＭＬ（eXtensible Markup Language）で記述された電文が使用されることが多い。ＸＭＬによって記述された電文は、転送するデータ量が多い場合にはネットワークのトラフィック量の増大、転送時間及び処理時間の悪化が問題となる。
【０００３】
このような問題を解決するために、電文を圧縮してから転送する技術が提案されている。しかし、電文の圧縮及び展開には、処理コストを必要とする。そこで、設計者は、転送する電文の容量を低減するために、設計段階で実行時に使用しない電文要素を削除するように電文の定義（ＸＭＬスキーマ）を設計していたが、自動的に最適化することは困難であった。
【０００４】
自動的に未参照要素を削除する技術として、ソースプログラムに含まれる未参照変数をコンパイル時に除去する技術が開示されている（特許文献１参照）。特許文献１に開示された技術のように、実行時に不要な未参照変数を削除すれば、データの転送量を削減することができる。
【特許文献１】特開２００３−１９６１０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
実際の業務では、所定の条件に応じて処理が分岐し、分岐処理ごとに変数が選択的に使用される場合がある。このとき、分岐処理ごとに使用される変数が異なる場合であっても、すべての変数の定義をＸＭＬスキーマに追加する必要がある。
【０００６】
一方、特許文献１に開示された技術では、プログラムに記述されている変数は、処理によって使用されない変数であっても除去されることはない。
【０００７】
本発明は、ＸＭＬ電文の未参照要素を除去するとともに、業務フローの分岐などの条件に応じて使用される要素のみを電文に含めるようにＸＭＬスキーマを再構築する方法を提示することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の代表的な一形態では、業務の手順が定義された業務プロセスで使用され、処理に必要なデータを格納する電文要素が含まれる電文を解析する電文解析装置で実行される電文解析方法であって、前記電文解析装置は、プロセッサと、前記プロセッサによってアクセス可能な記憶部と、前記業務プロセスの入力を受け付ける業務プロセス入力部と、を備え、前記業務プロセスは、前記電文の定義を含み、前記電文は、前記業務プロセスに外部から入力される第１の電文と、前記第１の電文から電文要素を抽出し、当該抽出された電文要素に基づいて新たに生成される第２の電文を含み、前記業務プロセス入力部は、前記業務プロセスの入力を受け付けて、前記入力された業務プロセスを前記記憶部に記憶し、前記プロセッサは、前記入力された業務プロセスに含まれる電文の定義を、前記入力された業務プロセスから抽出し、前記抽出された電文の定義に基づいて、前記第１の電文の電文要素と前記第２の電文の電文要素との対応関係を抽出し、前記抽出された対応関係に基づいて、前記第１の電文の電文要素であって、前記第２の電文の電文要素と対応しない電文要素を、前記第１の電文から削除可能な電文要素と判定する。
【発明の効果】
【０００９】
本発明の一形態によれば、入力電文に含まれ、処理に使用されない電文要素を削除して、電文の容量を削減することによって、ネットワークのトラフィック量を低減し、業務プロセスの処理を高速化することができる。
【発明を実施するための最良の形態】
【００１０】
図１は、本発明の実施の形態の計算機システムのハードウェア構成図である。本発明の実施の形態の計算機システムは、計算機１及び外部記憶装置２によって構成される。計算機１及び外部記憶装置２は、ネットワーク４によって接続される。なお、外部記憶装置２は、計算機１に含まれていてもよい。
【００１１】
計算機１は、ＣＰＵ３０、主記憶３１、入力装置３３、出力装置３４、インタフェース３５、及び業務プロセス入力装置４０を含む。ＣＰＵ３０、主記憶３１、入力装置３３、出力装置３４、インタフェース３５、及び業務プロセス入力装置４０は、バス３２を介して互いに接続される。
【００１２】
ＣＰＵ３０は、主記憶３１に記憶された各種プログラムを実行することによって、各種演算を実行する。主記憶３１は、プログラム、プログラムの実行に必要な情報及びプログラムの処理結果を記憶する。主記憶３１は、揮発性メモリであってもよいし、不揮発性メモリであってもよい。
【００１３】
入力装置３３は、計算機１に必要な情報を入力するためのインタフェースである。入力装置３３は、例えば、キーボード又はマウスなどである。出力装置３４は、処理結果などの情報を外部に出力する装置である。出力装置３４は、例えば、ディスプレイなどである。インタフェース３５は、ネットワーク４に接続する。
【００１４】
業務プロセス入力装置４０は、ＢＰＥＬで記述された業務プロセスの入力を受け付ける。入力された業務プロセスは、外部記憶装置２に記録される。
【００１５】
外部記憶装置２は、一つ以上の物理記憶装置３７によって構成された論理ボリュームによって、計算機１に記憶領域を提供する。外部記憶装置２は、業務プロセス入力装置４０を介して入力された業務プロセス、当該業務プロセスの解析結果、及び解析するための情報などを、提供された記憶領域に格納する。
【００１６】
外部記憶装置２は、制御部３６、物理記憶装置３７、及びインタフェース３９を備える。制御部３６、物理記憶装置３７、及びインタフェース３９は、バス３８を介して接続される。
【００１７】
制御部３６は、ＣＰＵ及びメモリ（図示せず）を備え、計算機１からデータを読み書きする要求を受け付け、要求された処理を実行する。物理記憶装置３７は、データを格納する。物理記憶装置３７は、例えば、磁気ディスク装置などである。インタフェース３９は、ネットワーク４に接続する。
【００１８】
図２は、本発明の実施の形態の主記憶３１に記憶された電文未参照要素特定装置１０２の構成を示す図である。
【００１９】
電文未参照要素特定装置１０２は、業務プロセス入力装置４０から入力された業務プロセス及び送受信されるＸＭＬ電文を解析し、当該業務プロセスで使用される電文に含まれる未参照変数を除去するプログラムを含む。
【００２０】
電文未参照要素特定装置１０２は、電文読込部１０３、受付アクティビティ解析部１０４、電文作成アクティビティ解析部１０５、ビジネスプロセス解析部１０６、フロー解析部１０７、フロー分岐解析部１０８、及びアクティビティ判定部１０９を含む。電文読込部１０３、受付アクティビティ解析部１０４、電文作成アクティビティ解析部１０５、ビジネスプロセス解析部１０６、フロー解析部１０７、フロー分岐解析部１０８、及びアクティビティ判定部１０９は、主記憶３１に記憶されたプログラムであって、ＣＰＵ３０によって各種処理が実行される。
【００２１】
電文読込部１０３は、業務プロセス入力装置４０によって入力された業務プロセスからから使用されるＸＭＬ電文を抽出し、後述する変数テーブル１５３に格納する。業務プロセスに含まれるＸＭＬ電文には、それぞれ変数名が付与されている。
【００２２】
受付アクティビティ解析部１０４は、業務プロセス入力装置４０によって入力された業務プロセスに含まれる受付アクティビティを解析し、ビジネスプロセス入力電文テーブル１５４に所定の情報を書き込む。受付アクティビティについては後述する。
【００２３】
電文作成アクティビティ解析部１０５は、業務プロセス入力装置４０によって入力された業務プロセスに含まれる電文作成アクティビティを解析し、電文要素依存情報テーブル１５７に書き込む。電文作成アクティビティについては後述する。
【００２４】
ビジネスプロセス解析部１０６は、業務プロセス入力装置４０によって入力された業務プロセスを解析する。業務プロセスの処理手順の主要なフローに対し、後述するフロー解析部１０７を実行し、入力電文参照情報テーブル１５６から入力電文の不要要素を特定する。
【００２５】
フロー解析部１０７は、フローを解析し、解析結果を入力電文参照情報テーブル１５６に書き込む。なお、フローに分岐が含まれる場合には、フロー分岐解析部１０８を実行し、分岐したフローに含まれる情報も取得する。
【００２６】
フロー分岐解析部１０８は、解析対象の分岐アクティビティに含まれるすべてのフローを解析し、解析結果を入力電文参照情報テーブル１５６に格納する。
【００２７】
アクティビティ判定部１０９は、業務プロセス入力装置４０によって入力された業務プロセスに含まれるアクティビティのカテゴリを判別する。具体的には、分岐アクティビティ、電文作成アクティビティ、電文参照アクティビティ、及び電文未使用アクティビティに分類される。
【００２８】
図３は、本発明の実施の形態の外部記憶装置２に格納された情報を示す図である。外部記憶装置２に格納された情報は、電文情報管理記憶装置１５０、電文参照情報管理記憶装置１５１及び電文要素依存情報管理記憶装置１５２を含む。
【００２９】
電文情報管理記憶装置１５０は、業務プロセスで使用される変数（電文）の変数名、電文ファイル、及び受付の情報（入力電文）を格納する。電文情報管理記憶装置１５０は、変数テーブル１５３、ビジネスプロセス入力電文テーブル１５４及び電文フォーマットファイル１５５を含む。
【００３０】
変数テーブル１５３は、業務プロセスに含まれる変数の名前と、対応する電文フォーマットファイル名との対応関係を格納する。なお、詳細については、図７にて後述する。
【００３１】
ビジネスプロセス入力電文テーブル１５４は、業務プロセスのオペレーション名と電文フォーマットファイル名の対応を格納する。なお、変数テーブル１５３の詳細については、図１０にて後述する。
【００３２】
電文フォーマットファイル１５５は、業務プロセスで使用される電文のフォーマットファイルである。
【００３３】
電文参照情報管理記憶装置１５１は、業務プロセスの入力電文の各要素の参照情報を記憶する。電文参照情報管理記憶装置１５１は、入力電文参照情報テーブル１５６を含む。
【００３４】
入力電文参照情報テーブル１５６は、業務プロセス入力装置４０によって入力された業務プロセスに含まれるフローの入力電文要素の参照情報を格納する。なお、電文参照情報管理記憶装置１５１の詳細については、図１５Ａ〜図１５Ｃにて後述する。
【００３５】
電文要素依存情報管理記憶装置１５２は、業務プロセス内部の処理で使用される電文の要素と、業務プロセスに入力される電文の要素との対応関係を記憶する。電文要素依存情報管理記憶装置１５２は、電文要素依存情報テーブル１５７を含む。
【００３６】
電文要素依存情報テーブル１５７は、業務プロセス内部の処理で使用される電文のフォーマットファイル及び当該電文の電文要素と、入力電文のフォーマットファイル及び入力電文の電文要素との対応を格納する。なお、電文要素依存情報テーブル１５７の詳細については、図１２にて後述する。
【００３７】
続いて、本発明の実施の形態の対象となる業務プロセスについて説明する。
【００３８】
図４は、本発明の実施の形態の対象となる業務である旅費精算業務の業務フローを示す図である。業務フローは、業務プロセスを構成する処理（アクティビティ）の実行順序を示す。旅費精算業務は、計算機によって旅費精算システムを実行することによって処理される。
【００３９】
旅費精算業務は、利用者が旅費精算を申請することによって開始される。旅費精算システムは、利用者からの旅費精算申請を受け付けると（４０１）、利用者に応じて処理が分岐する（４０２）。旅費精算システムは、利用者に応じて２種類あるため、各利用者について実行されるサービスが相違する（４０３〜４０６）。フローの分岐が終了すると（４０７）、利用者に対して申請処理の完了を応答する（４０８）。
【００４０】
旅費精算システムは、申請処理が完了すると、承認者に対して承認依頼を通知する（４０９）。承認者は、承認依頼を受信すると、旅費承認処理を開始する。旅費精算システムは、承認者からの旅費承認処理の開始の指示を受け付けると（４１０）、承認処理サービスを実行する（４１１、４１２）。旅費精算システムは、承認処理の実行が完了すると、承認者にその旨を応答する（４１３）。
【００４１】
図５は、本発明の実施の形態の業務プロセス及び送受信される電文のスキーマを示す図である。業務プロセスを構成する各アクティビティには、図４と共通の符号を付している。図５では、送受信される電文情報を、業務プロセスの処理の流れに沿って説明する。
【００４２】
まず、利用者は、旅費清算を申請する場合には、旅費精算システムの端末から必要な情報を入力する。このとき、入力された情報は、旅費精算システムによって、ＸＭＬスキーマ５０１に基づく電文が生成される。入力電文のＸＭＬスキーマ５０１は、関連する他の業務でも共通して使用される場合がある。
【００４３】
入力電文のＸＭＬスキーマ５０１は、「ｃｕｓｔｏｍｅｒＩＤ」「ｕｓｅｒＩＤ」「ｐｉｃｔｕｒｅ」「ｅｘｐｅｎｓｅｓ」「ｖｅｒｓｉｏｎ」の各要素が含まれている。
【００４４】
「ｃｕｓｔｏｍｅｒＩＤ」及び「ｕｓｅｒＩＤ」は、利用者を識別する識別子が格納される。「ｃｕｓｔｏｍｅｒＩＤ」及び「ｕｓｅｒＩＤ」は、「ｖｅｒｓｉｏｎ」の値に応じていずれか一方に値が格納される。また、「ｖｅｒｓｉｏｎ」の値に応じて４０２の分岐先が決定される。
【００４５】
「ｐｉｃｔｕｒｅ」は、領収書の画像データが格納される。画像データは、テキストとして格納されるが、他の要素と比較してデータ容量が大きくなる。領収書の画像データは、旅費清算申請の最初にシステムのデータベースに格納されると、少なくとも図４及び図５に示す業務プロセスでは使用されない。また、「ｅｘｐｅｎｓｅｓ」には、清算金額が格納される。
【００４６】
旅費精算システムは、利用者からのデータの入力に基づいて、入力電文を受け付けると、入力電文の「ｖｅｒｓｉｏｎ」要素の値に応じて分岐アクティビティ４０２で処理が分岐する。具体的には、「ｖｅｒｓｉｏｎ」要素の値が「１」の場合には、４０３及び４０４の処理が実行される。「ｖｅｒｓｉｏｎ」要素の値が「２」の場合には、４０５及び４０６の処理が実行される。
【００４７】
４０３及び４０５の処理では、入力電文に格納された情報を、申請処理サービスに入力される電文に格納する。具体的には、４０３の処理では、申請処理サービスＶ１の入力電文のＸＭＬスキーマ５０２に基づいて、入力電文の「ｃｕｓｔｏｍｅｒＩＤ」及び「ｅｘｐｅｎｓｅｓ」の値が格納された電文が作成される。同様に、４０５の処理では、申請処理サービスＶ２の入力電文のＸＭＬスキーマ５０３に基づいて、入力電文の「ｕｓｅｒＩＤ」及び「ｅｘｐｅｎｓｅｓ」の値が格納された電文が作成される。
【００４８】
旅費精算システムは、分岐したフローが合流すると、利用者に対して申請処理の終了を通知する（４０８）。そして、依頼通知サービス電文を作成し、承認者に通知する（４０９）。依頼通知サービス電文は、ＸＭＬスキーマ５０４によって定義される。さらに、承認処理サービス電文を承認者にメールなどによって送信する。なお、承認処理サービス電文は、ＸＭＬスキーマ５０５によって定義される。
【００４９】
承認者は、受信した承認処理サービス電文を参照し、旅費承認処理を実行する（４１０〜４１３）。その後、旅費精算業務は完了する。
【００５０】
続いて、本発明の実施の形態の電文圧縮方法について説明する。本発明は、業務プロセスにおいて送受信される電文の容量を圧縮することによって、データの転送負荷を軽減する。具体的には、転送される電文の要素を最小限にするように、入力電文のＸＭＬスキーマを再構成する。
【００５１】
本発明の実施の形態では、入力電文の容量を圧縮するために、未参照の電文要素を抽出し、ＸＭＬスキーマから削除する。さらに、業務プロセスを解析し、分岐処理で選択的に使用される変数を抽出し、いずれか一方のみの変数が含まれるようにＸＭＬスキーマを作成する。
【００５２】
以下、本発明の実施の形態の詳細な処理について説明する。
【００５３】
図６は、本発明の実施の形態の入力電文を圧縮する処理の手順を示すフローチャートである。入力電文を圧縮する処理は、ＣＰＵ３０が主記憶３１に記憶されたプログラムを実行することによって処理される。
【００５４】
本処理が開始されると、ＣＰＵ３０は、まず、業務プロセス入力装置４０を介して、業務プロセスの情報を取得する（Ｓ６００）。業務プロセス入力装置４０に入力された業務プロセスの情報は、例えば、ＢＰＥＬによって記述された業務プロセスなどである。本発明の実施の形態では、入力された業務プロセスは、ＢＰＥＬによって記述された業務プロセスとする。さらに、ＣＰＵ３０は、取得された業務プロセスを構成するアクティビティを抽出し、主記憶３１に記憶する。
【００５５】
ＣＰＵ３０は、電文読込部１０３を実行することによって、取得された業務プロセスで使用される電文の情報から変数を抽出し、変数テーブル１５３に格納する。
【００５６】
図７は、本発明の実施の形態の業務プロセスで使用される電文に含まれる変数を格納する変数テーブル１５３の一例を示す図である。
【００５７】
変数テーブル１５３は、変数名１５３１、変数名１５３１を含む電文のフォーマットファイル名１５３２を含む。変数名１５３１は、業務プロセスで使用されるデータを格納する変数を識別する名称を格納する。変数名１５３１によって識別される電文は、一つ以上の電文要素が含まれ、各要素に値が設定される。
【００５８】
電文フォーマットファイル名１５３２は、当該変数を含む電文を定義するＸＭＬスキーマが記述されたファイルの名称が格納される。電文フォーマットファイルには、定義される電文の名称及び電文要素の定義などが含まれる。
【００５９】
ここで、図６のフローチャートの説明に戻る。
【００６０】
ＣＰＵ３０は、業務プロセスで使用される電文に含まれる変数の抽出が完了すると、Ｓ６００の処理で抽出された業務プロセスを構成するアクティビティをそれぞれ解析する。
【００６１】
ＣＰＵ３０は、解析対象のアクティビティの種類を判定する（Ｓ６２０）。本処理では、解析対象となるアクティビティは、「受付アクティビティ」及び「電文作成アクティビティ」となる。
【００６２】
解析対象となるアクティビティが「受付アクティビティ」であるか否かは、例えば、当該アクティビティに対応するＢＰＥＬの記述に基づいて判定することができる。
【００６３】
また、解析対象となるアクティビティが「電文作成アクティビティ」であるか否かは、当該アクティビティの処理に基づいて、判定することができる。具体的には、図８のフローチャートを用いて説明する。
【００６４】
図８は、本発明の実施の形態の業務プロセスに含まれるアクティビティの種類を判定する手順を示すフローチャートである。本処理は、ＣＰＵ３０がアクティビティ判定部１０９を実行することによって処理される。
【００６５】
ＣＰＵ３０は、まず、解析対象のアクティビティにおいて電文が使用されるか否かを判定する（Ｓ８１０）。電文が使用されない場合には（Ｓ８１０の結果が「Ｎｏ」）、解析対象のアクティビティを「電文未使用アクティビティ」と判定する。
【００６６】
ＣＰＵ３０は、解析対象のアクティビティにおいて電文が使用される場合には（Ｓ８１０の結果が「Ｙｅｓ」）、さらに、解析対象のアクティビティにおいて新たに電文が作成されるか否かを判定する（Ｓ８２０）。
【００６７】
ＣＰＵ３０は、解析対象のアクティビティで新たに電文が作成される場合には（Ｓ８２０の結果が「Ｙｅｓ」）、解析対象のアクティビティを「電文作成アクティビティ」と判定する。また、解析対象のアクティビティで新たに電文が作成されない場合には（Ｓ８２０の結果が「Ｎｏ」）、解析対象のアクティビティを「電文参照アクティビティ」と判定する。
【００６８】
ここで、図６のフローチャートの説明に戻る。
【００６９】
ＣＰＵ３０は、解析する対象のアクティビティの種類が「受付アクティビティ」と判定された場合には（Ｓ６２０の結果が「受付アクティビティ」）、受付アクティビティ解析処理を実行する（Ｓ６３０）。受付アクティビティは、一連の処理（オペレーション）の最初に、外部から入力電文を受信するアクティビティである。
【００７０】
ＣＰＵ３０は、解析する対象のアクティビティの種類が「電文作成アクティビティ」と判定された場合には（Ｓ６２０の結果が「電文作成アクティビティ」）、電文作成アクティビティ解析処理を実行する（Ｓ６４０）。
【００７１】
ＣＰＵ３０は、解析する対象のアクティビティの種類が「電文作成アクティビティ」又は「受付アクティビティ」以外のアクティビティと判定された場合には（Ｓ６２０の結果が「その他」）、次のアクティビティを解析する。
【００７２】
以下、受付アクティビティ解析処理及び電文作成アクティビティ解析処理の詳細を説明する。
【００７３】
図９は、本発明の実施の形態の受付アクティビティを解析する手順を示すフローチャートである。本処理は、ＣＰＵ３０が受付アクティビティ解析部１０４を実行することによって処理される。
【００７４】
受付アクティビティは、前述のようにオペレーションの実行初期に入力電文を受け付けるアクティビティである。したがって、受付アクティビティを解析することによって、当該オペレーションに入力される変数（入力電文）を特定することが可能となる。
【００７５】
ＣＰＵ３０は、解析対象の受付アクティビティのオペレーションを特定し、当該受付アクティビティによって受け付けられる入力電文のフォーマットファイルを特定する（Ｓ９０１）。オペレーションは、Ｓ６００の処理で取得された業務プロセスのＢＰＥＬにおいて、当該受付アクティビティに対応するタグに含まれている。また、入力電文のフォーマットファイルについても、ＢＰＥＬの記述に基づいてファイル名を特定することができる。
【００７６】
ＣＰＵ３０は、Ｓ９０１の処理で取得されたオペレーションの名称と、入力電文のフォーマットファイル名をビジネスプロセス入力電文テーブル１５４に格納する（Ｓ９０２）。
【００７７】
図１０は、本発明の実施の形態の業務プロセスに含まれるオペレーションと入力電文との対応を格納するビジネスプロセス入力電文テーブル１５４を示す図である。
【００７８】
ビジネスプロセス入力電文テーブル１５４は、オペレーション名１５４１及び入力電文フォーマットファイル名１５４２を含む。
【００７９】
オペレーション名１５４１は、解析対象の受付アクティビティが含まれるオペレーションを識別する名称が格納される。本発明の実施の形態の旅費清算業務は、申請処理の名称「ryohishinsei」及び承認処理の名称「syoninsyori」を含む。
【００８０】
入力電文フォーマットファイル名１５４２は、解析対象の受付アクティビティによって受け付けられる入力電文のフォーマットファイルのファイル名が格納される。入力電文のフォーマットは、前述の通り、ＸＭＬスキーマである。
【００８１】
図１１は、本発明の実施の形態の電文作成アクティビティを解析する処理の手順を示すフローチャートである。本処理は、ＣＰＵ３０が電文作成アクティビティ解析部１０５を実行することによって処理される。
【００８２】
電文作成アクティビティは、新たに電文を作成する処理が含まれる。新たに作成される電文は、あらかじめフォーマットが定められている。電文のフォーマットは、電文情報管理記憶装置１５０の電文フォーマットファイル１５５に格納されている。
【００８３】
ＣＰＵ３０は、電文作成アクティビティによって作成される電文の要素、及び入力電文の要素との依存関係を取得する（Ｓ１１０１）。依存関係とは、新たに作成される電文の要素と、入力電文の要素との対応関係である。また、新たに作成される電文の要素の値には、対応する入力電文の要素の値が設定される。なお、新たに作成される電文の要素の値に、対応する入力電文の要素の値と同じ値が設定される場合以外にも、対応する入力電文の要素の値に別の要素の値が加えられるなど、変換された値が設定される場合もある。
【００８４】
ＣＰＵ３０は、Ｓ１１０１の処理で抽出された依存関係に基づいて、電文要素依存情報テーブル１５７に情報を格納する（Ｓ１１０２）。具体的に格納される情報は、新たに作成される電文のフォーマットのファイル名及び電文要素、対応する入力電文のフォーマットファイル名及び電文要素である。
【００８５】
図１２は、本発明の実施の形態の新たに作成される電文の要素と入力電文の電文要素との対応を格納する電文要素依存情報テーブル１５７の一例を示す図である。
【００８６】
電文要素依存情報テーブル１５７は、電文フォーマットファイル名１５７１、電文要素１５７２、及び、対応する入力電文要素情報１５７３を含む。
【００８７】
電文フォーマットファイル名１５７１は、電文作成アクティビティによって作成される電文のフォーマットを定義するＸＭＬスキーマの定義ファイルのファイル名が格納される。電文要素１５７２は、電文作成アクティビティによって作成される電文の電文要素である。
【００８８】
対応する入力電文要素情報１５７３は、入力電文ファイル名１５７４及び電文要素１５７５を含む。入力電文ファイル名１５７４は、入力電文のＸＭＬスキーマの定義ファイルのファイル名である。電文要素１５７５は、作成される電文の電文要素１５７２に対応する入力電文の電文要素である。
【００８９】
ここで、図６のフローチャートの説明に戻る。
【００９０】
すべての解析対象のアクティビティについて、アクティビティの種類に基づいて解析処理が完了すると、ＣＰＵ３０は、ビジネスプロセス解析処理を実行する（Ｓ６５０）。
【００９１】
ビジネスプロセス解析処理は、Ｓ６００からＳ６４０までの処理で取得された情報に基づいて、入力電文を圧縮するために必要な情報を抽出する。
【００９２】
図１３は、本発明の実施の形態の業務プロセスの入力電文を圧縮するためのビジネスプロセス解析処理の手順を示すフローチャートである。本処理は、ＣＰＵ３０がビジネスプロセス解析部１０６を実行することによって処理される。
【００９３】
ＣＰＵ３０は、まず、ルートフローに対してフロー解析処理を実行する（Ｓ１３０１）。ルートフローとは、業務フローの始点から終点までの主要な処理の流れである。ＢＰＥＬの構文では、最外層の「sequence」タグに対応するフローである。
【００９４】
フロー解析処理は、業務プロセスに含まれるアクティビティにおいて参照される電文要素と入力電文の電文要素との対応を抽出する。また、フローに分岐が含まれる場合には、後述するフロー分岐解析処理を実行することによって、分岐先のフローごとにフロー解析処理を実行する。フロー解析処理は、図１４にて後述する。
【００９５】
ＣＰＵ３０は、続いて、ビジネスプロセス入力電文テーブル１５４のオペレーションに対応するフローの入力電文の参照情報を、フロー解析処理によって格納された入力電文参照情報テーブル１５６から取得する（Ｓ１３０２）。
【００９６】
最後に、ＣＰＵ３０は、参照不要又は分岐条件付きの電文要素を抽出し、抽出された電文要素を削除対象とする（Ｓ１３０３）。具体的に参照不要又は分岐条件付きの電文要素を削除する方法については、図２０及び図２１にて後述する。
【００９７】
以下、フロー解析処理の詳細を説明する。
【００９８】
図１４は、本発明の実施の形態のフロー解析処理の手順を示すフローチャートである。本処理は、ＣＰＵ３０がフロー解析部１０７を実行することによって処理される。また、本処理は、フローに含まれるすべてのアクティビティで参照される入力電文の電文要素を抽出することによって、電文要素ごとの参照条件を抽出する。
【００９９】
ＣＰＵ３０は、まず、解析対象のアクティビティが「ｓｗｉｔｃｈアクティビティ」であるか否かを判定する（Ｓ１４０１）。「ｓｗｉｔｃｈアクティビティ」は、業務フローが分岐することを示すアクティビティである。また、分岐された処理が合流する場合にも使用される。
【０１００】
ＣＰＵ３０は、解析対象のアクティビティが「ｓｗｉｔｃｈアクティビティ」である場合には（Ｓ１４０１の結果が「Ｙｅｓ」）、フローが分岐するため、フロー分岐解析処理を実行する。フロー分岐解析処理の詳細は、図１６にて後述する。
【０１０１】
ＣＰＵ３０は、解析対象のアクティビティが「ｓｗｉｔｃｈアクティビティ」でない場合には（Ｓ１４０１の結果が「Ｎｏ」）、解析対象のアクティビティの種類を特定する（Ｓ１４０２）。解析対象のアクティビティの種類は、アクティビティ判定部１０９を実行し、図８に示した手順に基づいて特定される。
【０１０２】
ＣＰＵ３０は、Ｓ１４０２の処理によって解析対象のアクティビティが電文参照アクティビティか否かを判定する（Ｓ１４０３）。ＣＰＵ３０は、解析対象のアクティビティが電文参照アクティビティである場合には（Ｓ１４０３の結果が「Ｙｅｓ」）、電文参照アクティビティで参照される電文の要素を取得する（Ｓ１４０４）。
【０１０３】
さらに、ＣＰＵ３０は、Ｓ１４０４の処理で取得された参照している電文要素に基づいて、電文要素依存情報テーブル１５７を検索し、対応する入力電文の電文要素を取得する（Ｓ１４０５）。取得された入力電文の電文要素は、直接的又は間接的に解析対象のアクティビティによって参照されている。
【０１０４】
ＣＰＵ３０は、入力電文参照情報テーブル１５６にアクティビティによる電文要素の参照情報を格納する（Ｓ１４０６）。具体的には、Ｓ１４０５の処理で取得された入力電文の電文要素を、実際に参照されている電文要素として入力電文参照情報テーブル１５６に登録する。
【０１０５】
図１５Ａは、本発明の実施の形態のルートフローにおける入力電文要素の参照情報を格納する入力電文参照情報テーブル１５６である。入力電文参照情報テーブル１５６は、解析対象のフローごとに作成される。
【０１０６】
入力電文参照情報テーブル１５６は、入力電文フォーマットファイル名１５６１及び入力電文要素参照情報１５６２を含む。入力電文要素参照情報１５６２は、電文要素１５６３及び参照条件１５６４を含む。
【０１０７】
入力電文フォーマットファイル名１５６１は、入力電文のフォーマットの定義を格納したファイルのファイル名である。電文要素１５６３は、入力電文の電文要素である。
【０１０８】
参照条件１５６４は、入力電文フォーマットファイル名１５６１及び電文要素１５６３によって特定される電文要素が、解析対象のフローで参照されるか否か、及び、参照される条件を格納する。具体的には、必ず参照される場合には「必須」、参照されない場合には「不要」を格納する。さらに、所定の条件で参照される場合には、当該条件などとともに参照情報を格納する。例えば、分岐処理の特定の分岐先のみで参照される場合には、分岐を特定する情報、例えば、「ｓｗｉｔｃｈアクティビティ」の識別子とともに参照条件を格納する。なお、分岐による条件付きの参照については、詳細を後述する。
【０１０９】
また、本発明の実施の形態では、業務プロセスを定義するＢＰＥＬの記述に基づいて、すべての入力電文及び入力電文の電文要素をあらかじめ列挙することができる。そこで、フロー解析処理を開始する前に入力電文及び電文要素を抽出し、入力電文参照情報テーブル１５６のレコードを生成する。このとき、参照条件１５６４は、初期値として「不要」を格納する。そして、実際に参照されている場合にはＳ１４０６の処理で参照条件を「必須」に更新し、又は、フロー分岐解析処理などの処理で具体的な参照条件に更新する。こうすることによって、もれなく電文要素に参照条件を設定することができる。
【０１１０】
ここで、図１４のフロー解析処理のフローチャートの説明に戻る。
【０１１１】
ＣＰＵ３０は、Ｓ１４０６の処理が終了、又は、Ｓ１４０３の処理で解析対象のアクティビティの種類が電文参照アクティビティでない場合には（Ｓ１４０３の結果が「Ｎｏ」）、すべてのアクティビティの解析が終了したか否かを判定する（Ｓ１４０７）。すべてのアクティビティの解析が完了していない場合には（Ｓ１４０７の結果が「Ｎｏ」）、他の解析対象のアクティビティを解析するためにＳ１４０１の処理に戻る。一方、すべてのアクティビティの解析が完了した場合には（Ｓ１４０７の結果が「Ｙｅｓ」）、フロー解析処理を終了する。
【０１１２】
続いて、解析対象のアクティビティが「ｓｗｉｔｃｈアクティビティ」である場合に実行されるフロー分岐解析処理について説明する。
【０１１３】
図１６は、本発明の実施の形態のフロー分岐解析処理の手順を示すフローチャートである。本処理は、ＣＰＵ３０がフロー分岐解析部１０８を実行することによって処理される。
【０１１４】
ＣＰＵ３０は、分岐先のフローを特定する（Ｓ１６０１）。さらに、分岐中の各フローに対し、フロー解析処理を実行する（Ｓ１６０２）。図１７を参照しながら具体的に説明する。
【０１１５】
図１７は、本発明の実施の形態の業務フローの分岐を説明する図である。図１７に示すフローには、「ｓｗｉｔｃｈアクティビティ」に対応するアクティビティ１７１０及びアクティビティ１７２０が含まれる。アクティビティ１７１０は、分岐の開始を示し、アクティビティ１７２０は、分岐の終了を示している。
【０１１６】
図１７に示すフローでは、アクティビティ１７１０からアクティビティ１７２０までのフロー１７００に含まれる分岐フロー１７３０及び分岐フロー１７４０が図１６のＳ１６０１の処理で特定されるフローに対応する。そして、フロー１７３０及びフロー１７４０に対して、それぞれフロー解析処理が実行される。
【０１１７】
さらに、図４に示した業務フローについて検討すると、図１６のＳ１６０１の処理で特定されるフローは、「分岐開始１」アクティビティ４０２から「分岐終了１」アクティビティ４０７までのフローである。具体的には、アクティビティ４０３及びアクティビティ４０４を含むフロー（以下、「旅費申請処理Ｖ１のフロー」）及びアクティビティ４０５及びアクティビティ４０６を含むフロー（以下、「旅費申請処理Ｖ２のフロー」）となる。
【０１１８】
また、「分岐開始１」アクティビティ４０２から「分岐終了１」アクティビティ４０７の間のフローに対してフロー解析処理を実行すると（図１６のＳ１６０２の処理）、それぞれのフローについて、入力電文参照情報テーブル１５６の情報が生成される。図１５Ｂ及び図１５Ｃは、各フローに対応する入力電文参照情報テーブル１５６を示す。
【０１１９】
図１５Ｂは、本発明の実施の形態の分岐先の一方のフローにおける入力電文要素の参照情報を格納する入力電文参照情報テーブル１５６である。図１５Ｂに示す入力電文参照情報テーブル１５６は、旅費申請処理Ｖ１のフローにフロー解析処理を実行することによって生成される。
【０１２０】
旅費申請処理Ｖ１のフローの入力電文は、図５を参照すると、ＸＭＬスキーマ５０２によって定義される。そこで、図１５Ｂには、「ｃｕｓｔｏｍｅｒＩＤ」「ｅｘｐｅｎｓｅｓ」を電文要素とするレコードが作成される。これらの電文要素は、申請処理Ｖ１サービスで使用されるため、当該フローでは参照条件が「必須」となる。
【０１２１】
図１５Ｃは、本発明の実施の形態の分岐先の他方のフローにおける入力電文要素の参照情報を格納する入力電文参照情報テーブル１５６である。図１５Ｃに示す入力電文参照情報テーブル１５６は、旅費申請処理Ｖ２のフローにフロー解析処理を実行することによって生成される。
【０１２２】
旅費申請処理Ｖ２のフローの入力電文は、図５を参照すると、ＸＭＬスキーマ５０３によって定義される。そこで、図１５Ｃには、「ｕｓｅｒＩＤ」「ｅｘｐｅｎｓｅｓ」を電文要素とするレコードが作成される。これらの電文要素は、申請処理Ｖ２サービスで使用されるため、当該フローでは参照条件が「必須」となる。
【０１２３】
ここで、図１６のフロー分岐解析処理のフローチャートの説明に戻る。
【０１２４】
ＣＰＵ３０は、電文要素依存情報テーブル１５７を参照し、各フローで参照される電文要素を比較する（Ｓ１６０３）。そして、各電文要素が、解析対象のすべてのフローで参照されるか否かを判定する（Ｓ１６０４）。
【０１２５】
ＣＰＵ３０は、分岐先のすべてのフローに対象の電文要素が参照されている場合には（Ｓ１６０４の結果が「Ｙｅｓ」）、当該要素はいずれの分岐先であっても常に参照されるため、分岐元のフローに対応する入力電文参照情報テーブル１５６の当該電文要素に対応する参照条件に「必須」を格納する（Ｓ１６０７）。
【０１２６】
ＣＰＵ３０は、分岐先のすべてのフローに対象の電文要素が参照されていない場合には（Ｓ１６０４の結果が「Ｎｏ」）、分岐元のフローに対応する入力電文参照情報テーブル１５６の当該電文要素に対応する参照条件１５６４の値が「必須」であるか否かを判定する（Ｓ１６０５）。対象の電文要素に対応する分岐元のフローに対応する入力電文参照情報テーブル１５６の参照条件１５６４の値が「必須」である場合には（Ｓ１６０５の結果が「Ｙｅｓ」）、入力電文参照情報テーブル１５６の参照条件の値を「必須」とする（Ｓ１６０７）。なお、この場合には、もともと入力電文参照情報テーブル１５６の参照条件１５６４の値が「必須」であるため、特に値を変更する必要はない。
【０１２７】
ＣＰＵ３０は、対象の電文要素に対応する分岐元のフローに対応する入力電文参照情報テーブル１５６の参照条件の値が「必須」でない場合には（Ｓ１６０５の結果が「Ｎｏ」）、入力電文参照情報テーブル１５６の参照条件１５６４に参照条件を追加する（Ｓ１６０６）。
【０１２８】
ＣＰＵ３０は、すべての電文要素について解析処理が完了したか否かを判定する（Ｓ１６０８）。完了していない場合には（Ｓ１６０８の結果が「Ｎｏ」）、解析処理が完了していない残りの電文要素についてＳ１６０３以降の処理を実行する。また、すべての電文要素について解析処理が完了した場合には（Ｓ１６０８の結果が「Ｙｅｓ」）、フロー分岐解析処理を終了する。
【０１２９】
ここで、Ｓ１６０３以降の処理について、図４の業務フロー、図１２の電文要素依存情報テーブル１５７、及び図１５Ａから図１５Ｃの入力電文参照情報テーブル１５６を参照しながら具体的に説明する。解析対象のフローは、前述した旅費申請処理Ｖ１のフロー及び旅費申請処理Ｖ２のフローである。
【０１３０】
図１８は、本発明の実施の形態の旅費精算業務の業務フローの分岐部分を抜粋し、入力電文と分岐フローで使用される電文とともに示した図である。図１８には、簡略化された業務フロー、旅費精算業務の入力電文のＸＭＬスキーマ５０１、分岐先のフローで参照される電文のＸＭＬスキーマ５０２及び５０３を含む。分岐先のフローで参照される電文のＸＭＬスキーマ５０２のフォーマットファイル名は、「shinsei1_in.XSD」である。また、ＸＭＬスキーマ５０３のフォーマットファイル名は、「shinsei2_in.XSD」である。
【０１３１】
まず、電文要素依存情報テーブル１５７を参照すると、旅費申請処理Ｖ１のフローに入力される電文は、「ｃｕｓｔｏｍｅｒＩＤ」「ｅｘｐｅｎｓｅｓ」を含む。また、旅費申請処理Ｖ２のフローに入力される電文は、「ｕｓｅｒＩＤ」「ｅｘｐｅｎｓｅｓ」を含む。
【０１３２】
このとき、旅費申請処理Ｖ１のフローに入力される電文要素「ｃｕｓｔｏｍｅｒＩＤ」は、旅費申請処理Ｖ２のフローでは参照されていない。同じく、旅費申請処理Ｖ２のフローに入力される電文要素「ｕｓｅｒＩＤ」は、旅費申請処理Ｖ１のフローでは参照されていない（Ｓ１６０４の結果が「Ｎｏ」）。
【０１３３】
また、図５を参照すると、「ｃｕｓｔｏｍｅｒＩＤ」及び「ｕｓｅｒＩＤ」の電文要素は、業務フローに含まれる他のアクティビティで参照されない。よって、この時点では、分岐元のフローの入力電文参照情報テーブル１５６の各電文要素に対応する参照条件１５６４の値は「必須」ではない（Ｓ１６０５の結果が「ＮＯ」）。
【０１３４】
したがって、旅費申請業務では、「ｃｕｓｔｏｍｅｒＩＤ」「ｅｘｐｅｎｓｅｓ」又は「ｕｓｅｒＩＤ」「ｅｘｐｅｎｓｅｓ」の組合せで電文要素が参照される。そして、入力電文参照情報テーブル１５６の「ｃｕｓｔｏｍｅｒＩＤ」及び「ｕｓｅｒＩＤ」に対応する参照条件には、参照条件１５６４に「分岐条件」が格納され、さらに、該当する分岐アクティビティの名称「分岐開始１」が具体的な条件として格納される（Ｓ１６０６）。
【０１３５】
一方、電文要素「ｅｘｐｅｎｓｅｓ」は、旅費申請処理Ｖ１のフロー及び旅費申請処理Ｖ２のフローに共通して参照されるため（Ｓ１６０４の結果が「Ｙｅｓ」）、入力電文参照情報テーブル１５６の対応する参照条件１５６４の値には「必須」が設定される（Ｓ１６０７）。
【０１３６】
最後に、ＣＰＵ３０は、以上の解析処理が完了すると、解析結果を出力装置３４に表示する（図６のＳ６７０）。
【０１３７】
図１９は、本発明の実施の形態の解析結果を出力する画面の一例である。図１９に示す画面では、結果として、入力電文ごとに電文要素名と未参照条件を表示している。
【０１３８】
図１９には、図１５Ａの入力電文要素参照情報テーブルに基づいて電文要素名及び未参照条件が表示されている。具体的には、入力電文フォーマットファイル名が「ｉｎｐｕｔ．ＸＳＤ」であって、電文要素「ｐｉｃｔｕｒｅ」は常に参照されておらず、電文要素「ｃｕｓｔｏｍｅｒＩＤ」「ｕｓｅｒＩＤ」は分岐条件「分岐開始１」に基づいて、条件付きで参照されることが表示されている。
【０１３９】
本発明の実施の形態では、以上の手順によって業務プロセスを解析することによって、未参照要素を抽出し、表示することができる。ここで、抽出された未参照要素を実際に除去する手順について説明する。図２０には修正前及び修正後のＸＭＬスキーマを示し、図２１には、修正前及び修正後のＸＭＬスキーマに基づいて生成された電文の一例を示す。なお、図２０及び図２１に示す例は、前述した旅費精算業務の業務プロセスで使用される入力電文に対応する。
【０１４０】
図２０は、本発明の実施の形態の解析結果に基づいて修正された入力電文のＸＭＬスキーマの一例を示す図である。ＸＭＬスキーマ２０００は、修正前のＸＭＬスキーマである。また、ＸＭＬスキーマ２０５０は、修正後のＸＭＬスキーマである。
【０１４１】
ＸＭＬスキーマ２０００の部分２０１０は、条件付きで参照される電文要素として抽出されている。本発明の実施の形態の旅費清算業務では、「Ｖｅｒｓｉｏｎ」に設定された値に基づいて、申請処理サービスＶ１又は申請処理サービスＶ２のいずれかの処理が実行される。申請処理サービスＶ１では、「ｃｕｓｔｏｍｅｒＩＤ」に対応する値を使用し、申請処理サービスＶ２では、「ｕｓｅｒＩＤ」に対応する値を使用する。したがって、入力電文には、「Ｖｅｒｓｉｏｎ」に設定された値に対応するいずれか一方の値が含まれていればよい。
【０１４２】
そこで、ＸＭＬスキーマでは、「ｃｈｏｉｃｅ」タグを使用することによって、要素を選択的に定義することができる。具体的には、修正後のＸＭＬスキーマ２０５０の部分２０６０に記述されたように定義することができる。
【０１４３】
また、ＸＭＬスキーマ２０００の部分２０２０は、未参照の電文要素として抽出された「ｐｉｃｔｕｒｅ」である。未参照の電文要素の場合には、そのまま除去すればよい。したがって、修正後のＸＭＬスキーマ２０５０では、電文要素「ｐｉｃｔｕｒｅ」は削除されている。
【０１４４】
図２１は、本発明の実施の形態の解析結果に基づいて修正された入力電文のＸＭＬスキーマに基づいて生成された電文の一例を示す図である。電文２１００は、修正前のＸＭＬスキーマ（図２０のＸＭＬスキーマ２０００）に基づいて生成された電文である。一方、電文２１５０は、修正後のＸＭＬスキーマ（図２０のＸＭＬスキーマ２０５０）に基づいて生成された電文である。
【０１４５】
修正前のＸＭＬスキーマによって生成された電文２１００には、部分２１１０を参照すると、「ｃｕｓｔｏｍｅｒＩＤ」及び「ｕｓｅｒＩＤ」の両方の値が含まれている。「ｖｅｒｓｉｏｎ」には“１”が設定されているため、「ｃｕｓｔｏｍｅｒＩＤ」に設定されている値は使用されない。
【０１４６】
また、部分２１２０を参照すると、「ｐｉｃｔｕｒｅ」に値が含まれている。「ｐｉｃｔｕｒｅ」には、領収書などの画像データが格納されるため、必要な容量が大きくなる。このため、データの転送時にネットワークトラフィックが増大するなどの弊害が生じる。
【０１４７】
修正後のＸＭＬスキーマによって生成された電文２１５０は、旅費精算業務で未参照の「ｐｉｃｔｕｒｅ」が削除され、「ｖｅｒｓｉｏｎ」の値が“１”の場合に参照される「ｕｓｅｒＩＤ」のみが含まれている（２１６０）。したがって、業務プロセスの処理実行時には転送される電文のデータ量が削減される。
【０１４８】
本発明の実施の形態によれば、業務プロセスの入力電文の電文要素のうち、各処理で参照されない電文要素及び条件付きで参照される電文要素を自動的に抽出することができる。そこで、抽出された未参照の電文要素に基づいて、入力電文の構成を定義するＸＭＬスキーマを入力電文に含まれる情報が最小限となるように変更することによって、処理に必要な情報のみを転送することができるため、ネットワークのトラフィック量の増大を抑制することができる。
【図面の簡単な説明】
【０１４９】
【図１】本発明の実施の形態の計算機システムのハードウェア構成図である。
【図２】本発明の実施の形態の主記憶に記憶された電文未参照要素特定装置の構成を示す図である。
【図３】本発明の実施の形態の外部記憶装置に格納された情報を示す図である。
【図４】本発明の実施の形態の対象となる業務である旅費精算業務の業務フローを示す図である。
【図５】本発明の実施の形態の業務プロセス及び送受信される電文のスキーマを示す図である。
【図６】本発明の実施の形態の入力電文を圧縮する処理の手順を示すフローチャートである。
【図７】本発明の実施の形態の業務プロセスで使用される電文に含まれる変数を格納する変数テーブルの一例を示す図である。
【図８】本発明の実施の形態の業務プロセスに含まれるアクティビティの種類を判定する手順を示すフローチャートである。
【図９】本発明の実施の形態の受付アクティビティを解析する手順を示すフローチャートである。
【図１０】本発明の実施の形態の業務プロセスに含まれるオペレーションと入力電文との対応を格納するビジネスプロセス入力電文テーブルを示す図である。
【図１１】本発明の実施の形態の電文作成アクティビティを解析する処理の手順を示すフローチャートである。
【図１２】本発明の実施の形態の新たに作成される電文の要素と入力電文の電文要素との対応を格納する電文要素依存情報テーブルの一例を示す図である。
【図１３】本発明の実施の形態の業務プロセスの入力電文を圧縮するためのビジネスプロセス解析処理の手順を示すフローチャートである。
【図１４】本発明の実施の形態のフロー解析処理の手順を示すフローチャートである。
【図１５Ａ】本発明の実施の形態のルートフローにおける入力電文要素の参照情報を格納する入力電文参照情報テーブルである。
【図１５Ｂ】本発明の実施の形態の分岐先の一方のフローにおける入力電文要素の参照情報を格納する入力電文参照情報テーブルである。
【図１５Ｃ】本発明の実施の形態の分岐先の他方のフローにおける入力電文要素の参照情報を格納する入力電文参照情報テーブルである。
【図１６】本発明の実施の形態のフロー分岐解析処理の手順を示すフローチャートである。
【図１７】本発明の実施の形態の業務フローの分岐を説明する図である。
【図１８】本発明の実施の形態の旅費精算業務の業務フローの分岐部分を抜粋し、入力電文と分岐フローで使用される電文とともに示した図である。
【図１９】本発明の実施の形態の解析結果を出力する画面の一例である。
【図２０】本発明の実施の形態の解析結果に基づいて修正された入力電文のＸＭＬスキーマの一例を示す図である。
【図２１】本発明の実施の形態の解析結果に基づいて修正された入力電文のＸＭＬスキーマに基づいて生成された電文の一例を示す図である。
【符号の説明】
【０１５０】
１    計算機
２    外部記憶装置
４    ネットワーク
３０    ＣＰＵ
３１    主記憶
３３    入力装置
３４    出力装置
３６    制御部
３７    物理記憶装置
４０    業務プロセス入力装置
１０２    電文未参照要素特定装置
１０３    電文読込部
１０４    受付アクティビティ解析部
１０５    電文作成アクティビティ解析部
１０６    ビジネスプロセス解析部
１０７    フロー解析部
１０８    フロー分岐解析部
１０９    アクティビティ判定部
１５０    電文情報管理記憶装置
１５１    電文参照情報管理記憶装置
１５２    電文要素依存情報管理記憶装置
１５３    変数テーブル
１５４    ビジネスプロセス入力電文テーブル
１５５    電文フォーマットファイル
１５６    入力電文参照情報テーブル
１５７    電文要素依存情報テーブル
【図１】
2008310570.tif 000003
【図２】
2008310570.tif 000004
【図３】
2008310570.tif 000005
【図６】
2008310570.tif 000006
【図７】
2008310570.tif 000007
【図８】
2008310570.tif 000008
【図９】
2008310570.tif 000009
【図１０】
2008310570.tif 000010
【図１１】
2008310570.tif 000011
【図１２】
2008310570.tif 000012
【図１３】
2008310570.tif 000013
【図１４】
2008310570.tif 000014
【図１５Ａ】
2008310570.tif 000015
【図１５Ｂ】
2008310570.tif 000016
【図１５Ｃ】
2008310570.tif 000017
【図１６】
2008310570.tif 000018
【図１９】
2008310570.tif 000019
【図２０】
2008310570.tif 000020
【図２１】
2008310570.tif 000021
【図４】
2008310570.tif 000022
【図５】
2008310570.tif 000023
【図１７】
2008310570.tif 000024
【図１８】
2008310570.tif 000025