Control System, Server Device, Control Method, and Program

The integration of web and native applications using deep links in the control system addresses usability and development cost issues in inventory management, allowing for seamless and efficient application switching without replicating functions.

JP7694354B2Active Publication Date: 2025-06-18TOPPAN HOLDINGS INC
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2021187988
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-11-18
Publication Date
2025-06-18
Estimated Expiration
2041-04-16

AI Technical Summary

Technical Problem

Conventional methods for linking web applications and native applications in inventory management systems often result in reduced usability due to the need for users to switch between applications, and incur additional development costs by requiring native apps to implement web app functions.

Method used

A control system that uses deep links to seamlessly integrate web applications and native applications, allowing the web application to notify the web browser of specific content for the native application to execute, and vice versa, without the need for users to manually switch between applications or for native apps to replicate web app functions.

Benefits of technology

This solution enables smooth operation between web and native applications, maintaining high usability and avoiding increased development costs, thus facilitating efficient inventory management.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007694354000001
    Figure 0007694354000001
  • Figure 0007694354000002
    Figure 0007694354000002
  • Figure 0007694354000003
    Figure 0007694354000003
Patent Text Reader

Abstract

To link web applications and native applications without reducing usability or increasing development costs. [Solution] When a web application causes a native application to execute a device function, it notifies the web browser of first link information that specifies the content on which the native application will execute the device function, and second link information that specifies the content on which the web application will execute the process after the process of executing the device function is completed; the native application executes the device function by outputting the content corresponding to the first link information, and notifies the web browser of the second link information after the process of executing the device function is completed; and when the web browser obtains the second link information from the native application, it outputs the content corresponding to the second link information.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a control system, a server device, a control method, and a program.

Background Art

[0002] In a manufacturing site, inventory management using an information recording medium such as RFID (Radio Frequency Identification) is performed (see, for example, Patent Document 1). In such a manufacturing site, inventory management is performed by coordinating a device device such as a reader / writer with a terminal device. For example, the device device notifies the terminal device of the information read from the RFID, and the terminal device stores the information in a cloud server or the like. Further, the terminal device notifies the device device of the information to be written to the RFID, and the device device writes the information to the RFID.

[0003] The process of coordinating such a device device and a terminal device is executed by an application program (hereinafter, referred to as an app). In order to develop an app for coordinating a device device and a terminal device, it is common to use a dedicated app development kit (SDK, Software Development Kit) provided by the manufacturer of the device device or the like. In the SDK, the platforms that can be supported, for example, the types and environments of the OS (Operating System) are defined. For example, a developer selects a platform to be developed from the SDKs and develops an app using the selected SDK. In a device device, the SDK is often provided as a native application (hereinafter, referred to as a native app). A native app is an app that can be used by being installed on a terminal device.

[0004] On the one hand, in recent years, the number of available web applications (hereinafter referred to as web apps) has been increasing regardless of the operating system (OS) of the terminal device. Since web apps are executed via a web browser, they do not depend on the OS of the terminal device. Therefore, it is not necessary to develop for each OS, and it is possible to reduce the development cost compared to the case of developing native apps. That is, if the device and the terminal device are linked by web apps, the development cost can be reduced.

[0005] When the SDK is provided in a native app, in order to link the device and the terminal device with a web app, read and write processes must be performed via the native app. The following methods can be considered as conventional methods for linking a device and a terminal device with a web app.

[0006] The conventional method (1) is a method in which the terminal device temporarily acquires sensor data such as RFID using a native app, and uploads the data acquired by the terminal device to a cloud server using a web app. The conventional method (2) is a method in which the terminal device transmits sensor data such as RFID to a cloud server or the like using a native app, and refers to the information stored in the cloud server using a web app. The conventional method (3) is a method in which functions equivalent to those of a web app are implemented in a native app, sensor data such as RFID is transmitted to a cloud server or the like using the native app, and the information stored in the cloud server is referred to using the native app or the web app.

[0007] As a method for linking a web app and a native app, for example, Patent Document 2 discloses a technique that enables programs executed on each platform to operate in seamless cooperation with each other by mounting a plurality of software platforms.

Prior Art Documents

Patent Documents

[0008] [Patent Document 1] International Publication No. 2005 / 115890 [Patent Document 2] Japanese Patent No. 6366373 Gazette [Summary of the Invention] [Problems to be Solved by the Invention]

[0009] However, there were problems with the conventional methods. In the conventional method (1) and the conventional method (2), the user operating the terminal device had to perform operations while switching between the native app and the web app, which was more troublesome than operating the native app or the web app alone, resulting in a problem of reducing usability. In the conventional method (3), there was a problem that the native app had to implement functions equivalent to those of the web app, which incurred development costs.

[0010] The present invention has been made in view of such circumstances, and an object thereof is to provide a control system, a server device, a control method, and a program that can cooperate the web app and the native app without reducing usability and without increasing development costs. [Means for Solving the Problems]

[0011] The control system of the present invention is a web application provided from a website, including a web application that includes a process of causing a device device communicably connected to a terminal device to execute a device function of the device device, and accessing a website that provides the web application from the terminal device, obtaining information corresponding to the access from the web application, and executing a process corresponding to the access based on the obtained information. A web browser, and a native application that causes the device device to execute the function of the device device when a program installed in the terminal device is executed. When the web application causes the native application to execute the device function, the web application notifies the web browser of first link information specifying content for which the native application executes the device function and second link information specifying content for which the web application executes a process after the process of executing the device function is completed. The web browser notifies the native application of the first link information and the second link information. When the native application obtains the first link information and the second link information from the web browser, the native application executes the device function by outputting the content corresponding to the first link information, and after the process of executing the device function is completed, notifies the web browser of the second link information. When the web browser obtains the second link information from the native application, the web browser outputs the content corresponding to the second link information.

