The Synergy of SOA, Event-Driven Architecture (EDA), and Complex Event Processing (CEP)



Similar documents
WHITE PAPER. Enabling predictive analysis in service oriented BPM solutions.

Event-Driven Architecture Overview

Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies

I N T E R S Y S T E M S W H I T E P A P E R ADVANCING SOA WITH AN EVENT-DRIVEN ARCHITECTURE

AquaLogic ESB Design and Integration (3 Days)

VALLIAMMAI ENGNIEERING COLLEGE SRM Nagar, Kattankulathur

What You Need to Know About Transitioning to SOA

Service Mediation. The Role of an Enterprise Service Bus in an SOA

A Guide Through the BPM Maze

TECHNOLOGY TRANSFER PRESENTS MAX. From EAI to SOA ACHIEVING BUSINESS AGILITY THROUGH INTEGRATION

Oracle SOA Suite: The Evaluation from 10g to 11g

Combining Service-Oriented Architecture and Event-Driven Architecture using an Enterprise Service Bus

SERVICE ORIENTED ARCHITECTURE

Business Intelligence and Service Oriented Architectures. An Oracle White Paper May 2007

Introduction to Service-Oriented Architecture for Business Analysts

Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies

A standards-based approach to application integration

Oracle Service Bus: - When to use, where to use and when not to use

JOURNAL OF OBJECT TECHNOLOGY

BEA AquaLogic Integrator Agile integration for the Enterprise Build, Connect, Re-use

The webmethods ESB. The Foundation of your SOA. Jean-Michel Ghyoot, Principal Solution Architect, March 28, 2013

Solving big data problems in real-time with CEP and Dashboards - patterns and tips

Objectif. Participant. Prérequis. Pédagogie. Oracle SOA Suite 11g - Build Composite Applications. 5 Jours [35 Heures]

Solving Your Big Data Problems with Fast Data (Better Decisions and Instant Action)

Presentation Outline. Key Business Imperatives Service Oriented Architecture Defined Oracle SOA Platform SOA Maturity/Adoption Model Demo Q&A

Enterprise Application Designs In Relation to ERP and SOA

Complex Event Processing (CEP) Why and How. Richard Hallgren BUGS

Service Oriented Architecture Based Integration. Mike Rosen CTO, AZORA Technologies, Inc.

Getting Real Real Time Data Integration Patterns and Architectures

Airline Disruption Management

How service-oriented architecture (SOA) impacts your IT infrastructure

Business Transformation for Application Providers

Business Activity Monitoring Economic Impact on Industry Verticals

Oracle Business Activity Monitoring 11g New Features

Business Process Execution Language for Web Services

Prerequisites for Successful SOA Adoption

The TransactionVision Solution

ATHABASCA UNIVERSITY. Enterprise Integration with Messaging

Enterprise Service Bus Defined. Wikipedia says (07/19/06)

Intelligent Business Operations and Big Data Software AG. All rights reserved.

WHITE PAPER > Situational Management for SOA

Enterprise SOA Service activity monitoring

Selection Requirements for Business Activity Monitoring Tools

IBM WebSphere Business Monitor, Version 6.1

EVALUATING INTEGRATION SOFTWARE

Business Activity Monitoring

Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL wann soll welche Komponente eingesetzt werden?

Implementing efficient system i data integration within your SOA. The Right Time for Real-Time

An Oracle White Paper October Maximize the Benefits of Oracle SOA Suite 11g with Oracle Service Bus

Beeple, B-Pel, Beepul? Understanding BPEL and Its Role in SOA

The Advantages of Real-Time Business Development

Oracle SOA Suite Then and Now:

MDM and Data Warehousing Complement Each Other

Enterprise Integration Patterns

Approach to Service Management

Enterprise Application Integration (EAI) Architectures, Technologies, and Best Practices

CLOUD BASED SEMANTIC EVENT PROCESSING FOR

Technical Analysis of Business Rules and SOA

How To Make Data Streaming A Real Time Intelligence

Integration using IBM Solutions

10g versions followed on separate paths due to different approaches, but mainly due to differences in technology that were known to be huge.

Business Process Driven SOA using BPMN and BPEL

An Oracle White Paper. Enabling Agile and Intelligent Businesses

Emerging Technologies Shaping the Future of Data Warehouses & Business Intelligence

NEEDLE STACKS & BIG DATA: USING EVENT STREAM PROCESSING FOR RISK, SURVEILLANCE & SECURITY ANALYTICS IN CAPITAL MARKETS

Predictive Straight- Through Processing

