1.2 Configuring Service Contract Discovery
When discovery is activated for a service, the server that provides the service collects service contract information and sends the information to an internal service implemented by TMMETADATA(5). The same service contract is only sent once to reduce communication overhead.
The TMMETADATA
server summarizes the collected data and generates a service contract. The contract information can either can be stored in the metadata repository, or output to a text file (which is then loaded to the metadata repository using tmloadrepos)
. SALT uses the tmscd
command to control the service contract runtime collection. For more information, see tmscd in the SALT Command Reference Guide
Generated service contract information contains the service
name, request buffer information, response buffer information, and
error buffer information if there is a failure. The collected
service contract information is discarded if it fails to send
information to the TMMETADATA
server. The buffer
information includes buffer type and subtype, and field information
for FML/FML32 (name,type,subtype
).
Discovery is supported for any embedded buffer in FML32 buffer.
For FML/FML32 field occurrences, the discovery automatically
updates the pattern for the
count
/requiredcount
in metadata
repository. Field occurrence does not impact the pattern, but the
minimum occurrence is the "requiredcount
".The maximum
occurrence is the "count
" of the entire contract
discovery period.
Note:
Patterns flagged withautodiscovery
(see Table 1-16) are compared.
If the same autodiscovery
pattern already exists in the metatdata repository, then the newer pattern is ignored.
Only application ATMI services (local, or imported via /TDOMAIN gateway) are supported. Service contract discovery does not support the following services:
- system services (name starts with '.' or '..')
- conversational services
- CORBA services
- /Q and SALT proxy services
Note:
Services without a reply are mapped as "oneway" services in the metadata repository.