WO2019221234A1 - Conversion logic generation device, http method execution system, http method execution method, and conversion logic generation program - Google Patents

Conversion logic generation device, http method execution system, http method execution method, and conversion logic generation program Download PDF

Info

Publication number
WO2019221234A1
WO2019221234A1 PCT/JP2019/019511 JP2019019511W WO2019221234A1 WO 2019221234 A1 WO2019221234 A1 WO 2019221234A1 JP 2019019511 W JP2019019511 W JP 2019019511W WO 2019221234 A1 WO2019221234 A1 WO 2019221234A1
Authority
WO
WIPO (PCT)
Prior art keywords
processing
database
http method
command
conversion logic
Prior art date
Application number
PCT/JP2019/019511
Other languages
French (fr)
Japanese (ja)
Inventor
好彦 伊藤
Original Assignee
日本電信電話株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Publication of WO2019221234A1 publication Critical patent/WO2019221234A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication

Definitions

  • the present invention relates to a conversion logic generation device, an HTTP method execution system, an HTTP method execution method, and a conversion logic generation program that generate conversion logic data for converting an HTTP method received from an application execution device into a database command.
  • APIs Applications Programming Interfaces
  • APIs Applications Programming Interfaces
  • REST REpresentational State Transfer
  • the REST API uses HTTP (Hypertext Transfer Protocol), and each CRUD operation (C: Create, R: Read, U: Update, D: for a resource uniquely represented by a URI (Uniform Resource Identifier)) Delete) corresponds to HTTP POST / GET / PUT (PATCH) / DELETE.
  • HTTP Hypertext Transfer Protocol
  • Delete a resource representation of the REST API
  • a data format having a high affinity with web technologies such as JSON (JavaScript (registered trademark) Object Notation) and XML (Extensible Markup Language) is used.
  • JSON JavaScript (registered trademark) Object Notation
  • XML Extensible Markup Language
  • Patent Document 1 there is a method for operating the data managed by the DBM using an API.
  • the method described in Patent Document 1 converts a sequence and a REST including a protocol included in the DBM.
  • Patent Document 1 must use the API after knowing the correspondence between DBM and REST, and even web engineers who only want to use the DBM from the API have knowledge and know-how about the specifications of the DBM. It may be necessary to grasp and raise the barrier of API utilization.
  • Non-Patent Document 1 and Non-Patent Document 2 there are tools that replace operations on DBM with HTTP methods and the like (Non-Patent Document 1 and Non-Patent Document 2).
  • This tool converts a CRUD operation on the DBM into each HTTP method of REST, converts each table and view of the DBM into a URI, and converts a DBM record and attribute into a JSON or XML expression.
  • This tool if there is a DB managed by an existing DBM, it can be provided as an API without any special development, so web engineers can manage it without any special DBM knowledge or know-how. Data can be used.
  • CA "CA Live API Creator-3.1”, [online], [Search May 10, 2018], Internet ⁇ URL: https://docops.ca.com/ca-live-api-creator/3- 1 / en> Tomohiro Kada, “CA Live API Creator Product Description” [online], August 24, 2017, [May 10, 2018 search], Internet ⁇ URL: https://techplay.jp/slide/ 170422>
  • Patent Document 1 and Non-Patent Documents 1 and 2 describe a method for determining a processing type to be performed by synchronous processing or asynchronous processing.
  • an object of the present invention is to provide a conversion logic generation device, an HTTP method execution system, an HTTP method execution method, and a conversion logic generation program that can optimally select synchronous processing or asynchronous processing when creating an API from an HTTP method. That is.
  • a first feature of the present invention relates to a conversion logic generation apparatus that generates conversion logic data for converting an HTTP method received from an application execution apparatus into a database command.
  • the conversion logic generation device stores selection logic data in which a processing type indicating whether a command for a database table is performed in synchronous processing or asynchronous processing and a condition for applying the processing type are associated with each other A table, a command that matches the condition, and a processing type with reference to the selection logic data, an HTTP method corresponding to the specified command, a processing target of the HTTP method corresponding to the specified table, A conversion logic generation unit that outputs conversion logic data associated with the processing type of the identified command is provided.
  • the selection logic data may be associated with an asynchronous process as a process type for a condition that takes time to execute on the table.
  • the selection logic data may associate asynchronous processing as a processing type with a condition involving access to other tables in the database.
  • the selection logic data is data in which a command to the database and a processing type of the command for the table are associated with each table of the database
  • the conversion logic generation unit receives HTTP from the application execution device from the selection logic data.
  • a processing type is specified from the command corresponding to the method and the table corresponding to the processing target of the HTTP method, and the conversion logic data in which the HTTP method, the processing target of the HTTP method, and the processing type of the specified command are associated with each other is obtained. It may be output.
  • the second feature of the present invention is that a conversion logic generating device for generating conversion logic data for converting an HTTP method received from an application execution device into a command of a database, and an HTTP method based on the conversion logic data are stored in the database.
  • the present invention relates to an HTTP method execution system that includes an HTTP method execution device that converts and executes a command, and a database management device that manages a database.
  • the conversion logic generation device has a processing type indicating whether a command for a database table is executed in a synchronous process or an asynchronous process, and a condition for applying the process type
  • a storage device that stores selection logic data associated with each other, a table and a command that meet the conditions and a processing type are identified with reference to the selection logic data, an HTTP method that corresponds to the identified command, and the identified table
  • a conversion logic generation unit that outputs conversion logic data in which the processing target of the corresponding HTTP method is associated with the processing type of the specified command is provided.
  • the HTTP method execution device receives the HTTP method and the processing target from the application execution device.
  • App request that receives processing request including
  • the processing request and conversion logic data are referenced to convert the processing request into a database request for the database, and the command processing type is determined from the HTTP method included in the processing request and the processing target included in the processing request.
  • a conversion unit and a database request processing unit that processes a database request based on the processing type determined by the conversion unit are provided.
  • the database request processing unit transmits a database request to the database management device, and transmits a processing result received from the database management device to the application execution device.
  • a processing response including an inquiry URI that provides a processing result for the processing request is transmitted to the application execution device, and a database request is transmitted to the database management device, and database management is performed.
  • An asynchronous processing unit that holds the processing result received from the device in association with the inquiry URI may be provided.
  • a third feature of the present invention is that a conversion logic generation device that generates conversion logic data for converting an HTTP method received from an application execution device into a database command, and an HTTP method based on the conversion logic data are stored in the database.
  • the present invention relates to an HTTP method execution method used for an HTTP method execution system that includes an HTTP method execution device that converts and executes a command and a database management device that manages a database.
  • the HTTP method execution method includes a process type indicating whether the conversion logic generation device performs a command for a database table in a synchronous process or an asynchronous process, and a condition for applying the process type Storing the selection logic data associated with each other, the conversion logic generation device refers to the selection logic data, identifies the table and command that match the conditions, and the processing type, and the HTTP method corresponding to the identified command;
  • Receiving a processing request including:
  • the TTP method execution device refers to the conversion logic data, converts the processing request into a database request for the database, and determines the processing type of the command from the HTTP method included in the processing request and the processing target included in the processing request.
  • an HTTP method execution device includes a step of processing a database request based on the determined processing type.
  • the fourth feature of the present invention relates to a conversion logic generation program for causing a computer to function as the conversion logic generation device described in the first feature of the present invention.
  • a conversion logic generation device capable of optimally selecting synchronous processing or asynchronous processing when creating an API from an HTTP method. Can do.
  • the information processing system 9 includes an HTTP method execution system 5, an application development device 6, and an application execution device 7.
  • the HTTP method execution system 5, the application development device 6, and the application execution device 7 are connected to each other via a communication network 8 such as the Internet so as to be able to communicate with each other.
  • the application development device 6 generates an application using the API according to the embodiment of the present invention. Further, the application development apparatus 6 registers information related to the API used in the generated application in the HTTP method execution system 5.
  • the application execution device 7 executes the application generated by the application development device 6, uses the API to access the HTTP method execution system 5 in the application, requests processing, and receives the processing result from the HTTP method execution system 5. .
  • the HTTP method execution system 5 converts the API transmitted by the application execution device 7 into a command for accessing the data managed by the database management device 3, processes the data, and transmits the processing result to the application execution device 7. .
  • the HTTP method execution system 5 includes a conversion logic generation device 1, an HTTP method execution device 2, and a database management device 3.
  • the conversion logic generation device 1, the HTTP method execution device 2, and the database management device 3 are connected to each other via a communication network 4 such as a LAN (Local Area Network).
  • a communication network 4 such as a LAN (Local Area Network).
  • LAN Local Area Network
  • the conversion logic generation device 1 generates conversion logic data L for converting the HTTP method received from the application execution device 7 into a database command.
  • the conversion logic generation device 1 generates, based on the API-related information received from the application development device 6, the conversion logic data L converted into an HTTP method transmitted in advance by the application and a command for a database corresponding to the HTTP method.
  • the HTTP method execution device 2 When receiving the HTTP method processing request from the application execution device 7, the HTTP method execution device 2 accesses and processes the database with a command corresponding to the HTTP method based on the conversion logic data L, and executes the result. Transmit to device 7.
  • the database management device 3 is a DBM that manages data accessed by the application execution device 7.
  • the database management device 3 holds data in the form of a plurality of tables or views, and functions as an interface for accessing the data by SQL (Structured Query) Language.
  • the database management device 3 receives a database request (DB request) from the HTTP method execution device 2 and transmits a database response (DB response) including a processing result to the HTTP method execution device 2.
  • API means REST API.
  • an HTTP method that can be converted into an SQL command
  • a URI that identifies a table or view of the database management apparatus 3
  • a parameter in JSON format or query format that can identify an attribute of the table or view, and the like are specified.
  • the HTTP method execution system 5 determines a processing type indicating whether the API received from the application execution device 7 is to be performed synchronously or asynchronously in accordance with the conversion logic data L created in advance.
  • the HTTP method is executed with the determined processing type.
  • HTTP method execution method With reference to FIG. 2, the HTTP method execution method according to the embodiment of the present invention will be described.
  • step S1 the application execution device 7 transmits a processing request to the HTTP method execution device 2.
  • This processing request includes an HTTP method and a processing target.
  • This processing target is information for specifying data managed by the database management device 3.
  • the HTTP method execution device 2 acquires the conversion logic data L from the conversion logic generation device 1 in step S2.
  • the HTTP method execution device 2 may acquire the conversion logic data L in advance.
  • step S3 the HTTP method execution device 2 converts the processing request received from the application execution device 7 into a database request.
  • the database request includes a database command corresponding to the HTTP method included in the processing request and a processing target for specifying data in the database corresponding to the processing target included in the processing request.
  • step S4 the HTTP method execution device 2 specifies the processing type of the received processing request according to the conversion logic data L, and switches the processing according to the processing type specified in step S5.
  • the HTTP method execution device 2 transmits the database request converted in step S3 to the database management device 3 in step S11.
  • the database management device 3 processes the database request received in step S11, and transmits a database response including the processing result to the HTTP method execution device 2 in step S12.
  • the HTTP method execution device 2 converts the database response received in step S12 into a process response addressed to the application execution device 7.
  • step S ⁇ b> 13 the HTTP method execution device 2 transmits a processing response to the application execution device 7 as a response to the processing request received in step S ⁇ b> 1.
  • the HTTP method execution device 2 transmits a response in which the inquiry URI is set to the application execution device 7 as a response to the processing request received in step S1 in step S21.
  • the inquiry URI is used for the application execution device 7 to receive a processing result for the processing request transmitted in step S1.
  • the HTTP method execution device 2 transmits the database request converted in step S3 to the database management device 3 in step S22.
  • the database management device 3 processes the database request received in step S22, and transmits a database response including the processing result to the HTTP method execution device 2 in step S23.
  • the HTTP method execution device 2 stores the inquiry URI transmitted in step S21 and the processing result received in step S23 in association with each other.
  • the HTTP method execution device 2 displays the processing result associated with the received inquiry URI in step S26. To the application execution device 7. Although not shown, if the application execution device 7 transmits an inquiry request to the HTTP method execution device 2 before holding the processing result in step S24, the HTTP method execution device 2 indicates that the processing has not yet been completed. Return to the application execution device 7.
  • the conversion logic generation device 1 is a general computer including a storage device 10, a processing device 20, and a communication control device 30.
  • the functions shown in FIG. 3 are realized by a general computer executing the conversion logic generation program.
  • the storage device 10 is a read only memory (ROM), a random access memory (RAM), a hard disk or the like, and stores various data such as input data, output data, and intermediate data for the processing device 20 to execute processing.
  • the processing device 20 is a CPU (Central Processing Unit) that reads / writes data stored in the storage device 10 and inputs / outputs data to / from the communication control device 30 to perform processing in the conversion logic generation device 1.
  • the communication control device 30 is an interface for the conversion logic generation device 1 to be communicably connected to the HTTP method execution device 2 and the database management device 3.
  • the storage device 10 stores table structure data 11, selection logic data 12, and conversion logic data L.
  • the table structure data 11 is structure data of a table managed by the database management device 3.
  • the table structure data 11 is described in DDL (Database Definition Language).
  • the format of the table structure data 11 is shown in, for example, each (a) of FIGS. 10 to 12, but the format shown in these drawings is not necessary.
  • the selection logic data 12 is data in which a process type indicating whether a command for a database table managed by the database management apparatus 3 is performed in a synchronous process or an asynchronous process and a condition for applying the process type are associated with each other.
  • the selection logic data 12 is created in advance by an administrator of the HTTP method execution system 5 or the like.
  • the selection logic data 12 associates “asynchronous processing” as the processing type with the condition “it takes time to execute the table”.
  • the selection logic data 12 associates “asynchronous processing” as the processing type with the condition “with access to other tables in the database”.
  • the selection logic data 12 may associate “synchronization processing” as the default processing type for cases outside the specified conditions.
  • the selection logic data 12 may be data in which, for each table managed by the database management device 3, a command to the database is associated with a processing type of this command for this table.
  • the selection logic data 12 can specify the processing type for each command (INSERT, SELECT, UPDATE, and DELETE) for each table.
  • the conversion logic data L is data that the conversion logic generation device 1 according to the embodiment of the present invention outputs to the HTTP method execution device 2.
  • the conversion logic data L is data in which the HTTP method received from the application execution device 7, the processing target of the HTTP method, and the processing type of the command corresponding to the HTTP method are associated with each other.
  • the conversion logic data L includes a column related to an API received from an application and a column related to SQL for processing a database.
  • Each sub-item of the item related to API and each sub-item of the item related to SQL are associated with each other so that they can be converted to each other.
  • the items related to the API include the URI of the processing target specified by the API and the small items of parameters for specifying the attributes in the table.
  • the parameters include a format in which parameters included in the API are described in the JSON format and a format described in the query format.
  • the items related to SQL include the table name corresponding to the small item of the processing target URI of the item related to API, and each small item described in the database table of the attribute specified by the parameter small item.
  • the conversion logic data L has an HTTP method specified by the API in an item related to the API, and a database command corresponding to the HTTP method is associated in the item related to the SQL. As shown in FIG. 5, the relationship between the HTTP method specified by the API and the database command corresponding to each HTTP method is predetermined.
  • the conversion logic data L associates a processing type indicating whether a command for the table is performed by synchronous processing or asynchronous processing.
  • the HTTP method “GET” corresponds to the SQL command “SELECT” and is a synchronization process.
  • the HTTP method “POST” corresponds to the SQL command “INSERT” and is an asynchronous process.
  • the processing device 20 includes a table structure acquisition unit 21, a conversion logic generation unit 22, and a conversion logic provision unit 24.
  • the table structure acquisition unit 21 acquires the table structure data 11 for each table in the database used in the API processing and stores it in the storage device 10.
  • the application development apparatus 6 specifies the DBM IP address, port number, and the like, specifies the target database by the table structure acquisition unit 21, and sets the table structure data 11 for each table accommodated in the specified database. You may get
  • the conversion logic generation unit 22 generates conversion logic data L with reference to the table structure data 11 and the selection logic data 12.
  • the conversion logic generation unit 22 performs (1) conversion of an HTTP method and a command for manipulating DBM data, (2) conversion of a URI and DBM table or view specified by HTTP, and (3) HTTP, as in the past.
  • the parameter specified in (1) and the DBM attribute are converted.
  • the conversion logic generation unit 22 according to the embodiment of the present invention further includes (4) a processing type determination unit 23 that sets a processing type to be performed by synchronous processing or asynchronous processing.
  • the process type determination unit 23 refers to the selection logic data 12 and identifies a database table and command that match the conditions of the selection logic data 12 and the process type. In the conversion logic data L, the processing type determination unit 23 associates the HTTP method corresponding to the specified command, the processing target of the HTTP method corresponding to the specified table, and the processing type of the specified command. When determining the processing type according to the table structure, the processing type determination unit 23 also considers the table structure data 11. The processing type determination unit 23 refers to the table structure data 11 or other necessary data in order to determine whether or not the command for the database table satisfies the condition defined by the selection logic data 12. You may do it.
  • the process type determination unit 23 identifies a command and a table that require time to execute To do.
  • the processing type determination unit 23 updates the conversion logic data L by associating asynchronous processing as the processing type with the HTTP method corresponding to this command and the processing target for this table for the specified command and table.
  • the process type determining unit 23 executes the command for the table. Identify commands and tables to access other tables.
  • the processing type determination unit 23 updates the conversion logic data L by associating asynchronous processing as the processing type with the HTTP method corresponding to this command and the processing target for this table for the specified command and table.
  • the processing type determination unit 23 determines from the selection logic data 12, The processing type is specified from the command corresponding to the HTTP method received from the application execution apparatus 7 and the table corresponding to the processing target of the HTTP method.
  • the process type determination unit 23 outputs conversion logic data L in which the specified HTTP method, the processing target of the specified HTTP method, and the process type of the specified command are associated with each other.
  • the process type determination unit 23 refers to the selection logic data 12 and associates the conversion logic data L with the HTTP method and the process target corresponding to the command and the table by associating the asynchronous process or the synchronous process as the process type. Update.
  • the process type determination unit 23 assigns a synchronous process in principle, and an asynchronous process is exceptionally assigned to a command that takes a long time to process. Thereby, even when the application developer does not have knowledge of DBM, the application execution device 7 can avoid a situation in which a timeout occurs in the application and appropriately acquire the result.
  • the conversion logic providing unit 24 transmits the conversion logic data L generated by the conversion logic generation unit 22 to the HTTP method execution device 2.
  • the conversion logic providing unit 24 may transmit the conversion logic data L to the HTTP method execution device 2 when the conversion logic data L is generated, or transmit it to the HTTP method execution device 2 when there is a request from the HTTP method execution device 2. May be.
  • step S101 the conversion logic generation unit 22 associates an HTTP method to be converted with a DB command.
  • step S102 the conversion logic generation unit 22 associates the processing target transmitted from the application with the DB table and attribute.
  • the processes in steps S101 and S102 are performed in the same manner as in the past using the table shown in FIG.
  • step S103 the conversion logic generation unit 22 determines whether each table and database command corresponding to the processing target specified by the API is performed in a synchronous process or an asynchronous process according to the selection logic data 12. Specify the processing type to be shown. Alternatively, the conversion logic generation unit 22 may specify a table and a command to be executed by asynchronous processing according to the selection logic data 12, and may specify each processing type when the other table and command are executed by asynchronous processing.
  • step S104 the conversion logic generation unit 22 generates the conversion logic data L based on the processing results in steps S101 to S103.
  • the conversion logic generation unit 22 sets the processing type when executing the command corresponding to the HTTP method for the table and the attribute corresponding to the processing target for the HTTP method and the processing target.
  • the conversion logic data L is generated in association with the processing type specified in S103.
  • the HTTP method execution device 2 is a general computer including a storage device 50, a processing device 60, and a communication control device 70.
  • a general computer executes the HTTP method execution program to realize the functions shown in FIG.
  • the storage device 50 is a read only memory (ROM), a random access memory (RAM), a hard disk, and the like, and stores various data such as input data, output data, and intermediate data for the processing device 60 to execute processing.
  • the processing device 60 is a CPU (Central Processing Unit) and reads / writes data stored in the storage device 50 and inputs / outputs data to / from the communication control device 70 to perform processing in the HTTP method execution device 2.
  • the communication control device 70 is an interface for allowing the HTTP method execution device 2 to connect to the conversion logic generation device 1 and the database management device 3 so that they can communicate with each other.
  • Storage device 50 stores conversion logic data L and processing result data 51.
  • the conversion logic data L is data generated by the conversion logic generation device 1 and described with reference to FIG.
  • the processing result data 51 holds the processing result when the asynchronous processing is performed on the database. As shown in FIG. 8, the processing result data 51 holds an inquiry URI assigned to the asynchronous processing performed on the database in association with the identifier (link) of the processing result of the asynchronous processing.
  • the processing device 60 includes a conversion logic acquisition unit 61, an application request processing unit 62, a conversion unit 63, and a database request processing unit 64.
  • the conversion logic acquisition unit 61 acquires the conversion logic data L from the conversion logic generation device 1 and stores it in the storage device 50.
  • the conversion logic acquisition unit 61 may acquire the conversion logic data L when receiving a processing request from the application execution device 7 or may acquire the conversion logic data L in advance.
  • the application request processing unit 62 receives a request including an HTTP method and a processing target from the application execution device 7. The application request processing unit 62 further returns the processing request processing result to the application execution device 7.
  • the conversion unit 63 refers to the conversion logic data L, converts the processing request into a database request for the database, and determines the processing type of the command from the HTTP method included in the processing request and the processing target included in the processing request. To do.
  • the conversion unit 63 converts the HTTP method specified in the processing request into a database command, and converts the processing target specified in the processing request into an attribute of a database table. Furthermore, the conversion unit 63 specifies a processing type indicating whether to perform synchronous processing or asynchronous processing on the HTTP method and processing target specified in the processing request.
  • the database request processing unit 64 processes the database request converted by the conversion unit 63 based on the processing type determined by the conversion unit 63.
  • the database request processing unit 64 includes a synchronous processing unit 65 that accesses the database by synchronous processing, and an asynchronous processing unit 66 that accesses the database by asynchronous processing.
  • the synchronization processing unit 65 immediately processes the database request and returns it to the application execution device 7. Specifically, when the processing type determined by the conversion unit 63 is synchronous processing, the synchronization processing unit 65 transmits a database request to the database management device 3 and transmits a processing result received from the database management device to the application execution device 7. To do.
  • the asynchronous processing unit 66 creates an inquiry URI and returns it to the application execution device 7 without processing the database request immediately, and processes the database request. Specifically, when the processing type determined by the conversion unit 63 is asynchronous processing, the asynchronous processing unit 66 transmits a processing response including an inquiry URI that provides a processing result for the processing request to the application execution device 7. In addition, the synchronization processing unit 65 transmits a database request to the database management device 3 and stores the processing result received from the database management device 3 in the processing result data 51 in association with the inquiry URI.
  • the asynchronous processing unit 66 When the asynchronous processing unit 66 receives an inquiry request including an inquiry URI from the application execution device 7 before holding the processing result received from the database management device 3 in the processing result data 51, the asynchronous processing unit 66 indicates that the processing is incomplete. Return to execution device 7. On the other hand, when the asynchronous processing unit 66 holds the processing result received from the database management device 3 in the processing result data 51 and then receives an inquiry request including the inquiry URI from the application execution device 7, the asynchronous processing unit 66 sends the processing result to the application execution device 7. return.
  • the conversion logic generation device 1 asynchronously processes the command for the condition “with access to other tables in the database”. An example of determining that will be described.
  • FIG. 9 is an example of a customer table T1, a product table T2, and an order list table T3 managed by the database management apparatus 3.
  • the “customer address” in the order list table T3 has a relationship with the “customer ID” in the customer table T1
  • the “product name” in the order list table T3 has a relationship with the “product ID” in the product table T2. .
  • the table structure data of the customer table T1 is shown in FIG. 10 (a), and the correspondence between the notation in the table structure data and the notation in FIG. 9 is shown in FIG. 10 (b).
  • the table structure data is shown in FIG. 11A and FIG. 12A, and the correspondence between the notation in the table structure data and the notation in FIG. It is shown in b) and FIG.
  • the table structure data of the order name list table T3 shown in FIG. 12A indicates that “customer address (customer_address)” and “product name (product_name)” are “FOREIGN KEY”. Each item indicates that “customer_id” and “product_id” in another table are referred to.
  • the process type determination unit 23 determines that the HTTP method POST and PUT corresponding to INSERT and UPDATE are to be performed asynchronously for the order name list table T3 shown in FIG.
  • the processing type determination unit 23 determines that the HTTP method GET and DELETE corresponding to the commands other than INSERT and UPDATE are to be performed in a synchronous process with respect to the order name list table T3 shown in FIG.
  • the selection logic data 12 described here is an example, and the present invention is not limited to this.
  • the selection logic data 12 it may be set that asynchronous processing is performed for the condition “with access to two or more other tables in the database”.
  • the condition of “command for a table having a predetermined number of records or more” may be set to be asynchronous processing.
  • the conversion logic generation device 1 corresponds to the selection logic data 12 in advance with a table and a processing type indicating whether a command for the table is an asynchronous process or a synchronous process. Put it on. Since the conversion logic generation device 1 outputs the conversion logic data L in which the processing type is associated with the HTTP method and the processing target based on the selection logic data 12, the HTTP method execution device 2 receives the API from the HTTP method. When creating, synchronous processing or asynchronous processing can be optimally selected. As a result, the developer of the application that transmits the API does not need to set the processing type of the synchronous process or the asynchronous process for the API command, and therefore specifies the processing type of the API command even if the database mechanism is not well known. be able to. In addition, since the processing type can be set appropriately, the application execution device 7 can acquire the result without causing a shortage such as a timeout occurring in the application.
  • the conversion logic generation device described in the embodiment of the present invention may be configured on one piece of hardware as shown in FIG. 3, or on a plurality of pieces of hardware according to the functions and the number of processes. It may be configured. Moreover, you may implement

