(57)【要約】【課題】帳票データ生成処理およびデータ変換処理が非同期かつ並行して動作する場合、帳票データ生成処理に関連するデータ変換処理を特定できず、帳票データ生成処理でエラーが発生してもデータ変換処理を中止できない。【解決手段】ジョブ管理サーバーは帳票データ生成サーバーからエラー終了を取得すると、変換サーバーのキャンセルキューにデータ変換キャンセルリクエストを送信する。変換サーバーのキャンセル部は変換サービスにデータ変換ジョブ削除リクエストを送信し、データ変換処理を終了させる。変換サーバーの変換部は、データ変換ジョブが削除されたことをもって、データ変換がキャンセルされたことを検知することで、データ変換処理を終了する。【選択図】図５
2018055489.tif 000002
【特許請求の範囲】
【請求項１】
第一の形式の文書データを生成する生成手段と、
前記生成手段と非同期に前記第一の形式から第二の形式への変換処理を行う変換サービスに対して、処理対象の第一の形式の文書データを前記第二の形式へと変換することを要求し、前記処理対象の第一の形式の文書データに対する前記変換処理の識別情報を前記変換サービスから受け取る変換要求手段と、
前記生成手段による前記処理対象の第一の形式の文書データの生成が中止された場合、前記変換サービスに対して、前記識別情報で識別される変換処理の削除を要求する削除要求手段と
を有することを特徴とする情報処理システム。
【請求項２】
前記生成手段による前記第一の形式の文書データを生成する生成処理の識別情報と、前記変換処理の識別情報とを関連付けて記憶する記憶手段を更に有し、
前記削除要求手段は、前記記憶手段に記憶された前記生成処理の識別情報と前記変換処理の識別情報とに基づいて、前記処理対象の第一の形式の文書データを前記第二の形式へと変換する前記変換処理の識別情報を特定することを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記削除要求手段による前記変換処理の削除の要求の後に、前記変換サービスから、前記変換処理により前記第二の形式に変換された文書データを示す変換情報を取得し、前記変換情報がない場合には、前記変換処理が完了したものと判断することを特徴とする請求項１または２に記載の情報処理システム。
【請求項４】
前記削除要求手段による前記変換処理の削除の要求の前に、前記変換処理の削除を行っている旨の情報を記憶しておき、
前記削除要求手段による変換処理の削除の要求の後に、前記変換サービスから、前記変換処理により前記第二の形式に変換された文書データを示す変換情報を取得し、前記変換情報がなく、かつ前記変換処理の削除を行っている旨の情報が記憶されている場合には、前記変換処理が削除されたものと判断し、前記変換情報がなく、かつ前記変換処理の削除を行っている旨の情報が記憶されていない場合には、前記変換処理がエラーにより削除されたものと判断することを特徴とする請求項１または２に記載の情報処理システム。
【請求項５】
前記生成手段は、前記第一の形式の文書データを所定の処理単位で生成し、生成した前記第一の形式の文書データの格納場所を第一のインデックスファイルに記録し、
前記変換サービスは、前記第一のインデックスファイルに記録された格納場所に格納された前記第一の形式の文書データを前記第二の形式に変換し、変換した前記第二の形式の文書データの格納場所を第二のインデックスファイルに記録することを特徴とする請求項１乃至４のいずれか一項に記載の情報処理システム。
【請求項６】
前記生成手段は、前記第一の形式の文書データとして、ＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）形式の帳票データを生成し、
前記変換要求手段は、前記第一の形式の文書データを、前記第二の形式としてＳＶＧ（Ｓｃａｌａｂｌｅ  Ｖｅｃｔｏｒ  Ｇｒａｐｈｉｃｓ）形式へと変換することを特徴とする請求項１乃至５のいずれか一項に記載の情報処理システム。
【請求項７】
前記生成手段は、業務サーバーからの要求に応じて、前記第一の形式の文書データを生成し、前記変換サービスに対して前記第二の形式への変換を要求することを特徴とする請求項１乃至６のいずれか一項に記載の情報処理システム。
【請求項８】
請求項１乃至７のいずれか一項に記載の情報処理システムと、
前記変換サービスと
を含むことを特徴とする文書処理システム。
【請求項９】
業務サーバーをさらに含むことを特徴とする請求項８に記載の文書処理システム。
【請求項１０】
請求項１乃至７のいずれか一項に記載の情報処理システムとしてコンピュータを機能させるためのプログラム。
【請求項１１】
第一の形式の文書データを生成する生成工程と、
前記生成工程と非同期に前記第一の形式から第二の形式への変換処理を行う変換サービスに対して、処理対象の第一の形式の文書データを前記第二の形式へと変換することを要求し、前記処理対象の第一の形式の文書データに対する前記変換処理の識別情報を前記変換サービスから受け取る変換要求工程と、
前記生成工程による前記処理対象の第一の形式の文書データの生成が中止された場合、前記変換サービスに対して、前記識別情報で識別される変換処理の削除を要求する削除要求工程と
を有することを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム及び情報処理方法、文書処理システム、プログラムに関し、例えばクラウドサービスにおける帳票文書データの生成に関して非同期かつ並行して処理が行われる情報処理システム及び情報処理方法、文書処理システム、プログラムに関する。
【背景技術】
【０００２】
業務データの管理や各種処理を行う形態として、クラウドサービスの利用が普及し始めている。ユーザーは、クライアント端末のＷｅｂブラウザーからインターネットを介してクラウドサービスのＷｅｂページにアクセスし、そのＷｅｂページ上で電子化された帳票文書データを閲覧する。さらに、業務フローに応じて閲覧している帳票文書データを編集・印刷するような利用ケースの増加が予想される。従来ではＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）形式の帳票文書データ生成する帳票サービスと帳票文書データを印刷する印刷サービスといった別個のクラウドサービスがシーケンシャルに処理を連携することで機能を実現している。このときＷｅｂページ上で帳票文書データを扱う場合は、従来から帳票システムで一般的に利用されるＰＤＦ形式のデータではなく、よりＷｅｂとの親和性の高いＳＶＧ（Ｓｃａｌａｂｌｅ  Ｖｅｃｔｏｒ  Ｇｒａｐｈｉｃｓ）形式の使用が想定される。これにより、今までの帳票文書データでは実現が難しかったダイナミックな表現や、画面の拡大縮小にも劣化しない描画が可能となり付加価値のあるＷｅｂ帳票を実現できる。
【０００３】
このためには顧客データとテンプレートデータからＰＤＦ形式の帳票文書データを生成した上でさらに、ＰＤＦ形式の帳票文書データをＳＶＧ等のＷｅｂページ上で扱う形式に変換する必要がある。帳票生成を行ってからＷｅｂページ上で閲覧できるまでの時間を短縮するため、帳票サービスで帳票文書データ生成完了を待たずに変換されたページから随時変換サービスへ帳票文書データを送信しＳＶＧ変換を開始する。つまり各処理は非同期かつ並行して実行される。
【０００４】
また、クラウドサービスの可用性向上のために帳票サービスの各サーバーはメッセージキューサービスを介し通信を行い、各サーバーはキュー内のメッセージ量に応じてスケールアウト（イン）する。これにより帳票生成が完了する前からＷｅｂ帳票データの表示を開始することができる。
【０００５】
このようなＷｅｂ帳票データの生成システムにおいて帳票文書データ（ＰＤＦデータ）生成処理中にエラーが発生した場合、帳票文書データ生成処理だけでなく、ＳＶＧ変換処理を中止する必要がある。特許文献１には、フローサービスサーバ群が管理するジョブに含まれたタスクをタスクサーバーが取得して特定のタスク処理を施すシステムが記載されている。このシステムでは、フローサービスサーバ群が、所定の時間内にタスクを完了しなかったタスクサーバーに対してタスク処理を中止するよう命令し、別のサーバーでタスク処理を代理実行する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−２５７６１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１記載のシステムでは、特定されたタスクサーバーを対象として処理を中止させている。しかしながら、帳票データ生成処理およびＳＶＧ変換リクエスト処理が非同期かつ並行して動作する場合、エラーが発生したＰＤＦデータ生成処理に関連するＳＶＧ変換処理がどのサーバーで行われているのかを特定することが困難である。そのため、帳票データ生成処理でエラーが発生したにも関わらず、ＳＶＧ変換処理を止められず、いつまでも継続してしまう。中断すべき処理を継続することはサーバーの持つ計算資源の浪費であり、システム全体のパフォーマンスを低下させることにもなる。
【０００８】
本発明は上記従来例に鑑みて成されたもので、複数の連携処理が非同期かつ並行して行われているシステムにおいて、先行処理がエラー終了した場合に迅速に後続処理を中止することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために本発明は以下の構成を有する。すなわち、
第一の形式の文書データを生成する生成手段と、
前記生成手段と非同期に前記第一の形式から第二の形式への変換処理を行う変換サービスに対して、処理対象の第一の形式の文書データを前記第二の形式へと変換することを要求し、前記処理対象の第一の形式の文書データに対する前記変換処理の識別情報を前記変換サービスから受け取る変換要求手段と、
前記生成手段による前記処理対象の第一の形式の文書データの生成が中止された場合、前記変換サービスに対して、前記識別情報で識別される変換処理の削除を要求する削除手段と
を有することを特徴とする情報処理システム。
【発明の効果】
【００１０】
本発明によれば、複数の連携処理が非同期かつ並行して行われているシステムにおいて、先行処理がエラー終了した場合に即座に後続処理を中止することができる。これにより、後続処理を実行するサーバーおよび連携サービスで処理を継続してしまい、これらサーバーおよび連携サービスのリソースを無駄に消費することがなくなる。
【図面の簡単な説明】
【００１１】
【図１】システム構成図
【図２】ハードウェア構成図
【図３】ソフトウェア構成図
【図４】インデックスファイルの例を示す図
【図５】実施例１のＷｅｂ帳票データ生成処理をキャンセルするシーケンス図
【図６】実施例１のＷｅｂ帳票データ生成処理をキャンセルするシーケンス図
【発明を実施するための形態】
【００１２】
［実施形態１］
以下、本発明を実施するための形態について図面を用いて説明する。
＜システム構成＞
図１は、本発明の実施例の帳票システム（あるいは情報処理システム）の構成を示すブロック図である。クライアント端末１０２は、有線または無線ＬＡＮを介してローカルネットワーク１０１に接続され、ローカルネットワーク１０１を介してインターネットワーク１００にアクセスし、サービス１０４〜１０６にアクセスすることができる。クライアント端末１０２では、Ｗｅｂブラウザー１０６等のプログラムを実行する環境が内蔵されている。業務サーバー１０３はユーザー業務情報を管理するサーバーである。本実施例では業務サーバー１０３で業務情報を管理し、業務サーバー１０３の情報を用いて業務を行うユースケースを想定している。業務サーバー１０３はクライアント端末１０２からのリクエストに応じて業務情報の表示と、帳票データ生成指示を行なうための画面を提供する。帳票サービス１０４は業務サーバー１０３からリクエストを受け取り、リクエストに応じてＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）形式の帳票文書データを生成し管理するサービスである。そして帳票サービス１０４は、生成した帳票文書データを変換する変換リクエストを変換サービス１０５に対して行う。変換サービス１０５は、帳票サービス１０４から帳票文書データの変換リクエストを受け付け、変換リクエストに応じてＳＶＧ（Ｓｃａｌａｂｌｅ  Ｖｅｃｔｏｒ  Ｇｒａｐｈｉｃｓ）形式のＷｅｂ帳票データの生成を行なうサービスである。ストレージサービス１０６はファイル管理を行うサービスであり、クライアント端末１０２、帳票サービス１０４、変換サービス１０５からのファイルのアップロード／ダウンロードを受け付ける。
【００１３】
なおサービス１０４〜１０６の各サービス、および業務サーバー１０３はそれぞれ１台で表現しているが、複数台のサーバーで冗長化してもよい。また、上記各構成要素を接続するネットワークは、例えば、インターネット等のＬＡＮ、ＷＡＮ、電話回線、専用デジタル回線、ＡＴＭやフレームリレー回線、ケーブルテレビ回線、データ放送用無線回線等のいずれである。また、これらの組み合わせにより実現される、いわゆる通信ネットワークである。ネットワークはデータの送受信が可能であればよい。
【００１４】
＜ハードウェア構成＞
図２は、図１のクライアント端末１０２、業務サーバー１０３、帳票サービス１０４、変換サービス１０５、ストレージサービス１０６として動作する情報処理装置のハードウェア構成を示すブロック図である。図中、ＣＰＵ２０１は内部バスで接続される各デバイス（後述のＲＯＭ、ＲＡＭ他）を直接或いは間接的に制御し、本発明を実現するためのプログラムを実行する。ＲＯＭ２０２はＢＩＯＳが格納してあるＲＯＭである。ＲＡＭ２０３はＣＰＵ２０１のワーク領域として利用されたり、本発明を実現するためのソフトウェアモジュールをロードするための一時記憶として利用されたりするＲＡＭ（直接記憶装置）である。二次記憶装置２０４は基本ソフトウェアであるＯＳやソフトウェアモジュールが記憶されているＨＤＤ（ハードディスクドライブ）、もしくはＳＳＤ（ソリッドステートドライブ）などである。入力装置２０５は不図示のキーボードやポインティングデバイスなどである。出力装置２０６としてはディスプレイが接続される。ネットワークインターフェース２０７はネットワーク１００に接続するためのＩ／Ｆである。
【００１５】
これらハードウェアでは、起動後ＣＰＵ２０１によりＢＩＯＳが実行されＯＳがＨＤＤ２０４からＲＡＭ２０３に実行可能にロードされる。ＣＰＵ２０１はＯＳの動作に従って後述する各種ソフトウェアモジュールをＨＤＤ２０４からＲＡＭ２０３に随時、実行可能にロードする。各種ソフトウェアモジュールは上記各デバイスの協調によりＣＰＵ２０１によって実行され動作する。また、Ｉ／Ｆ２０７はインターネット１００またはローカルネットワーク１０１に接続されており、ＯＳの動作に従ってＣＰＵ２０１により制御され、上述した通信手段による通信を実現している。
【００１６】
＜業務サーバー１０３のソフトウェア構成と管理情報＞
図３に業務サーバーおよびサービス１０４〜１０６のソフトウェア構成を示す。業務サーバー１０３は、Ｗｅｂ画面Ｉ／Ｆ３５１、業務情報管理部３５２、ストレージ３５３を含み、各ソフトウェアモジュールは図２で示したＨＤＤ２０２に記憶されており、前述したようにＣＰＵ２０１によってＲＡＭ２０３にロードされ実行される。Ｗｅｂ画面Ｉ／Ｆ３５１は、業務サーバー１０３のユーザーインターフェースを提供するものであり、クライアント端末１０２のブラウザー１０６からの要求に応じて、業務情報管理部３５２で管理される業務情報を表示する画面を生成してクライアント端末１０２に返す。業務情報は、業務サーバー１０３のストレージ３５３に記憶され業務情報管理部で管理される。これらの情報は、業務サーバー１０３の外部メモリではなく、インターネット１００やローカルネットワーク１０１を介して通信可能に構成された別のサーバーに記憶するように構成することもできる。
【００１７】
表１には、予め業務情報管理部３５２に保持、管理している業務情報のうちの顧客情報の例を示す。
【００１８】
【表１】
2018055489.tif 000003
【００１９】
顧客情報は、帳票を生成する際に使用するデータテーブルである。本実施例では、顧客を一意に識別するための顧客ＩＤと、氏名、住所、生年月日、連絡先を含む情報を保持している。帳票を生成するのに必要なデータは、本実施例の顧客情報に限らず、製品の在庫や納品情報、入出金情報等、様々な物が想定される。
【００２０】
表２には、予め業務情報管理部３５２に保持している業務情報のうちの帳票情報の例を示す。
【００２１】
【表２】
2018055489.tif 000004
【００２２】
帳票情報は、帳票を生成する際に使用する帳票テンプレートについてのデータテーブルである。帳票情報を一意に識別するための帳票ＩＤと、画面表示用の帳票名、帳票サービス１０４で管理されている帳票テンプレートを特定できるテンプレートＩＤとを含む。
【００２３】
業務サーバー１０３は、クライアント端末１０２のブラウザー１０６からの帳票プレビュー指示をＷｅｂ画面Ｉ／Ｆ３５１で受ける。その指示に応じて業務情報管理部３５２が該当の顧客情報と、帳票情報の帳票テンプレートＩＤとともにＷｅｂ帳票生成リクエストを帳票サービス１０４に送信することで、Ｗｅｂ帳票の生成のリクエストを行うことができる。
【００２４】
＜帳票サービス１０４のソフトウェア構成と管理情報＞
帳票サービス１０４は、Ｗｅｂサーバー３００、ジョブ管理サーバー３１０、帳票生成サーバー３２０、変換管理サーバー３３０、ストレージ３５０、さらに帳票生成キュー３４１、変換キュー３４２、キャンセルキュー３４３を有する。各ソフトウェアモジュールは図２で示したＨＤＤ２０５に記憶されており、前述したようにＣＰＵ２０２によってＲＡＭ２０３にロードされ実行される。
【００２５】
ジョブ管理サーバー３１０は外部Ｉ／Ｆ３１１、ジョブ管理部３１２を有する。帳票生成サーバー３１０は、外部Ｉ／Ｆ３２１、帳票生成ジョブ管理部３２２、帳票生成部３２３を有する。変換管理サーバー３３０は、外部Ｉ／Ｆ３３１、ＳＶＧ変換ジョブ管理部３３２、変換管理部３３３、キャンセル部３３４を有する。Ｗｅｂサーバー３００は帳票サービス１０４の各種インターフェースを提供し、業務サーバー１０３からのリクエストを受け付け、応答を返す。ジョブ管理サーバー３１０は、Ｗｅｂサーバー３００からのリクエストを受け付け、帳票生成キュー３４１に対して帳票生成リクエストのメッセージを、変換キュー３４２に対して変換リクエストのメッセージを送信する。また、ジョブ管理サーバー３１０は、帳票生成キュー３４１、変換キュー３４２またはキャンセルキュー３４３を通じて帳票生成サーバー３２０、変換管理サーバー３３０からのレスポンスメッセージを受け付ける。このときジョブ管理サーバー３１０は、帳票生成キュー３４２からエラー終了のレスポンスメッセージを受け取ると、キャンセルキュー３４３に変換キャンセルリクエストメッセージを送信する。
【００２６】
帳票生成サーバー３２０は帳票生成キュー３４１を通じて帳票生成リクエストメッセージを取得して帳票データ（帳票文書データまたは文書データとも呼ぶ。）を生成し、生成した帳票データであるＰＤＦファイルおよび後述のオーバレイインデックスファイルをストレージサービス１０６へ送信する。帳票生成サーバー３２０は帳票文書データ生成結果をレスポンスメッセージとして帳票生成キュー３４１へ送信する。
【００２７】
変換管理サーバー３３０は変換キュー３４２を通じて変換リクエストメッセージを取得し、変換サービス１０３へデータ変換リクエストを送信し、変換結果をレスポンスメッセージとして変換キュー３４２へ送信する。また、変換管理サーバー３３０はキャンセルキュー３４３を通じて変換キャンセルリクエストメッセージを取得し、変換サービス１０３へ変換キャンセルリクエストを送信する。変換管理サーバー３３０は変換キャンセル結果をレスポンスメッセージとしてキャンセルキュー３４３へ送信する。キューを介するリクエスト／レスポンスメッセージの送受信を行うことにより、帳票データ生成処理を行う帳票生成サーバー３２０およびデータ形式の変換処理を行う変換管理サーバー３３０は、負荷に応じてスケールアウトする。つまり帳票生成サーバー３２０および変換管理サーバー３３０は１台のみの必要はなく、負荷に応じて複数台であってよい。帳票サービス１０４のストレージ３５０には、帳票テンプレート情報、ジョブ情報、帳票生成ジョブ情報、変換ジョブ情報が格納されている。
【００２８】
表３には、ジョブ管理部３１２で管理されストレージ３５０に保持する帳票テンプレート情報の例を示す。
【００２９】
【表３】
2018055489.tif 000005
【００３０】
帳票テンプレート情報は、帳票サービス１０４で管理される帳票テンプレートについてデータテーブルである。本実施例では、帳票テンプレートのデータは後述のストレージサービス１０６にファイルとして保持されており、帳票テンプレート情報には、そのデータを取得するためのURLが含まれる。帳票テンプレートＩＤは帳票サービス１０４で管理している帳票テンプレートを一意に識別するＩＤであり、前述の業務サーバー１０３で管理される帳票情報の帳票テンプレートＩＤに対応する。
【００３１】
ジョブ管理サーバー３１０のジョブ管理部３１２は業務サーバー１０３からの帳票生成リクエストを受け付けると、帳票生成リクエストに含まれる（或いは帳票生成リクエストに伴う）顧客情報と、帳票テンプレートＩＤとを基に帳票生成サーバー３２０に帳票生成を指示する。本実施例では、帳票テンプレートデータにフォーム情報が予め定義されており、フィールドデータとして、業務サーバー１０３で管理される顧客情報を使用している。帳票生成サーバー３２０の帳票生成部３２３は、該当の帳票テンプレート情報の帳票テンプレートＵＲＬにアクセスして帳票テンプレートデータをストレージサービス１０６から取得する。そして帳票テンプレートデータからフォーム情報を取り出し、フォーム情報に該当の顧客情報をフィールドデータとしてオーバレイ処理し、ＰＤＦファイルに出力する。
【００３２】
表４には、ジョブ管理部３１２で管理されストレージ３５０に保持するジョブ情報の例を示す。
【００３３】
【表４】
2018055489.tif 000006
【００３４】
ジョブ情報は、帳票サービス１０４で管理されるＷｅｂ帳票データ生成の状態を管理するデータテーブルである。ジョブ情報は、ジョブを一意に識別するジョブＩＤと、後述する帳票生成ジョブ情報で管理する帳票生成ジョブを一意に識別する帳票生成ジョブＩＤと、後述する変換ジョブ情報で管理する変換ジョブを一意に識別する識別情報である変換ジョブＩＤとを含む。ジョブＩＤ、帳票生成ジョブＩＤ、変換ジョブＩＤは帳票サービス１０４がＷｅｂ帳票データ生成リクエストを受け付けた際にジョブ管理部３１２で発行される。
【００３５】
表５には、ジョブ管理部３１２および帳票生成ジョブ管理部３２２で管理されストレージ３５０に保持する帳票生成ジョブ情報の例を示す。
【００３６】
【表５】
2018055489.tif 000007
【００３７】
帳票生成ジョブ情報は、帳票サービス１０４で管理される帳票生成サーバー３２０で生成する帳票文書データの生成処理状態を管理するデータテーブルである。帳票生成ジョブ情報は、帳票生成ジョブを一意に識別する帳票生成ジョブＩＤと、帳票文書データの生成処理ステータスを表す帳票生成ステータスと、帳票文書データ生成で使用する帳票テンプレートＩＤとを含む。帳票生成ジョブＩＤは前述の表４ジョブ情報の帳票生成ジョブＩＤであり、帳票サービス１０４がＷｅｂ帳票データ生成リクエストを受け付けた際にジョブ管理部３１２で発行される。
【００３８】
表６には、ジョブ管理部３１２および変換ジョブ管理部３３２で管理されストレージ３５０に保持する変換ジョブ情報の例を示す。
【００３９】
【表６】
2018055489.tif 000008
【００４０】
変換ジョブ情報は、帳票サービス１０４で管理される変換サービス１０５で処理するデータ変換の処理状態を管理するデータテーブルである。変換ジョブ情報は、変換ジョブを一意に識別する変換ジョブＩＤと、データ変換処理ステータスを表す変換ステータスと、変換サービス１０５に変換リクエスト送信時に変換サービス１０５によって発行される変換サービスジョブＩＤと、複数のＰＤＦファイルから構成される帳票文書データのインデックスファイルのＵＲＬであるオーバレイインデックスファイルＵＲＬとを含む。ここで、変換サービスジョブＩＤは後述する表７の変換サービスジョブＩＤである。変換ジョブＩＤは前述の表４ジョブ情報の変換ジョブＩＤであり、帳票サービス１０４がＷｅｂ帳票データ生成リクエストを受け付けた際にジョブ管理部３１２で発行される。
【００４１】
＜変換サービス１０５のソフトウェア構成と管理情報＞
変換サービス１０５は、図３に示すようにＷｅｂサーバー３６１、変換情報管理部３６２、データ変換部３６３、ストレージ３６４とを有する。各ソフトウェアモジュールは図２で示したＨＤＤ２０２に記憶されており、前述したようにＣＰＵ２０１によってＲＡＭ２０３にロードされ実行される。Ｗｅｂサーバー３６１は、変換サービス１０４の各種インターフェースを提供し、帳票サービス１０４からのデータ変換リクエスト、変換キャンセルリクエストを受付け、応答を返す。また、変換サービス１０５のストレージ３６４には、変換情報が格納されている。
【００４２】
表７には、変換情報管理部３６２で管理されストレージ３６４に保持する変換情報の例を示す。
【００４３】
【表７】
2018055489.tif 000009
【００４４】
変換情報は、変換情報管理部３６２で管理される変換処理についてのデータテーブルである。変換サービスジョブＩＤは、帳票サービス１０４からの変換リクエストを変換サービス１０５のＷｅｂサーバー３６１にて受け付けた際に、変換情報管理部３６２が発行する変換処理を一意に識別可能なＩＤである。変換サービスジョブＩＤは、表に示す例では値が相違しているが、表６の変換サービスジョブＩＤに対応するＩＤである。オーバレイインデックスファイルＵＲＬは、帳票サービス１０４からの変換リクエストを受け付けた際に受け取る、変換対象のファイルについての情報が記載された後述するインデックスファイルにアクセスするためのＵＲＬである。変換インデックスファイルＵＲＬは、データ変換部３６３が変換処理を開始した際に生成する後述の変換インデックスファイルにアクセスするためのＵＲＬである。データ変換部３６３は、オーバレイインデックスファイルを定期的に取得して参照し、記載されている変換対象のデータを取得して変換後、変換インデックスファイルを更新するという処理を行う。これにより変換対象の帳票データを所定の処理単位で生成すると、その処理単位ごとに並列に、あるいは非同期に変換処理を行うことが可能となる。また、変換サービス１０５は、Ｗｅｂサーバー３６１で帳票サービス１０４から変換サービスジョブＩＤをキーとした変換キャンセルリクエストを受け付けると、変換情報管理部３６２が該当の変換情報を削除し、データ変換部３６３は処理中の変換処理を中止する。これにより変換処理を中止する。
【００４５】
＜ストレージサービス１０６のソフトウェア構成と管理情報＞
ストレージサービス１０６はＷｅｂサーバー３７１、ファイル情報管理部３７２、ストレージ３７３を有する。各ソフトウェアモジュールは図２で示したＨＤＤ２０２に記憶されており、前述したようにＣＰＵ２０１によってＲＡＭ２０３にロードされ実行される。Ｗｅｂサーバー３７１はストレージサービス１０６の各種インターフェースを提供する。ファイル情報管理部３７２は、ファイル情報を管理し、Ｗｅｂサーバー３７１で受け付けたリクエストに応じてファイルの入出力を行う。ストレージ３７３はファイル情報やストレージサービス１０６が受信したファイルが格納されている。
【００４６】
表８に、ファイル情報管理部３７２で管理されるファイル情報の例を示す。
【００４７】
【表８】
2018055489.tif 000010
【００４８】
ファイル情報は、ファイル情報管理部３７２で管理されるストレージサービス１０６に保存するファイルの情報である。データＵＲＬはストレージサービス１０６に保存するファイルを一意に識別することができるＵＲＬである。ファイルパスはストレージ上のファイルパスでありファイルの格納場所を示す。データＵＲＬに対するリクエストをＷｅｂサーバー３７１で受け付け、ファイル情報管理部３７２が該当するファイル情報を更新し、ストレージ３７３のファイル操作を行う。たとえば、クライアントは、データＵＲＬに対してＨＴＴＰ  ＧＥＴメソッドをリクエストすると対応するファイルがダウンロードできる。また、データＵＲＬに対してＨＴＴＰ  ＰＵＴメソッドにファイル添付してリクエストするとファイルをアップロードし保存できる。さらに、データＵＲＬに対してＨＴＴＰ  ＤＥＬＥＴＥメソッドをリクエストすると対応するファイルを削除できる。
【００４９】
＜インデックスファイル＞
次に、帳票サービス１０４のオーバレイ実行時、変換サービス１０５の変換実行時にそれぞれ生成し、逐次更新を行うインデックスファイルについて説明する。
【００５０】
図４において、４００は、帳票サービス１０４と、変換サービス１０５が夫々、オーバレイ出力処理、データ変換処理を実行する際に生成、更新を行うインデックスファイルの例である。帳票サービス１０４及び、変換サービス１０５はまず、処理が開始された時点で、ストレージサービス１０６上にインデックスファイルを生成する。本実施例では、インデックスファイルはＪＳＯＮファイル形式を採用し、"dataList"をキーとする処理結果のデータＵＲＬのリストと、"end"をキーとする処理完了フラグから成る。
【００５１】
ここで本実施例では、帳票データであるオーバレイ出力結果をＰＤＦファイルとし、ファイル出力単位は1ページ毎としており、たとえば、３ページの帳票に対して３つのＰＤＦファイルが出力される。すなわち本例では１ページを処理単位としている。ただし、ファイル出力単位は１ページ毎とする必要はなく、複数ページ固定、全体ページ数から計算した値等にすることが可能である。また、変換サービス１０５による変換処理もオーバレイ出力結果のＰＤＦファイル単位で変換を行う。
【００５２】
帳票サービス１０４、変換サービス１０５は順次処理を実行し、結果のファイルをストレージサービス１０６にアップロードし、そのデータＵＲＬをインデックスファイル"dataList"に追加していく。また、帳票サービス１０４、変換サービス１０５は、処理が完了し、最後のページを含む処理結果のファイルをアップロードした時点で、インデックスファイルの処理完了フラグ"end"を、trueにする。
【００５３】
すなわちインデックスファイルは、帳票生成サービスおよび変換サービスそれぞれの進捗を示す。インデックスファイルには、帳票データの生成の進捗を示すオーバレイインデックスファイルと、帳票データであるＰＤＦファイルをＳＶＧファイルに変換する変換処理の進捗を示す変換インデックスファイルとがある。帳票サービス１０４は、１ページ分のＰＤＦファイルを生成する都度、生成したＰＤＦファイルをストレージに格納すると共に、その格納場所を示すＵＲＬをオーバレイインデックスファイルに追加で記録する。そして、要求された帳票データを生成し終えると、処理完了フラグを真に設定する。変換サービス１０５は、オーバレイインデックスを定期的に監視し、未処理の帳票データの在り処を示すＵＲＬが追加されていたならそこにアクセスしてＰＤＦの帳票データを取得し、ＳＶＧに変換する。変換済みのＷｅｂ帳票データはストレージサービス１０６により保存し、その在り処を示すＵＲＬを変換インデックスファイルに追加する。また処理完了フラグが真にセットされていたら、未処理の帳票データを変換して、処理対象のＷｅｂ帳票データの生成を終了し、変換インデックスファイルの処理完了フラグに真をセットする。生成したＷｅｂ帳票データは、変換インデックスファイルに記録されたＵＲＬからアクセスされる。たとえばクライアント端末１０２は、変換インデックスファイルに記載されたＵＲＬにアクセスしてＷｅｂ帳票を取得し、それを表示することができる。
【００５４】
＜Ｗｅｂ帳票データ生成キャンセルシーケンス＞
図５はＷｅｂ帳票データ生成処理中に帳票生成サーバー３２０の帳票データ生成処理でエラーが発生した場合に、Ｗｅｂ帳票データ生成をキャンセルするシーケンスを説明する図である。なお、ユーザーは不図示の業務画面にてクライアント端末１０２から業務サーバー１０３に顧客情報の顧客ＩＤと帳票情報の帳票ＩＤを含めてＷｅｂ帳票データ生成リクエストを送信しているものとする。本実施例では後述する処理Ｓ５０５の帳票文書データ生成でエラーが発生した場合、に変換サービス１０５のデータ変換処理を中止するシーケンスについて説明する。
【００５５】
Ｓ５０１にて、業務サーバー１０３の業務情報管理部３５２は、ユーザーの操作に応じて、リクエストに含まれる顧客ＩＤ、帳票ＩＤに該当する顧客情報と、帳票テンプレートＩＤを含むＷｅｂ帳票生成リクエストを帳票サービス１０４に送信する。このとき帳票サービス１０４のＷｅｂサーバー３００がＷｅｂ帳票生成リクエストを受け取り、ジョブ管理サーバー３０１へリクエストを転送する。
【００５６】
ジョブ管理サーバー３１０のジョブ管理部３１２はＷｅｂ帳票生成リクエストを受け取ると、Ｓ５０２にてジョブＩＤ、帳票生成ジョブＩＤおよび変換ジョブＩＤを発行し、ジョブ情報、帳票生成ジョブ情報、変換ジョブ情報としてストレージ３４０に保存する。
また、このときＷｅｂ帳票生成リクエストに含まれる帳票テンプレートＩＤを帳票生成ジョブ情報に含めストレージ３４０に保存する。
【００５７】
Ｓ５０３にてジョブ管理サーバー３１０は応答としてジョブＩＤを返す。Ｓ５０４おいて、ジョブ管理サーバー３１０のジョブ管理部３１２は帳票生成サーバー３２０に帳票生成リクエストを送信する。実際にはジョブ管理部３１２は帳票生成キュー３４１（図３参照）に帳票生成ジョブＩＤおよび顧客情報を含む帳票文書生成リクエストメッセージを送信する。帳票生成サーバー３２０の外部Ｉ／Ｆ３２１が当該帳票文書生成リクエストメッセージを帳票生成キュー３４１から取得する。
【００５８】
Ｓ５０５において帳票生成サーバー３２０の帳票生成ジョブ管理部３２２は帳票文書生成リクエストメッセージを取得すると、帳票生成ジョブ情報の帳票生成ジョブＩＤに紐づく帳票テンプレートＩＤを取得しストレージサービス１０６から帳票テンプレートファイルをダウンロードする。そして顧客情報とともに帳票生成部３２３でオーバレイを行い、ＰＤＦ形式の帳票文書データの生成処理を開始する。
【００５９】
Ｓ５０６において、ジョブ管理サーバー３１０のジョブ管理部３１２は、Ｓ５０４およびＳ５０５での帳票文書データ生成の完了を待たずに、帳票文書データからＳＶＧ形式のＷｅｂ帳票データへのデータ変換リクエストを変換サービス１０５に送信する。実際にはジョブ管理部３１２は変換キュー３４２（図３参照）に変換ジョブＩＤを含むデータ変換リクエストメッセージを送信する。変換管理サーバー３３０の外部Ｉ／Ｆ３３１が当該データ変換リクエストメッセージを変換キュー３４２から取得する。
【００６０】
Ｓ５０７において変換管理サーバー３３０の変換ジョブ管理部３３２は、データ変換リクエストメッセージを取得すると、変換ジョブＩＤに紐づくオーバレイインデックスファイルＵＲＬをストレージ３５０から取得する。変換管理部３３３はオーバレイインデックスファイルＵＲＬを含むデータ変換リクエストすなわち変換要求を変換サービス１０５に送信する。変換サービス１０５はＳ５０７にてデータ変換リクエストを受け取ると、変換サービスジョブＩＤを発行し、変換サービスジョブＩＤに紐づく変換情報レコードを作成する。データ変換部３６３で変換処理を開始し、その後に変換管理サーバー３３０へ変換サービスジョブＩＤをレスポンスとして返す。
【００６１】
Ｓ５０８において変換管理サーバー３３０の変換管理部３３３は、ストレージ３５０の変換ジョブ情報から変換ジョブＩＤに紐づく変換サービスジョブＩＤを、Ｓ５０７で受け取った変換サービスジョブＩＤの値で更新し保存する。
【００６２】
Ｓ５０９にて変換管理サーバー３３０の変換管理部３３３は前記変換サービスジョブＩＤを含むデータ変換状態取得リクエストを変換サービス１０５に送信し、データ変換処理状況を取得する。Ｓ５０９でデータ変換処理中ステータスが変換サービス１０５から返ってきた場合は一定時間経過後、再び処理Ｓ５０９を繰り返す。本処理をもってデータ変換処理状況を検知する。
【００６３】
Ｓ５０５の帳票文書データ生成でエラーが発生した場合、帳票生成サーバー３２０の帳票生成ジョブ管理部３２２は、帳票生成ジョブ情報の帳票生成ステータスをエラーに更新し、外部Ｉ／Ｆ３２１はジョブＩＤとともに帳票データ生成エラーレスポンスをジョブ管理サーバー３１０に返す（Ｓ５１０）。実際には帳票生成ジョブ管理部３２２は帳票生成キュー３４１（図３参照）にレスポンスメッセージを送信し、ジョブ管理サーバー３１０が帳票生成キュー３４１から当該レスポンスメッセージを取得する。
【００６４】
Ｓ５１０でジョブ管理サーバー３１０が帳票データ生成エラーレスポンスを受け取ると、Ｓ５１１にてジョブ管理サーバー３１０のジョブ管理部３１２は、変換管理サーバー３３０に変換ジョブＩＤを含む変換キャンセルリクエストを送信する。ジョブＩＤに対応する変換ジョブＩＤは表４のジョブ情報から得ることができる。実際には、キャンセルキュー３４３に変換キャンセルリクエストメッセージを送信し、変換管理サーバー３３０の外部Ｉ／Ｆ３３１が当該リクエストメッセージを取得する。
【００６５】
Ｓ５１２において変換管理サーバー３３０の外部Ｉ／Ｆ３３１が変換キャンセルリクエストメッセージを取得すると、変換ジョブ管理部３３２は変換ジョブＩＤに紐づく変換サービスジョブＩＤをストレージ３５０に要求する。
【００６６】
Ｓ５１３にて、キャンセル部３３４はストレージ３５０から、変換キャンセルリクエストメッセージの変換ジョブＩＤに紐づけられた変換サービスジョブＩＤを取得する。その変換サービスジョブＩＤは、変換キャンセルリクエストメッセージの変換ジョブＩＤを含む変換ジョブ情報のレコードに含まれた変換サービスジョブＩＤである。そして変換サービス１０５へ取得した変換サービスジョブＩＤを含む変換ジョブ削除リクエスト（すなわち削除要求）を送信する。変換サービス１０５は当該変換ジョブ削除リクエストを受け付けると、前記Ｓ５０７で受け付けた変換サービスジョブＩＤに紐づく変換情報レコードを削除し、データ変換処理を中止する。
【００６７】
変換管理サーバー３３０の変換管理部３３３はＳ５１４にて、Ｓ５０９と同様の変換状態取得リクエストを変換サービス１０５に送信する。変換サービス１０５はＳ５１３でデータ変換処理を中止し、変換サービスジョブＩＤに紐づく変換情報を削除しているため、当該変換情報が存在しない旨のレスポンスを変換管理部３３３に返却する。
【００６８】
変換管理部３３３はＳ５１４にて変換情報が存在しない旨のレスポンスを受け取ると、データ変換処理がキャンセルされたものと判断し、Ｓ５１５にてジョブ管理サーバー３１０へ、ジョブＩＤを含むデータ変換完了レスポンスを送信する。実際には、変換キュー３４２にデータ変換完了レスポンスメッセージを送信し、ジョブ管理サーバー３１０の外部Ｉ／Ｆ３３１が当該レスポンスメッセージを取得する。
【００６９】
以上によって、Ｗｅｂ帳票データ生成処理中に帳票生成サーバー３２０の帳票文書データ生成処理でエラーが発生した場合の、データ変換処理のキャンセルを実行する。
【００７０】
以上のように、ジョブＩＤと変換ジョブＩＤと変換サービスジョブＩＤとは、ジョブ情報と変換ジョブ情報とにより関連付けられている。そのため、帳票データ生成処理においてエラーが生じると、エラーを生じた処理のジョブＩＤから変換サービスジョブＩＤを特定できる。そしてその変換サービスジョブＩＤを指定して、帳票サービス１０４から変換サービス１０５に対して変換ジョブの削除を要求することで、エラーを生じた帳票データ生成処理により生成された帳票データをＷｅｂ帳票データに変換する処理を迅速に停止させ、削除できる。この結果、無駄に終わる変換ジョブにより消費される計算資源を節約することができる。
【００７１】
［実施形態２］
実施例１で説明した帳票システムでは、変換管理サーバー３３０の変換管理部３３３とは別のキャンセル部３３４でデータ変換ジョブ削除を行っている。そのため、変換管理部３３３がＳ５１４でデータ変換状態取得を行った際に、帳票生成サーバー３２０による帳票生成処理において発生したエラーに起因してキャンセル部３３４でキャンセルされたため変換ジョブが存在しなかったのか、変換サービス１０５による変換処理においてエラーが発生したために変換ジョブが削除されてしまったのかが判別できない。本実施例では、実施例１で説明した帳票システムにおいて、データ変換処理がキャンセルされたのか、エラーで終了したのかどうかを判別できるような帳票システムについて説明する。実施形態１で説明済みの内容については記載を省略する。
【００７２】
＜Ｗｅｂ帳票データ生成キャンセルシーケンス＞
図６はＷｅｂ帳票データ生成処理中に帳票生成サーバー３２０の帳票文書データ生成処理でエラーが発生した場合に、Ｗｅｂ帳票データ生成をキャンセルするシーケンスを説明する図である。なお、ユーザーは不図示の業務画面にてクライアント端末１０２から業務サーバー１０３に顧客情報の顧客ＩＤと帳票情報の帳票ＩＤを含めてＷｅｂ帳票データ生成リクエストを送信しているものとする。本実施例では後述する処理Ｓ５０５の帳票文書データ生成でエラーが発生した場合、に変換サービス１０５のデータ変換処理を中止するシーケンスについて説明する。Ｓ６０１からＳ６１０はそれぞれＳ５０１からＳ５１０と同様の処理のため、説明は省略する。
【００７３】
Ｓ６１１でジョブ管理サーバー３１０のジョブ管理部３１２は、Ｗｅｂ帳票生成をキャンセルするためジョブ情報の変換ジョブＩＤで紐づく変換ジョブＩＤの変換ステータスを「キャンセル中」ステータスに変更し、ストレージの変換ジョブ情報（表６）を更新する。
【００７４】
Ｓ６１２からＳ６１５はそれぞれＳ５１１からＳ５１４と同様の処理のため、説明は省略する。
【００７５】
Ｓ６１６にて、変換管理部３３３は変換ジョブがない旨のレスポンスを受け取ると、変換ジョブ情報をストレージ３５０から取得し、変換ステータスが「キャンセル中」かどうかを確認する。
【００７６】
「キャンセル中」であった場合、変換管理部３３３は、データ変換ジョブがキャンセル部３３４によってキャンセルされたと判断し、Ｓ６１７で変換ジョブ情報の変換ステータスを「キャンセル完了」に更新する。そしてＳ６１８で変換管理部３３３はジョブ管理サーバー３１０へ、ジョブＩＤを含むデータ変換キャンセル完了レスポンスを送信する。
【００７７】
変換ステータスが「キャンセル中」または「成功」以外であった場合、データ変換ジョブは、データ変換ジョブを実行中に何らかのエラーが発生したために削除されたと判断し、Ｓ６１７で変換ジョブ情報の変換ステータスを「エラー終了」に更新する。そしてＳ６１８で変換管理部３３３はジョブ管理サーバー３１０へ、ジョブＩＤを含むデータ変換エラー完了レスポンスを送信する。
【００７８】
以上により、データ変換がエラー終了したのか、キャンセル終了したのかを判別できるようになる。実施形態１、および実施形態２の帳票システムは、この構成に限られたものではなく、例えば帳票生成サーバーと変換サーバーが同一のサーバーで構成されていてもよい。また作成する対象は帳票とは限らず、他の文書データであってもよい。
【００７９】
［その他の実施例］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００８０】
１０２  クライアント端末、１０３  業務サーバー、１０４  帳票サービス、１０５  変換サービス、１０６  ストレージサービス、３１０  ジョブ管理サーバー、３２０  帳票生成サーバー、３３０  変換管理サーバー、３３３  変換管理部、３３４  キャンセル部
【図１】
2018055489.tif 000011
【図２】
2018055489.tif 000012
【図３】
2018055489.tif 000013
【図４】
2018055489.tif 000014
【図５】
2018055489.tif 000015
【図６】
2018055489.tif 000016