Bridging native JDBC calls with DBaaS using ESB
First Claim
Patent Images
1. A method comprising:
- receiving, by an Enterprise Service Bus (ESB) component of an ESB system, from a first system, a database query formatted in a first format;
generating a Structured Query Language (SQL) query plan for executing the database query, wherein the SQL query plan comprises a plurality of operations;
generating an execution sequence based on the SQL query plan, by mapping each of the plurality of operations within the SQL query plan to be processed by either the ESB component a second system, wherein mapping the plurality of operations comprises;
upon determining that a first operation of the plurality of operations is a database operation used to insert data into a database, generating an HTTP request to carry out the first operation, wherein the HTTP request is a POST request;
mapping, to the second system, the first operation comprising the HTTP request; and
mapping, to the ESB component, a second operation comprising a data processing operation to be performed on a result of the database operation;
transmitting, based on the mapping, the HTTP request to a RESTful API provided by the second system, wherein the second system is configured to execute the HTTP request against the database;
receiving, by the ESB component, from the second system, a first set of results generated by executing the HTTP request against the database;
generating, by the ESB component, a set of query results for the database query by processing the received first set of results, comprising executing, based on the mapping, the data processing operation on the first set of results received from the second system; and
sending, to the first system, the set of query results.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and apparatus are provided for receiving a database query and executing the query against a remote database. The database query is used to generate an execution sequence comprising HTTP requests and data processing operations based on the database query. The HTTP requests are sent to a RESTful API provided by a database system. The HTTP requests are executed by the database system against a database, and the responses from the database system are returned to be processed according to the data processing operations. Finally, a set of query results is returned to the sender of the original database query.
-
Citations
16 Claims
-
1. A method comprising:
-
receiving, by an Enterprise Service Bus (ESB) component of an ESB system, from a first system, a database query formatted in a first format; generating a Structured Query Language (SQL) query plan for executing the database query, wherein the SQL query plan comprises a plurality of operations; generating an execution sequence based on the SQL query plan, by mapping each of the plurality of operations within the SQL query plan to be processed by either the ESB component a second system, wherein mapping the plurality of operations comprises; upon determining that a first operation of the plurality of operations is a database operation used to insert data into a database, generating an HTTP request to carry out the first operation, wherein the HTTP request is a POST request; mapping, to the second system, the first operation comprising the HTTP request; and mapping, to the ESB component, a second operation comprising a data processing operation to be performed on a result of the database operation; transmitting, based on the mapping, the HTTP request to a RESTful API provided by the second system, wherein the second system is configured to execute the HTTP request against the database; receiving, by the ESB component, from the second system, a first set of results generated by executing the HTTP request against the database; generating, by the ESB component, a set of query results for the database query by processing the received first set of results, comprising executing, based on the mapping, the data processing operation on the first set of results received from the second system; and sending, to the first system, the set of query results. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system, comprising:
-
a first system; a second system; and an enterprise service bus (ESB) system comprising one or more computer processors and configured perform an operation by operation of the one or more computer processors, the operation comprising; receiving, by an ESB component of the ESB system, from the first system, a database query formatted in a first format; generating a Structured Query Language (SQL) query plan for executing the database query, wherein the SQL query plan comprises a plurality of operations; generating an execution sequence based on the SQL query plan, by mapping each of the plurality of operations within the SQL query plan to be processed by either the ESB component or a second system, wherein mapping the plurality of operations comprises; upon determining that a first operation of the plurality of operations is a database operation used to insert data into a database, generating an HTTP request to carry out the first operation, wherein the HTTP request is a POST request; mapping, to the second system, the first operation comprising the HTTP request; and mapping, to the ESB component, a second operation comprising a data processing operation to be performed on a result of the database operation; transmitting, based on the mapping, the HTTP request to a RESTful API provided by the second system, wherein the second system is configured to execute the HTTP request against the database; receiving, by the ESB system, from the second system, a first set of results generated by executing the HTTP request against the database; generating, by the ESB system, a set of query results for the database query by processing the received first set of results, comprising executing, based on the mapping, the data processing operation on the first set of results received from the second system; and sending, to the first system, the set of query results. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer program product for providing access to a remote database, the computer program product comprising:
a computer-readable storage medium containing computer-readable program code that, when executed by operation of one or more computer processors, performs an operation, comprising; receiving, by an Enterprise Service Bus (ESB) component of an ESB system, from a first system, a database query formatted in a first format; generating a Structured Query Language (SQL) query plan for executing the database query, wherein the SQL query plan comprises a plurality of operations; generating an execution sequence based on the SQL query plan, by mapping each of the plurality of operations within the SQL query plan to be processed either the ESB component or a second system, wherein mapping the plurality of operations comprises; upon determining that a first operation of the plurality of operations is a database operation used to insert data into a database, generating an HTTP request to carry out the first operation, wherein the HTTP request is a POST request; mapping, to the second system, the first operation comprising the HTTP request; and mapping, to the ESB component, a second operation comprising a data processing operation to be performed on a result of the database operation; transmitting, based on the mapping, the HTTP request to a RESTful API provided by the second system, wherein the second system is configured to execute the HTTP request against the database; receiving, by the ESB component, from the second system, a first set of results generated by executing the HTTP request against the database; generating, by the ESB component, a set of query results for the database query by processing the received first set of results, comprising executing, based on the mapping, the data processing operation on the first set of results received from the second system; and sending, to the first system, the set of query results. - View Dependent Claims (14, 15, 16)
Specification