JP6455278B2 - マッシュアップ方法、マッシュアッププログラム、及び端末 - Google Patents

マッシュアップ方法、マッシュアッププログラム、及び端末 Download PDF

Info

Publication number
JP6455278B2
JP6455278B2 JP2015067621A JP2015067621A JP6455278B2 JP 6455278 B2 JP6455278 B2 JP 6455278B2 JP 2015067621 A JP2015067621 A JP 2015067621A JP 2015067621 A JP2015067621 A JP 2015067621A JP 6455278 B2 JP6455278 B2 JP 6455278B2
Authority
JP
Japan
Prior art keywords
web
list
external device
api
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.)
Active
Application number
JP2015067621A
Other languages
English (en)
Other versions
JP2016186777A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015067621A priority Critical patent/JP6455278B2/ja
Priority to EP16157711.9A priority patent/EP3073408B1/en
Priority to US15/070,467 priority patent/US10044720B2/en
Publication of JP2016186777A publication Critical patent/JP2016186777A/ja
Application granted granted Critical
Publication of JP6455278B2 publication Critical patent/JP6455278B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • 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/6236Protecting 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 between heterogeneous systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/128Restricting unauthorised execution of programs involving web programs, i.e. using technology especially used in internet, generally interacting with a web browser, e.g. hypertext markup language [HTML], applets, java
    • 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/606Protecting data by securing the transmission between two devices or processes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、マッシュアップ技術に関する。