[0012] The server device of the present invention is a web application provided from a website, and causes a device device communicably connected to a terminal device to execute a device function of the device device Notify the terminal device of the information for to have a web application Do The server device, wherein the web application Installed in the terminal device When causing the native application to execute the device function, first link information for specifying the content that the native application executes the device function, and second link information for specifying the content that the web application executes after the process of causing the device function to execute is completed, From the server device the Of the terminal device web browser For is notified Cause to .

[0013] The control method of the present invention is a web application provided from a website, and causes a device device communicably connected to a terminal device to execute the device function of the device device Notify the terminal device of the information for to have a web application Do It is a control method executed by a server device, and the web application Installed in the terminal device When causing the native application to execute the device function, first link information for specifying the content that the native application executes the device function, and second link information for specifying the content that the web application executes after the process of causing the device function to execute is completed, From the server device the Of the terminal device web browser For is notified Cause to .

[0014] The program of the present invention is a web application provided from a website, and causes a device device communicably connected to a terminal device to execute the device function of the device device Notify the terminal device of the information for to have a web application Do It is a program executed by a server device, and the web application Therefore , Installed in the terminal device When causing the native application to execute the device function, first link information for specifying the content that the native application executes the device function, and second link information for specifying the content that the web application executes after the process of causing the device function to execute is completed,From the server device The Of the terminal device web browser is For notified to Do .

Advantages of the Invention

[0015] According to the present invention, a Web application and a native application can be linked without degrading usability and without increasing development costs.

Brief Description of the Drawings

[0016]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Figure 13

Figure 14

Figure 15

Mode for Carrying Out the Invention

[0017] Hereinafter, embodiments of the present invention will be described with reference to the drawings.

[0018] FIG. 1 is a diagram showing an overview of a control system 1 according to an embodiment. The control system 1 is a system for managing the inventory of inventory Z. As shown in FIG. 1, the control system 1 includes, for example, a server device 10, a terminal device 20, and an RFID device device 30. An RDIF tag T is attached to the inventory Z.

[0019] In the control system 1, the server device 10 and the terminal device 20 are communicably connected via a communication network NW. The terminal device 20 and the RFID device device 30 are communicably connected by, for example, USB connection, wired LAN, or short-range wireless communication such as Bluetooth (registered trademark) or wireless LAN.

[0020] The server device 10 is a computer device that provides a Web app (web application). The Web app is an application program that supports inventory management. The server device 10 transmits information corresponding to an access from the terminal device 20 via the Web app, for example, information such as an input screen (see FIG. 4) for inputting information regarding the parts received, to the terminal device 20.

[0021] The terminal device 20 is a computer device such as a smartphone or a tablet carried by a person in charge of inventory management. The terminal device 20 accesses a site (website) corresponding to the Web app and displays a screen provided from the server device 10 via the Web app. The person in charge inputs information according to, for example, an input form on the screen displayed on the terminal device 20.

[0022] The RFID device 30 is a device for reading and writing information to / from the RFID tag T. The RFID device 30 is an example of a "reading device". The RFID device 30 is an example of a "writing device". The RFID device 30 reads and writes information to / from the tag T according to a request (a read request or a write request) from the terminal device 20.

[0023] For example, inventory management using RFID is carried out as follows. For example, when a member is received, an RFID is attached to the member and a tag ID corresponding to the RFID is written. The tag ID is information generated by the web application 131 and is information indicating the member and the RFID attached to the member. For example, when a member is shipped, information such as the shipping date, the quantity shipped, and the shipping destination of the member is stored as inventory information 123 (see FIG. 10) stored in the server device 10, linked to the tag ID of the RFID attached to the member. For example, when an inventory count of members is performed, the tag ID written in the RFID attached to the member is read, and the actual quantity of the members stored and the quantity of the members stored as inventory information 123 are reconciled. If the actual quantity does not match the quantity stored as inventory information 123, information indicating the inventory count date, the actual quantity confirmed by the inventory count, etc. is stored in the inventory information 123. Also, when an inventory count is performed and a member without an RFID is found, an RFID is attached to the member, a tag ID corresponding to the RFID is written, and information such as the member name, the inventory count date, the quantity, and the storage location of the member is stored as inventory information 123, linked to the tag ID.

[0024] Figure 2 is a diagram showing the flow of processing performed by the control system 1 according to the embodiment. As shown in Figure 2, in the server device 10, inventory information 123 is recorded via the Web application 131. The inventory information 123 is information regarding the parts in stock, and for example, it is information indicating the receipt date, part name, quantity, storage location, and the like. Also, the Web application 131 exchanges information with the Web browser 230 of the terminal device 20. The exchange of information between the Web application 131 and the Web browser 230 is performed, for example, by API (Application Programming Interface) communication via an http (Hypertext Transfer Protocol) connection.

[0025] As shown in Figure 2, the server device 10 is composed of, for example, a Web server and an AP server (application server). The server device 10, the Web server, and the AP server may be physically separated into different server devices, or may be executed on the same server.

[0026] The Web server mediates the communication between the client (terminal device 20) and the AP server. For example, the Web server requests the AP server for a screen corresponding to the URL (Uniform Resource Locator) requested from the Web browser 230 (Figure 10). The Web server transmits information (screen information) indicating the screen acquired from the AP server to the Web browser 230. As an entity of the Web server, for example, nginx, apache, etc. are applied.

