(57)【要約】      （修正有）【課題】文書生成サービスが生成した文書を外部クラウドサービスに送信する場合にユーザが指定した保存先から外部クラウドサービスの権限確認方法を判定し、文書の生成前に保存先に応じた権限を確認する。【解決手段】制御部は文書生成リクエスト中のリクエストＵＲＬを取得し７０１、文書生成権限を確認７０２後、リクエストＵＲＬから保存先を判定する７０３。ドキュメントの場合、ＣＰＳに保存先レコードＩＤへの書き込み権限を確認し、権限ありであれば保存先レコードの属するフォルダが存在するか確認する７０４、７１２。アタッチの場合、ＣＰＳに保存先レコードＩＤへの書き込み権限を確認し、権限ありであれば保存先レコードと紐付いたオブジェクトが存在するか確認する７０６、７１３。コンテンツの場合、ＣＰＳに保存先レコードＩＤへの書き込み権限を確認する７０７。権限確認後、帳票を送信する７０９。【選択図】図７
2016018218.tif 000002
【特許請求の範囲】
【請求項１】
クライアント端末１０１、ＣＰＳ１０２、および文書生成サービス１０３がネットワークで接続された文書生成システムであって、以下を含む。
ＣＰＳ１０２から取得した業務データ、またはクライアント端末１０１から送信された業務データとフォームデータを用い文書を生成し、生成された文書をＣＰＳ１０２に送信する文書送信機能を持つ制御部３０２。
制御部３０２は、文書生成リクエストを受信するとリクエストＵＲＬを取得し文書の保存先の種別（ドキュメント、アタッチ、コンテンツ）を判定する。（Ｓ７０３）
同じドメインのクラウドサービスへの送信が指定された場合（Ｓ７０４）認証サービス１０４に文書生成権限と送信権限を確認する。
ドキュメントへの保存が指定された場合ＣＰＳ１０２に文書保存権限を確認（Ｓ７０４）した後、文書生成リクエストで指定された保存先フォルダが存在するか確認する（Ｓ７１２）。
アタッチへの保存が指定された場合ＣＰＳ１０２に文書保存権限を確認（Ｓ７０６）した後、保存先と紐付けられたオブジェクトが存在するか確認（Ｓ７１３）する。
コンテンツへの保存が指定された場合ＣＰＳ１０２に文書保存権限を確認（Ｓ７０７）する。
保存できないと判定された場合権限エラー通知をクライアント端末１０１へ送信（Ｓ７０５）する。
文書保存可否の判定後、文書を生成し（Ｓ７０８）ＣＰＳ１０２に文書を送信（Ｓ７０９）する。
【請求項２】
請求項１に記載の文書生成システムであって、さらに以下を備えることを特徴とする。
文書生成サービス１０３の制御部３０２は文書保存権限の確認後、結果をＤＢ３０７へ保存する（Ｓ８１２）再び文書生成リクエストを受信した時、文書生成サービス１０３の制御部３０２はＤＢ３０７にキャッシュの有無を確認する（Ｓ８０２）。
キャッシュが有る時、制御部３０２はさらに更新時刻と現在時刻を比較する（Ｓ８０３）。一定時間以上経過していた場合、保存先の判定を行う（Ｓ８０６，Ｓ８０８，Ｓ８０９）。経過していなかった場合、文書生成処理を行う（Ｓ８１０）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クラウド上に保存されたデータをフォームオーバレイし、文書を生成するシステムに関し、特に文書送信機能に関する。
【背景技術】
【０００２】
近年、サーバーコンピュータ側で業務データの管理や各種処理を行う形態として、クラウドコンピューティングシステムが普及し始めている。ユーザは、クライアントコンピュータのブラウザからインターネットを介してクラウドサーバコンピュータのＷｅｂページにアクセスし、そのＷｅｂページ上で閲覧したい業務データを表示する。その画面から文書生成指示を行うと、文書生成サービスにリダイレクトされ、文書生成サービスから返される画面にてフォームオーバレイに使用するフォームをユーザが選択する。そして、文書生成サービスがクラウドサーバ上にあるデータを取得して文書を生成し、ユーザが指定した操作に従って、連携するクラウドサービスに送信する。また文書生成サービスは、外部クラウドサービスに対して文書の生成と送信用のＡＰＩを提供している。
このような文書生成サービスにおいて、外部クラウドサービスを利用する際に指定する保存領域の種別ごとに、送信処理に必要な条件が異なるため一意に決定できない。従来、クラウドサービスから同じドメインに属するクラウドサービスに送信する場合、文書生成前にユーザに必要な権限が付与されているかを判定し、確認後に文書生成処理を行うものがある（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−２３２１３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
外部クラウドサービスへの送信機能において、文書生成サービスは文書生成リクエストに含まれる文書生成後の操作（印刷、保存）に従い、生成文書を他のクラウドサービスへ送信する。送信先のクラウドサービスには文書生成サービスと同じドメインに属するクラウドサービスと別のドメインに属する外部クラウドサービスがある。操作に添付が指定された場合、文書生成リクエストに含まれる文書の保存先（ドキュメント、アタッチ、コンテンツ）へ文書を送信する。ここで、ドキュメントとはフォルダ単位でファイルを管理する保存領域、アタッチとは外部クラウドサービス上の他のオブジェクトと紐付ける保存領域、コンテンツとは個人用の保存領域を示す。
【０００５】
このような構成の文書生成サービスがクラウドサービスとして提供されている場合、ユーザの指定した保存先の種別によって下記のように権限確認方法が異なるという課題がある。
【０００６】
・文書の保存先がドキュメントの場合、保存先フォルダの存在と書き込み権限の有無の確認が必要。
【０００７】
・文書の保存先がアタッチの場合、紐付いたオブジェクトの存在と書き込み権限の有無の確認が必要。
【０００８】
・文書の保存先がコンテンツの場合、書き込み権限の有無の確認が必要。
【課題を解決するための手段】
【０００９】
本発明の構成は、クライアント端末１０１、ＣＰＳ１０２、文書生成サービス１０３がネットワークで接続された環境であって、以下を含む。
【００１０】
ＣＰＳ１０２から業務データを取得して文書を生成し、生成された文書をＣＰＳ１０２にアップロードする制御部３０２。
【００１１】
前記制御部３０２は、操作に保存が指定された文書生成リクエストを受け付けた時、文書生成権限を確認した後（７０２）、リクエストで指定された保存先がドキュメントかアタッチかコンテンツかを判定する（７０３）。
【００１２】
また、ドキュメントに保存する場合は外部クラウドサービスに書き込み権限を確認し（７０４）、書き込み権限がある場合は保存先フォルダの有無を判定する（７１２）。
【００１３】
アタッチに保存する場合は外部クラウドサービスに書き込み権限を確認し（７０６）、書き込み権限がある場合は保存先と紐付いたオブジェクトの有無を判定する（７１３）。
【００１４】
コンテンツに保存する場合は外部クラウドサービスに書き込み権限を確認する（７０７）。
【００１５】
権限確認の後、文書を生成し（７０８）外部クラウドサービスに送信する（７０９）。
【００１６】
送信結果を判定し（７１０）失敗の場合はダウンロードページを表示します（７１１）。
【発明の効果】
【００１７】
本発明によれば、文書生成サービスが生成した文書を外部クラウドサービスに送信する場合にユーザが指定した保存先から外部クラウドサービスの権限確認方法を判定し、文書の生成前に保存先に応じた権限を確認することができる。その結果、生成した文書を権限不足によって送信できない状況を回避することができる。
【図面の簡単な説明】
【００１８】
【図１】システム構成を示すブロック図である。
【図２】ハードウェア構成を示す図である。
【図３】文書生成サービスの属するドメインの全体構成を示す図である。
【図４】ＣＰＳのソフトウェアモジュール構成図である。
【図５】文書生成リクエスト情報のテーブル構造を示す図である。
【図６】実施例１における文書生成システムが行う処理シーケンスを示す図である。
【図７】実施例１における文書生成サービスの文書生成処理を示すフローチャートである。
【図８】実施例２における文書生成サービスの文書生成処理を示すフローチャートである。
【発明を実施するための形態】
【００１９】
以下、上述の環境を仮定した際に生じる課題と解決策を説明する。
【実施例１】
【００２０】
図１は、本発明の実施例のシステム構成を示すブロック図である。クライアント端末１０１はクラウドプラットフォームサービス１０２および文書生成サービス１０３に対してリクエストを発行する。なお、本発明では以降クラウドプラットフォームサービスをＣＰＳと略して表記する。ここで情報処理装置である文書生成サービス１０３から見るとＣＰＳ１０２は外部情報処理装置である。
【００２１】
ＣＰＳ１０２は、クライアント端末１０１や文書生成サービス１０３からのリクエストに応じて、保持するデータに対し保存等を行う。文書生成サービス１０３はクライアント端末１０１からリクエストを受信して文書生成を行う。  また、上記各装置はネットワーク１００により通信可能に接続されている。ネットワークは、例えば、インターネット等のＬＡＮ、ＷＡＮ、電話回線、専用デジタル回線、ＡＴＭやフレームリレー回線、ケーブルテレビ回線、データ放送用無線回線等のいずれかである。また、これらの組み合わせにより実現される、いわゆる通信ネットワークである。ネットワークはデータの送受信が可能であればよい。  なお、各装置間の通信手段はそれぞれ異なっていても構わない。
【００２２】
図２は、図１のクライアント端末１０１、ＣＰＳ１０２、文書生成サービス１０３のハードウェア構成を示すブロック図である。２０１は内部バスで接続される各デバイス（後述のＲＯＭ、ＲＡＭ他）を直接或いは間接的に制御し、本発明を実現するためのプログラムを実行するＣＰＵである。２０２はＢＩＯＳが格納してあるＲＯＭである。２０３はＣＰＵ２０１のワーク領域として利用されたり、本発明を実現するためのソフトウェアモジュールをロードするための一時記憶として利用されたりするＲＡＭ（直接記憶装置）である。２０４は基本ソフトウェアであるＯＳやソフトウェアモジュールが記憶されているＨＤＤ（ハードディスクドライブ）、もしくはＳＳＤ（ソリッドステートドライブ）などの補助記憶装置である。２０５は入力装置でありキーボードやポインティングデバイスなどである。２０６は出力装置でありディスプレイが接続される。２０７はネットワーク１００に接続するためのＩ／Ｆである。
【００２３】
これらハードウェアでは起動後に、ＣＰＵ２０１によりＢＩＯＳが実行されＯＳがＨＤＤ２０４からＲＡＭ２０３に実行可能にロードされる。ＣＰＵ２０１はＯＳの動作に従って後述する各種ソフトウェアモジュールをＨＤＤ２０４からＲＡＭ２０３に随時、実行可能にロードする。各種ソフトウェアモジュールは上記各デバイスの協調によりＣＰＵ２０１によって実行され動作する。これにより図４乃至８に示すソフトウェア構成及び後述するフローチャートの各ステップの処理が実現される。また、Ｉ／Ｆ２０７はネットワーク１００に接続されており、ＯＳの動作に従ってＣＰＵ２０１により制御され、上述した通信手段による通信を実現している。
【００２４】
図３は、文書生成サービス１０３上で動作するソフトウェアモジュールの構成図である。なお各ソフトウェアモジュールは図２で示したＨＤＤ２０４に記憶されており、前述したようにＣＰＵ２０１によってＲＡＭ２０３にロードされ実行される。文書生成サービス１０３は送受信部３０１、制御部３０２、ページ生成部３０３、フォーム管理部３０４、文書生成部３０５、認証部３０６、ＤＢ３０７で構成される。
【００２５】
送受信部３０１はクライアント端末１０１やＣＰＳ１０２との通信を処理する。制御部３０２は送受信部３０１が受け付けたリクエストに従って処理を実行する。ページ生成部３０３はブラウザにレスポンスを返すためのＷｅｂページを生成する。フォーム管理部３０４は制御部３０２からの要求に応じてフォームデータの登録、取得、更新、削除を行う。文書生成部３０５は制御部３０２からの要求に応じてフォームデータと業務データから文書の生成を行う。認証部３０６は制御部３０２からの要求に応じて送受信部３０１とＤＢ３０７に保存された送信先情報を用いてユーザの認証を行う。
【００２６】
図４は、ＣＰＳ１０２上で動作するソフトウェアモジュールの構成図である。なお各ソフトウェアモジュールは図２で示したＨＤＤ２０４に記憶されており、前述したようにＣＰＵ２０１によってＲＡＭ２０３にロードされ実行される。
【００２７】
ＣＰＳ１０２は送受信部４０１、制御部４０２、ページ生成部４０３、セッション管理部４０４、認証部４０５、データ管理部４０６、設定管理部４０７、ＤＢ４０８で構成される。送受信部４０１はクライアント端末１０１や文書生成サービス１０３との通信を処理する。制御部４０２は送受信部４０１が受け付けたリクエストに従って処理を実行する。ページ生成部４０３はクライアント端末１０１にレスポンスを返すためのＷｅｂページを生成する。管理部４０４は認証部４０５にて認証に成功したユーザのセッション情報を管理するセッションである。認証部４０５はログイン要求してきたユーザを認証する。
【００２８】
データ管理部４０６は業務データをＤＢ４０８に保持し、要求に応じてＤＢ４０８から業務データの取得又は業務データの更新を行う。設定管理部４０７は文書生成サービス１０３へのリダイレクトを行うための設定を保持する。  ＣＰＳ１０２はこれら各構成要素の協調により、後述する処理を実行する。
【００２９】
また、図中、４０８は管理ユーザデータや業務データを格納するＤＢ４０８であり、図２で示したＨＤＤ２０４に記憶されている。管理ユーザデータや業務データは、企業・組織（以降、組織と表記）毎に管理される。各組織には組織ＩＤが自動的に割り当てられ、組織ＩＤとともに各データが管理される。ユーザ認証時、ユーザが所属する組織の組織ＩＤを取得しセッション管理部４０４に保存する。以降のデータ取得等の処理は組織ＩＤをもとに行われ、組織ＩＤの一致するデータのみを参照することが可能となっている。
【００３０】
また、ＤＢ４０８には、文書生成サービス１０３へのリダイレクトを行うための設定も格納される。ＤＢ４０８に格納された業務データや文書生成サービス１０３へリダイレクトを行うための設定は、クライアント端末１０１を介して、ユーザ（管理者）により任意のタイミングで設定更新が行われる。
【００３１】
図５は、クライアント端末１０１上のブラウザまたはアプリが文書生成サービスに送信する文書生成リクエストの構造を示す図である。文書生成リクエストは文書を生成する為に必要なフォームデータを指定するフォームデータＩＤ５０１と生成した文書の送信先を指定する操作９０２、文書生成サービスで認証する為のユーザＩＤ５０３、生成した文書に付ける文書名５０４、業務データ５０６、組織ＩＤ５０７、文書生成サービスにアクセスする為のリクエスト５０８、生成した文書を保存するＣＰＳ１０２の保存先レコードＩＤ５０９から構成され、ＣＰＳ１０２へ送信する場合にはさらにセッションＩＤ５０５を含む。
【００３２】
図６は、本発明の実施例１における文書生成サービスが文書生成リクエスト受信時に行う処理の流れを示している。なお、ユーザがブラウザ経由で文書生成リクエストを送信する場合、不図示のログイン画面にてＣＰＳ１０２にログイン済とする。
【００３３】
クライアント端末１０１から文書生成リクエスト５００が送信される（Ｓ６０１）と、文書生成サービス１０３は操作５０２（印刷、保存）を判定する（Ｓ６０２）。操作５０２が保存の時、文書生成サービス１０３はリクエストＵＲＬ５０８から保存先を判定する（６０３）。文書生成サービス１０３は文書生成権限が付与されているか判定する（Ｓ６０４）。保存先がドキュメントだった場合、文書生成サービス１０３はセッションＩＤ５０５を使用しＣＰＳ１０２上の保存先レコードＩＤ５０９への書き込み権限を確認し（Ｓ６０５）、保存先レコード５０９の属するフォルダが存在するか確認する（Ｓ６０８）。
【００３４】
保存先がアタッチだった場合、文書生成サービス１０３はセッションＩＤ５０５を使用しＣＰＳ１０２上の保存先レコードＩＤ５０９への書き込み権限を確認し（Ｓ６１２）、保存先レコード５０９と紐付いたオブジェクトが存在するか確認する（Ｓ６１５）。保存先がコンテンツだった場合、文書生成サービス１０３はセッションＩＤ５０５を使用しＣＰＳ１０２上の保存先レコードＩＤ５０９への書き込み権限を確認する（Ｓ６１８）。権限を確認後、文書生成サービス１０３は文書生成リクエストのフォームデータＩＤ５０１、業務データ５０６、文書名５０４を用いオーバレイを行う（Ｓ６２０）。
【００３５】
文書生成サービス１０３は生成した文書をＣＰＳ１０２に送信する（Ｓ６２１）。保存リクエストを受信したＣＰＳ１０２は権限を確認し添付処理を行う（Ｓ６２２）。ＣＰＳ１０２は添付処理の結果を文書生成サービス１０３に送信する（Ｓ６２３）。操作結果の受信後、文書生成サービス１０３はクライアント端末１０１に文書生成リクエストのレスポンスを送信する（Ｓ６２４）。
【００３６】
図７は文書生成サービス１０３の文書生成リクエストの受信からレスポンス送信までの処理を示すフローチャートである。
【００３７】
制御部３０２は、本発明では、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＨＤＤ等からなり、フローチャートで示す手順が制御部３０２のＲＡＭ、ＲＯＭ、ＨＤＤのいずれかの記憶手段に記憶され、ＣＰＵ２０１により実行される。
【００３８】
制御部３０２は、クライアント端末１０１からの文書生成リクエストを受信すると、Ｓ７０１において、制御部３０２は文書生成リクエスト中のリクエストＵＲＬ５０８を取得する。Ｓ７０２において、制御部３０２は認証部３０６を用い文書生成権限を確認する。制御部３０２はＳ７０３において、Ｓ７０１で取得したリクエストＵＲＬ５０８から保存先を判定する。
【００３９】
ドキュメントの場合、Ｓ７０４において制御部３０２はセッションＩＤ５０５と送受信部３０１を用いてＣＰＳ１０２に保存先レコードＩＤ５０９への書き込み権限を確認する。権限ありであればＳ７１２において保存先レコード５０９の属するフォルダが存在するか確認する（Ｓ７１２）。Ｓ７０４とＳ７１２において結果が権限なしであれば権限エラーを通知する（Ｓ７０５）。
【００４０】
アタッチの場合、Ｓ７０６において制御部３０２はセッションＩＤ５０５と送受信部３０１を用いてＣＰＳ１０２に保存先レコードＩＤ５０９への書き込み権限を確認する。権限ありであれば保存先レコード５０９と紐付いたオブジェクトが存在するか確認する（Ｓ７１３）。Ｓ７０６とＳ７１３において結果が権限なしであれば権限エラーを通知する（Ｓ７０５）。
【００４１】
コンテンツの場合、Ｓ７０７において制御部３０２はセッションＩＤ５０５と送受信部３０１を用いてＣＰＳ１０２に保存先レコードＩＤ５０９への書き込み権限を確認する。結果が権限なしであれば権限エラーを通知する（Ｓ７０５）。
【００４２】
Ｓ７０８において制御部３０２は文書生成リクエストから取得したフォームデータＩＤ５０１、業務データ９０６、文書名５０４を用いて文書生成部３０５を介し文書生成を行う。Ｓ７０９において制御部３０２は生成した文書を送受信部３０１からＣＰＳ１０２に送信する。
【００４３】
以上の処理により、文書生成サービス１０３は文書生成処理を実行する。
なお、文書生成サービス１０３における文書生成処理（フォームを使用したオーバレイ処理）は既知であるため、本実施例では説明を割愛する。
【００４４】
本実施例１により、文書生成サービスが生成した文書を外部クラウドサービスに送信する場合にユーザが指定した保存先から外部クラウドサービスの権限確認方法を判定し、文書の生成前に保存先に応じた権限を確認することができる。
【実施例２】
【００４５】
実施例１では、文書生成リクエストを受信する度に確認処理を行う（Ｓ７０３〜Ｓ７０７）。ＣＰＳ１０２における権限確認で使用されるＡＰＩの使用回数には制限があり、短時間で規定以上の文書生成リクエストを受信し制限値を超えた場合、ＣＰＳ１０２のＡＰＩが利用できない。
【００４６】
本実施例２では、上記課題に対して、権限確認結果を一定時間保持しＡＰＩの利用回数を低減する方法を説明する。以下、実施例１で記載済みの内容については説明を省略する。
【００４７】
図８は本実施例において、文書生成処理を示すフローチャートである。文書生成サービス１０３は権限の確認結果をキャッシュとして保存する（Ｓ８１２）。その後、文書生成リクエスト受信時、文書生成権限を確認し（Ｓ８０４）、Ｓ８０５において保存先判定を行う。Ｓ８０２においてユーザＩＤ５０３と紐付いたキャッシュファイルの有無を判定する。キャッシュが存在する場合、Ｓ８０３において現在時刻とキャッシュの更新日時を比較する。現在時刻がキャッシュの更新から一定時間経過していた場合、Ｓ８０５において保存先判定を行う。一定時間経過していなかった場合はＳ８１０において文書生成を行う。Ｓ８０５〜Ｓ８１１についてはＳ７０３〜Ｓ７０９と同様の為、説明を割愛する。以上の処理により、文書生成サービス１０３は文書生成処理を実行する。
【００４８】
本実施例２により、ＣＰＳ１０２における権限確認で使用されるＡＰＩの使用回数には制限がある場合でも、文書生成サービスが生成した文書を外部クラウドサービスに送信する場合にユーザが指定した保存先から外部クラウドサービスの権限確認方法を判定し、文書の生成前に保存先に応じた権限を確認することができる。
【符号の説明】
【００４９】
１０１  クライアント端末、１０２  クラウドプラットフォームサービス、
１０３  文書生成サービス
【図１】
2016018218.tif 000003
【図２】
2016018218.tif 000004
【図３】
2016018218.tif 000005
【図４】
2016018218.tif 000006
【図５】
2016018218.tif 000007
【図６】
2016018218.tif 000008
【図７】
2016018218.tif 000009
【図８】
2016018218.tif 000010