Synchronization Objects (danch2510m000)

Use this session to view and maintain synchronization objects. When you start the session, an overview dialog is started. When you add or modify a synchronization object a details dialog box is started.

Overview dialog box

This dialog box provides an overview of the existing synchronization objects. You can add or delete synchronization objects. You cannot delete a synchronization object if it is running.

Note: When you use the PublishChanges and UnpublishChanges methods as available in the Business Object Layer, synchronization objects are added and deleted automatically.

You can start these sessions:

  • - Details dialog

When you duplicate an existing synchronization object, the selection and filter texts are also duplicated. Additionally the runtime information (configuration library, audit profile and date / times) is reset, because that runtime information only belongs to the original synchronization object.

Details dialog box

This dialog box shows the details for a synchronization object. You can update the synchronization object. Note that if the server is running, changes of the settings become effective after the server is stopped and continued or started again. When saving a change when a server is running, you receive a warning message explaining this.

Additionally, a warning is given when you change the Business Object Name , Selections or Filter when the server is running or has been running before. These changes impact the existing clients.

If a synchronization object with the same name as a business object is not created via the public interface but via the session. It can get changed or deleted via the public interface. For that reason, these constraints are implemented in this session:

  • You cannot ‘manually’ create a synchronization object having a name equal to a business object.
  • You cannot change the business object name for such a synchronization object. Other settings can be changed and start and/or stop can also be done.
  • You are warned when changing selections or filter for a synchronization object having a business object name (i.e. a synchronization object that is created via the public interface). Note that a user must be able to change the selection for a synchronization object having a name that is equal to a business object name. The reason for this is that the settings of ‘includeUnchanges’ cannot be changed via the public interface, but it is likely that the need to be changed by a customer. The only way to do this is via the Synchronization Objects session.

Limitation: if a business object is delivered later, it is not verified whether a synchronization object having that name already exists. Such a synchronization object can be overwritten by a PublishChanges request.

Actions/Reference menu

These options are available:

Create Runtime
This command (re)generates the configuration library, based on the business object and the selections and filters defined. It generates the configuration library for the synchronization object in the package VRC that contains the current version of the business object. (This does not have to be the same VRC as the VRC corresponding to the package combination of the company the Synchronization Object is defined in.)

Additionally, this command (re)generates the audit profile. If an audit profile was created or changed, a message is displayed to indicate that a conversion to runtime must still be done. The audit profile is not generated if the configuration library generation resulted in an error.

The actual conversion to runtime for the audit profile is an application administrator's task. The session to be used is , which can be started from the session.

The name of an audit profile can contain 15 characters. The naming convention for the audit profile is: “sync” & company (three digits) & the first five characters of the synchronization object (lower case) & a sequence number (three digits).

The description is: “Generated for <synchronization object>”.

Audit profiles are handled in a similar way as configuration libraries: they are deleted if the synchronization object is deleted. A company group is created for each company that has a generated audit profile. If the company group already exists it is reused.

Reset

This command deletes all server runs. You are asked to confirm the action before it is executed.

Field Information

Synchronization Object

An identifying name for the synchronization object.

Synchronization Object Description

A logical name or description of the synchronization object.

Business Object Name

The name of the business object from the Business Object Repository.

You can zoom to the Business Objects (ttadv7503m000) session. This session displays the current business objects without showing the development VRCs.

This field must be filled.

Selections

A text containing an XML structure that defines which components and attributes must be included, and which ones must also be included if they are unchanged.

The text is displayed directly in the session.

You can edit the text in 2 ways:

  • directly in the session
  • Via the Edit Text command in the session's standard tool bar. This command starts a text editor in a separate window, which can be useful depending on the width and length of the text.

Refer to Selection for more information, including an example.

Filter

A text containing an XML structure that defines what object or component instances must be included.

If this field is empty, no filter will be used.

The text is displayed directly in the session.

You can edit the text in 2 ways:

  • directly in the session
  • Via the Edit Text command in the session's standard tool bar. This command starts a text editor in a separate window, which can be useful depending on the width and length of the text.

Refer to Filter for more information, including an example.

Buffer Size

The memory (in Mb) used for the buffer.

The buffer is used for the correction mechanism, to make sure changes and unchanged data (which may be read a different moments) are consistent. When the buffer size is exceeded, the system will swap data to a file.

Read Delay

The delay, in seconds, between logging a transaction in the audit files and the reading of the transaction by the synchronization server. A delete delay is only necessary for databases that use 'dirty reads'.