近年、インターネットを介して、Web上に公開されている複数のWebサービスを組み合わせてマッシュアップされた別のサービスとして提供することが行われている。
このようなマッシュアップのサービスに対する認証に関して、複数のシステム環境を組み合わせて構築される情報処理システムにおいて、ユーザがアクセスするチャネルの内容に基づいて認証の可否を保持するチャンネル管理テーブルを参照してユーザとチャンネルの認証可否を判断する技術が知られている。
また、Webサービスと宅内機器との連携サービスのリソース利用に関してユーザ許諾を行い、HTMLに埋め込まれたJavaScript(登録商標)に埋め込まれたリソース利用要求を行う技術等が開示されている。
特開2013−190971号公報 特開2013−41408号公報 特開2014−222517号公報
上述した技術等によりマッシュアップのWebサービスに対して様々な認証方法が可能となったが、外部デバイスから取得した認証情報がWebサービスを実行するWebアプリケーションに読み込まれた場合の認証情報に対するセキュリティ対策は十分ではない。
一例として、マッシュアップにより他の外部デバイスを利用しようとした際に、その外部デバイスへのアクセスができない場合には、Webサービスの実行が正常に行われない。しかしながら、Webアプリケーションに読み込まれた認証情報が、Webアプリケーションからクラウドやアクセス可能な別の外部デバイスに不必要に送信されるといった問題がある。
したがって、1つの側面では、本発明は、外部デバイスへのアクセスにおけるセキュリティを向上することを目的とする。
一態様によれば、上記課題は、複数のWebAPIにアクセスし1つの機能を実現するマッシュアップ方法において、Webアプリケーションから外部デバイスのWebAPIへアクセスするためのドライバの記述を解析して抽出した該Webアプリケーションが利用する該WebAPIを示すWebAPIリストを作成し、記憶部に保持し、前記WebAPIリストを参照して、前記Webアプリケーションがアクセスする前記WebAPIを有する前記外部デバイスを一覧にした外部デバイスリストを作成して前記記憶部に保持し、前記外部デバイスリストを参照して、マッシュアップして実現する前記Webアプリケーションの処理で利用される前記WebAPIを有する前記外部デバイスが存在しない場合、前記Webアプリケーションに係る全てのWebAPIへのアクセスを制限する処理をコンピュータが行うマッシュアップ方法が提供される。
また、上記課題を解決するための手段として、上記方法を行う装置、コンピュータに上記処理を実行させるためのプログラム、及び、そのプログラムを記憶した記憶媒体とすることもできる。
外部デバイスへのアクセスにおけるセキュリティを向上することができる。
Webサービス提供に係るシステムのネットワーク構成例を示す図である。 マッシュアップによるWebサービスにおいて、ユーザ認証が失敗した場合について説明するための図である。 本実施例におけるWebAPIへのアクセス制御の概要を説明するための図である。 端末のハードウェア構成を示す図である。 端末の機能構成例を示す図である。 2つのWebアプリケーションで3つの外部デバイスが利用されるWebサービスの構成例を示す図である。 WebAPI抽出部によるWebAPI抽出処理を説明するための図である。 第1のWebAPIリストのデータ例を示す図である。 第2のWebAPIリストのデータ例を示す図である。 認証印刷アプリケーションに対するアプリケーション解析処理を説明するための図である。 残高確認アプリケーションに対するアプリケーション解析処理を説明するための図である。 デバイスリストのデータ例を示す図である。 検知デバイスリストのデータ例を示す図である。 Webアクセス制御部によるアクセス可否の判断方法を説明するための図である。 本実施例に係るアクセス制御処理の全体を説明するための図である。 デバイス検知部によるデバイス検知処理を説明するためのフローチャート図である。 確認画面の例を示す図である。 通知画面の例を示す図である。 本実施例に係るアクセス制御処理の有無による処理シーケンスの違いを説明するための図である。
以下、本発明の実施の形態を図面に基づいて説明する。マッシュアップしたサービスとは、複数のWebサービスを組み合わせた新たなサービスである。先ず、マッシュアップによるWebサービスが提供されるネットワーク構成例について説明する。
図1は、Webサービス提供に係るシステムのネットワーク構成例を示す図である。図1において、システム1000は、Webアプリケーション31を有する端末3と、1以上のWebサービス提供装置5と、1以上の外部デバイス60とを有する。端末3とWebサービス提供装置5とは、インターネット等のネットワーク2を介して接続される。
端末3と外部デバイス60とは、Bluetooth LE(登録商標)、Wi−Fi等の近距離無線通信、又は、USB(Universal Serial Bus)によって接続される。端末3は、主に、携帯電話、ウェアラブル端末、タブレット端末等のユーザによって携帯される端末に相当する。外部デバイス60は、端末3のデバイス検知機能によって、検知可能な装置である。
Webサービス提供装置5は、端末3からのWebサービス要求に応じて、端末3を介して外部デバイス60から得た情報、ネットワーク2を介して外部デバイス60から得た情報等を利用して、マッシュアップによるWebサービスを端末3に提供する。
Webサービス提供装置5によって、Google APIs等のWebサービスがWebAPIとして提供されている。また、インターネットに多くの外部デバイスが接続されるIoT(Internet of Things)、これらインターネットに接続された外部デバイスがWebAPIを公開してHTTPによるアクセスで使用可能となるWoT(Web of Things)が実現されようとしており、WebAPI(Application Programming Interface)を有する外部デバイスがネットワークに繋がることで、外部デバイス60の機能もマッシュアップの対象となる。
外部デバイス60として、ネットワーク通信機能の有無に係らず、特定の機能を有するデバイスのうち、その特定の機能により得たデータをネットワーク通信により提供するデバイスが相当する。特定の機能として、磁器、IC、メモリ等の種々のタイプのカードからデータを読み取るカードリーダ、コピー機、FAX、プリンタ等の画像形成装置、雨量計、風速計、地震計等の計測器等がある。
また、本実施例では、外部デバイス60から取得した認証情報に基づいてユーザ認証し、認証成功した場合に、1つ以上の他の外部デバイス60による機能、及び/又は、Webアプリケーションによるデータ処理によって得た結果を出力する一連の処理が、マッシュアップしたサービスに相当する。
マッシュアップされた一連の処理において、ユーザ認証が失敗した場合について説明する。図2は、マッシュアップによるWebサービスにおいて、ユーザ認証が失敗した場合について説明するための図である。図2では、認証印刷アプリケーション31qの処理を例として、ユーザ認証が失敗した場合を説明する。
認証印刷アプリケーション31qは、ユーザ認証が成功した場合に印刷処理を実行するWebサービスに係るアプリケーションであり、Webアプリケーション31の一例に相当する。カードリーダ61及びプリンタ62は、外部デバイス60に相当する。カードリーダ61は、r/w API61aを有し、プリンタ62は、印刷API62aを有する。r/w API61a及び印刷API62aは、WebAPIに相当する。
ユーザから印刷指示を受け付けると(ステップS31q−1)、カードリーダ61のr/w API61aを使って、ICカード8cの認証情報8aを読み出す(ステップS31q−2)。端末3が保持する認証情報8tを取得して(ステップS31q−3)、認証情報8aと認証情報8tとを比較して(ステップS31q−4)、認証情報8aと認証情報8tとが一致したらプリンタ62の印刷API62aを使って、印刷処理を実行する(ステップS31q−5).
このような処理では、認証印刷アプリケーション31qは、印刷API62aの呼び出しの失敗によって、初めて、プリンタ62が存在しないことを発見する。ユーザが指示をした印刷処理は実行されないが、印刷処理を行うための認証処理は、通常、印刷API62aを呼び出すステップS31q−5以前に行われる。そのため、ユーザの認証情報8aが不必要に認証印刷アプリケーション31qにロードされてしまう。即ち、ユーザが意図しない認証情報8aの読み出しが行われてしまう。
本実施例では、外部デバイス60へのアクセスにおけるセキュリティを向上させる。Webアプリケーション31に係る複数の外部デバイス60の1つ以上とのアクセスができない間は、各外部デバイス60へのアクセスを制限する。
即ち、図2において、本実施例では、プリンタ62へのアクセスができないと判断した場合、認証印刷アプリケーション31qにおけるステップS31q−2〜31q−4までの処理31rの実行を抑止する。図2の認証印刷アプリケーション31qにおけるWebAPIへのアクセス制御の概要を説明する。
図3は、本実施例におけるWebAPIへのアクセス制御の概要を説明するための図である。図3において、端末3内の認証印刷アプリケーション31qがユーザからの印刷指示により実行されると、認証印刷アプリケーション31qが解析される(ステップS11)。この解析により、カードリーダ61とプリンタ62とが揃わないとマッシュアップによるWebサービスを実現できないことを認識する。
次に、解析結果に基づいて、カードリーダ61及びプリンタ62が探索される(ステップS12)。探索により、カードリーダ61は発見されるが、プリンタ62は発見されない。このような場合、カードリーダ61へのアクセスが制御される(ステップS13)。この場合、プリンタ62は発見されなかったため、認証印刷アプリケーション31qが呼び出す他のWebAPI、即ち、r/w API61aへのアクセスが抑止される。
このようなアクセス制御により、ICカード8cに記憶された認証情報8aが不必要に認証印刷アプリケーション31qに読み出されることを防ぐことができる。
Webアプリケーション31によりWebサービスを受ける端末3は、図4に示すようなハードウェア構成を有する。図4は、端末のハードウェア構成を示す図である。図4において、端末3は、コンピュータによって制御されるタブレット型、携帯電話等の情報処理端末であって、CPU(Central Processing Unit)11bと、主記憶装置12bと、ユーザI/F(インターフェース)16bと、通信I/F17bと、ドライブ装置18bとを有し、バスB2に接続される。
CPU11bは、主記憶装置12bに格納されたプログラムに従って端末3を制御する。主記憶装置12bには、RAM(Random Access Memory)、ROM(Read Only Memory)等が用いられ、CPU11bにて実行されるプログラム、CPU11bでの処理に必要なデータ、CPU11bでの処理にて得られたデータ等を記憶又は一時保存する。主記憶装置12bに格納されているプログラムが、CPU11bに実行されることによって、各種処理が実現される。
ユーザI/F16bは、CPU11bの制御のもとに必要な各種情報を表示し、また、ユーザによる操作入力を可能とするタッチパネル等である。通信I/F17bによる通信は無線又は有線に限定されるものではない。通信I/F17bは、Bluetooth LE、Wi−Fi等の無線通信、ネットワーク通信等の種々の通信に対応するインタフェースである。
端末3によって行われる処理を実現するプログラムは、ネットワーク2を介して外部装置からダウンロードされる。或いは、予め端末3の主記憶装置12bに記憶されていても良い。
ドライブ装置18bは、ドライブ装置18bにセットされた記憶媒体19b(例えば、SD(Secure Digital)メモリカード等)と端末3とのインターフェースを行う。主記憶装置12b及び/又は記憶媒体19bが記憶部130bに相当する。
図5は、端末の機能構成例を示す図である。図5において、端末3は、WebAPI抽出部30と、Webアプリケーション31と、デバイスドライバ32と、Webアプリケーション実行部33とを有する。記憶部130bには、Webアプリケーション31、ドライバ32、WebAPI抽出部36、第1のWebAPI41リスト、第2のWebAPIリスト42、デバイスリスト43等が記憶される。
WebAPI抽出部30は、デバイスドライバ32からWebアプリケーション31で使用可能なWebAPIの一覧を抽出する。WebAPIの一覧は、WebAPIリスト40として記憶部130bに記憶される。WebAPIリスト40は、WebAPIとして、WebAPI名を抽出した第1のWebAPIリスト41と、URLを抽出した第2のWebAPIリスト42とが相当する。
第1のWebAPIリスト41は、外部デバイス60のデバイス名と、外部デバイス60にアクセスするためのWebAPIとを対応付けたテーブルに相当する。第2のWebAPIリスト42は、外部デバイス60のデバイス名と、外部デバイス60にアクセスするためのURLとを対応付けたテーブルに相当する。
Webアプリケーション31は、予め記憶された記憶部130bから読み込まれ、又はWebサーバ100からダウンロードされ、CPU11bによって実行される。デバイスドライバ32は、各外部デバイス60のデバイスドライバであり、予め記憶された記憶部130bから読み込まれ、CPU11bによって実行される。デバイスドライバ32は、Webサーバ100からダウンロードにより記憶部130bに記憶されてもよい。
Webアプリケーション実行部33は、複数のWebAPIにアクセスし1つの機能を実現するマッシュアップにおいて、複数のWebAPIの全てにアクセス可能な場合に、Webアプリケーション31を実行し処理を行う。ブラウザ等がWebアプリケーション実行部33に相当する。Webアプリケーション実行部33は、アプリケーション解析部34と、Webアクセス制御部35とを有する。
アプリケーション解析部34は、Webアプリケーション31を解析して、Webアプリケーション31の実行に使用される外部デバイス60を推定する。Webアプリケーション31毎に、アプリケーション解析部34が推定した外部デバイス60を対応付けたデバイスリスト43を記憶部130bに記憶する。
Webアクセス制御部35は、デバイスリスト43と検知デバイスリスト47とを参照して、Webアプリケーション31による外部デバイス60のWebAPI60aへのアクセスを制御する。
デバイス検知部37は、端末3から現在の利用可能な外部デバイス60を検知する。検知された外部デバイス60のデバイス名を一覧で示した検知デバイスリスト47が記憶部130bに記憶される。記憶部130bに記憶された検知デバイスリスト47は、Webアクセス制御部35に参照される。
Webサーバ100は、Webアプリケーション31、デバイスドライバ32等のプログラムの配布を行うサーバである。ネットワーク2を介して端末3からダウンロード要求を受け付けると、Webサーバ100は、ダウンロード要求で指定されるプログラムを端末3にダウンロードする。
以下に、端末3が2つのWebアプリケーション31を利用した場合で、本実施例に係る種々の処理及びデータ例について説明する。
図6は、2つのWebアプリケーションで3つの外部デバイスが利用されるWebサービスの構成例を示す図である。図6において、端末3は、認証印刷アプリケーション31qと残高確認アプリケーション31rの2つのWebアプリケーション31を有する。
カードリーダ61、プリンタ62、及びディスプレイ63は、外部デバイス60に相当する。カードリーダ61はr/w API61aを有し、プリンタ62は印刷API62aを有し、ディスプレイ63は表示API63aを有する。
認証印刷アプリケーション31qは、カードリーダ61が読み込んだICカード8cの認証情報8aに基づいて、ユーザ認証を行い、認証成功した場合に、プリンタ62にユーザが指定した文書等を印刷する印刷処理を行わせる。
残高確認アプリケーション31rは、カードリーダ61が読み込んだプリペイドカード8pの残高情報をディスプレイ63に表示する。
この例では、カードリーダ61が2つのWebアプリケーション31によって利用される。図6に示す例に基づいて、種々の処理及びデータ例を説明する。先ず、WebAPI抽出部30によるWebAPI抽出処理について説明する。
図7は、WebAPI抽出処理を説明するための図である。図7において、カードリーダ61とプリンタ62のデバイスドライバ32の記述例を示す。カードリーダ61のデバイスドライバ32の記述例61d、及び、プリンタ62のデバイスドライバ32の記述例62dは、JavaScript(登録商標)であってもよい。
カードリーダ61のデバイスドライバ32はドライバ「cardreader.js」で示され、プリンタ62のデバイスドライバ32の記述例62dはドライバ「printer.js」で示される。
WebAPI抽出部30は、ドライバ「cardreader.js」から関数名とその関数内部でのアクセス先URLを取得する。各関数名を、デバイス名と共に第1のWebAPIリスト41に格納する。デバイス名として、ドライバ「cardreader.js」のファイル名に相当する"cardreader"が使用される。
また、WebAPI抽出部30は、関数内部のアクセス先URLを、デバイス名と共に第2のWebAPIリスト42に格納する。
この例では、関数名「readICCard」と「writeICCard」とが、デバイス名「cardreader」と共に第1のWebAPIリスト41に記憶される。URL"http://xxx.jp/ readICCard"と"http://xxx.jp/ writeICCard"とが、デバイス名「printer」と共に第2のWebAPIリスト42に記憶される。
このように、プリンタ62のデバイスドライバ32からも同様に、WebAPI抽出部30は、関数名「a4Print」及び「b4Print」とURL「http://xxx.jp/a4print」及び「http://xxx.jp/b4print」とを取得する。そして、WebAPI抽出部30は、関数名「a4Print」及び「b4Print」の夫々をデバイス名「printer」と共に第1のWebAPIリスト41に記憶し、URL「http://xxx.jp/a4print」及び「http://xxx.jp/b4print」の夫々をデバイス名「printer」と共に第2のWebAPIリスト42に記憶する。
同様に、WebAPI抽出部30は、ディスプレイ63のデバイスドライバ32から関数名とURLとを取得し、ディスプレイ63のデバイス名「display」と共に、第1のWebAPIリスト41及び第2のWebAPIリスト42に夫々記憶する。
図8は、第1のWebAPIリストのデータ例を示す図である。図8において、第1のWebAPIリスト41は、デバイス名、WebAPI等の項目を有する。デバイス名は、外部デバイス6の名称を示す。WebAPIは、端末3のWebアプリケーション31が呼び出すWebAPI60aの名称を示す。
図8のデータ例では、デバイス名「printer」のプリンタ62に対して、WebAPI「a4Print」及び「b4Print」が使用されることを示している。また、デバイス名「cardreader」のカードリーダ61に対して、WebAPI「readICCard」及び「writeICCard」が使用されることを示している。更に、デバイス名「display」のディスプレイ63に対して、「showDisplay」が使用されていることを示している。
図9は、第2のWebAPIリストのデータ例を示す図である。図9において、第2のWebAPIリスト42は、デバイス名、URL等の項目を有する。デバイス名は、外部デバイス6の名称を示す。URLは、端末3のWebアプリケーション31が呼び出すURLを示す。
図9のデータ例では、デバイス名「printer」のプリンタ62に対して、URL「http://xxx.jp/a4print」及び「http://xxx.jp/b4print」が使用されることを示している。また、デバイス名「cardreader」のカードリーダ61に対して、URL「http://yyy.jp/read_ic」及び「http://yyy.jp/write_ic」が使用されることを示している。更に、デバイス名「display」のディスプレイ63に対して、「http://zzz.jp/show_disp」が使用されていることを示している。
次に、アプリケーション解析部34によるアプリケーション解析処理について説明する。図10は、認証印刷アプリケーションに対するアプリケーション解析処理を説明するための図である。ユーザ認証を行う認証関数を一例として、同一関数内で呼ばれる複数のWebAPI60aは、マッシュアップされて認証処理という一つの機能を実現する場合で、2つの記述例を示す。
図10(A)に示すauthPrint関数の記述例151では、記述152でWebAPI「readICCard」が呼ばれ、記述153でWebAPI「a4Print」が呼ばれている。アプリケーション解析部34は、これら2つのWebAPIが呼ばれていることから、図8の第1のWebAPIリスト41を参照することで、2つの外部デバイス「printer」及び「cardreader」が利用されることが分かる。
authPrint関数によって、これら複数の外部デバイス60を用いた一連の処理が行われることが分かる。プリンタ62とカードリーダ61とによって一機能が提供されると判断する。このように、アプリケーション解析部34は、同一関数内で呼ばれる複数のWebAPIは一機能を成すものと見なす。
図10(B)に示すreadCard関数及びauthPrint関数の記述例161では、authPrint関数内部の記述162でreadCard関数が呼ばれ、readCard関数内部の記述163でWebAPI「readICCard」が呼ばれている。また、authPrint関数内部の記述164でWebAPI「a4Print」が呼ばれている。アプリケーション解析部34は、図8の第1のWebAPIリスト41を参照することで、2つの外部デバイス「cardreader」及び「printer」が利用されることが分かる。
authPrint関数によって、これら複数の外部デバイス60を用いた一連の処理が行われることが分かる。カードリーダ61とプリンタ62とによって一機能が提供される。このように、アプリケーション解析部34は、関数内部で関数が呼び出されるネスティングの場合、最深層まで辿りWebAPI60aを探索し、呼ばれた複数のWebAPI60aは一機能を成すと見なす。
図10(A)の記述例151及び図10(B)の記述例161は、カードリーダ61とプリンタ62とを利用して、ユーザ認証をして印刷する認証印刷アプリケーション31qの例に相当する。
図11は、残高確認アプリケーションに対するアプリケーション解析処理を説明するための図である。図11に示すcheckCharge関数の記述例171では、記述172でWebAPI「readICCard」が呼ばれている。また、記述173でURL「http://zzz.jp/show_disp」が呼ばれている。
アプリケーション解析部34は、図8の第1のWebAPIリスト41を参照することで、外部デバイス「cardreader」が利用されることが分かる。また、アプリケーション解析部34は、図9の第2のWebAPIリスト42を参照することで、外部デバイス「cardreader」が利用されることが分かる。
checkCharge関数によって、これら複数の外部デバイス60を用いた一連の処理が行われることが分かる。プリンタ62とカードリーダ61とによって一機能が提供されると判断する。このように、アプリケーション解析部34は、WebAPI60aのアクセスと直接URLへのアクセスとが混在していても、第1のWebAPIリスト41と第2のWebAPIリスト42とを参照することで、外部デバイス60を特定することができる。
図12は、デバイスリストのデータ例を示す図である。図12において、デバイスリスト43は、Webアプリケーション31毎にアクセス制御の対象となる外部デバイス60を対応付けたテーブルであり、アプリケーション名、デバイス名1、デバイス名2、・・・等の項目を有する。
デバイスリスト43は、アプリケーション解析部34によって作成され、Webアプリケーション31からの外部デバイス60へのアクセス制御を行う際に、Webアクセス制御部35によって参照される。
図12に示すデータ例において、アプリケーション名「authPrint」は、認証印刷アプリケーション31qに相当し、アプリケーション名「checkCharge」は、残高確認アプリケーション31rに相当する。
認証印刷アプリケーション31qからアクセスされる外部デバイス60は、デバイス名1「printer」で特定されるプリンタ62と、デバイス名2「cardreader」で特定されるカードリーダ61であることが示されている。
従って、認証印刷アプリケーション31qの実行時に、1以上の外部デバイス60へのアクセスができない場合、Webアクセス制御部35によって、アクセス可能であった外部デバイス60も含めて全ての外部デバイス60、即ち、プリンタ62及びカードリーダ61へのアクセスが抑止される。
また、残高確認アプリケーション31rからアクセスされる外部デバイス60は、デバイス名1「cardreader」で特定されるカードリーダ61と、デバイス名2「display」で特定されるディスプレイ63であることが示されている。
従って、残高確認アプリケーション31rの実行時に、1以上の外部デバイス60へのアクセスができない場合、Webアクセス制御部35によって、アクセス可能であった外部デバイス60も含めて全ての外部デバイス60、即ち、カードリーダ61及びディスプレイ63へのアクセスが抑止される。
図13は、検知デバイスリストのデータ例を示す図である。図13において、検知デバイスリスト47は、現在の利用可能な外部デバイス60のデバイス名を示す。デバイス名は、デバイス検知部37が検知した外部デバイス60のデバイス名を示す。
図13に示すデータ例では、デバイス名「cardreader」、及び「display」のみが示され、プリンタ62のデバイス名「printer」が存在しない。端末3は、プリンタ62へアクセスできない状態であることを示している。
Webアクセス制御部35は、デバイスリスト43を参照して、Webアプリケーション31が処理に使用する外部デバイス60のデバイス名を取得し、取得したデバイス名が検知デバイスリスト47に一覧されていない場合、Webアプリケーション31において、取得したデバイス名で特定される全ての外部デバイス60へのアクセスを抑止する。
次に、Webアクセス制御部35によるアクセス可否の判断方法について説明する。図14は、Webアクセス制御部によるアクセス可否の判断方法を説明するための図である。図14において、Webアプリケーション31が外部デバイス60へアクセスする方法には、デバイスドライバ32が提供するAPI60aを利用して外部デバイス60にアクセスする第1の方法と、外部デバイス60のURLを直接アクセスする第2の方法の2通りある。
Webアプリケーション31が認証印刷アプリケーション31qであり、図10(A)の記述例151で表される場合で説明する。
第1の方法では、デバイスドライバ32は、Webアプリケーション31が呼び出したWebAPI60aをURLに変換して、Webアクセス制御部35へ変換したURLへアクセスを要求する。
readICCard関数がWebアプリケーション31の呼び出したWebAPI60aである場合、デバイスドライバ32は、図7の記述例61dに示すように、URL「http://yyy.jp/read_ic」へとアクセスとしてWebアクセス制御部35にアクセス要求を行う。
Webアクセス制御部35は、デバイスドライバ32からのアクセス要求に応じて、第2のWebAPIリスト42を参照して、デバイスドライバ32からアクセス要求のあったURL「http://yyy.jp/read_ic」に対応するデバイス名「cardreader」を取得する。
更に、Webアクセス制御部35は、デバイスリスト43を参照して、読み出し元のWebアプリケーション31に対応するデバイス名を取得する。認証印刷アプリケーション31qの場合、デバイス名「printer」及び「cardreader」を取得する。
そして、Webアクセス制御部35は、検知デバイスリスト47にデバイスリスト43から取得したデバイス名「printer」及び「cardreader」の全てがリストされていない場合、デバイスドライバ32からのURL「http://yyy.jp/read_ic」へのアクセスを行わない。アクセス要求は抑止される。
一方、デバイス名「printer」及び「cardreader」の全てが検知デバイスリスト47にリストされている場合、Webアクセス制御部35は、アクセス要求のあったURL「http://yyy.jp/read_ic」にアクセスする。
次に、第2の方法では、Webアクセス制御部35は、Webアプリケーション31から直接URL「http://yyy.jp/read_ic」へのアクセス要求を受け付ける。この場合、Webアクセス制御部35は、第2のWebAPIリスト42を参照して、URL「http://yyy.jp/read_ic」に対応付けられるデバイス名「cardreader」を取得する。
Webアクセス制御部35は、デバイスリスト43から、要求元の認証印刷アプリケーション31qのアプリケーション名「authPrint」に対応付けられる全てのデバイス名「printer」及び「cardreaders」を取得する。
そして、Webアクセス制御部35は、検知デバイスリスト47にデバイスリスト43から取得したデバイス名「printer」及び「cardreader」の全てがリストされていない場合、デバイスドライバ32からのURL「http://yyy.jp/read_ic」へのアクセスを行わない。アクセス要求は抑止される。
一方、デバイス名「printer」及び「cardreader」の全てが検知デバイスリスト47にリストされている場合、Webアクセス制御部35は、アクセス要求のあったURL「http://yyy.jp/read_ic」にアクセスする。
次に、本実施例に係る端末3におけるアクセス制御処理の全体について説明する。図15は、本実施例に係るアクセス制御処理の全体を説明するための図である。図15において、デバイス検知部37は、通信I/F17bを介してアクセス可能な外部デバイス60を発見する(ステップS211)。発見した外部デバイス60に対応するWebアプリケーション31及びデバイスドライバ32が夫々Webサーバ100等からダウンロードされる。
WebAPI抽出部30は、新たなデバイスドライバ32のダウンロードを検知すると、ダウンロードされたデバイスドライバ32を解析し、WebAPIリスト40を作成する(ステップS212)。第1のWebAPIリスト41と第2のWebAPIリスト42とが作成され、記憶部130bに格納される。新たなデバイスドライバ32のダウンロードがない場合には、このステップS212は省略される。
次に、アプリケーション解析部34は、新たなWebアプリケーション31のダウンロードを検知すると、ダウンロードされたWebアプリケーション31を解析し、Webアプリケーション31に関して、処理で利用される外部デバイス60の一覧をデバイスリスト43に追加する(ステップS213)。新たなWebアプリケーション31のダウンロードがない場合には、このステップS213は省略される。
Webアプリケーション実行部33は、Webアプリケーション31を起動し、Webアプリケーション31から外部デバイス60へのアクセス要求を受け付ける(ステップS214)。
Webアクセス制御部34は、アクセス要求で指定されたURLを取得し、URLからデバイス名を取得する(ステップS215)。また、Webアクセス制御部34は、デバイスリスト43からWebアプリケーション31が利用する外部デバイス60のデバイス名を取得する(ステップS216)。
そして、Webアクセス制御部34は、ステップS216で取得した全てのデバイス名が、検知デバイスリスト47に存在するか否かを判断する(ステップS217)。存在する場合(ステップS217のYes)、Webアクセス制御部34は、外部デバイス60へのアクセスを許可する(ステップS218)。よって、Webアプリケーション実行部33は、外部デバイス60へアクセスしてジョブを実行する(ステップS219)。その後、このアクセス制御処理は終了する。
一方、取得した全てのデバイス名が検知デバイスリスト47に存在しない場合(ステップS217のNo)、Webアクセス制御部35は、同じWebAPI60aを公開する他の外部デバイスがあるか否かを判断する(ステップS220)。
他の外部デバイス60がある場合(ステップS220のYes)、Webアクセス制御部35は、更に、他の外部デバイス60への切り替えが可能か否かを判断する(ステップS221)。判断方法の例として、図17に示すような確認画面G81をユーザI/F16bに表示し、ユーザI/F16bから受信したユーザの指示(OK又はNG)に応じた処理を行う。
ユーザの指示がOKである場合(ステップS221のOK)、他の外部デバイス60への切り替えが許可されたと判断して、Webアクセス制御部35は、アクセス先を他のデバイスに切り替えて、アクセスを許可する(ステップS222)。このアクセス許可により、Webアプリケーション実行部33は、外部デバイス60へアクセスしてジョブを実行する(ステップS219)。その後、このアクセス制御処理は終了する。
一方、他の外部デバイス60がない場合(ステップS220のNo)、又は、ユーザの指示がNGである場合(ステップS221のNG)、Webアクセス制御部35は、要求された外部デバイス60へのアクセスを遮断する(ステップS223)。その後、このアクセス制御処理は終了する。
図16は、デバイス検知部によるデバイス検知処理を説明するためのフローチャート図である。図16において、デバイス検知部37は、端末3の電源オンにより端末3の起動を検知する(ステップS251)。デバイス検知部37は、ステップS252からS255までの処理を、端末3の電源がオフされるまで、所定間隔で繰り返す。
デバイス検知部37は、外部デバイス60のスキャンを開始し(ステップS252)、外部デバイス60を発見する(ステップS253)。デバイス検知部37は、新たな外部デバイスを発見すると、検知デバイスリスト47に追加し(ステップS254)、外部デバイス60のスキャンを停止する(ステップS255)。デバイス検知部37は、所定時間後に、ステップS252から上述した同様の処理を繰り返す。
図17は、確認画面の例を示す図である。図17において、確認画面G81は、メッセージ表示領域81a、OKボタン81b、及びNGボタン81cを有する。メッセージ表示領域81aには、ユーザから外部デバイス60の切り替えの可否を確認するメッセージが表示される。一例として、「デバイスxxxをデバイスyyyに切替えて、実行を継続できます。継続する場合はOK、継続しない場合はNGを選択してください。」等のメッセージが表示される。
OKボタン81bは、ユーザが外部デバイス60を切り替えて、Webアプリケーション31を実行することを許諾する場合に、ユーザによって選択されるボタンである。OKボタン81bの選択に応じて、Webアクセス制御部35は、アクセス先を他のデバイスに切り替えて、アクセスを許可する(図15のステップS222)。Webアプリケーション31の実行が継続される。
NGボタン81cは、ユーザが外部デバイス60を切り替えることを許可しない場合に、ユーザによって選択されるボタンである。NGボタン81cの選択に応じて、Webアクセス制御部35は、アクセス要求で指定された外部デバイス60へのアクセスを遮断する(図15のステップS223)。Webアプリケーション31の実行が遮断される。
また、図15のステップS223において、外部デバイス60へのアクセスを遮断した場合には、図18に示すような通知画面G82をユーザI/F16bに表示してもよい。
図18は、通知画面の例を示す図である。図18において、通知画面G82は、メッセージ表示領域82a、及びOKボタン82bを有する。メッセージ表示領域82aには、ユーザにWebアプリケーション31による処理の実行が停止したことを通知するメッセージが表示される。一例として、「デバイスxxxが見つからないため、実行を停止しました。再度実行する場合は、デバイスxxxの状態を確認してください。」等のメッセージが表示される。
OKボタン82bは、ユーザが実行の停止を確認後に選択されるボタンである。OKボタン82bの選択に応じて、本実施例に係るアクセス制御処理は終了する。
次に、本実施例に係るアクセス制御処理が行われない場合と、本実施例に係るアクセス制御処理が行われる場合との処理シーケンスの違いを説明する。図19は、本実施例に係るアクセス制御処理の有無による処理シーケンスの違いを説明するための図である。図19では、認証印刷アプリケーション31qの実行を例として、処理シーケンスの違いを説明する。
図19(A)は、本実施例に係るアクセス制御処理が行われない場合の処理シーケンスの一例を示している。図19(A)において、端末3'は、本実施例に係るアクセス制御処理が行われない端末である。端末3'は、認証印刷アプリケーション31qからの印刷要求に応じて(ステップS401)、認証情報8aを読み出すための認証情報読出要求をカードリーダ61へ行う(ステップS402)。
カードリーダ61は、認証情報読出要求に応じて、ICカード8cから認証情報8aを読み出して(ステップS403)、認証情報応答を端末3'に行う(ステップS404)。端末3'では、認証情報応答によって、ICカード8cから読み出した認証情報8aが認証印刷アプリケーション31qに通知される。
認証印刷アプリケーション31qは、ICカード8cの認証情報8aを内部に保持する(ステップS405)。そして、認証印刷アプリケーション31qは、端末3の記憶部130bから取得した認証情報8tと、ICカード8cの認証情報8aとを比較してユーザ認証を行う(ステップS406)。認証印刷アプリケーション31qは、認証が成功すると、印刷要求をプリンタ62に対して行う(ステップS407)。
しかしながら、プリンタ62にアクセスできない状態である場合、端末3'は、プリンタ62との通信接続できないため、プリンタ62を見つけることができない。印刷要求に対する応答待ちによりタイムアウトすると、端末3'は、実行エラーをユーザI/F16bに表示して(ステップS408)、認証印刷アプリケーション31qによる認証印刷処理を終了する。
上述したように、図19(A)の処理シーケンスでは、結果、プリンタ62を発見することができず、プリンタ62による印刷は行えないにも係らず、ステップS405にて認証印刷アプリケーション31qは、ICカード8cの認証情報8aを保持できてしまう。
その結果、認証情報8aが不必要にクラウドや外部デバイスに送信されてしまう恐れがありセキュリティに問題がある。また、プリンタ62に利用不可能な状態で、ICカード8cの認証情報8aを取得することのみに、認証印刷アプリケーション31qが利用されてしまう恐れがある。
更に、仮に、ユーザ認証が成功したとしても、ステップS407における、利用できないプリンタ62への印刷要求等のアクセスは、端末3'の資源を無駄に消費するため不必要なアクセスである。
図19(B)は、本実施例に係るアクセス制御処理が行われる場合の処理シーケンスの一例を示している。図19(B)において、端末3では、認証印刷アプリケーション31q印刷要求に応じて(ステップS501)、Webアクセス制御部35がデバイスリスト43と検知デバイスリスト47とを用いて、利用するデバイスが存在するか否かをチェックする(ステップS502)。プリンタ62が存在しないことを、端末3の内部で検知する。
Webアクセス制御部35は、カードリーダ61へのデバイスアクセスを行わず、ユーザI/F16bに実行エラーを表示する(ステップS503)。実行エラーの表示として、図17の確認画面G81、及び/又は、図18の通知画面G82等が表示される。
図19(B)の処理シーケンスでは、カードリーダ61が存在するにも係らず、認証情報8aの取得が行われない。従って、不必要に認証情報8aがWebアプリケーション31に保持されることがないため、外部デバイス60へのアクセスにおけるセキュリティを向上させることができる。また、存在しないプリンタ62へのアクセスも行われないため、図19(A)の処理シーケンスに比べて、端末3の資源を無駄にすることがない。
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、主々の変形や変更が可能である。
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
複数のWebAPIにアクセスし1つの機能を実現するマッシュアップ方法において、
Webアプリケーションから外部デバイスのWebAPIへアクセスするためのドライバの記述を解析して抽出した該Webアプリケーションが利用する該WebAPIを示すWebAPIリストを作成し、記憶部に保持し、
前記Webアプリケーションを解析して、前記Webアプリケーションがアクセスする前記WebAPIを有する前記外部デバイスを推定して一覧にした外部デバイスリストを作成して前記記憶部に保持し、
前記外部デバイスリストを参照して、マッシュアップして実現する前記Webアプリケーションの処理で利用される前記WebAPIを有する前記外部デバイスが存在しない場合、前記Webアプリケーションに係る各前記WebAPIへのアクセスを制限する
処理をコンピュータが行うマッシュアップ方法。
(付記2)
前記アクセスの制限は、
デバイス検知により検知した前記外部デバイスを一覧にした検知デバイスリストに、前記外部デバイスリストを参照することによって得られた前記Webアプリケーションで利用される各前記外部デバイスが存在するか否かを判断し、
前記前記Webアプリケーションで利用される前記外部デバイスの1以上が存在しない場合、該Webアプリケーションで利用される各前記外部デバイスへのアクセスを制限する
ことを特徴とする付記1記載のマッシュアップ方法。
(付記3)
前記アクセスの制限は、
前記前記Webアプリケーションで利用される前記外部デバイスの各々が前記検知デバイスリストに存在する場合、該Webアプリケーションに係る各前記WebAPIへのアクセスを許可する
ことを特徴とする付記2記載のマッシュアップ方法。
(付記4)
前記WebAPIリストは、第1のWebAPIリストと、第2のWebAPIリストとを有し、
前記WebAPIリストの作成では、
前記ドライバの記述から、前記WebAPIを読み出すための関数を抽出して前記外部デバイスのデバイス名と対応付けて前記第1のWebAPIリストを作成し、前記WebAPIを読み出すためのURLと前記デバイス名と対応付けて前記第2のWebAPIリストと作成する
ことを特徴とする付記1乃至3のいずれか1項記載のマッシュアップ方法。
(付記5)
前記外部デバイスリストの作成では、
前記Webアプリケーションの記述内において、同一関数内の複数のWebAPIに対応する夫々の外部デバイスを該Webアプリケーションの実行で利用される外部デバイスであると推定する
ことを特徴とする付記1乃至4のいずれか1項記載のマッシュアップ方法。
(付記6)
前記外部デバイスリストの作成では、
前記Webアプリケーション毎に、該Webアプリケーションのアプリケーション名と、推定した外部デバイスとを対応付けて前記外部デバイスリストを作成する
ことを特徴とする付記5項記載のマッシュアップ方法。
(付記7)
前記アクセスの制限は、
前記前記Webアプリケーションで利用される前記外部デバイスの1以上が存在しない場合、同じWebAPIを公開する他の外部デバイスが存在するか否かを判断し、
前記他のデバイスが存在する場合、前記他の外部デバイスへの切り替え可能か否かを確認する確認画面をユーザI/Fし、該ユーザI/Fから該他の外部デバイスへの切り替えが可能である旨の情報を受信すると、該他の外部デバイスへアクセスを許可する
ことを特徴とする付記2項記載のマッシュアップ方法。
(付記8)
前記アクセスの制限は、
前記他のデバイスが存在しない場合、該Webアプリケーションで利用される各前記外部デバイスへのアクセスが可能になるまで、該外部デバイスへのアクセスを遮断する
ことを特徴とする付記1乃至7のいずれか一項記載のマッシュアップ方法。
(付記9)
複数のWebAPIにアクセスし1つの機能を実現するWebアプリケーションから外部デバイスのWebAPIへアクセスするためのドライバの記述を解析して抽出した該Webアプリケーションが利用する該WebAPIを示すWebAPIリストを作成し、記憶部に保持し、
前記WebAPIリストを参照して、前記Webアプリケーションがアクセスする前記WebAPIを有する前記外部デバイスを一覧にした外部デバイスリストを作成して前記記憶部に保持し、
前記外部デバイスリストを参照して、マッシュアップして実現する前記Webアプリケーションの処理で利用される前記WebAPIを有する前記外部デバイスが存在しない場合、前記Webアプリケーションに係る各前記WebAPIへのアクセスを制限する
処理をコンピュータが行うマッシュアッププログラム。
(付記10)
複数のWebAPIにアクセスし1つの機能を実現するWebアプリケーションから外部デバイスのWebAPIへアクセスするためのドライバの記述を解析して抽出した該Webアプリケーションが利用する該WebAPIを示すWebAPIリストを作成し、記憶部に保持する抽出部と、
前記WebAPIリストを参照して、前記Webアプリケーションがアクセスする前記WebAPIを有する前記外部デバイスを一覧にした外部デバイスリストを作成して前記記憶部に保持する解析部と、
前記外部デバイスリストを参照して、マッシュアップして実現する前記Webアプリケーションの処理で利用される前記WebAPIを有する前記外部デバイスが存在しない場合、前記Webアプリケーションに係る各前記WebAPIへのアクセスを制限するアクセス制御部と
処理をコンピュータが行う端末。
2 ネットワーク
3 端末
5 Webサービス提供装置
8a、8t 認証情報
30 WebAPI抽出部
31 Webアプリケーション
31q 認証印刷アプリケーション
31r 残高確認アプリケーション
32 デバイスドライバ
33 Webアプリケーション実行部
34 アプリケーション解析部
35 Webアクセス制御部
37 デバイス検知部
40 WebAPIリスト
41 第1のWebAPIリスト
42 第2のWebAPIリスト
43 デバイスリスト
47 検知デバイスリスト
60 外部デバイス
60a WebAPI
61 カードリーダ
62 プリンタ
63 ディスプレイ
1000 システム