[0027] The screen information is information interpretable by a Web browser, which is composed of languages such as html (HyperText Markup Language), Cascading Style Sheets (CSS), and JavaScript.

[0028] The AP server generates screen information. The AP server sorts and processes information in response to requests from the Web server, exchanges data with a database (here, inventory information 123) as necessary, and generates screen information. The AP server transmits the generated screen information to the Web server. As the entity of the AP server, for example, applications described in languages such as PHP (Hypertext Preprocessor), Ruby, Python, and Java are applicable.

[0029] In the following description, the form of providing an application that utilizes Web technologies such as controlling and generating data and screens provided to a client (terminal device 20), transmitting that information to the terminal via a Web server, and displaying it on the user's terminal via a Web browser is collectively referred to as a Web application 131.

[0030] In the server device 10, an authentication process is performed. The authentication process here is a process of authenticating the terminal device 20 that has accessed the server device 10. The authentication process is performed using, for example, an API token. In this case, for example, the terminal device 20 has the server device 10 issue in advance information necessary for API communication (a character string corresponding to the API token) and stores it as authentication information 220. When the terminal device 20 accesses the server device 10, it transmits the API token to the server device 10. The server device 10 authenticates that the terminal device 20 is a correct client if the API token notified from the terminal device 20 is, for example, one that it issued in advance, and permits access to the site.

[0031] In the terminal device 20, the Web browser 230 and the native app 231 cooperate. The native app 231 is an application that can be used by being installed on the terminal device 20.

[0032] The native app 231 is a functional unit that executes at least some of the functions necessary for inventory management. Here, the native app 231 has a communication function with the RFID device 30. Specifically, the native app 231 sends a notification to the RFID device 30 requesting it to read the information embedded in the RFID, and receives the information read by the RFID device 30 as a response. Also, the native app 231 sends a notification to the RFID device 30 requesting it to write information to the RFID, and receives information indicating the write result from the RFID device 30 as a response.

[0033] The native app 231 is a functional unit based on a program developed using the SDK provided by the manufacturer of the RFID device 30 or the like. In many cases, the basic functions for using the RFID device 30 are already implemented in the SDK. Therefore, by using the SDK, it is possible to reduce the development load of the program for realizing the communication function with the RFID device 30.

[0034] Here, consider a case where functions other than the communication function with the RFID device 30, such as an input screen for information on parts to be stocked, have already been developed by the Web app 131. In this case, when trying to implement the communication function with the RFID device 30 in the Web app 131, the SDK cannot be used, increasing the load of program development. On the other hand, when trying to implement the function of inputting information on parts to be stocked in the native app 231, the already developed Web app 131 becomes useless. When the Web app 131 performs the process of inputting information on parts to be stocked and writes information to the RFID, if trying to use the native app 231, it is necessary to temporarily store information or start both the Web app 131 and the native app 231, making the operation complicated. That is, it is necessary to perform operations while switching between the Web app 131 and the native app 231, resulting in a decline in operability (usability). Due to the decline in operability, inventory management cannot be smoothly carried out, and as a result, there is a possibility of reducing work efficiency.

[0035] As a countermeasure, in this embodiment, the Web app 131 and the native app 231 are linked (reference sign D) using a link (so-called deep link) that specifies specific content of the native app 231.

[0036] Specifically, the Web app 131 displays, for example, an execution button (button WB in FIG. 5) on an execution screen (see FIG. 5) for executing reading information into the RFID. When the execution button is tapped, it is programmed to access a specific URI (Uniform Resource Identifier). Here, access to the URI of a reading screen (see FIG. 6) for reading information from the RFID in the native app 231 is executed. Thereby, the person in charge can display the reading screen in the native app 231 only by tapping the execution button of the Web app 131.

[0037] Furthermore, in this embodiment, a deep link to the native app 231 is used to specify a completion screen. The completion screen is a predetermined screen of the web app 131 that is displayed when the processing from the native app 231 is completed.

[0038] Specifically, the native app 231 displays, for example, an execution button (the lower right button NB in FIG. 6) on a transmission screen (see the right - hand screen in FIG. 6) that transmits the read result of information to the RFID. When the execution button is tapped, access is executed to a specific URI, here, the URI of the confirmation screen (see FIG. 7) in the web app 131. As a result, the person in charge can display the confirmation screen in the web app 131 just by tapping the execution button of the native app 231.

[0039] As described above, the web app 131 uses a deep link to display a specific screen of the native app 231 and specifies a completion screen when the processing in the native app 231 is completed. Thereby, the web app 131 and the native app 231 can be smoothly switched by a tap operation, and it is possible to realize inventory management that links the functions of each app without degrading the operability. There is no need to implement the functions already developed in the web app 131 in the native app 231. Therefore, it is possible to link the web app 131 and the native app 231 without degrading the user experience and without increasing the development cost.

[0040] The RFID device 30 executes reading from or writing to the RFID in response to a request from the native app 231.

[0041] Here, the flow of the process of reading from the RFID will be described with reference to FIG. 3. FIG. 3 is a sequence diagram showing the flow of the process performed by the control system 1 according to the embodiment. Although the flow of the reading process is described in FIG. 3, the same flow can be applied to the writing process.

