JP2016105271A - ウェブアプリケーション実行システム、スマートデバイス、ウェブアプリケーション実行方法、およびプログラム - Google Patents

ウェブアプリケーション実行システム、スマートデバイス、ウェブアプリケーション実行方法、およびプログラム Download PDF

Info

Publication number
JP2016105271A
JP2016105271A JP2015219475A JP2015219475A JP2016105271A JP 2016105271 A JP2016105271 A JP 2016105271A JP 2015219475 A JP2015219475 A JP 2015219475A JP 2015219475 A JP2015219475 A JP 2015219475A JP 2016105271 A JP2016105271 A JP 2016105271A
Authority
JP
Japan
Prior art keywords
data
web
browser
web application
application
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.)
Pending
Application number
JP2015219475A
Other languages
English (en)
Inventor
コリンズ・ベンジャミン
Collins Benjamin
恒生 小川
Tsuneo Ogawa
恒生 小川
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.)
WEB SERVICE DEV Inc
WEB SERVICE DEVELOPMENT Inc
Original Assignee
WEB SERVICE DEV Inc
WEB SERVICE DEVELOPMENT 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 WEB SERVICE DEV Inc, WEB SERVICE DEVELOPMENT Inc filed Critical WEB SERVICE DEV Inc
Publication of JP2016105271A publication Critical patent/JP2016105271A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】スマートデバイスのブラウザ上でウェブアプリケーションを実行する際に、顧客情報の漏えいを防止する。【解決手段】まず、店舗11内で、ローカルデータベース6から無線LAN9を介してスマートホン10のローカルストレージ13に顧客情報を取り込む。次に、店舗11外で、この顧客情報をスマートホン10のブラウザ上でウェブアプリケーションに取り込んで表示する。これにより、ウェブアプリケーションに取り込んで利用する顧客情報は、インターネット3上を流れることなく、ローカルデータベース6から無線LAN9を介してスマートホン10のローカルストレージ13に取り込まれる。その結果、物理的にデバイスまたはローカルネットワークにアクセスできないとハッキングできないので、顧客情報の漏えいを未然に防止することが可能となる。【選択図】図1

Description