Abstract

Provided is a conversion logic generation device 1 comprising: a storage device 10 for storing selection logic data 12 in which a process classification indicating whether to carry out a command with respect to a database table with a synchronous process or an asynchronous process is associated with a condition for applying the process classification; and a conversion logic generation part 22 for referring to the selection logic data 12, identifying the table, command, and process classification which meet the condition, and outputting conversion logic data L in which an HTTP method corresponding to the identified command and a subject for processing by the HTTP method corresponding to the identified table are associated with the process classification of the identified command.

Description

変換ロジック生成装置、HTTPメソッド実行システム、HTTPメソッド実行方法および変換ロジック生成プログラムConversion logic generation device, HTTP method execution system, HTTP method execution method, and conversion logic generation program
 本発明は、アプリケーション実行装置から受信したHTTPメソッドを、データベースのコマンドに変換するための変換ロジックデータを生成する変換ロジック生成装置、HTTPメソッド実行システム、HTTPメソッド実行方法および変換ロジック生成プログラムに関する。 The present invention relates to a conversion logic generation device, an HTTP method execution system, an HTTP method execution method, and a conversion logic generation program that generate conversion logic data for converting an HTTP method received from an application execution device into a database command.
 近年、自社または自組織の様々なリソースをネットワーク越しに利用するためのアプリケーションをAPI(Application Programming Interface)化し、APIの外部提供によるパートナーシップの円滑化や、社内の開発の効率化が行われている。ここでAPIは、REST(REpresentational State Transfer)に従う。 In recent years, APIs (Applications Programming Interfaces) have been converted into APIs (Applications Programming Interfaces) to use various resources of the company or its own organization over the network, and partnerships have been facilitated by external provision of APIs, and in-house development has become more efficient. . Here, the API conforms to REST (REpresentational State Transfer).
 REST APIは、HTTP(Hypertext Transfer Protocol)を利用し、URI(Uniform Resource Identifier)で一意に表されたリソースに対して、CRUDの各操作(C:Create、R:Read、U:Update、D:Delete)を、それぞれHTTPのPOST/GET/PUT(PATCH)/DELETEに対応させる。また、REST APIのリソースの表現として、JSON(JavaScript(登録商標)Object Notation)、XML(Extensible Markup Language)等のウェブ技術と親和性が高いデータ形式を利用する。現在、多くのAPIが、REST APIで提供されている。 The REST API uses HTTP (Hypertext Transfer Protocol), and each CRUD operation (C: Create, R: Read, U: Update, D: for a resource uniquely represented by a URI (Uniform Resource Identifier)) Delete) corresponds to HTTP POST / GET / PUT (PATCH) / DELETE. In addition, as a resource representation of the REST API, a data format having a high affinity with web technologies such as JSON (JavaScript (registered trademark) Object Notation) and XML (Extensible Markup Language) is used. Currently, many APIs are provided in the REST API.
 データベースマネージメントシステム(DBM)によって管理されるデータを操作するAPIを作成する際、(1)HTTPメソッドとDBMのデータを操作するコマンドの変換、(2)HTTPで指定されるURIとDBMのテーブルまたはビューの変換、(3)HTTPで指定されるパラメータとDBMの属性の変換、(4)同期処理で行うか非同期処理で行うかの処理種別の決定を行う必要がある。 When creating an API for manipulating data managed by the database management system (DBM), (1) conversion of HTTP method and command for manipulating DBM data, (2) URI and DBM table specified by HTTP or View conversion, (3) Conversion of parameters specified by HTTP and DBM attributes, and (4) Determination of processing type for synchronous processing or asynchronous processing must be performed.
 ここで、DBMによって管理されるデータに対して、APIにより操作する手法がある。例えば特許文献1に記載の方法は、DBMが有するプロトコルを含めて、シーケンスとRESTとを変換する。しかしながら特許文献1は、DBMとRESTとの対応を熟知した上でAPIを利用しなければならず、DBMをAPIから利用したいだけのウェブ技術者であっても、DBMの仕様について知識やノウハウを把握する必要があり、APIの利活用の障壁を高める場合がある。 Here, there is a method for operating the data managed by the DBM using an API. For example, the method described in Patent Document 1 converts a sequence and a REST including a protocol included in the DBM. However, Patent Document 1 must use the API after knowing the correspondence between DBM and REST, and even web engineers who only want to use the DBM from the API have knowledge and know-how about the specifications of the DBM. It may be necessary to grasp and raise the barrier of API utilization.
 そのような状況を鑑みて、DBMに対する操作等を、HTTPのメソッド等に置換するツールがある(非特許文献1および非特許文献2)。このツールは、DBMに対するCRUD操作を、RESTの各HTTPメソッドに変換するとともに、DBMの各テーブルやビューをURIに変換し、DBMのレコードや属性をJSONまたはXMLの表現に変換する。このツールによって、既存のDBMで管理されているDBがあれば、特別な開発なしにAPIとして提供することが可能になるので、ウェブ技術者は特別なDBMの知識やノウハウなしに、DBMが管理するデータの利活用が可能になる。 In view of such a situation, there are tools that replace operations on DBM with HTTP methods and the like (Non-Patent Document 1 and Non-Patent Document 2). This tool converts a CRUD operation on the DBM into each HTTP method of REST, converts each table and view of the DBM into a URI, and converts a DBM record and attribute into a JSON or XML expression. With this tool, if there is a DB managed by an existing DBM, it can be provided as an API without any special development, so web engineers can manage it without any special DBM knowledge or know-how. Data can be used.