[0042] Step S1: The web browser 230 of the terminal device 20 sends a login request to the server device 10. Specifically, the web browser 230 accesses the site of the web application 131 and requests to log in to the site by, for example, entering a login ID and its password. Step S2: The server device 10 issues an authentication token. The web application 131 (or the authentication unit 130 described later) issues an authentication token (for example, an API token) if, for example, the combination of the login ID and password input from the terminal device 20 is a pre-registered combination, and sends the issued authentication token to the terminal device 20. The terminal device 20 receives the authentication token and stores the received authentication token as authentication information 220. The web browser 230 attaches the authentication token to the data, for example, in the header part, when sending data to the web application 131 after step S3. Thereby, the server device 10 can authenticate the terminal device 20 every time there is an access from the terminal device 20.

[0043] Step S3: The terminal device 20 receives information indicating a screen (web application screen) for performing inventory management from the web application 131 via the web browser 230, and displays the screen based on the received information. The screen for performing inventory management is notified from the web application 131 in step S2 together with the authentication token or at a timing different from the notification of the authentication token. Step S4: The web browser 230 receives an operation of a user (for example, a person in charge of inventory management) on the displayed screen. For example, the user selects a function according to the usage. Specifically, the user selects an input screen when inputting, for example, the receipt date and quantity of parts to be inventoried. Also, the user selects an execution screen when reading information embedded in the RFID. The user inputs information to the selected screen as necessary. For example, in the case of an input screen, the receipt date and quantity of parts to be inventoried are input according to the input form displayed on the screen. Step S5: The web browser 230 receives an execution operation. The execution operation here is an operation in which a deep link to the native app 231 is executed. Specifically, it is an operation in which the user taps the execution button on the screen for executing the reading of the RFID.

[0044] Step S6: The web browser 230 makes a read request to the native app 231. Specifically, the web browser 230 executes an access to the URI of the reading screen in the native app 231. Step S7: The native app 231 displays a reading screen (native app screen). Step S8: The native app 231 receives the user's operation on the displayed screen. When the user taps the button for reading, the native app 231 communicates with the RFID device 30 and starts the reading process. Step S9: The RFID device 30 notifies the native app 231 of the reading result. Step S10: The native app 231 receives the user's read completion operation on the displayed screen. The read completion operation here is an operation in which a deep link for returning to the screen of the web browser 230 is executed. Specifically, it is an operation in which the user taps the send button on the screen for sending the information read from the RFID. Step S11: The native app 231 notifies the web browser 230 of the read completion. Specifically, the native app 231 executes an access to the URI of the confirmation screen in the web browser 230. In this case, the native app 231 notifies the web browser 230 of the information read from the RFID. Step S12: The web browser 230 displays a confirmation screen (web app screen). Step S13: The web browser 230 sends the information read from the RFID to the server device 10.

[0045] Here, the images displayed in association with the cooperation between the Web application 131 and the native application will be described with reference to FIGS. 4 to 8. FIGS. 4 to 8 are diagrams showing examples of images displayed on the terminal device 20 according to the embodiment.

[0046] FIG. 4 shows an example of a screen (input screen) for inputting information related to inventory. This input screen is displayed by the Web application 131, and processing is executed according to the program of the Web application 131. As shown in the example of this figure, on the input screen, for example, a message such as "Please select and input inventory..." is displayed, along with input fields WG for inputting information related to inventory, such as the type of parts to be inventoried. The person in charge inputs the type of parts and the like according to the input form on the input screen. A registration button WB for registering inventory is displayed in the lower right of the input screen. When the person in charge registers inventory corresponding to the input information, the registration button WB is tapped.

[0047] FIG. 5 shows an example of a screen (execution screen) for registering inventory. This execution screen is displayed by the Web app 131, and processing is executed according to the program of the Web app 131. As shown in the example of this figure, on the execution screen, for example, a message such as "Do you want to register inventory?" is displayed, along with an input field for entering the quantity of inventory to be registered, a selection field WG for selecting functions to be performed when issuing slips, and the like. Examples of functions to be performed when registering inventory include "RFID linking", "RFID writing", "slip printing", and the like. When "RFID linking" is selected, a process of reading the tag ID of the RFID tag attached to the target inventory is performed (see FIG. 6), and the read tag ID and the target inventory are associated and stored as inventory information 123. When "RFID writing" is selected, a process of writing the tag ID previously issued by the Web app 131 to the RFID attached to the target inventory is performed (see FIG. 8). Thereafter, the issued tag ID is associated with the target inventory and stored as inventory information 123. When "slip printing" is selected, the inventory information 123 is printed as a slip, and the slip printed by the person in charge or the like is attached to the inventory. Note that when "slip printing" is selected, reading and writing processes to the RFID are not performed.

[0048] FIG. 6 shows an example of a screen (tag reading screen) for reading the tag ID embedded in the RFID, which is displayed when "RFID linking" is selected in FIG. 5. This tag reading screen is displayed by the native app 231, and processing is executed according to the program of the native app 231. A deep link to this tag reading screen is associated with the execution button WB in FIG. 5. When the execution button WB in FIG. 5 is tapped, access to the URI of the tag reading screen is executed, and the tag reading screen is displayed.

[0049] In this case, the deep link associated with the execution button WB in FIG. 5 specifies a completion screen. The completion screen is a predetermined screen of the web app 131 that is displayed when the processing of the native app 231 is completed. For example, when the button NB labeled "Send" at the lower part of the right screen in FIG. 6 is tapped, the confirmation screen in FIG. 7 described later is specified as the completion screen.