secure intelligence collection and assessment system Your business technologists. Powering progress

Oracle Service Bus Examples and Tutorials

Improving Process Intelligence With Predictive Analytics

Government's Adoption of SOA and SOA Examples

Tomáš Müller IT Architekt 21/04/2010 ČVUT FEL: SOA & Enterprise Service Bus IBM Corporation

Methods and tools for data and software integration Enterprise Service Bus

Business Process Management Enabled by SOA

Streaming Big Data Performance Benchmark for Real-time Log Analytics in an Industry Environment

A Big Data-driven Model for the Optimization of Healthcare Processes

SOA management challenges. After completing this topic, you should be able to: Explain the challenges of managing an SOA environment

Spring 2011 Conference Sandanski, May 13th 15th 2011 Oracle SOA Suite 11g Rapid service integration and process automation with a no-coding approach

A Technical Roadmap for Oracle Fusion Middleware, E-Business Suite Release 12 and Oracle Fusion Applications

Streaming Big Data Performance Benchmark. for

Service-Enabling Your Mainframe. Taking Evolutionary Approaches that Don t Break the Bank

JBOSS ENTERPRISE SOA PLATFORM AND JBOSS ENTERPRISE DATA SERVICES PLATFORM VALUE PROPOSITION AND DIFFERENTIATION

An Oracle White Paper November Oracle Primavera P6 EPPM Integrations with Web Services and Events

Principles and Foundations of Web Services: An Holistic View (Technologies, Business Drivers, Models, Architectures and Standards)

The Way to SOA Concept, Architectural Components and Organization

The IBM Cognos Platform

Reporting component for templates, reports and documents. Formerly XML Publisher.

BPM, EDA and SOA: How the Combination of these Technologies Facilitates Change. Dr. Neil Thomson, Head of Group Development, Microgen plc

The ESB and Microsoft BI

Master Data Management. Zahra Mansoori

Service Oriented Data Management

The Challenges in Real Life ESB Deployments

Achieving Semantic Interoperability By UsingComplex Event Processing Technology

Kai Wähner. The Next-Generation BPM for a Big Data World: Intelligent Business Process Management Suites (ibpms)

CHAPTER 1 INTRODUCTION

Air Force SOA Enterprise Service Bus Study Using Business Process Management Workflow Orchestration for C4I Systems Integration

Capital Market Day 2015

Streaming Analytics and the Internet of Things: Transportation and Logistics

Using In-Memory Computing to Simplify Big Data Analytics

Transcription:

The Synergy of SOA, Event-Driven Architecture (EDA), and Complex Event Processing (CEP) Gerhard Bayer Senior Consultant International Systems Group, Inc. gbayer@isg-inc.com http://www.isg-inc.com

Table of Contents What drives event processing CEP defined Typical business cases Overview of event processing technologies The integration architecture pre-requisite for CEP solutions SOA vs. Event-Driven Architecture (EDA) Conceptual event processing architecture Requirements for a CEP solution Conceptual CEP Architecture Example CEP application What does CEP programming look like? Key characteristics of CEP rules CEP patterns 2

Defining Events Business example of an event: Adding a new customer in an insurance company is a business event that a number of applications are interested in Technical definition of an event: An event is an action that is usually initiated outside the scope of a program and that is handled by a piece of code inside the program Typical sources of events include the user (who inputs data through a user interface), hardware devices (e.g. a timer), or other programs (event publishers) Physically, the event contains data It may include Type of event, time stamp, source identification, etc. 3

The Growing Event Stream Companies are faced with a growing number of business events Radio Frequency Identification (RFID) B2B partners Batch processes have been replaced by near realtime processes Customer interactions have become personalized and require instantaneous and more complex processing 4

Business Velocity Is Increasing Source: Gartner, Inc. June 2008 5

What Drives Event Processing Companies have been constantly reducing their response time to events that affect their business Customers expect immediate action when they have a service inquiry The turn around time for orders is being minimized Fluctuations in supply and demand often mandate instantaneous changes to business processes Companies move towards (near) real-time business operations Real Time Enterprise (RTE) Some times also referred to as the Zero Latency Enterprise (ZLE) 6

The Pursuit of the Real-Time Enterprise (RTE) The goal of the RTE is to significantly reduce the elapsed time between the moment a business event occurs and the completion of the activities that the business performs in order to respond to the event This requires to reduce the dependency on manual processes and replace them as much as feasible with automated processing Many businesses did not have this requirement a few years ago, but today s competitive pressure is driving them more and more towards the RTE 7

