Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Indusrty Experience with the IBM Active Middleware Technology (AMiT)


Published on

Presented at DEBS2010.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Indusrty Experience with the IBM Active Middleware Technology (AMiT)

  1. 1. Industry Experience with the IBM Active Middleware Technology (AMiT) Complex Event Processing Engine Ella Rabinovich ( Joint work with Yonit Magid, Guy Sharon, Sarit Arcushin, Idan Ben-Harrush
  2. 2. <ul><li>Introduction </li></ul><ul><li>IBM Active Middleware Technology (AMiT) Overview </li></ul><ul><li>Industry Experience – 3 use cases </li></ul><ul><ul><li>Location Awareness </li></ul></ul><ul><ul><li>Continuous Control Monitoring (CCM) </li></ul></ul><ul><ul><li>Observation </li></ul></ul><ul><li>Lessons learned </li></ul>Agenda
  3. 3. IBM Active Middleware Technology (AMiT) - History 1999 2005 2008 <ul><li>Establishment of the group </li></ul><ul><li>Integrated with: </li></ul><ul><li>WebSphere Message Broker v6.1 </li></ul><ul><li>WebSphere Premises Server v6.1 </li></ul><ul><li>Entity Analytic Solutions v4.2.1 </li></ul><ul><li>DB2 Health Analyzer </li></ul><ul><li>Continuous Control Monitor </li></ul><ul><li>Integrated with: </li></ul><ul><li>WBI-Message Broker v5 </li></ul><ul><li>WebSphere Server Express </li></ul><ul><li>AMiT v3 </li></ul><ul><li>Customer engagements, POC, prototypes, solutions, services and show cases </li></ul>2006 2004 <ul><li>AMiT v2.1 </li></ul><ul><li>Integrated with MQSI v2.1 </li></ul><ul><li>Services Insurance Asset </li></ul><ul><li>Claim processing </li></ul><ul><li>Underwriting </li></ul>2001 <ul><li>AMiT v1 </li></ul><ul><li>IBM Global Technology Services offering </li></ul>2003 <ul><li>Part of the IBM Autonomic Computing Toolkit alphaWorks </li></ul>
  4. 4. From Single Events to Patterns Events Event Processing Rules Situation Detection Definitions Detected Situations event sources Run Time Build Time Authoring Tool Actions Runtime Engine
  5. 5. AMiT Model – the Situation Concept Situation Conditions Lifespan initiator terminator Event Selection Actions Operation Keys Input events Operator Joining Counting Temporal Absence Aggregation Notifications Messages Definition updates User plug-ins e1 e2 e3 e5 e8
  6. 6. IBM Active Middleware Technology (AMiT) – Engine Architecture and Building Blocks
  7. 7. Flexible Design <ul><li>Core can be adapted for </li></ul><ul><li>a new environment </li></ul>Implementation of each component can be changed without affecting the whole engine
  8. 8. <ul><li>Experience through use cases from different domains </li></ul><ul><ul><li>Location Awareness Applications </li></ul></ul><ul><ul><li>Continuous Control Monitoring (CCM) </li></ul></ul><ul><ul><li>Observation with CEP </li></ul></ul>Industry Experience Through Use Cases
  9. 9. Location Awareness Applications <ul><li>For each factory zone, a policy is defined regarding visitor presence: </li></ul><ul><ul><li>Visitor is not allowed to enter this zone at all </li></ul></ul><ul><ul><li>Visitor in a zone should always be escorted </li></ul></ul><ul><ul><li>Visitor in a zone is allowed to stay unaccompanied </li></ul></ul><ul><li>The event processing engine gets updates of a visitor’s location and detects unauthorized or dangerous situations, such as: </li></ul><ul><ul><li>A visitor enters unauthorized zone alone </li></ul></ul><ul><ul><li>Visitor is apart from his escort in an unauthorized zone </li></ul></ul>Zone 1 Zone 2 Zone 3 Zone 4 Zone 5
  10. 10. Location Awareness Applications – cont. Event Bus RTLS Provider (low-level event source) Filtering Smoothing Persistence Zones Determination Container Checking Backend AMiT Input Adapter Output Listener Backend Interface
  11. 11. Continuous Control Monitoring (CCM) <ul><li>Continuous Control Monitoring (CCM) is about giving </li></ul><ul><li>auditors an automated way to continuously monitor high </li></ul><ul><li>risk transaction exceptions based on predefined criteria. </li></ul>Risk Pattern to Monitor Split transactions are processed in order to by-pass the required level of approvals Executable CEP Rule Alert when multiple transactions with write-off adjustments in aggregate are greater than 25K within a 90 days rolling window CCM Application Alert on exception
  12. 12. Continuous Control Monitoring (CCM) – Solution
  13. 13. Observation with CEP <ul><li>A client of the bank has the option to purchase the service of being notified on bank related activities regarding their bank account </li></ul><ul><ul><li>Cashing of bank checks of amount exceeding a specified threshold </li></ul></ul><ul><ul><li>Account balance exceeds or sinks below a specified threshold (notification once every crossing of the threshold) </li></ul></ul><ul><ul><li>Completion of an approval process of various types of transactions </li></ul></ul><ul><li>A client may choose from several notification options and set some individual parameters for each type of notification through web interface </li></ul><ul><li>A client may preference the method by which to notify </li></ul><ul><ul><li>Email or text message to a mobile phone </li></ul></ul>
  14. 14. Observation with CEP - Solution <ul><li>The AMiT engine integrated with the ESB (used by the bank) as another processing node </li></ul><ul><li>Situations are detected asynchronously - not necessarily as a response to an incoming event </li></ul><ul><li>The broker node performs an observation task – the flow and content of the messages are not affected </li></ul>
  15. 15. Observation with CEP - Solution WebSphere Message Broker Batch sources Retrieve customer registration data from DB Alert Publish DB2 Event Publisher Data source 2 Dash board Dash board Alert Detection Activate rule logic using MB plug-ins if transaction.type=&quot;cash_check“ and transaction.amount>=transaction.parameter_check_threshold AMiT Type “cash_check” Customer 111 Amount 500 customer 111 threshold 400 send by SMS
  16. 16. Lessons Learned <ul><li>Application build time </li></ul><ul><ul><li>Raising the abstraction level – increases usability </li></ul></ul><ul><ul><li>Expressiveness – ability to detect complex patterns </li></ul></ul><ul><ul><li>Flexibility and change management (templates and hot-updates) </li></ul></ul><ul><li>Application run time </li></ul><ul><ul><li>Scalable (both in number of rules and in volume of events) </li></ul></ul><ul><ul><li>Supports transactions (is able to run as part of a global transaction) </li></ul></ul><ul><ul><li>Satisfies the various performance requirements (throughput, latency) encountered for different use cases </li></ul></ul>
  17. 17. Lessons Learned – cont. <ul><li>Event processing logic often “leaks” out of the centralized CEP engine to other parts of the solution </li></ul><ul><li>Event Processing Network (EPN) </li></ul><ul><li>Raises the abstraction level for the whole event processing logic, not just the part handled by the engine </li></ul>Moxey C. et al: A Conceptual model for Event Processing Systems, an IBM Redguide TM publication.
  18. 18. <ul><ul><li>Questions </li></ul></ul>