[0050] Here, multiple completion screens may be specified according to the completion status of the processing in the native app 231. For example, when the loading process is completed normally, the confirmation screen in FIG. 7 may be specified, and when the loading process is interrupted or ends without being completed normally, the input screen in FIG. 4 may be specified. Specifically, in the left screen of FIG. 6, when the button NB labeled "Return to Web" at the top and the button NB labeled "Cancel" in the center are tapped, the execution screen shown in FIG. 5 or the input screen in FIG. 4 is specified as the completion screen.

[0051] As a result, according to the completion status of the processing in the native app 231, the subsequent processing of the web browser 230 can be made different. For example, when the writing process to the RFID is completed normally, by displaying the confirmation screen, it is possible to shift to the process of issuing the stock paper for the next time. On the other hand, when the writing process to the RFID is interrupted, it is possible to return to the input screen to re-enter the input information or return to the execution screen to re-enter the number of sheets to be issued. Thus, even in a case where the subsequent processing is different depending on whether the processing in the native app 231 is completed normally or not, it is possible to smoothly execute the subsequent processing without hindering the operability.

[0052] FIG. 7 shows an example of a screen (confirmation screen) for checking whether to perform a new receipt after inventory registration. Here, the new receipt means registering new inventory. This confirmation screen is displayed by the Web application 131, and processing is executed according to the program of the Web application 131. As shown in the example of this figure, on the confirmation screen, for example, a message such as "Do you want to perform a new receipt?" and buttons labeled "Yes" and "No" are displayed. When the "Yes" button is tapped by the person in charge, an input screen is displayed. On the other hand, when the "No" button is tapped by the person in charge, for example, the Web application 131 ends. Note that with the display of the confirmation screen, the Web browser 230 transmits information regarding the registered inventory, that is, information associating the tag ID and the input information, to the server device 10. The server device 10 stores the information regarding the inventory received from the terminal device 20 as inventory information 123.

[0053] FIG. 8 shows an example of a screen (tag writing screen) for writing information to an RFID, which is displayed when "RFID writing" is selected in FIG. 5. This tag writing screen is displayed by the native application 231, and processing is executed according to the program of the native application 231. When the execution button WB is tapped in a state where "RFID writing" is selected in the selection field WB in FIG. 5, access to the URI of the tag writing screen is executed, and the tag writing screen is displayed.

[0054] In this case, the deep link associated with the execution button WB when "RFID writing" is selected in the selection field WB of FIG. 5 designates a completion screen. The completion screen is a predetermined screen of the Web application 131 to be displayed when the processing from the native application 231 is completed. For example, when the button NB labeled "Confirmation" at the lower part of the right screen in FIG. 8 is tapped, the confirmation screen of FIG. 7 described later is designated as the completion screen.

[0055] Here, the completion screen may be specified in plural according to the completion status of the processing in the native application 231. For example, when the loading process is completed normally, the confirmation screen in FIG. 7 may be specified, and when the loading process is interrupted or ends without being completed normally, the input screen in FIG. 4 may be specified. Specifically, in the left screen of FIG. 8, when the button NB described as "Return to Web" at the upper part and the button NB described as "End writing" at the lower part are tapped, the execution screen shown in FIG. 5 or the input screen in FIG. 4 is specified as the completion screen. Note that "End writing" is a button for ending the writing process without writing the information that was planned to be written, for example.

[0056] FIG. 9 is a block diagram showing a configuration example of the server device 10 of the embodiment. The server device 10 includes, for example, a communication unit 11, a storage unit 12, and a control unit 13. The communication unit 11 communicates with the terminal device 20 via the communication network NW. The communication unit 11 is realized by, for example, a general-purpose communication IC (Integrated Circuit).

[0057] The storage unit 12 is realized by, for example, a storage device such as an HDD (Hard Disk Drive) or a flash memory (a storage device including a non-transitory storage medium), or a combination thereof. The storage unit 12 stores programs for realizing the respective components of the server device 10, variables used when executing the programs, and various types of information. The programs for realizing the respective components of the server device 10 include a program for realizing the function of the Web application 131.

[0058] The storage unit 12 stores, for example, authentication information 120, reading information 121, writing information 122, and inventory information 123. The authentication information 120 is information used for authenticating the terminal device 20. The reading information 121 is information used for performing a reading process. The writing information 122 is information used for performing a writing process. The inventory information 123 is information regarding inventory.

[0059] The control unit 13 realizes its functions by executing programs stored in the storage unit 92 by processing units such as a CPU (Central Processing Unit) and a GPU (Graphics Processing Unit) which are hardware components of the server device 10. That is, when the program of the Web app 131 is executed by hardware such as a CPU, the functions of the Web app 131 are realized.

[0060] The control unit 13 includes, for example, an authentication unit 130, a Web app 131, and a device control unit 132. The authentication unit 130 performs processes related to the authentication of the terminal device 20. For example, the authentication unit 130 issues an authentication token to a legitimate terminal device 20. The authentication unit 130 notifies the issued authentication token to the terminal device 20 and stores it in the authentication information 120. The authentication unit 130 verifies the authentication token for the terminal device 20 that has accessed with the authentication token included in the header, and if the authentication token was issued by the server device 10, permits the access.

[0061] The Web app 131 performs inventory management. The Web app 131 notifies information indicating a screen for performing inventory management in response to an access from the terminal device 20 authenticated by the authentication unit 130. The Web app 131 receives information related to inventory notified from the terminal device 20, for example, information associating the RFID tag ID and information (input information) input from the input screen regarding the inventory, and stores the received information in the inventory information 123.