特許6169662号公報Japanese Patent No. 6169622
 しかしながら、特許文献1、非特許文献1および2に記載の方法は、いずれも、同期処理で行うか非同期処理で行うかの処理種別を決定する方法について何ら触れられていない。 However, none of the methods described in Patent Document 1 and Non-Patent Documents 1 and 2 describe a method for determining a processing type to be performed by synchronous processing or asynchronous processing.
 APIを生成する際に、同期処理または非同期処理のいずれかを示す処理種別を特定する必要があるところ、いずれの先行技術文献もこの点に触れられていないので、APIの開発者等が指定する必要がある。しかしながら、処理種別を特定するためには、DBMにおけるデータ構造や処理時間等を把握する必要があり、DBMの仕組みに詳しくないAPIの開発者等は、処理種別を適切に設定できない場合がある。 When generating an API, it is necessary to specify a processing type indicating either synchronous processing or asynchronous processing. However, since none of the prior art documents touch this point, an API developer or the like designates it. There is a need. However, in order to specify the processing type, it is necessary to grasp the data structure and processing time in the DBM, and API developers who are not familiar with the DBM mechanism may not be able to set the processing type appropriately.
 従って本発明の目的は、HTTPメソッドからAPIを作成する際に、同期処理または非同期処理を最適に選択可能な変換ロジック生成装置、HTTPメソッド実行システム、HTTPメソッド実行方法および変換ロジック生成プログラムを提供することである。 Therefore, an object of the present invention is to provide a conversion logic generation device, an HTTP method execution system, an HTTP method execution method, and a conversion logic generation program that can optimally select synchronous processing or asynchronous processing when creating an API from an HTTP method. That is.
 上記課題を解決するために、本発明の第1の特徴は、アプリケーション実行装置から受信したHTTPメソッドを、データベースのコマンドに変換するための変換ロジックデータを生成する変換ロジック生成装置に関する。第1の特徴に係る変換ロジック生成装置は、データベースのテーブルに対するコマンドを同期処理で行うかまたは非同期処理で行うかを示す処理種別と、処理種別を適用する条件を対応づけた選択ロジックデータを記憶する記憶装置と、選択ロジックデータを参照して、条件に適合するテーブルおよびコマンドと処理種別を特定し、特定したコマンドに対応するHTTPメソッドと、特定したテーブルに対応するHTTPメソッドの処理対象と、特定されたコマンドの処理種別を対応づけた変換ロジックデータを出力する変換ロジック生成部を備える。 In order to solve the above-described problem, a first feature of the present invention relates to a conversion logic generation apparatus that generates conversion logic data for converting an HTTP method received from an application execution apparatus into a database command. The conversion logic generation device according to the first feature stores selection logic data in which a processing type indicating whether a command for a database table is performed in synchronous processing or asynchronous processing and a condition for applying the processing type are associated with each other A table, a command that matches the condition, and a processing type with reference to the selection logic data, an HTTP method corresponding to the specified command, a processing target of the HTTP method corresponding to the specified table, A conversion logic generation unit that outputs conversion logic data associated with the processing type of the identified command is provided.
 ここで選択ロジックデータは、テーブルに対する実行に時間を要する条件に対して、処理種別として非同期処理を対応づけても良い。 Here, the selection logic data may be associated with an asynchronous process as a process type for a condition that takes time to execute on the table.
 選択ロジックデータは、データベースの他のテーブルへのアクセスを伴う条件に対して、処理種別として非同期処理を対応づけても良い。 The selection logic data may associate asynchronous processing as a processing type with a condition involving access to other tables in the database.
 選択ロジックデータは、データベースの各テーブルについて、データベースへのコマンドと、テーブルに対するコマンドの処理種別を対応づけたデータであって、変換ロジック生成部は、選択ロジックデータから、アプリケーション実行装置から受信するHTTPメソッドに対応するコマンドと、HTTPメソッドの処理対象に対応するテーブルから、処理種別を特定し、HTTPメソッドと、HTTPメソッドの処理対象と、特定されたコマンドの処理種別を対応づけた変換ロジックデータを出力しても良い。 The selection logic data is data in which a command to the database and a processing type of the command for the table are associated with each table of the database, and the conversion logic generation unit receives HTTP from the application execution device from the selection logic data. A processing type is specified from the command corresponding to the method and the table corresponding to the processing target of the HTTP method, and the conversion logic data in which the HTTP method, the processing target of the HTTP method, and the processing type of the specified command are associated with each other is obtained. It may be output.
 本発明の第2の特徴は、アプリケーション実行装置から受信したHTTPメソッドを、データベースのコマンドに変換するための変換ロジックデータを生成する変換ロジック生成装置と、変換ロジックデータに基づいてHTTPメソッドをデータベースのコマンドに変換して実行するHTTPメソッド実行装置と、データベースを管理するデータベース管理装置を備えるHTTPメソッド実行システムに関する。本発明の第2の特徴に係るHTTPメソッド実行システムにおいて、変換ロジック生成装置は、データベースのテーブルに対するコマンドを同期処理で行うかまたは非同期処理で行うかを示す処理種別と、処理種別を適用する条件を対応づけた選択ロジックデータを記憶する記憶装置と、選択ロジックデータを参照して、条件に適合するテーブルおよびコマンドと処理種別を特定し、特定したコマンドに対応するHTTPメソッドと、特定したテーブルに対応するHTTPメソッドの処理対象と、特定されたコマンドの処理種別を対応づけた変換ロジックデータを出力する変換ロジック生成部を備え、HTTPメソッド実行装置は、アプリケーション実行装置から、HTTPメソッドと処理対象を含む処理リクエストを受信するアプリリクエスト処理部と、変換ロジックデータを参照して、処理リクエストをデータベースに対するデータベースリクエストに変換するとともに、処理リクエストに含まれるHTTPメソッドと、処理リクエストに含まれる処理対象から、コマンドの処理種別を決定する変換部と、変換部が決定した処理種別に基づいて、データベースリクエストを処理するデータベースリクエスト処理部を備える。 The second feature of the present invention is that a conversion logic generating device for generating conversion logic data for converting an HTTP method received from an application execution device into a command of a database, and an HTTP method based on the conversion logic data are stored in the database. The present invention relates to an HTTP method execution system that includes an HTTP method execution device that converts and executes a command, and a database management device that manages a database. In the HTTP method execution system according to the second feature of the present invention, the conversion logic generation device has a processing type indicating whether a command for a database table is executed in a synchronous process or an asynchronous process, and a condition for applying the process type A storage device that stores selection logic data associated with each other, a table and a command that meet the conditions and a processing type are identified with reference to the selection logic data, an HTTP method that corresponds to the identified command, and the identified table A conversion logic generation unit that outputs conversion logic data in which the processing target of the corresponding HTTP method is associated with the processing type of the specified command is provided. The HTTP method execution device receives the HTTP method and the processing target from the application execution device. App request that receives processing request including The processing request and conversion logic data are referenced to convert the processing request into a database request for the database, and the command processing type is determined from the HTTP method included in the processing request and the processing target included in the processing request. A conversion unit and a database request processing unit that processes a database request based on the processing type determined by the conversion unit are provided.
 ここで、データベースリクエスト処理部は、変換部が決定した処理種別が同期処理の場合、データベースリクエストをデータベース管理装置に送信し、データベース管理装置から受信した処理結果をアプリケーション実行装置に送信する同期処理部と、変換部が決定した処理種別が非同期処理の場合、処理リクエストに対する処理結果を提供する問い合わせURIを含む処理レスポンスをアプリケーション実行装置に送信するとともに、データベースリクエストをデータベース管理装置に送信し、データベース管理装置から受信した処理結果を、問い合わせURIと対応づけて保持する非同期処理部を備えても良い。 Here, when the processing type determined by the conversion unit is synchronous processing, the database request processing unit transmits a database request to the database management device, and transmits a processing result received from the database management device to the application execution device. When the processing type determined by the conversion unit is asynchronous processing, a processing response including an inquiry URI that provides a processing result for the processing request is transmitted to the application execution device, and a database request is transmitted to the database management device, and database management is performed. An asynchronous processing unit that holds the processing result received from the device in association with the inquiry URI may be provided.
 本発明の第3の特徴は、アプリケーション実行装置から受信したHTTPメソッドを、データベースのコマンドに変換するための変換ロジックデータを生成する変換ロジック生成装置と、変換ロジックデータに基づいてHTTPメソッドをデータベースのコマンドに変換して実行するHTTPメソッド実行装置と、データベースを管理するデータベース管理装置を備えるHTTPメソッド実行システムに用いられるHTTPメソッド実行方法に関する。本発明の第3の特徴に係るHTTPメソッド実行方法は、変換ロジック生成装置が、データベースのテーブルに対するコマンドを同期処理で行うかまたは非同期処理で行うかを示す処理種別と、処理種別を適用する条件を対応づけた選択ロジックデータを記憶するステップと、変換ロジック生成装置が、選択ロジックデータを参照して、条件に適合するテーブルおよびコマンドと処理種別を特定し、特定したコマンドに対応するHTTPメソッドと、特定したテーブルに対応するHTTPメソッドの処理対象と、特定されたコマンドの処理種別を対応づけた変換ロジックデータを出力するステップと、HTTPメソッド実行装置が、アプリケーション実行装置から、HTTPメソッドと処理対象を含む処理リクエストを受信するステップと、HTTPメソッド実行装置が、変換ロジックデータを参照して、処理リクエストをデータベースに対するデータベースリクエストに変換するとともに、処理リクエストに含まれるHTTPメソッドと、処理リクエストに含まれる処理対象から、コマンドの処理種別を決定するステップと、HTTPメソッド実行装置が、決定した処理種別に基づいて、データベースリクエストを処理するステップを備える。 A third feature of the present invention is that a conversion logic generation device that generates conversion logic data for converting an HTTP method received from an application execution device into a database command, and an HTTP method based on the conversion logic data are stored in the database. The present invention relates to an HTTP method execution method used for an HTTP method execution system that includes an HTTP method execution device that converts and executes a command and a database management device that manages a database. The HTTP method execution method according to the third aspect of the present invention includes a process type indicating whether the conversion logic generation device performs a command for a database table in a synchronous process or an asynchronous process, and a condition for applying the process type Storing the selection logic data associated with each other, the conversion logic generation device refers to the selection logic data, identifies the table and command that match the conditions, and the processing type, and the HTTP method corresponding to the identified command; The HTTP method processing target corresponding to the specified table, the step of outputting the conversion logic data corresponding to the specified command processing type, and the HTTP method execution device from the application execution device to the HTTP method and processing target Receiving a processing request including: The TTP method execution device refers to the conversion logic data, converts the processing request into a database request for the database, and determines the processing type of the command from the HTTP method included in the processing request and the processing target included in the processing request. And an HTTP method execution device includes a step of processing a database request based on the determined processing type.
 本発明の第4の特徴は、コンピュータに、本発明の第1の特徴に記載の変換ロジック生成装置として機能させるための変換ロジック生成プログラムに関する。 The fourth feature of the present invention relates to a conversion logic generation program for causing a computer to function as the conversion logic generation device described in the first feature of the present invention.
 本発明によれば、HTTPメソッドからAPIを作成する際に、同期処理または非同期処理を最適に選択可能な変換ロジック生成装置、HTTPメソッド実行システム、HTTPメソッド実行方法および変換ロジック生成プログラムを提供することができる。 According to the present invention, there is provided a conversion logic generation device, an HTTP method execution system, an HTTP method execution method, and a conversion logic generation program capable of optimally selecting synchronous processing or asynchronous processing when creating an API from an HTTP method. Can do.
