JP7379019B2 - プログラム、サーバ及び提供方法 - Google Patents

プログラム、サーバ及び提供方法 Download PDF

Info

Publication number
JP7379019B2
JP7379019B2 JP2019151202A JP2019151202A JP7379019B2 JP 7379019 B2 JP7379019 B2 JP 7379019B2 JP 2019151202 A JP2019151202 A JP 2019151202A JP 2019151202 A JP2019151202 A JP 2019151202A JP 7379019 B2 JP7379019 B2 JP 7379019B2
Authority
JP
Japan
Prior art keywords
web browser
program
screen displayed
web
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019151202A
Other languages
English (en)
Other versions
JP2021033513A (ja
JP2021033513A5 (ja
Inventor
周平 金子
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2019151202A priority Critical patent/JP7379019B2/ja
Priority to US16/986,333 priority patent/US11630879B2/en
Publication of JP2021033513A publication Critical patent/JP2021033513A/ja
Publication of JP2021033513A5 publication Critical patent/JP2021033513A5/ja
Application granted granted Critical
Publication of JP7379019B2 publication Critical patent/JP7379019B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/986Document structures and storage, e.g. HTML extensions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6263Protecting personal data, e.g. for financial or medical purposes during internet communication, e.g. revealing personal data from cookies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Bioethics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Digital Computer Display Output (AREA)

Description

本発明は、プログラム、サーバ及び提供方法に関する。
昨今、ペーパーレス化による業務の効率化及び省資源化を目的に、紙媒体の情報を文書データに置き換える企業が増加している。例えば、社内で運用されている業務帳票もその対象であり、特に基幹系システムが出力する帳票は大量のページ数を出力することが多く、運用コストが莫大なものになることから、帳票の電子化が行われている。
また、業務データの管理、又は各種処理を行う形態として、クラウドサービスの利用が普及し始めている。ユーザーは、クライアント端末のWebブラウザからインターネットを介してクラウドサービスのWebページにアクセスし、そのWebページ上で電子化された帳票文書データを閲覧する。更に、業務フローに応じて閲覧している帳票文書データを編集及び印刷するような利用ケースの増加が予想される。
Webページ上で帳票文書データを扱う場合、Webとの親和性が高いSVG(Scalable Vector Graphics)の形式を使用することがある。SVGを使用することで、画面の拡大縮小による画質劣化が発生せず、従来の帳票文書データでは実現が困難なダイナミックな表現を用いた描画が可能となり、付加価値が高いWeb帳票を実現可能である。
また、帳票文書によってはセキュリティレベルの高い帳票文書を表示するケースがある。保険営業で作成する帳票文書は顧客の個人情報が記載されることが多く帳票文書の取り扱いに注意が必要である。特許文献1には、有効期限つきの文書を閲覧する技術が提示されている。
特開2002-215574号公報
セキュリティレベルの高い帳票文書に有効期限をつけて表示を制限することは有効である。
しかしながら、特許文献1では帳票文書の有効期限内にWebページが表示されたまま放置された場合には、表示されたままの帳票文書をユーザーが閲覧できてしまうという懸念があった。
本発明は、サーバから取得したWebデータに基づく画面を表示するWebブラウザを有する装置のコンピュータによって実行されるプログラムであって、前記プログラムは、前記Webブラウザ上に表示された前記画面に対して一定時間ユーザによる操作がないか判定する第1の判定工程と、前記Webブラウザ上に表示された前記画面が、前記プログラムによってクローズできるか否かを判定する第2の判定工程と、前記Webブラウザ上に表示された前記画面に対して一定時間ユーザによる操作がないと前記第1の判定工程において判定し、かつ、前記Webブラウザ上に表示された前記画面が前記プログラムによってクローズできないと前記第2の判定工程で判定した場合に、DOM(Document Object Model)を介して、前記Webブラウザ上に表示された前記画面に対応するWebデータから特定のコンテンツに関する要素を削除して、前記Webブラウザ上に表示された前記画面を前記特定のコンテンツを含まない画面で更新するように制御する第1の制御工程と、を有することを特徴とする。
本発明の1つの側面によれば、情報の漏洩を抑制することができる。
情報処理システムのシステム構成の一例を示す図である。 サーバ等のハードウェア構成の一例を示す図である。 サーバ等のソフトウェア構成の一例を示す図である。 逐次更新を行う変換インデックスファイルについて説明するための図である。 Web帳票閲覧画面プレビュー表示処理の一例を示す図である。 業務画面の一例を示す図である。 JavaScript(登録商標)の一例を示す図である。 HTMLの一例を示す図である。 Web帳票文書非表示処理の一例を示すフローチャートである。
以下、本発明の実施形態について図面に基づいて説明する。
<実施形態1>
(システム構成)
図1は、情報処理システムのシステム構成の一例を示す図である。図1において、クライアント端末102は、有線又は無線LANを介してローカルネットワーク101に接続され、ローカルネットワーク101を介してインターネット100にアクセスし、103~105のサーバにアクセスする。クライアント端末102は、例えばデスクトップパソコン、ノートパソコン、スマートフォン、タブレットPC等からなる。クライアント端末102は、Webブラウザ321等のアプリケーションを実行する環境を内蔵している。Webブラウザ321は、HTMLレンダリングエンジンを有し、HTML(Hyper Text Markup Language)、CSS(Cascading Style Sheets)によって表現されるWebページを表示可能である。また、Webブラウザは、JavaScript(登録商標)エンジンを有し、JavaScriptを解釈し実行することでWebサーバとやり取りせずにWebページを書き換えることができる。なお、JavaScriptエンジンはスクリプトエンジンの一例であり、JavaScriptはクライアントサイドのスクリプトエンジンが解釈するスクリプトの一例である。
後述する図9のフローチャートに示す各処理は、JavaScriptを実行することで実現される。Webブラウザ321を用いて帳票生成サーバ104から受信したWeb帳票閲覧プログラムにより帳票が表示される。Web帳票閲覧プログラムは、ストレージサーバ105からWeb帳票文書を取得し、Webブラウザ321上に表示する。帳票閲覧プログラムとは、ネットワークを介して配信できるWebブラウザ321上で動作するWebアプリケーションである。Web帳票閲覧プログラムは、Webページを表現するHTML、スタイルシートであるCSS及びWebブラウザ321上で動作するプログラミング言語(JavaScript)を含む。Web帳票閲覧プログラムは、Webブラウザにより実行されることでその機能を発揮するプログラムである。Web帳票閲覧プログラムは、ストレージサーバ105からWeb帳票文書(以下、単に帳票とも呼ぶ)をダウンロードし、DOMを経由して先のHTMLに対して当該ダウンロードした帳票の表示に用いる要素を追加する。HTMLが更新されると、Webブラウザ321は、当該更新されたHTMLに基づき画面を更新する。この処理により、Webブラウザ321上にダウンロードした帳票を表示することができる。ここで、DOMとは、Document Object Modelの略である。Web帳票閲覧プログラムに含まれるHTMLはWebブラウザ321上で帳票を表示するための画面情報である。HTMLに帳票の表示に用いる要素がHTML追加されたことでWeb帳票閲覧プログラムにより表示される画面をWeb帳票閲覧画面と呼ぶ。なお、Web帳票閲覧プログラムは、Webブラウザ321上で動作するWebアプリケーション以外、例えばコンピュータシステム上で実行するアプリケーションでもよい。Web帳票文書は、Webデータの一例である。Web帳票閲覧プログラムは、Web帳票文書の送信元のサーバの一例である。
業務サーバ103は、ユーザー業務情報を管理するサーバである。本実施形態では業務サーバ103で業務情報を管理し、販売員が業務サーバ103の情報を用いて顧客に対して営業を行うユースケースを想定している。業務サーバ103は、クライアント端末102からのリクエストに応じて業務情報の表示と、帳票データ生成指示を行うための画面を提供する。なお、業務サーバ103はインターネットを介してクライアント端末102からアクセスされる構成であってもよい。
帳票生成サーバ104は、業務サーバ103から業務情報を受け取り、オーバレイ出力処理、及び帳票閲覧プログラムの生成処理を実行する。即ち、帳票生成サーバ104は、テキストデータであるフィールドデータファイルと所定のフォーム情報を含むフォーム情報ファイルとを重ね合わせてWeb帳票文書を生成する。Web帳票文書とは、Webページ上で扱うSVG等の形式の帳票文書データである。更に、帳票生成サーバ104は、生成した帳票文書を閲覧できる帳票閲覧プログラムを生成する。なお、生成したWeb帳票文書は帳票生成サーバ104がストレージサーバ105へアップロードする。
ストレージサーバ105は、ファイル管理を行うサーバであり、クライアント端末102からはファイルダウンロードを受け付け、帳票生成サーバ104からはファイルアップロードとファイルの削除要求を受け付ける。
なお、本実施形態では、予めユーザー管理者が各サーバに次の情報を保存しておくものとする。即ち、業務サーバ103に業務情報データを保存し、帳票生成サーバ104に顧客データに対応する帳票テンプレートファイルを保存する。
なお、サーバ103~105は1つのサーバであってもよい。
(ハードウェア構成)
図2は、クライアント端末102、業務サーバ103、帳票生成サーバ104、ストレージサーバ105のハードウェア構成の一例を示す図である。
図2において、CPU(Central Processing Unit)201は、内部バスで接続される各デバイス(を直接又は間接的に制御し、プログラムを実行する。ROM(Read Only Memory)202は、BIOS(Basic Input/Output System)が格納してある。RAMRandom Access Memory)203は、CPU201のワーク領域として利用されたり、ソフトウェアモジュールをロードするための一時記憶として利用されたりする。HDD(ハードディスクドライブ)204は、基本ソフトウェアであるOS(Operating System)、ソフトウェアモジュールを記憶する。他の例として、HDDの代わりにSSD(ソリッドステートドライブ)等であってもよい。入力装置205は、不図示のキーボード、ポインティングデバイス、タッチジェスチャ検出デバイス等である。出力装置206は、ディスプレイが接続される。入力装置205と出力装置206は、タッチスクリーンディスプレイのような一体型モジュールでもよい。I/F207は、ローカルネットワーク101に接続するためのインターフェースである。
これらハードウェアでは、起動後、CPU201によりBIOSが実行されOSがHDD204からRAM203に実行可能にロードされる。CPU201は、OSの動作に従って後述する図3に示す各種ソフトウェアモジュールをHDD204からRAM203に随時、実行可能にロードする。各種ソフトウェアモジュールは、各デバイスの協調によりCPU201によって実行され動作する。また、I/F207は、インターネット100、ローカルネットワーク101に接続されており、OSの動作に従ってCPU201により制御され、通信を実現している。
(ソフトウェア構成)
図3は、クライアント端末102、業務サーバ103、帳票生成サーバ104、及びストレージサーバ105のソフトウェア構成の一例を示す図である。各サーバソフトウェア構成と、各サーバが扱う管理情報について説明する。
(業務サーバ103のソフトウェア構成と管理情報)
業務サーバ103は、Web画面I/F331、業務情報管理部332、ストレージ333から構成される。各ソフトウェアモジュールは図2で示したHDD204に記憶されており、前述したようにCPU201によってRAM203にロードされ実行される。
Web画面I/F331は、業務サーバ103のユーザーインターフェースを提供するものであり、クライアント端末102のWebブラウザ321からの要求に応じて、業務情報を表示する画面を生成して返す。業務情報管理部332は、業務情報をストレージ333に記憶して管理する。これらの情報は、業務サーバ103の外部メモリではなく、インターネット100、ローカルネットワーク101を介して通信可能に構成された別のサーバに記憶するように構成することもできる。
業務情報管理部332が管理している顧客情報の例を表.顧客情報に示す。
顧客情報は、帳票を生成する際に使用するデータテーブルである。データテーブルは、顧客を一意に識別するための顧客ID、氏名、住所、生年月日、連絡先を含む情報を保持している。帳票を生成するために必要なデータは、本実施形態の顧客情報に限らず、製品の在庫、納品情報、入出金情報等、様々なものが想定される。
業務情報管理部332が管理している帳票情報の例を表.帳票情報に示す。
帳票情報は、帳票を生成する際に使用する帳票テンプレート情報を保持するデータテーブルである。データテーブルは、帳票情報を一意に識別するための帳票ID、画面表示用の帳票名、帳票生成サーバ104で管理されているフォーム情報ファイルを特定する帳票テンプレートIDを含む情報を保持している。
業務サーバ103のWeb画面I/F331は、クライアント端末102のWebブラウザ321から帳票プレビュー指示を受け付ける。業務情報管理部332は、該当の顧客情報と、帳票情報の帳票テンプレートIDを帳票生成サーバ104に送信し、帳票生成のリクエストを行う。
(帳票生成サーバ104のソフトウェア構成と管理情報)
帳票生成サーバ104は、Webサーバ341、帳票情報管理部342、オーバレイ部343、Web帳票削除部344、ストレージ345から構成される。各ソフトウェアモジュールは図2で示したHDD204に記憶されており、前述したようにCPU201によってRAM203にロードされ実行される。
Webサーバ341は、帳票生成サーバ104の各種インターフェースを提供し、クライアント端末102のWebブラウザ321、業務サーバ103からのリクエストを受付け、応答を返す。帳票情報管理部342は、帳票テンプレート情報、及び、帳票データ情報をストレージ345に格納して管理する。Web帳票削除部344は、クライアント端末102のWebブラウザ321で動作するWeb帳票閲覧プログラムからのWeb帳票削除要求を受けてストレージサーバ105上のWeb帳票文書を削除する。また、Web帳票削除部344は、後述するオーバレイIDと変換インデックスファイルURLの紐付けを行う帳票データ情報の削除も行う。
帳票情報管理部342が管理している帳票テンプレート情報の例を表.帳票テンプレート情報に示す。
帳票テンプレート情報は、帳票生成サーバ104が管理するフォーム情報ファイルのデータテーブルである。情報処理システムは、フォーム情報ファイルを後述のストレージサーバ105にファイルとして保持している。帳票テンプレートIDはフォーム情報ファイルを一意に識別するIDであり、前述の業務サーバ103で管理される帳票情報の帳票テンプレートIDに対応する。
Webサーバ341は、業務サーバ103からの帳票生成リクエストを受け付けると、リクエストに含まれる顧客情報と、帳票テンプレートIDを基にオーバレイ部343にオーバレイ出力を指示する。オーバレイ部343は、該当の帳票テンプレート情報の帳票テンプレートURLにアクセスしてフォーム情報ファイルをストレージサーバ105から取得してフォーム情報を取り出し、該当の顧客情報と重ね合わせてWeb帳票文書を生成する。
帳票情報管理部342が管理しストレージ345に保持する帳票データ情報の例を表.帳票データ情報に示す。
帳票データ情報は、帳票生成サーバ104で管理される帳票文書データについてのデータテーブルである。オーバレイIDは、業務サーバ103から帳票生成リクエストを受け付けた際に帳票情報管理部342が発行するIDであって、オーバレイ処理を一意に識別可能なIDである。変換インデックスファイルURLは、Webブラウザ321がストレージサーバ105から変換インデックスファイルを取得するためのURLである。変換インデックスファイルについては後述する。
(ストレージサーバ105のソフトウェア構成と管理情報)
ストレージサーバ105は、Webサーバ351、ファイル情報管理部352、ストレージ353から構成される。各ソフトウェアモジュールは図2で示したHDD204に記憶されており、前述したようにCPU201によってRAM203にロードされ実行される。
Webサーバ351は、ストレージサーバ105の各種インターフェースを提供する。ファイル情報管理部352は、ファイル情報を管理し、Webサーバ351で受け付けたリクエストに応じてファイルの入出力を行う。ストレージ353は、ファイル情報、ストレージサーバ105が受信したファイルを格納する。
ファイル情報管理部352が管理するファイル情報の例を表.ファイル情報に示す。
ファイル情報は、ファイル情報管理部352で管理されるストレージサーバ105に保存するファイルの情報である。データURLはストレージサーバ105に保存するファイルを一意に識別するURLである。ファイルパスはストレージ上のファイルパスでありファイルの格納場所を示す。データURLに対するリクエストをWebサーバ351で受け付け、ファイル情報管理部352が該当するファイル情報を更新し、ストレージ353のファイル操作を行う。例えば、ストレージサーバ105に対してファイル操作を要求するクライアントは、データURLに対してHTTP GETメソッドをリクエストすることで対応するファイルをダウンロード可能である。また、クライアントは、データURLに対してHTTP PUTメソッドにファイル添付してリクエストすることでファイルをアップロードして保存可能である。更に、クライアントは、データURLに対してHTTP DELETEメソッドをリクエストすることで対応するファイルを削除可能である。
(変換インデックスファイル)
次に、帳票生成サーバ104のオーバレイ実行時に生成し、逐次更新を行う変換インデックスファイルについて説明する。
図4において、400~430は、帳票生成サーバ104がオーバレイ出力処理を実行する際に生成、更新を行う変換インデックスファイルの例を時系列に示したものである。帳票生成サーバ104はまず、処理が開始された時点で、ストレージサーバ105に変換インデックスファイル400を生成する。本実施形態では、変換インデックスファイルはJSONファイル形式を採用し、「dataList」をキーとする処理結果のデータURLのリストと、「end」をキーとする処理完了フラグから成る。
ここで実施形態1では、オーバレイ出力結果をSVGファイルとし、ファイル出力単位は1ページ毎とする。帳票生成サーバ104は、夫々の処理開始時に、初期状態の変換インデックスファイル400を生成する。このとき、ファイルは生成されていないため、「dataList」は要素が空であり、処理結果を示す「end」の値はfalseである。この後、帳票生成サーバ104は、順次処理を実行し、処理結果のファイルをストレージサーバ105にアップロードし、そのデータURLを「dataList」に追加する。410は、1ファイル目がアップロードされた状態を示す。変換インデックスファイル420は、2ファイル目がアップロードされた状態を示す。更に、帳票生成サーバ104は、最後のページである3ファイル目の処理結果のファイルをアップロードした時点で、インデックスファイルを430の状態に更新する。430は、「dataList」に3ファイル目に対応するデータURLが追加されていると共に、処理完了フラグ「end」がtrueに更新されている。
クライアント端末102は、変換インデックスファイルをストレージサーバ105から取得して参照することで、帳票生成サーバ104の変換処理の進捗を知ることができ、変換が完了しているWeb帳票文書を逐次、ダウンロードして表示することができる。
以降、実施形態1における各処理について説明する。
図5は、Web帳票を含む画面を表示する一連の制御を説明するための図である。クライアント端末102により帳票プレビューリクエストが発行されたことに従い、帳票生成サーバ104は、Web帳票文書を生成する。クライアント端末102のWebブラウザ321は、Web帳票文書を取得して表示を行う。また、図6は、クライアント端末102のWebブラウザ321から、業務サーバ103にアクセスして業務データを表示した場合の業務画面600の一例を示す図である。図5の処理は、ユーザーがWebブラウザ321に表示した画面において帳票プレビュー要求操作を実行することによって開始される。
図6に表示される業務画面600の帳票プレビューボタン603が選択されると、Webブラウザ321は、帳票プレビューリクエストを業務サーバ103に送信する(S5.1.1)。当該リクエストには、顧客IDと602で選択されている帳票情報の帳票IDが含まれる。
業務画面について図6を用いて説明する。業務画面600には、業務サーバ103が保持する顧客情報601と帳票情報602が表示されている。また、帳票情報602は、帳票情報として登録されている帳票情報のうちのひとつを選択可能な帳票選択ドロップダウンリストである。帳票プレビューボタン603は、帳票プレビュー要求操作を行う帳票プレビューボタンである。
図5の説明に戻り、S5.1.2において、業務サーバ103の業務情報管理部332は、S5.1.1に含まれる顧客ID、帳票IDに該当する顧客情報、帳票テンプレートIDを指定して帳票生成サーバ104に帳票生成リクエストを送信する。
帳票生成サーバ104は、帳票生成リクエストを受信すると、帳票情報管理部342がオーバレイIDを発行して帳票データ情報に登録する。更に、S5.1.3において、帳票生成サーバ104は、リクエストに対する応答としてオーバレイIDを返す。
S5.1.4において、業務サーバ103は、クライアント端末102のWebブラウザ321に対してオーバレイIDを返す。
また、帳票生成サーバ104の帳票情報管理部342は、S5.1.3と並行して、リクエストに含まれる帳票テンプレートIDを基に帳票テンプレート情報から帳票テンプレートURLを取得する。そして、帳票情報管理部342は、顧客情報と共に、オーバレイ部343にオーバレイ出力指示を行う。
オーバレイ出力指示を受けると、S5.2.1.1において、オーバレイ部343は、変換インデックスファイル400を生成し、ストレージサーバ105にアップロードする。
S5.2.2において、オーバレイ部343は、帳票テンプレートURLにアクセスして帳票テンプレートファイルを取得し、顧客情報と重ね合わせてオーバレイ処理を開始する。
S5.2.3.1において、オーバレイ部343は、オーバレイ出力結果としてWeb帳票文書(SVG01)を出力する。
S5.2.3.2において、オーバレイ部343は、生成したSVGファイル(SVG01)をストレージサーバ105にアップロードする。
次に、S5.2.3.3において、オーバレイ部343は、アップロードしたSVGファイル(SVG01)のデータURLを「dataList」に追記した変換インデックスファイル410を、アップロードする。
続いて、S5.2.4.2において、オーバレイ部343は、次のオーバレイ処理S5.2.4.1の出力結果SVG(SVG02)をストレージサーバ105にアップロードする。
更に、S5.2.4.3において、オーバレイ部343は、アップロードしたSVGファイル(SVG02)のデータURLを「dataList」に追記した変換インデックスファイル420をアップロードする。
S5.2.5.1は、最後のページ単位のオーバレイ処理である。
S5.2.5.1において、オーバレイ部343は、オーバレイ出力結果としてSVGファイル(SVG03)を出力する。
S5.2.5.2において、オーバレイ部343は、生成したSVGファイル(SVG03)をストレージサーバ105にアップロードする。
更に、オーバレイ部343は、「dataList」にアップロードしたSVGファイル(SVG03)のデータURLを追加する。更に、オーバレイ部343は、処理完了フラグ「end」を、完了を表す値であるtrueに更新する。そして、S5.2.5.3において、オーバレイ部343は、その変換インデックスファイル410をストレージサーバ105にアップロードする。
オーバレイ出力単位が多い場合は、S5.2.4.1~S5.2.4.3の処理が繰り返される。
一方、S5.1.4でオーバレイIDを受け取った後、S5.3.1において、クライアント端末102のWebブラウザ321は、そのオーバレイIDを指定して定期的に帳票生成サーバ104へ帳票データ情報の取得を行う。S5.3.1の応答に変換インデックスファイルURLが含まれる場合、Webブラウザ321は、S5.3.1を終了する。Webブラウザ321は、変換インデックスファイルURLに定期的にアクセスしてファイルのダウンロードを開始する。このときWebブラウザ321が取得する変換インデックスファイルの内容は、帳票生成サーバ104で並列に行われているオーバレイ処理の進捗によって、前述の図4の400~430の何れかの状態となる。
S5.4.1において、「dataList」にURLが存在した場合(410、420、430)、Webブラウザ321は、そのデータURLからWeb帳票文書(S5.4.3~S5.4.5)をダウンロードする。続けて、DOMを介してWeb帳票閲覧画面のHTMLに対して帳票を表示するための要素を追加する。Webブラウザ321は、DOMを介して帳票を表示するための要素が追加されたHTML400を読み込み、Web帳票閲覧画面を表示。
図7(a)は、帳票をダウンロードし、DOMを介してダウンロードした帳票をHTMLに対して追加するJavaScriptの一例である。JavaScriptはWebブラウザ321が実行することにより、そのプログラムに記述された処理が実行される。図7(a)の場合、Webブラウザ321は、SVG形式の帳票(コンテンツを示すデータ)をダウンロードし、Webブラウザ321のキャッシュ領域(不図示)に保存し、保存したデータをURLに変換し、そのURLをHTMLに追加することになる。その変化の状態を示したのが図8である。図8(a)はWeb帳票閲覧プログラムをダウンロードした際に取得したHTMLを示している。図8(b)はJavaScriptを実行することで、HTMLに帳票を表示するための要素を追加したHTML(更新後のHTML)を示している。801はWeb帳票閲覧プログラムに含まれるHTMLである。802はHTMLが利用するCSSファイルのパスを指定している。803は実行するJavaScriptを指定している。HTMLを読み込んだ際にこのJavaScriptを実行することで、HTMLへの帳票のDOM追加が行われる。その結果、804が示すように帳票のパスが挿入されることになる。このURLは上述したキャッシュ領域に保存された帳票のURLである。Webブラウザ321は、変換インデックスファイルの処理完了フラグ「end」がtrueとなった時点(430)でS5.4.1を終了する。
(Web帳票プレビュー終了のフローチャート)
図9は、クライアント端末102のWebブラウザ321が一定期間操作されなかったときにWeb帳票のプレビューを終了させるWeb帳票文書非表示処理の一例を示すフローチャートである。Web帳票文書非表示処理は、Webブラウザ321がWeb帳票閲覧プログラムを帳票生成サーバ104から取得することによって開始される。図9の処理は、表示制御処理の一例である。
S901において、Web帳票閲覧プログラムは、定期的にユーザーが最後に操作してから一定時間経過したかの判定を行う。Web帳票閲覧プログラムは、ユーザーが操作を行うたびに最終操作日時の情報を保持し、判定の際に現在時刻と最終操作日時の差分を計算し一定時間経過したか否かの判定を行う。一定時間経過したと判定した場合は、Web帳票閲覧プログラムは、S902に進む。一定時間経過していないと判定した場合は、Web帳票閲覧プログラムは、S901に進む。
S902において、Web帳票閲覧プログラムは、帳票生成サーバ104に対してWeb帳票削除リクエストを行う。このとき、Web帳票閲覧プログラムは、S5.1.4で受け取ったオーバレイIDをリクエストに含める。帳票生成サーバ104は、帳票削除リクエストを受信すると、リクエストに含まれるオーバレイIDを取得する。帳票生成サーバ104のWeb帳票削除部344は、ストレージ345から変換インデックスファイルURLを取得し、対象のWeb帳票文書の削除を行う。更に、Web帳票削除部344は、オーバレイIDと変換インデックスファイルURLの紐付けを行う帳票データ情報の削除も行う。
S903において、Web帳票閲覧プログラムは、ウィンドウクローズができるか判定する。例えば、Web帳票閲覧プログラムは、WebブラウザのWindowオブジェクトのhistoryプロパティの情報を利用した判定を行ってもよい。ウィンドウがクローズできると判定した場合は、Web帳票閲覧プログラムは、S904へ進む。ウィンドウがクローズできないと判定した場合は、Web帳票閲覧プログラムは、S905へ進む。なお、ウィンドウクローズの判定をせずウィンドウクローズを実行し、ウィンドウがクローズされなかった場合にS905以降の処理を実行するような構成でもよい。
S904において、Web帳票閲覧プログラムは、ウィンドウクローズを行う。図7(b)は、ウィンドウをクローズするためのJavaScriptである。ウィンドウがクローズされることにより一定時間放置されたWeb帳票は閲覧することができなくなる。
S905において、Web帳票閲覧プログラムは、Web帳票を非表示にするためDOM要素の削除を行う。図7(c)は、DOMを介してHTMLから帳票を表示するための要素を削除するためのJavaScriptである。本実施形態では、図7(c)に示すスクリプトを用いて、図7(a)で説明した処理によりHTMLに追加した帳票を表示するための各要素をHTMLから削除するよう制御する。このように、DOMを介して帳票の表示に必要な要素を削除することでウィンドウクローズができなかった場合でも一定時間放置されたWeb帳票を閲覧できない状態に更新することができる。
S906において、Web帳票閲覧プログラムは、Webブラウザ上にメッセージダイアログを表示する。図8(c)ではS905、S906が実行されたことにより変化したHTMLを示している。S905によりWeb帳票がブラウザ上から削除され、S906によりメッセージダイアログ805が追加されている。
実施形態1によれば、クライアント端末102のWebブラウザ321でセキュリティレベルの高い文書を表示する場合において、Web帳票閲覧プログラムは、一定時間操作がないことを判定し、Web帳票を非表示にする。このことでタブレット等、クライアントがWeb帳票を表示されたまま放置された場合であっても情報の漏洩を防ぐことができる。
(変形例1)
実施形態1ではクライアント端末102で一定時間ユーザー操作がなかった場合に、Web帳票閲覧プログラムが帳票生成サーバ104に対してストレージサーバ105で保持されているWeb帳票文書の削除を行っている。一定時間操作がなかったWeb帳票のリソースの再取得を防ぐことは、リソース削除以外にアクセストークンを用いることで実現可能である。
変形例1について説明する。なお、実施形態1と共通の部分については説明を省略し、以下では差異部分について説明する。
図5において、帳票生成サーバ104は、帳票生成リクエストを受信すると帳票情報管理部342がオーバレイIDを発行して帳票データ情報に登録する。更に、S5.1.3において、帳票情報管理部342がアクセストークンを発行し、リクエストに対する応答としてオーバレイIDとアクセストークンを返す。アクセストークンの発行、削除、アクセストークンを利用したアクセスの処理については、説明を省略する。
S5.1.4において、業務サーバ103は、クライアント端末102のWebブラウザ321に対してオーバレイIDとアクセストークンを返す。
S5.1.4でオーバレイIDとアクセストークンを受け取った後、S5.3.1において、クライアント端末102のWebブラウザ321は、そのオーバレイIDとアクセストークンを利用して定期的に帳票生成サーバ104へ帳票データ情報の取得を行う。
図9のS902において、Web帳票閲覧プログラムは、帳票生成サーバ104に対してWeb帳票削除リクエストを行う。このとき、Web帳票閲覧プログラムは、S5.1.4で受け取ったオーバレイIDとアクセストークンをリクエストに含める。帳票生成サーバ104は、帳票削除リクエストを受信すると、リクエストに含まれるオーバレイIDを取得する。帳票生成サーバ104のWeb帳票削除部344は、ストレージ345から変換インデックスファイルURLを取得し、対象のWeb帳票文書の削除を行う。更に、Web帳票削除部344は、オーバレイIDと変換インデックスファイルURLの紐付けを行う帳票データ情報の削除とアクセストークンの無効化も行う。
変形例1によれば、帳票生成サーバ104がアクセストークンを発行し、帳票削除リクエスト受信時に該当のアクセストークンを無効化することでWeb帳票のリソース再取得を防ぐことができる。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給する。そして、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
以上、上述した実施形態等によれば、セキュリティレベルの高い電子文書がタブレット等のWebブラウザに表示し放置された場合であっても、一定期間操作がない場合にWebブラウザ上の電子文書を非表示にすることができる。更に、一定期間操作がない場合に、サーバ上のリソースの削除を行うことができるため、Webページのリロード等が行われたとしても、電子文書の再取得を行えないようになる。したがって、情報の漏洩を防ぐことができる。
102 クライアント端末
201 CPU
321 Webブラウザ

Claims (8)

  1. サーバから取得したWebデータに基づく画面を表示するWebブラウザを有する装置のコンピュータによって実行されるプログラムであって、
    前記プログラムは、
    前記Webブラウザ上に表示された前記画面に対して一定時間ユーザによる操作がないか判定する第1の判定工程と、
    前記Webブラウザ上に表示された前記画面が、前記プログラムによってクローズできるか否かを判定する第2の判定工程と、
    前記Webブラウザ上に表示された前記画面に対して一定時間ユーザによる操作がないと前記第1の判定工程において判定し、かつ、前記Webブラウザ上に表示された前記画面が前記プログラムによってクローズできないと前記第2の判定工程で判定した場合に、DOM(Document Object Model)を介して、前記Webブラウザ上に表示された前記画面に対応するWebデータから特定のコンテンツに関する要素を削除して、前記Webブラウザ上に表示された前記画面を前記特定のコンテンツを含まない画面で更新するように制御する第1の制御工程と、
    を有することを特徴とするプログラム。
  2. 前記プログラムは、
    前記Webブラウザ上に表示された前記画面に対して一定時間ユーザによる操作がないと前記第1の判定工程において判定し、かつ、前記Webブラウザ上に表示された前記画面が前記プログラムによってクローズできると前記第2の判定工程で判定した場合に、前記Webブラウザ上に表示された前記画面をクローズするように制御する第2の制御工程を、
    前記コンピュータに更に実行させることを特徴とする請求項1に記載のプログラム。
  3. 前記プログラムは、前記Webブラウザ上に表示された前記画面に対して一定時間ユーザによる操作がない場合、前記サーバに対して、前記Webデータの削除を要求する要求工程を、前記コンピュータに更に実行させることを特徴とする請求項1に記載のプログラム。
  4. 前記プログラムは、前記Webブラウザ上に表示された前記画面を前記特定のコンテンツを含まない画面で更新するように前記第1の制御工程で制御した場合、一定時間操作がなかったために前記特定のコンテンツの表示を終了したことを示す情報を前記Webブラウザ上に表示するように制御する第3の制御工程を、前記コンピュータに更に実行させることを特徴とする請求項1乃至3の何れか1項に記載のプログラム。
  5. 前記プログラムは、前記Webデータの送信元のサーバから送信されるスクリプトであり、前記スクリプトは、前記Webブラウザのスクリプトエンジンを介して実行されることを特徴とする請求項1乃至4の何れか1項に記載のプログラム。
  6. 請求項1乃至5の何れか1項に記載のプログラムと、前記Webデータとを、前記装置に対して提供する提供手段を有することを特徴とするサーバ。
  7. 外部装置のWebブラウザ上に表示される画面のWebデータと、プログラムとを、前記外部装置に提供する装置が実行する提供方法であって、
    前記プログラムは、前記外部装置のコンピュータに、
    前記Webブラウザ上に表示された前記画面に対して一定時間ユーザによる操作がないか判定する工程と、
    前記Webブラウザ上に表示された前記画面が、前記プログラムによってクローズできるか否かを判定する工程と、
    前記Webブラウザ上に表示された前記画面に対して一定時間ユーザによる操作がないと判定し、かつ、前記Webブラウザ上に表示された前記画面が前記プログラムによってクローズできると判定した場合、前記Webブラウザ上に表示された前記画面をクローズするように制御する工程と、
    前記Webブラウザ上に表示された前記画面に対して一定時間ユーザによる操作がないと判定し、かつ、前記Webブラウザ上に表示された前記画面が前記プログラムによってクローズできないと判定した場合、DOM(Document Object Model)を介して、前記Webブラウザ上に表示された前記画面に対応するWebデータから特定のコンテンツに関する要素を削除して、前記Webブラウザ上に表示された前記画面を前記特定のコンテンツを含まない画面で更新するように制御する工程と、
    を実行させるためのプログラムであることを特徴とする提供方法。
  8. サーバから取得したWebデータに基づく画面を表示するWebブラウザを有する装置のコンピュータによって実行されるプログラムであって、
    前記プログラムは、
    前記Webブラウザ上に表示された前記画面に対して一定時間ユーザによる操作がないか判定する第1の判定工程と、
    前記Webブラウザ上に表示された前記画面に対して一定時間ユーザによる操作がないと前記第1の判定工程において判定した場合に、DOM(Document Object Model)を介して、前記Webブラウザ上に表示された前記画面に対応するWebデータから特定のコンテンツに関する要素を削除して、前記Webブラウザ上に表示された前記画面を前記特定のコンテンツを含まない画面で更新するように制御する第1の制御工程と、
    前記Webブラウザ上に表示された前記画面を前記特定のコンテンツを含まない画面で更新するように前記第1の制御工程で制御した場合、一定時間操作がなかったために前記特定のコンテンツの表示を終了したことを示す情報を前記Webブラウザ上に表示するように制御する第2の制御工程と、
    を有することを特徴とするプログラム。
JP2019151202A 2019-08-21 2019-08-21 プログラム、サーバ及び提供方法 Active JP7379019B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019151202A JP7379019B2 (ja) 2019-08-21 2019-08-21 プログラム、サーバ及び提供方法
US16/986,333 US11630879B2 (en) 2019-08-21 2020-08-06 Server and providing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019151202A JP7379019B2 (ja) 2019-08-21 2019-08-21 プログラム、サーバ及び提供方法

Publications (3)

Publication Number Publication Date
JP2021033513A JP2021033513A (ja) 2021-03-01
JP2021033513A5 JP2021033513A5 (ja) 2022-08-30
JP7379019B2 true JP7379019B2 (ja) 2023-11-14

Family

ID=74645805

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019151202A Active JP7379019B2 (ja) 2019-08-21 2019-08-21 プログラム、サーバ及び提供方法

Country Status (2)

Country Link
US (1) US11630879B2 (ja)
JP (1) JP7379019B2 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150161277A1 (en) 2011-03-14 2015-06-11 Browsium, Inc. Methods and systems for one browser version to use a rendering engine of another browser version for displaying information

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002215574A (ja) 2001-01-18 2002-08-02 Nippon Telegr & Teleph Corp <Ntt> 期限付き情報管理装置、方法、及びそのプログラムを記録した記録媒体
US8341529B1 (en) * 2008-03-28 2012-12-25 Amazon Technologies, Inc. Dynamically modifying displayed information
KR101064201B1 (ko) * 2010-07-27 2011-09-14 주식회사 파수닷컴 웹 데이터의 권한 관리 장치, 웹 데이터의 권한 관리 방법을 컴퓨터에서 실행시키기 위한 기록매체, 그리고 권한 관리 정보 제공 장치 및 방법
US20170154017A1 (en) * 2014-05-08 2017-06-01 Telefonaktiebolaget Lm Ericsson (Publ) Web Application Management
US20180322199A1 (en) * 2017-05-08 2018-11-08 Propellum Infotech Pvt. Ltd. Optimizing the allocation of jobs on job portal

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150161277A1 (en) 2011-03-14 2015-06-11 Browsium, Inc. Methods and systems for one browser version to use a rendering engine of another browser version for displaying information

Also Published As

Publication number Publication date
JP2021033513A (ja) 2021-03-01
US11630879B2 (en) 2023-04-18
US20210056232A1 (en) 2021-02-25

Similar Documents

Publication Publication Date Title
JP4208081B2 (ja) 複数のウェブサイトにパーソナライズされた価値を追加するためのシステム、ウェブサーバ、方法およびプログラム
US10353999B2 (en) Information processing system, server apparatus, control method, and storage medium
US20120050793A1 (en) Network printing system, client terminal, and printing method
US20160283606A1 (en) Method for performing webpage loading, device and browser thereof
US7840650B2 (en) Sharing of digital media on a network
JP5385373B2 (ja) ビューアクライアントにおける文書の高忠実度レンダリング
US20150193108A1 (en) Drag and Drop Downloading of Content Referenced by Displayed Elements
US10572546B2 (en) Information processing apparatus, document display method, document display system, and medium
US20140281859A1 (en) Enhanced mobilization of existing web sites
KR20100023928A (ko) 텍스트 정보를 활용하는 전자 서적 서비스 제공 방법 및 그 시스템
US20140281914A1 (en) Information processing system, information processing device, and information processing method
US10346531B2 (en) Information processing system, information processing apparatus, control method, and storage medium
US9294538B1 (en) Dynamic content injection
JP2013054435A (ja) 画像処理装置及びその制御方法、並びにプログラム
US10817646B2 (en) Information processing system and control method therefor
US10885408B2 (en) Document generation system, method of controlling the same, and non-transitory computer readable medium
JP5393242B2 (ja) データ提供方法および中間サーバ装置
JP7379019B2 (ja) プログラム、サーバ及び提供方法
JP6303390B2 (ja) 印刷装置、印刷システム及びプログラム
JP2009163412A (ja) 情報処理装置および方法
JP2009026013A (ja) コンテンツ登録・提供装置、コンテンツ登録・提供制御方法、および、コンテンツ登録・提供制御プログラム
JP2011232833A (ja) 帳票作成装置、帳票システム、帳票作成方法およびプログラム
US20230306189A1 (en) Information processing apparatus, non-transitory computer readable medium storing program, and information processing method
US11568002B2 (en) Information processing apparatus and non-transitory computer readable medium
JP2008084015A (ja) ウェブページ閲覧プログラム及び入力フォーム編集装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220822

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220822

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230511

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230530

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230706

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231003

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231101

R151 Written notification of patent or utility model registration

Ref document number: 7379019

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231213