Patent ID: 8195649

Claim:
An apparatus to access a database, the apparatus comprising: a plurality of interface modules comprising executable code stored on a storage device and executed by a processor, a first interface module receiving an inquiry from a first request module of a plurality of request modules, the plurality of request modules comprising executable code stored on the storage device and executed on the processor, each request module unable to form a database query for a target database and comprising one unique type of executable code including at least C++ code and Extensible Markup Language (XML) code, the first interface module converting the inquiry into a common inquiry format; a common broker interface comprising executable code stored on the storage device and executed by the processor, the common interface broker converting the common inquiry format to a request block, wherein the request block is not formatted as a query statement for the target database and comprises a format specification for a result returned in response to the inquiry and a linked data array of requests organized as delimited character strings, a delimited character string comprising the data value name, and a key value; a request attribute module comprising executable code stored on the storage device, executed by the processor, and configured to construct a request attribute list for the data value name received in the request block from the wherein the request attribute list associates the data value name with an attribute name and with a schema name; a schema name module comprising executable code stored on the storage device, executed by the processor, and configured to add the schema name from the request attribute list to a schema names list in response to the schema name not being included in the schema names list; an attribute name module comprising executable code stored on the storage device, executed by the processor, and configured to add the attribute name from the request attribute list to an attribute names list in response to the attribute name not being included in the attribute names list; a query build module comprising executable code stored on the storage device, executed by the processor, and configured to build a query statement directed to the target database from the schema names list and the attribute names list; and a translation module comprising executable code stored on the storage device, executed by the processor, and configured to translate a result from executing the query statement to the format specification specified for the result and update the request block with the translated result of the query statement and return the updated request block to the first request module.