本発明の実施の形態に係る情報処理システムのシステム構成を説明する図である。It is a figure explaining the system configuration | structure of the information processing system which concerns on embodiment of this invention. 本発明の実施の形態に係るHTTPメソッド実行方法を説明するシーケンス図である。It is a sequence diagram explaining the HTTP method execution method which concerns on embodiment of this invention. 本発明の実施の形態に係る変換ロジック生成装置のハードウエア構成および機能ブロックを説明する図である。It is a figure explaining the hardware constitutions and functional block of the conversion logic production | generation apparatus which concern on embodiment of this invention. 本発明の実施の形態に係る変換ロジックデータの一例を説明する図である。It is a figure explaining an example of conversion logic data concerning an embodiment of the invention. APIで指定されるHTTPメソッドと、各HTTPメソッドに対応するデータベースのコマンドを説明する図である。It is a figure explaining the command of the database corresponding to the HTTP method designated by API, and each HTTP method. 本発明の実施の形態に係る変換ロジック生成部による変換ロジック生成手段の処理を説明するフローチャートである。It is a flowchart explaining the process of the conversion logic production | generation means by the conversion logic production | generation part which concerns on embodiment of this invention. 本発明の実施の形態に係るHTTPメソッド実行装置のハードウエア構成および機能ブロックを説明する図である。It is a figure explaining the hardware constitutions and functional block of the HTTP method execution apparatus which concerns on embodiment of this invention. 本発明の実施の形態に係る処理結果データの一例を説明する図である。It is a figure explaining an example of the processing result data concerning an embodiment of the invention. データベース管理装置が管理する具体的なテーブルの一例を説明する図である。It is a figure explaining an example of the concrete table which a database management apparatus manages. 図9に示す顧客テーブルのテーブル構造データを説明する図である。It is a figure explaining the table structure data of the customer table shown in FIG. 図9に示す製品テーブルのテーブル構造データを説明する図である。It is a figure explaining the table structure data of the product table shown in FIG. 図9に示す発注名簿テーブルのテーブル構造データを説明する図である。It is a figure explaining the table structure data of the order name list table shown in FIG.
 次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一または類似の部分には同一または類似の符号を付している。 Next, an embodiment of the present invention will be described with reference to the drawings. In the following description of the drawings, the same or similar parts are denoted by the same or similar reference numerals.
 (情報処理システム)
 図1を参照して、本発明の実施の形態に係る変換ロジック生成装置1が用いられる情報処理システム9を説明する。情報処理システム9は、HTTPメソッド実行システム5、アプリケーション開発装置6およびアプリケーション実行装置7を備える。HTTPメソッド実行システム5、アプリケーション開発装置6およびアプリケーション実行装置7は、インターネット等の通信ネットワーク8により相互に通信可能に接続される。
(Information processing system)
With reference to FIG. 1, an information processing system 9 in which the conversion logic generation device 1 according to the embodiment of the present invention is used will be described. The information processing system 9 includes an HTTP method execution system 5, an application development device 6, and an application execution device 7. The HTTP method execution system 5, the application development device 6, and the application execution device 7 are connected to each other via a communication network 8 such as the Internet so as to be able to communicate with each other.
 アプリケーション開発装置6は、本発明の実施の形態に係るAPIを用いたアプリケーションを生成する。またアプリケーション開発装置6は、生成したアプリケーションで用いるAPIに関する情報を、HTTPメソッド実行システム5に登録する。 The application development device 6 generates an application using the API according to the embodiment of the present invention. Further, the application development apparatus 6 registers information related to the API used in the generated application in the HTTP method execution system 5.
 アプリケーション実行装置7は、アプリケーション開発装置6が生成したアプリケーションを実行し、アプリケーションにおいて、APIを用いてHTTPメソッド実行システム5にアクセスして処理をリクエストし、HTTPメソッド実行システム5から処理結果を受領する。 The application execution device 7 executes the application generated by the application development device 6, uses the API to access the HTTP method execution system 5 in the application, requests processing, and receives the processing result from the HTTP method execution system 5. .
 HTTPメソッド実行システム5は、アプリケーション実行装置7が送信したAPIを、データベース管理装置3が管理するデータに対するアクセスするためのコマンドに変換してデータを処理し、処理結果をアプリケーション実行装置7に送信する。 The HTTP method execution system 5 converts the API transmitted by the application execution device 7 into a command for accessing the data managed by the database management device 3, processes the data, and transmits the processing result to the application execution device 7. .
 HTTPメソッド実行システム5は、変換ロジック生成装置1、HTTPメソッド実行装置2およびデータベース管理装置3を備える。変換ロジック生成装置1、HTTPメソッド実行装置2およびデータベース管理装置3は、LAN(Local Area Network)等の通信ネットワーク4により相互に通信可能に接続される。本発明の実施の形態において、変換ロジック生成装置1、HTTPメソッド実行装置2およびデータベース管理装置3は、それぞれ個別のハードウエアである場合を説明するが、一つのハードウエアにおいて、各装置の機能が実現されても良いし、3台以上のハードウエアによって、各装置の機能が実現されても良い。また各装置は、仮想マシンであっても良い。 The HTTP method execution system 5 includes a conversion logic generation device 1, an HTTP method execution device 2, and a database management device 3. The conversion logic generation device 1, the HTTP method execution device 2, and the database management device 3 are connected to each other via a communication network 4 such as a LAN (Local Area Network). In the embodiment of the present invention, the case where the conversion logic generation device 1, the HTTP method execution device 2, and the database management device 3 are separate hardware will be described. The functions of each device may be realized by three or more pieces of hardware. Each device may be a virtual machine.
 変換ロジック生成装置1は、アプリケーション実行装置7から受信したHTTPメソッドを、データベースのコマンドに変換するための変換ロジックデータLを生成する。変換ロジック生成装置1は、アプリケーション開発装置6から受信したAPIに関する情報に基づいて、予めアプリケーションが送信するHTTPメソッドと、そのHTTPメソッドに対応するデータベースに対するコマンドに変換した変換ロジックデータLを生成する。 The conversion logic generation device 1 generates conversion logic data L for converting the HTTP method received from the application execution device 7 into a database command. The conversion logic generation device 1 generates, based on the API-related information received from the application development device 6, the conversion logic data L converted into an HTTP method transmitted in advance by the application and a command for a database corresponding to the HTTP method.
 HTTPメソッド実行装置2は、アプリケーション実行装置7からHTTPメソッドの処理リクエストを受信すると、変換ロジックデータLに基づいて、HTTPメソッドに対応するコマンドで、データベースにアクセスして処理し、その結果をアプリケーション実行装置7に送信する。 When receiving the HTTP method processing request from the application execution device 7, the HTTP method execution device 2 accesses and processes the database with a command corresponding to the HTTP method based on the conversion logic data L, and executes the result. Transmit to device 7.
 データベース管理装置3は、アプリケーション実行装置7がアクセスするデータを管理するDBMである。データベース管理装置3は、データを複数のテーブルまたはビューの形式で保持するとともに、SQL(Structured Query Language)によりデータにアクセスするためのインタフェースとして機能する。データベース管理装置3は、HTTPメソッド実行装置2からのデータベースリクエスト(DBリクエスト)を受け付け、HTTPメソッド実行装置2に、処理結果を含むデータベースレスポンス(DBレスポンス)を送信する。 The database management device 3 is a DBM that manages data accessed by the application execution device 7. The database management device 3 holds data in the form of a plurality of tables or views, and functions as an interface for accessing the data by SQL (Structured Query) Language. The database management device 3 receives a database request (DB request) from the HTTP method execution device 2 and transmits a database response (DB response) including a processing result to the HTTP method execution device 2.
 本発明の実施の形態においてAPIは、REST APIを意味する。APIにおいて、SQLコマンドに変換可能なHTTPメソッド、データベース管理装置3が有するテーブルまたはビューを特定するURI、テーブルまたはビューの属性を特定可能なJSON形式またはクエリ形式のパラメータ等が指定される。 In the embodiment of the present invention, API means REST API. In the API, an HTTP method that can be converted into an SQL command, a URI that identifies a table or view of the database management apparatus 3, a parameter in JSON format or query format that can identify an attribute of the table or view, and the like are specified.
 本発明の実施の形態に係るHTTPメソッド実行システム5は、アプリケーション実行装置7から受信したAPIについて、予め作成した変換ロジックデータLに従って同期処理で行うか非同期処理で行うかを示す処理種別を決定し、決定した処理種別で、HTTPメソッドを実行する。アプリケーションがAPIの処理をHTTPメソッド実行システム5にリクエストする際、HTTPメソッドの処理種別を特定しなくても良く、アプリケーションの開発者は、DBMに関する知識は要求されない。 The HTTP method execution system 5 according to the embodiment of the present invention determines a processing type indicating whether the API received from the application execution device 7 is to be performed synchronously or asynchronously in accordance with the conversion logic data L created in advance. The HTTP method is executed with the determined processing type. When an application requests API processing to the HTTP method execution system 5, it is not necessary to specify the processing type of the HTTP method, and the application developer is not required to have knowledge about DBM.
 (HTTPメソッド実行方法)
 図2を参照して、本発明の実施の形態に係るHTTPメソッド実行方法を説明する。