Claims (6)

  1. 複数のWebAPIにアクセスし1つの機能を実現するマッシュアップ方法において、
    Webアプリケーションから外部デバイスのWebAPIへアクセスするためのドライバの記述を解析して抽出した該Webアプリケーションが利用する該WebAPIを示すWebAPIリストを作成し、記憶部に保持し、
    前記WebAPIリストを参照して、前記Webアプリケーションがアクセスする前記WebAPIを有する前記外部デバイスを一覧にした外部デバイスリストを作成して前記記憶部に保持し、
    前記外部デバイスリストを参照して、マッシュアップして実現する前記Webアプリケーションの処理で利用される前記WebAPIを有する前記外部デバイスが存在しない場合、前記Webアプリケーションに係る全てのWebAPIへのアクセスを制限する
    処理をコンピュータが行うマッシュアップ方法。
  2. 前記アクセスの制限は、
    デバイス検知により検知した前記外部デバイスを一覧にした検知デバイスリストに、前記外部デバイスリストを参照することによって得られた前記Webアプリケーションで利用される全ての外部デバイスが存在するか否かを判断し、
    Webアプリケーションで利用される前記外部デバイスの1以上が存在しない場合、該Webアプリケーションで利用される全ての外部デバイスへのアクセスを制限する
    ことを特徴とする請求項1記載のマッシュアップ方法。
  3. 前記アクセスの制限は、
    前記Webアプリケーションで利用される前記外部デバイスの全てが前記検知デバイスリストに存在する場合、該Webアプリケーションに係る前記WebAPIへのアクセスを許可する
    ことを特徴とする請求項2記載のマッシュアップ方法。
  4. 前記WebAPIリストは、第1のWebAPIリストと、第2のWebAPIリストとを有し、
    前記WebAPIリストの作成では、
    前記ドライバの記述から、前記WebAPIを読み出すための関数を抽出して前記外部デバイスのデバイス名と対応付けて前記第1のWebAPIリストを作成し、前記WebAPIを読み出すためのURLと前記デバイス名と対応付けて前記第2のWebAPIリストと作成する
    ことを特徴とする請求項1乃至3のいずれか1項記載のマッシュアップ方法。
  5. 複数のWebAPIにアクセスし1つの機能を実現するWebアプリケーションから外部デバイスのWebAPIへアクセスするためのドライバの記述を解析して抽出した該Webアプリケーションが利用する該WebAPIを示すWebAPIリストを作成し、記憶部に保持し、
    前記WebAPIリストを参照して、前記Webアプリケーションがアクセスする前記WebAPIを有する前記外部デバイスを一覧にした外部デバイスリストを作成して前記記憶部に保持し、
    前記外部デバイスリストを参照して、マッシュアップして実現する前記Webアプリケーションの処理で利用される前記WebAPIを有する前記外部デバイスが存在しない場合、前記Webアプリケーションに係る全てのWebAPIへのアクセスを制限する
    処理をコンピュータが行うマッシュアッププログラム。
  6. 複数のWebAPIにアクセスし1つの機能を実現するWebアプリケーションから外部デバイスのWebAPIへアクセスするためのドライバの記述を解析して抽出した該Webアプリケーションが利用する該WebAPIを示すWebAPIリストを作成し、記憶部に保持する抽出部と、
    前記WebAPIリストを参照して、前記Webアプリケーションがアクセスする前記WebAPIを有する前記外部デバイスを一覧にした外部デバイスリストを作成して前記記憶部に保持する解析部と、
    前記外部デバイスリストを参照して、マッシュアップして実現する前記Webアプリケーションの処理で利用される前記WebAPIを有する前記外部デバイスが存在しない場合、前記Webアプリケーションに係る全てのWebAPIへのアクセスを制限するアクセス制御部と
    を有する端末。
