Practical Complex x Event Processing Using JBoss Mi iddleware Stack Case Study by y Freedom OSS Practical Open Source Solu olutions For Your Business™
What is Complex Event Proce cessing (CEP)? � CEP is a technology that provides s us with means to define and detect specific logical events which ich might be made up of multiple physical events over a period of tim time. � Stateful event processing provides es us with “situation awareness,” ability to “sense and respond” and d “track and trace.” � Why is CEP important, particularly ly in the context of SOA? � SOA promotes the usage of Ev vent Driven Architecture (EDA) and encourages the shift from b batch or pull oriented method of operation towards real-time, bu usiness-oriented, push methods of communicating. � Business processes themselve es tend to operate in an event- driven way. Consider insurance ce or banking industries for example where most of the acti ctivities are driven as results of customers actions. � Because of the overall shift tow ward EDA, having the capability to process events intelligently beco ecomes paramount and this is where CEP comes in.
What is Complex Event Proce cessing (CEP)? (cont’d) � Today there are many applications ns of CEP in enterprises from low level monitoring to intelligent proce cessing. Some practical and familiar use cases can be listed as: s: � Medical pandemic detection � Fraud detection � Intrusion detection � Algorithmic trading � Traffic hotspots detection � RFID based shipmen/arrival/sa sales patterns � Stock trading patterns � Organizations are increasingly ado dopting EDA as a platform to effectively manage the increasing n g number of events generated from IT systems, business processe sses and physical sensors such as RFID
Business Case Overview – U US Trust (Bank of America) � Fees Calculation Engine � Highly complex, customizable fee e structures designed for ultra wealthy individuals � Increase frequency of billing from m every 6 months to monthly � Up to the minute view of fees reve venue � Ability to forecast � Fees can be effected by multiple f factors and products: � IF my portfolio contains more t than 20% of Red Hat stock AND � My expensive art work goes up up in value 10% AND � I’m late on my $20M mortgage e payment AND � Fed has lowered the interest ra rate three times in a row AND � It’s after May 1 st THEN � My fees for the quarter amoun nt to 1% of my Real Estate holdings AND � Bill me at my summer residence nce
Business Case Overview – U US Trust (Bank of America) � Multiple event source systems: s: � Portfolio Management (3 rd P Party) � Trading (in-house developed ed) � Banking (3 rd Party) � Mortgage (3 rd Party) � Market Data (in-house deve eloped) � Many more… � Existing implementation was a a set of batch Mainframe COBOL programs that were ex extremely difficult to change and test
Technology Solution Overview iew –EDA and CEP � EDA � Event streams derived from variou ious Legacy, COTS and Distributed Applications � Events are published via Technolo ology Event Adapters � IBM’s IMS � MS SQL Server � Batch File Feeds � Oracle’s Siebel CRM � Canonical Event Format � CEP Platform Architecture � JBoss MQ Message Bus topics, s , segregated by Business Event Type � JBoss Cache with Property Chang nge Listeners � JBoss Rules Inference Engine � CEP Domain Specific Language ( (DSL) � JGroups for cache replication � JBoss Application Server
Client Facing Systems Backend Systems Back Office Investment Policy System Portfolio Statements Management Local Java Interfaces JBOSS MQ Mess ssage Bus - Topics Fees Events Fees Events ������������������������� JBOSS Cache JBOSS Rules ������ Working Memory Inverted Facts DB Fees Rules Analysts IMS Database Legacy Trade Information Banking Information “Cha harles River” Trade Data Customer Information
Sample of CEP Domain Spec ecific Language (DSL) myRHATStocksListener(int myShares, in , int, myPortfolioValue) { RHATPrice = SELECT Avg(St Stream.Price) [Range = 1 Day] FROM StockTickerStream AS Stream am WHERE Stream.Symbol = 'RHAT'; IF myShares * RHATPrice > 0 0.2 * myPorfolioValue THEN sendEvent(Portfolio) io); } myArtAppraisalsListener(Set MyArt) { ARTValue = SELECT Stream. .ArtValue, Stream.ArtID [Range = 60 Days] FROM ArtAppraisals lsStream AS Stream GROUP B BY ArtID Having Avg(Stream.ArtValue) > H 1000000 AND Stream.ArtID IN MyArt rt; sendEvent(Art, ARTValue);
Sample of CEP Domain Specific cific Language (DSL) cont’d } myLatePaymentsListener() { LatePayments = SELECT Cou ount(*) [Range > 30 Days] FROM AccountsPay ayableStream AS Stream WHERE S Stream.PaymentType = 'MORTGAGE' A AND Stream.PaymentValue > 20000000; IF LatePayments > 0 THEN sendEvent(LatePaym yment); } myFeesUpdateEvent(Event Portfolio, Ev Event Art, Event LatePayments) { NewFee = NewFee + 0.001 * P * Portfolio.myPorfolioValue - 0.0005 * Art.ARTValue + 0.001 * LatePayment nts.PaymentValue; }
Delivered Value � Up to the minute company reve venue visibility for upper management, allowing for bette tter financial planning � $5M per year in additional fees es revenue � Complete sunset of the Legacy cy Fees Application � CEP Platform Reuse � Fraud Monitoring complex e event � Tax Slots complex event
About Freedom Open Source ce Solutions � Freedom OSS is a professional se services organization with a focus on the practical implementa tation of JBoss/Red Hat family of products � Freedom Architects and Engineer ers are fanatical about implementing stable, scalable and nd blazingly fast systems. � Our Core Practice Areas: � JBoss Professional Services P s Practice � Red Hat Professional Services ces Practice � Practical SOA � Technical Architecture Practice ice � S.W.A.T Professional Service ce Practice � Continuous Improvement Proce ocess Practice � Agile Application Development nt Practice
About Freedom Open Source ce Solutions � On-Shore Solution Centers in PA, A,NJ,NC and Texas � Off-Shore Solution Centers in East astern Europe � Leading technical architecture pro rovider for many Fortune 1000 companies � Extremely talented team of about t 150 technical resources organized around various Centers rs of Excellence (CoE) � Privately held corporation
Ques stions?
Recommend
More recommend