The purpose of MTrackingInfo is to provide support for end to end tracability of documents or messages throughout the system. It encapsulates information which is initiated by the first component to send a message (for example, a publishing adapter) and enriched by intermediate components (for example, TIBCO MessageBrokers or receiving adapters).
Tracking information allows first to track a message back to its source when an error occured in any given component, and second to provide status information about the progress of a business process distributed among multiple components.
The tracking information includes :
- a trackingId which is set by the originating component and consists of a GUID.
- applicationInfo[] which is enriched by each component manipulating the message or document. Each component is responsible for adding a human-readable piece of information (one string) about the activity being completed.
Application information should be of the following form:
<applicationName>.<instanceId>.<businessDocument>[.<businessDocId>...]
For example:
R3Adapter.PR.NEWPO.PO1234A.
How applicationInfo is Used
MTrackingInfo supports end-to-end tracing messages throughout the TIBCO ActiveEnterprise system. The source application should place appropriate information into MTrackingInfo objects by using the
MTrackingInfo::addApplicationInfo() method. This application information is added at
MTree,
MData or
MOperation level. Each application should add information about its operations to messages that pass through or originate in the application.
Because the MTrackingInfo is sent on the wire, applications should limit the information added via addApplicationInfo(). Specifically, addApplicationInfo() should be called only once per message, and should contain concise/minimal information.
Use of MTrackingInfo should not be confused with tracing. While tracing aims at providing full detail of application activities, MTrackingInfo is meant to provide an audit trail for messages as they travel through a system.