(57)【要約】【課題】クラウドプラットフォームサービスからデータを取得際に、クラウドサービスの呼び出し回数が想定以上消費される問題及びデータ取得のレスポンスが低下する問題が発生する場合がある。【解決手段】クラウドプラットフォームサービスからデータを取得する際、そのデータを割り当てる対象のフィールドが固定なデータを格納するフィールドであるかどうかを判定する手段と、上記固定なデータを格納するフィールドに割り当てるためのデータを取得するためのクエリコマンドが他のフィールドに割り当てるためのデータを取得するためのクエリコマンドと同一クエリコマンドとして発行するかどうかを判定する手段と、上記各判定に従いクラウドプラットフォームサービスからデータを取得する際に発行するクエリコマンドに対して取得件数を制限する手段と、を有することを特徴とする文書生成システム。【選択図】図１４
2015005146.tif 000002
【特許請求の範囲】
【請求項１】
クライアント端末１０１、クラウドプラットフォームサービス１０２および文書生成サーバ１０３がネットワーク１００で接続された文書生成システムであって、
文書生成サーバ１０３が、クラウドプラットフォームサービス１０２からデータを取得する際、そのデータを割り当てる対象のフィールドが固定なデータを格納するフィールドであるかどうかを判定する手段Ｓ１４０２と、
文書生成サーバ１０３が、上記固定なデータを格納するフィールドに割り当てるためのデータを取得するためのクエリコマンド１４１０が他のフィールドに割り当てるためのデータを取得するためのクエリコマンドと同一クエリコマンドとして発行するかどうかを判定する手段Ｓ１４０３と、
文書生成サーバ１０３が、クラウドプラットフォームサービス１０２からデータを取得する際に発行するクエリコマンド１４１０に対して取得件数制限が設定可能かどうかを判定する手段Ｓ１４０４と、
文書生成サーバ１０３が、上記各判定に従いクラウドプラットフォームサービス１０２からデータを取得する際に発行するクエリコマンド１４１０に対して取得件数を制限する手段Ｓ１４０５と、
を有することを特徴とする文書生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クラウド上に保存されたデータをフォームオーバレイして文書を作成するシステムに関し、特に、クラウドサーバ上での文書生成方法に関する。
【背景技術】
【０００２】
近年、サーバーコンピュータ側で業務データの管理や各種処理を行う形態として、クラウドコンピューティングシステムが普及し始めている。ユーザは、クライアントコンピュータのブラウザからインターネットを介してクラウドサーバコンピュータのＷｅｂページにアクセスし、そのＷｅｂページ上で閲覧したい業務データを表示する。その画面から文書作成指示を行うと、文書生成サーバにリダイレクトされ、文書生成サーバから返される画面にてフォームオーバレイに使用するフォームをユーザが選択する。
【０００３】
そして、文書生成サーバがクラウドサーバ上にあるデータを取得して文書を生成して、文書をブラウザへダウンロードする。クラウドサーバの代表例として、例えば、Ｓａｌｅｓｆｏｒｃｅ．ｃｏｍ社のＳａｌｅｓｆｏｒｃｅ  ＣＲＭ（登録商標）がある。
【０００４】
クラウドサーバからデータを取得する際には、専用のクエリ言語が使用される。例えば、Ｓａｌｅｓｆｏｒｃｅ  ＣＲＭの場合、ＳＯＱＬというＳＱＬに類似した構文のクエリ言語を用いてデータを取得する。ＳＯＱＬでは後述するマルチテナントの考え方が考慮されており、例えばＳＯＱＬ呼び出し回数の上限がある等、いくつの制限が設けられている。
【０００５】
文書生成サーバは、クラウドサーバから取得したデータを様々に加工して文書上に表現する。例えば、クラウドサーバのデータベースに定義された単一のテーブルのデータを、複数のデータフィールドに流し込んで文書を生成する。
【０００６】
このように、クラウドサーバから取得したデータを文書上に表現する場合、各クラウドサーバが定義する取得用のクエリ言語に従ってデータを取得する必要がある。従来、前記クエリ言語は専用のエディタを使ってユーザに設定させ、クエリコマンド情報として保持する技術が存在する（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１１−２１５８２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
クラウドサーバや文書生成サーバは、複数の企業・組織から使用されることが前提である（一般的にマルチテナントと呼ばれる）。このため、一部の企業・組織によって各サーバのリソースが占有される状況は好ましくない。リソースの占有を防ぐため、従来技術では、特にクラウドサーバからのデータ取得に制約があった。Ｓａｌｅｓｆｏｒｃｅ  ＣＲＭの場合、前記ＳＯＱＬの構文に制限を持たせることでデータ取得時の負荷を軽減している。例えば、ＳＯＱＬ呼び出しの回数及び１回のＳＯＱＬ呼び出しで取得できるレコード数が制限されている。１回のＳＯＱＬ呼び出しで取得できるレコード数の上限を超えたＳＯＱＬを発行する場合、Ｓａｌｅｓｆｏｒｃｅ  ＣＲＭのクラウドサーバの内部処理としてそのＳＯＱＬ呼び出しを複数回のＳＯＱＬ呼び出しに分けてデータの取得を行う。そのため、ＳＯＱＬの抽出条件が適切ではない場合ＳＯＱＬ呼び出し回数が想定以上消費されることがある。また、取得するレコード数が増えると共にデータ取得する際のレスポンスも低下する。上記問題の一例を以下に挙げる。
【０００９】
フォーム文書には、ヘッダー・フッターの情報など、複数のページに同じデータを表示させたい場合がある。そのような固定なデータを取得するためのＳＯＱＬクエリには、１件のデータのみを取得できるＳＯＱＬクエリであることが望ましい。しかし、設計したＳＯＱＬクエリの抽出条件により、１件のデータまで絞れないことがある。
【００１０】
一方、フォーム文書の中にデータを格納するためのフィールドが複数存在することが一般的である。それらのフィールドに割り当てるデータが１回のＳＯＱＬ呼び出しで取得できる場合、フィールド毎にＳＯＱＬ呼び出しを行うことで余分なＳＯＱＬ呼び出し回数が消費される問題が発生する。
【課題を解決するための手段】
【００１１】
クライアント端末、クラウドプラットフォームサービスおよび文書生成サーバがネットワークで接続された文書生成システムであって、
文書生成サーバが、クラウドプラットフォームサービスからデータを取得する際、そのデータを割り当てる対象のフィールドが固定なデータを格納するフィールドであるかどうかを判定する手段と、
文書生成サーバが、上記固定なデータを格納するフィールドに割り当てるためのデータを取得するためのクエリコマンドが他のフィールドに割り当てるためのデータを取得するためのクエリコマンドと同一クエリコマンドとして発行するかどうかを判定する手段と、
文書生成サーバが、クラウドプラットフォームサービスからデータを取得する際に発行するクエリコマンドに対して取得件数制限が設定可能かどうかを判定する手段と、
文書生成サーバが、上記各判定に従いクラウドプラットフォームサービスからデータを取得する際に発行するクエリコマンドに対して取得件数を制限する手段と、
を有することを特徴とする文書生成システム。
【発明の効果】
【００１２】
本発明によれば、クラウドサーバからフォーム文書に割り当てるデータを取得する際に発行するクエリの呼び出し回数及びレスポンスを低減することができる。
【図面の簡単な説明】
【００１３】
【図１】システム構成を示すブロック図である。
【図２】ハードウェア構成を示す図である
【図３】文書生成システムの全体構成を示す図である。
【図４】クラウドプラットフォームサービスのソフトウェアモジュール構成図である。
【図５】Ｗｅｂサーバのソフトウェアモジュール構成図である。
【図６】文書生成サービスのソフトウェアモジュール構成図である。
【図７】クラウドプラットフォームサービスの業務画面例である。
【図８】クラウドプラットフォームサービスの業務データのテーブル構造例である。
【図９】クラウドプラットフォームサービスのカスタムボタンの定義情報例である。
【図１０】フォーム情報テーブルのテーブル構造を示す図である。
【図１１】Ｗｅｂブラウザで表示する画面フローを示した図である。
【図１２】実施例における文書生成システムが行う処理シーケンスを示す図である。
【図１３】実施例における文書生成処理で生成した文書の例を示した図である。
【図１４】実施例におけるクラウドプラットフォームサービスからデータを取得するためのクエリコマンドを生成する処理を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明を実施するための最良の形態について図面を用いて説明する。なお、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００１５】
図１は、本発明の実施例のシステム構成を示すブロック図である。
【００１６】
１０１は、後述するクラウドプラットフォームサービス１０２および後述する文書生成サーバ１０３に対してリクエストを発行するクライアント装置１０１である。
【００１７】
１０２はクラウドプラットフォームサービス１０２であり、クライアント装置１０１や文書生成サーバ１０３からのリクエストに応じて、保持するデータの表示・更新等を行う。
【００１８】
１０３は、文書生成サーバ１０３であり、クライアント装置１０１からリクエストを受信して文書生成を行う。
【００１９】
また、上記各構成要素はネットワーク１００により通信可能に接続されている。ネットワークは、例えば、インターネット等のＬＡＮ、ＷＡＮ、電話回線、専用デジタル回線、ＡＴＭやフレームリレー回線、ケーブルテレビ回線、データ放送用無線回線等のいずれである。また、これらの組み合わせにより実現される、いわゆる通信ネットワークである。
ネットワークはデータの送受信が可能であればよい。
【００２０】
クライアント装置１０１からクラウドプラットフォームサービス１０２、文書生成サービス１０３への通信手段、文書生成サーバ１０３からクラウドプラットフォームサービス１０２への通信手段、及び各サーバ間の通信手段が異なっていてもよい。
【００２１】
図２は、図１のクライアント装置１０１、クラウドプラットフォームサービス１０２、文書生成サーバ１０３のハードウェア構成を示すブロック図である。
【００２２】
２０１は内部バスで接続される各デバイス（後述のＲＯＭ、ＲＡＭ他）を直接或いは間接的に制御し、本発明を実現するためのプログラムを実行するＣＰＵである。
【００２３】
２０２はＢＩＯＳが格納してあるＲＯＭである。
【００２４】
２０３はＣＰＵ２０１のワーク領域として利用されたり、本発明を実現するためのソフトウェアモジュールをロードするための一時記憶として利用されたりするＲＡＭ（直接記憶装置）である。
【００２５】
２０４は基本ソフトウェアであるＯＳやソフトウェアモジュールが記憶されているＨＤＤ（ハードディスクドライブ）、もしくはＳＳＤ（ソリッドステートドライブ）などの間接記憶装置である。
【００２６】
２０５は入力装置であり不図示のキーボードやポインティングデバイスなどである。
【００２７】
２０６は出力装置でありディスプレイが接続される。
【００２８】
２０７はネットワーク１００に接続するためのＩ／Ｆである。
【００２９】
これらのハードウェアでは、起動後ＣＰＵ２０１によりＢＩＯＳが実行されＯＳがＨＤＤ２０４からＲＡＭ２０３に実行可能にロードされる。ＣＰＵ２０１はＯＳの動作に従って後述する各種ソフトウェアモジュールをＨＤＤ２０４からＲＡＭ２０３に随時、実行可能にロードする。各種ソフトウェアモジュールは上記各デバイスの協調によりＣＰＵ２０１によって実行され動作する。また、Ｉ／Ｆ２０７はネットワーク１００に接続されており、ＯＳの動作に従ってＣＰＵ２０１により制御され、上述した通信手段による通信を実現している。
【００３０】
図３は、本発明の実施の形態に係る文書生成システムの全体構成を示す図である。クライアント装置１０１はユーザインタフェースアプリケーションとしてＷｅｂブラウザ３０１を備えている。
【００３１】
クラウドプラットフォームサービス１０２は、クラウドプラットフォームサービスを使用するユーザの管理や、業務データ、後述する文書生成サーバ１０３へのリダイレクトを行うための設定を管理する。また、クラウドプラットフォームサービス１０２は、マルチテナントが前提であり、使用する企業・組織毎に前述のユーザ管理、業務データ管理等が行われる。
【００３２】
文書生成サーバ１０３は、Ｗｅｂサーバ３０３、および、文書生成サービス３０４を備える。
【００３３】
Ｗｅｂサーバ３０３はいわゆるＷｅｂアプリケーションの機能を有するよう構成されており、クライアント１０１はＷｅｂブラウザ３０１を介してアクセスする事が出来る。
Ｗｅｂサーバ３０３はＷｅｂブラウザ３０１からのリクエストに対してユーザインタフェース情報を返答する。Ｗｅｂブラウザ３０１はＷｅｂサーバ３０３から得られたユーザインタフェース情報をレンダリングし表示する。表示されたユーザインタフェース情報には、たとえば、後述する文書生成サーバ１０３が管理するフォームの一覧や、文書生成をリクエストするためのインタフェース等が含まれている。
【００３４】
また、Ｗｅｂサーバ３０３はＷｅｂブラウザ３０１から文書生成リクエストを受信すると、クラウドプラットフォームサービス１０２から業務データを取得し、該業務データとともに文書生成サービス３０４に対して文書生成のリクエストを送信する。
【００３５】
文書生成サービス３０４は、受信したデータと自身で管理するフォームおよびクエリコマンド情報を使用してオーバレイ処理を行い、文書データを生成する。クエリコマンド情報には、クラウドプラットフォームサービス１０２からの業務データ取得方法等が設定されている。
【００３６】
図４は、クラウドプラットフォームサービス１０２上で動作するソフトウェアモジュールの構成図である。なお各ソフトウェアモジュールは図２で示したＨＤＤ２０４に記憶されており、前述したようにＣＰＵ２０１によってＲＡＭ２０３にロードされ実行される。
【００３７】
送受信部４０１は、クライアント装置１０１のＷｅｂブラウザ３０１や文書生成サーバ１０３のＷｅｂサーバ３０３との通信を処理するモジュールである。
【００３８】
制御部４０２は、送受信部４０１が受け付けたリクエストに従って処理を実行するモジュールである。
【００３９】
ページ生成部４０３は、Ｗｅｂブラウザ３０１にレスポンスを返すためのＷｅｂページを生成するモジュールである。
【００４０】
認証部４０５は、ログイン要求してきたユーザを認証するモジュールである。
【００４１】
セッション管理部４０４は、認証部４０５にて認証に成功したユーザのセッション情報を管理するモジュールである。
【００４２】
データ管理部４０６は、業務データをＤＢ４０８に保持し要求に応じてＤＢ４０８から業務データの取得、あるいは業務データの更新を行う。
【００４３】
設定管理部４０７は、文書生成サーバ１０３へのリダイレクトを行うための設定を保持するモジュールである。
【００４４】
４０８は管理ユーザデータや業務データを格納するデータベースであり、図２で示したＨＤＤ２０４に記憶されている。
【００４５】
管理ユーザデータや業務データは、企業・組織（以降、組織と表記）毎に管理される。各組織には組織ＩＤが自動的に割り当てられ、組織ＩＤとともに各データが管理される。ユーザ認証時、ユーザが所属する組織の組織ＩＤを取得しセッション管理部４０４に保存する。以降のデータ取得等の処理は組織ＩＤをもとに行われ、組織ＩＤの一致するデータのみを参照することが可能となっている。
【００４６】
また、ＤＢ４０８には、文書生成サーバ１０３へのリダイレクトを行うための設定も格納される。ＤＢ４０８に格納された業務データや文書生成サーバ１０３へリダイレクトを行うための設定は、Ｗｅｂブラウザ３０１を介して、ユーザ（管理者）により任意のタイミングで設定更新が行われる。
【００４７】
クラウドプラットフォームサービス１０２はこれら各構成要素の協調により、後述する処理を実行する。
【００４８】
図５は、文書生成サーバ１０３のＷｅｂサーバ３０３上で動作するソフトウェアモジュールの構成図である。なお各ソフトウェアモジュールは図２で示したＨＤＤ２０４に記憶されており、前述したようにＣＰＵ２０１によってＲＡＭ２０３にロードされ実行される。
【００４９】
送受信部５０１は、クライアント装置１０１のＷｅｂブラウザ３０１やクラウドプラットフォームサービス１０２、文書生成サービス３０４との通信を処理するモジュールである。
【００５０】
制御部５０２は、受け付けたリクエストに従って処理を実行するモジュールである。
【００５１】
ページ生成部５０３は、Ｗｅｂブラウザ３０１にレスポンスを返すためのＷｅｂページを生成するモジュールである。
【００５２】
データアクセス部５０４は、クラウドプラットフォームサービス１０２にアクセスして業務データを取得するモジュールである。
【００５３】
フォーム情報管理部５０５は、後述のフォーム情報テーブル１００１を管理するモジュールである。
【００５４】
セッション管理部５０６は、Ｗｅｂブラウザ３０１のセッション情報を管理するモジュールである。Ｗｅｂサーバ３０３はこれら各構成要素の協調により、後述する処理を実行する。
【００５５】
図６は、文書生成サーバ１０３の文書生成サービス３０４上で動作するソフトウェアモジュールの構成図である。なお各ソフトウェアモジュールは図２で示したＨＤＤ２０４に記憶されており、前述したようにＣＰＵ２０１によってＲＡＭ２０３にロードされ実行される。
【００５６】
要求受信部６０１は、Ｗｅｂサーバ３０３からの文書生成リクエストを受け付けるモジュールである。制御部６０２は、受け付けたリクエストに従って処理を実行するモジュールである。フォーム管理部６０３は、フォームデータを管理するモジュールである。
【００５７】
文書生成部６０４は、Ｗｅｂサーバ３０３から送信された業務データとフォームを使用してオーバレイ処理を行い、文書データを生成するモジュールである。
【００５８】
文書送信部６０５は、上記文書生成部６０４で生成された文書データをＷｅｂサーバ３０３またはクライアント端末１０１に送信するモジュールである。文書生成サービス３０３はこれら各構成要素の協調により、後述する処理を実行する。
【００５９】
図７は、クライアント装置１０１のＷｅｂブラウザ３０１から、クラウドプラットフォームサービス１０２にアクセスして業務データを表示した場合の業務画面７０１の例である。なお、図７は、ユーザがクラウドプラットフォームサービス１０２にログイン済の状態である。
【００６０】
業務画面７０１は、ある注文に関する注文詳細情報７０２や振込情報７０３が表示されている。また、文書生成サーバ１０３へリダイレクトを行うための設定がなされたカスタムボタン７０４が表示されている。
【００６１】
カスタムボタン７０４は、ボタン押下時の動作や、どの画面に表示するか、等を任意に設定可能で、ユーザ（管理者）によって画面に配置される。
【００６２】
図８は、クラウドプラットフォームサービス１０２のデータ管理部４０６が保持する業務データのうち、注文情報及び振込情報に関するデータのテーブル構造例を示す図である。業務データはデータテーブル８００で管理され、注文テーブル８０１、および、振込テーブル８１１によって構成されている。
【００６３】
注文テーブル８０１は、レコードの識別子であるレコードＩＤ８０２、注文の受付ＩＤ８０３、品目８０４、価格８０５、注文先８０６等から構成される。
【００６４】
振込テーブル８１１は、レコードの識別子であるレコードＩＤ８１２、振込日８１３、金額８１４等から構成される。
【００６５】
図９は、クラウドプラットフォームサービス１０２の設定管理部４０７で保持するカスタムボタンの定義情報の例を示す図である。図９では、カスタムボタンが「注文」画面とその他の画面に定義されており、「注文」画面に表示するカスタムボタンの設定情報には、ボタン表示名９０３、および、文書生成サーバ１０３へリダイレクトを行うためのパラメータ情報が格納されている。
【００６６】
文書生成サーバＵＲＩ９０４は、文書生成サーバ１０３のＵＲＩを「ｈｔｔｐ：／／〜」の形式で指定したパラメータである。セッションＩＤ９０５は、ログインしたユーザのセッションＩＤを取得して文字列「ｓｉｄ＝＜セッションＩＤ＞」をＵＲＬパラメータに付加する設定である。
【００６７】
ＣＰＳＵＲＬ９０６は、文書生成サーバ１０３がクラウドプラットフォームサービス１０２にアクセスするためのＵＲＬを文字列「ｓｒｖ＿ｕｒｌ＝＜クラウドプラットフォームサービスＵＲＬ＞」としてＵＲＬパラメータに付加する設定である。クラウドプラットフォームサービス１０２にアクセスするためのＵＲＬは組織毎に固有であり、ユーザ認証時に、制御部５０２が、ユーザが所属する組織に応じたＵＲＬを取得してセッション管理部４０４に保存する。
【００６８】
組織ＩＤ９０７は、ログインしたユーザの組織ＩＤを取得して文字列「ｏｒｇｉｄ＝＜組織ＩＤ＞」をＵＲＬパラメータに付加する設定である。
【００６９】
レコードＩＤ９０８は、画面に表示した注文レコードのレコードＩＤ１２０２を取得して文字列「ｒｅｃｉｄ＝＜レコードＩＤ＞」をＵＲＬパラメータに付加する設定である。
【００７０】
図１０は、Ｗｅｂサーバ３０３のフォーム情報管理部５０５が保持するフォーム情報テーブルのテーブル構造を示す図である。
【００７１】
フォーム情報テーブル１００１のフォーム情報レコードは、以下で構成される。該レコードの所有者である組織を識別する組織ＩＤ１００３。フォーム選択画面に表示する名称である表示名１００４。文書生成サービス３０４のフォーム管理部６０３で管理されているフォームのファイル名であるフォームファイル名１００５。クラウドプラットフォームサービス１０２からデータを取得するためのクエリを生成するための情報を記述したクエリコマンド情報１００６。フォームファイル内に定義されている固定的なデータに関する情報であるフォーム情報１０７。
【００７２】
図１１は、図１の文書生成システムにおけるクライアント装置１０１のＷｅｂブラウザ３０３で表示する画面のフローを示した図である。業務画面１１０１は、クラウドプラットフォームサービス１０２が作成し、クライアント装置１０１に返す画面であり、例えば、図７の業務画面７０１が表示される。
【００７３】
文書生成ボタン１１０２は、クラウドプラットフォームサービス１０２へ文書生成リクエストを発行するボタンである。クラウドプラットフォームサービス１０２は文書生成ボタン１１０２が押下されると、文書生成サーバ１０３へリダイレクトするＵＲＬを返却する。
【００７４】
クライアント装置１０１のＷｅｂブラウザ３０１は、リダイレクトするＵＲＬを受けるとこのＵＲＬに従った文書生成サーバ１０３へリダイレクトする。リダイレクトでリクエストを受けた文書生成サーバ１０３は、フォーム選択画面１１０３をクライアント装置１０１のＷｅｂブラウザ３０１に返す。
【００７５】
フォーム選択画面１１０３は文書生成に使用するフォームを選択するフォーム選択１１０４と文書作成ボタン１１０５備える。ユーザから文書作成ボタン１１０５の選択を受けたクライアント装置１０１のＷｅｂブラウザ３０１は、フォーム選択１１０４の選択結果を文書生成サーバ１０３に送信する。これらの情報を受け取った文書生成サーバ１０３は、業務画面１１０１の業務データをクラウドプラットフォームサービス１０２から取得する。
【００７６】
データ取得中画面１１０６は、文書生成サーバ１０３がクラウドプラットフォームサービス１０３から業務データを取得中の間クライアント装置１０１のＷｅｂブラウザ３０１に表示される。文書生成サーバ１０３がクラウドプラットフォームサービス１０３からの業務データ取得が完了すると、文書生成サーバ１０３は取得したデータを確認可能なデータ確認画面１１０７をクライアント装置１０１のＷｅｂブラウザ３０１に返す。
【００７７】
ユーザから作成ボタン１１０８の選択を受けたクライアント装置１０１のＷｅｂブラウザ３０１は、文書生成サーバ１０３に文書生成リクエストを送信する。文書生成リクエストを受けた文書生成サーバ１０３は、選択されたフォームとクラウドプラットフォームサービス１０３から取得した業務データを使用して文書生成処理を行う。文書生成処理の間、クライアント装置１０２のＷｅｂブラウザ３０１は、作成中画面１１０９を表示する。文書の作成が完了すると、クライアント端末１０１のＷｅｂブラウザ３０１は完了画面１１１０を表示する。
【００７８】
図１２は、本発明の実施例における文書生成システムが行う処理の流れを示している。なお、ユーザは不図示のログイン画面にてクラウドプラットフォームサービス１０２にログイン済とし、Ｗｅｂブラウザ３０１には図７の業務画面７０１が表示されており、カスタムボタン７０４は、予め、図９の設定がなされているものとする。
【００７９】
はじめに、ユーザによりクライアント装置１０１のＷｅｂブラウザ３０１に表示された業務画面７０１のカスタムボタン７０４が押下される（Ｓ１２０１）と、クラウドプラットフォームサービス１０２では、Ｓ１２０２においてリダイレクトＵＲＬ作成処理を行う。
Ｓ１２０２において、制御部４０２はカスタムボタンに設定された文書生成サーバＵＲＩ９０４、セッションＩＤ９０５、ＣＰＳＵＲＬ９０６、組織ＩＤ９０７およびレコードＩＤ９０８を取得し、これら取得したパラメータからリダイレクトＵＲＬを生成する。そして、リダイレクトさせるためのレスポンスをＷｅｂブラウザ３０１に返す。
【００８０】
Ｓ１２０３で、Ｗｅｂブラウザ３０１はクラウドプラットフォームサービス１０２から返されたレスポンスを受信すると、セッションＩＤ９０５、ＣＰＳＵＲＬ９０６、組織ＩＤ９０７、レコードＩＤ９０８をＷｅｂサーバ３０３に送信する。
【００８１】
Ｓ１２０４で、Ｗｅｂサーバ３０３はＷｅｂブラウザ３０１からのリダイレクトを受信すると、まず制御部５０２は、セッションＩＤ９０５、ＣＰＳＵＲＬ９０６、組織ＩＤ９０７およびレコードＩＤ９０８をセッション管理部５０６に保存する。
【００８２】
次に、制御部５０２はフォーム情報レコード１００２に含まれるフォームの表示名１００４のリストをフォーム情報管理部５０５から取得し、フォームの表示名１００４のリストからフォーム選択画面１１０３を作成、クライアント端末１０１に送る。
【００８３】
Ｓ１２０５では、ユーザによりフォーム選択画面１１０３のフォーム１１０４が選択され、文書作成ボタン１１０５が押下されると、Ｗｅｂサーバ３０３に対して選択フォーム１１０４とともに文書生成リクエストが送信される。
【００８４】
Ｓ１２０６では、Ｗｅｂサーバ３０３が上記文書生成リクエストを受信すると、Ｗｅｂサーバ３０３がデータ取得中画面１１０６を作成し、Ｗｅｂブラウザ３０１に送る。その同時に、Ｗｅｂサーバ３０３がＳ１２０７にてフォーム選択画面１１０３の選択フォーム１１０４で指定されたフォームに一致するクエリコマンド情報１１０６からクラウドプラットフォームサービス１０２にデータ取得するためのクエリコマンドを生成する。クエリコマンドの生成処理の詳細は図１４で後述する。
【００８５】
Ｓ１２０８で、Ｗｅｂサーバ３０３がＳ１２０７で生成したクエリコマンドを含めたデータ取得リクエストをクラウドプラットフォームサービス１０２に送信する。その際、クラウドプラットフォームサービス１０２のＵＲＬおよび取得データの内容は、セッション管理部５０６に保存されているＣＰＳＵＲＬ９０５および組織ＩＤ９０７、レコードＩＤ９０８をそれぞれ使用する。
【００８６】
Ｗｅｂブラウザ３０１は定期的にＳ１２０９でデータ取得完了確認リクエストを文書生成サーバ１０３に送信する。文書生成サーバ１０３のＷｅｂサーバ３０３は、クラウドプラットフォームサービス１０２からデータ取得のレスポンスが返るまでは、Ｓ１２０６と同様のデータ取得中画面１１０６をＷｅｂブラウザ３０１に送る。
【００８７】
次に、クラウドプラットフォームサービス１０２からデータ取得のレスポンスが文書生成サーバ１０３のＷｅｂサーバ３０３に返る。Ｗｅｂサーバ３０３の制御部５０２は、取得データをセッション管理部５０６へ保存する。
【００８８】
その後にＷｅｂブラウザ３０１からデータ取得完了の確認リクエストが送られてくると、Ｗｅｂサーバ３０３はクラウドプラットフォームサービス１０２から取得したデータでデータ確認画面１１０７を生成し、Ｗｅｂブラウザ３０１へ返す（Ｓ１２１０）。
【００８９】
Ｓ１２１０においてＷｅｂブラウザ３０１に返された取得データ確認画面１１０７にて、ユーザにより作成ボタン１１０８が押下されると、Ｗｅｂブラウザ３０１より、Ｗｅｂサーバ３０３に対して、文書生成リクエストが送信される（Ｓ１２１１）。
【００９０】
Ｓ１２１２では、Ｗｅｂサーバ３０３が文書生成リクエストを受信すると、文書生成サービス３０４に前記選択フォーム１１０４で指定されたフォーム及びクラウドプラットフォームサービス１０２から取得したデータを含めた文書生成リクエストを送信する。文書生成サービス３０４が上記文書生成リクエストを受信すると、受信した前記選択フォーム１１０４で指定されたフォームとクラウドプラットフォームサービス１０２から取得したデータを用いて文書生成処理を行う（Ｓ１２１３）。
【００９１】
図１３は、本発明の実施例における文書生成処理（Ｓ１２１３）で生成した文書の例を示した図である。１３０１は、前記フォーム選択画面１１０３の選択フォーム１１０４で指定されたフォームである。１３１０は、フォーム１３０１とクラウドプラットフォームサービス１０２から取得したデータを用いて文書生成処理（Ｓ１２１３）にて生成された文書である。１３０２、１３０３、１３０４は、フォーム１３０１の中に定義されているデータを割り当てるためのフィールドである。
【００９２】
その中に、１３０２と１３０４は固定なデータを格納するためのフィールド（以下、固定フィールドと略記する）である。固定フィールドには、フィールドに割り当てるためのデータが単一のデータであること、かつフォームのページが複数にあってもそれらのデータが変わらないことが特徴です。１３０２は注文先会社名を格納する固定フィールドであって、１３０４は注文の振込日を格納する固定フィールドである。なお、クラウドプラットフォームサービス１０２から固定フィールドに割り当てるためのデータを取得するためのクエリコマンドは固定クエリコマンドと略記する。
【００９３】
１３０３はテーブルの元になるレコードデータを格納するためのフィールド（以下、レコードフィールドと略記する）である。レコードフィールドには、フィールドに割り当てるためのデータはレコードデータであること、かつレコードデータの数が可変であることが特徴です。レコードデータは、データをデータ項目区切り子で区切った1行分のデータです。１３０３は、注文の品目及び価格を格納するレコードフィールドである。本実施例の場合、レコードフィールド１３０３に割り当てるためのレコードデータが３つレコードであるため、生成された文書１３１０のレコードフィールド１３０３部分が３行になる。なお、クラウドプラットフォームサービス１０２からレコードフィールドに割り当てるためのデータを取得するためのクエリコマンドはレコードクエリコマンドと略記する。
【００９４】
図１４は、本発明の実施例におけるクラウドプラットフォームサービス１０２からデータを取得するためのクエリコマンド１４１０を生成する処理を示すフローチャートである。Ｓ１４０１でＷｅｂサーバ３０３のデータアクセス部５０４は、ユーザからの指定に基づいて、フォーム情報管理部５０５から該当のクエリコマンド情報１００６を取得する。
【００９５】
Ｓ１４０２でデータアクセス部５０４は、ステップＳ１４０１で取得したクエリコマンド情報１００６を解析し、当該クエリコマンド情報１００６が固定クエリコマンドの情報であるかどうかを判定する。当該クエリコマンド情報１００６が固定クエリコマンドの情報である場合Ｓ１４０３に遷移する。前記１３０２、１３０４の固定フィールドは上記条件に該当する。当該クエリコマンド情報１００６が固定クエリコマンドの情報ではない場合Ｓ１４０６に遷移する。
【００９６】
Ｓ１４０３でデータアクセス部５０４は、当該クエリコマンド情報１００６が固定クエリコマンドの情報と判定された場合、そのクエリコマンド情報から生成されるクエリコマンド１４１０が独立のクエリコマンドとして発行するかどうかを判定する。生成されるクエリコマンド１４１０が独立のクエリコマンドとして発行する場合、Ｓ１４０４に遷移する。生成されるクエリコマンド１４１０が他のレコードクエリコマンドと一緒に発行する場合、Ｓ１４０６に遷移する。なお、発行とは、クエリコマンド１４１０を含めた内容をリクエストとしてクラウドプラットフォームサービス１０２に送信することである。
【００９７】
前記１３０４の固定フィールドは上記条件に該当する。１３０２の固定フィールドに割り当てるためのデータは１３０３のレコードフィールドに割り当てるためのデータと同一の注文テーブル８０１に格納されているため、１３０３のレコードフィールドに対応するレコードクエリと一緒に発行した方が効率的である。効率的とは、クラウドプラットフォームサービス１０２へのリクエスト回数が節約できる、及びデータ取得時のレスポンスが低減できるとのことである。なお、固定クエリコマンドを独立で発行するかどうかクエリコマンド情報１００６を作成する際設定できる。
【００９８】
Ｓ１４０４でデータアクセス部５０４は、当該クエリコマンド情報１００６が固定クエリコマンドの情報、かつ独立で発行すると判定された場合、そのクエリコマンド情報から生成されるクエリコマンド１４１０に件数の制限を付与可能であるかどうかを判定する。クラウドプラットフォームサービス１０２がＳａｌｅｓｆｏｒｃｅ  ＣＲＭの場合、発行するクエリコマンドがＳＯＱＬの構文に従わなければいけないので、件数制限を付与できない場合もある。例えば、クエリコマンド情報１００６の中にすでに件数制限が存在する場合、さらに件数制限を付与することが不可能な場合もある。Ｓ１４０４の判定で生成されるクエリコマンド１４１０に件数の制限を付与することが可能だと判定された場合Ｓ１４０５に遷移し、件数の制限を付与することが不可能だと判定された場合Ｓ１４０６に遷移する。
【００９９】
Ｓ１４０５でデータアクセス部５０４は、当該クエリコマンド情報１００６から生成されたクエリコマンド１４１０に件数の制限を付与する。クラウドプラットフォームサービス１０２がＳａｌｅｓｆｏｒｃｅ  ＣＲＭの場合、生成されたクエリコマンド１４１０の最後に「ＬＩＭＩＴ  １」という構文を追加する。例えば、固定フィールド１３０４の場合、生成されたクエリコマンド１４１０は以下になる。「ＳＥＬＥＣＴ  振込日  ＦＲＯＭ  振込テーブル  ＷＨＥＲＥ  振込日  ＝  ２０１３０５１６  ＬＩＭＩＴ  １」。
【０１００】
Ｓ１４０６でデータアクセス部５０４は、当該クエリコマンド情報１００６からクラウドプラットフォームサービス１０２に発行するクエリコマンド１４１０を生成する。例えば、固定フィールド１３０２とレコードフィールド１３０３の場合、生成されたクエリコマンド１４１０は以下になる。「ＳＥＬＥＣＴ  品目，  価格，  注文先  ＦＲＯＭ  注文テーブル  ＷＨＥＲＥ  受付ＩＤ  ＝  １２３４５」。
【０１０１】
以上でＷｅｂサーバ３０３のクエリコマンド１４１０生成処理を示すフローチャートが完了する。
【符号の説明】
【０１０２】
１０１  クライアント装置
１０２  クラウドプラットフォームサービス
１０３  文書生成サーバ
３０１  Ｗｅｂブラウザ
３０３  Ｗｅｂサーバ
３０４  文書生成サービス
５０２  制御部
５０３  ページ生成部
【図１】
2015005146.tif 000003
【図２】
2015005146.tif 000004
【図３】
2015005146.tif 000005
【図４】
2015005146.tif 000006
【図５】
2015005146.tif 000007
【図６】
2015005146.tif 000008
【図７】
2015005146.tif 000009
【図８】
2015005146.tif 000010
【図９】
2015005146.tif 000011
【図１０】
2015005146.tif 000012
【図１１】
2015005146.tif 000013
【図１２】
2015005146.tif 000014
【図１３】
2015005146.tif 000015
【図１４】
2015005146.tif 000016