JP2015067621A 2015-03-27 2015-03-27 マッシュアップ方法、マッシュアッププログラム、及び端末 Active JP6455278B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015067621A JP6455278B2 (ja) 2015-03-27 2015-03-27 マッシュアップ方法、マッシュアッププログラム、及び端末
EP16157711.9A EP3073408B1 (en) 2015-03-27 2016-02-26 Mashup method, mashup program, and terminal
US15/070,467 US10044720B2 (en) 2015-03-27 2016-03-15 Mashup method, computer-readable recording medium, and terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015067621A JP6455278B2 (ja) 2015-03-27 2015-03-27 マッシュアップ方法、マッシュアッププログラム、及び端末

Publications (2)

Publication Number Publication Date
JP2016186777A JP2016186777A (ja) 2016-10-27
JP6455278B2 true JP6455278B2 (ja) 2019-01-23

Family

ID=55484832

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015067621A Active JP6455278B2 (ja) 2015-03-27 2015-03-27 マッシュアップ方法、マッシュアッププログラム、及び端末

Country Status (3)

Country Link
US (1) US10044720B2 (ja)
EP (1) EP3073408B1 (ja)
JP (1) JP6455278B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11350254B1 (en) 2015-05-05 2022-05-31 F5, Inc. Methods for enforcing compliance policies and devices thereof
US11757946B1 (en) 2015-12-22 2023-09-12 F5, Inc. Methods for analyzing network traffic and enforcing network policies and devices thereof
US11178150B1 (en) * 2016-01-20 2021-11-16 F5 Networks, Inc. Methods for enforcing access control list based on managed application and devices thereof
US10650621B1 (en) 2016-09-13 2020-05-12 Iocurrents, Inc. Interfacing with a vehicular controller area network
US11343237B1 (en) 2017-05-12 2022-05-24 F5, Inc. Methods for managing a federated identity environment using security and access control data and devices thereof
US11122042B1 (en) 2017-05-12 2021-09-14 F5 Networks, Inc. Methods for dynamically managing user access control and devices thereof
US10693795B2 (en) * 2018-06-01 2020-06-23 Fujitsu Limited Providing access to application program interfaces and Internet of Thing devices
CN115268995B (zh) * 2022-08-10 2023-04-07 大连海事大学 一种基于知识图谱的Web API推荐方法及系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8272065B2 (en) * 2009-03-11 2012-09-18 Telefonaktiebolaget Lm Ericsson (Publ) Secure client-side aggregation of web applications
US9189649B2 (en) * 2010-06-25 2015-11-17 International Business Machines Corporation Security model for workflows aggregating third party secure services
JP5455870B2 (ja) * 2010-11-17 2014-03-26 株式会社日立製作所 ネットワーク接続装置
US9369433B1 (en) * 2011-03-18 2016-06-14 Zscaler, Inc. Cloud based social networking policy and compliance systems and methods
JP5624525B2 (ja) 2011-08-15 2014-11-12 株式会社東芝 情報処理装置、リソース提供装置および情報処理システム
US8799988B2 (en) * 2012-01-25 2014-08-05 Microsoft Corporation Document communication runtime interfaces
JP5732419B2 (ja) 2012-03-13 2015-06-10 株式会社野村総合研究所 統合アクセス制御システム
US9602623B2 (en) * 2012-09-11 2017-03-21 Nokia Corporation Method and apparatus for caching local mashup service parameters
US9729506B2 (en) * 2014-08-22 2017-08-08 Shape Security, Inc. Application programming interface wall

