Introduction

Client applications can communicate with Tamino using APIs that are available for JScript, Java and ActiveX. This is more convenient than using the native HTTP protocol. The APIs then communicate with Tamino at the HTTP protocol level. The basic functionality of the three HTTP Client APIs is the same, independent of the language environment. The names of classes and methods may differ.

The three APIs are called client APIs because the application or program that communicates with Tamino is a client with respect to the server Tamino. In this context, a servlet would also be a client. Each of the APIs supports the W3C DOM (Document Object Model) Level 1 specification. The APIs are also called Tamino DOM APIs. DOM support is implemented in such a way that the API's methods supply a DOM object as a result, or require a DOM object as input. The programmer can then use standardized DOM methods and interfaces to further manipulate the result or navigate through a DOM tree.

The DOM is designed to be used with any programming language. It defines the logical structure of documents and the way a document is accessed and manipulated. With the Document Object Model, programmers can build documents, navigate their structure, and add, modify, or delete elements and content.

For more information about the DOM specification, see http://www.w3.org/DOM/.

By supporting the DOM specification, the Tamino APIs not only allow their data to be manipulated by other routines, but do so in a way that allows those manipulations to be reused with other DOMs, or to take advantage of solutions already written for those DOMs.

The intention is that any DOM implementation can be plugged together with any DOM-based application. You can use any DOM implementation that supports the W3C specification, and you can change the implementation or parts of it later; your application is independent of the implementation.


General Functionality

The Tamino HTTP Client APIs are object-oriented programming interfaces to Tamino that offer a variety of methods and properties for communicating with the Tamino X-Machine. The implemented APIs provide the same functionality over all supported platforms unless stated otherwise.

The names of methods and properties may differ depending on the language environment.

The main methods that are provided are listed below. A complete list of all methods and properties can be found in the API Reference Section of the respective API documentation. The supported methods can be classified in the following way:

  • Methods to manipulate data in Tamino via URLs, such as

    • query

    • process

    • insert

    • inodelete

  • Methods to manipulate data in Tamino via document names, such as

    • putDocument

    • getDocument

    • deleteDocument

  • Methods to control sessions and transactions

    • startSession

    • endSession

    • commit

    • rollback

  • Methods to manipulate the Tamino query result, such as

    • getResult

    • getInoId

    • getFirst

    • getPrev

Session Management

If a program needs to open and close database transactions, then there must be a mechanism that allows Tamino to keep user contexts. This can be achieved by invoking the StartSession and EndSession methods of the APIs. The APIs send the commands connect and disconnect via HTTP to Tamino. This enables Tamino to keep the user context and deliver a session key and session ID back to the API. Session control is then handled by the API transparently to the user.

If a client program needs to handle session control by itself, there are methods available to get/set these parameters. For example, it could be possible for a client and server program to share the same session. The appropriate methods setSessionId, getSessionId, setSessionKey and getSessionKey are not available in JScript.

The StartSession method also has the optional parameters Isolationlevel and LockWaitMode. By providing these parameters instead of using the Tamino defaults a more specific security and/or locking mechanism can be achieved.

For transaction control, the commit and rollback methods are available. These methods can only be called during an open session.