From Simple To Complex Event Processing Event processing is becoming increasingly complex: Real-time event notification A business event occurs and those individuals or systems who are interested in that event are notified, and potentially act on the event. Event stream processing Many instances of an event occur, such as a stock trade, and a process filters the event stream and notifies individuals or systems only about the occurrences of interest, such as a stock price reaching a certain level. Complex event processing Different types of events, from unrelated transactions, correlated together to identify opportunities, trends, anomalies or threats. 8

A CEP Definition Complex event processing aggregates information from distributed systems in real time and applies rules to discern patterns and trends that would otherwise go unnoticed This gives companies the ability to identify and anticipate opportunities represented by seemingly unrelated events. CEP gives businesses insight into which events will have the greatest operational impact so they can focus their resources to seize opportunities and mitigate risks. 9

Real-time Event Correlation Real-time event correlation is becoming more important in many industries Examples include: Trading systems Compliance tracking Fraud detection Airline scheduling systems Supply chain management 10

CEP Business Cases Program traders need the flexibility to execute various strategies to capitalize on opportunities For example, If the stock price of X moves above 2% of the volume weighted average price (VWAP) and stock price of Y moves below 2% of VWAP, then sell 1000 shares of X and buy 5000 shares of Y The ability to capture real-time events and present those events in context gives traders a better understanding of market changes and the ability to respond quickly to those changes. 11

CEP Business Cases The delayed departure of a flight triggers recalculation of the estimated arrival time This is a new event that is input to other event processing rules Schedule baggage handling Gate reservation Crew scheduling This is fairly simple for one flight, but it gets complex for An entire airline An entire airport 12

Typical Applications of CEP Source: ebizq 13

Event Processing Technologies Technologies that can turn a stream of events into valuable and actionable information for business users: The integration foundation Service Oriented Architecture (SOA) Event Driven Architecture (EDA) Business Process Management (BPM) Automate the actions that the event processing produces as a result Business Activity Monitoring (BAM) Provide insight into the performance of the business Complements CEP and BPM Complex Event Processing (CEP) Allows applying business rules to streams of real time events, including temporal correlations 14

Pre-requisites For Event Processing Solutions One pre-requisite before implementing an event processing architecture is (near) real-time integration of business applications Many companies have already integrated a number of their key applications However, integration solutions are still evolving Replacing point-to-point integration with a systematic approach Often applications have been integrated using a batch or file transfer based mechanism Adherence to standards and a service oriented approach to integration are becoming best practice XML and Web Services standards 15

Pre-requisites For Event Processing Solutions CEP products often provide connectivity to custom and packaged applications through adapters It is important to evaluate a CEP solution in the context of the integration architecture guidelines that are (hopefully) in place within IT Avoid creating islands of integration Integration middleware may have already been deployed The Enterprise Service Bus (ESB) has become a technology of choice for many IT organizations 16

Pre-requisites For Event Processing Solutions The CEP layer receives business events from applications that have been integrated, for example, through an ESB The integration layer creates event visibility for the CEP layer CEP Layer Step 1, 4, 5, 6, 11 Adapter Adapter Adapter Adapter Application Integration Layer Steps 1-4 Step 5 Steps 6-9 Steps 10-11 17

Pre-requisites For Event Processing Solutions A mix of Service Oriented Architecture (SOA) and Event-Driven Architecture (EDA) should be put in place first They can form the foundation of an Event Processing architecture They make business events available to BPM, BAM, and CEP tools in a standardized way New services are designed specifically for SOA or EDA Legacy systems and packaged applications are integrated using service oriented wrappers 18

SOA Characteristics Loose coupling is a key concept in SOA It pertains to two levels Services level Services and the clients that utilize them should be as independent from each other as possible Architecture level Services do not communicate directly, but through an intermediary Allows to implement non business logic oriented functionality outside of the services E.g. security, routing of service requests to different services, version control, logging, data transformation, etc. The desired result is a high degree of flexibility Enabling rapid composition of new business processes or changes to exiting ones 19

Architectural Decoupling Clients invoke services directly Architectural decoupling Service Consumer Service Registry Service Consumer Service Registry Transformation Routing Security Logging etc. Wrapper WSDL Legacy Systems, Packages, New Services Service Provider Wrapper WSDL Legacy Systems, Packages, New Services Service Provider 20

Event Driven Architecture (EDA) SOA is usually associated with a client/server model as opposed to an event-driven model In the typical client/server model, a service consumer (client) invokes a service synchronously It is then typically blocked, waiting for the result to come back from the service Often business scenarios require business events to be propagated across a number of applications (or services) Event Driven Architecture (EDA) Services typically use asynchronous communication in form of the publish/subscribe model 21

