Adabas Client for Java

The Adabas Client for Java is an interface to Adabas for Java-based applications. The aim of the product is to make it easy for Java developers to write new business applications by using business-critical data stored in Adabas.

The idea behind the Adabas Client for Java is to provide a state-of-the-art interface to Adabas for applications either written in Java or using HTTP-based communications with the REST interface.

The Adabas Client for Java provides:

  1. A high-performance API to access Adabas data in a Java application;

  2. The ability to interface with new Software AG products, e.g. Terracotta;

  3. State-of-the-art standard communication protocols;

  4. The potential to integrate into other frameworks or products.

The product consists of three individual components:

  1. The Java-based API itself;

  2. The Adabas REST Interface

  3. The Adabas Data Designer

Communication between the components is based on TCP/IP. It is, however, also possible to use Software AG's middleware package Entire Net-Work to communicate with Adabas; this is necessary if you want to access remote Adabas databases that are, for example, located on a mainframe.

The following picture shows the components of the Adabas Client for Java and how they are connected:

graphics/acj_overview_lin2.png


Java Development with the Adabas Client for Java API

The base for all of the Adabas Client for Java components (the Adabas REST Interface and the Adabas Data Designer) is an API for developing Java applications. Because the vocabulary of Adabas and the structures in Adabas are different to Java and other databases, there are classes available to encapsulate the appropriate functions and structures.

There are basic classes which handle the operations to and from Adabas. The main classes are ReadRequest, StoreRequest and DeleteRequest.

  • ReadRequest handles all read operations, including queries and searches. It can be used to retrieve data from an Adabas database.

  • StoreRequest handles all single store and update operations.

  • DeleteRequest handles delete operations of records.

The ReadRequest and StoreRequest classes, that are required to read or modify data, implicitly close the session after each request that is sent. The Java application itself decides if the session needs to be ended, or whether to either backout or commit the transaction, or to close the database connection. In advance, the record could be put into hold status. For further details, see the JavaDoc for the AdabasTarget class.

Within the basic classes, the fields (this is the Adabas equivalent to SQL columns) are defined using either a short name or a long name. The Adabas Client for Java API can be used to create a view (catalog or map) in which, analogous to SQL tables, a meaningful name (so-called long name) can be used for the column and for the view itself. In Adabas, the file name (similar to SQL tables) is limited to 16 characters, and the field name is specified by 2 characters (short name) - both of these restrictions can be lifted in the view definition by mapping the long names to the short names. The map definitions are stored in an additional file in the Adabas database.