(HTTP method execution method)
With reference to FIG. 2, the HTTP method execution method according to the embodiment of the present invention will be described.
 ステップS1においてアプリケーション実行装置7が、HTTPメソッド実行装置2に処理リクエストを送信する。この処理リクエストには、HTTPメソッドと処理対象とを含む。この処理対象は、データベース管理装置3が管理するデータを特定する情報である。 In step S1, the application execution device 7 transmits a processing request to the HTTP method execution device 2. This processing request includes an HTTP method and a processing target. This processing target is information for specifying data managed by the database management device 3.
 HTTPメソッド実行装置2は、アプリケーション実行装置7から処理リクエストを受信すると、ステップS2において変換ロジック生成装置1から変換ロジックデータLを取得する。HTTPメソッド実行装置2は、変換ロジックデータLを予め取得しても良い。 When receiving the processing request from the application execution device 7, the HTTP method execution device 2 acquires the conversion logic data L from the conversion logic generation device 1 in step S2. The HTTP method execution device 2 may acquire the conversion logic data L in advance.
 ステップS3においてHTTPメソッド実行装置2は、アプリケーション実行装置7から受信した処理リクエストを、データベースリクエストに変換する。データベースリクエストは、処理リクエストに含まれるHTTPメソッドに対応するデータベースのコマンドと、処理リクエストに含まれる処理対象に対応するデータベース中のデータを特定する処理対象を含む。ステップS4においてHTTPメソッド実行装置2は、変換ロジックデータLに従って、受信した処理リクエストの処理種別を特定し、ステップS5において特定した処理種別に従って処理を切り替える。 In step S3, the HTTP method execution device 2 converts the processing request received from the application execution device 7 into a database request. The database request includes a database command corresponding to the HTTP method included in the processing request and a processing target for specifying data in the database corresponding to the processing target included in the processing request. In step S4, the HTTP method execution device 2 specifies the processing type of the received processing request according to the conversion logic data L, and switches the processing according to the processing type specified in step S5.
 同期処理と特定された場合、HTTPメソッド実行装置2は、ステップS11において、ステップS3で変換したデータベースリクエストをデータベース管理装置3に送信する。データベース管理装置3は、ステップS11で受信したデータベースリクエストを処理し、ステップS12において、処理結果を含むデータベースレスポンスをHTTPメソッド実行装置2に送信する。HTTPメソッド実行装置2は、ステップS12で受信したデータベースレスポンスをアプリケーション実行装置7宛の処理レスポンスに変換する。ステップS13においてHTTPメソッド実行装置2は、ステップS1で受信した処理リクエストに対する応答として、処理レスポンスをアプリケーション実行装置7に送信する。 If the synchronization process is identified, the HTTP method execution device 2 transmits the database request converted in step S3 to the database management device 3 in step S11. The database management device 3 processes the database request received in step S11, and transmits a database response including the processing result to the HTTP method execution device 2 in step S12. The HTTP method execution device 2 converts the database response received in step S12 into a process response addressed to the application execution device 7. In step S <b> 13, the HTTP method execution device 2 transmits a processing response to the application execution device 7 as a response to the processing request received in step S <b> 1.
 一方非同期処理と特定された場合、HTTPメソッド実行装置2は、ステップS21において、ステップS1で受信した処理リクエストに対する応答として、問い合わせURIを設定したレスポンスをアプリケーション実行装置7に送信する。問い合わせURIは、アプリケーション実行装置7が、ステップS1で送信した処理リクエストに対する処理結果を受信するために用いられる。ステップS22においてHTTPメソッド実行装置2は、ステップS22において、ステップS3で変換したデータベースリクエストをデータベース管理装置3に送信する。データベース管理装置3は、ステップS22で受信したデータベースリクエストを処理し、ステップS23において、処理結果を含むデータベースレスポンスをHTTPメソッド実行装置2に送信する。ステップS24においてHTTPメソッド実行装置2は、ステップS21で送信した問い合わせURIと、ステップS23で受信した処理結果とを対応づけて保持する。 On the other hand, if the asynchronous method is specified, the HTTP method execution device 2 transmits a response in which the inquiry URI is set to the application execution device 7 as a response to the processing request received in step S1 in step S21. The inquiry URI is used for the application execution device 7 to receive a processing result for the processing request transmitted in step S1. In step S22, the HTTP method execution device 2 transmits the database request converted in step S3 to the database management device 3 in step S22. The database management device 3 processes the database request received in step S22, and transmits a database response including the processing result to the HTTP method execution device 2 in step S23. In step S24, the HTTP method execution device 2 stores the inquiry URI transmitted in step S21 and the processing result received in step S23 in association with each other.
 ステップS25においてアプリケーション実行装置7が、問い合わせURIを指定した問合リクエストをHTTPメソッド実行装置2に送信すると、HTTPメソッド実行装置2は、ステップS26において、受信した問い合わせURIに対応づけられた処理結果を、アプリケーション実行装置7に送信する。なお図示しないが、ステップS24で処理結果を保持する前に、アプリケーション実行装置7が問合リクエストをHTTPメソッド実行装置2に送信すると、HTTPメソッド実行装置2は、まだ処理が完了していない旨をアプリケーション実行装置7に返す。 When the application execution device 7 transmits an inquiry request specifying the inquiry URI to the HTTP method execution device 2 in step S25, the HTTP method execution device 2 displays the processing result associated with the received inquiry URI in step S26. To the application execution device 7. Although not shown, if the application execution device 7 transmits an inquiry request to the HTTP method execution device 2 before holding the processing result in step S24, the HTTP method execution device 2 indicates that the processing has not yet been completed. Return to the application execution device 7.
 (変換ロジック生成装置)
 図3を参照して、本発明の実施の形態に係る変換ロジック生成装置1を説明する。変換ロジック生成装置1は、記憶装置10、処理装置20、通信制御装置30を備える一般的なコンピュータである。一般的なコンピュータが変換ロジック生成プログラムを実行することにより、図3に示す機能を実現する。
