The CBE Function Component allows us to generate Common Base Event (CBE) event objects which can be written to CBE logs (which can be then viewed / managed using the Autonomic Computing Toolkit's Log and Trace analyzer) or issued to an IBM Common Event Infrastructure (CEI) server; alternatively, send it to an external application that is listening for CBE events.
Using the FC in TDI, map your work entry attributes to the standard CBE attributes exposed in the Output Map of the CBE FC, so that when the AssemblyLine is run, the CBE FC creates a CBE Event object (and a CBE Event XML) and puts it back into the AssemblyLine's work entry.
We can also map a CBE object to the event attribute or XML representing a CBE object to the eventXml attribute of the OutputMap, so when the AssemblyLine is run, the CBE FC retrieves all the standard CBE attributes and puts them back to the work entry.
Common Base Event (CBE) facilitates effective intercommunication among disparate enterprise components that support logging, management, problem determination, autonomic computing, and e-business functions.
An event encapsulates message data sent as the result of an occurrence of a situation. Events exchanged between and among applications in complex information technology systems allow these various facets of the system to interoperate, communicate and coordinate their activities. Fundamental aspects of enterprise management and e-business communications, such as performance monitoring, security and reliability, as well as fundamental portions of e-business communications, such as order tracking, are grounded in the viability and fidelity of these events.
The Common Base Event is defined as a new standard for enterprise management and business applications events. The Common Base Event definition ensures completeness of the data by providing properties to publish general information whenever a situation occurs. This general information provided by the Common Base Event is called the 3-tuple.
The following elements constitute the 3-tuple:
The Common Event Infrastructure (CEI) is IBM's implementation of a consistent, unified set of APIs and infrastructure for the creation, transmission, persistence and distribution of a wide range of business, system and network CBE formatted events. CEI is based upon the Autonomic Computing Division's CBE specification, which defines a standard format for event information, which devices and software use to keep track of transactions and other activity.
CEI is an embeddable technology intended to provide basic event management services to applications that require those services. This event infrastructure serves as an integration point for consolidation and persistence of raw events from multiple, heterogeneous sources, and distribution of those events to event consumers. Events are represented using the Common Base Event model, which is a standard defining a common representation of events that is intended for use by enterprise management and business applications. This standard, developed by the IBM Autonomic Computing Architecture Board, supports encoding of logging, tracing, management, and business events using a common XML-based format, making it possible to correlate different types of events that originate from different applications.
This FC's Input and Output Attributes are identical to those of the CBE Parser.
The CBE Function Component uses the following parameters:
One of the primary needs for TDI customers will be to have the ability to generate CBE compliant logs for their products so that other CBE log analyzers, like IBM's Autonomic Computing Toolkit's Log and Trace Analyzer (LTA), etc can be used to generate reports and analyze logs for different systems in a common and consistent manner.
We can create solutions which parse existing log files and generate new log files which are CBE compliant, or we can directly make your products communicate with TDI, which will in turn generate logs in CBE compliant format.
Whatever the scenario, the CBE FC will have to be used to generate CBE events. We could accomplish this using the following steps:
var cbe = work.getObject("event"); var xmlString = com.ibm.di.fc.cbe.CBEGeneratorFC.getCBELogXml(cbe,false); work.setAttribute("logXML",xmlString);
With the aid of the CBE FC, we can emit/receive CBE events directly to the IBM CEI Server component. Currently, the IBM CEI server is a component that is shipped along with IBM WebSphere Process Server version 6.0. For an external Java application (not running inside WAS), the only way to emit events to a CEI server is to make use of the TEC web service available at: https://cs.opensource.ibm.com/projects/mainstream/.
This web service makes use of WS Notification to receive CBE events from external applications, and then making use of the IBM CEI SDK, transmits these CBE events to the CEI Server. This web service does not currently provide any means to consume or subscribe to events - and this is something that the TEC team may consider once WebSphere releases a standardized implementation of WS-notification.
The following steps illustrates how we can configure a solution to emit events to the IBM CEI server:
The CBE FC exposes the following methods (also see the Javadocs for this component):
For more details see: http://archive.eclipse.org/tptp/4.2.0/javadoc/Platform/public/org/eclipse/hyades/logging/java/CommonBaseEventLogRecord.html
Also see Generating a CBE Log XML.
This method is accessible through Javascript in TDI.