Using SOA Gateway with Adabas

SOA Gateway interfaces with Adabas in a smooth, seamless way, implementing almost all features of both the Mainframe and OpenSystems version of Adabas:

  • Sequential / direct access with various positioning options

  • Transactionality

  • LOB (large objects) access

All SOA Gateway database access operations (see the SOAP reference for more information) are supported:

Operation Function
get Retrieve a single record, access via descriptor (defined as primary key in the DataView) or ISN
list Return 1 to n records in a single result set, access by simple key criteria.
select Return 1 to n records in either a single result set (non-conversational mode) or the first set ("chunk") of records (in conversational mode), access by complex key criteria (including from/to ranges, OR conditions, etc.)
selectNext Return the next n records for a conversation initiated by a "select" operation.
selectEnd Terminate a conversation initiated by a "select".
selectCount Return the number of records matching the specified key criteria.
add Add a new record to an Adabas file.
update Update a record accessed by key or ISN.
delete Delete a record accessed by key or ISN.

Requests can be fine tuned with SOAP header options. In addition to the general options the following Adabas specific headers are available:

SOAGateway_Internal_Adabas_ISN

On certain operations an ISN (Adabas Internal Sequence Number) can be used in lieu of a primary key to retrieve a record.

SOAGateway_Internal_Adabas_StartAtISN

In addition to the specification of key data this header option can be used to further limit the result set by setting a starting ISN for LIST and SELECT operations.

SOAGateway_Internal_Adabas_Read_Direction

Specify an "A" (the default) for ascending retrieval, a "D" for descending.

SOAGateway_Internal_Adabas_Sort_Order

The result set can be sorted by up to three fields. Specify their XML names, comma separated, with this header option

SOAGateway_Internal_Adabas_Password

The password required to access an Adabas file secured with ADASCR (Adabas Security). This password is different from that in the global "soap security" section.

SOAGateway_Internal_Adabas_Multifetch_Limit

Limit the number of records to be retrieved by a "multifetched" operation (LIST or SELECT / SELECTNEXT) with a single call to Adabas.

Before a SOA Gateway Service can be used, the mapping between the physical layout (the Adabas FDT) and the SOA Gateway (XML) representation must be in place. This mapping is called the SOA Gateway 'DataView'. In addition to the manual approach described in detail in the Data Views section, there are a number of semi-automated methods aiding in the generation of SOA Gateway DataViews for Adabas resources

  1. Dynamically create a DataView from an Adabas FDT

  2. Create DataView(s) from a SYSOBJH unload file


Creating a SOA Gateway DataView from an Adabas FDT

A new DataView can be generated from an Adabas file using the 'Service Discovery wizard', which will not only generate the DataView (XRD), but also a XSD, plus the SOA Gateway Resource definition itself.

  1. Use the 'Service creation Wizard' to generate the Service(s)

  2. Important:
    As Adabas only knows about the 2-character "internal field names", you will have to edit the DataView and assign "friendly names" to all fields.

Create DataView(s) from a SYSOBJH unload file

DataView(s) for SOA Gateway Adabas resources can be generated/imported from SYSOBJH extracts.