(Conversion logic generator)
With reference to FIG. 3, the conversion logic production | generation apparatus 1 which concerns on embodiment of this invention is demonstrated. The conversion logic generation device 1 is a general computer including a storage device 10, a processing device 20, and a communication control device 30. The functions shown in FIG. 3 are realized by a general computer executing the conversion logic generation program.
 記憶装置10は、ROM(Read Only Memory)、RAM(Random access memory)、ハードディスク等であって、処理装置20が処理を実行するための入力データ、出力データおよび中間データなどの各種データを記憶する。処理装置20は、CPU(Central Processing Unit)であって、記憶装置10に記憶されたデータを読み書きしたり、通信制御装置30とデータを入出力したりして、変換ロジック生成装置1における処理を実行する。通信制御装置30は、変換ロジック生成装置1が、HTTPメソッド実行装置2およびデータベース管理装置3と通信可能に接続するためのインタフェースである。 The storage device 10 is a read only memory (ROM), a random access memory (RAM), a hard disk or the like, and stores various data such as input data, output data, and intermediate data for the processing device 20 to execute processing. . The processing device 20 is a CPU (Central Processing Unit) that reads / writes data stored in the storage device 10 and inputs / outputs data to / from the communication control device 30 to perform processing in the conversion logic generation device 1. Execute. The communication control device 30 is an interface for the conversion logic generation device 1 to be communicably connected to the HTTP method execution device 2 and the database management device 3.
 記憶装置10は、テーブル構造データ11、選択ロジックデータ12および変換ロジックデータLを記憶する。 The storage device 10 stores table structure data 11, selection logic data 12, and conversion logic data L.
 テーブル構造データ11は、データベース管理装置3が管理するテーブルの構造データである。テーブル構造データ11は、DDL(Database Definition Language)によって記載される。テーブル構造データ11の形式を、例えば図10ないし図12の各(a)に示すが、これらの図に示す形式でなくても良い。 The table structure data 11 is structure data of a table managed by the database management device 3. The table structure data 11 is described in DDL (Database Definition Language). The format of the table structure data 11 is shown in, for example, each (a) of FIGS. 10 to 12, but the format shown in these drawings is not necessary.
 選択ロジックデータ12は、データベース管理装置3が管理するデータベースのテーブルに対するコマンドを同期処理で行うかまたは非同期処理で行うかを示す処理種別と、処理種別を適用する条件を対応づけたデータである。選択ロジックデータ12は、HTTPメソッド実行システム5の管理者等によって、予め作成される。 The selection logic data 12 is data in which a process type indicating whether a command for a database table managed by the database management apparatus 3 is performed in a synchronous process or an asynchronous process and a condition for applying the process type are associated with each other. The selection logic data 12 is created in advance by an administrator of the HTTP method execution system 5 or the like.
 例えば選択ロジックデータ12は、「テーブルに対する実行に時間を要する」条件に対して、処理種別として「非同期処理」を対応づける。選択ロジックデータ12は、「データベースの他のテーブルへのアクセスを伴う」条件に対して、処理種別として「非同期処理」を対応づける。さらに選択ロジックデータ12は、指定された条件外のケースについては、デフォルトの処理種別として「同期処理」を対応づけるようにしても良い。 For example, the selection logic data 12 associates “asynchronous processing” as the processing type with the condition “it takes time to execute the table”. The selection logic data 12 associates “asynchronous processing” as the processing type with the condition “with access to other tables in the database”. Further, the selection logic data 12 may associate “synchronization processing” as the default processing type for cases outside the specified conditions.
 また選択ロジックデータ12は、データベース管理装置3が管理する各テーブルについて、データベースへのコマンドと、このテーブルに対するこのコマンドの処理種別を対応づけたデータであっても良い。この場合選択ロジックデータ12は、各テーブルについて、データベースの各コマンド(INSERT、SELECT、UPDATE、DELETE)について、処理種別を特定可能である。 Further, the selection logic data 12 may be data in which, for each table managed by the database management device 3, a command to the database is associated with a processing type of this command for this table. In this case, the selection logic data 12 can specify the processing type for each command (INSERT, SELECT, UPDATE, and DELETE) for each table.
 変換ロジックデータLは、本発明の実施の形態に係る変換ロジック生成装置1が、HTTPメソッド実行装置2に出力するデータである。変換ロジックデータLは、アプリケーション実行装置7から受信するHTTPメソッドと、HTTPメソッドの処理対象と、HTTPメソッドに対応するコマンドの処理種別を対応づけたデータである。 The conversion logic data L is data that the conversion logic generation device 1 according to the embodiment of the present invention outputs to the HTTP method execution device 2. The conversion logic data L is data in which the HTTP method received from the application execution device 7, the processing target of the HTTP method, and the processing type of the command corresponding to the HTTP method are associated with each other.
 変換ロジックデータLは、例えば図4に示すように、アプリケーションから受信するAPIに関する欄と、データベースを処理するためのSQLに関する欄を備える。APIに関する項目の各小項目と、SQLに関する項目の各小項目は、相互に変換可能に対応づけられる。APIに関する項目は、APIで指定される処理対象のURIと、テーブル中の属性を特定するためのパラメータの各小項目を含む。パラメータは、APIに含まれるパラメータをJSON形式で記載したフォーマットと、クエリ形式で記載したフォーマットを含む。SQLに関する項目は、APIに関する項目の処理対象URIの小項目に対応するテーブル名と、パラメータの小項目で特定された属性のデータベースのテーブルにおける記載の各小項目を含む。 For example, as shown in FIG. 4, the conversion logic data L includes a column related to an API received from an application and a column related to SQL for processing a database. Each sub-item of the item related to API and each sub-item of the item related to SQL are associated with each other so that they can be converted to each other. The items related to the API include the URI of the processing target specified by the API and the small items of parameters for specifying the attributes in the table. The parameters include a format in which parameters included in the API are described in the JSON format and a format described in the query format. The items related to SQL include the table name corresponding to the small item of the processing target URI of the item related to API, and each small item described in the database table of the attribute specified by the parameter small item.
 さらに、変換ロジックデータLは、APIに関する項目において、APIで指定されるHTTPメソッドを有し、SQLに関する項目において、HTTPメソッドに対応するデータベースのコマンドが対応づけられる。APIで指定されるHTTPメソッドと、各HTTPメソッドに対応するデータベースのコマンドの関係は、図5に示すように、予め定められている。 Further, the conversion logic data L has an HTTP method specified by the API in an item related to the API, and a database command corresponding to the HTTP method is associated in the item related to the SQL. As shown in FIG. 5, the relationship between the HTTP method specified by the API and the database command corresponding to each HTTP method is predetermined.
 さらに変換ロジックデータLは、テーブルに対するコマンドを同期処理で行うかまたは非同期処理で行うかを示す処理種別を対応づける。例えば図4に示す例では、HTTPメソッド“GET”は、SQLコマンドの“SELECT”に対応し、同期処理である。HTTPメソッド“POST”は、SQLコマンドの“INSERT”に対応し、非同期処理である。 Furthermore, the conversion logic data L associates a processing type indicating whether a command for the table is performed by synchronous processing or asynchronous processing. For example, in the example shown in FIG. 4, the HTTP method “GET” corresponds to the SQL command “SELECT” and is a synchronization process. The HTTP method “POST” corresponds to the SQL command “INSERT” and is an asynchronous process.
 処理装置20は、テーブル構造取得部21、変換ロジック生成部22および変換ロジック提供部24を備える。 The processing device 20 includes a table structure acquisition unit 21, a conversion logic generation unit 22, and a conversion logic provision unit 24.
 テーブル構造取得部21は、アプリケーション開発装置6からAPIの登録を行う指示が入力された際、そのAPIの処理で用いられるデータベースの各テーブルについて、テーブル構造データ11を取得して記憶装置10に記憶する。アプリケーション開発装置6は、例えば、DBMのIPアドレス、ポート番号などを指定して、テーブル構造取得部21が対象となるデータベースを特定し、特定されたデータベースが収容する各テーブルについて、テーブル構造データ11を取得しても良い。 When an instruction to register an API is input from the application development device 6, the table structure acquisition unit 21 acquires the table structure data 11 for each table in the database used in the API processing and stores it in the storage device 10. To do. For example, the application development apparatus 6 specifies the DBM IP address, port number, and the like, specifies the target database by the table structure acquisition unit 21, and sets the table structure data 11 for each table accommodated in the specified database. You may get
 変換ロジック生成部22は、テーブル構造データ11および選択ロジックデータ12を参照して、変換ロジックデータLを生成する。変換ロジック生成部22は、従来と同様に、(1)HTTPメソッドとDBMのデータを操作するコマンドの変換、(2)HTTPで指定されるURIとDBMのテーブルまたはビューの変換および(3)HTTPで指定されるパラメータとDBMの属性の変換を行う。本発明の実施の形態に係る変換ロジック生成部22は、さらに(4)同期処理で行うか非同期処理で行うかの処理種別を設定する処理種別決定部23を備える。 The conversion logic generation unit 22 generates conversion logic data L with reference to the table structure data 11 and the selection logic data 12. The conversion logic generation unit 22 performs (1) conversion of an HTTP method and a command for manipulating DBM data, (2) conversion of a URI and DBM table or view specified by HTTP, and (3) HTTP, as in the past. The parameter specified in (1) and the DBM attribute are converted. The conversion logic generation unit 22 according to the embodiment of the present invention further includes (4) a processing type determination unit 23 that sets a processing type to be performed by synchronous processing or asynchronous processing.
 処理種別決定部23は、選択ロジックデータ12を参照して、選択ロジックデータ12の条件に適合するデータベースのテーブルおよびコマンドと処理種別を特定する。処理種別決定部23は、変換ロジックデータLにおいて、特定したコマンドに対応するHTTPメソッドと、特定したテーブルに対応するHTTPメソッドの処理対象と、特定されたコマンドの処理種別を対応づける。処理種別決定部23は、テーブルの構造に従って処理種別を決定する場合、テーブル構造データ11も併せて参酌する。処理種別決定部23は、データベースのテーブルに対するコマンドが、選択ロジックデータ12で定められた条件を満たすか否かを判定するために、テーブル構造データ11を参照したり、その他の必要なデータを参照したりしても良い。 The process type determination unit 23 refers to the selection logic data 12 and identifies a database table and command that match the conditions of the selection logic data 12 and the process type. In the conversion logic data L, the processing type determination unit 23 associates the HTTP method corresponding to the specified command, the processing target of the HTTP method corresponding to the specified table, and the processing type of the specified command. When determining the processing type according to the table structure, the processing type determination unit 23 also considers the table structure data 11. The processing type determination unit 23 refers to the table structure data 11 or other necessary data in order to determine whether or not the command for the database table satisfies the condition defined by the selection logic data 12. You may do it.
 例えば、選択ロジックデータ12において、「テーブルに対する実行に時間を要する」条件に対して、処理種別として非同期処理が対応づけられる場合、処理種別決定部23は、実行に時間を要するコマンドとテーブルを特定する。処理種別決定部23は、特定したコマンドとテーブルについて、このコマンドに対応するHTTPメソッドと、このテーブルに対する処理対象に、処理種別として非同期処理を対応づけて変換ロジックデータLを更新する。 For example, in the selection logic data 12, when an asynchronous process is associated as a process type with respect to a condition that requires time for execution on the table, the process type determination unit 23 identifies a command and a table that require time to execute To do. The processing type determination unit 23 updates the conversion logic data L by associating asynchronous processing as the processing type with the HTTP method corresponding to this command and the processing target for this table for the specified command and table.
 また選択ロジックデータ12において、「データベースの他のテーブルへのアクセスを伴う」条件に対して、処理種別として非同期処理が対応づけられる場合、処理種別決定部23は、テーブルに対するコマンドの実行に伴って、他のテーブルへアクセスするコマンドとテーブルを特定する。処理種別決定部23は、特定したコマンドとテーブルについて、このコマンドに対応するHTTPメソッドと、このテーブルに対する処理対象に、処理種別として非同期処理を対応づけて変換ロジックデータLを更新する。 Further, in the selection logic data 12, when an asynchronous process is associated as a process type with respect to the condition “with access to other tables in the database”, the process type determining unit 23 executes the command for the table. Identify commands and tables to access other tables. The processing type determination unit 23 updates the conversion logic data L by associating asynchronous processing as the processing type with the HTTP method corresponding to this command and the processing target for this table for the specified command and table.
 また選択ロジックデータ12において、データベース管理装置3が管理する各テーブルについて、データベースへのコマンドと、このテーブルに対するこのコマンドの処理種別を対応づける場合、処理種別決定部23は、選択ロジックデータ12から、アプリケーション実行装置7から受信するHTTPメソッドに対応するコマンドと、HTTPメソッドの処理対象に対応するテーブルから、処理種別を特定する。処理種別決定部23は、特定されたHTTPメソッドと、特定されたHTTPメソッドの処理対象と、特定されたコマンドの処理種別を対応づけた変換ロジックデータLを出力する。 Further, in the selection logic data 12, for each table managed by the database management device 3, when associating the command to the database with the processing type of this command for this table, the processing type determination unit 23 determines from the selection logic data 12, The processing type is specified from the command corresponding to the HTTP method received from the application execution apparatus 7 and the table corresponding to the processing target of the HTTP method. The process type determination unit 23 outputs conversion logic data L in which the specified HTTP method, the processing target of the specified HTTP method, and the process type of the specified command are associated with each other.
 このように処理種別決定部23は、選択ロジックデータ12を参照して、コマンドとテーブルに対応するHTTPメソッドおよび処理対象について、処理種別として非同期処理または同期処理を対応づけて、変換ロジックデータLを更新する。 As described above, the process type determination unit 23 refers to the selection logic data 12 and associates the conversion logic data L with the HTTP method and the process target corresponding to the command and the table by associating the asynchronous process or the synchronous process as the process type. Update.
 複数のテーブルの変更を伴うなど、処理に時間がかかるコマンドを同期処理で行った場合、アプリケーション実行装置7がAPIを送信してから所定の時間以内にレスポンスを返信することができず、タイムアウトとなってしまう場合がある。そこで、処理種別決定部23は、原則同期処理を割り当て、処理に時間がかかるコマンドについて例外的に非同期処理を割り当てる。これにより、アプリケーション開発者にDBMの知識がない場合でも、アプリケーション実行装置7は、アプリケーションでタイムアウトが生じる事態を回避して、結果を適切に取得することができる。 When a command that takes a long time to process, such as a change of a plurality of tables, is performed in the synchronous process, a response cannot be returned within a predetermined time after the application execution apparatus 7 transmits the API, It may become. Therefore, the process type determination unit 23 assigns a synchronous process in principle, and an asynchronous process is exceptionally assigned to a command that takes a long time to process. Thereby, even when the application developer does not have knowledge of DBM, the application execution device 7 can avoid a situation in which a timeout occurs in the application and appropriately acquire the result.
 変換ロジック提供部24は、変換ロジック生成部22が生成した変換ロジックデータLを、HTTPメソッド実行装置2に送信する。変換ロジック提供部24は、変換ロジックデータLが生成された際にHTTPメソッド実行装置2に送信しても良いし、HTTPメソッド実行装置2からリクエストがあった際にHTTPメソッド実行装置2に送信しても良い。 The conversion logic providing unit 24 transmits the conversion logic data L generated by the conversion logic generation unit 22 to the HTTP method execution device 2. The conversion logic providing unit 24 may transmit the conversion logic data L to the HTTP method execution device 2 when the conversion logic data L is generated, or transmit it to the HTTP method execution device 2 when there is a request from the HTTP method execution device 2. May be.
 図6を参照して、本発明の実施の形態に係る変換ロジック生成部22による変換ロジック生成処理を説明する。 With reference to FIG. 6, the conversion logic generation process by the conversion logic generation unit 22 according to the embodiment of the present invention will be described.
 まずステップS101において変換ロジック生成部22は、変換対象のHTTPのメソッドとDBのコマンドを対応づける。ステップS102において変換ロジック生成部22は、アプリケーションから送信される処理対象と、DBのテーブルおよび属性とを対応づける。ステップS101およびステップS102の処理は、図5に示すテーブルなどを用いて従来と同様の方法で行われる。 First, in step S101, the conversion logic generation unit 22 associates an HTTP method to be converted with a DB command. In step S102, the conversion logic generation unit 22 associates the processing target transmitted from the application with the DB table and attribute. The processes in steps S101 and S102 are performed in the same manner as in the past using the table shown in FIG.
 次に、ステップS103において変換ロジック生成部22は、APIで指定される処理対象に対応する各テーブルおよびデータベースの各コマンドについて、選択ロジックデータ12に従って、同期処理で行うか或いは非同期処理で行うかを示す処理種別を特定する。或いは、変換ロジック生成部22は、選択ロジックデータ12に従って、非同期処理で行うテーブルおよびコマンドを特定するとともに、それ以外のテーブルおよびコマンドについて非同期処理で行うと、各処理種別を特定しても良い。 Next, in step S103, the conversion logic generation unit 22 determines whether each table and database command corresponding to the processing target specified by the API is performed in a synchronous process or an asynchronous process according to the selection logic data 12. Specify the processing type to be shown. Alternatively, the conversion logic generation unit 22 may specify a table and a command to be executed by asynchronous processing according to the selection logic data 12, and may specify each processing type when the other table and command are executed by asynchronous processing.
 ステップS104において変換ロジック生成部22は、ステップS101ないしステップS103の処理結果に基づいて、変換ロジックデータLを生成する。本発明の実施の形態において変換ロジック生成部22は特に、HTTPメソッドおよび処理対象に、処理対象に対応するテーブルおよび属性に対して、HTTPメソッドに対応するコマンドを実行する際の処理種別として、ステップS103で特定した処理種別を対応づけて変換ロジックデータLを生成する。 In step S104, the conversion logic generation unit 22 generates the conversion logic data L based on the processing results in steps S101 to S103. In the embodiment of the present invention, the conversion logic generation unit 22 sets the processing type when executing the command corresponding to the HTTP method for the table and the attribute corresponding to the processing target for the HTTP method and the processing target. The conversion logic data L is generated in association with the processing type specified in S103.
 (HTTPメソッド実行装置)
 図7を参照して、本発明の実施の形態に係るHTTPメソッド実行装置2を説明する。HTTPメソッド実行装置2は、記憶装置50、処理装置60および通信制御装置70を備える一般的なコンピュータである。一般的なコンピュータがHTTPメソッド実行プログラムを実行することにより、図7に示す機能を実現する。
