(57)【特許請求の範囲】
【請求項１】
ウェブサイトから提供されるウェブアプリケーションであって、端末装置と通信可能に接続されるデバイス装置に当該デバイス装置のデバイス機能を実行させる処理を含むウェブアプリケーションと、
前記端末装置から前記ウェブアプリケーションを提供するウェブサイトにアクセスし、前記ウェブアプリケーションから前記アクセスに応じた第１画面を示す情報を取得し、取得した情報に基づいて前記第１画面を表示させるウェブブラウザと、
前記端末装置にインストールされたプログラムが実行されることによって動作し、前記デバイス装置に当該デバイス装置の機能を実行させるネイティブアプリケーションと、
を備え、
前記ウェブアプリケーションは、前記ネイティブアプリケーションによる処理及び前記ウェブアプリケーションによる処理を連携させることによって前記デバイス機能を実行させる場合、前記ネイティブアプリケーションによって処理が実行される画面である第２画面、及び前記ネイティブアプリケーションによる処理が完了した場合に表示させる第３画面であって、前記ウェブアプリケーションによって処理が実行される画面である第３画面を示す情報を、前記ウェブブラウザに通知し、
前記ウェブブラウザは、前記ウェブアプリケーションから取得した前記第２画面及び前記第３画面を示す情報を前記ネイティブアプリケーションに通知し、
前記ネイティブアプリケーションは、前記ウェブブラウザから取得した情報に基づいて前記第２画面を表示させ、前記第２画面に対して行われた操作に応じた処理を実行し、前記操作に応じた処理が完了した場合に、前記第３画面を示す情報を前記ウェブブラウザに通知し、
前記ウェブブラウザは、前記ネイティブアプリケーションから取得した情報に基づいて前記第３画面を表示させる、
制御システム。
【請求項２】
前記デバイス装置は、ＲＦＩＤに書込まれた第１情報を読込む読込装置であり、
前記デバイス機能は、前記第１情報を読込む機能であり、
前記第２画面は、前記第１情報を読込む画面であり、
前記ネイティブアプリケーションは、前記第２画面に対して行われた操作に応じて前記第１情報を読込み、前記読込んだ前記第１情報を前記第２画面に表示させ、前記読込んだ前記第１情報と共に前記第３画面を示す情報を前記ウェブブラウザに通知し、
前記ウェブブラウザは、前記ネイティブアプリケーションによって読込まれた前記第１情報を、前記ウェブアプリケーションを提供するウェブサイトに送信する、
請求項１に記載の制御システム。
【請求項３】
前記デバイス装置は、ＲＦＩＤに情報を書込む書込装置であり、
前記デバイス機能は、ＲＦＩＤに情報を書込む機能であり、
前記第２画面は、ＲＦＩＤに情報を書込む画面であり、
前記ウェブブラウザは、ＲＦＩＤに書込む情報を取得し、取得した情報を、前記第２画面及び前記第３画面を示す情報と共に、前記ネイティブアプリケーションに通知し、
前記ネイティブアプリケーションは、ＲＦＩＤに書込む情報を前記第２画面に表示させ、前記第２画面に対して行われた操作に応じてＲＦＩＤに情報を書込み、前記書込みが完了した場合に、前記第３画面を示す情報を前記ウェブブラウザに通知する、
請求項１又は請求項２に記載の制御システム。
【請求項４】
前記ウェブブラウザは、前記デバイス機能を実行させる場合、前記ネイティブアプリケーションによって前記デバイス機能を実行させる処理が中止された場合に表示させる、前記ウェブアプリケーションの画面である第４画面を示す情報を取得し、前記取得した前記第４画面を示す情報を、前記第２画面及び前記第３画面を示す情報と共に、前記ネイティブアプリケーションに通知し、
前記ネイティブアプリケーションは、前記第２画面に対して、前記デバイス機能を実行させる処理を中止する操作が行われた場合、前記第４画面を示す情報を前記ウェブブラウザに通知し、
前記ウェブブラウザは、前記デバイス装置から取得した情報に基づいて前記第４画面を表示させる、
請求項１から請求項３のいずれか一項に記載の制御システム。
【請求項５】
ウェブサイトから提供されるウェブアプリケーションであって、端末装置と通信可能に接続されるデバイス装置に当該デバイス装置のデバイス機能を実行させる処理を含むウェブアプリケーションを有し
前記端末装置から前記ウェブアプリケーションを提供するウェブサイトにアクセスし、前記ウェブアプリケーションから前記アクセスに応じた第１画面を示す情報を取得し、取得した情報に基づいて前記第１画面を表示させるウェブブラウザと、前記端末装置にインストールされたプログラムが実行されることによって、前記デバイス装置に当該デバイス装置の機能を実行させるネイティブアプリケーションと、を有する前記端末装置に、前記デバイス機能を実行させる、
サーバ装置であって、
前記ウェブアプリケーションは、
前記ネイティブアプリケーションによる処理及び前記ウェブアプリケーションによる処理を連携させることによって前記デバイス機能を実行させる場合、前記ネイティブアプリケーションによって処理が実行される画面である第２画面、及び前記ネイティブアプリケーションによる処理が完了した場合に表示させる第３画面であって、前記ウェブアプリケーションによって処理が実行される画面である第３画面を示す情報を、前記ウェブブラウザに通知し、
前記ウェブブラウザに、前記ウェブアプリケーションから取得した前記第２画面及び前記第３画面を示す情報を前記ネイティブアプリケーションに通知させ、
前記ネイティブアプリケーションによって、前記ウェブブラウザから取得した情報に基づいて前記第２画面が表示され、前記第２画面に対して行われた操作に応じた処理が実行され、前記操作に応じた処理が完了した場合に前記ウェブブラウザに通知される前記第３画面を示す情報に基づいて、前記ウェブブラウザに前記第３画面を表示させる、
サーバ装置。
【請求項６】
ウェブサイトから提供されるウェブアプリケーションであって、端末装置と通信可能に接続されるデバイス装置に当該デバイス装置のデバイス機能を実行させる処理を含むウェブアプリケーションを有し、
前記端末装置から前記ウェブアプリケーションを提供するウェブサイトにアクセスし、前記ウェブアプリケーションから前記アクセスに応じた第１画面を示す情報を取得し、取得した情報に基づいて前記第１画面を表示させるウェブブラウザと、前記端末装置にインストールされたプログラムが実行されることによって、前記デバイス装置に当該デバイス装置の機能を実行させるネイティブアプリケーションと、を有する前記端末装置に、前記デバイス機能を実行させる、
サーバ装置により実行される制御方法であって、
前記ウェブアプリケーションが、
前記ネイティブアプリケーションによる処理及び前記ウェブアプリケーションによる処理を連携させることによって前記デバイス機能を実行させる場合、前記ネイティブアプリケーションによって処理が実行される画面である第２画面、及び前記ネイティブアプリケーションによる処理が完了した場合に表示させる第３画面であって、前記ウェブアプリケーションによって処理が実行される画面である第３画面を示す情報を、前記ウェブブラウザに通知し、
前記ウェブブラウザに、前記ウェブアプリケーションから取得した前記第２画面及び前記第３画面を示す情報を前記ネイティブアプリケーションに通知させ、
前記ネイティブアプリケーションによって、前記ウェブブラウザから取得した情報に基づいて前記第２画面が表示され、前記第２画面に対して行われた操作に応じた処理が実行され、前記操作に応じた処理が完了した場合に前記ウェブブラウザに通知される前記第３画面を示す情報に基づいて、前記ウェブブラウザに前記第３画面を表示させる、
制御方法。
【請求項７】
ウェブサイトから提供されるウェブアプリケーションであって、端末装置と通信可能に接続されるデバイス装置に当該デバイス装置のデバイス機能を実行させる処理を含むウェブアプリケーションを有し、
前記端末装置から前記ウェブアプリケーションを提供するウェブサイトにアクセスし、前記ウェブアプリケーションから前記アクセスに応じた第１画面を示す情報を取得し、取得した情報に基づいて前記第１画面を表示させるウェブブラウザと、前記端末装置にインストールされたプログラムが実行されることによって、前記デバイス装置に当該デバイス装置の機能を実行させるネイティブアプリケーションと、を有する前記端末装置に、前記デバイス機能を実行させる、
サーバ装置により実行されるプログラムであって、
前記ウェブアプリケーションに、
前記ネイティブアプリケーションによる処理及び前記ウェブアプリケーションによる処理を連携させることによって前記デバイス機能を実行させる場合、前記ネイティブアプリケーションによって処理が実行される画面である第２画面、及び前記ネイティブアプリケーションによる処理が完了した場合に表示させる第３画面であって、前記ウェブアプリケーションによって処理が実行される画面である第３画面を示す情報を、前記ウェブブラウザに通知させ、
前記ウェブブラウザに、前記ウェブアプリケーションから取得した前記第２画面及び前記第３画面を示す情報を前記ネイティブアプリケーションに通知させ、
前記ネイティブアプリケーションによって、前記ウェブブラウザから取得した情報に基づいて前記第２画面が表示され、前記第２画面に対して行われた操作に応じた処理が実行され、前記操作に応じた処理が完了した場合に前記ウェブブラウザに通知される前記第３画面を示す情報に基づいて、前記ウェブブラウザに前記第３画面を表示させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御システム、サーバ装置、制御方法、及びプログラムに関する。
【背景技術】
【０００２】
製造現場において、ＲＦＩＤ(Radio Frequency Identification)等の情報記録媒体を利用した在庫管理が行われている（例えば、特許文献１参照）。このような製造現場では、リーダライタ等のデバイス装置と、端末装置とを連携させることによって在庫管理が行われる。例えば、デバイス装置がＲＦＩＤから読み込んだ情報を端末装置に通知し、端末装置がクラウドサーバ等に当該情報を記憶させる。また、端末装置がＲＦＩＤに書込みたい情報をデバイス装置に通知し、デバイス装置がＲＦＩＤに情報を書込む。
【０００３】
このようなデバイス装置と端末装置とを連携させる処理は、アプリケーションプログラム（以下、アプリ）により実行される。デバイス装置と端末装置とを連携させるアプリを開発するためには、デバイス装置のメーカー等によって提供される専用のアプリ開発キット（ＳＤＫ、Software Development Kit）が利用されることが一般的である。ＳＤＫでは対応可能なプラットフォーム、例えば、ＯＳ（Operating System）の種類や環境が定められている。例えば、開発者は、ＳＤＫの中から開発するプラットフォームを選択し、選択したＳＤＫを用いてアプリを開発する。デバイス装置においては、ネイティブアプリケーション（以下、ネイティブアプリ）にてＳＤＫが提供されることが多い。ネイティブアプリとは、端末装置にインストールされることで利用可能となるアプリである。
【０００４】
一方、近年では、端末装置のＯＳ（Operating System）によらず、利用可能なＷｅｂアプリケーション（以下、Ｗｅｂアプリ）が増えてきている。Ｗｅｂアプリは、Ｗｅｂブラウザを介して実行されるため、端末装置のＯＳに依存しない。このため、ＯＳごとに開発する必要がなく、ネイティブアプリを開発する場合と比較して開発コストを抑えることが可能である。つまり、Ｗｅｂアプリによってデバイス装置と端末装置とを連携させるようにすれば、開発コストを抑えることができる。
【０００５】
ＳＤＫがネイティブアプリで提供されている場合、Ｗｅｂアプリでデバイス装置と端末装置とを連携させるには、ネイティブアプリを経由して読込処理や書込処理を行わなければならない。Ｗｅｂアプリでデバイス装置と端末装置とを連携させる従来手法としては、下記の手法が考えられる。
【０００６】
従来手法（１）は、端末装置が、ネイティブアプリを用いてＲＦＩＤ等のセンサデータを一時的に端末装置が取得し、Ｗｅｂアプリを用いて端末装置が取得したデータをクラウドサーバにアップロードする手法である。
従来手法（２）は、端末装置が、ネイティブアプリを用いてＲＦＩＤ等のセンサデータをクラウドサーバ等に送信し、Ｗｅｂアプリを用いてクラウドサーバに記憶された情報を参照する手法である。
従来手法（３）は、Ｗｅｂアプリと同等の機能をネイティブアプリに実装し、ネイティブアプリを用いてＲＦＩＤ等のセンサデータをクラウドサーバ等に送信し、ネイティブアプリ又はＷｅｂアプリを用いてクラウドサーバに記憶された情報を参照する手法である。
【０００７】
Ｗｅｂアプリとネイティブアプリを連携させる方法として、例えば、特許文献２には、複数のソフトウェアプラットフォームを搭載し、各プラットフォーム上で実行されるプログラム同士を垣根なく連携して動作できるようにする技術が開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】国際公開第２００５／１１５８９０号
【特許文献２】特許第６３６６３７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、従来の手法には問題があった。従来手法（１）、及び従来手法（２）では、端末装置を操作するユーザは、ネイティブアプリとＷｅｂアプリとを切り替えながら操作を行わなくてはならず、ネイティブアプリまたはＷｅｂアプリを単体で操作する場合と比べ、操作が煩わしくなるためユーザビリティを低下させてしまうという問題があった。従来手法（３）では、Ｗｅｂアプリと同等の機能をネイティブアプリに実装しなくてはならず、開発コストがかかるという問題があった。
【００１０】
本発明は、このような事情に鑑みてなされたもので、ユーザビリティを低下させることなく、かつ、開発コストを増大させることなく、Ｗｅｂアプリとネイティブアプリを連携させることができる制御システム、サーバ装置、制御方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の、制御システムは、ウェブサイトから提供されるウェブアプリケーションであって、端末装置と通信可能に接続されるデバイス装置に当該デバイス装置のデバイス機能を実行させる処理を含むウェブアプリケーションと、前記端末装置から前記ウェブアプリケーションを提供するウェブサイトにアクセスし、前記ウェブアプリケーションから前記アクセスに応じた第１画面を示す情報を取得し、取得した情報に基づいて前記第１画面を表示させるウェブブラウザと、前記端末装置にインストールされたプログラムが実行されることによって動作し、前記デバイス装置に当該デバイス装置の機能を実行させるネイティブアプリケーションと、を備え、前記ウェブアプリケーションは、前記ネイティブアプリケーションによる処理及び前記ウェブアプリケーションによる処理を連携させることによって前記デバイス機能を実行させる場合、前記ネイティブアプリケーションによって処理が実行される画面である第２画面、及び前記ネイティブアプリケーションによる処理が完了した場合に表示させる第３画面であって、前記ウェブアプリケーションによって処理が実行される画面である第３画面を示す情報を、前記ウェブブラウザに通知し、前記ウェブブラウザは、前記ウェブアプリケーションから取得した前記第２画面及び前記第３画面を示す情報を前記ネイティブアプリケーションに通知し、前記ネイティブアプリケーションは、前記ウェブブラウザから取得した情報に基づいて前記第２画面を表示させ、前記第２画面に対して行われた操作に応じた処理を実行し、前記操作に応じた処理が完了した場合に、前記第３画面を示す情報を前記ウェブブラウザに通知し、前記ウェブブラウザは、前記ネイティブアプリケーションから取得した情報に基づいて前記第３画面を表示させる。
【００１２】
本発明の、サーバ装置は、ウェブサイトから提供されるウェブアプリケーションであって、端末装置と通信可能に接続されるデバイス装置に当該デバイス装置のデバイス機能を実行させる処理を含むウェブアプリケーションを有し、前記端末装置から前記ウェブアプリケーションを提供するウェブサイトにアクセスし、前記ウェブアプリケーションから前記アクセスに応じた第１画面を示す情報を取得し、取得した情報に基づいて前記第１画面を表示させるウェブブラウザと、前記端末装置にインストールされたプログラムが実行されることによって、前記デバイス装置に当該デバイス装置の機能を実行させるネイティブアプリケーションと、を有する前記端末装置に、前記デバイス機能を実行させるサーバ装置であって、前記ウェブアプリケーションは、前記ネイティブアプリケーションによる処理及び前記ウェブアプリケーションによる処理を連携させることによって前記デバイス機能を実行させる場合、前記ネイティブアプリケーションによって処理が実行される画面である第２画面、及び前記ネイティブアプリケーションによる処理が完了した場合に表示させる第３画面であって、前記ウェブアプリケーションによって処理が実行される画面である第３画面を示す情報を、前記ウェブブラウザに通知し、前記ウェブブラウザに、前記ウェブアプリケーションから取得した前記第２画面及び前記第３画面を示す情報を前記ネイティブアプリケーションに通知させ、前記ネイティブアプリケーションによって、前記ウェブブラウザから取得した情報に基づいて前記第２画面が表示され、前記第２画面に対して行われた操作に応じた処理が実行され、前記操作に応じた処理が完了した場合に前記ウェブブラウザに通知される前記第３画面を示す情報に基づいて、前記ウェブブラウザに前記第３画面を表示させる。
【００１３】
本発明の、制御方法は、ウェブサイトから提供されるウェブアプリケーションであって、端末装置と通信可能に接続されるデバイス装置に当該デバイス装置のデバイス機能を実行させる処理を含むウェブアプリケーションを有し、前記端末装置から前記ウェブアプリケーションを提供するウェブサイトにアクセスし、前記ウェブアプリケーションから前記アクセスに応じた第１画面を示す情報を取得し、取得した情報に基づいて前記第１画面を表示させるウェブブラウザと、前記端末装置にインストールされたプログラムが実行されることによって、前記デバイス装置に当該デバイス装置の機能を実行させるネイティブアプリケーションと、を有する前記端末装置に、前記デバイス機能を実行させるサーバ装置により実行される制御方法であって、前記ウェブアプリケーションが、前記ネイティブアプリケーションによる処理及び前記ウェブアプリケーションによる処理を連携させることによって前記デバイス機能を実行させる場合、前記ネイティブアプリケーションによって処理が実行される画面である第２画面、及び前記ネイティブアプリケーションによる処理が完了した場合に表示させる第３画面であって、前記ウェブアプリケーションによって処理が実行される画面である第３画面を示す情報を、前記ウェブブラウザに通知し、前記ウェブブラウザに、前記ウェブアプリケーションから取得した前記第２画面及び前記第３画面を示す情報を前記ネイティブアプリケーションに通知させ、前記ネイティブアプリケーションによって、前記ウェブブラウザから取得した情報に基づいて前記第２画面が表示され、前記第２画面に対して行われた操作に応じた処理が実行され、前記操作に応じた処理が完了した場合に前記ウェブブラウザに通知される前記第３画面を示す情報に基づいて、前記ウェブブラウザに前記第３画面を表示させる。
【００１４】
本発明のプログラムは、ウェブサイトから提供されるウェブアプリケーションであって、端末装置と通信可能に接続されるデバイス装置に当該デバイス装置のデバイス機能を実行させる処理を含むウェブアプリケーションを有し、前記端末装置から前記ウェブアプリケーションを提供するウェブサイトにアクセスし、前記ウェブアプリケーションから前記アクセスに応じた第１画面を示す情報を取得し、取得した情報に基づいて前記第１画面を表示させるウェブブラウザと、前記端末装置にインストールされたプログラムが実行されることによって、前記デバイス装置に当該デバイス装置の機能を実行させるネイティブアプリケーションと、を有する前記端末装置に、前記デバイス機能を実行させるサーバ装置により実行されるプログラムであって、前記ウェブアプリケーションに、前記ネイティブアプリケーションによる処理及び前記ウェブアプリケーションによる処理を連携させることによって前記デバイス機能を実行させる場合、前記ネイティブアプリケーションによって処理が実行される画面である第２画面、及び前記ネイティブアプリケーションによる処理が完了した場合に表示させる第３画面であって、前記ウェブアプリケーションによって処理が実行される画面である第３画面を示す情報を、前記ウェブブラウザに通知させ、前記ウェブブラウザに、前記ウェブアプリケーションから取得した前記第２画面及び前記第３画面を示す情報を前記ネイティブアプリケーションに通知させ、前記ネイティブアプリケーションによって、前記ウェブブラウザから取得した情報に基づいて前記第２画面が表示され、前記第２画面に対して行われた操作に応じた処理が実行され、前記操作に応じた処理が完了した場合に前記ウェブブラウザに通知される前記第３画面を示す情報に基づいて、前記ウェブブラウザに前記第３画面を表示させる。
【発明の効果】
【００１５】
本発明によれば、ユーザビリティを低下させることなく、かつ、開発コストを増大させることなく、Ｗｅｂアプリとネイティブアプリを連携させることができる。
【図面の簡単な説明】
【００１６】
【図１】実施形態による制御システム１の概要を示す図である。
【図２】実施形態による制御システム１が行う処理の流れを示す図である。
【図３】実施形態による制御システム１が行う処理の流れを示すシーケンス図である。
【図４】実施形態による端末装置２０に表示される画像の例を示す図である。
【図５】実施形態による端末装置２０に表示される画像の例を示す図である。
【図６】実施形態による端末装置２０に表示される画像の例を示す図である。
【図７】実施形態による端末装置２０に表示される画像の例を示す図である。
【図８】実施形態による端末装置２０に表示される画像の例を示す図である。
【図９】実施形態によるサーバ装置１０の構成例を示すブロック図である。
【図１０】実施形態による端末装置２０の構成例を示すブロック図である。
【図１１】実施形態による読込情報１２１の構成例を示す図である。
【図１２】実施形態による読込情報１２１の構成例を示す図である。
【図１３】実施形態による書込情報１２２の構成例を示す図である。
【図１４】実施形態による書込情報１２２の構成例を示す図である。
【図１５】実施形態による在庫情報１２３の構成例を示す図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態について、図面を参照して説明する。
【００１８】
図１は、実施形態による制御システム１の概要を示す図である。制御システム１は、在庫Ｚの在庫管理を行うシステムである。図１に示すように、制御システム１は、例えば、サーバ装置１０と端末装置２０と、ＲＦＩＤデバイス装置３０とを備える。在庫Ｚには、ＲＤＩＦのタグＴが付されている。
【００１９】
制御システム１において、サーバ装置１０と端末装置２０とは、通信ネットワークＮＷを介して通信可能に接続される。端末装置２０とＲＦＩＤデバイス装置３０とは、例えば、ＵＳＢ接続、有線ＬＡＮ、或いは、Ｂｌｕｅｔｏｏｔｈ（登録商標）や無線ＬＡＮなどの近距離無線通信などによって通信可能に接続される。
【００２０】
サーバ装置１０は、Ｗｅｂアプリ（ウェブアプリケーション）を提供するコンピュータ装置である。Ｗｅｂアプリは、在庫管理を支援するアプリケーションプログラムである。サーバ装置１０は、Ｗｅｂアプリを介して、端末装置２０からのアクセスに応じた情報、例えば、入庫された部品に関する情報を入力するための入力画面（図４参照）等、を示す情報を端末装置２０に送信する。
【００２１】
端末装置２０は、在庫管理を行う担当者が携帯するスマートフォンやタブレットなどのコンピュータ装置である。端末装置２０は、Ｗｅｂアプリに対応するサイト（ウェブサイト）にアクセスし、サーバ装置１０からＷｅｂアプリを介して提供される画面を表示する。担当者は、例えば、端末装置２０に表示された画面の入力フォームなどにしたがって情報を入力する。
【００２２】
ＲＦＩＤデバイス装置３０は、ＲＤＩＦのタグＴへの情報の読込や書込を行うデバイス装置である。ＲＦＩＤデバイス装置３０は、「読込装置」の一例である。ＲＦＩＤデバイス装置３０は、「書込装置」の一例である。ＲＦＩＤデバイス装置３０は、端末装置２０からの要求（読込要求、或いは書込要求）にしたがって、タグＴへの情報の読込や書込を行う。
【００２３】
例えば、以下のように、ＲＦＩＤを用いた在庫管理が実施される。例えば、部材が入庫された場合には、その部材にＲＦＩＤが付され、そのＲＦＩＤに対応するタグＩＤが書き込まれる。タグＩＤは、Ｗｅｂアプリ１３１にて生成された情報であり、部材と、部材に付されたＲＦＩＤを示す情報である。例えば、部材が出庫された場合には、その部材に付されたＲＦＩＤのタグＩＤに紐づけて、その部材の出庫日、出庫数量、出庫先などの情報が、サーバ装置１０が記憶する在庫情報１２３（図１０参照）として記憶される。例えば、部材の棚卸が行われた場合には、その部材に付されたＲＦＩＤに書込まれているタグＩＤが読込まれ、実際に保管されている部材の数量と、在庫情報１２３として記憶されている部材の数量とが突合される。実際の数量と、在庫情報１２３として記憶されている数量とが一致しない場合には、在庫情報１２３に、棚卸日、棚卸により確認された実際の数量などを示す情報が記憶される。また、棚卸が行われた場合に、ＲＦＩＤが付されていない部材が発見された場合には、その部材にＲＦＩＤが付され、そのＲＦＩＤに対応するタグＩＤが書き込まれ、そのタグＩＤに紐づけて、部材の部材名、棚卸日、数量、保管場所などの情報が在庫情報１２３として記憶される。
【００２４】
図２は、実施形態による制御システム１が行う処理の流れを示す図である。図２に示すように、サーバ装置１０では、Ｗｅｂアプリ１３１を介して、在庫情報１２３が記録される。在庫情報１２３は、在庫する部品に関する情報であり、例えば、入庫日、部品名、数量、保管場所などが示された情報である。また、Ｗｅｂアプリ１３１は、端末装置２０のＷｅｂブラウザ２３０と情報のやり取りを行う。Ｗｅｂアプリ１３１とＷｅｂブラウザ２３０との情報のやり取りは、例えば、ｈｔｔｐ（Hypertext Transfer Protocol）接続によるＡＰＩ（Application Programming Interface）通信にて行われる。
【００２５】
図２に示すように、サーバ装置１０は、例えば、Ｗｅｂサーバと、ＡＰサーバ（アプリケーションサーバー）とで構成される。サーバ装置１０と、Ｗｅｂサーバと、ＡＰサーバとが、物理的に別のサーバ装置に分かれていてもよいし、同一のサーバ上で実行されてもよい。
【００２６】
Ｗｅｂサーバは、クライアント（端末装置２０）とＡＰサーバとの通信を仲介する。例えば、Ｗｅｂサーバは、Ｗｅｂブラウザ２３０（図１０）から要求されたＵＲＬ（Uniform Resource Locator）に対応する画面を、ＡＰサーバに要求する。Ｗｅｂサーバは、ＡＰサーバから取得した画面を示す情報（画面情報）をＷｅｂブラウザ２３０に送信する。Ｗｅｂサーバの実体としては、例えば、エンジンエックス（nginx）、アパッチ（apache）等が適用される。
【００２７】
画面情報は、例えば、ｈｔｍｌ（HyperText Markup Language）、カスケーディングスタイルシート（Cascading Style Sheets、CSS）、ジャバスクリプト（Javascript）などの言語で構成される、Ｗｅｂブラウザで解釈可能な情報である。
【００２８】
ＡＰサーバは、画面情報を生成する。ＡＰサーバは、Ｗｅｂサーバからの要求に応じて情報を整理及び加工し、必要に応じてデータベース（ここでは、在庫情報１２３）とやり取りを行い、画面情報を生成する。ＡＰサーバは、生成した画面情報をＷｅｂサーバへ送信する。ＡＰサーバの実体としては、例えば、ＰＨＰ（Hypertext Preprocessor）、ルビー（Ruby）、パイソン（Python）、ジャバ（Java）といった言語で記述されたアプリケーション等が適用される。
【００２９】
以下の説明では、クライアント（端末装置２０）に提供するデータや画面を制御及び生成し、Ｗｅｂサーバを経由して端末にそれらの情報を送信し、Ｗｅｂブラウザを介してユーザの端末に表示する、といったWebの技術を活用したアプリケーションの提供形態そのものを、Ｗｅｂアプリ１３１と総称する。
【００３０】
サーバ装置１０では、認証処理が実施される。ここでの認証処理は、サーバ装置１０にアクセスしてきた端末装置２０を認証する処理である。認証処理は、例えば、ＡＰＩトークンを用いて行われる。この場合、例えば、端末装置２０は、例えば、ＡＰＩ通信に必要な情報（ＡＰＩトークンに相当する文字列）を、予めサーバ装置１０に発行してもらい、認証情報２２０として記憶させておく。端末装置２０は、サーバ装置１０にアクセスする際、ＡＰＩトークンを、サーバ装置１０に送信する。サーバ装置１０は、端末装置２０から通知されたＡＰＩトークンが、例えば、自身が予め発行したものである場合には端末装置２０が正しいクライアントであると認証し、サイトへのアクセスを許可する。
【００３１】
端末装置２０では、Ｗｅｂブラウザ２３０と、ネイティブアプリ２３１とが連携する。ネイティブアプリ２３１は、端末装置２０にインストールされることによって利用可能なアプリケーションである。
【００３２】
ネイティブアプリ２３１は、在庫管理に必要な機能のうち、少なくとも一部を実行する機能部である。ここでは、ネイティブアプリ２３１は、ＲＦＩＤデバイス装置３０との通信機能を有する。具体的には、ネイティブアプリ２３１は、ＲＦＩＤデバイス装置３０に、ＲＦＩＤに埋め込まれた情報を読込むように要求する通知を行い、その応答としてＲＦＩＤデバイス装置３０が読込んだ情報を受信する。また、ネイティブアプリ２３１は、ＲＦＩＤデバイス装置３０に、ＲＦＩＤに情報を書込むように要求する通知を行い、その応答として、ＲＦＩＤデバイス装置３０から書込結果を示す情報を受信する。
【００３３】
ネイティブアプリ２３１は、ＲＦＩＤデバイス装置３０のメーカー等によって提供されるＳＤＫを用いて開発されたプログラムに基づく機能部である。ＳＤＫには、ＲＦＩＤデバイス装置３０を利用するための基本的な機能が実装済みである場合が多い。このため、ＳＤＫを利用することによって、ＲＦＩＤデバイス装置３０との通信機能を実現するプログラムの開発の負荷を低減することが可能である。
【００３４】
ここで、在庫する部品の情報を入力画面など、ＲＦＩＤデバイス装置３０との通信機能以外の機能が、Ｗｅｂアプリ１３１によって、すでに開発済みである場合を考える。この場合、Ｗｅｂアプリ１３１にＲＦＩＤデバイス装置３０との通信機能を実装しようとすると、ＳＤＫを利用することができないため、プログラムの開発の負荷が増大する。一方、ネイティブアプリ２３１に、在庫する部品の情報を入力する機能を実装しようとすると、すでに開発済みのＷｅｂアプリ１３１が無駄になってしまう。Ｗｅｂアプリ１３１が在庫する部品の情報を入力させる処理を行い、ＲＦＩＤに情報を書込む場合にはネイティブアプリ２３１を利用しようとすると、情報を一時的に記憶させたり、Ｗｅｂアプリ１３１とネイティブアプリ２３１を両方起動させたりする必要があるため操作が煩雑となる。すなわち、Ｗｅｂアプリ１３１とネイティブアプリ２３１とを切り替えながら操作を行わなくてはならず、操作性（ユーザビリティ）が低下してしまう。操作性が低下することによって在庫管理がスムーズに行うことができず、その結果、作業効率を低下させてしまう可能性がある。
【００３５】
この対策として、本実施形態では、ネイティブアプリ２３１の特定のコンテンツを指定するリンク（所謂、ディープリンク）を用いて、Ｗｅｂアプリ１３１とネイティブアプリ２３１とを連携させる（符号Ｄ）。
【００３６】
具体的には、Ｗｅｂアプリ１３１は、ＲＦＩＤへの情報の読込を実行する実行画面（図５参照）に、例えば、実行ボタン（図５におけるボタンＷＢ）を表示させる。実行ボタンがタップ操作されると、特定のＵＲＩ（Uniform Resource Identifier）にアクセスするように、プログラムされている。ここでは、ネイティブアプリ２３１における、ＲＦＩＤから情報を読込むための読込画面（図６参照）ＵＲＩへのアクセスが実行される。これにより、担当者が、Ｗｅｂアプリ１３１の実行ボタンをタップ操作するだけで、ネイティブアプリ２３１における読込画面を表示させることができる。
【００３７】
さらに、本実施形態では、ネイティブアプリ２３１へのディープリンクにて、完了画面を指定する。完了画面は、ネイティブアプリ２３１出の処理が完了した際に表示させるＷｅｂアプリ１３１の所定の画面である。
【００３８】
具体的には、ネイティブアプリ２３１は、ＲＦＩＤへの情報の読込結果を送信する送信画面（図６の右側の画面参照）に、例えば、実行ボタン（図６における右下のボタンＮＢ）を表示させる。実行ボタンがタップ操作されると、特定のＵＲＩ、ここでは、Ｗｅｂアプリ１３１における確認画面（図７参照）のＵＲＩへのアクセスが実行される。これにより、担当者が、ネイティブアプリ２３１の実行ボタンをタップ操作するだけで、Ｗｅｂアプリ１３１における確認画面を表示させることができる。
【００３９】
以上説明したように、Ｗｅｂアプリ１３１は、ディープリンクにて、ネイティブアプリ２３１の特定の画面を表示させると共に、ネイティブアプリ２３１における処理が完了した場合に完了画面を指定する。これにより、タップ操作によりＷｅｂアプリ１３１と、ネイティブアプリ２３１とをスムーズに切り替えることができ、操作性を低下させることなく、それぞれのアプリが有する機能を連携させた在庫管理を実現することが可能となる。Ｗｅｂアプリ１３１ですでに開発済みの機能をネイティブアプリ２３１に実装する必要もない。したがって、ユーザビリティを低下させることなく、かつ、開発コストを増大させることなく、Ｗｅｂアプリ１３１とネイティブアプリ２３１を連携させることが可能である。
【００４０】
ＲＦＩＤデバイス装置３０は、ネイティブアプリ２３１からの要求に応じてＲＦＩＤへの読込或いは書込を実行する。
【００４１】
ここで、ＲＦＩＤへの読込を行う処理の流れについて、図３を用いて説明する。図３は、実施形態による制御システム１が行う処理の流れを示すシーケンス図である。図３では読込の処理の流れを記載しているが、書込の処理についても同様な流れを適用することができる。
【００４２】
ステップＳ１：端末装置２０のＷｅｂブラウザ２３０は、サーバ装置１０にログイン要求を行う。具体的には、Ｗｅｂブラウザ２３０は、Ｗｅｂアプリ１３１のサイトにアクセスし、例えばログインＩＤやそのパスワードを入力することによって、サイトへのログインを要求する。
ステップＳ２：サーバ装置１０は、認証トークンを発行する。Ｗｅｂアプリ１３１（或いは、後述する認証部１３０）は、例えば、端末装置２０から入力されたログインＩＤとパスワードの組合せが予め登録された組合せであれば、認証トークン（例えば、ＡＰＩトークン）を発行し、発行した認証トークンを端末装置２０に送信する。端末装置２０は、認証トークンを受信し、受信した認証トークンを、認証情報２２０として記憶させる。Ｗｅｂブラウザ２３０は、ステップＳ３以降において、Ｗｅｂアプリ１３１にデータを送信する際に、例えばヘッダ部分に認証トークンを付してデータを送信する。これにより、サーバ装置１０では、端末装置２０からアクセスがある度に端末装置２０を認証することが可能である。
【００４３】
ステップＳ３：端末装置２０は、Ｗｅｂブラウザ２３０を介して、Ｗｅｂアプリ１３１から在庫管理を行うための画面（Ｗｅｂアプリ画面）を示す情報を受信し、受信した情報に基づいて、当該画面を表示させる。在庫管理を行うための画面は、ステップＳ２において、認証トークンと共に、或いは、認証トークンの通知とは別のタイミングにで、Ｗｅｂアプリ１３１から通知される。
ステップＳ４：Ｗｅｂブラウザ２３０は、表示させた画面に対するユーザ（例えば、在庫管理の担当者）の操作を受け付ける。例えば、ユーザは、用途に応じて、機能を選択する。具体的には、ユーザは、在庫する部品の入庫日や数量などを入力する場合には入力画面を選択する。また、ユーザは、ＲＦＩＤに埋め込まれた情報を読込む場合には実行画面を選択する。ユーザは、必要に応じて、選択した画面に情報を入力する。例えば、入力画面であれば、画面に表示された入力フォームにしたがって、在庫する部品の入庫日や数量などを入力する。
ステップＳ５：Ｗｅｂブラウザ２３０は、実行操作を受け付ける。ここでの実行操作は、ネイティブアプリ２３１へのディープリンクが実行される操作である。具体的には、ユーザによって、ＲＦＩＤへの読込を実行する画面の実行ボタンがタップされる操作である。
【００４４】
ステップＳ６：Ｗｅｂブラウザ２３０は、ネイティブアプリ２３１に読込要求を行う。具体的には、Ｗｅｂブラウザ２３０は、ネイティブアプリ２３１における読込画面のＵＲＩへのアクセスを実行する。
ステップＳ７：ネイティブアプリ２３１は、読込画面（ネイティブアプリ画面）を表示する。
ステップＳ８：ネイティブアプリ２３１は、表示させた画面に対するユーザの操作を受け付ける。ユーザにより読込を行うボタンがタップ操作されると、ネイティブアプリ２３１は、ＲＦＩＤデバイス装置３０と通信を行い、読込処理を開始する。
ステップＳ９：ＲＦＩＤデバイス装置３０は、ネイティブアプリ２３１に読込結果を通知する。
ステップＳ１０：ネイティブアプリ２３１は、表示させた画面に対するユーザの読込完了操作を受け付ける。ここでの読込完了操作は、Ｗｅｂブラウザ２３０の画面に戻るディープリンクが実行される操作である。具体的には、ユーザによって、ＲＦＩＤから読込んだ情報を送信する画面の送信ボタンがタップされる操作である。
ステップＳ１１：ネイティブアプリ２３１は、Ｗｅｂブラウザ２３０に読込完了通知を行う。具体的には、ネイティブアプリ２３１は、Ｗｅｂブラウザ２３０における確認画面のＵＲＩへのアクセスを実行する。この場合において、ネイティブアプリ２３１は、ＲＦＩＤから読込んだ情報をＷｅｂブラウザ２３０に通知する。
ステップＳ１２：Ｗｅｂブラウザ２３０は、確認画面（Ｗｅｂアプリ画面）を表示する。
ステップＳ１３：Ｗｅｂブラウザ２３０は、ＲＦＩＤから読込んだ情報を、サーバ装置１０に送信する。
【００４５】
ここで、Ｗｅｂアプリ１３１とネイティブアプリの連携に伴って表示される画像について、図４〜図８を用いて説明する。図４〜図８は、実施形態による端末装置２０に表示される画像の例を示す図である。
【００４６】
図４には、在庫に関する情報入力を行うための画面（入力画面）の例が示されている。この入力画面は、Ｗｅｂアプリ１３１によって表示され、Ｗｅｂアプリ１３１のプログラムにしたがって処理が実行される。この図の例に示すように、入力画面には、例えば、「在庫を選択し…入力してください」のメッセージと共に、在庫に関する情報、例えば、在庫する部品の種類を入力する入力欄ＷＧなどが表示される。担当者は、入力画面の入力フォームにしたがって、部品の種類などを入力する。入力画面の右下には、在庫を登録するための登録ボタンＷＢが表示される。担当者は、入力した情報に応じた在庫を登録する場合、登録ボタンＷＢをタップ操作する。
【００４７】
図５には、在庫を登録するための画面（実行画面）の例が示されている。この実行画面は、Ｗｅｂアプリ１３１によって表示され、Ｗｅｂアプリ１３１のプログラムにしたがって処理が実行される。この図の例に示すように、実行画面には、例えば、「在庫を登録しますか」のメッセージと共に、登録する在庫の数量を入力する入力欄や、札紙を発行する際に行う機能を選択する選択欄ＷＧなどが表示される。在庫を登録する際に行う機能としては、例えば、「ＲＦＩＤ紐付」、「ＲＦＩＤ書込」、「札紙印刷」などがある。「ＲＦＩＤ紐付」が選択された場合、対象の在庫に付されたＲＦＩＤタグのタグＩＤを読込む処理が行われ（図６参照）、読込まれたタグＩＤとその対象の在庫とが対応づけられて在庫情報１２３として記憶される。「ＲＦＩＤ書込」が選択された場合、Ｗｅｂアプリ１３１により予め発行されたタグＩＤが、対象の在庫に貼付されたＲＦＩＤに書込む処理が行われる（図８参照）。その後、発番されたタグＩＤが対象の在庫に対応づけられて在庫情報１２３として記憶される。「札紙印刷」が選択された場合、在庫情報１２３が札紙として印刷され、担当者等により印刷された札紙が在庫に貼付される。なお、「札紙印刷」が選択された場合、ＲＦＩＤへの読込処理や書込処理は行われない。
【００４８】
図６には、図５において「ＲＦＩＤ紐付」が選択された場合に表示される、ＲＦＩＤに埋め込まれたタグＩＤを読込むための画面（タグ読込画面）の例が示されている。このタグ読込画面は、ネイティブアプリ２３１によって表示され、ネイティブアプリ２３１のプログラムにしたがって処理が実行される。図５における実行ボタンＷＢには、このタグ読込画面のディープリンクが対応づけられており、図５における実行ボタンＷＢがタップ操作されると、タグ読込画面のＵＲＩへのアクセスが実行され、タグ読込画面が表示される。
【００４９】
この場合において、図５における実行ボタンＷＢに対応づけられたディープリンクには、完了画面が指定されている。完了画面は、ネイティブアプリ２３１出の処理が完了した際に表示させるＷｅｂアプリ１３１の所定の画面である。例えば、図６の右側の画面下部にある「送信」と記載されたボタンＮＢがタップされた場合、完了画面として、後述する図７の確認画面が指定される。
【００５０】
ここで、完了画面は、ネイティブアプリ２３１における処理の完了の状況に応じて、複数指定されていてもよい。例えば、読込処理が正常に完了した場合には図７の確認画面が指定され、読込処理が中断されたりして正常に完了しないで終了した場合には図４の入力画面が指定されるようにしてもよい。具体的には、図６の左側の画面においては、上部にある「Ｗｅｂに戻る」と記載されたボタンＮＢ、及び中央の「中止」と記載されたボタンＮＢがタップされた場合における完了画面として、図５に示す実行画面、或いは図４における入力画面が指定される。
【００５１】
これにより、ネイティブアプリ２３１における処理の完了の状況に応じて、次に行うＷｅｂブラウザ２３０の処理を異なる処理とすることができる。例えば、ＲＦＩＤへの書込処理が正常に完了した場合には、確認画面を表示することで次の在庫に札紙を発行させる処理に移行することができる。一方で、ＲＦＩＤへの書込処理を中断させた場合には、入力画面に戻って入力情報を入力し直したり、実行画面に戻って発行する札紙の枚数を入力し直したりすることができる。これにより、ネイティブアプリ２３１における処理が正常に完了した場合と、そうでない場合とでその後の処理が異なるような場合であっても、操作性を阻害することなく、その後の処理をスムーズに実行することが可能となる。
【００５２】
図７には、在庫登録後に、新規受入を行うか確認する画面（確認画面）の例が示されている。ここでの新規受入とは、新たな在庫を登録することである。この確認画面は、Ｗｅｂアプリ１３１によって表示され、Ｗｅｂアプリ１３１のプログラムにしたがって処理が実行される。この図の例に示すように、確認画面には、例えば、「…新規受入を行いますか」のメッセージと共に、「はい」、「いいえ」と記載されたボタンなどが表示される。担当者によって「はい」のボタンがタップ操作されると、入力画面が表示される。一方、担当者によって「いいえ」のボタンがタップ操作されると、例えば、Ｗｅｂアプリ１３１が終了する。なお、確認画面の表示に伴い、Ｗｅｂブラウザ２３０は、登録した在庫に関する情報、すなわち、タグＩＤと入力情報とを対応づけた情報を、サーバ装置１０に送信する。サーバ装置１０は、端末装置２０から受信した在庫に関する情報を、在庫情報１２３として記憶させる。
【００５３】
図８には、図５において「ＲＦＩＤ書込」が選択された場合に表示される、ＲＦＩＤに情報を書込むための画面（タグ書込画面）の例が示されている。このタグ書込画面は、ネイティブアプリ２３１によって表示され、ネイティブアプリ２３１のプログラムにしたがって処理が実行される。図５における選択欄ＷＢに「ＲＦＩＤ書込」が選択された状態にて実行ボタンＷＢがタップ操作されると、タグ書込画面のＵＲＩへのアクセスが実行され、タグ書込画面が表示される。
【００５４】
この場合において、図５の選択欄ＷＢに「ＲＦＩＤ書込」が選択された場合における実行ボタンＷＢに対応づけられたディープリンクには、完了画面が指定されている。完了画面は、ネイティブアプリ２３１出の処理が完了した際に表示させるＷｅｂアプリ１３１の所定の画面である。例えば、図８の右側の画面下部にある「確認」と記載されたボタンＮＢがタップされた場合、完了画面として、後述する図７の確認画面が指定される。
【００５５】
ここで、完了画面は、ネイティブアプリ２３１における処理の完了の状況に応じて、複数指定されていてもよい。例えば、読込処理が正常に完了した場合には図７の確認画面が指定され、読込処理が中断されたりして正常に完了しないで終了した場合には図４の入力画面が指定されるようにしてもよい。具体的には、図８の左側の画面においては、上部にある「Ｗｅｂに戻る」と記載されたボタンＮＢ、及び下部の「書込みを終了」と記載されたボタンＮＢがタップされた場合における完了画面として、図５に示す実行画面、或いは図４における入力画面が指定される。なお、「書込みを終了」とは、例えば、書込を行う予定であった情報の書込みを行わずに書込み処理を終了させるボタンである。
【００５６】
図９は、実施形態のサーバ装置１０の構成例を示すブロック図である。サーバ装置１０は、例えば、通信部１１と、記憶部１２と、制御部１３とを備える。通信部１１は、通信ネットワークＮＷを介して端末装置２０と通信を行う。通信部１１は、例えば、汎用の通信用ＩＣ（Integrated Circuit）などによって実現される。
【００５７】
記憶部１２は、例えば、ＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの記憶装置（非一過性の記憶媒体を備える記憶装置）、或いはこれらの組合せによって実現される。記憶部１２は、サーバ装置１０の各構成要素を実現するためのプログラム、プログラムを実行する際に用いられる変数、及び各種の情報を記憶する。サーバ装置１０の各構成要素を実現するためのプログラムには、Ｗｅｂアプリ１３１の機能を実現するプログラムが含まれている。
【００５８】
記憶部１２は、例えば、認証情報１２０と、読込情報１２１と、書込情報１２２と、在庫情報１２３とを記憶する。認証情報１２０は、端末装置２０を認証するために用いられる情報である。読込情報１２１は、読込処理を行うために用いられる情報である。書込情報１２２は書込処理を行うために用いられる情報である。在庫情報１２３は、在庫に関する情報である。
【００５９】
制御部１３は、サーバ装置１０が備えるハードウェアとしてのＣＰＵ（Central Processing Unit）、ＧＰＵ（Graphics Processing Unit）等のProcessing Unit（プロセッシングユニット）が記憶部９２に記憶されたプログラムを実行することにより、機能が実現される。つまり、Ｗｅｂアプリ１３１のプログラムがＣＰＵ等のハードウェアによって実行されることにより、Ｗｅｂアプリ１３１の機能が実現される。
【００６０】
制御部１３は、例えば、認証部１３０と、Ｗｅｂアプリ１３１と、装置制御部１３２とを備える。認証部１３０は、端末装置２０に対する認証に関する処理を行う。例えば、認証部１３０は、正規の端末装置２０に対して認証トークンを発行する。認証部１３０は、発行した認証トークンを端末装置２０に通知すると共に、認証情報１２０に記憶させる。認証部１３０は、認証トークンをヘッダに含めてアクセスしてきた端末装置２０に対して、その認証トークンを検証し、認証トークンがサーバ装置１０により発行されたものであれば、そのアクセスを許可する。
【００６１】
Ｗｅｂアプリ１３１は、在庫管理を行う。Ｗｅｂアプリ１３１は、認証部１３０によって認証された端末装置２０からのアクセスに応じて、在庫管理を行うための画面を示す情報を通知する。Ｗｅｂアプリ１３１は、端末装置２０から通知された在庫に関する情報、例えば、ＲＦＩＤのタグＩＤと、在庫に関して入力画面から入力された情報（入力情報）を対応づけた情報を受信し、受信した情報を、在庫情報１２３に記憶させる。
【００６２】
Ｗｅｂアプリ１３１は、ユーザの画面操作により、ＲＦＩＤへの情報の読込処理、或いは書込処理を実行する実行ボタンのタップ操作が行われた場合、ネイティブアプリ２３１の画面のＵＲＩを指定するディープリンクを通知する。このディープリンクには、完了画面が指定されている。
【００６３】
装置制御部１３２は、サーバ装置１０を統合的に制御する。例えば、装置制御部１３２は、通信部１１によって受信された在庫に関する情報を、記憶部１２の在庫情報１２３に記憶させる。装置制御部１３２は、通信部１１によって受信された端末装置２０からのアクセス情報を、認証部１３０に出力する。装置制御部１３２は、認証部１３０によって発行された認証トークンを記憶部１２の認証情報１２０に記憶させたり、認証結果をＷｅｂアプリ１３１に出力したりする。
【００６４】
図１０は、実施形態の端末装置２０の構成例を示すブロック図である。端末装置２０は、例えば、通信部２１と、記憶部２２と、制御部２３とを備える。通信部２１は、ＮＷ通信部２１０と、デバイス通信部２１１とを備える。ＮＷ通信部２１０は、通信ネットワークＮＷを介して端末装置２０と通信を行う。ＮＷ通信部２１０は、例えば、汎用の通信用ＩＣなどによって実現される。デバイス通信部２１１は、例えば、ＵＳＢ接続、有線ＬＡＮ、或いは、Ｂｌｕｅｔｏｏｔｈ（登録商標）や無線ＬＡＮなどの近距離無線通信などによって通信可能に接続される。
【００６５】
記憶部２２は、例えば、ＨＤＤやフラッシュメモリなどの記憶装置、或いはこれらの組合せによって実現される。記憶部２２は、端末装置２０の各構成要素を実現するためのプログラム、プログラムを実行する際に用いられる変数、及び各種の情報を記憶する。端末装置２０の各構成要素を実現するためのプログラムには、ネイティブアプリ２３１の機能を実現するプログラムが含まれている。
【００６６】
記憶部２２は、例えば、認証情報２２０を記憶する。認証情報１２０は、サーバ装置１０から認証されるために用いられる情報である。
【００６７】
制御部２３は、端末装置２０が備えるハードウェアとしてのＣＰＵ、ＧＰＵ等のプロセッシングユニットが記憶部９２に記憶されたプログラムを実行することにより、機能が実現される。つまり、ネイティブアプリ２３１のプログラムがＣＰＵ等のハードウェアによって実行されることにより、ネイティブアプリ２３１の機能が実現される。
【００６８】
制御部２３は、例えば、Ｗｅｂブラウザ２３０と、ネイティブアプリ２３１と、装置制御部２３２とを備える。Ｗｅｂブラウザ２３０は、ユーザの入力操作に応じて、Ｗｅｂアプリ１３１のサイトにアクセスすることによって、Ｗｅｂアプリ１３１から在庫管理に用いられる画面を示す情報を受信する。Ｗｅｂブラウザ２３０は、受信した画面の情報に基づいて、表示部２４に画面を表示させる。Ｗｅｂブラウザ２３０は、表示した画面に対して行われた操作の内容を、Ｗｅｂアプリ１３１に通知し、その応答として、処理結果や在庫管理に用いられる画面を示す情報を受信する。Ｗｅｂブラウザ２３０は、Ｗｅｂアプリ１３１から受信した情報に応じた画面を表示させる。或いは、Ｗｅｂブラウザ２３０は、Ｗｅｂアプリ１３１から受信した情報に応じた処理を実行する。
【００６９】
Ｗｅｂブラウザ２３０は、ユーザにより特定の実行ボタン（ＲＦＩＤへの読込、或いは書込を実行するボタン）がタップ操作された場合、その操作がされた旨の情報を、サーバ装置１０に通知する。サーバ装置１０のＷｅｂアプリ１３１は、その操作の応答として、ネイティブアプリ２３１の読込、或いは書込の処理を実行するための画面のＵＲＩにアクセスするディープリンクを、Ｗｅｂブラウザ２３０に通知する。このディープリンクには、ネイティブアプリ２３１側のＵＲＩと共に、Ｗｅｂアプリ１３１側の完了画面を示す情報が含まれている。Ｗｅｂブラウザ２３０は、通知されたディープリンクに従って、ネイティブアプリ２３１の読込、或いは書込を実行するための画面にアクセスする。
【００７０】
ネイティブアプリ２３１は、ディープリンクによるアクセスに応じて、ＵＲＩに相当する画面、ネイティブアプリ２３１によりＲＦＩＤへの読込、或いは書込を実行するための画面を表示する。ネイティブアプリ２３１は、ユーザの入力操作に応じて、ＲＦＩＤデバイス装置３０と通信し、ＲＦＩＤへの読込、或いは書込を実行する。ネイティブアプリ２３１は、ＲＦＩＤへの読込、或いは書込を実行した結果を表示する。
【００７１】
ネイティブアプリ２３１は、ユーザにより特定の実行ボタン（読込情報の送信、或いは書込を完了するボタン）がタップ操作された場合、Ｗｅｂアプリ１３１側の、完了画面として指定された画面のＵＲＩにアクセスする。これにより。Ｗｅｂアプリ１３１側の完了画面が表示される。
【００７２】
装置制御部２３２は、端末装置２０を統合的に制御する。例えば、装置制御部２３２は、ＮＷ通信部２１０によって受信されたＷｅｂアプリ１３１からの情報を、Ｗｅｂブラウザ２３０に出力する。装置制御部２３２は、ネイティブアプリ２３１による読込処理、或いは書込処理に応じて、デバイス通信部２１１を介して、ＲＦＩＤデバイス装置３０と通信を行う。
【００７３】
表示部２４は、例えば、液晶ディスプレイなどの表示装置を含み、制御部２３にしたがった画像を表示装置に表示する。表示部２４は、例えば、Ｗｅｂブラウザ２３０を介してＷｅｂアプリ１３１から通知された在庫管理を行うための入力画面を表示する。表示部２４は、例えば、ネイティブアプリ２３１により読込処理や書込処理を行うための画面を表示する。
【００７４】
入力部２５は、例えば、マウスやキーボード、タッチパネルなどの入力装置を含み、入力装置に入力された情報を取得し、取得した情報を制御部２３に出力する。
【００７５】
図１１は、実施形態による読込情報１２１Ａの構成例を示す図である。読込情報１２１Ａは、読込処理が行われる場合に、Ｗｅｂアプリ１３１からネイティブアプリ２３１に通知される情報である。読込情報１２１Ａは、例えば、呼び出し画面ＩＤ、戻り先画面ＩＤ、送信先画面ＩＤ、識別区分、動作モードなどの項目を備える。呼び出し画面ＩＤは、ネイティブアプリ２３１を呼び出す場合に、アクセスする画面の識別情報であり、例えば、図６に示す「タグ読込画面」の識別情報である。戻り先画面ＩＤは、読込処理を中断するなどしてＷｅｂアプリ１３１に戻る場合に、アクセスする画面の識別情報であり、例えば、図４に示す「入力画面」の識別情報である。送信先画面ＩＤは、読込処理を完了してＷｅｂアプリ１３１に戻る場合に、アクセスする画面の識別情報であり、例えば、図７に示す「確認画面」の識別情報である。戻り先画面は「完了画面」の一例である。送信先画面は「完了画面」の一例である。識別区分は、在庫管理に関する識別の区分を示す情報であり、例えば、在庫、パレット、マルチの区分を示す情報である。動作モードは、ネイティブアプリ２３１の動作モードを示す情報であり、例えば、ＲＦＩＤの読込、ＲＦＩＤ以外の情報記録媒体（例えば、バーコード）の読込のいずれかを示す情報である。
【００７６】
図１２は、実施形態による読込情報１２１Ｂの構成例を示す図である。読込情報１２１Ｂは、読込処理が行われる場合に、ネイティブアプリ２３１からＷｅｂアプリ１３１に通知される情報である。読込情報１２１Ｂは、例えば、呼び出し画面ＩＤ、識別区分、動作モード、読込値などの項目を備える。呼び出し画面ＩＤは、Ｗｅｂアプリ１３１を呼び出す場合に、アクセスする画面の識別情報であり、図１１の読込情報１２１Ａにおいて、送信先画面ＩＤ、或いは、戻り先画面ＩＤとして指定された画面ＩＤである。この図の例では、呼び出し画面ＩＤとして、読込情報１２１Ａの送信先画面ＩＤにて指定された画面ＩＤが示されている。識別区分、動作モードは、読込情報１２１Ａと同様である。読取値は、ＲＦＩＤから読込んだ情報である。
【００７７】
図１３は、実施形態による書込情報１２２Ａの構成例を示す図である。書込情報１２２Ａは、書込処理が行われる場合に、Ｗｅｂアプリ１３１からネイティブアプリ２３１に通知される情報である。読込情報１２１Ｂは、例えば、呼び出し画面ＩＤ、戻り先画面ＩＤ、送信先画面ＩＤ、識別区分、動作モード、データ数、識別コード、タグＩＤ、処理区分、在庫情報などの項目を備える。呼び出し画面ＩＤは、ネイティブアプリ２３１を呼び出す場合に、アクセスする画面の識別情報であり、例えば、図８に示す「タグ書込画面」の識別情報である。戻り先画面ＩＤは、書込処理を中断するなどしてＷｅｂアプリ１３１に戻る場合に、アクセスする画面の識別情報であり、例えば、図４に示す「入力画面」の識別情報である。送信先画面ＩＤは、書込処理を完了してＷｅｂアプリ１３１に戻る場合に、アクセスする画面の識別情報であり、例えば、図７に示す「確認画面」の識別情報である。識別区分、動作モードは、読込情報１２１Ａと同様である。データ数は、書込を行うデータの数を示す情報である。識別コード、タグＩＤ、処理区分、在庫情報のそれぞれは、ＲＦＩＤに書込むデータの具体的な内容である。識別コードは、在庫番号、或いはパレット番号などを示す情報である。タグＩＤは、在庫に付すＲＦＩＤのタグＩＤを示す情報である。処理区分は、書込処理の区分を示す情報であり、例えば、「未処理」又は「処理済」のいずれかを示す情報である。未処理は書込処理が実施されていないことを示す。処理済は書込処理を実施済みであることを示す。在庫情報は、在庫する部品の種類や数量などの具体的な内容を示す情報である。書込情報１２２Ａには、データ数分の、「識別コード、タグＩＤ、処理区分、在庫情報」のそれぞれが格納される。例えば、データ数がＮ（Ｎは任意の自然数）である場合、Ｎ個分の「識別コード、タグＩＤ、処理区分、在庫情報」のそれぞれが書込情報１２２Ａに格納される。
【００７８】
図１４は、実施形態による書込情報１２２Ｂの構成例を示す図である。書込情報１２２Ｂは、書込処理が行われる場合に、ネイティブアプリ２３１からＷｅｂアプリ１３１に通知される情報である。書込情報１２２Ｂは、例えば、呼び出し画面ＩＤ、識別区分、動作モード、データ数、識別コード、タグＩＤ、処理区分などの項目を備える。呼び出し画面ＩＤは、Ｗｅｂアプリ１３１を呼び出す場合に、アクセスする画面の識別情報であり、図１３の書込情報１２２Ａにおいて、送信先画面ＩＤ、或いは、戻り先画面ＩＤとして指定された画面ＩＤである。この図の例では、呼び出し画面ＩＤとして、書込情報１２２Ａの送信先画面ＩＤにて指定された画面ＩＤが示されている。識別区分、動作モード、データ数、識別コード、タグＩＤ、処理区分のそれぞれは、書込情報１２２Ａと同様である。書込情報１２２Ｂには、データ数分の、「識別コード、タグＩＤ、処理区分」のそれぞれが格納される。
【００７９】
図１５は、実施形態による在庫情報１２３の構成例を示す図である。在庫情報１２３は、在庫ごとに生成される。在庫情報１２３は、例えば、在庫ＩＤ、タグＩＤ、在庫分類、類推、数量、備考などの項目を備える。在庫ＩＤは在庫を一意に識別する識別情報である。タグＩＤは在庫に付されたＲＦＩＤのタグＩＤである。在庫分類は在庫の分類を示す情報である。種類は在庫の種類を示す情報である。数量は、在庫の数量を示す情報である。備考は在庫に関する備考欄である。
【００８０】
以上説明したように、実施形態の制御システム１は、Ｗｅｂアプリ１３１と、Ｗｅｂブラウザ２３０とネイティブアプリ２３１とを備える。Ｗｅｂアプリ１３１は、ウェブサイトから提供されるウェブアプリケーションである。Ｗｅｂアプリ１３１が行う処理には、端末装置２０と通信可能に接続されるＲＦＩＤデバイス装置３０（デバイス装置の一例）にＲＦＩＤへの読込処理、又は書込処理（当該デバイス装置のデバイス機能の一例）を実行させる処理を含む。Ｗｅｂブラウザ２３０は、端末装置２０からＷｅｂアプリ１３１を提供するウェブサイトにアクセスし、Ｗｅｂアプリ１３１から、図４の入力画面（前記アクセスに応じた第１画面の一例）を示す情報を取得し、取得した情報に基づいて入力画面を表示させる。ネイティブアプリ２３１は、端末装置２０にインストールされたプログラムが実行されることによって動作し、ＲＦＩＤデバイス装置３０にＲＦＩＤへの読込処理、又は書込処理を実行させる。Ｗｅｂアプリ１３１は、ＲＦＩＤへの読込処理、又は書込処理を実行する場合、ネイティブアプリ２３１によって読込処理、又は書込処理を実行させるための画面（第２画面の一例）、及びＷｅｂアプリ１３１によって処理が実行される完了画面（第３画面の一例）を示す情報を、Ｗｅｂブラウザ２３０に通知する。Ｗｅｂブラウザ２３０は、Ｗｅｂアプリ１３１から取得した第２画面、及び第３画面を示す情報をネイティブアプリ２３１に通知する（ディープリンクにてＵＲＩにアクセスする）。ネイティブアプリ２３１は、Ｗｅｂブラウザ２３０から取得した情報に基づいて第２画面を表示させる。ネイティブアプリ２３１は、第２画面に対して行われた操作に応じた処理を実行する。ネイティブアプリ２３１は、操作に応じた処理が完了した場合に、第３画面を示す情報をＷｅｂブラウザ２３０に通知する（ディープリンクにてＵＲＩにアクセスする）。Ｗｅｂブラウザ２３０は、ネイティブアプリ２３１から取得した情報に基づいて第３画面を表示させる。
【００８１】
これにより、実施形態の制御システム１は、Ｗｅｂアプリ１３１の画面から、ディープリンクにて、ネイティブアプリ２３１の特定の画面を表示させる際に、ネイティブアプリ２３１における処理が完了した場合に戻り画面を指定することができる。これにより、ユーザのタップ操作によりＷｅｂアプリ１３１と、ネイティブアプリ２３１とをスムーズに切り替えることができ、操作性を低下させることなく、それぞれのアプリが有する機能を連携させた在庫管理を実現することが可能となる。Ｗｅｂアプリ１３１ですでに開発済みの機能をネイティブアプリ２３１に実装する必要もない。したがって、ユーザビリティを低下させることなく、かつ、開発コストを増大させることなく、Ｗｅｂアプリ１３１とネイティブアプリ２３１を連携させることが可能である。
【００８２】
また、実施形態の制御システム１では、Ｗｅｂブラウザ２３０は、ＲＦＩＤへの読込処理又は書込処理を実行する場合に、Ｗｅｂアプリ１３１から、戻り先画面（第４画面の一例）を示す情報を取得するようにしてもよい。戻り先画面は、ネイティブアプリ２３１によって読込処理又は書込処理が中止された場合に表示させる画面である。これにより、実施形態の制御システム１では、ネイティブアプリ２３１における処理の完了の状況に応じて、次に行うＷｅｂブラウザ２３０の処理を異なる処理とすることができる。したがって、ネイティブアプリ２３１における処理が正常に完了した場合と、そうでない場合とでその後の処理が異なるような場合であっても、操作性を阻害することなく、その後の処理をスムーズに実行することが可能となる。
【００８３】
また、実施形態のサーバ装置１０がＷｅｂアプリ１３１を備えるようにしてもよい。これにより、実施形態のサーバ装置１０は、Ｗｅｂアプリ１３１と、端末装置２０のネイティブアプリ２３１とを連携させて、スムーズに在庫管理に関する処理を実行することができる。
【００８４】
上述した実施形態における制御システム１、及びサーバ装置１０の全部または一部をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、ＦＰＧＡ等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【００８５】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００８６】
１…制御システム
１０…サーバ装置
１３１…Ｗｅｂアプリ（ウェブアプリケーション）
２０…端末装置
２３０…Ｗｅｂブラウザ（ウェブブラウザ）
２３１…ネイティブアプリ
【要約】
【課題】ユーザビリティを低下させることなく、かつ、開発コストを増大させることなく、Ｗｅｂアプリとネイティブアプリを連携させる。
【解決手段】ウェブアプリケーションは、デバイス機能を実行させる場合、ネイティブアプリケーションによって前記デバイス機能を実行させるための画面である第２画面、及び前記ウェブアプリケーションによって処理が実行される画面である第３画面を示す情報を、前記ウェブブラウザに通知し、前記ネイティブアプリケーションは、前記第２画面を表示させ、前記第２画面に対して行われた操作に応じた処理を実行し、前記操作に応じた処理が完了した場合に、前記第３画面を示す情報を前記ウェブブラウザに通知し、前記ウェブブラウザは、前記ネイティブアプリケーションから取得した情報に基づいて前記第３画面を表示させる。
【選択図】図２【図１】
0006981566.tif 000002
【図２】
0006981566.tif 000003
【図３】
0006981566.tif 000004
【図４】
0006981566.tif 000005
【図５】
0006981566.tif 000006
【図６】
0006981566.tif 000007
【図７】
0006981566.tif 000008
【図８】
0006981566.tif 000009
【図９】
0006981566.tif 000010
【図１０】
0006981566.tif 000011
【図１１】
0006981566.tif 000012
【図１２】
0006981566.tif 000013
【図１３】
0006981566.tif 000014
【図１４】
0006981566.tif 000015
【図１５】
0006981566.tif 000016