[0062] When a tap operation is performed on an execution button for executing a process of reading information from or writing information to an RFID by a user's screen operation, the Web app 131 notifies a deep link specifying the URI of the screen of the native app 231. The completion screen is specified in this deep link.

[0063] The device control unit 132 integrally controls the server device 10. For example, the device control unit 132 causes the inventory information received by the communication unit 11 to be stored in the inventory information 123 of the storage unit 12. The device control unit 132 outputs the access information from the terminal device 20 received by the communication unit 11 to the authentication unit 130. The device control unit 132 causes the authentication token issued by the authentication unit 130 to be stored in the authentication information 120 of the storage unit 12, or outputs the authentication result to the Web app 131.

[0064] FIG. 10 is a block diagram showing a configuration example of the terminal device 20 of the embodiment. The terminal device 20 includes, for example, a communication unit 21, a storage unit 22, and a control unit 23. The communication unit 21 includes a NW communication unit 210 and a device communication unit 211. The NW communication unit 210 communicates with the terminal device 20 via the communication network NW. The NW communication unit 210 is realized by, for example, a general-purpose communication IC or the like. The device communication unit 211 is communicably connected by, for example, USB connection, wired LAN, or short-range wireless communication such as Bluetooth (registered trademark) or wireless LAN.

[0065] The storage unit 22 is realized by, for example, a storage device such as an HDD or a flash memory, or a combination thereof. The storage unit 22 stores a program for realizing each component of the terminal device 20, variables used when executing the program, and various types of information. The program for realizing each component of the terminal device 20 includes a program for realizing the function of the native app 231.

[0066] The storage unit 22 stores, for example, authentication information 220. The authentication information 120 is information used for authentication from the server device 10.

[0067] The control unit 23 realizes its functions by executing the programs stored in the storage unit 92 by processing units such as the CPU and GPU which are hardware components of the terminal device 20. That is, the functions of the native app 231 are realized by the execution of the program of the native app 231 by hardware such as the CPU.

[0068] The control unit 23 includes, for example, a web browser 230, a native app 231, and a device control unit 232. The web browser 230 accesses the site of the web app 131 according to the user's input operation, and receives information indicating the screen used for inventory management from the web app 131. Based on the received screen information, the web browser 230 causes the display unit 24 to display the screen. The web browser 230 notifies the web app 131 of the content of the operation performed on the displayed screen, and as a response thereto, receives information indicating the processing result or the screen used for inventory management. The web browser 230 displays a screen according to the information received from the web app 131. Alternatively, the web browser 230 executes processing according to the information received from the web app 131.

[0069] When a specific execution button (a button for executing reading or writing to / from an RFID) is tapped by the user, the web browser 230 notifies the server device 10 of information indicating that the operation has been performed. The web app 131 of the server device 10 notifies the web browser 230 of a deep link for accessing the URI of the screen for executing the reading or writing process of the native app 231 as a response to the operation. This deep link includes information indicating the completion screen on the web app 131 side together with the URI on the native app 231 side. The web browser 230 accesses the screen for executing the reading or writing of the native app 231 according to the notified deep link.

[0070] The native app 231 displays a screen corresponding to a URI, a screen for performing reading or writing to / from an RFID by the native app 231, in response to access via a deep link. The native app 231 communicates with the RFID device 30 via the device communication unit 211 and performs reading or writing to / from the RFID in response to a user input operation. The native app 231 displays the result of performing reading or writing to / from the RFID.

[0071] When a specific execution button (a button for transmitting read information or completing writing) is tapped by the user, the native app 231 accesses the URI of the screen designated as the completion screen on the Web app 131 side. Thereby, the completion screen on the Web app 131 side is displayed.

[0072] The device control unit 232 integrally controls the terminal device 20. For example, the device control unit 232 outputs the information from the Web app 131 received by the NW communication unit 210 to the Web browser 230. The device control unit 232 communicates with the RFID device 30 via the device communication unit 211 in response to a reading process or a writing process by the native app 231.

[0073] The display unit 24 includes a display device such as a liquid crystal display, and displays an image according to the control unit 23 on the display device. The display unit 24 displays, for example, an input screen for performing inventory management notified from the Web app 131 via the Web browser 230. The display unit 24 displays, for example, a screen for performing a reading process or a writing process by the native app 231.

[0074] The input unit 25 includes an input device such as a mouse, a keyboard, or a touch panel, acquires information input to the input device, and outputs the acquired information to the control unit 23.

[0075] FIG. 11 is a diagram showing a configuration example of read information 121A according to an embodiment. The read information 121A is information notified from the Web application 131 to the native application 231 when a read process is performed. The read information 121A includes items such as a call screen ID, a return destination screen ID, a transmission destination screen ID, an identification category, and an operation mode. The call screen ID is identification information of a screen to be accessed when the native application 231 is called, for example, the identification information of the "tag reading screen" shown in FIG. 6. The return destination screen ID is identification information of a screen to be accessed when returning to the Web application 131 by interrupting the read process, for example, the identification information of the "input screen" shown in FIG. 4. The transmission destination screen ID is identification information of a screen to be accessed when the read process is completed and the application returns to the Web application 131, for example, the identification information of the "confirmation screen" shown in FIG. 7. The return destination screen is an example of a "completion screen". The transmission destination screen is an example of a "completion screen". The identification category is information indicating an identification category related to inventory management, for example, information indicating categories of inventory, pallet, and multi. The operation mode is information indicating the operation mode of the native application 231, for example, information indicating either RFID reading or reading of an information recording medium other than RFID (e.g., barcode).