(HTTP method execution device)
With reference to FIG. 7, the HTTP method execution apparatus 2 which concerns on embodiment of this invention is demonstrated. The HTTP method execution device 2 is a general computer including a storage device 50, a processing device 60, and a communication control device 70. A general computer executes the HTTP method execution program to realize the functions shown in FIG.
 記憶装置50は、ROM(Read Only Memory)、RAM(Random access memory)、ハードディスク等であって、処理装置60が処理を実行するための入力データ、出力データおよび中間データなどの各種データを記憶する。処理装置60は、CPU(Central Processing Unit)であって、記憶装置50に記憶されたデータを読み書きしたり、通信制御装置70とデータを入出力したりして、HTTPメソッド実行装置2における処理を実行する。通信制御装置70は、HTTPメソッド実行装置2が、変換ロジック生成装置1およびデータベース管理装置3と通信可能に接続するためのインタフェースである。 The storage device 50 is a read only memory (ROM), a random access memory (RAM), a hard disk, and the like, and stores various data such as input data, output data, and intermediate data for the processing device 60 to execute processing. . The processing device 60 is a CPU (Central Processing Unit) and reads / writes data stored in the storage device 50 and inputs / outputs data to / from the communication control device 70 to perform processing in the HTTP method execution device 2. Execute. The communication control device 70 is an interface for allowing the HTTP method execution device 2 to connect to the conversion logic generation device 1 and the database management device 3 so that they can communicate with each other.
 記憶装置50は、変換ロジックデータLおよび処理結果データ51を記憶する。 Storage device 50 stores conversion logic data L and processing result data 51.
 変換ロジックデータLは、変換ロジック生成装置1が生成したデータであって、図4等を参照して説明したデータである。 The conversion logic data L is data generated by the conversion logic generation device 1 and described with reference to FIG.
 処理結果データ51は、データベースに非同期処理を行った場合の処理結果を保持する。処理結果データ51は、図8に示すように、データベースに対して行った非同期処理に割り当てられた問い合わせURIに、その非同期処理の処理結果の識別子(リンク)を対応づけて保持する。 The processing result data 51 holds the processing result when the asynchronous processing is performed on the database. As shown in FIG. 8, the processing result data 51 holds an inquiry URI assigned to the asynchronous processing performed on the database in association with the identifier (link) of the processing result of the asynchronous processing.
 処理装置60は、変換ロジック取得部61、アプリリクエスト処理部62、変換部63およびデータベースリクエスト処理部64を備える。 The processing device 60 includes a conversion logic acquisition unit 61, an application request processing unit 62, a conversion unit 63, and a database request processing unit 64.
 変換ロジック取得部61は、変換ロジック生成装置1から変換ロジックデータLを取得して、記憶装置50に記憶する。変換ロジック取得部61は、アプリケーション実行装置7から処理リクエストを受信した際に変換ロジックデータLを取得しても良いし、予め変換ロジックデータLを取得しても良い。 The conversion logic acquisition unit 61 acquires the conversion logic data L from the conversion logic generation device 1 and stores it in the storage device 50. The conversion logic acquisition unit 61 may acquire the conversion logic data L when receiving a processing request from the application execution device 7 or may acquire the conversion logic data L in advance.
 アプリリクエスト処理部62は、アプリケーション実行装置7から、HTTPメソッドと処理対象を含むリクエストを受信する。アプリリクエスト処理部62はさらに、処理リクエストの処理結果をアプリケーション実行装置7に返す。 The application request processing unit 62 receives a request including an HTTP method and a processing target from the application execution device 7. The application request processing unit 62 further returns the processing request processing result to the application execution device 7.
 変換部63は、変換ロジックデータLを参照して、処理リクエストをデータベースに対するデータベースリクエストに変換するとともに、処理リクエストに含まれるHTTPメソッドと、処理リクエストに含まれる処理対象から、コマンドの処理種別を決定する。変換部63は、処理リクエストで指定されたHTTPメソッドを、データベースコマンドに変換し、処理リクエストで指定された処理対象を、データベースのテーブルの属性に変換する。さらに変換部63は、処理リクエストで指定されたHTTPメソッドおよび処理対象に対して、同期処理で行うか非同期処理で行うかを示す処理種別を特定する。 The conversion unit 63 refers to the conversion logic data L, converts the processing request into a database request for the database, and determines the processing type of the command from the HTTP method included in the processing request and the processing target included in the processing request. To do. The conversion unit 63 converts the HTTP method specified in the processing request into a database command, and converts the processing target specified in the processing request into an attribute of a database table. Furthermore, the conversion unit 63 specifies a processing type indicating whether to perform synchronous processing or asynchronous processing on the HTTP method and processing target specified in the processing request.
 データベースリクエスト処理部64は、変換部63が変換したデータベースリクエストを、変換部63が決定した処理種別に基づいて、データベースリクエストを処理する。データベースリクエスト処理部64は、同期処理でデータベースにアクセスする同期処理部65と、非同期処理でデータベースにアクセスする非同期処理部66を有する。 The database request processing unit 64 processes the database request converted by the conversion unit 63 based on the processing type determined by the conversion unit 63. The database request processing unit 64 includes a synchronous processing unit 65 that accesses the database by synchronous processing, and an asynchronous processing unit 66 that accesses the database by asynchronous processing.
 同期処理部65は、データベースリクエストを即座に処理し、アプリケーション実行装置7に返す。具体的には同期処理部65は、変換部63が決定した処理種別が同期処理の場合、データベースリクエストをデータベース管理装置3に送信し、データベース管理装置から受信した処理結果をアプリケーション実行装置7に送信する。 The synchronization processing unit 65 immediately processes the database request and returns it to the application execution device 7. Specifically, when the processing type determined by the conversion unit 63 is synchronous processing, the synchronization processing unit 65 transmits a database request to the database management device 3 and transmits a processing result received from the database management device to the application execution device 7. To do.
 非同期処理部66は、データベースリクエストを即座に処理することなく、問い合わせURIを作成してアプリケーション実行装置7に返し、データベースリクエストを処理する。具体的には非同期処理部66は、変換部63が決定した処理種別が非同期処理の場合、処理リクエストに対する処理結果を提供する問い合わせURIを含む処理レスポンスをアプリケーション実行装置7に送信する。また同期処理部65は、データベースリクエストをデータベース管理装置3に送信し、データベース管理装置3から受信した処理結果を、問い合わせURIと対応づけて、処理結果データ51に保持する。 The asynchronous processing unit 66 creates an inquiry URI and returns it to the application execution device 7 without processing the database request immediately, and processes the database request. Specifically, when the processing type determined by the conversion unit 63 is asynchronous processing, the asynchronous processing unit 66 transmits a processing response including an inquiry URI that provides a processing result for the processing request to the application execution device 7. In addition, the synchronization processing unit 65 transmits a database request to the database management device 3 and stores the processing result received from the database management device 3 in the processing result data 51 in association with the inquiry URI.
 非同期処理部66は、データベース管理装置3から受信した処理結果を処理結果データ51に保持する前に、アプリケーション実行装置7から問い合わせURIを含む問い合わせリクエストを受信すると、処理が未完了である旨をアプリケーション実行装置7に返す。一方非同期処理部66は、データベース管理装置3から受信した処理結果を処理結果データ51に保持した後に、アプリケーション実行装置7から問い合わせURIを含む問い合わせリクエストを受信すると、その処理結果をアプリケーション実行装置7に返す。 When the asynchronous processing unit 66 receives an inquiry request including an inquiry URI from the application execution device 7 before holding the processing result received from the database management device 3 in the processing result data 51, the asynchronous processing unit 66 indicates that the processing is incomplete. Return to execution device 7. On the other hand, when the asynchronous processing unit 66 holds the processing result received from the database management device 3 in the processing result data 51 and then receives an inquiry request including the inquiry URI from the application execution device 7, the asynchronous processing unit 66 sends the processing result to the application execution device 7. return.
 (具体例)
 図9ないし図12を参照して、データベース管理装置3が管理する具体的なテーブルを例に、変換ロジック生成装置1が、「データベースの他のテーブルへのアクセスを伴う」条件についてコマンドを非同期処理と判定する例を説明する。
(Concrete example)
Referring to FIG. 9 to FIG. 12, taking the specific table managed by the database management device 3 as an example, the conversion logic generation device 1 asynchronously processes the command for the condition “with access to other tables in the database”. An example of determining that will be described.
 図9は、データベース管理装置3が管理する顧客テーブルT1、製品テーブルT2および発注名簿テーブルT3の一例である。発注名簿テーブルT3の「顧客アドレス」は、顧客テーブルT1の「顧客ID」とリレーションシップを有し、発注名簿テーブルT3の「製品名」は、製品テーブルT2の「製品ID」とリレーションシップを有する。 FIG. 9 is an example of a customer table T1, a product table T2, and an order list table T3 managed by the database management apparatus 3. The “customer address” in the order list table T3 has a relationship with the “customer ID” in the customer table T1, and the “product name” in the order list table T3 has a relationship with the “product ID” in the product table T2. .
 顧客テーブルT1のテーブル構造データを図10(a)に示し、テーブル構造データでの表記と、図9での表記との対応を図10(b)に示す。製品テーブルT2および発注名簿テーブルT3も同様に、テーブル構造データを図11(a)および図12(a)に示し、テーブル構造データでの表記と、図9での表記との対応を図11(b)および図12(b)に示す。 The table structure data of the customer table T1 is shown in FIG. 10 (a), and the correspondence between the notation in the table structure data and the notation in FIG. 9 is shown in FIG. 10 (b). Similarly, in the product table T2 and the order list table T3, the table structure data is shown in FIG. 11A and FIG. 12A, and the correspondence between the notation in the table structure data and the notation in FIG. It is shown in b) and FIG.
 ここで、図12(a)に示す発注名簿テーブルT3のテーブル構造データにおいて、「顧客アドレス(customer_addresss)」および「製品名(product_name)」について、“FOREIGN KEY”であることが示されている。また各項目は、それぞれ他のテーブルの“customer_id”と“product_id”を参照することを示す。 Here, the table structure data of the order name list table T3 shown in FIG. 12A indicates that “customer address (customer_address)” and “product name (product_name)” are “FOREIGN KEY”. Each item indicates that “customer_id” and “product_id” in another table are referred to.
 ここで、変換ロジック生成装置1の選択ロジックデータ12において、「データベースの他のテーブルへのアクセスを伴う」条件について、非同期処理を行うと設定されているとする。図12に示す発注名簿テーブルの構造データにおいて、“FOREIGN KEY”という外部キー、すなわちリレーションがある。発注名簿テーブルT3に対する追加または変更を伴うINSERTおよびUPDATEのコマンドは、他のテーブルへのアクセスを伴う。従って、処理種別決定部23は、図12に示す発注名簿テーブルT3について、INSERTおよびUPDATEに対応するHTTPメソッドのPOSTおよびPUTについて、非同期処理で行うと決定する。処理種別決定部23は、図12に示す発注名簿テーブルT3について、INSERTおよびUPDATE以外のコマンドであるSELECTおよびDELETEに対応するHTTPメソッドのGETおよびDELETEについて、同期処理で行うと決定する。 Here, it is assumed that, in the selection logic data 12 of the conversion logic generation device 1, it is set that asynchronous processing is performed for the condition “with access to other tables in the database”. In the structure data of the order name list table shown in FIG. 12, there is a foreign key “FOREIGN KEY”, that is, a relation. INSERT and UPDATE commands with additions or changes to the order list table T3 involve access to other tables. Accordingly, the process type determination unit 23 determines that the HTTP method POST and PUT corresponding to INSERT and UPDATE are to be performed asynchronously for the order name list table T3 shown in FIG. The processing type determination unit 23 determines that the HTTP method GET and DELETE corresponding to the commands other than INSERT and UPDATE are to be performed in a synchronous process with respect to the order name list table T3 shown in FIG.
 なお、ここで説明した選択ロジックデータ12は一例であり、これに限るものではない。例えば、選択ロジックデータ12において、「データベースの他の2以上のテーブルへのアクセスを伴う」条件について非同期処理にすると設定しても良い。また「所定数以上のレコードを有するテーブルに対するコマンド」の条件について、非同期処理にすると設定しても良い。そのほか、経験的に処理に時間がかかると判定される条件や、経験的に処理に時間がかかると判定されたテーブルおよびコマンドの組み合わせについて、非同期処理にすると設定しても良い。また実際の運用において、処理に時間がかかると判定されたテーブルおよびコマンドの組み合わせについて、非同期処理にすると設定しても良い。 Note that the selection logic data 12 described here is an example, and the present invention is not limited to this. For example, in the selection logic data 12, it may be set that asynchronous processing is performed for the condition “with access to two or more other tables in the database”. Further, the condition of “command for a table having a predetermined number of records or more” may be set to be asynchronous processing. In addition, it is possible to set asynchronous processing for conditions that are empirically determined that processing takes time and combinations of tables and commands that are empirically determined to require processing. Further, in actual operation, a combination of a table and a command determined to take a long time for processing may be set to be asynchronous processing.
 このような本発明の実施の形態に係る変換ロジック生成装置1は、選択ロジックデータ12において、予め、テーブルと、このテーブルに対するコマンドを、非同期処理にするか同期処理にするかの処理種別を対応づける。変換ロジック生成装置1は、選択ロジックデータ12に基づいて、HTTPメソッドと、処理対象に、処理種別を対応づけた変換ロジックデータLを出力するので、HTTPメソッド実行装置2が、HTTPメソッドからAPIを作成する際に、同期処理または非同期処理を最適に選択することができる。これによりAPIを送信するアプリケーションの開発者は、APIコマンドについて、同期処理または非同期処理の処理種別を設定する必要がないので、データベースの仕組みを熟知していなくとも、APIコマンドの処理種別を特定することができる。また処理種別が適切に設定できるので、アプリケーション実行装置7は、アプリケーションでタイムアウトが生じるなどの不足の事態が生じることなく、結果を取得することができる。 The conversion logic generation device 1 according to the embodiment of the present invention corresponds to the selection logic data 12 in advance with a table and a processing type indicating whether a command for the table is an asynchronous process or a synchronous process. Put it on. Since the conversion logic generation device 1 outputs the conversion logic data L in which the processing type is associated with the HTTP method and the processing target based on the selection logic data 12, the HTTP method execution device 2 receives the API from the HTTP method. When creating, synchronous processing or asynchronous processing can be optimally selected. As a result, the developer of the application that transmits the API does not need to set the processing type of the synchronous process or the asynchronous process for the API command, and therefore specifies the processing type of the API command even if the database mechanism is not well known. be able to. In addition, since the processing type can be set appropriately, the application execution device 7 can acquire the result without causing a shortage such as a timeout occurring in the application.
 (その他の実施の形態)
 上記のように、本発明の実施の形態によって記載したが、この開示の一部をなす論述および図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例および運用技術が明らかとなる。
(Other embodiments)
As described above, the embodiments of the present invention have been described. However, it should not be understood that the descriptions and drawings constituting a part of this disclosure limit the present invention. From this disclosure, various alternative embodiments, examples, and operational techniques will be apparent to those skilled in the art.
 例えば、本発明の実施の形態に記載した変換ロジック生成装置は、図3に示すように一つのハードウエア上に構成されても良いし、その機能や処理数に応じて複数のハードウエア上に構成されても良い。また、既存の情報処理システム上に実現されても良い。 For example, the conversion logic generation device described in the embodiment of the present invention may be configured on one piece of hardware as shown in FIG. 3, or on a plurality of pieces of hardware according to the functions and the number of processes. It may be configured. Moreover, you may implement | achieve on the existing information processing system.
 本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な請求の範囲に係る発明特定事項によってのみ定められるものである。 Of course, the present invention includes various embodiments not described herein. Therefore, the technical scope of the present invention is defined only by the invention specifying matters according to the scope of claims reasonable from the above description.
 1 変換ロジック生成装置
 2 HTTPメソッド実行装置
 3 データベース管理装置
 4、8 通信ネットワーク
 5 HTTPメソッド実行システム
 6 アプリケーション開発装置
 7 アプリケーション実行装置
 9 情報処理システム
 10、50 記憶装置
 30、70 通信制御装置
 11 テーブル構造データ
 12 選択ロジックデータ
 20、60 処理装置
 21 テーブル構造取得部
 22 変換ロジック生成部
 23 処理種別決定部
 24 変換ロジック提供部
 51 処理結果データ
 61 変換ロジック取得部
 62 アプリリクエスト処理部
 63 変換部
 64 データベースリクエスト処理部
 65 同期処理部
 L 変換ロジックデータ 