本発明は、例えば、特に多数の顧客を抱えた企業の外勤従業員(例えば、銀行の外商業務の担当者、家電販売会社の地域店の外回り営業マンなど)が、スマートホンやタブレット型端末などのスマートデバイス等を用いて店舗外で営業活動を行う際に適用するのに好適なウェブアプリケーション実行システムおよびウェブアプリケーション実行方法等に関するものである。
これまで、企業の外勤従業員は、店舗外での営業活動においてインターネットに接続するのはセキュリティリスクがあるため、外部への持ち運び装置としてクレードル端末を利用していた。このクレードル端末は、顧客情報の漏えいを防ぐためにインターネットに接続せずに業務を行う仕掛けとなっている。そのため、USB経由で本体とクレードル端末のデータ送受信を行っていた。すなわち、店舗外で営業活動をする前に、店舗内で本体からクレードル端末にUSB経由でデータを送信し、また、店舗外から店舗内に戻ると、店舗内でクレードル端末から本体にUSB経由でデータを送信する(例えば、特許文献1参照)。
また、ウェブアプリケーションのクロスサイトスクリプティングに対するセキュリティは、同一生成元ポリシー(Same-origin policy)によって、ある生成元から読み込まれた文書やスクリプトが、異なる生成元からの文書のプロパティを取得したり設定したりするのを防ぐ(非特許文献1参照)。そして、この同一生成元ポリシーはウェブサーバの設定で行う。
また、ウェブアプリケーションとネイティブアプリケーションとは大きく異なる。その両アプリの差異を非特許文献2に示す。また、非特許文献2において、特に、ウェブアプリケーションは、従来技術において、オフライン対応できない。つまり、通常、インターネットに接続された状態で、ウェブアプリケーションを利用しなければならない。従って、ウェブアプリケーションで、機密性の高い情報(例えば、後述する個人情報)を使用する(表示、加工など)ことは危険である。一方、ネイティブアプリケーションは、オフライン対応可能である。従って、機密性の高い情報は、通常、ネイティブアプリケーションで使用される。なお、ネイティブアプリケーションについては、アプリケーション配信元の審査を経て登録する必要がある。ネイティブアプリケーションソフトをアップデートするには、アプリケーション配信元の再審査が必要であり、加えてユーザのアップデート操作が必要である。
特開2008−16047号公報
"同一生成元ポリシー"、[online]、[平成27年10月31日検索]、インターネット[URL:https://developer.mozilla.org/ja/docs/Web/JavaScript/Same_origin_policy_for_JavaScript] アシアル株式会社 田中正裕、"ハイブリッドアプリ開発最前線から見たHTML5の理想と現実"(P14)、[online]、[平成27年10月31日検索]、インターネット[URL:http://www.slideshare.net/monaca_mobi/html5-16559044?related=2]
近年、クレードル端末はスマートデバイスに置き換わりつつあるところ、このスマートデバイスではUSB経由でデータの送受信を行わない。これに加えて、USBに取り付くコンピューターウイルスが報告されており、USBのセキュリティが問題となっている(例えば、インターネットのサイト<URL:https://srlabs.de/blog/wp-content/uploads/2014/07/SRLabs-BadUSB-BlackHat-v1.pdf>参照)。そのため、USB経由の送受信に代わる方法が望まれていた。
また、ウェブアプリケーションというソフトウェア資源を有効に利用して、機密性の高い情報をハンドリングすることはできなかった。
本発明は、このような事情に鑑み、顧客情報などの機密性の高いデータはインターネットを経由せずに利用することが可能なウェブアプリケーション実行システムおよびウェブアプリケーション実行方法を提供することを目的とする。
かかる目的を達成するため、第一の発明は、スマートデバイスのブラウザ上でウェブアプリケーションを実行するアプリケーション実行手段と、ローカルデータベースからローカルエリアネットワークを介して前記スマートデバイスのローカルストレージにデータを取り込むデータ取得手段と、このデータ取得手段によって取り込まれたデータを前記スマートデバイスのブラウザ上で当該データと関連するウェブアプリケーションに取り込んで表示するデータ取込手段とを有するウェブアプリケーション実行システムとしたことを特徴とする。
また、第二の発明は、第一の発明の構成に加え、前記データ取得手段は、前記ローカルデータベースからウェブソケットサーバを経由して前記ローカルストレージに前記データを取り込むことを特徴とする。
また、第三の発明は、第二の発明の構成に加え、前記ローカルストレージに格納されているデータが更新された場合に、当該更新後のデータを前記ウェブソケットサーバに送信するデータ更新手段をさらに有する。
また、第四の発明は、データが個人情報であることを特徴とする。
さらに、第五の発明は、スマートデバイスのブラウザ上でウェブアプリケーションを実行する際に、ローカルデータベースからローカルエリアネットワークを介して前記スマートデバイスのローカルストレージにデータを取り込むデータ取得工程と、前記データ取得工程で取り込まれたデータを前記スマートデバイスのブラウザ上で当該データと関連するウェブアプリケーションに取り込んで表示するデータ取込工程とを含むウェブアプリケーション実行方法としたことを特徴とする。
第一、第五の発明によれば、スマートデバイスのブラウザ上でウェブアプリケーションを実行する際に、このウェブアプリケーションに取り込んで利用するデータは、インターネット上を流れることなく、ローカルデータベースからローカルエリアネットワークを介してスマートデバイスのローカルストレージに取り込まれ、物理的にデバイスまたはローカルネットワークにアクセスできないとハッキング(アタック)できないので、データの漏えいを未然に防止することが可能となる。
また、第二の発明によれば、データの取得がウェブソケットサーバを経由して行われるので、スマートデバイスによるデータの送受信を円滑に実行することができる。
また、第三の発明によれば、スマートデバイスでのデータの更新を、ローカルデータベースに容易に反映できる。
また、第四の発明によれば、データが個人情報であるため、個人の利益や権利を適切に保護するとともに、個人情報を扱う企業の信用を維持することが可能となる。
本発明の実施の形態1に係るウェブアプリケーション実行システムの構成図 同スマートホンのデータ送受信画面を示す図 同ウェブアプリケーション実行方法のシーケンス図 同スマートホンのウェブアプリケーション実行画面を示す図 本発明の実施の形態2に係るウェブアプリケーション実行システムの構成図 同スマートホンのウェブアプリケーション実行画面を示す図 本発明の実施の形態3に係るスマートデバイス10の構成図 同スマートデバイス10の動作例について説明するフローチャート 同スマートデバイス10の動作例について説明するフローチャート 同スマートデバイス10の動作例について説明するフローチャート 上記実施の形態におけるスマートデバイス10のブロック図
以下、本発明の実施の形態について説明する。
[発明の実施の形態1]
図1乃至図4には、本発明の実施の形態1を示す。
実施の形態1に係るウェブアプリケーション実行システム1は、図1に示すように、クラウドアプリケーションサーバ2、インターネット3、ルータ5、ローカルデータベース6、ウェブソケットサーバ7、ローカルの無線LAN(ローカルエリアネットワーク)9およびスマートホン(スマートデバイス)10から構成されている。
ここで、クラウドアプリケーションサーバ2は、例えば、地図を表示するアプリケーションおよび顧客情報を編集するアプリケーションを提供するものであり、図1に示すように、インターネット3に接続されている。また、ルータ5、ローカルデータベース6、ウェブソケットサーバ7および無線LAN9は、例えば、企業の店舗11内に設置されており、ローカルデータベース6、ウェブソケットサーバ7および無線LAN9は、互いに接続されているとともに、ルータ5を介してインターネット3に接続されている。ローカルデータベース6には、例えば、企業の顧客ごとに顧客情報(顧客の氏名・生年月日・性別・住所・勤務先・家族構成・商品購入履歴・サービス利用履歴など)が読み書き自在に格納されている。なお、顧客情報は、個人情報と言っても良い。
また、ウェブソケットサーバ7とは、ウェブソケット(通信規格)を用いて、スマートデバイス10のウェブブラウザと双方向に通信可能なウェブサーバであり、ここでは、スマートホン10のウェブブラウザとローカルデータベース6とのデータの送受信を仲介するウェブサーバである。このウェブソケット(WebSocket)は、XMLHttpRequestの欠点を解決する技術として開発されており、現在のComet等に取って代わることを目標とする、ユーザのブラウザとサーバ間でインタラクティブな通信セッションを開くことを可能にする技術である(非特許文献1参照)。
つまり、本発明のポイントは、同一生元ポリシーに沿ったウェブアプリケーションにおいて、ウェブソケットでのデータの送受信を利用して、データをスマートデバイス内に保存して、そのデータをアプリケーションで利用することである。すなわち、ローカルデータベース6に存在するデータの機密性を担保しながら、当該データを使用するアプリケーションは、ネイティブで作らないと実現できないと思われていたが、ウェブアプリケーション実行システム1は、ウェブソケットという技術で実現可能であることの新たな知見を得て、構成されたものである。
さらに、スマートホン10は、図1に実線で示すように、店舗11内で無線LAN9に接続できるとともに、図1に二点鎖線で示すように、店舗11外でインターネット3に接続できるようになっている。このスマートホン10は、CPU(後述するアプリケーション実行手段、データ取得手段、データ取込手段、データ更新手段の機能を実現する。)12およびローカルストレージ13を有しており、ブラウザ(ホームページ閲覧ソフトウェア)がインストールされているとともに、例えば、GPS(全地球測位システム)機能を備えている。なお、スマートホン10は、スマートデバイスと言っても良い。
ウェブアプリケーション実行システム1は以上のような構成を有するので、企業の外勤従業員などのユーザがスマートホン10を用いて店舗11の内外で営業活動を行う際には、例えば、次の手順に従って、スマートホン10のブラウザ上で地理情報表示ソフトウェア(ウェブアプリケーション)を実行する。
すなわち、ユーザは、まず店舗11内において、図1に実線で示すように、スマートホン10を無線LAN9に接続した状態で、スマートホン10を操作してデータ取得動作を実行する。これを受けてスマートホン10のCPU12は、データ取得工程で、ローカルデータベース6からウェブソケットサーバ7を経由して無線LAN9を介してスマートホン10のローカルストレージ13に顧客情報を取り込む。その後、ユーザは、店舗11外において、図1に二点鎖線で示すように、スマートホン10をインターネット3に接続した状態で、スマートホン10を操作してデータ取込動作を実行する。これを受けてスマートホン10のCPU12は、データ取込工程で、この顧客情報をスマートホン10のブラウザ上で地理情報表示ソフトウェアに取り込んで表示する。
以下、この手順の具体例について、図2〜図4を用いて説明する。
まず、ユーザは、店舗11内でスマートホン10を無線LAN9に接続する。この状態で、図2に示すように、スマートホン10を操作してブラウザ8を起動し、ブラウザ8上でウェブアプリケーションURLを入力する(図3の「200ウェブアプリケーションURLの入力」参照)。すると、ブラウザ8からクラウドアプリケーションサーバ2にアプリケーションページのリクエストが送信され(図3の「210アプリケーションページのリクエスト」参照)、これを受けてクラウドアプリケーションサーバ2からブラウザ8にアプリケーションページのレスポンスが返信される(図3の「220アプリケーションページのレスポンス」参照)。すると、図4に示すように、ブラウザ8上で地理情報表示ソフトウェアが起動し、スマートホン10のGPS機能により、スマートホン10の位置(つまり、ユーザの居場所)に対応した地理情報がブラウザ8上に表示される。
その後、ユーザは、ブラウザ8上でインポート・エクスポートUIを呼び出し(図3の「230インポート・エクスポートUIの呼び出し」参照)、ウェブソケットサーバURLを入力する(図3の「240ウェブソケットサーバURLの入力」参照)。すると、図2に示すように、ブラウザ8上にデータ送受信画面15が表示される。そこで、ユーザは、ローカルデータベース6に保存された顧客情報をブラウザ8に呼び出すべく、データ送受信画面15上のインポートボタン17を押す(図3の「250インポートボタンを押す」参照)。
すると、ウェブソケットサーバ7を開く旨のハンドシェイクリクエストがブラウザ8からウェブソケットサーバ7に送信し(図3の「260ウェブソケットサーバを開くハンドシェイクリクエスト」参照)、これを受けてウェブソケットサーバ7を開く旨のハンドシェイクレスポンスがウェブソケットサーバ7からブラウザ8に返信される(図3の「270ウェブソケットサーバを開くハンドシェイクレスポンス」参照)。これで、ウェブソケットサーバ7が開いた状態になる。
この状態で、ブラウザ8からウェブソケットサーバ7に顧客情報のリクエストが送信される(図3の「280データのリクエスト」参照)。すると、ウェブソケットサーバ7からローカルデータベース6に顧客情報のクエリが送信され(図3の「290データのクエリ」参照)、これを受けてローカルデータベース6からウェブソケットサーバ7に顧客情報のレスポンスが返信される(図3の「300データのレスポンス」参照)。すると、ウェブソケットサーバ7からブラウザ8に顧客情報のレスポンスが返信される(図3の「310データのレスポンス」参照)。
その後、ウェブソケットサーバ7を閉じる旨のハンドシェイクリクエストがブラウザ8からウェブソケットサーバ7に送信し(図3の「320ウェブソケットサーバを閉じるハンドシェイクリクエスト」参照)、これを受けてウェブソケットサーバ7を閉じる旨のハンドシェイクレスポンスがウェブソケットサーバ7からブラウザ8に返信する(図3の「330ウェブソケットサーバを閉じるハンドシェイクレスポンス」参照)。これで、ウェブソケットサーバ7が閉じた状態になる。
次に、ウェブソケットサーバ7が閉じた状態になったブラウザ内でウェブソケットサーバ7から受信したデータをスマートデバイス10のローカルストレージ13に保存する(図3の「340データをローカルストレージに保存」参照)。
次に、ユーザは、スマートホン10を携えて店舗11外に移動し、このスマートホン10をインターネット3に無線または有線で接続する。すると、ブラウザ8は現在の位置情報を元に地図サーバから地図情報のみを取得するリクエストを出して、受け取った地図を表示し、併せてピン19を表示する。なお、地図情報を取得し、地図やピンを表示する処理は、ウェブアプリケーションにより実現される公知の技術であるので、詳細な説明は省略する。そして、ユーザがブラウザ8上でピン19をクリック(タップ)すると、図4に示すように、このピン19の場所に対応した顧客情報がブラウザ8上の地理情報に重なる形でインラインフレーム16内に表示される。
そこで、ユーザは、必要に応じて、ブラウザ8上で顧客情報を更新(追加・削除・変更)する(図3の「350操作によりデータの更新」参照)。すると、この更新された顧客情報はローカルストレージ13に保存する(図3の「360更新したデータをローカルストレージに保存」参照)。
その後、ユーザは、スマートホン10を携えて店舗11に戻り、店舗11内でスマートホン10を無線LAN9に接続する。この状態でスマートホン10を操作してブラウザ8を起動し、ブラウザ8上でインポート・エクスポートUIを呼び出し(図3の「370インポート・エクスポートUIの呼び出し」参照)、ウェブソケットサーバURLを入力する(図3の「380ウェブソケットサーバURLの入力」参照)。すると、図2に示すように、ブラウザ8上にデータ送受信画面15が表示される。そこで、ユーザは、店舗11外で更新した顧客情報をローカルデータベース6に保存すべく、データ送受信画面15上のエクスポートボタン18を押す(図3の「390エクスポートボタンを押す」参照)。
すると、ウェブソケットサーバ7を開く旨のハンドシェイクリクエストがブラウザ8からウェブソケットサーバ7に送信し(図3の「400ウェブソケットサーバを開くハンドシェイクリクエスト」参照)、これを受けてウェブソケットサーバ7を開く旨のハンドシェイクレスポンスがウェブソケットサーバ7からブラウザ8に返信する(図3の「410ウェブソケットサーバを開くハンドシェイクレスポンス」参照)。これで、ウェブソケットサーバ7が開いた状態になる。
この状態で、店舗11外で更新された顧客情報がローカルストレージ13から読み込まれてブラウザ8上に表示する(図3の「420更新したデータを読み込む」参照)。次に、この更新された顧客情報がブラウザ8からウェブソケットサーバ7に送信される(図3の「430更新したデータの送信」参照)。すると、ウェブソケットサーバ7からローカルデータベース6に更新された顧客情報が送信される(図3の「440データのクエリ」参照)。そして、ローカルデータベース6の顧客情報が更新される。次に、ローカルデータベース6からウェブソケットサーバ7に確認のレスポンスが返信される(図3の「450確認のレスポンス」参照)。すると、ウェブソケットサーバ7からブラウザ8に確認のレスポンスが返信される(図3の「460確認のレスポンス」参照)。
その後、ウェブソケットサーバ7を閉じる旨のハンドシェイクリクエストがブラウザ8からウェブソケットサーバ7に送信し(図3の「470ウェブソケットサーバを閉じるハンドシェイクリクエスト」参照)、これを受けてウェブソケットサーバ7を閉じる旨のハンドシェイクレスポンスがウェブソケットサーバ7からブラウザ8に返信する(図3の「480ウェブソケットサーバを閉じるハンドシェイクレスポンス」参照)。これで、ウェブソケットサーバ7が閉じた状態になる。
最後に、更新された顧客情報はローカルストレージ13から削除される(図3の「490更新したデータをローカルストレージから削除」参照)。
ここで、地理情報表示ソフトウェアの実行が終了し、スマートホン10を用いた営業活動が終了する。
このように、スマートホン10のブラウザ8上で地理情報表示ソフトウェアを実行する際に、この地理情報表示ソフトウェアに取り込んで利用する顧客情報は、インターネット3上を流れることなく、ローカルデータベース6から無線LAN9を介してスマートホン10のローカルストレージ13に取り込まれる。したがって、地理情報表示ソフトウェアの実行に際して、悪意を持つ第三者が不正に地理情報表示ソフトウェアにアクセスできたとしても、顧客情報はクラウドではなくスマートホン10に入っているので、顧客情報の漏えいを未然に防止することができる。その結果、顧客の利益や権利を適切に保護するとともに、顧客情報を扱う企業の信用を維持することが可能となる。
また、顧客情報の取得がウェブソケットサーバ7を経由して行われるので、スマートホン10による顧客情報の送受信を円滑に実行することができる。
さらに、顧客情報が更新された場合でも、その更新された顧客情報がローカルデータベース6から無線LAN9を介してスマートホン10のローカルストレージ13に取り込まれるので、更新する際は物理的にデバイスまたはローカルネットワークにアクセスできないとハッキングできないので、顧客情報の漏えいを未然に防止することが可能となる。
[発明の実施の形態2]
図5および図6には、本発明の実施の形態2を示す。
実施の形態2に係るウェブアプリケーション実行システム1では、クラウドアプリケーションサーバ2が提供する2つのアプリケーション(地図を表示するアプリケーションおよび顧客情報を編集するアプリケーション)を別個のサーバから提供するように構成されている。すなわち、このウェブアプリケーション実行システム1では、図5に示すように、地図を表示するアプリケーションを提供する第1のクラウドアプリケーションサーバ2Aおよび顧客情報を編集するアプリケーションを提供する第2のクラウドアプリケーションサーバ2Bがインターネット3に接続されている。その他の構成については、上述した実施の形態1と基本的に同様であるので、同一の部材については、同一の符号を付してその説明を省略する。
そして、この実施の形態2においても、上述した実施の形態1と同様、企業の外勤従業員などのユーザがスマートホン10を用いて店舗11の内外で営業活動を行う際には、次の手順に従って、スマートホン10のブラウザ上で地理情報表示ソフトウェア(ウェブアプリケーション)を実行する。
すなわち、ユーザは、まず店舗11内において、図5に実線で示すように、スマートホン10を無線LAN9に接続した状態で、スマートホン10を操作してデータ取得動作を実行する。これを受けてスマートホン10のCPU12は、データ取得工程で、ローカルデータベース6からウェブソケットサーバ7を経由して無線LAN9を介してスマートホン10のローカルストレージ13に顧客情報を取り込む。その後、ユーザは、店舗11外において、図5に二点鎖線で示すように、スマートホン10をインターネット3に接続した状態で、スマートホン10を操作してデータ取込動作を実行する。これを受けてスマートホン10のCPU12は、データ取込工程で、図6に示すように、この顧客情報をスマートホン10のブラウザ上で地理情報表示ソフトウェアに取り込み、ブラウザ8上の地理情報に重なる形でインラインフレーム16内に表示する。
したがって、この実施の形態2では、上述した実施の形態1と同じ作用効果を奏する。これに加えて、この実施の形態2では、上述したとおり、地図を表示するアプリケーションが第1のクラウドアプリケーションサーバ2Aから提供されるとともに、顧客情報を編集するアプリケーションが第2のクラウドアプリケーションサーバ2Bから提供される。このように、アプリケーション(機能)ごとにサーバが分離しているため、特に大規模なサービスの場合に、そのサービスの保守性を向上させることができる。
[発明のその他の実施の形態]
なお、上述した実施の形態1、2において、顧客情報を管理する際に、顧客IDをクラウド上に保管し、その顧客IDに紐付けされた形で顧客情報をローカルデータベース6に格納しても構わない。この場合も、地理情報表示ソフトウェアの実行に際して、ローカルデータベース6から無線LAN9を介してスマートホン10のローカルストレージ13に顧客情報を取り込むことにより、地理情報表示ソフトウェア上で顧客IDの漏えいがあるとしても、ローカルネットワークにアクセスまたはデバイスにアクセスできないと顧客IDに紐付けされた顧客情報は読み込めないので、顧客情報の漏えいを未然に防止することができる。なお、顧客IDに関しては、クラウド上に保管されて漏えいの危険にさらされることになるため、暗号化してクラウド上に保管することが望ましい。また、顧客IDに紐付けされた顧客情報が漏えいしない限り、顧客IDが漏えいしても大きな問題は生じない。
[発明の実施の形態3]
本実施の形態において、実施の形態1、2で説明したウェブアプリケーション実行システム1について、さらに詳細に説明する。
ウェブアプリケーション実行システム1は、上述したように、クラウドアプリケーションサーバ2、ローカルデータベース6、ウェブソケットサーバ7、スマートデバイス10を備える。
クラウドアプリケーションサーバ2は、1以上の各種のアプリケーションを提供するサーバ装置である。
ローカルデータベース6は、記録媒体を有する装置である。当該記録媒体は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。また、データベースは、リレーショナルデータベース、オブジェクト指向データバース、CSV形式のファイル等、その構造は問わない。
ウェブソケットサーバ7は、ウェブソケットを用いて、ここでは、スマートデバイス10上のウェブブラウザとローカルデータベース6との通信を可能にするためのサーバ装置である。なお、同一生元ポリシ―の元、スマートデバイス10上のウェブブラウザからローカルデータベース6のデータを受信するには、ウェブアクセスでの同一生元ポリシ―の制限を受けない通信が必要になるため、ウェブソケットサーバ7を用いている。
スマートデバイス10は、タブレット端末、携帯型パソコン、携帯電話、スマートウォッチ等を含む。つまり、スマートデバイスにおいて、ウェブソケットの通信が可能なブラウザを備えていれば端末の種類は問わない。
図7は、本実施の形態におけるウェブアプリケーション実行システム1を構成するスマートデバイス10の構成図である。
図7において、スマートデバイス10は、ローカルストレージ13、アプリケーション実行手段102、データ取得手段103、データ取込手段104、データ更新手段105を備える。
スマートデバイス10を構成するローカルストレージ13は、各種のデータやプログラムが格納され得る。各種のデータは、例えば、個人情報である。個人情報は、秘密性を担保されるべき情報であり、例えば、個人の住所、氏名、電話番号等である。また、プログラムとは、例えば、ブラウザのプログラムである。また、ローカルストレージ13は、ウェブソケットサーバ7のURLを格納していても良い。また、ローカルストレージ13は、アプリケーションを識別するアプリケーション識別子(例えば、アプリケーションページのURL)に対応付けて、ウェブソケットサーバ7のURLを格納していても良い。また、ローカルストレージ13は、アプリケーションを識別するアプリケーション識別子(例えば、アプリケーションページのURL)に対応付けて、ウェブソケットサーバ7のURLと、データの検索式とを格納していても良い。また、ローカルストレージ13は、ユーザを識別するユーザ識別子を格納していても良い。さらに、ローカルストレージ13は、受信されたウェブアプリケーションを格納していても良い。
ローカルストレージ13は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。ローカルストレージ13にデータが記憶される過程は問わない。例えば、記録媒体を介してデータがローカルストレージ13で記憶されるようになってもよく、通信回線等を介して送信されたデータがローカルストレージ13で記憶されるようになってもよく、あるいは、入力デバイスを介して入力されたデータがローカルストレージ13で記憶されるようになってもよい。
アプリケーション実行手段102は、クラウドアプリケーションサーバ2から受信されたウェブアプリケーションをブラウザ上で実行する。なお、ウェブアプリケーションの種類は問わない。
データ取得手段103は、データを格納しているローカルデータベース6からローカルエリアネットワークを介してローカルストレージ13にデータを取り込む。
データ取得手段103は、通常、ローカルデータベース6からウェブソケットサーバ7を経由してローカルストレージ13にデータを取り込む。
データ取込手段104は、データ取得手段103によって取り込まれたデータをブラウザ上でデータと関連するウェブアプリケーションに取り込んで表示する。
データ更新手段105は、ローカルストレージ13に格納されたデータに対する更新指示が受け付けられた場合、当該更新指示に従って、ローカルストレージ13内のデータを更新する。また、データ更新手段105は、ローカルストレージ13内の更新されたデータを、ウェブソケットを用いてウェブソケットサーバ7に送信する。なお、ウェブソケットサーバ7に送信された更新されたデータは、ローカルデータベース6に送信される。そして、ローカルデータベース6に、更新されたデータが蓄積される。つまり、スマートデバイス10上でのデータの更新は、ローカルデータベース6に反映される。
アプリケーション実行手段102、データ取得手段103、データ取込手段104、データ更新手段105は、通常、MPUやメモリ等から実現され得る。アプリケーション実行手段102等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
データ取得手段103は、通常、無線または有線の通信手段をも有する。
データ取込手段104は、ディスプレイ等のデータの表示手段をも有する。
次に、ウェブアプリケーション実行システム1を構成するスマートデバイス10の動作例について、図8のフローチャートを用いて説明する。
(ステップS801)スマートデバイス10の受付手段(図示しない)は、ウェブアプリケーションのURLを受け付けたか否かを判断する。ウェブアプリケーションのURLを受け付けた場合はステップS802に行き、ウェブアプリケーションのURLを受け付けない場合はステップS810に行く。
(ステップS802)アプリケーション実行手段102は、ステップS801で受け付けられたURLを含むリクエストであり、アプリページのリクエストをクラウドアプリケーションサーバ2に送信する。
(ステップS803)アプリケーション実行手段102は、クラウドアプリケーションサーバ2から、URLに対応するアプリページを受信したか否かを判断する。アプリページを受信した場合はステップS804に行き、アプリページを受信しない場合はステップS803に戻る。
(ステップS804)アプリケーション実行手段102は、ステップS803で受信されたアプリページを用いて、アプリを表示する。
(ステップS805)データ取得手段103は、ウェブソケットサーバ7にアクセスする。なお、ここで、データ取得手段103は、ウェブソケットサーバ7に自動的にアクセスしても良いし、ユーザの指示の受け付けによりアクセスしても良い。
(ステップS806)データ取得手段103は、ステップS804で表示されたアプリに対応するデータをウェブソケットサーバ7にリクエストする。なお、リクエストには、当該アプリを識別するアプリ識別子を含んでも良い。また、リクエストには、ユーザを識別するユーザ識別子を含んでも良い。また、アプリ識別子は、URLでも良いし、アプリケーション実行手段102がクラウドアプリケーションサーバ2から受信した情報でも良い。また、ユーザ識別子は、ローカルストレージ13に格納されていても良いし、受付手段が受け付けても良い。なお、リクエストにユーザ識別子を含む場合、データ取得手段103は、当該ユーザ識別子に対応するデータをリクエストすることは好適である。また、データ取得手段103は、アプリ識別子およびユーザ識別子に対応するデータをリクエストしても良い。また、本ステップにおいて、データ取得手段103は、自動的にウェブソケットサーバ7にリクエストしても良いし、ユーザの指示の受け付けによりリクエストしても良い。
(ステップS807)データ取得手段103は、ステップS806におけるリクエストの送信に応じて、データを受信したか否かを判断する。データを受信すればステップS808に行き、データを受信しなければステップS807に戻る。なお、データは、ローカルデータベース6に格納されていたデータであり、ウェブソケットサーバ7から受信されたデータである。
(ステップS808)データ取得手段103は、ウェブソケットサーバ7との接続をクローズする。
(ステップS809)データ取込手段104は、ブラウザに取り込まれたデータを、ローカルストレージ13に保存する。ステップS801に戻る。
(ステップS810)データ取込手段104は、スマートデバイス10がインターネットに接続されたか否かを判断する。インターネットに接続された場合はステップS810に行き、インターネットに接続されない場合はステップS813に行く。なお、ここで、データ取込手段104は、自動的にインターネットへの接続を試みても良いし、ユーザの指示の受け付けによりインターネットに接続しても良い。
(ステップS811)データ取込手段104は、アプリを表示する。
(ステップS812)データ取込手段104は、ステップS810で保存したデータをアプリに取り込み、アプリ上に表示する。ステップS801に戻る。なお、データの表示態様は問わない。データは、アプリに埋め込まれた表示されても良いし、アプリのフレームやウィンドウとは別フレーム、別ウィンドウでも良い。また、ユーザの指示の受け付けに応じて、データは、表示されても良い。
(ステップS813)受付手段は、データの更新指示を受け付けたか否かを判断する。データの更新指示を受け付けた場合はステップS814に行き、データの更新指示を受け付けない場合はステップS815に行く。
(ステップS814)データ更新手段105は、更新指示に従い、データを更新し、当該更新されたデータをローカルストレージ13に保存する。ステップS801に戻る。
(ステップS815)データ更新手段105は、LANに接続されたか否かを判断する。LANに接続された場合はステップS816に行き、LANに接続されない場合はステップS801に戻る。なお、ここで、データ更新手段105は、自動的にLANへの接続を試みても良いし、ユーザの指示の受け付けによりLANに接続しても良い。
(ステップS816)データ更新手段105は、ウェブソケットサーバ7にアクセスする。
(ステップS817)データ更新手段105は、更新されたデータをウェブソケットサーバ7に送信する。なお、更新されたデータは、ウェブソケットサーバ7を経由して、ローカルデータベース6に保存される。
(ステップS818)データ更新手段105は、ウェブソケットサーバ7との接続をクローズする。
(ステップS819)データ更新手段105は、更新されたデータをローカルストレージ13から削除する。ステップS801に戻る。
なお、図8のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、スマートデバイス10の他の動作例について、図9、および図10のフローチャートを用いて説明する。なお、本フローチャートにおいて、あらかじめブラウザを起動しておく。次に、ユーザからウェブアプリケーションのURLを受け付けることによって、以下のステップS901が開始する。
(ステップS901)アプリケーション実行手段102は、スマートデバイスがオフラインまたは接続されているネットワークがウェブアプリケーションのURLに対応するクラウドアプリケーションサーバ2と異なるネットワークであるか否かを判断する。接続されているネットワークがウェブアプリケーションのURLに対応するクラウドアプリケーションサーバ2と通信可能なネットワークであればステップS902に行き、スマートデバイスがオフラインまたは接続されているネットワークがウェブアプリケーションのURLに対応するクラウドアプリケーションサーバ2と通信できないネットワークであればステップS909に行く。
(ステップS902)アプリケーション実行手段102は、クラウドアプリケーションサーバ2からレスポンスがあるか否かを判断する。レスポンスがある場合はステップS903に行き、レスポンスがない場合はステップS909に行く。なお、レスポンスがない場合は、例えば、クラウドアプリケーションサーバ2が停止している、クラウドアプリケーションサーバ2が更新中である、Firewallの設定等による原因などの場合である。
(ステップS903)アプリケーション実行手段102は、クラウドアプリケーションサーバ2にキャッシュ・マニフェストが定義されているか否かを判断する。キャッシュ・マニフェストが定義されている場合はステップS904に行き、定義されていない場合はステップS907に行く。なお、キャッシュ・マニフェストについて、URL「http://www.w3.org/TR/2011/WD-html5-20110525/offline.html」のウェブページを参照のこと。
また、キャッシュ・マニフェスト(Cache Manifest)は、ウェブ基準として採用しなくなる方向に決まっているので、それに代わる新たな定義がされている。その新たな定義は、ServiceWorkersという。ServiceWorkersについては、URL「 http://www.w3.org/TR/service-workers/」のウェブページを参照のこと。
なお、Cache Manifestにおいて、キャッシュの仕組みがHTMLのタグの定義によりブラウザの機能で動作した。一方、ServiceWorkersにおいて、開発者がキャシュう機能をJavaScript(登録商標)で実装する。かかる点がCache ManifestとServiceWorkersとの差異である。加えて、ServiceWorkersは、httpsまたはwssまたはローカルホストでしか実装できない仕様である。
(ステップS904)アプリケーション実行手段102が実行しているブラウザは、クラウドアプリケーションサーバ2からキャッシュ・マニフェストをリクエストする。なお、キャッシュ・マニフェストは公知技術であるので、説明を省略する。
(ステップS905)アプリケーション実行手段102は、キャッシュ・マニフェストが更新されているか、またはキャッシュ・マニフェストが存在するか否かを判定する。更新されていない場合はステップS912に行き、更新されている場合または以前に存在しなかった場合はS906に行く。
(ステップS906)ブラウザはキャッシュ・マニフェストに基づいた素材をクラウドアプリケーションサーバ2に要求し、ブラウザのウェブキャッシュにアプリを保存する。ウェブキャッシュにアプリを保存したらステップS912に行く。なお、素材とは、ウェブアプリケーションを構成する部品(通常、ファイル)であり、例えば、スクリプト、スタイルシート、イメージ等である。
(ステップS907)ブラウザが自動キャッシュ機能を持つ場合はステップS908に行き、自動キャッシュ機能を持たない場合はステップS912に行く。なお、自動キャッシュ機能とは、自動的にウェブアプリケーションの素材をウェブキャッシュに保存する機能である。そして、ウェブアプリケーションにキャッシュ・マニフェストが定義されていなくても、自動キャッシュ機能を持つブラウザがある。
(ステップS908)アプリケーション実行手段102は、クラウドアプリケーションサーバ2から受信したファイルを、オフラインなどで利用できるように、ウェブキャッシュに保存する。本ステップからステップS912に行く。なお、例えば、Microsoft社(登録商標)のEdgeブラウザは、積極的にウェブキャッシュに保存する。また、例えば、Chrome(登録商標)などのブラウザは、ウェブに接続している前提で、キャッシュ・マニフェストなどがない場合はウェブキャッシュに保存しない場合が多い。自動キャッシュ機能はウェブの基準ではないので、対応はブラウザごとに異なる。
(ステップS909)デバイスがオフラインの場合またはクラウドアプリケーションサーバ2からレスポンスがない場合、アプリケーション実行手段102が実行しているブラウザは、ウェブキャッシュの中にアプリケーションが存在するか否かを判断する。存在する場合はステップS910に行き、存在しない場合はステップS911に行く。
(ステップS910)ウェブキャッシュのなかにアプリケーションが存在する場合は、ブラウザは、ウェブアプリケーションを利用するにあたるファイル(スクリプト、スタイルシート、イメージなど)をウェブキャッシュから読み込み、ステップS912に行く。
(ステップS911)ブラウザは、エラーメッセージを出力する。なお、本ステップが実行される場合は、デバイスがオフラインの場合またはクラウドアプリケーションサーバ2からレスポンスがない場合、あるいはアプリケーションをデバイス上に実行したことがあるけど、ブラウザのキャッシュ機能がなかった場合等である。なお、例えば、ユーザがネットワーク環境を確認して、クラウドアプリケーションサーバ2に再度リクエストする場合は、ステップS901から、再度、実行される。
(ステップS912)ブラウザは、ウェブアプリケーションのHTML、スクリプト、スタイルシートを用いて、ウェブアプリケーションをブラウザで表示する。
(ステップS913)ウェブアプリケーションは、アプリケーション用のデータをローカルストレージ13から読み込む。
(ステップS914)ウェブアプリケーションは、ローカルストレージ13のデータをアプリケーション内で表示する。
(ステップS915)アプリケーションの読み込みが完了したら、データ更新手段105は、自動的にデータを更新する目的で、ウェブソケットサーバ7に接続リクエストを送信する。なお、データ更新手段105は、アプリケーションプログラムを起動してしてからウェブソケットサーバ7に接続リクエスト送信する。
(ステップS916)ウェブソケットサーバ7からレスポンスがある場合は、データの更新が行われる。そして、ステップS915におけるリクエストの送信に応じて、データ更新手段105は、ウェブソケットサーバ7からレスポンスがあったか否かを判断する。レスポンスがあった場合はステップS917に行き、レスポンスがない場合はステップS921に行く。なお、スクリプトからデバイスのネットワーク状況の確認はウェブの標準機能ではないので、レスポンスがない場合は、通常、デバイスはオフラインの状態またはウェブソケットサーバ7のLANに接続していないことを指す。そのため、リクエストを送信するように、後述するステップS925で更新フラグを立てるのである。
(ステップS917)データ更新手段105は、ウェブソケットサーバ7に接続する。接続するにあたってはIPアドレスとポートとプロトコールが一致しないと接続しないが、不要に外部のパソコンなどに接続しないように、接続する際には、認識システムによる認証を要求することが推奨される。
(ステップS918)データ更新手段105は、ローカルストレージ13内の更新したデータをウェブソケット経由でウェブソケットサーバ7に送信する。そして、データ更新手段105は、ローカルストレージ13のデータを削除する。なお、後の手順でデータを、再度、ローカルデータベース6から、ウェブソケットサーバ7経由でデータが読み込まれる場合がある。データが読み込まれる場合、ローカルストレージ13内のデータと読み込まれたデータとが異なる可能性があるので、デバイスのローカルストレージ13のデータを削除するのである。
データ取得手段103は、ウェブソケットサーバ7に最新のデータをリクエストする。

データ取得手段103は、ウェブソケットサーバから最新のデータを受信する。
データ取得手段103は、ウェブソケットサーバから受信したデータをローカルストレージ13に保存する。
(ステップS919)データ取得手段103は、ウェブソケットサーバとの接続を閉じる。
(ステップS920)データ取得手段103は、更新が必要であることを示す更新フラグを解除する。なお、更新フラグの解除とは、例えば、更新フラグの削除、更新フラグを更新不要を示す値に書き換える等の処理である。なお、更新フラグは、アプリケーション内にデータの更新が必要であることを示すフラグであり、後述するステップS921またはステップS923で設定される。
(ステップS921)アプリケーションは起動してからすぐウェブソケットサーバ7から最新データをとってくるように設定してある。このときにデバイスはオフラインまたはウェブソケットサーバ7と異なるネットワークに接続されている等の理由により、ウェブソケットサーバ7からレスポンスが無い場合は、データ取得手段103は、更新フラグを設定する。なお、ここでの更新フラグは、時間をおいてから、ウェブソケットサーバ7に問い合わせすることを示すフラグであり、データの更新が必要である旨を示すフラグである。
(ステップS922)データ更新手段105は、ユーザによるアプリケーションの利用の際に、ローカルストレージ13のデータが更新されたか否かを判断する。データが更新された場合はステップS923に行き、データが更新されない場合はステップS924に行く。
(ステップS923)データ更新手段105は、データの更新が必要である旨を示す更新フラグを設定する。
(ステップS924)データ更新手段105は、所定の時間、ウェイトする。なお、所定の時間は、固定でも良いし、動的に変化しても良い。所定の時間は、ウェブソケットサーバ7にリクエストを送信するまでの時間であり、例えば、5秒、30秒、60秒などである。なお、ウェイトする理由は、ロング・ポーリングをするにあたってウェイトなしであるとCPU等の資源の無駄遣いになるためである。また、ウェイトは、アプリケーションに負担をかけないようにメインスレードでやらないことが好適である。
(ステップS925)データ更新手段105は、データの更新が必要である旨の更新フラグが存在するか否かを確認する。更新フラグが存在する場合(更新の必要がある場合)はステップS915に行き、更新フラグが存在しない場合(更新の必要がない場合)はステップS922に戻る。
なお、本ステップ等で示すように、ユーザがアプリケーションを利用している際に、アプリケーションは後ろでロング・ポーリングを行って、ユーザがデータを更新してなおかつウェブソケットサーバ7と同じネットワークであるときは、自動的にデータを更新するようにする。
また、スマートデバイス10がオフライン、またはウェブソケットサーバ7と異なるネットワークで利用しているときは、データの変更はスマートデバイス10内に保存される。そして、スマートデバイス10がウェブソケットサーバ7と同じネットワークに接続できたとき、データの更新をまとめて、ウェブソケット経由で送信する。
以上、本実施の形態によれば、個人情報等のデータの漏えいを未然に防止することが可能となる。
また、本実施の形態によれば、ウェブアプリケーションに取り込まれるデータの取得がウェブソケットサーバを経由して行われるので、スマートデバイスによるデータの送受信を円滑に実行することができる。
また、本実施の形態によれば、ウェブソケットをスマートデバイスのブラウザとローカルデータベースとのデータ送受信で用いることにより、ウェブアプリケーションというソフトウェア資源を有効に利用して、ローカルデータベース上の機密性の高い情報をアプリ上でハンドリングすることができる。なお、通常、ウェブソケットは、ウェブサーバとブラウザとの間の双方向通信で使用される。つまり、ウェブソケットは、通常、オープンな環境で使用される。従って、通常、機密性の高い情報を格納しているローカルデータベースのデータを取得する際に、インターネットを介したウェブソケットを利用しようとは考えない。以上より、ウェブソケットとローカルデータベースとを組み合わせることに阻害要因がある、と言える。
なお、本実施の形態における、各種の装置の処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態におけるスマートデバイス10を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、アプリケーションサーバから受信されたウェブアプリケーションをブラウザ上で実行するアプリケーション実行手段と、データを格納しているローカルデータベースからローカルエリアネットワークを介して、データが格納されるローカルストレージにデータを取り込むデータ取得手段と、前記データ取得手段によって取り込まれたデータを前記ブラウザ上で当該データと関連するウェブアプリケーションに取り込んで表示するデータ取込手段として機能させるためのプログラムである。
また、上記プログラムにおいて、前記データ取得手段が、前記ローカルデータベースからウェブソケットサーバを経由して前記ローカルストレージに前記データを取り込む処理を行うことは好適である。
また、上記プログラムにおいて、コンピュータを、前記ローカルデータベースにおいて前記データが更新された場合に、当該更新後のデータを当該ローカルデータベースから前記ローカルエリアネットワークを介して前記ローカルストレージに取り込むデータ更新手段としてさらに機能させるプログラムであることは好適である。
また、図2、図4、図6に、本明細書で述べたプログラムを実行して、上述した実施の形態のスマートデバイス10を実現するコンピュータの外観が示されている。上述の実施の形態のスマートデバイス10は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図11は、スマートデバイス10のブロック図である。
図11において、スマートデバイス10を構成するコンピュータハードウェア300は、例えば、コンピュータ301、およびタッチパネル304を有する。コンピュータ301は、例えば、MPU3013、MPU3013に接続されたバス3014、ブートアッププログラム等のプログラムを記憶するためのROM3015、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3016、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3017を含む。ここでは、図示しないが、コンピュータ301は、さらに、図示しないが、LANへの接続を提供する通信手段(通常、無線通信手段)を含む。
プログラムは、コンピュータ301に、上述した実施の形態のスマートデバイス10等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータハードウェア300がどのように動作するかは周知であり、詳細な説明は省略する。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
また、上述した実施の形態1〜3では、スマートデバイスとして、主として、スマートホン10を用いた場合について説明した。しかし、インターネット3に接続してブラウザ8上でウェブアプリケーションを実行する機能を有する端末である限り、スマートホン10以外のブラウザ機能のあるスマートデバイスを代用することも可能である。
また、上述した実施の形態1〜3では、ウェブアプリケーションとして地理情報表示ソフトウェアを実行する場合について説明した。しかし、ウェブアプリケーションとしては、地理情報表示ソフトウェアに限らず、APIを提供している種々のソフトウェア(例えば、外商管理ソフトウェア、顧客管理ソフトウェア、乗務員管理ソフトウェアなど)を適用することができる。
また、上述した実施の形態1〜3では、企業が顧客情報を取り扱う場合について説明した。しかし、顧客情報以外の個人情報(例えば、役員や従業員の私生活に関する情報など)を取り扱う場合や、さらに拡張して個人情報以外のデータ(例えば、故人の出生地・遺産、ペットの病歴・通院記録など)を取り扱う場合に本発明を同様に適用することも可能である。
本発明は、例えば、企業、官公庁、NPO法人、学校、研究機関、病院・医院その他の組織が個人情報等を取り扱う場合に、情報システムとして、広く適用することができる。
1……ウェブアプリケーション実行システム
2……クラウドアプリケーションサーバ
3……インターネット
5……ルータ
6……ローカルデータベース
7……ウェブソケットサーバ
8……ブラウザ
9……無線LAN(ローカルエリアネットワーク)
10……スマートホン(スマートデバイス)
11……店舗
12……CPU
13……ローカルストレージ
102……アプリケーション実行手段
103……データ取得手段
104……データ取込手段
105……データ更新手段

Claims (9)

  1. スマートデバイスのブラウザ上でウェブアプリケーションを実行するアプリケーション実行手段と、
    ローカルデータベースからローカルエリアネットワークを介して前記スマートデバイスのローカルストレージにデータを取り込むデータ取得手段と、
    前記データ取得手段によって取り込まれたデータを前記スマートデバイスのブラウザ上で当該データと関連するウェブアプリケーションに取り込んで表示するデータ取込手段と
    を有することを特徴とするウェブアプリケーション実行システム。
  2. 前記データ取得手段は、前記ローカルデータベースからウェブソケットサーバを経由して前記ローカルストレージに前記データを取り込むことを特徴とする請求項1に記載のウェブアプリケーション実行システム。
  3. 前記ローカルストレージに格納されているデータが更新された場合に、当該更新後のデータを前記ウェブソケットサーバに送信するデータ更新手段をさらに有する請求項2に記載のウェブアプリケーション実行システム。
  4. 前記データが個人情報であることを特徴とする請求項1乃至3のいずれかに記載のウェブアプリケーション実行システム。
  5. データが格納されるローカルストレージと、
    アプリケーションサーバから受信されたウェブアプリケーションをブラウザ上で実行するアプリケーション実行手段と、
    データを格納しているローカルデータベースからローカルエリアネットワークを介して前記ローカルストレージにデータを取り込むデータ取得手段と、
    前記データ取得手段によって取り込まれたデータを前記ブラウザ上で当該データと関連するウェブアプリケーションに取り込んで表示するデータ取込手段とを有することを特徴とするスマートデバイス。
  6. 前記データ取得手段は、
    前記ローカルデータベースからウェブソケットサーバを経由して前記ローカルストレージに前記データを取り込む請求項5に記載のスマートデバイス。
  7. 前記ローカルストレージに格納されているデータが更新された場合に、当該更新後のデータを前記ウェブソケットサーバに送信するデータ更新手段をさらに有する請求項6に記載のスマートデバイス。
  8. アプリケーション実行手段、データ取得手段、およびデータ取込手段により実現されるウェブアプリケーション実行方法であって、
    前記アプリケーション実行手段が、アプリケーションサーバから受信されたウェブアプリケーションをブラウザ上で実行するアプリケーション実行ステップと、
    前記データ取得手段が、データを格納しているローカルデータベースからローカルエリアネットワークを介して、データが格納されるローカルストレージにデータを取り込むデータ取得ステップと、
    前記データ取込手段が、前記データ取得ステップで取り込まれたデータを前記ブラウザ上で当該データと関連するウェブアプリケーションに取り込んで表示するデータ取込ステップとを有するウェブアプリケーション実行方法。
  9. コンピュータを、
    アプリケーションサーバから受信されたウェブアプリケーションをブラウザ上で実行するアプリケーション実行手段と、
    データを格納しているローカルデータベースからローカルエリアネットワークを介して、
    データが格納されるローカルストレージにデータを取り込むデータ取得手段と、
    前記データ取得手段によって取り込まれたデータを前記ブラウザ上で当該データと関連するウェブアプリケーションに取り込んで表示するデータ取込手段として機能させるためのプログラム。
JP2015219475A 2014-11-19 2015-11-09 ウェブアプリケーション実行システム、スマートデバイス、ウェブアプリケーション実行方法、およびプログラム Pending JP2016105271A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014234318 2014-11-19
JP2014234318 2014-11-19

Publications (1)

Publication Number Publication Date
JP2016105271A true JP2016105271A (ja) 2016-06-09

Family

ID=55962808

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015219475A Pending JP2016105271A (ja) 2014-11-19 2015-11-09 ウェブアプリケーション実行システム、スマートデバイス、ウェブアプリケーション実行方法、およびプログラム

Country Status (2)

Country Link
US (1) US20160142516A1 (ja)
JP (1) JP2016105271A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109343778A (zh) * 2018-09-25 2019-02-15 北京金山安全软件有限公司 一种显示方法、装置及电子设备

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2369213B (en) * 2000-07-04 2005-02-23 Honda Motor Co Ltd Electronic file management system
US20020157023A1 (en) * 2001-03-29 2002-10-24 Callahan John R. Layering enterprise application services using semantic firewalls
US20030187952A1 (en) * 2001-07-27 2003-10-02 Gary Young System and method for formatting information requested by a mobile device
US8548902B2 (en) * 2003-08-15 2013-10-01 Larry Porter System for online lending services via an application service provider network
WO2004046894A2 (en) * 2002-11-19 2004-06-03 Nexaweb Technologies, Inc. System and method for stateful web-based computing
US7315978B2 (en) * 2003-07-30 2008-01-01 Ameriprise Financial, Inc. System and method for remote collection of data
US20050283385A1 (en) * 2004-06-21 2005-12-22 The Permanente Medical Group, Inc. Individualized healthcare management system
WO2006077481A1 (en) * 2005-01-19 2006-07-27 Truecontext Corporation Policy-driven mobile forms applications
US8584139B2 (en) * 2006-05-23 2013-11-12 Seapass Solutions Inc. Apparatus and method for connecting incompatible computer systems
US10481878B2 (en) * 2008-10-09 2019-11-19 Objectstore, Inc. User interface apparatus and methods
US9665638B2 (en) * 2012-10-30 2017-05-30 FHOOSH, Inc. Systems and methods for secure storage of user information in a user profile

Also Published As

Publication number Publication date
US20160142516A1 (en) 2016-05-19

Similar Documents

Publication Publication Date Title
US9448776B1 (en) Method and apparatus for converting a website into a native mobile application
US20190327287A1 (en) Data acquisition method and device
US20180225387A1 (en) Method and apparatus for accessing webpage, apparatus and non-volatile computer storage medium
CN107077671B (zh) 使用安全模块的支付装置和方法
KR101680509B1 (ko) 네이티브 애플리케이션에 대한 웹 자산 액세스를 가능하게 하는 시스템 및 방법
US20140096261A1 (en) Method and apparatus for providing privacy policy for data stream
US20160057228A1 (en) Application execution program, application execution method, and information processing terminal device that executes application
US8886819B1 (en) Cross-domain communication in domain-restricted communication environments
JP2015213319A (ja) 動的な提示およびデータの構成を使用するセキュリティ保護されたモバイル共同アプリケーションを構築するためのプラットフォーム
CA2890866A1 (en) System and method of automatic generation and insertion of analytic tracking codes
CN103139761B (zh) 一种信息实时展示的方法和移动通讯终端
JP6887429B2 (ja) 統合検索のためのサポートを伴う保護されたフィールド上の自動動作検出
US20140095974A1 (en) Secure html javascript code snippet usage in application integration
US9350735B1 (en) Context-based dynamic information rights management
US9426202B2 (en) Transforming application cached template using personalized content
CA3152810A1 (en) Connecting web publisher inventory to programmatic exchanges without third-party cookies
KR102089265B1 (ko) 외부 소스들을 사용하는 사용자 설정 관리
US9405933B2 (en) Secure access to running client application features from a browser application
JP2016105271A (ja) ウェブアプリケーション実行システム、スマートデバイス、ウェブアプリケーション実行方法、およびプログラム
Mutasa et al. Building peace in South Sudan: Progress, problems and prospects
US20120117510A1 (en) System and method for automatically establishing a concurrent data connection with respect to the voice dial features of a communications device
US20150100888A1 (en) Providing a common interface for accessing and presenting component configuration settings
KR101845181B1 (ko) 다수의 디바이스에 걸친 액티비티 디스플레이
US10659560B2 (en) Mobile device display preference
US20170111435A1 (en) Enabling clients to expose secured files via virtual hosts

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20160621