Zengin TCP/IP Adapter
Zengin is a standard Japanese communication protocol. The Zengin TCP/IP adapter enables Sterling B2B Integrator to communicate with Zengin servers.
- Zengin Sender and Requester adapter
- Zengin Receiver and Responder adapter
During the configuration process, the Zengin TCP/IP adapter requires the use of the Zengin Configuration Import service and a specially-configured instance of the File System adapter.
You can also control certain behaviors by configuring properties in the zengin.properties file.
The following table provides an overview of the Zengin TCP/IP adapter:
Category | Description |
---|---|
System name | ZENGIN_SENDER_REQUESTER, ZENGIN_RECEIVER_RESPONDER |
Graphical Process Modeler (GPM) category | None |
Description | Transfers files to and from remote systems using TCP/IP. The Zengin TCP/IP adapter is configured in two parts, Zengin Sender and Requester and Zengin Receiver and Responder, and each functions differently within a business process. You can use the Zengin Sender and Requester adapter to send data or requests for data to a remote Zengin server. Use this adapter in a business process. The Zengin Receiver and Responder adapter receives a file or request for data from a remote Zengin server, and then runs a predefined business process to respond to the request accordingly. It acts as a facilitator of incoming requests. |
Preconfigured? | No |
Requires third-party files? | No |
Platform availability | Available for:
|
Related services | Zengin Configuration Import service |
Application requirements | The Zengin TCP/IP adapter supports Zengin TCP/IP version 2. The application must provide at least one document in process data if a “send” action is specified. |
Initiates business processes? | The Zengin Receiver and Responder adapter initiates a business process when a file is received, or when a request to send a file is received. |
Invocation | Runs as part of a business process. |
Restrictions | Each instance of the Zengin Receiver and Responder adapter must use a port not used by any other application on the host machine. |
How the Zengin TCP/IP Adapter Works
The Zengin TCP/IP adapter uses the Zengin Configuration Import service to populate Zengin TCP/IP adapter configurations into a database. The Zengin Configuration Import service enables the Zengin adapter to function, but is not part of the Zengin TCP/IP adapter. It is created independently. For more information, see Implementing the Zengin Configuration Import Service Configuration.
When the Sterling B2B Integrator server is running, the Zengin Receiver and Responder adapter listens on a port specified in the adapter configuration. Accordingly, when an incoming request is received from a remote Zengin server, the Zengin Receiver and Responder adapter creates a new instance of the Zengin Receiver and Responder adapter to respond to the request and process it.
The following sections explain how the Zengin Sender and Requester adapter and the Zengin Receiver and Responder adapter function.
Zengin Sender and Requester Adapter, Sending a File
- The Zengin Sender and Requester adapter retrieves a file from the business process primary document and sends it to a remote Zengin server.
- After sending files to the remote server, the Zengin Sender and
Requester adapter updates the business process with the status of
each file it attempted to send. The status of each file is nested
within a ZenginResult element, where each file alias appears as a
separate element with a status value:
- success – The file was successfully sent.
- fail – The file transmission failed.
- not sent – The Zengin TCP/IP adapter did not send the file because of an error.
- unknown – The Zengin TCP/IP adapter is unable to determine the status of the file.
View the status report in the Sterling B2B Integrator Business Process Detail window. The following example shows the structure of the status report and the four possible status values:
<ZenginResult>
<file_alias_1>success</file_alias_1>
<file_alias_2>fail</file_alias_2>
<file_alias_3>not sent</file_alias_3>
<file_alias_4>unknown</file_alias_4>
</ZenginResult>
Zengin Sender and Requester Adapter, Requesting a File
- The Zengin Sender and Requester adapter sends a request for a file to a remote Zengin server.
- The remote Zengin server replies by sending the requested file.
- The Zengin Sender and Requester adapter then puts the received file in the business process primary document.
Zengin Receiver and Responder Adapter, Receiving a File
- The Zengin Receiver and Responder adapter listens on a socket for an incoming message.
- The Zengin Receiver and Responder adapter receives a file from a remote Zengin server.
- The adapter reads the settings from the zengin.properties file.
- If the file received has variable-length records, the document does not retain the Zengin protocol record length fields. You must specify whether the file is text or binary. If the file is text, you must also specify whether or not to append a CRLF at the end of each record. For more information, see Configuring the zengin.properties File.
- The Zengin Receiver and Responder adapter starts a predefined business process based on the file it receives, and puts the file into the primary document of the business process.
- The adapter sets two values in the business process, ZenginFilename and ZenginFileAlias. These
correspond to the filename and file_alias elements
in the Zengin configuration XML file.Attention:Spaces are not allowed in the ZenginFileAlias and file_alias parameters.
Zengin Receiver and Responder Adapter, Responding to a File Request
- The Zengin Receiver and Responder adapter receives a request from a remote Zengin server to send a file.
- The Zengin Receiver and Responder adapter starts a predefined business process to retrieve the requested file.
- The adapter sets two values in the business process that is running, ZenginFilename and ZenginFileAlias.
These correspond to the filename and file_alias elements,
respectively, in the Zengin XML configuration file.Attention:Spaces are not allowed in the ZenginFileAlias and file_alias parameters.
- If the request is for a text file containing variable length records,
then the boundary between records in the file is determined based
on the CRLF options. For more information, see Configuring the
zengin.properties File.Note: Previous versions of the Zengin Receiver and Responder adapter required each record in the file to be preceded by a two-byte Zengin protocol record length in binary format. If the file document to be retrieved by the business process is an older version that contains the Zengin protocol record length fields, the adapter still supports passing the ZenginVariableRecLenPreInserted parameter and setting it to “true” in the business process.
- The business process places the file into its primary document.
- The Zengin Receiver and Responder adapter extracts the file and sends it to the remote Zengin server.
Implementing the Zengin TCP/IP Adapter
- Activate your license for the Zengin TCP/IP adapter. For information, see the An Overview of Implementing Services.
- Create a Zengin Configuration Import service configuration. For information, see Implementing the Zengin Configuration Import Service Configuration.
- Configure the Zengin XML configuration file. For information, see Configuring the Zengin XML Configuration File.
- Create a Zengin Sender and Requester adapter and a Zengin Receiver and Responder adapter configuration. For information, see Configuring the Zengin TCP/IP Adapter.
- Use the Zengin Sender and Requester adapter in a business process to send or request a file.
Implementing the Zengin Configuration Import Service Configuration
The Zengin Configuration Import service imports the Zengin XML configuration file into the data source. Creating a Zengin XML configuration is a prerequisite step that is required to use the Zengin TCP/IP adapter.
- Create the Zengin Configuration Import service configuration. For information, see Creating a Service Configuration.
- Configure the Zengin Configuration Import service. For information, see Configuring the Zengin Configuration Import Service.
- Create a File System adapter configuration to read the Zengin XML configuration file. For information, see Configuring the File System Adapter.
- Create the Zengin TCP/IP adapter configuration. For information, see Creating a Service Configuration.
- Configure the Zengin TCP/IP adapter. For information, see Configuring the Zengin TCP/IP Adapter.
- Create a business process to start the Zengin Configuration Import service, the File System adapter, and the Zengin TCP/IP adapter configurations.
Configuring the Zengin Configuration Import Service
To configure the Zengin Configuration Import service, you must specify field settings in Sterling B2B Integrator.
Sterling B2B Integrator Configuration
The following table describes the fields used to configure the Zengin Configuration Import service in Sterling B2B Integrator:
Name | Unique, meaningful name for the Zengin Configuration Import service configuration. |
Description | Meaningful description for the service configuration, for reference purposes. |
Select a Group | Select one of the options:
Note: For more information about groups, see Using Service
Groups.
|
GPM Configuration
There is no configuration required in the GPM for the Zengin Configuration Import service.
Configuring the File System Adapter
To configure the File System adapter instance for use with the Zengin Configuration Import service, you must specify field settings in Sterling B2B Integrator and in the GPM.
Sterling B2B Integrator Configuration
The following table describes the fields used to configure the required File System adapter instance in Sterling B2B Integrator:
Field | Description |
---|---|
Name | Unique, meaningful name for the File System adapter configuration. |
Description | Meaningful description for the adapter configuration, for reference purposes. |
Select a Group | Select one of the options:
Note: For more information about groups, see Using Service
Groups.
|
Collection Folder (collectionFolder) | Any folder or subfolder (on the same computer where Sterling B2B Integrator is installed) where files are collected. Do not specify a folder containing programs or any files you do not want to lose. The File System adapter does not copy the files it collects for processing. |
Filename Filter (filter) | Leave blank |
Collect files from subfolders within and including the collection folder? (useSubFolders) | Select No |
Use the absolute file path name for the document name? (keepPath) | Select No |
Start a business process once files are collected? (bootstrap) | Select No |
Extraction Folder (ExtractionFolder) | Folder where you save the file to write. This is the folder where you placed the Zengin configuration file. |
Unobscure File Contents (unobscure) | Select No |
Filenaming convention (assignFilename) | Select Assign a specific name. |
Filename (assignedFilename) | Zengin configuration filename. Required. |
GPM Configuration
The business process runs, respectively, the File System adapter configuration and the Zengin Configuration Import service configuration. The first operation of the business process runs the File System adapter to read the Zengin XML configuration file. Specify the following field settings for the File System adapter in the GPM:
Field | Description |
---|---|
Config (participant name) | Name of the adapter configuration. Required. |
Action | Action that the File System adapter is to perform. Select Collection (FS_COLLECT). Required. |
DeleteAfterCollect | Select No, so the business process does not delete the file after reading it. Required. |
The second operation of the business process runs the Zengin Configuration Import service to extract the configuration from the file into the data source or database. There is no need to specify any specific entry. The following business process is an example of how this operation should look:
<process name="zengin_configuration_import">
<sequence name="Main sequence">
<operation name="File System Adapter">
<participant name="my_file_sys_adapter_instance"/>
<output message="FileSystemInputMessage">
<assign to="Action">FS_COLLECT</assign>
<assign to="assignedFilename" from=" ‘my_zengin_config_xml'"></assign>
<assign to="collectionFolder">my_folder</assign>
<assign to="deleteAfterCollect”>false</assign>
<assign to="filter" from=‘my_zengin_config_xml'"</assign>
<assign to="."from="*"></assign>
</output>
<input message="inmsg">
<assign to="."from="*"></assign>
</input>
</operation>
<operation name="Zengin Configuration Import Service>
<particpant name="my_zengin_config_import_instance"/>
<output message="output">
<assign to="."from="*"></assign>
</output>
<input message="input">
<assign to="."from="*"></assign>
</input>
</operation>
</sequence>
</process>
An example of this business process (ZenginConfigImport.bpml) is available in the installroot/samples/Zengin folder.
Configuring the Zengin XML Configuration File
The XML schema for the Zengin configuration file is defined in the file, zengin-config.xsd, which is included with Sterling B2B Integrator. Find this file in the Sterling B2B Integrator DTD/Schema repository.
The following table describes the format of the elements in the Zengin XML configuration file. You must preconfigure these elements for the Zengin TCP/IP adapter to work properly. Several of the element values are represented as hexadecimal (base 16) numbers because both ROS3 Zengin servers and CJS (Chori Joho Systems) Zengin servers use hexadecimal notation for these elements.
XML Element | Description |
---|---|
zengin_id | When nested within the server element, indicates the local server. When nested within the client element indicates the remote servers. This element can appear only once within the server element, and can appear multiple times within the client element. |
server | Definition of a single local server and all of its associated remote servers. The Zengin TCP/IP adapter supports only one server element appearing within the Zengin XML configuration file. |
client | All of the remote Zengin server definitions. |
password | Use the same password for both directions of communication between Sterling B2B Integrator and a remote Zengin server. Must be 12 hexadecimal digits; use leading 0s if necessary. |
alias | Identifies the local and remote Zengin servers. The alias for the local server must be localhost. The alias for a remote server may be any value. |
center_code | Entity sending or receiving files. There is one code for the remote Zengin server and the local Sterling B2B Integrator instance. Must be 10 hexadecimal digits. |
cpu_node_code | Sequence number for each CPU/Node actually connected as if to a line and used for data exchange. Must be four hexadecimal digits; use leading 0s if necessary. |
file_alias | Identifies the file being sent or requested. Human
readable alias for a filename. Each file alias associated with a particular
client must be unique; do not use the same file_alias multiple times
within the client element. Attention:
Spaces are
not allowed in this parameter. |
filename | Name of the file being sent or requested. Represents an industry code and file type. Each filename associated with a particular client must be unique; do not use the same filename multiple times within the client element. Valid value is 24 hexadecimal digits. |
receive_BP_name | Name of the business process to start when a file is received from a remote Zengin server. |
request_BP_name | Name of the business process to start when a file is requested by a remote Zengin server. |
record_length | Length of the record in bytes. When sending a file
or responding to a request for a file:
|
fixed_record_length | Whether each record in the file has the same length. Valid values are true and false. If false, each record may have a different length. |
file_access_key | Used for access control as a part of data protection. Must be 12 hexadecimal digits; use leading 0s if necessary. |
use_compression | Valid values are true and false. |
The following sample Zengin XML configuration file defines the required single instance of the local server (<alias>localhost</alias>), a single remote Zengin server (<alias>Ros3</alias>), and two files associated with the ROS3 server:
<?xml version="1.0" encoding="UTF-8"?>
<zengin xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="zengin-config.xsd">
<server>
<zengin_id>
<alias>localhost</alias>
<!--the local server(Sterling B2B Integrator)-->
<center_code>1212121212</center_code>
<cpu_node_code>1A1B</cpu_node_code>
</zengin_id>
<client>
<zengin_id>
<alias>Ros3</alias>
<center_code>123456789A</center_code>
<cpu_node_code>F1F1</cpu_node_code>
</zengin_id>
<password>FFFFFFFFFFFF</password>
<file_definition>
<file_alias>send_variable_uncompr</file_alias>
<filename>FOFOFOFOFOFOFOFOFOFOFOFO</filename>
<request_bp_name>bpreq</request_bp_name>
<receive_bp_name>bprecv</receive_bp_name>
<fixed_record_length>false</fixed_record_length>
<record_length>256</record_length>
<use_compression>false</use_compression
<file_access_key>AA00000000AA</file_access_key>
</file_definition>
<file_definition>
<file_alias>send_fixed_uncompr</file_alias>
<filename>000000000000000000000001</filename>
<request_bp_name>bpreq</request_bp_name>
<receive_bp_name>bprecv</receive_bp_name>
<fixed_record_length>true</fixed_record_length>
<record_length>256</record_length>
<use_compression>false</use_compression
<file_access_key>FE00120000EF</file_access_key>
</file_definition>
</client>
</server>
</zengin>
Securing the Zengin XML Configuration File
Information is normally stored in the Zengin XML configuration file in clear text. This includes the client alias passwords and file access keys. This may or may not be acceptable. In cases where clear text is not acceptable, you should secure that data.
Sterling B2B Integrator includes a utility called zenginSecureConfig that obscures (encrypts) the client alias passwords and file access keys contained in the Zengin XML configuration file.
- install_dir
/bin/zenginSecureConfig.sh
configFileName[encoding]
(UNIX) - install_dir
/bin/zenginSecureConfig.cmd
configFileName[encoding]
(Windows)
Specify the path to the Sterling B2B Integrator installation directory for install_dir and the Zengin XML configuration file name for configFileName. The [encoding] parameter allows you to enter an optional character encoding. If not entered, the utility uses the default value of UTF-8.
- Client password nodes (//zengin/client/password)
- If found, you will be prompted to enter a password or to use the existing value (if one is present).
- If no password is found for a given client node, you are prompted to enter a password for that client node.
- After you enter a password, a <password_secure> node tag is written with the obscured (encrypted) value.
- File access key nodes (//zengin/client/file_definition/file_access_key)
- If found, you are prompted to enter a file access key or to use the existing value (if one is present).
- If no file access key is found for a given file definition, you are prompted to enter a file access key for that file definition node.
- After you enter a file access key, a <file_access_key_secure> node tag is written with the obscured (encrypted) value.
When the zenginSecureConfig utility is finished running, all client passwords and file access keys are secure and may be safely stored in the system.
- Remove the secure value, leaving an empty node. (For example, <password_secure/> or <password_secure></password_secure>).
- Remove the “_secure” part of the tag and enter a clear text value or leave the value empty. (For example, <password/> or <password>clearTextPsw</password>).
- Delete the entire secure node.
After the secure values have been reset, run the zenginSecureConfig utility, if needed, to secure any new values.
Using the zenginConfigHelper Utility
To export a Zengin XML configuration from the data source to a file, use the zenginConfigHelper utility provided with Sterling B2B Integrator. This utility also allows you to import a Zengin XML Configuration file to the data source and can be used instead of the Zengin Configuration Import service for this purpose. The zenginConfigHelper utility is especially useful for easily importing configuration files created with the zenginSecureConfig utility.
- install_dir
/bin/zenginConfigHelper.sh export
configFileName (UNIX) - install_dir
/bin/zenginConfigHelper.cmd export
configFileName (Windows)
- install_dir
/bin/zenginConfigHelper.sh import
configFileName (UNIX) - install_dir
/bin/zenginConfigHelper.cmd import
configFileName (Windows)
Specify the path to the Sterling B2B Integrator installation directory for install_dir and the Zengin XML configuration file name for configFileName.
Configuring the Zengin TCP/IP Adapter
To configure the Zengin TCP/IP adapter, you must configure both the Zengin Sender and Requester adapter and the Zengin Receiver and Responder adapter by specifying field settings in Sterling B2B Integrator and in the Graphical Process Modeler. For general information about service and adapter configurations, see Creating a Service Configuration.
Configuring the Zengin Sender and Requester Adapter
Sterling B2B Integrator Configuration
You can create as many configurations of the Zengin Sender and Requester adapter as necessary. If you leave the optional parameters in the following table blank, you can use a single adapter instance for multiple remote Zengin servers.
The following table describes the fields used to configure the Zengin Sender and Requester adapter in Sterling B2B Integrator:
Field | Description |
---|---|
Name | Unique and meaningful name for the adapter configuration. Required. |
Description | Meaningful description for the adapter configuration, for reference purposes. Required. |
Select a Group | Select one of the options:
Note: For more information about groups, see Using Service
Groups.
|
Zengin Server Alias (ZenginRemoteServer Alias) | Identifies the Zengin destination server with which the Zengin TCP/IP adapter communicates. The alias identifies such values as Hostname, Port, Center Code, and CPU/Node code. Must match the value of the //client/zengin_id/alias element in the Zengin XML configuration file. Optional, however, if left blank, you must specify the Zengin server alias in the GPM or at runtime in process data. |
Hostname or IP (ZenginHostname) | Remote Zengin server IP address or DNS name. Must correspond with the server specified in Zengin Server Alias. Optional, however, if left blank, you must specify in the GPM or at runtime in process data. |
Port (ZenginPort) | Remote Zengin server port number. Optional, however, if left blank, you must specify in the GPM or at runtime in process data. |
GPM Configuration
The following table describes the fields used to configure the Zengin Sender and Requester adapter in the GPM:
Field | Description |
---|---|
Config | Name of the adapter configuration. |
ZenginDocuments | When sending multiple files, this XPath expression
identifies all documents in process data which will be sent. All XML
element names must be equal to the appropriate file alias. For example, if process data contains: <myDocs> <FileAlias1 SCIObjectID="someDbObjectId"/> <FileAlias2 SCIObjectID="anotherDbOjectId"/> </myDocs> and the business process contains the following:<assign to="ZenginDocuments">//myDocs/*</assign>You must configure FileAlias1 and FileAlias2 as valid file aliases (using the Zengin XML configuration file). |
ZenginFileAlias | When sending a file, used to look up all other
file configuration values, access key, record type, and compression. For example: <assign to="ZenginFileAlias”>myAlias</assign>In this case, you must configure myAlias as a file alias using the Zengin XML configuration file. Attention:
Spaces are
not allowed in this parameter. |
ZenginHostname | Remote Zengin server IP address or DNS name. Must correspond with the server specified by ZenginRemoteServerAlias. If left blank in the Sterling B2B Integrator configuration, you must specify this parameter either here or at runtime in process data. |
Zengin Mode | Mode is either Send file or Request file. The corresponding business process parameter values are send and request. Sender parameter. |
ZenginPort | Remote Zengin server port number. If left blank in the Sterling B2B Integrator configuration, you must specify this parameter either here or at runtime in process data. |
ZenginRemoteServerAlias | Identifies the Zengin destination server with which the Zengin TCP/IP adapter communicates. The alias identifies such values as Hostname, Port, Center Code, and CPU/Node code. Must match the value of the //client/zengin_id/alias element in the Zengin XML configuration file. If left blank in the Sterling B2B Integrator configuration, you must specify this parameter either here or at runtime in process data. |
ZenginVariableRecLenPreInserted | Either true or false. If true, the file being sent
has variable length records, and the two-byte record length is pre-inserted
in the data before each record. Sender parameter. Note: This field
is no longer necessary, but is retained for compatibility with older
files preceded with a 2-byte record length.
|
Configuring the Zengin Receiver and Responder Adapter
Sterling B2B Integrator Configuration
Due to TCP/IP requirements, only one configuration of the Zengin Receiver and Responder is allowed for a particular port. The following table describes the field used to configure the Zengin Receiver and Responder adapter in Sterling B2B Integrator:
Field | Description |
---|---|
Listen Port | Remote Zengin server port number. Required. Valid values: 1025 – 65535. The default value is 5020. |
GPM Configuration
There is no configuration required in the GPM for the Zengin Receiver and Responder adapter.
Configuring the zengin.properties File
The zengin.properties file in the properties directory provides settings that control the retry behavior of the Zengin TCP/IP adapter and how it handles files containing variable-length records.
- Locate the zengin.properties.in file in the properties directory where you installed Sterling B2B Integrator.
- Open the zengin.properties.in file in a text editor.
- Configure the properties according to the following tables:
Specify the following default settings in the zengin.properties.in file:
Property Description default.Timeout Timeout value, in seconds, if the Zengin TCP/IP adapter was idle during a receive process. Note: The following properties control the Retry behavior of the Zengin TCP/IP adapter.default.AutoRetry Specifies whether the adapter should make retry attempts if the connection between the adapter and the remote Zengin server is broken during a send or receive process. Valid values: - true—Automatically make retry attempts
- false—Do not make retry attempts (default)
default.MaxRetry Maximum number of retry attempts to make. Valid values are any positive integer. This property is only used if AutoRetry is set to true. Default is 3. default.RetryInterval Interval, in seconds, between each retry attempt. Valid values are any integer greater than 1. This property is only used if AutoRetry is set to true and MaxRetry is greater than 1. Default is 3 seconds. You should always specify default settings. If you need different settings for a particular station and file, you can also configure each station and file combination using this syntax:
StationAlias.FileAlias.property=setting
For example, if you have the default.AutoRetry set to true, but you do not want retry attempts made for FILE01 in STATION01 as defined in the Zengin XML configuration file, enter
STATION01.FILE01.AutoRetry=false
in the zengin.properties.in file. This will override the default setting for that station and file only.You can also specify settings for each station and file combination to control how the Zengin TCP/IP adapter handles files containing variable-length records.
For each specific Station and File combination, you can specify the settings in the following table:
Note: In all the following properties, StationAlias and FileAlias must match the zengin XML configuration file.Property Description StationAlias.FileAlias.Timeout Timeout value, in seconds, if the Zengin TCP/IP adapter was idle during a receive process. Note: The following properties control the Retry behavior of the Zengin TCP/IP adapter.StationAlias.FileAlias.AutoRetry Specifies whether the Zengin TCP/IP adapter should make retry attempts if the connection between the adapter and the remote Zengin server is broken during a send or receive process. Valid values: - true—Automatically make retry attempts
- false—Do not make retry attempts
StationAlias.FileAlias.MaxRetry Maximum number of retry attempts to make. Valid values are any positive integer. This property is only used if AutoRetry is set to true. StationAlias.FileAlias.RetryInterval Interval, in seconds, between each retry attempt. Valid values are any integer greater than 1. This property is only used if AutoRetry is set to true and MaxRetry is greater than 1. Note: The following properties control the handling of files containing variable-length records.StationAlias.FileAlias.FileType Specifies the type of file. Valid values: - binary—File content will not be altered before being sent or received
- text—File content will be altered according to the AppendCRLF and CRLFHexCode property settings
StationAlias.FileAlias.AppendCRLF In a text file, specifies whether to append each record with a delimiter. Valid values: - true—When received, each record in the file will be appended with the hexadecimal code specified in CRLFHexCode. When being sent, the code will be removed from the end of each record.
- false—The records will not be appended.
StationAlias.FileAlias.CRLFHexCode Specifies the delimiter to append to each record in a text file. Valid values: - 0A—Appends a line feed (new line) to the end of each record
- 0D0A—Appends a line feed and a carriage return to the end of each record
- Save and close the zengin.properties.in file.
- Run one of the following utilities to update the zengin.properties
file:
/
install_dir/bin/setupfiles.sh
(UNIX)- install_dir
\bin\setupfiles.cmd
(Windows)
- Stop and restart Sterling B2B Integrator to use the updated settings.
Example Business Processes
Receive Example
This business process is called when a file is received and it saves the file to disk. Note that the Zengin TCP/IP adapter invokes the business process when a file is received, the business process does not invoke the adapter.
<process name="zengin_file_sys_write">
<sequence name="Main Sequence">
<operation name="File System Adapter">
<participant name="my_file_sys"/>
<output message="FileSystemInputMessage">
<assign to="Action">FS_EXTRACT</assign>
<assign to="assignedFilename">received_filename</assign>
<assign to="extractionFolder">/my_directory</assign>
<assign to="." from="*"></assign>
</output>
<input message="inmsg">
<assign to="." from="*"></assign>
</input>
</operation>
</sequence>
</process>
Respond Example
This business process is called when the Zengin TCP/IP adapter receives and responds to a request to send a file. The business process reads a file from the disk to be sent back to the remote Zengin server. Note that the Zengin TCP/IP adapter invokes the business process when a request is received. The business process does not invoke the adapter.
<process name = "zengin_file_sys_read">
<sequence name="Main Sequence">
<operation name="File System Adapter">
<participant name="my_file_sys"/>
<output message="FileSystemInputMessage">
<assign to="Action">FS_COLLECT</assign>
<assign to="assignedFilename">respond_filename</assign>
<assign to="collectionFolder">/my_directory</assign>
<assign to="deleteAfterCollect">false</assign>
<assign to="filter">respond_fixed_uncompr</assign>
<assign to="." from="*"></assign>
</output>
<input message="inmsg">
<assign to="." from="*"></assign>
</input>
</operation>
</sequence>
</process>
Send Example
This business process sends a single file to a remote Zengin server.
<process name = "zengin_sender">
<sequence name="Main Sequence">
<operation name="send fixed uncompr">
<participant name="zengin_sender"/>
<output message="output">
<assign to="ZenginRemoteServerAlias">Ros3</assign>
<assign to="ZenginFileAlias">send_fixed_uncompr</assign>
<assign to="ZenginMode">send</assign>
<assign to="ZenginHostname">123.45.67.8</assign>
<assign to="ZenginPort">5020</assign>
<assign to="." from="*"></assign>
</output>
<input message="input">
<assign to="." from="*"></assign>
</input>
</operation>
<operation name="send var uncompr">
<participant name="zengin_sender"/>
<output message="output">
<assign to="ZenginRemoteServerAlias">Ros3</assign>
<assign to="ZenginFileAlias">send_variable_uncompr</assign>
<assign to="ZenginMode">send</assign>
<assign to="ZenginHostname">123.45.67.8</assign>
<assign to="ZenginPort">5020</assign>
<assign to="." from="*"></assign>
</output>
<input message="input">
<assign to="." from="*"></assign>
</input>
</operation>
</sequence>
</process>
Send Multiple Files Example
This business process sends several files to a remote Zengin server.
<process name = "zengin_send_mult">
<sequence name="Main Sequence">
<assign to="myDocs/send_fixed_uncompr" from="PrimaryDocument/@*"
append="true">
</assign>
<assign to="myDocs/send_variable_uncompr" from="PrimaryDocument/@*"
append="true"></assign>
<operation name="call sender">
<participant name="zengin_sender"/>
<output message="output">
<assign to="ZenginRemoteServerAlias">Ros3</assign>
<assign to="ZenginDocuments">//myDocs/*</assign>
<assign to="ZenginMode">send</assign>
<assign to="ZenginHostname">123.45.67.8</assign>
<assign to="ZenginPort">5020</assign>
<assign to="." from="*"></assign>
</output>
<input message="input">
<assign to="." from="*"></assign>
</input>
</operation>
</sequence>
</process>
Request Files Sample
This business process requests files from a remote Zengin server.
<process name = "zengin_requester">
<sequence name="Main Sequence">
<operation name="fixed uncompr">
<participant name="zengin_sender"/>
<output message="output">
<assign to="ZenginRemoteServerAlias">Ros3</assign>
<assign to="ZenginFileAlias">request_fixed_uncompr</assign>
<assign to="ZenginMode">request</assign>
<assign to="ZenginHostname">123.45.67.8</assign>
<assign to="ZenginPort">5020</assign>
<assign to="." from="*"></assign>
</output>
<input message="input">
<assign to="." from="*"></assign>
</input>
</operation>
<operation name="File System Adapter">
<participant name="file_sys"/>
<output message="FileSystemInputMessage">
<assign to="Action">FS_EXTRACT</assign>
<assign to="assignedFilename">request_fixed_uncompr</assign>
<assign to="extractionFolder">/myDirectory</assign>
<assign to="." from="*"></assign>
</output>
<input message="inmsg">
<assign to="." from="*"></assign>
</input>
</operation>
<operation name="variable uncompr">
<participant name="zengin_sender"/>
<output message="output">
<assign to="ZenginRemoteServerAlias">Ros3</assign>
<assign to="ZenginFileAlias">request_var_uncompr</assign>
<assign to="ZenginMode">request</assign>
<assign to="ZenginHostname">123.45.67.8</assign>
<assign to="ZenginPort">5020</assign>
<assign to="." from="*"></assign>
</output>
<input message="input">
<assign to="." from="*"></assign>
</input>
</operation>
<operation name="File System Adapter">
<participant name="file_sys"/>
<output message="FileSystemInputMessage">
<assign to="Action">FS_EXTRACT</assign>
<assign to="assignedFilename">request_var_uncompr</assign>
<assign to="extractionFolder">/myDirectory</assign>
<assign to="." from="*"></assign>
</output>
<input message="inmsg">
<assign to="." from="*"></assign>
</input>
</operation>
<operation name="fixed compr">
<participant name="zengin_sender"/>
<output message="output">
<assign to="ZenginRemoteServerAlias">Ros3</assign>
<assign to="ZenginFileAlias">request_fixed_compr</assign>
<assign to="ZenginMode">request</assign>
<assign to="ZenginHostname">123.45.67.8</assign>
<assign to="ZenginPort">5020</assign>
<assign to="." from="*"></assign>
</output>
<input message="input">
<assign to="." from="*"></assign>
</input>
</operation>
<operation name="File System Adapter">
<participant name="file_sys"/>
<output message="FileSystemInputMessage">
<assign to="Action">FS_EXTRACT</assign>
<assign to="assignedFilename">request_fixed_compr</assign>
<assign to="extractionFolder">/myDirectory</assign>
<assign to="." from="*"></assign>
</output>
<input message="inmsg">
<assign to="." from="*"></assign>
</input>
</operation>
<operation name="variable compr">
<participant name="zengin_sender"/>
<output message="output">
<assign to="ZenginRemoteServerAlias">Ros3</assign>
<assign to="ZenginFileAlias">request_var_compr</assign>
<assign to="ZenginMode">request</assign>
<assign to="ZenginHostname">123.45.67.8</assign>
<assign to="ZenginPort">5020</assign>
<assign to="." from="*"></assign>
</output>
<input message="input">
<assign to="." from="*"></assign>
</input>
</operation>
<operation name="File System Adapter">
<participant name="file_sys"/>
<output message="FileSystemInputMessage">
<assign to="Action">FS_EXTRACT</assign>
<assign to="assignedFilename">request_var_compr</assign>
<assign to="extractionFolder">/myDirectory</assign>
<assign to="." from="*"></assign>
</output>
<input message="inmsg">
<assign to="." from="*"></assign>
</input>
</operation>
</sequence>
</process>