When using other a database management system (DBMS), other than Oracle (DB2, SQL Server, Informix), the DBMS uses a 'dirty read' mode. This means uncommitted (and incomplete) transactions from one process can be read by other processes.

To avoid reading incomplete transactions, you can specify a Read Delay. The read delay indicates that transactions must only be picked up one or a few seconds after they were logged by the audit trail. This will make sure that only complete transactions are picked up.

When using a DBMS implies 'dirty reads', it is necessary to set a Read Delay of a few seconds. Normally, 4 or 5 seconds should be safe; on heavily loaded system a slightly higher value can be chosen. When using Oracle, the Read Delay setting can be 0.

Polling Frequency (per Second)

Indicates how often the audit trail is checked when no transactions are being processed. The default setting is once per second, but you can select a lower or higher frequency.

The polling frequency must be greater than 0. When selecting a high polling frequency (greater than 10), a warning message is given regarding the performance impact.

Note: 

When the Synchronization Server reads transactions from the audit trail, these transactions are picked up and processed quickly. But if no new transactions are arriving, the server is by default polling once per second. This may give quite some overhead for the system if the audit trail is very large (for example, because it was not purged for a few years). For that reason, you can select a slower polling frequency: a number of seconds per try instead of the number of tries per second. You can specify 1-99 retries per second or 1-99 seconds per retry. The default value is 1 (note that 1 try per second is the same as 1 second per try).

If the polling frequency is relatively high, a warning message is displayed regarding the system performance impact (due to the higher load). If the polling frequency is relatively low, a warning message is given regarding the increased backlog and risk of inconsistencies (when adding unchanged data to the business object changes). Note that when retrying less than once per second, the backlog for the server increases, because incoming transactions will not be processed for some time. For that reason a boundary is set for the number of seconds per retry that can be used.

Log Folder

The folder where errors are logged.

When you specify a log folder, the program checks whether the folder exists. If the folder does not exist, the program creates it.

An error message is displayed if the folder cannot be created, or if the program cannot write files into it.

You must always specify a log folder.

Trace for SyncChanges

If this check box is selected, tracing is done. Detailed technical information is stored in trace files in the Log Folder .

The trace log can be used for trouble-shooting and gives more detailed information than the server log file. It shows the server activity, for example, what transactions were read and how they are processed. It does not only log exceptions, but also transactions that were processed successfully.

The amount of data that is stored depends on the Trace Level that is specified for the synchronization object.

Note: Use the trace options for trouble-shooting purposes only: the tracing will decrease the performance.
Trace Level

The level of detail for the trace. You can select one of the following levels:

  • Low: only events are logged to show the server activity and the processing steps being executed. For each transaction being processed only the transaction ID and commit time will be written.
  • Medium: in addition to the events, some transaction data are logged. For the transaction data, only the status at the beginning of the process (just after reading the transaction from the audit trail), the status at the end of the process, and the status in case of errors are included.
  • High: events and transaction data details are logged. The status of the transaction data after each process step is logged. This can result in a very large trace file.
Run Servers for SyncChanges in Current Virtual Machine

If this check box is selected, the synchronization server runs in the same virtual machine as the BW interface. This is necessary if you want to debug or profile the configuration library. Running in the current virtual machine also enables you to run multiple servers within a single virtual machine. However, this will impact the performance of those servers. Note that the BW interface must keep running after you started the synchronization server(s).

Note: Select this check box for trouble shooting purposes only. Usually this check box is cleared: the synchronization server runs in background in a separate virtual machine without a user interface. This means you can close the BW client after starting one or more servers, without interrupting the process.
Configuration Library

The name of the configuration library that belongs to the synchronization object.

Audit Profile

The name of the generated audit profile (if any).

Last Definition Time

This date / time is set when a new synchronization object is created, and is updated when the Business Object Name , Selections or Filter are changed.

Last Generation Time

This date/time is set or updated when (re)generating the configuration library.

Note: If the Last Generation Time is empty or less than the Last Definition Time , then the configuration library is not up-to-date. In that case a warning message is displayed to indicate that no runtime configuration library is generated, or the runtime configuration library is outdated and must be regenerated.
Run Status

The status of the highest server run.

If no run exists, the status is ‘Idle’.

Backlog

This is the current time -/- the highest commit time processed. The backlog is represented as a value plus a time-unit (seconds, minutes, hours or days). The time-unit is displayed in the next field.

Minutes and hours are rounded using one decimal. Days are rounded in the same way if less than 10. If the backlog is more than 10 days, rounding is done without decimals.

Backlog

The time-unit (seconds, minutes, hours or days) for the Backlog value that is displayed in the previous field.