Also Published As

Publication number Publication date
EP3073408B1 (en) 2018-03-07
US10044720B2 (en) 2018-08-07
EP3073408A1 (en) 2016-09-28
JP2016186777A (ja) 2016-10-27
US20160285880A1 (en) 2016-09-29

Similar Documents

Publication Publication Date Title
JP6455278B2 (ja) マッシュアップ方法、マッシュアッププログラム、及び端末
US10481839B2 (en) Communication system, mobile terminal, and device
JP2017024272A (ja) 画像形成装置、端末装置、画像形成システム及びプログラム
KR20170019226A (ko) 클라우드 프린트 서비스를 이용하는 방법 및 이를 수행하기 위한 장치
JP2017173891A (ja) 情報処理装置、情報処理システム、情報処理方法、及びプログラム
EP2739029B1 (en) Method of executing application installed in outside server and image forming apparatus to perform the same
US10142501B2 (en) Image processing apparatus, method for controlling the same, and storage medium
JP2013191196A (ja) 情報処理装置、機器、情報処理システム、情報処理方法、及び情報処理プログラム
JP6358063B2 (ja) 要求送信方法、情報処理装置、及びプログラム
JP5510434B2 (ja) ネットワークシステム、情報処理装置およびその制御方法、ならびにコンピュータープログラム
JP6848378B2 (ja) 機器連携システム、機器連携方法、機器
CN107957830B (zh) 开发支持系统、开发支持设备、响应控制方法及响应控制设备
JP2014016674A (ja) 出力システム、出力制御装置及び出力制御プログラム
CN103220445A (zh) 显示图标的图像处理装置、其控制方法以及图像处理系统
US10069923B2 (en) Information processing apparatus, control method therefor and computer-readable storage medium
JP6135215B2 (ja) 画像形成装置、ネットワークシステム、方法およびプログラム
JP2008181519A (ja) ネットワーク上のドキュメント処理装置を見出すシステムおよび方法
JP6355395B2 (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
JP2021124776A (ja) 情報処理装置、情報処理システム、及び情報処理プログラム
JP2016143370A (ja) 情報処理装置、情報処理システム及びプログラム
US10079873B2 (en) Information processing apparatus and method
JP2019021227A (ja) 情報処理装置およびプログラム
JP2021124775A (ja) 情報処理装置、情報処理システム、及び情報処理プログラム
JP6848266B2 (ja) 情報処理装置およびプログラム
JP6179133B2 (ja) 機器、情報処理方法、情報処理プログラム、及び情報処理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180925

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181107

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: 20181120

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181203

R150 Certificate of patent or registration of utility model

Ref document number: 6455278

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150