Overview of pureQuery Runtime

IBM® InfoSphere® Optim™ pureQuery™ Runtime is a high-performance data access platform that is focused on simplifying, developing, securing, managing, and optimizing new and existing applications that access data. With pureQuery Runtime, you can simplify the development and maintenance of data access applications, and improve the security and performance of the applications. pureQuery Runtime also simplifies collaboration between developers and the DBAs who manage the applications.

InfoSphere Optim pureQuery Runtime provides application programming interfaces (APIs) that developers can use to rapidly deploy new applications or new features in existing applications. pureQuery Runtime also provides a runtime environment that enhances the performance of existing Java™ or C database client applications without requiring changes to the code.

With pureQuery Runtime, you can:
  • Improve application performance. pureQuery Runtime simplifies the use of best practices for SQL and JDBC.
  • Optimize existing JDBC, DB2® ODBC/CLI, and Microsoft .NET applications without changing application code.
  • Rapidly build Java data access applications with IBM Data Studio.
  • Improve the security, performance, and manageability of data access applications.
  • Facilitate developer and DBA collaboration.
  • Provide critical client application information to a database administrator so that the DBA can locate the clients and optimize their interaction with the database.

Managing SQL statements that are run by applications

You can use the pureQuery APIs in Java applications to simplify Java code and use the DAO pattern. You can also use pureQuery client optimization to control SQL statements that are issued by applications without changing application code.

The following diagram shows how to use the pureQuery API and pureQuery client optimization with data access applications.
Figure 1. The process when you use pureQuery API and pureQuery client optimization with data access applications
Diagram showing how the pureQuery API and pureQuery client optimization.
You can use the pureQuery API and pureQuery client optimization separately or together:
  • When you develop Java applications with the pureQuery API, you can:
    • Use the pureQuery API to develop code with the data access object (DAO) pattern regardless of whether SQL statements are executed dynamically or statically.
    • Perform batch operations for INSERT, UPDATE, and DELETE statements efficiently.
    • Process SQL statements from web server files (EAR, WAR, JAR, and ZIP files) so that the statements can be run statically.
  • With the pureQuery client optimization, you capture the SQL statements that are issued by Java, ODBC/CLI, and .NET applications without changing the application source code. After you capture the statements, you can manage the execution of the statements. For example:
    • Run SQL statements that are issued by the application either dynamically or statically on a DB2 database.
    • Run only previously captured statements.
    • Run alternate statements.

Architecture

pureQuery Runtime controls the execution of SQL statements that are issued by applications at the database driver level. When you deploy pureQuery Runtime, you set pureQuery Runtime properties to control the execution of SQL statements. After you install InfoSphere Optim pureQuery Runtime in your production environment, you can deploy your pureQuery Java applications. You can also deploy DB2 ODBC/CLI and Microsoft .NET applications. The following illustration shows a Java application that is enabled with pureQuery Runtime in a simple three-tier web application environment:

Figure 2. Example three-tier Java web application that is enabled with pureQuery Runtime.
pureQuery enabled application in a three-tier web application environment

The illustration shows optional SQL Management repository databases. The repository contains artifacts that are used by pureQuery Runtime. For example, you store the pureQuery Runtime property settings in the repository. As the illustration shows, pureQuery Runtime requires access to the repository. pureQuery Runtime can use a separate data source to access the repository database so that the transactional database performance is not affected.

pureQuery Runtime components

pureQuery Runtime provides a runtime environment for applications. You can use this runtime environment to control the execution of SQL statements. For applications that connect to DB2 databases, you can run the statements statically. Running SQL statements statically on a DB2 database can improve application performance and security.

For Java applications, the pureQuery Runtime components are set of Java libraries:
  • pureQuery Runtime libraries work together with the Java database driver to provide special processing capabilities.
  • pureQuery Runtime libraries are installed on each server where the client application runs.
  • pureQuery Runtime libraries must be made accessible to the application server.
  • Configuration settings can be specified in a database connection object or in a configuration file.

The pureQuery Runtime installation program installs the Java libraries and optionally configures the application server environment. pureQuery Runtime installation program does not install the data server JDBC drivers. The drivers are installed separately. For example, Data Studio installs the JDBC drivers for development use.

For .NET and DB2 ODBC/CLI applications:
  • pureQuery capabilities are incorporated into IBM Data Server database drivers.
  • Configuration settings can be specified in a database connection object or in a configuration file.

pureQuery Runtime also includes Java based utilities that are used when you develop applications with the API or when you use pureQuery client optimization. The utilities are part of the pureQuery Runtime Java libraries.


Feedback