Using the Repository Tree Objects

The Contract Repository is a database containing TUXEDO client/server interface contracts. The Contract Repository can be shared among various BEA Builder products.

The Contract Repository is the source of interface information on TUXEDO services-if a service is not in the Contract Repository, you cannot access it from the Active Expert.

For information on how to add services to the Contract Repository, refer to the Contract Repository Online Help. If you have installed the online help and documentation, a printed version is available at YourDrive:TUXBldr\doc\acropdf\crhelp.pdf.

Opening the Contract Repository View

To open a view of the Contract Repository from within the Active Expert, choose File->Open Repository from the menu bar or click on the repository toolbar button. (If this is the first view you have opened for the current session, you are prompted for logon information. For more information, see the section "Logging On.")

Figure 3-3 shows an example of a Contract Repository that contains one module, BANKAPP.

Figure 3-3 Contract Repository View

Hierarchy of Objects

The Contract Repository shows all TUXEDO services available for use. Services are collected into modules and interfaces and shown in a hierarchical tree as follows.

Table 3-2 Tree Objects

Object Icon Description

Contract Repository

The root node. (C++ Expert only)

Module

A module is a group of one or more interfaces.

In the C++ Expert application, you can "validate" a previously generated module to see whether the module is in sync with the Contract Repository database. If the module is not in sync with the Contract Repository, it appears as a white "ghost" module after the validate check. (To validate a previously generated module, select the module on the Workstation view and choose Generate->Validate module.)

In the Active Expert, an out-of-date module is a module in the "Workstation View" that is out of synch with the corresponding source module in the Contract Repository database. This can happen when the repository definition for a module or any of its components is updated after you have registered a module in the Workstation View.

In the Active Expert application, out-of-date modules show up automatically when you open the Workstation Objects view. You can "refresh" an out-of-date module by choosing Tools->Refresh while the Workstation View is open.

Interface

Interfaces are a group of one or more operations. Each interface may be part of one or more modules.

Operation

Operations are implemented as TUXEDO services. Each operation may be part of one or more interfaces.

When an operation has been exported it shows in a green light. (Contract Repository Editor only)

Parameter

When elements are used in operations, they become parameters or arguments to the operation. Parameters contain additional information (beyond that in the corresponding element), such as passing mode, exception mode, etc.

A parameter is based on a single primary data type (e.g., short, float, char) or a struct.

The parameter attributes available are:

Struct

A struct is a group of previously defined elements. To use a struct as a parameter, define it as an element. Structs cannot be nested.

In the Active Expert and C++ Expert, structs are displayed as parameters that contain elements. (See icons and explanation for parameters in this table.)

Element

An element is based on a single primary data type (e.g., short, float, char) or a struct. An element can be used by itself as a parameter to one or more operations, as well as being a part of one or more struct types.

In a manner of speaking, the Contract Repository view is read only from the Active Expert-you just use it to get the objects you want and register them to your local workstation.

The Contract Repository shown in Figure 3-3 contains one module: BANKAPP.

The BANKAPP module has been expanded out to the parameter level. It contains two interfaces (TELLER and BACKOFFICE).

The TELLER interface contains three operations (or services), DEPOSIT, INQUIRY, and WITHDRAWAL. The INQUIRY operation contains one input parameter (ACCOUNTID), one output parameter (SBALANCE), and one exception parameter (STATLIN).

The BACKOFFICE interface contains two operations, OPEN_ACCT and CLOSE_ACCT.

Properties of Objects

The lower panel shows properties of the currently selected object. In Figure 3-3, an operation is selected so the attributes of that operation are shown. Clicking on an operation shows operation attributes, which include the input and output buffer types, and if applicable, the input and output view names. Clicking on a parameter shows the associated data type. (Clicking on a module or interface shows only the revision date for the selected object.)