Home  /  Application Development: Language Bindings and Gateways  /  Using Java JDBC with InterSystems Products  /  InterSystems Java Connectivity Options

Using Java JDBC with InterSystems Products
InterSystems Java Connectivity Options
[Back]  [Next] 
InterSystems: The power behind what matters   

The InterSystems JDBC driver provides support for numerous Java technologies:
Core Data Access APIs
The InterSystems JDBC driver supports three lightweight Java APIs that provide direct access to InterSystems IRIS databases via relational tables, objects, or multidimensional storage.
JDBC API for relational table access
The standard JDBC API provides SQL based access to relational tables. The InterSystems implementation also provides extensions for getting and setting InterSystems-specific connection properties.
Detailed information is provided in later chapters of this book.
XEP API for object access
The XEP API is primarily designed for extremely fast acquisition of data objects in real time. It can acquire data many times faster than standard JDBC. It can also be used as a convenient general purpose ORM interface for relatively small applications that don’t require the added features of Hibernate.
See Persisting Java Objects with InterSystems IRIS XEP for details.
Native API for multidimensional storage access
The Native API provides direct access to the tree-based sparse arrays (known as globals) of the InterSystems multidimensional storage model. InterSystems IRIS implements global storage interfaces that access data as either objects or relational tables, but you can use the Native API to create and access your own data structures. The API also provides a mechanism for calling ObjectScript methods or functions on the server.
See Using the InterSystems IRIS Native API for Java for details.
All three of these APIs can be used together in the same application, and will use the same underlying JDBC connection.
Third Party Framework Support
The InterSystems IRIS Data Platform includes implementations of APIs that provide customized interfaces to Java frameworks such as Spark and Hibernate.
Spark Data Source API
The InterSystems Spark Connector is an implementation of the Data Source API for Apache Spark. It is a plug-compatible replacement for the standard Spark jdbc data source, allowing the Spark data processing engine to make optimal use of the InterSystems IRIS Data Platform and its distributed data capabilities
See Using the InterSystems Spark Connector for details.
Hibernate Dialect
The InterSystems Hibernate Dialect is a fully compliant implementation of the Hibernate dialect interface, providing a customized interface between Hibernate and InterSystems IRIS. Like most major dialect implementations, it is included as part of the Hibernate distribution.
See the Hibernate Support chapter in the InterSystems IRIS Implementation Reference for Java Third Party APIs for details.
InterSystems Java Gateways
Java Gateways are server based ObjectScript APIs that allow you to create custom JDBC-based interfaces between InterSystems IRIS and external databases or Java applications.
Object Gateway for Java
The Object Gateway provides an easy way access and manipulate Java classes and methods from within InterSystems IRIS and ObjectScript. The Gateway allows you to import method signatures from JAR files, create corresponding proxy objects on the server, and use the proxies to instantiate and manipulate the external Java objects as if they were native InterSystems IRIS objects.
See Using the Java Object Gateway for details.
SQL Gateway for Java
The InterSystems SQL Gateway connects InterSystems IRIS to external databases via JDBC. Various wizards can be used to create links to tables, views, or stored procedures in external sources. This allows you to read and store data in the external database just as you would on InterSystems IRIS, using objects and/or SQL queries. You even can generate class methods that perform the same actions as corresponding external stored procedures.
See Using the InterSystems IRIS SQL Gateway for details.