[0076] FIG. 12 is a diagram showing a configuration example of read information 121B according to an embodiment. The read information 121B is information notified from the native application 231 to the Web application 131 when a read process is performed. The read information 121B includes items such as a call screen ID, an identification category, an operation mode, and a read value. The call screen ID is identification information of a screen to be accessed when the Web application 131 is called, and in the read information 121A of FIG. 11, it is the screen ID specified as the transmission destination screen ID or the return destination screen ID. In the example of this figure, the screen ID specified by the transmission destination screen ID of the read information 121A is shown as the call screen ID. The identification category and the operation mode are the same as those of the read information 121A. The read value is information read from RFID.

[0077] FIG. 13 is a diagram showing a configuration example of write information 122A according to an embodiment. The write information 122A is information notified from the Web application 131 to the native application 231 when a write process is performed. The read information 121B includes items such as a call screen ID, a return destination screen ID, a transmission destination screen ID, an identification category, an operation mode, the number of data, an identification code, a tag ID, a process category, and inventory information. The call screen ID is identification information of a screen to be accessed when the native application 231 is called, for example, the identification information of the "tag write screen" shown in FIG. 8. The return destination screen ID is identification information of a screen to be accessed when returning to the Web application 131 by interrupting the write process, for example, the identification information of the "input screen" shown in FIG. 4. The transmission destination screen ID is identification information of a screen to be accessed when the write process is completed and returning to the Web application 131, for example, the identification information of the "confirmation screen" shown in FIG. 7. The identification category and the operation mode are the same as those of the read information 121A. The number of data is information indicating the number of data to be written. Each of the identification code, the tag ID, the process category, and the inventory information is specific content of data to be written to the RFID. The identification code is information indicating an inventory number, a pallet number, or the like. The tag ID is information indicating the tag ID of the RFID attached to the inventory. The process category is information indicating the category of the write process, for example, information indicating either "unprocessed" or "processed". Unprocessed indicates that the write process has not been performed. Processed indicates that the write process has been performed. The inventory information is information indicating specific content such as the type and quantity of parts in stock. In the write information 122A, each of the "identification code, tag ID, process category, inventory information" is stored for the number of data. For example, when the number of data is N (N is an arbitrary natural number), each of the N "identification code, tag ID, process category, inventory information" is stored in the write information 122A.

[0078] FIG. 14 is a diagram showing a configuration example of write information 122B according to an embodiment. The write information 122B is information notified from the native application 231 to the web application 131 when a write process is performed. The write information 122B includes items such as a call screen ID, an identification category, an operation mode, the number of data, an identification code, a tag ID, and a process category. The call screen ID is identification information of a screen to be accessed when the web application 131 is called, and is the screen ID specified as the destination screen ID or the return destination screen ID in the write information 122A of FIG. 13. In the example of this figure, the screen ID specified by the destination screen ID of the write information 122A is shown as the call screen ID. Each of the identification category, the operation mode, the number of data, the identification code, the tag ID, and the process category is the same as that of the write information 122A. In the write information 122B, each of the "identification code, tag ID, process category" is stored for the number of data.

[0079] FIG. 15 is a diagram showing a configuration example of inventory information 123 according to an embodiment. The inventory information 123 is generated for each inventory. The inventory information 123 includes items such as an inventory ID, a tag ID, an inventory classification, an analogy, a quantity, and a remarks. The inventory ID is identification information that uniquely identifies the inventory. The tag ID is the tag ID of the RFID attached to the inventory. The inventory classification is information indicating the classification of the inventory. The type is information indicating the type of the inventory. The quantity is information indicating the quantity of the inventory. The remarks is a remarks column regarding the inventory.

[0080] As described above, the control system 1 of the embodiment includes a web application 131, a web browser 230, and a native application 231. The web application 131 is a web application provided from a website. The processes performed by the web application 131 include processes for causing an RFID device device 30 (an example of a device device) communicably connected to the terminal device 20 to execute a reading process or a writing process to / from the RFID (an example of a device function of the device device). The web browser 230 accesses the website that provides the web application 131 from the terminal device 20, obtains information indicating the input screen of FIG. 4 (an example of the first screen corresponding to the access) from the web application 131, and displays the input screen based on the obtained information. The native application 231 operates when the program installed in the terminal device 20 is executed, and causes the RFID device device 30 to execute a reading process or a writing process to / from the RFID. When executing a reading process or a writing process to / from the RFID, the web application 131 notifies the web browser 230 of information indicating a screen (an example of the second screen) for causing the native application 231 to execute the reading process or the writing process, and a completion screen (an example of the third screen) on which the process is executed by the web application 131. The web browser 230 notifies the native application 231 of the information indicating the second screen and the third screen obtained from the web application 131 (accessing the URI via a deep link). The native application 231 displays the second screen based on the information obtained from the web browser 230. The native application 231 executes a process corresponding to the operation performed on the second screen. When the process corresponding to the operation is completed, the native application 231 notifies the web browser 230 of the information indicating the third screen (accessing the URI via a deep link). The web browser 230 displays the third screen based on the information obtained from the native application 231.

[0081] As a result, when the control system 1 of the embodiment causes a specific screen of the native app 231 to be displayed from the screen of the web app 131 via a deep link, it can specify a return screen when the processing in the native app 231 is completed. Thereby, the web app 131 and the native app 231 can be smoothly switched by the user's tap operation, and it is possible to realize inventory management that coordinates the functions of each app without degrading the operability. There is no need to implement the functions already developed in the web app 131 in the native app 231. Therefore, it is possible to link the web app 131 and the native app 231 without degrading the usability and without increasing the development cost.

