【新規性喪失の例外の表示】特許法第30条第2項適用 発行日(公開日) 令和3年1月7日 刊行物 NAVINECTホームページ(URL:https://navinect.jp/app/edgeview/)
(58)【調査した分野】(Int.Cl.,DB名)
ウェブサイトから提供されるウェブアプリケーションであって、端末装置と通信可能に接続されるデバイス装置に当該デバイス装置のデバイス機能を実行させる処理を含むウェブアプリケーションと、
前記端末装置から前記ウェブアプリケーションを提供するウェブサイトにアクセスし、前記ウェブアプリケーションから前記アクセスに応じた第1画面を示す情報を取得し、取得した情報に基づいて前記第1画面を表示させるウェブブラウザと、
前記端末装置にインストールされたプログラムが実行されることによって動作し、前記デバイス装置に当該デバイス装置の機能を実行させるネイティブアプリケーションと、
を備え、
前記ウェブアプリケーションは、前記ネイティブアプリケーションによる処理及び前記ウェブアプリケーションによる処理を連携させることによって前記デバイス機能を実行させる場合、前記ネイティブアプリケーションによって処理が実行される画面である第2画面、及び前記ネイティブアプリケーションによる処理が完了した場合に表示させる第3画面であって、前記ウェブアプリケーションによって処理が実行される画面である第3画面を示す情報を、前記ウェブブラウザに通知し、
前記ウェブブラウザは、前記ウェブアプリケーションから取得した前記第2画面及び前記第3画面を示す情報を前記ネイティブアプリケーションに通知し、
前記ネイティブアプリケーションは、前記ウェブブラウザから取得した情報に基づいて前記第2画面を表示させ、前記第2画面に対して行われた操作に応じた処理を実行し、前記操作に応じた処理が完了した場合に、前記第3画面を示す情報を前記ウェブブラウザに通知し、
前記ウェブブラウザは、前記ネイティブアプリケーションから取得した情報に基づいて前記第3画面を表示させる、
制御システム。
前記ウェブブラウザは、前記デバイス機能を実行させる場合、前記ネイティブアプリケーションによって前記デバイス機能を実行させる処理が中止された場合に表示させる、前記ウェブアプリケーションの画面である第4画面を示す情報を取得し、前記取得した前記第4画面を示す情報を、前記第2画面及び前記第3画面を示す情報と共に、前記ネイティブアプリケーションに通知し、
前記ネイティブアプリケーションは、前記第2画面に対して、前記デバイス機能を実行させる処理を中止する操作が行われた場合、前記第4画面を示す情報を前記ウェブブラウザに通知し、
前記ウェブブラウザは、前記デバイス装置から取得した情報に基づいて前記第4画面を表示させる、
請求項1から請求項3のいずれか一項に記載の制御システム。
ウェブサイトから提供されるウェブアプリケーションであって、端末装置と通信可能に接続されるデバイス装置に当該デバイス装置のデバイス機能を実行させる処理を含むウェブアプリケーションを有し
前記端末装置から前記ウェブアプリケーションを提供するウェブサイトにアクセスし、前記ウェブアプリケーションから前記アクセスに応じた第1画面を示す情報を取得し、取得した情報に基づいて前記第1画面を表示させるウェブブラウザと、前記端末装置にインストールされたプログラムが実行されることによって、前記デバイス装置に当該デバイス装置の機能を実行させるネイティブアプリケーションと、を有する前記端末装置に、前記デバイス機能を実行させる、
サーバ装置であって、
前記ウェブアプリケーションは、
前記ネイティブアプリケーションによる処理及び前記ウェブアプリケーションによる処理を連携させることによって前記デバイス機能を実行させる場合、前記ネイティブアプリケーションによって処理が実行される画面である第2画面、及び前記ネイティブアプリケーションによる処理が完了した場合に表示させる第3画面であって、前記ウェブアプリケーションによって処理が実行される画面である第3画面を示す情報を、前記ウェブブラウザに通知し、
前記ウェブブラウザに、前記ウェブアプリケーションから取得した前記第2画面及び前記第3画面を示す情報を前記ネイティブアプリケーションに通知させ、
前記ネイティブアプリケーションによって、前記ウェブブラウザから取得した情報に基づいて前記第2画面が表示され、前記第2画面に対して行われた操作に応じた処理が実行され、前記操作に応じた処理が完了した場合に前記ウェブブラウザに通知される前記第3画面を示す情報に基づいて、前記ウェブブラウザに前記第3画面を表示させる、
サーバ装置。
ウェブサイトから提供されるウェブアプリケーションであって、端末装置と通信可能に接続されるデバイス装置に当該デバイス装置のデバイス機能を実行させる処理を含むウェブアプリケーションを有し、
前記端末装置から前記ウェブアプリケーションを提供するウェブサイトにアクセスし、前記ウェブアプリケーションから前記アクセスに応じた第1画面を示す情報を取得し、取得した情報に基づいて前記第1画面を表示させるウェブブラウザと、前記端末装置にインストールされたプログラムが実行されることによって、前記デバイス装置に当該デバイス装置の機能を実行させるネイティブアプリケーションと、を有する前記端末装置に、前記デバイス機能を実行させる、
サーバ装置により実行される制御方法であって、
前記ウェブアプリケーションが、
前記ネイティブアプリケーションによる処理及び前記ウェブアプリケーションによる処理を連携させることによって前記デバイス機能を実行させる場合、前記ネイティブアプリケーションによって処理が実行される画面である第2画面、及び前記ネイティブアプリケーションによる処理が完了した場合に表示させる第3画面であって、前記ウェブアプリケーションによって処理が実行される画面である第3画面を示す情報を、前記ウェブブラウザに通知し、
前記ウェブブラウザに、前記ウェブアプリケーションから取得した前記第2画面及び前記第3画面を示す情報を前記ネイティブアプリケーションに通知させ、
前記ネイティブアプリケーションによって、前記ウェブブラウザから取得した情報に基づいて前記第2画面が表示され、前記第2画面に対して行われた操作に応じた処理が実行され、前記操作に応じた処理が完了した場合に前記ウェブブラウザに通知される前記第3画面を示す情報に基づいて、前記ウェブブラウザに前記第3画面を表示させる、
制御方法。
ウェブサイトから提供されるウェブアプリケーションであって、端末装置と通信可能に接続されるデバイス装置に当該デバイス装置のデバイス機能を実行させる処理を含むウェブアプリケーションを有し、
前記端末装置から前記ウェブアプリケーションを提供するウェブサイトにアクセスし、前記ウェブアプリケーションから前記アクセスに応じた第1画面を示す情報を取得し、取得した情報に基づいて前記第1画面を表示させるウェブブラウザと、前記端末装置にインストールされたプログラムが実行されることによって、前記デバイス装置に当該デバイス装置の機能を実行させるネイティブアプリケーションと、を有する前記端末装置に、前記デバイス機能を実行させる、
サーバ装置により実行されるプログラムであって、
前記ウェブアプリケーションに、
前記ネイティブアプリケーションによる処理及び前記ウェブアプリケーションによる処理を連携させることによって前記デバイス機能を実行させる場合、前記ネイティブアプリケーションによって処理が実行される画面である第2画面、及び前記ネイティブアプリケーションによる処理が完了した場合に表示させる第3画面であって、前記ウェブアプリケーションによって処理が実行される画面である第3画面を示す情報を、前記ウェブブラウザに通知させ、
前記ウェブブラウザに、前記ウェブアプリケーションから取得した前記第2画面及び前記第3画面を示す情報を前記ネイティブアプリケーションに通知させ、
前記ネイティブアプリケーションによって、前記ウェブブラウザから取得した情報に基づいて前記第2画面が表示され、前記第2画面に対して行われた操作に応じた処理が実行され、前記操作に応じた処理が完了した場合に前記ウェブブラウザに通知される前記第3画面を示す情報に基づいて、前記ウェブブラウザに前記第3画面を表示させる、
プログラム。
【発明を実施するための形態】
【0017】
以下、本発明の実施形態について、図面を参照して説明する。
【0018】
図1は、実施形態による制御システム1の概要を示す図である。制御システム1は、在庫Zの在庫管理を行うシステムである。
図1に示すように、制御システム1は、例えば、サーバ装置10と端末装置20と、RFIDデバイス装置30とを備える。在庫Zには、RDIFのタグTが付されている。
【0019】
制御システム1において、サーバ装置10と端末装置20とは、通信ネットワークNWを介して通信可能に接続される。端末装置20とRFIDデバイス装置30とは、例えば、USB接続、有線LAN、或いは、Bluetooth(登録商標)や無線LANなどの近距離無線通信などによって通信可能に接続される。
【0020】
サーバ装置10は、Webアプリ(ウェブアプリケーション)を提供するコンピュータ装置である。Webアプリは、在庫管理を支援するアプリケーションプログラムである。サーバ装置10は、Webアプリを介して、端末装置20からのアクセスに応じた情報、例えば、入庫された部品に関する情報を入力するための入力画面(
図4参照)等、を示す情報を端末装置20に送信する。
【0021】
端末装置20は、在庫管理を行う担当者が携帯するスマートフォンやタブレットなどのコンピュータ装置である。端末装置20は、Webアプリに対応するサイト(ウェブサイト)にアクセスし、サーバ装置10からWebアプリを介して提供される画面を表示する。担当者は、例えば、端末装置20に表示された画面の入力フォームなどにしたがって情報を入力する。
【0022】
RFIDデバイス装置30は、RDIFのタグTへの情報の読込や書込を行うデバイス装置である。RFIDデバイス装置30は、「読込装置」の一例である。RFIDデバイス装置30は、「書込装置」の一例である。RFIDデバイス装置30は、端末装置20からの要求(読込要求、或いは書込要求)にしたがって、タグTへの情報の読込や書込を行う。
【0023】
例えば、以下のように、RFIDを用いた在庫管理が実施される。例えば、部材が入庫された場合には、その部材にRFIDが付され、そのRFIDに対応するタグIDが書き込まれる。タグIDは、Webアプリ131にて生成された情報であり、部材と、部材に付されたRFIDを示す情報である。例えば、部材が出庫された場合には、その部材に付されたRFIDのタグIDに紐づけて、その部材の出庫日、出庫数量、出庫先などの情報が、サーバ装置10が記憶する在庫情報123(
図10参照)として記憶される。例えば、部材の棚卸が行われた場合には、その部材に付されたRFIDに書込まれているタグIDが読込まれ、実際に保管されている部材の数量と、在庫情報123として記憶されている部材の数量とが突合される。実際の数量と、在庫情報123として記憶されている数量とが一致しない場合には、在庫情報123に、棚卸日、棚卸により確認された実際の数量などを示す情報が記憶される。また、棚卸が行われた場合に、RFIDが付されていない部材が発見された場合には、その部材にRFIDが付され、そのRFIDに対応するタグIDが書き込まれ、そのタグIDに紐づけて、部材の部材名、棚卸日、数量、保管場所などの情報が在庫情報123として記憶される。
【0024】
図2は、実施形態による制御システム1が行う処理の流れを示す図である。
図2に示すように、サーバ装置10では、Webアプリ131を介して、在庫情報123が記録される。在庫情報123は、在庫する部品に関する情報であり、例えば、入庫日、部品名、数量、保管場所などが示された情報である。また、Webアプリ131は、端末装置20のWebブラウザ230と情報のやり取りを行う。Webアプリ131とWebブラウザ230との情報のやり取りは、例えば、http(Hypertext Transfer Protocol)接続によるAPI(Application Programming Interface)通信にて行われる。
【0025】
図2に示すように、サーバ装置10は、例えば、Webサーバと、APサーバ(アプリケーションサーバー)とで構成される。サーバ装置10と、Webサーバと、APサーバとが、物理的に別のサーバ装置に分かれていてもよいし、同一のサーバ上で実行されてもよい。
【0026】
Webサーバは、クライアント(端末装置20)とAPサーバとの通信を仲介する。例えば、Webサーバは、Webブラウザ230(
図10)から要求されたURL(Uniform Resource Locator)に対応する画面を、APサーバに要求する。Webサーバは、APサーバから取得した画面を示す情報(画面情報)をWebブラウザ230に送信する。Webサーバの実体としては、例えば、エンジンエックス(nginx)、アパッチ(apache)等が適用される。
【0027】
画面情報は、例えば、html(HyperText Markup Language)、カスケーディングスタイルシート(Cascading Style Sheets、CSS)、ジャバスクリプト(Javascript)などの言語で構成される、Webブラウザで解釈可能な情報である。
【0028】
APサーバは、画面情報を生成する。APサーバは、Webサーバからの要求に応じて情報を整理及び加工し、必要に応じてデータベース(ここでは、在庫情報123)とやり取りを行い、画面情報を生成する。APサーバは、生成した画面情報をWebサーバへ送信する。APサーバの実体としては、例えば、PHP(Hypertext Preprocessor)、ルビー(Ruby)、パイソン(Python)、ジャバ(Java)といった言語で記述されたアプリケーション等が適用される。
【0029】
以下の説明では、クライアント(端末装置20)に提供するデータや画面を制御及び生成し、Webサーバを経由して端末にそれらの情報を送信し、Webブラウザを介してユーザの端末に表示する、といったWebの技術を活用したアプリケーションの提供形態そのものを、Webアプリ131と総称する。
【0030】
サーバ装置10では、認証処理が実施される。ここでの認証処理は、サーバ装置10にアクセスしてきた端末装置20を認証する処理である。認証処理は、例えば、APIトークンを用いて行われる。この場合、例えば、端末装置20は、例えば、API通信に必要な情報(APIトークンに相当する文字列)を、予めサーバ装置10に発行してもらい、認証情報220として記憶させておく。端末装置20は、サーバ装置10にアクセスする際、APIトークンを、サーバ装置10に送信する。サーバ装置10は、端末装置20から通知されたAPIトークンが、例えば、自身が予め発行したものである場合には端末装置20が正しいクライアントであると認証し、サイトへのアクセスを許可する。
【0031】
端末装置20では、Webブラウザ230と、ネイティブアプリ231とが連携する。ネイティブアプリ231は、端末装置20にインストールされることによって利用可能なアプリケーションである。
【0032】
ネイティブアプリ231は、在庫管理に必要な機能のうち、少なくとも一部を実行する機能部である。ここでは、ネイティブアプリ231は、RFIDデバイス装置30との通信機能を有する。具体的には、ネイティブアプリ231は、RFIDデバイス装置30に、RFIDに埋め込まれた情報を読込むように要求する通知を行い、その応答としてRFIDデバイス装置30が読込んだ情報を受信する。また、ネイティブアプリ231は、RFIDデバイス装置30に、RFIDに情報を書込むように要求する通知を行い、その応答として、RFIDデバイス装置30から書込結果を示す情報を受信する。
【0033】
ネイティブアプリ231は、RFIDデバイス装置30のメーカー等によって提供されるSDKを用いて開発されたプログラムに基づく機能部である。SDKには、RFIDデバイス装置30を利用するための基本的な機能が実装済みである場合が多い。このため、SDKを利用することによって、RFIDデバイス装置30との通信機能を実現するプログラムの開発の負荷を低減することが可能である。
【0034】
ここで、在庫する部品の情報を入力画面など、RFIDデバイス装置30との通信機能以外の機能が、Webアプリ131によって、すでに開発済みである場合を考える。この場合、Webアプリ131にRFIDデバイス装置30との通信機能を実装しようとすると、SDKを利用することができないため、プログラムの開発の負荷が増大する。一方、ネイティブアプリ231に、在庫する部品の情報を入力する機能を実装しようとすると、すでに開発済みのWebアプリ131が無駄になってしまう。Webアプリ131が在庫する部品の情報を入力させる処理を行い、RFIDに情報を書込む場合にはネイティブアプリ231を利用しようとすると、情報を一時的に記憶させたり、Webアプリ131とネイティブアプリ231を両方起動させたりする必要があるため操作が煩雑となる。すなわち、Webアプリ131とネイティブアプリ231とを切り替えながら操作を行わなくてはならず、操作性(ユーザビリティ)が低下してしまう。操作性が低下することによって在庫管理がスムーズに行うことができず、その結果、作業効率を低下させてしまう可能性がある。
【0035】
この対策として、本実施形態では、ネイティブアプリ231の特定のコンテンツを指定するリンク(所謂、ディープリンク)を用いて、Webアプリ131とネイティブアプリ231とを連携させる(符号D)。
【0036】
具体的には、Webアプリ131は、RFIDへの情報の読込を実行する実行画面(
図5参照)に、例えば、実行ボタン(
図5におけるボタンWB)を表示させる。実行ボタンがタップ操作されると、特定のURI(Uniform Resource Identifier)にアクセスするように、プログラムされている。ここでは、ネイティブアプリ231における、RFIDから情報を読込むための読込画面(
図6参照)URIへのアクセスが実行される。これにより、担当者が、Webアプリ131の実行ボタンをタップ操作するだけで、ネイティブアプリ231における読込画面を表示させることができる。
【0037】
さらに、本実施形態では、ネイティブアプリ231へのディープリンクにて、完了画面を指定する。完了画面は、ネイティブアプリ231出の処理が完了した際に表示させるWebアプリ131の所定の画面である。
【0038】
具体的には、ネイティブアプリ231は、RFIDへの情報の読込結果を送信する送信画面(
図6の右側の画面参照)に、例えば、実行ボタン(
図6における右下のボタンNB)を表示させる。実行ボタンがタップ操作されると、特定のURI、ここでは、Webアプリ131における確認画面(
図7参照)のURIへのアクセスが実行される。これにより、担当者が、ネイティブアプリ231の実行ボタンをタップ操作するだけで、Webアプリ131における確認画面を表示させることができる。
【0039】
以上説明したように、Webアプリ131は、ディープリンクにて、ネイティブアプリ231の特定の画面を表示させると共に、ネイティブアプリ231における処理が完了した場合に完了画面を指定する。これにより、タップ操作によりWebアプリ131と、ネイティブアプリ231とをスムーズに切り替えることができ、操作性を低下させることなく、それぞれのアプリが有する機能を連携させた在庫管理を実現することが可能となる。Webアプリ131ですでに開発済みの機能をネイティブアプリ231に実装する必要もない。したがって、ユーザビリティを低下させることなく、かつ、開発コストを増大させることなく、Webアプリ131とネイティブアプリ231を連携させることが可能である。
【0040】
RFIDデバイス装置30は、ネイティブアプリ231からの要求に応じてRFIDへの読込或いは書込を実行する。
【0041】
ここで、RFIDへの読込を行う処理の流れについて、
図3を用いて説明する。
図3は、実施形態による制御システム1が行う処理の流れを示すシーケンス図である。
図3では読込の処理の流れを記載しているが、書込の処理についても同様な流れを適用することができる。
【0042】
ステップS1:端末装置20のWebブラウザ230は、サーバ装置10にログイン要求を行う。具体的には、Webブラウザ230は、Webアプリ131のサイトにアクセスし、例えばログインIDやそのパスワードを入力することによって、サイトへのログインを要求する。
ステップS2:サーバ装置10は、認証トークンを発行する。Webアプリ131(或いは、後述する認証部130)は、例えば、端末装置20から入力されたログインIDとパスワードの組合せが予め登録された組合せであれば、認証トークン(例えば、APIトークン)を発行し、発行した認証トークンを端末装置20に送信する。端末装置20は、認証トークンを受信し、受信した認証トークンを、認証情報220として記憶させる。Webブラウザ230は、ステップS3以降において、Webアプリ131にデータを送信する際に、例えばヘッダ部分に認証トークンを付してデータを送信する。これにより、サーバ装置10では、端末装置20からアクセスがある度に端末装置20を認証することが可能である。
【0043】
ステップS3:端末装置20は、Webブラウザ230を介して、Webアプリ131から在庫管理を行うための画面(Webアプリ画面)を示す情報を受信し、受信した情報に基づいて、当該画面を表示させる。在庫管理を行うための画面は、ステップS2において、認証トークンと共に、或いは、認証トークンの通知とは別のタイミングにで、Webアプリ131から通知される。
ステップS4:Webブラウザ230は、表示させた画面に対するユーザ(例えば、在庫管理の担当者)の操作を受け付ける。例えば、ユーザは、用途に応じて、機能を選択する。具体的には、ユーザは、在庫する部品の入庫日や数量などを入力する場合には入力画面を選択する。また、ユーザは、RFIDに埋め込まれた情報を読込む場合には実行画面を選択する。ユーザは、必要に応じて、選択した画面に情報を入力する。例えば、入力画面であれば、画面に表示された入力フォームにしたがって、在庫する部品の入庫日や数量などを入力する。
ステップS5:Webブラウザ230は、実行操作を受け付ける。ここでの実行操作は、ネイティブアプリ231へのディープリンクが実行される操作である。具体的には、ユーザによって、RFIDへの読込を実行する画面の実行ボタンがタップされる操作である。
【0044】
ステップS6:Webブラウザ230は、ネイティブアプリ231に読込要求を行う。具体的には、Webブラウザ230は、ネイティブアプリ231における読込画面のURIへのアクセスを実行する。
ステップS7:ネイティブアプリ231は、読込画面(ネイティブアプリ画面)を表示する。
ステップS8:ネイティブアプリ231は、表示させた画面に対するユーザの操作を受け付ける。ユーザにより読込を行うボタンがタップ操作されると、ネイティブアプリ231は、RFIDデバイス装置30と通信を行い、読込処理を開始する。
ステップS9:RFIDデバイス装置30は、ネイティブアプリ231に読込結果を通知する。
ステップS10:ネイティブアプリ231は、表示させた画面に対するユーザの読込完了操作を受け付ける。ここでの読込完了操作は、Webブラウザ230の画面に戻るディープリンクが実行される操作である。具体的には、ユーザによって、RFIDから読込んだ情報を送信する画面の送信ボタンがタップされる操作である。
ステップS11:ネイティブアプリ231は、Webブラウザ230に読込完了通知を行う。具体的には、ネイティブアプリ231は、Webブラウザ230における確認画面のURIへのアクセスを実行する。この場合において、ネイティブアプリ231は、RFIDから読込んだ情報をWebブラウザ230に通知する。
ステップS12:Webブラウザ230は、確認画面(Webアプリ画面)を表示する。
ステップS13:Webブラウザ230は、RFIDから読込んだ情報を、サーバ装置10に送信する。
【0045】
ここで、Webアプリ131とネイティブアプリの連携に伴って表示される画像について、
図4〜
図8を用いて説明する。
図4〜
図8は、実施形態による端末装置20に表示される画像の例を示す図である。
【0046】
図4には、在庫に関する情報入力を行うための画面(入力画面)の例が示されている。この入力画面は、Webアプリ131によって表示され、Webアプリ131のプログラムにしたがって処理が実行される。この図の例に示すように、入力画面には、例えば、「在庫を選択し…入力してください」のメッセージと共に、在庫に関する情報、例えば、在庫する部品の種類を入力する入力欄WGなどが表示される。担当者は、入力画面の入力フォームにしたがって、部品の種類などを入力する。入力画面の右下には、在庫を登録するための登録ボタンWBが表示される。担当者は、入力した情報に応じた在庫を登録する場合、登録ボタンWBをタップ操作する。
【0047】
図5には、在庫を登録するための画面(実行画面)の例が示されている。この実行画面は、Webアプリ131によって表示され、Webアプリ131のプログラムにしたがって処理が実行される。この図の例に示すように、実行画面には、例えば、「在庫を登録しますか」のメッセージと共に、登録する在庫の数量を入力する入力欄や、札紙を発行する際に行う機能を選択する選択欄WGなどが表示される。在庫を登録する際に行う機能としては、例えば、「RFID紐付」、「RFID書込」、「札紙印刷」などがある。「RFID紐付」が選択された場合、対象の在庫に付されたRFIDタグのタグIDを読込む処理が行われ(
図6参照)、読込まれたタグIDとその対象の在庫とが対応づけられて在庫情報123として記憶される。「RFID書込」が選択された場合、Webアプリ131により予め発行されたタグIDが、対象の在庫に貼付されたRFIDに書込む処理が行われる(
図8参照)。その後、発番されたタグIDが対象の在庫に対応づけられて在庫情報123として記憶される。「札紙印刷」が選択された場合、在庫情報123が札紙として印刷され、担当者等により印刷された札紙が在庫に貼付される。なお、「札紙印刷」が選択された場合、RFIDへの読込処理や書込処理は行われない。
【0048】
図6には、
図5において「RFID紐付」が選択された場合に表示される、RFIDに埋め込まれたタグIDを読込むための画面(タグ読込画面)の例が示されている。このタグ読込画面は、ネイティブアプリ231によって表示され、ネイティブアプリ231のプログラムにしたがって処理が実行される。
図5における実行ボタンWBには、このタグ読込画面のディープリンクが対応づけられており、
図5における実行ボタンWBがタップ操作されると、タグ読込画面のURIへのアクセスが実行され、タグ読込画面が表示される。
【0049】
この場合において、
図5における実行ボタンWBに対応づけられたディープリンクには、完了画面が指定されている。完了画面は、ネイティブアプリ231出の処理が完了した際に表示させるWebアプリ131の所定の画面である。例えば、
図6の右側の画面下部にある「送信」と記載されたボタンNBがタップされた場合、完了画面として、後述する
図7の確認画面が指定される。
【0050】
ここで、完了画面は、ネイティブアプリ231における処理の完了の状況に応じて、複数指定されていてもよい。例えば、読込処理が正常に完了した場合には
図7の確認画面が指定され、読込処理が中断されたりして正常に完了しないで終了した場合には
図4の入力画面が指定されるようにしてもよい。具体的には、
図6の左側の画面においては、上部にある「Webに戻る」と記載されたボタンNB、及び中央の「中止」と記載されたボタンNBがタップされた場合における完了画面として、
図5に示す実行画面、或いは
図4における入力画面が指定される。
【0051】
これにより、ネイティブアプリ231における処理の完了の状況に応じて、次に行うWebブラウザ230の処理を異なる処理とすることができる。例えば、RFIDへの書込処理が正常に完了した場合には、確認画面を表示することで次の在庫に札紙を発行させる処理に移行することができる。一方で、RFIDへの書込処理を中断させた場合には、入力画面に戻って入力情報を入力し直したり、実行画面に戻って発行する札紙の枚数を入力し直したりすることができる。これにより、ネイティブアプリ231における処理が正常に完了した場合と、そうでない場合とでその後の処理が異なるような場合であっても、操作性を阻害することなく、その後の処理をスムーズに実行することが可能となる。
【0052】
図7には、在庫登録後に、新規受入を行うか確認する画面(確認画面)の例が示されている。ここでの新規受入とは、新たな在庫を登録することである。この確認画面は、Webアプリ131によって表示され、Webアプリ131のプログラムにしたがって処理が実行される。この図の例に示すように、確認画面には、例えば、「…新規受入を行いますか」のメッセージと共に、「はい」、「いいえ」と記載されたボタンなどが表示される。担当者によって「はい」のボタンがタップ操作されると、入力画面が表示される。一方、担当者によって「いいえ」のボタンがタップ操作されると、例えば、Webアプリ131が終了する。なお、確認画面の表示に伴い、Webブラウザ230は、登録した在庫に関する情報、すなわち、タグIDと入力情報とを対応づけた情報を、サーバ装置10に送信する。サーバ装置10は、端末装置20から受信した在庫に関する情報を、在庫情報123として記憶させる。
【0053】
図8には、
図5において「RFID書込」が選択された場合に表示される、RFIDに情報を書込むための画面(タグ書込画面)の例が示されている。このタグ書込画面は、ネイティブアプリ231によって表示され、ネイティブアプリ231のプログラムにしたがって処理が実行される。
図5における選択欄WBに「RFID書込」が選択された状態にて実行ボタンWBがタップ操作されると、タグ書込画面のURIへのアクセスが実行され、タグ書込画面が表示される。
【0054】
この場合において、
図5の選択欄WBに「RFID書込」が選択された場合における実行ボタンWBに対応づけられたディープリンクには、完了画面が指定されている。完了画面は、ネイティブアプリ231出の処理が完了した際に表示させるWebアプリ131の所定の画面である。例えば、
図8の右側の画面下部にある「確認」と記載されたボタンNBがタップされた場合、完了画面として、後述する
図7の確認画面が指定される。
【0055】
ここで、完了画面は、ネイティブアプリ231における処理の完了の状況に応じて、複数指定されていてもよい。例えば、読込処理が正常に完了した場合には
図7の確認画面が指定され、読込処理が中断されたりして正常に完了しないで終了した場合には
図4の入力画面が指定されるようにしてもよい。具体的には、
図8の左側の画面においては、上部にある「Webに戻る」と記載されたボタンNB、及び下部の「書込みを終了」と記載されたボタンNBがタップされた場合における完了画面として、
図5に示す実行画面、或いは
図4における入力画面が指定される。なお、「書込みを終了」とは、例えば、書込を行う予定であった情報の書込みを行わずに書込み処理を終了させるボタンである。
【0056】
図9は、実施形態のサーバ装置10の構成例を示すブロック図である。サーバ装置10は、例えば、通信部11と、記憶部12と、制御部13とを備える。通信部11は、通信ネットワークNWを介して端末装置20と通信を行う。通信部11は、例えば、汎用の通信用IC(Integrated Circuit)などによって実現される。
【0057】
記憶部12は、例えば、HDD(Hard Disk Drive)やフラッシュメモリなどの記憶装置(非一過性の記憶媒体を備える記憶装置)、或いはこれらの組合せによって実現される。記憶部12は、サーバ装置10の各構成要素を実現するためのプログラム、プログラムを実行する際に用いられる変数、及び各種の情報を記憶する。サーバ装置10の各構成要素を実現するためのプログラムには、Webアプリ131の機能を実現するプログラムが含まれている。
【0058】
記憶部12は、例えば、認証情報120と、読込情報121と、書込情報122と、在庫情報123とを記憶する。認証情報120は、端末装置20を認証するために用いられる情報である。読込情報121は、読込処理を行うために用いられる情報である。書込情報122は書込処理を行うために用いられる情報である。在庫情報123は、在庫に関する情報である。
【0059】
制御部13は、サーバ装置10が備えるハードウェアとしてのCPU(Central Processing Unit)、GPU(Graphics Processing Unit)等のProcessing Unit(プロセッシングユニット)が記憶部92に記憶されたプログラムを実行することにより、機能が実現される。つまり、Webアプリ131のプログラムがCPU等のハードウェアによって実行されることにより、Webアプリ131の機能が実現される。
【0060】
制御部13は、例えば、認証部130と、Webアプリ131と、装置制御部132とを備える。認証部130は、端末装置20に対する認証に関する処理を行う。例えば、認証部130は、正規の端末装置20に対して認証トークンを発行する。認証部130は、発行した認証トークンを端末装置20に通知すると共に、認証情報120に記憶させる。認証部130は、認証トークンをヘッダに含めてアクセスしてきた端末装置20に対して、その認証トークンを検証し、認証トークンがサーバ装置10により発行されたものであれば、そのアクセスを許可する。
【0061】
Webアプリ131は、在庫管理を行う。Webアプリ131は、認証部130によって認証された端末装置20からのアクセスに応じて、在庫管理を行うための画面を示す情報を通知する。Webアプリ131は、端末装置20から通知された在庫に関する情報、例えば、RFIDのタグIDと、在庫に関して入力画面から入力された情報(入力情報)を対応づけた情報を受信し、受信した情報を、在庫情報123に記憶させる。
【0062】
Webアプリ131は、ユーザの画面操作により、RFIDへの情報の読込処理、或いは書込処理を実行する実行ボタンのタップ操作が行われた場合、ネイティブアプリ231の画面のURIを指定するディープリンクを通知する。このディープリンクには、完了画面が指定されている。
【0063】
装置制御部132は、サーバ装置10を統合的に制御する。例えば、装置制御部132は、通信部11によって受信された在庫に関する情報を、記憶部12の在庫情報123に記憶させる。装置制御部132は、通信部11によって受信された端末装置20からのアクセス情報を、認証部130に出力する。装置制御部132は、認証部130によって発行された認証トークンを記憶部12の認証情報120に記憶させたり、認証結果をWebアプリ131に出力したりする。
【0064】
図10は、実施形態の端末装置20の構成例を示すブロック図である。端末装置20は、例えば、通信部21と、記憶部22と、制御部23とを備える。通信部21は、NW通信部210と、デバイス通信部211とを備える。NW通信部210は、通信ネットワークNWを介して端末装置20と通信を行う。NW通信部210は、例えば、汎用の通信用ICなどによって実現される。デバイス通信部211は、例えば、USB接続、有線LAN、或いは、Bluetooth(登録商標)や無線LANなどの近距離無線通信などによって通信可能に接続される。
【0065】
記憶部22は、例えば、HDDやフラッシュメモリなどの記憶装置、或いはこれらの組合せによって実現される。記憶部22は、端末装置20の各構成要素を実現するためのプログラム、プログラムを実行する際に用いられる変数、及び各種の情報を記憶する。端末装置20の各構成要素を実現するためのプログラムには、ネイティブアプリ231の機能を実現するプログラムが含まれている。
【0066】
記憶部22は、例えば、認証情報220を記憶する。認証情報120は、サーバ装置10から認証されるために用いられる情報である。
【0067】
制御部23は、端末装置20が備えるハードウェアとしてのCPU、GPU等のプロセッシングユニットが記憶部92に記憶されたプログラムを実行することにより、機能が実現される。つまり、ネイティブアプリ231のプログラムがCPU等のハードウェアによって実行されることにより、ネイティブアプリ231の機能が実現される。
【0068】
制御部23は、例えば、Webブラウザ230と、ネイティブアプリ231と、装置制御部232とを備える。Webブラウザ230は、ユーザの入力操作に応じて、Webアプリ131のサイトにアクセスすることによって、Webアプリ131から在庫管理に用いられる画面を示す情報を受信する。Webブラウザ230は、受信した画面の情報に基づいて、表示部24に画面を表示させる。Webブラウザ230は、表示した画面に対して行われた操作の内容を、Webアプリ131に通知し、その応答として、処理結果や在庫管理に用いられる画面を示す情報を受信する。Webブラウザ230は、Webアプリ131から受信した情報に応じた画面を表示させる。或いは、Webブラウザ230は、Webアプリ131から受信した情報に応じた処理を実行する。
【0069】
Webブラウザ230は、ユーザにより特定の実行ボタン(RFIDへの読込、或いは書込を実行するボタン)がタップ操作された場合、その操作がされた旨の情報を、サーバ装置10に通知する。サーバ装置10のWebアプリ131は、その操作の応答として、ネイティブアプリ231の読込、或いは書込の処理を実行するための画面のURIにアクセスするディープリンクを、Webブラウザ230に通知する。このディープリンクには、ネイティブアプリ231側のURIと共に、Webアプリ131側の完了画面を示す情報が含まれている。Webブラウザ230は、通知されたディープリンクに従って、ネイティブアプリ231の読込、或いは書込を実行するための画面にアクセスする。
【0070】
ネイティブアプリ231は、ディープリンクによるアクセスに応じて、URIに相当する画面、ネイティブアプリ231によりRFIDへの読込、或いは書込を実行するための画面を表示する。ネイティブアプリ231は、ユーザの入力操作に応じて、RFIDデバイス装置30と通信し、RFIDへの読込、或いは書込を実行する。ネイティブアプリ231は、RFIDへの読込、或いは書込を実行した結果を表示する。
【0071】
ネイティブアプリ231は、ユーザにより特定の実行ボタン(読込情報の送信、或いは書込を完了するボタン)がタップ操作された場合、Webアプリ131側の、完了画面として指定された画面のURIにアクセスする。これにより。Webアプリ131側の完了画面が表示される。
【0072】
装置制御部232は、端末装置20を統合的に制御する。例えば、装置制御部232は、NW通信部210によって受信されたWebアプリ131からの情報を、Webブラウザ230に出力する。装置制御部232は、ネイティブアプリ231による読込処理、或いは書込処理に応じて、デバイス通信部211を介して、RFIDデバイス装置30と通信を行う。
【0073】
表示部24は、例えば、液晶ディスプレイなどの表示装置を含み、制御部23にしたがった画像を表示装置に表示する。表示部24は、例えば、Webブラウザ230を介してWebアプリ131から通知された在庫管理を行うための入力画面を表示する。表示部24は、例えば、ネイティブアプリ231により読込処理や書込処理を行うための画面を表示する。
【0074】
入力部25は、例えば、マウスやキーボード、タッチパネルなどの入力装置を含み、入力装置に入力された情報を取得し、取得した情報を制御部23に出力する。
【0075】
図11は、実施形態による読込情報121Aの構成例を示す図である。読込情報121Aは、読込処理が行われる場合に、Webアプリ131からネイティブアプリ231に通知される情報である。読込情報121Aは、例えば、呼び出し画面ID、戻り先画面ID、送信先画面ID、識別区分、動作モードなどの項目を備える。呼び出し画面IDは、ネイティブアプリ231を呼び出す場合に、アクセスする画面の識別情報であり、例えば、
図6に示す「タグ読込画面」の識別情報である。戻り先画面IDは、読込処理を中断するなどしてWebアプリ131に戻る場合に、アクセスする画面の識別情報であり、例えば、
図4に示す「入力画面」の識別情報である。送信先画面IDは、読込処理を完了してWebアプリ131に戻る場合に、アクセスする画面の識別情報であり、例えば、
図7に示す「確認画面」の識別情報である。戻り先画面は「完了画面」の一例である。送信先画面は「完了画面」の一例である。識別区分は、在庫管理に関する識別の区分を示す情報であり、例えば、在庫、パレット、マルチの区分を示す情報である。動作モードは、ネイティブアプリ231の動作モードを示す情報であり、例えば、RFIDの読込、RFID以外の情報記録媒体(例えば、バーコード)の読込のいずれかを示す情報である。
【0076】
図12は、実施形態による読込情報121Bの構成例を示す図である。読込情報121Bは、読込処理が行われる場合に、ネイティブアプリ231からWebアプリ131に通知される情報である。読込情報121Bは、例えば、呼び出し画面ID、識別区分、動作モード、読込値などの項目を備える。呼び出し画面IDは、Webアプリ131を呼び出す場合に、アクセスする画面の識別情報であり、
図11の読込情報121Aにおいて、送信先画面ID、或いは、戻り先画面IDとして指定された画面IDである。この図の例では、呼び出し画面IDとして、読込情報121Aの送信先画面IDにて指定された画面IDが示されている。識別区分、動作モードは、読込情報121Aと同様である。読取値は、RFIDから読込んだ情報である。
【0077】
図13は、実施形態による書込情報122Aの構成例を示す図である。書込情報122Aは、書込処理が行われる場合に、Webアプリ131からネイティブアプリ231に通知される情報である。読込情報121Bは、例えば、呼び出し画面ID、戻り先画面ID、送信先画面ID、識別区分、動作モード、データ数、識別コード、タグID、処理区分、在庫情報などの項目を備える。呼び出し画面IDは、ネイティブアプリ231を呼び出す場合に、アクセスする画面の識別情報であり、例えば、
図8に示す「タグ書込画面」の識別情報である。戻り先画面IDは、書込処理を中断するなどしてWebアプリ131に戻る場合に、アクセスする画面の識別情報であり、例えば、
図4に示す「入力画面」の識別情報である。送信先画面IDは、書込処理を完了してWebアプリ131に戻る場合に、アクセスする画面の識別情報であり、例えば、
図7に示す「確認画面」の識別情報である。識別区分、動作モードは、読込情報121Aと同様である。データ数は、書込を行うデータの数を示す情報である。識別コード、タグID、処理区分、在庫情報のそれぞれは、RFIDに書込むデータの具体的な内容である。識別コードは、在庫番号、或いはパレット番号などを示す情報である。タグIDは、在庫に付すRFIDのタグIDを示す情報である。処理区分は、書込処理の区分を示す情報であり、例えば、「未処理」又は「処理済」のいずれかを示す情報である。未処理は書込処理が実施されていないことを示す。処理済は書込処理を実施済みであることを示す。在庫情報は、在庫する部品の種類や数量などの具体的な内容を示す情報である。書込情報122Aには、データ数分の、「識別コード、タグID、処理区分、在庫情報」のそれぞれが格納される。例えば、データ数がN(Nは任意の自然数)である場合、N個分の「識別コード、タグID、処理区分、在庫情報」のそれぞれが書込情報122Aに格納される。
【0078】
図14は、実施形態による書込情報122Bの構成例を示す図である。書込情報122Bは、書込処理が行われる場合に、ネイティブアプリ231からWebアプリ131に通知される情報である。書込情報122Bは、例えば、呼び出し画面ID、識別区分、動作モード、データ数、識別コード、タグID、処理区分などの項目を備える。呼び出し画面IDは、Webアプリ131を呼び出す場合に、アクセスする画面の識別情報であり、
図13の書込情報122Aにおいて、送信先画面ID、或いは、戻り先画面IDとして指定された画面IDである。この図の例では、呼び出し画面IDとして、書込情報122Aの送信先画面IDにて指定された画面IDが示されている。識別区分、動作モード、データ数、識別コード、タグID、処理区分のそれぞれは、書込情報122Aと同様である。書込情報122Bには、データ数分の、「識別コード、タグID、処理区分」のそれぞれが格納される。
【0079】
図15は、実施形態による在庫情報123の構成例を示す図である。在庫情報123は、在庫ごとに生成される。在庫情報123は、例えば、在庫ID、タグID、在庫分類、類推、数量、備考などの項目を備える。在庫IDは在庫を一意に識別する識別情報である。タグIDは在庫に付されたRFIDのタグIDである。在庫分類は在庫の分類を示す情報である。種類は在庫の種類を示す情報である。数量は、在庫の数量を示す情報である。備考は在庫に関する備考欄である。
【0080】
以上説明したように、実施形態の制御システム1は、Webアプリ131と、Webブラウザ230とネイティブアプリ231とを備える。Webアプリ131は、ウェブサイトから提供されるウェブアプリケーションである。Webアプリ131が行う処理には、端末装置20と通信可能に接続されるRFIDデバイス装置30(デバイス装置の一例)にRFIDへの読込処理、又は書込処理(当該デバイス装置のデバイス機能の一例)を実行させる処理を含む。Webブラウザ230は、端末装置20からWebアプリ131を提供するウェブサイトにアクセスし、Webアプリ131から、
図4の入力画面(前記アクセスに応じた第1画面の一例)を示す情報を取得し、取得した情報に基づいて入力画面を表示させる。ネイティブアプリ231は、端末装置20にインストールされたプログラムが実行されることによって動作し、RFIDデバイス装置30にRFIDへの読込処理、又は書込処理を実行させる。Webアプリ131は、RFIDへの読込処理、又は書込処理を実行する場合、ネイティブアプリ231によって読込処理、又は書込処理を実行させるための画面(第2画面の一例)、及びWebアプリ131によって処理が実行される完了画面(第3画面の一例)を示す情報を、Webブラウザ230に通知する。Webブラウザ230は、Webアプリ131から取得した第2画面、及び第3画面を示す情報をネイティブアプリ231に通知する(ディープリンクにてURIにアクセスする)。ネイティブアプリ231は、Webブラウザ230から取得した情報に基づいて第2画面を表示させる。ネイティブアプリ231は、第2画面に対して行われた操作に応じた処理を実行する。ネイティブアプリ231は、操作に応じた処理が完了した場合に、第3画面を示す情報をWebブラウザ230に通知する(ディープリンクにてURIにアクセスする)。Webブラウザ230は、ネイティブアプリ231から取得した情報に基づいて第3画面を表示させる。
【0081】
これにより、実施形態の制御システム1は、Webアプリ131の画面から、ディープリンクにて、ネイティブアプリ231の特定の画面を表示させる際に、ネイティブアプリ231における処理が完了した場合に戻り画面を指定することができる。これにより、ユーザのタップ操作によりWebアプリ131と、ネイティブアプリ231とをスムーズに切り替えることができ、操作性を低下させることなく、それぞれのアプリが有する機能を連携させた在庫管理を実現することが可能となる。Webアプリ131ですでに開発済みの機能をネイティブアプリ231に実装する必要もない。したがって、ユーザビリティを低下させることなく、かつ、開発コストを増大させることなく、Webアプリ131とネイティブアプリ231を連携させることが可能である。
【0082】
また、実施形態の制御システム1では、Webブラウザ230は、RFIDへの読込処理又は書込処理を実行する場合に、Webアプリ131から、戻り先画面(第4画面の一例)を示す情報を取得するようにしてもよい。戻り先画面は、ネイティブアプリ231によって読込処理又は書込処理が中止された場合に表示させる画面である。これにより、実施形態の制御システム1では、ネイティブアプリ231における処理の完了の状況に応じて、次に行うWebブラウザ230の処理を異なる処理とすることができる。したがって、ネイティブアプリ231における処理が正常に完了した場合と、そうでない場合とでその後の処理が異なるような場合であっても、操作性を阻害することなく、その後の処理をスムーズに実行することが可能となる。
【0083】
また、実施形態のサーバ装置10がWebアプリ131を備えるようにしてもよい。これにより、実施形態のサーバ装置10は、Webアプリ131と、端末装置20のネイティブアプリ231とを連携させて、スムーズに在庫管理に関する処理を実行することができる。
【0084】
上述した実施形態における制御システム1、及びサーバ装置10の全部または一部をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【0085】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【解決手段】ウェブアプリケーションは、デバイス機能を実行させる場合、ネイティブアプリケーションによって前記デバイス機能を実行させるための画面である第2画面、及び前記ウェブアプリケーションによって処理が実行される画面である第3画面を示す情報を、前記ウェブブラウザに通知し、前記ネイティブアプリケーションは、前記第2画面を表示させ、前記第2画面に対して行われた操作に応じた処理を実行し、前記操作に応じた処理が完了した場合に、前記第3画面を示す情報を前記ウェブブラウザに通知し、前記ウェブブラウザは、前記ネイティブアプリケーションから取得した情報に基づいて前記第3画面を表示させる。