BEA Logo BEA Tuxedo Release 7.1

  Corporate Info  |  News  |  Solutions  |  Products  |  Partners  |  Services  |  Events  |  Download  |  How To Buy

 

   Tuxedo Doc Home   |   Administration   |   Topic List   |   Previous   |   Next   |   Contents

   Using the BEA Tuxedo Domains Component

Typed Buffers to Package Data

In BEA Tuxedo applications, typed buffers are used to send data between clients and servers. The typed buffer mechanism allows application programmers to transfer data without knowing which data representation scheme is used by the machines on which the application's clients and servers are running.

A domain gateway can receive and process service requests sent from workstations, BEA Tuxedo machines, and remote domains with different machine representations. A typed buffer switch decodes the data sent with the service request. The administrator must define the typed buffer switch appropriate for the application.

Data-dependent routing depends upon matching specified criteria to fields within data. If data is encoded, however, there is no way to determine the contents of that data in order to route that data accurately. In addition, a domain gateway needs access to the contents for the following reasons:

Therefore a domain gateway always tries to decode any service request that is received encoded.

OSI terminology provides a useful distinction between abstract syntax (that is, the structure of the data) and transfer syntax (that is, the particular encoding used to transfer the data). Each typed buffer implicitly defines a particular data structure (that is, its abstract syntax) and the encoding rules (or typed buffer operations) required to map the data structure to a particular transfer syntax (for example, XDR).

The BEA Tuxedo system provides a set of predefined buffer types (STRING, CARRAY, FML, VIEW, X_C_TYPE, X_OCTET, X_COMMON, and XML) and the encoding rules required to map these types to the XDR transfer syntax.

Note: A programmer can supply a custom buffer type by adding an instance to the tm_typesw array in TUXDIR/lib/tmtypesw.c (see tuxtypes(5) and typesw(5)), and supplying routines for the new type (see buffer(3c)).

See Also