[0082] Also, in the control system 1 of the embodiment, when the web browser 230 executes a read process or a write process on the RFID, it may acquire information indicating a return destination screen (an example of the fourth screen) from the web app 131. The return destination screen is a screen to be displayed when the read process or the write process is aborted by the native app 231. Thereby, in the control system 1 of the embodiment, depending on the completion status of the processing in the native app 231, the subsequent processing of the web browser 230 can be made different. Therefore, even when the subsequent processing is different depending on whether the processing in the native app 231 is completed normally or not, it is possible to smoothly execute the subsequent processing without hindering the operability.

[0083] Also, the server device 10 of the embodiment may be provided with the web app 131. Thereby, the server device 10 of the embodiment can link the web app 131 and the native app 231 of the terminal device 20 and smoothly execute processing related to inventory management.

[0084] The control system 1 and all or part of the server device 10 in the above-described embodiment may be implemented by a computer. In that case, a program for realizing this function may be recorded on a computer-readable recording medium, and the program recorded on this recording medium may be read into a computer system and executed to realize it. Here, the "computer system" shall include hardware such as an OS and peripheral devices. Further, the "computer-readable recording medium" refers to a portable medium such as a flexible disk, a magneto-optical disk, a ROM, a CD-ROM, etc., and a storage device such as a hard disk incorporated in a computer system. Furthermore, the "computer-readable recording medium" also includes, like a communication line when transmitting a program via a network such as the Internet or a communication line such as a telephone line, a medium that dynamically holds a program for a short time, and also includes, like a volatile memory inside a computer system that becomes a server or a client in that case, a medium that holds a program for a certain period of time. Also, the above program may be for realizing a part of the above-described functions, and may further be realized in combination with a program already recorded in the computer system for the above-described functions, and may also be realized using a programmable logic device such as an FPGA.

[0085] As described above, the embodiments of the present invention have been described in detail with reference to the drawings. However, the specific configuration is not limited to this embodiment, and designs and the like within the scope not departing from the gist of the present invention are also included.

Explanation of Reference Numerals

[0086] 1…Control system 10…Server device 131…Web app (Web application) 20…Terminal device 230…Web browser (Web browser) 231…Native app

Claims

1. A web application provided from a website, the web application including a process for causing a device device communicably connected to a terminal device to execute a device function of the device device; A web browser that accesses a website that provides the web application from the terminal device, obtains information corresponding to the access from the web application, and executes a process corresponding to the access based on the obtained information; A native application that causes the device device to execute the function of the device device when a program installed in the terminal device is executed; comprising When the web application causes the native application to execute the device function, the web application notifies the web browser of first link information specifying content for which the native application executes the device function and second link information specifying content for which the web application executes a process after the process of executing the device function is completed; The web browser notifies the native application of the first link information and the second link information; When the native application obtains the first link information and the second link information from the web browser, the native application executes the device function by outputting the content corresponding to the first link information, and notifies the web browser of the second link information after the process of executing the device function is completed; When the web browser obtains the second link information from the native application, the web browser outputs the content corresponding to the second link information; A control system.

2. The device device is a reading device that reads information written in an RFID; The device function is a function of reading information written in an RFID; The content corresponding to the first link information is a screen for reading information written in the RFID. The control system according to claim 1.

3. The device is a writing device for writing information to the RFID. The device function is a function for writing information to the RFID. The content corresponding to the first link information is a screen for writing information to the RFID. The control system according to claim 1 or claim 2.

4. When the web browser executes the device function, if the process of executing the device function by the native application is aborted, the web browser acquires third link information specifying the content for which the web application executes the process, and notifies the native application of the third link information together with the first link information and the second link information. When the process of executing the device function is aborted, the native application notifies the web browser of the third link information. When the web browser acquires the third link information from the native application, the web browser outputs the content corresponding to the third link information. The control system according to any one of claims 1 to 3.

5. A server device having a web application provided from a website, the web application notifying a terminal device of information for causing a device device communicably connected to the terminal device to execute a device function of the device device. The web application is When causing the native application installed in the terminal device to execute the device function, the server device notifies the web browser of the terminal device of first link information specifying the content for which the native application executes the device function and second link information specifying the content for which the web application executes the process after the process of causing the device function to execute is completed. Server device.

6. A control method executed by a server device having a web application provided from a website and notifying the terminal device of information for causing a device function of a device device communicably connected to the terminal device to execute, wherein the web application When causing the native application installed in the terminal device to execute the device function, the server device notifies the web browser of the terminal device of first link information specifying the content for which the native application executes the device function and second link information specifying the content for which the web application executes the process after the process of causing the device function to execute is completed. Control method.

7. A program executed by a server device having a web application provided from a website and notifying the terminal device of information for causing a device function of a device device communicably connected to the terminal device to execute, by the web application, When causing the native application installed in the terminal device to execute the device function, the server device notifies the web browser of the terminal device of first link information for specifying content for which the native application executes the device function and second link information for specifying content for which the web application executes processing after the process of causing the device function to execute is completed. Program.

Citation Information

Patent Citations

  • Metal color raised fiber structure

    JP1988066373A

  • Server device and web page provision method

    JP2013016085A

  • Wireless power control and measurements

    JP2016524402A

  • System and method for metadata-driven user interface framework

    JP2018500613A

  • Information processing apparatus, image forming system, and maintenance management program

    JP2019192077A