Client/Server SOA vs. EDA Client/Server SOA EDA Service Consumer Service Consumer Request Reply Blocked, synchronous Variable latency Receive asynchronously Publish, no wait, no reply Wrapper WSDL Legacy Systems, Packages, New Services Service Provider Wrapper WSDL Legacy Systems, Packages, New Services Service Provider 22

The Integration Foundation For Events A comprehensive SOA/EDA will enable a layer of high-value services that have a visible impact on the bottom line of the business Business Process Management (BPM) Automated process flow that composes a new, easy to change business process based on the invocation of a number of business services Typically requires support for both request/reply and asynchronous invocation patterns Business Activity Monitoring (BAM) Standardized service interfaces and service access protocols facilitate collection of information about business operations that can be utilized for real-time business intelligence applications Needs to include many diverse business applications 23

Conceptual Event Processing Architecture BAM BPM CEP Service Oriented Architecture Event Driven Architecture Service Service Service Service Legacy System Packaged Application 24

Conceptual Event Processing Architecture A typical Event Processing architecture consists of the following elements: SOA and EDA form the foundation BPM is conceptually part of as well as outside of the SOA/EDA foundation Some of the BPM logic is comprised of orchestration of services, which is within the realm of SOA Utilizing standards like BPEL Some of the BPM logic could be implemented using a proprietary tool The inclusion of people performing human process steps has elements both inside and outside of SOA/EDA BPEL4People and WS-HumanTask are inside Worklist clients are applications external to SOA 25

Conceptual Event Processing Architecture A typical Event Processing architecture consists of the following elements (cont.): BAM is an application external to SOA/EDA Events typically emerge from the SOA/EDA and feed into the BAM application The BAM application can query services (i.e. using the pull mode of SOA) since BAM is not a very low latency application But: this could cause processing overhead BAM suites can also include their own, proprietary event source adapters, which are outside of SOA/EDA The BAM engine processes the events and may generate new events The results are typically visualized in a dashboard for a human Generated events can be fed into a BPM application 26

Conceptual Event Processing Architecture A typical Event Processing architecture consists of the following elements (cont.): CEP is an application external to SOA/EDA Events emerge from the EDA and feed into the CEP application The CEP application would not query services (i.e. using the pull mode of SOA) since CEP is a very low latency application CEP suites can also include their own, proprietary event source adapters, which are outside of SOA/EDA The CEP engine processes the events and generates new events They can be visualized in a dashboard or analysis tool for a human They can be fed into a BPM application They can be fed into a BAM application 27

How To Manage Growing Event Rates? The integration architecture creates visibility and access to business events, but many companies struggle to capitalize on the growing amounts of internal and external streaming data External market data feeds and internal transaction feeds can generate tens of thousands of messages per second Processing these events gets increasingly more sophisticated Increasing number and complexity of regulatory and market-specific business rules 28

Database systems Potential Solutions Cannot keep up with such high levels of data rates and complex processing Messaging systems Provide virtually no support for sophisticated application development Custom development Too costly, takes too long Industry specific black box systems Insufficient customization capability CEP tools can be a solution 29

Requirements For a CEP Solution Real time The results of processing need to be produced with virtually zero latency Requires in-memory processing, prohibitive to write data to disk Stream processing Sophisticated time-windowed processing operations are needed For example, windowed join operations E.g. correlating a portfolio stock average with a sector average in the same time window 30

Requirements For a CEP Solution Combining real time and historical data Real time data arrives in streams, while historical data is retrieved from data bases May not be feasible if performance penalty cannot be tolerated Handling stream imperfections Frequently, inherent variations, losses, or reordering of the data streams cause data to arrive in the wrong order, or with variable delays In addition, data may sometimes be lost due to glitches in the data feeds or network congestion 31

Requirements For a CEP Solution Scalability In many industries the event rates have been dramatically increasing E.g. the Options Price Reporting Authority (OPRA), which aggregates all the quotes and trades from the options exchanges, has peak rates of about 1M messages/sec High availability CEP solutions often require high availability due to a number of factors: Shortening the response times to critical business events Increased level of automation for handling events 32

Typical CEP Solution Business events enter the CEP engine in form of data streams The engine performs a set of transformations on the data Filtering, cleansing, ordering, aggregation Pattern matching and business rules are applied to the data The rules are expressed in an event-processing language 33

