Setting Up a Tuxedo Application
This topic includes the following sections:
The Tuxedo service metadata repository contains BEA Tuxedo service definitions that allow Tuxedo clients to access BEA Tuxedo service parameter information. It provides Tuxedo application developers and administrators the ability to store and retrieve detailed service parameter information on any or all Tuxedo application services.
The Tuxedo service metadata repository is designed to process interactive queries by developers and administrators during application development or modification. It is not designed to process high volumes of automated queries during the application production phase.
Five utilities are used in conjunction with the Tuxedo service metadata repository
.TMMETAREPOS
, which uses an FML32 input and output buffer format described in METAREPOS(5)Note: The .TMMETAREPOS
buffer format is similar to MIB(5).
BEA Jolt also provides a service repository that allows applications to manually enter Tuxedo service information, including service names, input and output buffer types, parameter names, parameter data types, the number of times each parameter is expected, and whether each parameter is for input, output, or both. All of which seem very similar to the Tuxedo service metadata repository. However, there are also some distinct difference as noted in the following table:
Programmatic access to the Tuxedo System Metadata Repository is accomplished through the use of a FML32 buffer format that is very similar to the Tuxedo MIB format. However, there are also some distinct difference as noted in the following table:
Yes, but with some limitations. See METAREPOS(5) |
||
The metadata repository file contains all the service parameter information that is accessed in the Tuxedo service metadata repository. The tmloadrepos
command is used to create a metadata repository file. Metadata repository file service parameter information is input directly from the computer console (standard input) if a repository input file is not specified or from a specified plain text repository input file. For example:
tmloadrepos -i/usr/tuxedo/repository_input_file/usr/tuxedo/
service_metatdata_repository
The repository_input
_file
contains service parameter keywords and their associated values. Keywords are divided into two categories: service-level and parameter-level.
Note: Keyword abbreviations are also supported. Both keywords and abbreviations are case sensitive. For more information on keywords, abbreviations, and values, see Using Service-Level Keywords and Values and Using Parameter-Level Keywords and Values.
No more than one keyword/value combination can be specified per line. The maximum line character length is 1024 bytes. String parameter values do not need to be set off with quotation marks.
The repository_input
file uses the following syntax: <keyword><
=
value>
and has the following input conventions:
When a parameter must define a sub-parameter, a line consisting of a single left parenthesis '( 'and a line consisting of a single right parenthesis ') ' denotes the beginning and end of the embedded sub-parameter portion of the parameter. The left and right parentheses can be used recursively.
You can include blank lines in the repository_input
file as needed for readability. A new line is preceded by a \ character. To use an actual '\' character it must be written as '\\'.
The repository_input
file can consist of zero or more service parameter definitions. Each service definition starts with a line beginning with the <service>
keyword followed by zero or more lines beginning with one of the other service-level keywords, followed by parameter-level keywords. A particular service-level keyword may not be repeated for a particular service.
A service definition must begin with the keyword service<=NAME>
or the abbreviation sv<=NAME>
. Services using CARRAY
, STRING
, or XML
buffer types can have only one parameter per service. The Tuxedo service metadata repository service-level keywords are as follows:
A parameter begins with the keyword <param><=NAME>
or the abbreviation <pn><=NAME>
followed by a listing of parameter keywords. It ends with another <param>
or <service>
keyword, or when end-of-file is encountered. The parameters can be listed in any order after <param><=NAME>
.
Note: A particular service can specify multiple occurrences of the <param>
keyword. That is to say, more than one parameter can exist for a particular service. For example, a parameter with an FML
or VIEW
buffer.
The Tuxedo service metadata repository parameter-level keywords are as follows:
Note: The parameter type must be consistent with its service buffer type. For example, an |
||
The set of parameters expected on input is those specified with The set of parameters returned on output is those specified with either |
||
Maximum number of occurrences (default is 1). The value for unlimited occurrences is 0. The value range is In the Jolt repository, this parameter is used only by the Repository Editor to format test screens. In the Tuxedo repository, this parameter is stored for display and is also used by tmunloadrepos(1)pseudocode generation options. |
||
Any string value. A new-line break can be used to improve readability if the string is too long. |
||
This optional parameter indicates the number of bytes allocated for the parameter. It is used in pseudo code generation for non-numeric parameters and can be used for programmer reference purposes. The following parameter types expect this value: |
||
Minimum number of times that the parameter must be specified.The value range is |
||
This optional parameter indicates the field number of the parameter if it is a Note: Users are not encouraged to provide this information if they have already defined |
||
This parameter is optional for view structure members. It is used to indicate the field name in the fielded buffer. Please reference viewfile(5) |
||
This parameter is optional for view structure members. Legal values are combination of the following options: |
||
This parameter is optional for view structure members. It indicates the view member default null value. |
||
Indicates the beginning of the description of the parameters contained in an embedded It contains no associated value and is specified separately on a line by itself. It is valid only if a previous type keyword has been specified for this parameter with a A closing right parenthesis ')' ends the embedded parameter description. |
||
Ends an embedded It contains no associated value and is specified separately on a line by itself. It is valid only if a previous only if there is a previous matching '(' keyword. In addition, the maximum embedded level depends on the upper limit of embedded FML32 nesting level (18 at present). |
As a generally applied Tuxedo rule, only FML/FML32
, VIEW/VIEW32
, X_COMMON
, and X_C_TYPE
typed buffers can specify multiple parameters (due to their information structure). All other typed buffers have only one parameter with the corresponding parameter type. For example, a CARRAY
type buffer has only one CARRAY
typed parameter to describe the necessary information that it contains. You must follow this rule to define application services.
To configure the Tuxedo service metadata repository you must:
TMMETADATA
to the *SERVERS
section of the UBBCONFIG(5).
tmloadcf(1) on the UBBCONFIG
file. tmloadrepos(1)
to create and enter service parameter information into the metadata repository file.Once the Tuxedo metadata server is running, the.TMMETAREPOS
service is automatically activated. .TMMETAREPOS
is a Tuxedo system service and cannot be modified.
All requests made to the server are responded to on a first-come-first-served basis.
Setting up multiple TMMETADATA
servers on a particular Tuxedo node requires adherence to two crucial configuration rules:
TMMETADATA
servers on a particular node.
The Tuxedo service metadata repository facilitates native and remote client access in order to view, update, add, or delete service metadata repository parameter information.
tpgetrepos(3c)
, and tpsetrepos(3c)
are used for Tuxedo service metadata repository access. tpgetrepos(3c)
and tpsetrepos(3c)
can access the Tuxedo service metadata repository whether the server is booted or not.
TMMETADATA(5)
can be used.TMMETADATA(5), METAREPOS(5), tmloadrepos(1), tmunloadrepos(1), tpgetrepos(3c), tpsetrepos(3c)