DESCRIPTION OF SYMBOLS 1 Conversion logic production | generation apparatus 2 HTTP method execution apparatus 3 Database management apparatus 4, 8 Communication network 5 HTTP method execution system 6 Application development apparatus 7 Application execution apparatus 9 Information processing system 10, 50 Storage apparatus 30, 70 Communication control apparatus 11 Table structure Data 12 Selection logic data 20, 60 Processing device 21 Table structure acquisition unit 22 Conversion logic generation unit 23 Processing type determination unit 24 Conversion logic provision unit 51 Processing result data 61 Conversion logic acquisition unit 62 Application request processing unit 63 Conversion unit 64 Database request Processing unit 65 Synchronization processing unit L Conversion logic data

Claims (7)

  1.  アプリケーション実行装置から受信したHTTPメソッドを、データベースのコマンドに変換するための変換ロジックデータを生成する変換ロジック生成装置であって、
     前記データベースのテーブルに対する前記コマンドを同期処理で行うかまたは非同期処理で行うかを示す処理種別と、前記処理種別を適用する条件を対応づけた選択ロジックデータを記憶する記憶装置と、
     前記選択ロジックデータを参照して、前記条件に適合する前記テーブルおよびコマンドと処理種別を特定し、前記特定したコマンドに対応する前記HTTPメソッドと、前記特定したテーブルに対応する前記HTTPメソッドの処理対象と、特定された前記コマンドの処理種別を対応づけた変換ロジックデータを出力する変換ロジック生成部
     を備えることを特徴とする変換ロジック生成装置。
    A conversion logic generation device that generates conversion logic data for converting an HTTP method received from an application execution device into a database command,
    A storage device that stores selection logic data that associates a process type indicating whether the command for the table of the database is performed in a synchronous process or an asynchronous process, and a condition for applying the process type;
    With reference to the selection logic data, the table and the command that match the condition and the processing type are specified, the HTTP method corresponding to the specified command, and the processing target of the HTTP method corresponding to the specified table And a conversion logic generation unit that outputs conversion logic data in which the specified processing type of the command is associated.
  2.  前記選択ロジックデータは、
     前記テーブルに対する実行に時間を要する条件に対して、前記処理種別として非同期処理を対応づける
     ことを特徴とする請求項1に記載の変換ロジック生成装置。
    The selection logic data is
    The conversion logic generation device according to claim 1, wherein an asynchronous process is associated as the process type with a condition that requires time to execute the table.
  3.  前記選択ロジックデータは、
     前記データベースの他のテーブルへのアクセスを伴う条件に対して、前記処理種別として非同期処理を対応づける
     ことを特徴とする請求項1に記載の変換ロジック生成装置。
    The selection logic data is
    The conversion logic generation device according to claim 1, wherein an asynchronous process is associated as the process type with a condition involving access to another table of the database.
  4.  アプリケーション実行装置から受信したHTTPメソッドを、データベースのコマンドに変換するための変換ロジックデータを生成する変換ロジック生成装置と、前記変換ロジックデータに基づいてHTTPメソッドをデータベースのコマンドに変換して実行するHTTPメソッド実行装置と、前記データベースを管理するデータベース管理装置を備えるHTTPメソッド実行システムであって、
     前記変換ロジック生成装置は、
     前記データベースのテーブルに対する前記コマンドを同期処理で行うかまたは非同期処理で行うかを示す処理種別と、前記処理種別を適用する条件を対応づけた選択ロジックデータを記憶する記憶装置と、
     前記選択ロジックデータを参照して、前記条件に適合する前記テーブルおよびコマンドと処理種別を特定し、前記特定したコマンドに対応する前記HTTPメソッドと、前記特定したテーブルに対応する前記HTTPメソッドの処理対象と、特定された前記コマンドの処理種別を対応づけた変換ロジックデータを出力する変換ロジック生成部を備え、
     前記HTTPメソッド実行装置は、
     前記アプリケーション実行装置から、前記HTTPメソッドと処理対象を含む処理リクエストを受信するアプリリクエスト処理部と、
     前記変換ロジックデータを参照して、前記処理リクエストを前記データベースに対するデータベースリクエストに変換するとともに、前記処理リクエストに含まれる前記HTTPメソッドと、前記処理リクエストに含まれる処理対象から、前記コマンドの処理種別を決定する変換部と、
     前記変換部が決定した処理種別に基づいて、前記データベースリクエストを処理するデータベースリクエスト処理部
     を備えることを特徴とするHTTPメソッド実行システム。
    A conversion logic generation device that generates conversion logic data for converting an HTTP method received from the application execution device into a database command, and an HTTP that converts the HTTP method into a database command based on the conversion logic data and executes the conversion method An HTTP method execution system comprising a method execution device and a database management device for managing the database,
    The conversion logic generation device includes:
    A storage device that stores selection logic data that associates a process type indicating whether the command for the table of the database is performed in a synchronous process or an asynchronous process, and a condition for applying the process type;
    With reference to the selection logic data, the table and the command that match the condition and the processing type are specified, the HTTP method corresponding to the specified command, and the processing target of the HTTP method corresponding to the specified table And a conversion logic generation unit that outputs conversion logic data in which the specified processing type of the command is associated,
    The HTTP method execution device is:
    An application request processing unit that receives a processing request including the HTTP method and a processing target from the application execution device;
    With reference to the conversion logic data, the processing request is converted into a database request for the database, and the processing type of the command is determined from the HTTP method included in the processing request and the processing target included in the processing request. A conversion unit to determine;
    An HTTP method execution system comprising: a database request processing unit that processes the database request based on a processing type determined by the conversion unit.
  5.  前記データベースリクエスト処理部は、
     前記変換部が決定した処理種別が同期処理の場合、
     前記データベースリクエストを前記データベース管理装置に送信し、前記データベース管理装置から受信した処理結果を前記アプリケーション実行装置に送信する同期処理部と、
     前記変換部が決定した処理種別が非同期処理の場合、
     前記処理リクエストに対する処理結果を提供する問い合わせURIを含む処理レスポンスをアプリケーション実行装置に送信するとともに、前記データベースリクエストを前記データベース管理装置に送信し、前記データベース管理装置から受信した処理結果を、前記問い合わせURIと対応づけて保持する非同期処理部を備える
     ことを特徴とする請求項5に記載のHTTPメソッド実行システム。
    The database request processing unit
    When the processing type determined by the conversion unit is synchronous processing,
    A synchronization processing unit for transmitting the database request to the database management device and transmitting a processing result received from the database management device to the application execution device;
    When the processing type determined by the conversion unit is asynchronous processing,
    A processing response including a query URI that provides a processing result for the processing request is transmitted to the application execution device, the database request is transmitted to the database management device, and the processing result received from the database management device is represented by the query URI. The HTTP method execution system according to claim 5, further comprising: an asynchronous processing unit that stores the data in association with each other.
  6.  アプリケーション実行装置から受信したHTTPメソッドを、データベースのコマンドに変換するための変換ロジックデータを生成する変換ロジック生成装置と、前記変換ロジックデータに基づいてHTTPメソッドをデータベースのコマンドに変換して実行するHTTPメソッド実行装置と、前記データベースを管理するデータベース管理装置を備えるHTTPメソッド実行システムに用いられるHTTPメソッド実行方法であって、
     前記変換ロジック生成装置が、前記データベースのテーブルに対する前記コマンドを同期処理で行うかまたは非同期処理で行うかを示す処理種別と、前記処理種別を適用する条件を対応づけた選択ロジックデータを記憶するステップと、
     前記変換ロジック生成装置が、前記選択ロジックデータを参照して、前記条件に適合する前記テーブルおよびコマンドと処理種別を特定し、前記特定したコマンドに対応する前記HTTPメソッドと、前記特定したテーブルに対応する前記HTTPメソッドの処理対象と、特定された前記コマンドの処理種別を対応づけた変換ロジックデータを出力するステップと、
     前記HTTPメソッド実行装置が、前記アプリケーション実行装置から、前記HTTPメソッドと処理対象を含む処理リクエストを受信するステップと、
     前記HTTPメソッド実行装置が、前記変換ロジックデータを参照して、前記処理リクエストを前記データベースに対するデータベースリクエストに変換するとともに、前記処理リクエストに含まれる前記HTTPメソッドと、前記処理リクエストに含まれる処理対象から、前記コマンドの処理種別を決定するステップと、
     前記HTTPメソッド実行装置が、決定した処理種別に基づいて、前記データベースリクエストを処理するステップ
     を備えることを特徴とするHTTPメソッド実行方法。
    A conversion logic generation device that generates conversion logic data for converting an HTTP method received from the application execution device into a database command, and an HTTP that converts the HTTP method into a database command based on the conversion logic data and executes the conversion method An HTTP method execution method used in an HTTP method execution system comprising a method execution device and a database management device for managing the database,
    A step of storing selection logic data in which the conversion logic generation device associates a processing type indicating whether the command for the table of the database is executed in a synchronous process or an asynchronous process with a condition for applying the processing type; When,
    The conversion logic generation device refers to the selection logic data, identifies the table and command that match the condition, and the processing type, and corresponds to the HTTP method corresponding to the identified command and the identified table. Outputting conversion logic data associating the processing target of the HTTP method with the processing type of the specified command;
    The HTTP method execution device receiving a processing request including the HTTP method and a processing target from the application execution device;
    The HTTP method execution device refers to the conversion logic data, converts the processing request into a database request for the database, and also includes the HTTP method included in the processing request and the processing target included in the processing request. Determining the processing type of the command;
    The HTTP method execution device comprises the step of processing the database request based on the determined processing type.
  7.  コンピュータに、請求項1ないし請求項3のいずれか1項に記載の変換ロジック生成装置として機能させるための変換ロジック生成プログラム。   A conversion logic generation program for causing a computer to function as the conversion logic generation device according to any one of claims 1 to 3.
PCT/JP2019/019511 2018-05-18 2019-05-16 Conversion logic generation device, http method execution system, http method execution method, and conversion logic generation program WO2019221234A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-096100 2018-05-18
JP2018096100A JP2019200691A (en) 2018-05-18 2018-05-18 Conversion logic generation device, HTTP method execution system, HTTP method execution method, and conversion logic generation program

Publications (1)

Publication Number Publication Date
WO2019221234A1 true WO2019221234A1 (en) 2019-11-21

Family

ID=68540393

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/019511 WO2019221234A1 (en) 2018-05-18 2019-05-16 Conversion logic generation device, http method execution system, http method execution method, and conversion logic generation program

Country Status (2)

Country Link
JP (1) JP2019200691A (en)
WO (1) WO2019221234A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011232893A (en) * 2010-04-26 2011-11-17 Canon Inc Print data creation server, printing apparatus, and printing system
WO2015145762A1 (en) * 2014-03-28 2015-10-01 株式会社日立製作所 Database management system, computer, and database management method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011232893A (en) * 2010-04-26 2011-11-17 Canon Inc Print data creation server, printing apparatus, and printing system
WO2015145762A1 (en) * 2014-03-28 2015-10-01 株式会社日立製作所 Database management system, computer, and database management method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KAWAMURA, KOJI ET AL.: "NoSQL guide for RDB engineers", SHUWA SYSTEM CO., LTD, 24 February 2016 (2016-02-24), pages 358 - 364 *

Also Published As

Publication number Publication date
JP2019200691A (en) 2019-11-21

Similar Documents

Publication Publication Date Title
CN108628661B (en) Automatic establishment method of cloud manufacturing service and cloud manufacturing system
EP3709227B1 (en) System and method for interoperable communication of an automation system component with multiple information sources
JP6065008B2 (en) Control device
JP6016808B2 (en) Method and server system for implementing web access
CN112367211B (en) Method, device and storage medium for generating configuration template by device command line
CN112286628B (en) System for unifying nanotube Kubernetes heterogeneous applications and operation method
CN103390018A (en) Web service data modeling and searching method based on SDD (service data description)
CN102255969B (en) Representational-state-transfer-based web service security model
CN104461893B (en) Data processing method and data processing equipment
US20190205436A1 (en) System and method for executing database operations on a database
CN104572638B (en) Data read-write method and device
WO2019221234A1 (en) Conversion logic generation device, http method execution system, http method execution method, and conversion logic generation program
JP4522413B2 (en) Resource management program, resource management method, and resource management apparatus
Athanasopoulos et al. Service substitution revisited
JP4529766B2 (en) Information providing system, information providing method, server, and information providing program
KR20210122212A (en) Transaction processing method, device, equipment, program and medium of Ethereum virtual machine
KR101270746B1 (en) Apparatus and Method for mediating web service
JP5351746B2 (en) Data processing apparatus and method
Kanagasundaram et al. Exposing resources as web services: A performance oriented approach
CN111124923B (en) Running state query method and device, server equipment and storage medium
JP2003263375A (en) Data server
JP6549537B2 (en) Service providing system and service providing method
US20170185684A1 (en) Generation of complementary applicatons
JP5589726B2 (en) Job management system, job management system control method, and control program therefor
JP6328078B2 (en) Database system and database system program

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19804109

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19804109

Country of ref document: EP

Kind code of ref document: A1