Conceptual CEP Architecture Source: Gartner 34

Conceptual CEP Architecture Typical sequence of activities in a CEP architecture: 1. An integration architecture or standalone adapters capture events 2. The events are transported to the CEP engine E.g. through messaging or Web based transports 3. The CEP rules could be implemented in a central engine or distributed in Event Processing Agents (EPAs) 4. The rules create aggregated or complex events that are fed into Dashboard BPM or BAM tool Custom application 35

CEP Vendors IBM BEA TIBCO Oracle Microsoft Progress Software Apama Celequest (Cognos) Streambase Agent Logic Aleri merged with Coral8 36

Example: Apama Dashboard Tool 37

4 Steps To Implement CEP Task Connect to business events Personnel type IT developer Tool SOA, EDA, ESB Define, correlate, apply business rules to events Execute the system Business analyst Operations Graphical rules definition tool Runtime platform Visualize the results Business user Dashboard tool 38

Example CEP Application For a given stock portfolio, compare the Volume Weighted Average Price (VWAP) of all trades executed in the market against the VWAP of trades that we make When the VWAP of our trades drop between a predefined threshold generate an alert This calculation is done based on a one hour sliding time window 39

Example CEP Application My_Buys and Data_Feed represent the two data streams that enter the application. This assumes that some kind of data source adapter or EDA infrastructure has been put in place. A filter is applied to the Data_Feed input to select only those stocks that are part of our portfolio. The Aggregate operators apply aggregating functions to sliding windows of incoming messages for each stream. Here we are using averaging functions across a one hour window. The resulting data streams are passed into a join operator that combines aggregated data for the same stock from each input stream. A final filter is placed on the result of the join. It tests for instances where our trades are over the market VWAP and creates alerts that go into the output stream. 40

What Does CEP Programming Look Like? Several ways to define the rules that govern event processing: Graphical rule and process flow definition Proprietary high level programming languages StreamBase: Stream SQL Aleri SQL, Aleri ML (XML based) Progress Software: Event Programming Language Also available in Java 41

Example: Apama Modeling Tool 42

Example: IBM Rules Development Tool 43

Key Characteristics Of CEP Rules Forward inferencing: Rules are evaluated if the state or relationship of an object is created or changed This is important for scalability in a large-scale environment The rule only evaluates new input, not the entire rule network, every time something changes This allows the rules to be designed independently of each other Rules are standalone code - they don t know about each other 44

Key Characteristics Of CEP Rules Forward inferencing example: Rule 1: If cust.airmiles>1000000 then cust.status= platinum Rule 2: If cust.status= platinum then createevent(send_upgrade_voucher) Rule 2 fires automatically if Rule 1 changes the status of a customer to platinum Since one of the states referenced by Rule 2 has changed Rule 2 will not be fired if the customer status has already been platinum before 45

Key Characteristics Of CEP Rules Temporal reasoning: Rules are evaluated on the presence of events and the object states as a function of time Rule evaluation over a sliding window is a typical scenario in which temporal reasoning is required Spatial reasoning: Rules are evaluated on the presence of events and the object states as a function of location. Rule evaluation over geometry to infer proximity (near-by, north-of, south-of) is a typical scenario in which spatial reasoning is required 46

CEP Patterns Event Filtering The rule subscribes to a input stream, evaluates a specified logical condition based on event attributes, and, if the condition is true, publishes the event to a destination stream For example, an application monitoring a stream of purchase orders may filter out all orders where the condition is Priority!= High and Amount < 100000 47

CEP Patterns - Time-Based Correlation Time-based correlation are event patterns that involve a number of relationships among events spread over time: A followed by B Event B occurs after event A A and B Both events A and B occur, in either order A or B Either A or B (or both) occur Not A Event A does not occur 48

CEP Patterns - Joining Multiple Event Streams Events arriving in input stream 1 are stored in memory Events arriving in input stream 2 are joined with events stored from stream 1, and the matching pairs are published as output events 49

CEP Patterns - Computing Statistical Metrics In this pattern the system keeps events in memory and uses the stored values to compute various statistics A typical example would involve computing a running average over a sliding time window This pattern could be applied across multiple event streams 50

Conclusions Companies are moving towards the Real-Time Enterprise Business velocity is increasing Event rates are overwhelming traditional event management approaches CEP is gaining acceptance One of the fastest growing software segments A comprehensive integration architecture is an ideal foundation for introducing CEP Should be based on SOA and EDA Initial projects can utilize connectivity solutions provided by CEP tools vendors, but be careful not to create CEP silos 51