[Top] [Prev] [Next] [Bottom]

1. Introduction


About This Guide and FML

This chapter of the BEA TUXEDO FML Programmer's Guide is intended to give you an idea of what the guide is about, how the Field Manipulation Language fits into the BEA TUXEDO system, and how you might get the most out of this document.

This guide assumes that you are familiar with the BEA TUXEDO system, and that you have at least read the BEA TUXEDO Application Development Guide.

What Is FML?

FML is a set of C language functions for defining and manipulating storage structures called fielded buffers, that contain attribute-value pairs in fields. The attribute is the field's identifier, and the associated value represents the field's data content.

Fielded buffers provide an excellent structure for communicating parameterized data between cooperating processes, by providing named access to a set of related fields. Programs that need to communicate with other processes can use the FML software to provide access to fields without concerning themselves with the structures that contain them.

FML also provides a facility called VIEWS that allows you to map fielded buffers to C structures or COBOL records (and the reverse as well). VIEWS lets you perform lengthy manipulations of data in structures rather than in fielded buffers; applications will run faster if data is transferred to structures for manipulation. VIEWS allows the data independence of fielded buffers to be combined with the efficiency and simplicity of classic record structures.

The original FML and VIEW interfaces allowed for 16-bit field identifiers, field lengths, field occurrences, and record lengths. A newer FML32 and VIEW32 interface allows for larger identifiers (32-bit), field lengths, field occurrences, and record lengths. The interfaces are similar but the type definitions, header files, function names, and command names are suffixed with "32".

How Does FML Fit into the BEA TUXEDO System?

Within the BEA TUXEDO system, FML functions are used to manipulate fielded buffers.

Data entry programs written for the core portion of the BEA TUXEDO system use FML functions; these programs use fielded buffers to forward user data entered at a terminal to other processes. If you write programs that receive input in fielded buffers from data entry programs, you will need to use FML functions.

Even if you elect to develop your own applications programs for handling user input and output (and you do not use DES, the BEA TUXEDO-supplied data entry system), or if programs are written to pass messages between processes, FML may still be the way you choose to deal with fielded buffers passed between these programs.

Who Is This Document For?

This is a guide for programmers who need to learn how to use FML functions. As a programmer using FML, you might be working on BEA TUXEDO system data entry programs, or other programs requiring inter-process communication of fielded data. This guide also provides information for users of applications that make use of FML with regard to setting up the environment correctly.

This guide gives detailed information about the features of FML and how the different FML functions are used.

Prerequisites

To make full use of this guide, you should be familiar with the following:

What Does This Document Include?

What Other FML Documentation Is There?

In addition to this guide, documentation on FML function calls can be found in Section 3fml of the BEA TUXEDO Reference Manual. Three other pages in Section 5 of the BEA TUXEDO Reference Manual are relevant to FML: compilation(5), field_tables(5), and viewfile(5).

Table 1-1 Section 5 reference pages

Reference Page Description

compilation(5)

describes how to compile application programs

field_tables(5)

describes the structure of FML field tables

viewfile(5)

describes the structure of VIEW description files

Concepts and Definitions

Field Identifier
A field identifier (fldid) is a tag for an individual data item in an FML record or fielded buffer. The field identifier consists of the name of the field (a number) and the type of the data in the field.

Fielded Buffer
A fielded buffer is a data structure in which each data item is accompanied by an identifying tag (a field identifier) that includes the type of the data and a field number.

Field Types
Fields in FML and fielded buffers are typed. They can be any of the standard C language types: short, long, float, double, and char. Two other types are also supported: string (a series of characters ending with a null character) and carray (character arrays). The corresponding types in COBOL are COMP-5, COMP-1, COMP-2 and PIC X. A C packed decimal type is also supported in VIEWS for integration with COBOL COMP-3.

VIEWS
VIEWS is a part of the Field Manipulation Language that allows the exchange of data between fielded buffers and C structures or COBOL records, by specifying mappings of fields to members of structures/records. If extensive manipulations of fielded buffer information are to be done, transferring the data to structures will improve performance. Information in a fielded buffer can be extracted from the fields in a buffer and placed in a structure using VIEWS functions, manipulated, and the updated values returned to the buffer, again using VIEWS functions. VIEWS can also be used independently of FML, particularly in support of COBOL records.

BEA TUXEDO System Typed Buffers

Typed buffers is a feature of the BEA TUXEDO system that grew out of the FML idea of a fielded buffer. Two of the standard buffer types delivered with the BEA TUXEDO system are FML typed buffers and VIEW typed buffers. An additional difference of BEA TUXEDO VIEW buffers is that they can be totally unrelated to an FML fielded buffer. In this text the emphasis is very much on the idea that a VIEW is a structured version of an FML record. In other texts, such as the BEA TUXEDO Programmer's Guide, you will find the emphasis shifts to thinking of VIEWs as another of the available BEA TUXEDO buffer types.



[Top] [Prev] [Next] [Bottom]