In a connected world, data should travel fast, in fact on a real-time fashion, to serve the purpose – enabling business to thrive. Data that is not available in time impacts business. Events that matter to business, that effects critical data changes, should orchestrate data changed sync up with connected systems that are the backbone of the business.
Statistics show that 200 businesses change addresses, 150 business telephone numbers will change or be disconnected, 5 Supplier/Vendor will go through rebranding and retailers lose USD 40 billion or 3.5% of total sales due to product information inefficiencies, all in one hour. Data that is not efficiently syndicated to the consuming systems by the System of Record hurts businesses.
In this blog, we will see IBM’s Event Manager in action and how it could seamlessly funnel event-driven data changes to connected systems, just when they need them.
What is IBM InfoSphere® MDM Event Manager
An Event Manager is one of the core components of IBM MDM solution which detects events within InfoSphere MDM and performs relevant tasks like information proliferation asynchronously. Tasks are executed asynchronously to improve performance and throughput.
Some operations take a long time to complete. So, it makes sense to split those operations into two parts, a short synchronous interaction followed by a long asynchronous process. The user is provided a response at the end of the synchronous interaction, and the remaining operation is performed asynchronously.
Real-life Business Cases
Let us walk through few real-life business cases that leveraged the Event Manger to their advantage.
Business Case 1
A Global bank maintains Forex exchange rates in one system and this rate is used by other downstream systems associated with currency exchange channels like Mobile, Website and Branches. The exchange rate is fixed once in a day, mostly when the banking hour commences. The system that feeds the exchange rate sends daily update at 9 AM to the MDM system. The MDM AE Event Manager triggers the update of the exchange rate to the downstream systems like CRM, ERP and others.
Figure 1: Forex Exchange Rate updates to downstream systems
Business Case 2
A Vendor in the supply chain sends invoices to its suppliers on a daily basis. One of the Suppliers changed “Mailing Address” and this was not updated in the CRM system. A perfect recipe to wreak havoc when the Supply chain is broken with wrongly addressed invoices.
Think of leveraging MDM AE Event Manger in this scenario. So, once the address changes in MDM, event is triggered and all the other downstream systems will be updated with the latest address of the Supplier.
Business Case 3
A Global giant in tools manufacturing sells a specific product line at 10 percent profit over the manufacturing cost incurred. In this case the other sub systems such as e-Commerce Portal, ERP System, CRM System will also be maintaining the profit margin of 10 percent as seen in the picture below:
Figure 2: Unified Profit Margin maintenance -Source and Sub-systems
To recover from dwindling sales the client decided to jack up the profit margin from 10 to 12 percent. In this case the Event Manager played the pivotal rule of orchestrating this change from the MDM system to other consuming systems. The event manger subsystem processes this change and sends notification to other sub-systems such as Ecommerce, ERP system and CRM System and thus, the profit margin at all associated sub systems also is changed to 12 percent. The following diagram depicts the way IBM MDM’s Event Manager handles this key data change.
Figure 3: IBM Event Manager Data change Orchestration
Event Manager Capabilities
- Detect business events based on the passage of time.
- Detect business events after business transactions have been executed.
- Record events that have occurred.
- Execute actions, such as trigger business transactions, as part of the business rules evaluating the occurrence of the event.
- Notify that an event has occurred, using the Notifications framework.
Transaction data event:
This event occurs with change in any key data change within MDM. For example, a customer updating his personal contact details.
Time passed event:
This event occurs with passage of time. For example: A promotion campaign expiring today should be informed to the e-Commerce systems.
These events are typically user-defined. For example, a category manager knows that a product category is being inactivated in two weeks. The category manager may want to persist this type of event.
Used for repeated events. Example: A banking user may enter a wrong username/password consecutively for 3 times while accessing the banking portal and in such a scenario the bank may want to lock the account for the day and send notification to the customer, in order to avoid possible fraudulent transactions.
Event Manager Architecture
Now, let’s dive deep into the inner workings. The InfoSphere® MDM Event Manager consists of five major subsystems:
- Services layer
- Event detector message-driven bean (MDB) with process controller
- Event analyst or detector
- Event persistence module
- Notification module
Figure 4: Event Manager Subsystems
This layer provides a business interface to the Event Manager users. This interface consists of the ProcessController and EventServicesessionbeans. The business system calls the ProcessControllersessionbean to inform the Event Manager about a transaction performed against a particular business object. The ProcessControllerbean then sends this business object for processing to the event analyst or detector. This step is asynchronous, ensuring that the business transaction is not delayed by event processing.
Figure 5: Event Manager Components
ProcessControllerbean with Event Detector MDB:
This component ensures that business objects are sent to the event analyst or detector module for processing. The EventDetectionsScheduleController invokes the ProcessController bean according to the setting. The ProcessController bean checks for any business objects that are due for processing within a certain time and sends them to the event analyst or event detector.
Event analyst or detector:
Executes event rules to determine the list of the current event occurrences and the list of the future potential event occurrences, for a given business object.
Event persistence module:
This module is responsible for persisting information about events that have taken place.
Sends notifications to other business systems notifying the changes effected by the event.
Event Manager Data Model
The Event Manager Data model consists of three operational tables:
These tables hold data pertaining to business objects and events that is added by Event Manager when it detects the related event. Click here to know more about the data model from the official IBM documentation.
Building Business Solutions using Event Manager Framework
Steps to implement IBM MDM Event Manager for any business case
Step 1: Build Event Business Adapter Class
Business Adapter is called from the EventDetectorMDB. More specifically, called from the EventTaskObject by getDataObjects () method. Business Adapter has to implement the EventBusinessAdapter interface and then carry out this method:
publicDataObjectCollectiongetDataObjects (SerializabletransObj, String busObjkey, String busEntity)
For more details on Adapter Class refer the IBM Site link
Step 2: Configure Blue print for Business Adapter
The snippet below provides a sample blue print fragmentation to accommodate a custom Event Business Adapter.
Step 3: Event Manager Rule class
Event Manager Rule is called from EventDetectorMDB’s executeRules method. The EventDetectorMDB looks into the configuration and finds out the rule class and calls execute() method provided by BaseRule, which is a super class of Event Manager Rules.
Step 4: Event Manager Custom Rule Class
About the Authors
Krishn Kishore, goes by the sobriquet KK, is a Senior Technical Consultant at Mastech InfoTrellis. He has been instrumental in delivering successful IBM Master Data implementations across business verticals around the globe.
Surabhi Singh is a Technical Consultant with Mastech InfoTrellis. She has been part of successful teams that shaped up Master Data landscape for our prestigious clients.