SlideShare a Scribd company logo
1 of 46
Download to read offline
Intelligent  Integration    
with  WSO2  ESB  and  WSO2  CEP
Sriskandarajah  Suhothayan  (Suho)
Technical  Lead  
WSO2  Inc.  
            
Connected  Business  !
Connected  Business  !
Connected  Business  !
Connected  Business  !
To identity
threats &
opportunities
What  to  integrate  ?
In the line of Connected Business there will be many
software systems
• Enterprise Resource Planning systems (ERP)
• Management Information Systems (MIS)
• Decision Support Systems (DSS)
• Data stores
• Legacy systems
Issues  in  integration
But integrating a multitude of complex software
applications is not an easy task …
• Disparate Systems, Services, Protocols
• Diverse and dynamic business requirements
• No single vendor/solution
• On premise/Cloud solutions
• Different QoS requirements
• Not everyone adhere to standards
How  could  we  integrate  ?
How  could  we  integrate  ?
Point to point connections ?
How  could  we  integrate  ?
How  could  we  integrate  ?
• Scalability, maintainability, troubleshooting nightmares.
How  could  we  integrate  ?
Solution  …  Bus  !
Solution  …  Bus  !
Integration  Platform  Contains  …
• WSO2 ESB
– Connects anything with every thing
• WSO2 DSS, WSO2 GReg
– Expose data as a service, Repository and governance
• WSO2 MB
– Guaranteed messaging
• WSO2 IS
– Security, SSO, Role based access control
Integration  
!
!
!
!
!
Cloud On-premise
!
Hybrid
Job  Done  :)
Oops  !
http://islamgreatreligion.files.wordpress.com/2012/11/gaza-16-nov.jpg
The  Prevention  …  ?
• Monitor !
• Monitor !
• Monitor !
The  next  mile  ...  !
Monitor and …
• Take reactive action
• Predict future & take preventive measures
• Auto recovery at failure
• Optimum resource utilisation
• Ensure security & QoS
• Alerts
Is  it  working  as  expected  ?
• The load of the system
!
It can be
The  solution  should  be
• A realtime system
• Capable of processing data on the fly
• Notify alerts in various forms
• Enable enterprise integration
What  is                                                                                ?
How  ESB  integrates  with  CEP?
How  CEP  integrates  with  ESB?
Patterns  
• Monitoring Proxy service/API : QoS (E.g Response time)
• In Message Store & forward : Managing the Queue
• Monitoring Routing : Scaling, Throttling, Blacklisting
Monitoring  QoS  on  Proxy  Services  &  APIs  
Monitoring response time
define stream ResponseTimeStream ( !
! arrivalTime long, departureTime long, !
! correlationID string, serviceID string, … ) ;!
!
from ResponseTimeStream!
! [departureTime - arrivalTime > 2 min]!
select correlationID, serviceID!
insert into NotificationStream ;
Monitoring  QoS  on  Proxy  Services  &  APIs  
Tuning  Message  Store  and  Forward  
• Monitoring the Message Queue
Tuning  Message  Store  and  Forward  
define stream QueueStatStream ( queueID string, size long ) ;!
!
define partition QueuePartition QueueStatStream.queueID;!
!
from a1 = QueueStatStream, !
a2 = QueueStatStream[size >a1. size]+!
within 2 min!
select a1. queueID as queueID, !
! a1. size as firstSize,!
! a2[last]. size as lastSize!
insert into AdjustForwardingProcessStream!
partition by QueuePartition;
Monitoring  ESB  routing  and  Scaling
Monitoring  ESB  routing  and  Scaling
define stream RequestStream ( ! !
! correlationID string, serviceID string, !
! endpointID string, … ) ;!
!
from RequestStream!
select count(correlationID) as requestCount, !
! serviceID, true as scaleUp!
group by endpointID!
having up requestCount > 90!
insert into ScaleUpStream ;
Intelligent  Scaling  on
Throttling  &  Blacklisting  users
Throttling  &  Blacklisting  users
define stream RequestStream ( correlationID string, serviceID string, !
! ! userID string, tear string, requestTime long, … ) ;!
!
define table BlacklistedUserTable(userID string,!
! ! ! ! time long,requestCount long); !
Throttling  &  Blacklisting  users
define stream RequestStream ( correlationID string, serviceID string, !
! ! userID string, tear string, requestTime long, … ) ;!
!
define table BlacklistedUserTable(userID string,!
! ! ! ! time long,requestCount long); !
!
from RequestStream[tear==‘BRONZE’]#window.time(1 min)!
select userID, requestTime as time, !
! count(correlationID) as requestCount!
group by userID!
having up requestCount > 5!
insert into BlacklistedUserTable ;!
!
Throttling  &  Blacklisting  users
define stream RequestStream ( correlationID string, serviceID string, !
! ! userID string, tear string, requestTime long, … ) ;!
!
define table BlacklistedUserTable(userID string,!
! ! ! ! time long,requestCount long); !
!
from RequestStream[tear==‘BRONZE’]#window.time(1 min)!
select userID, requestTime as time, !
! count(correlationID) as requestCount!
group by userID!
having up requestCount > 5!
insert into BlacklistedUserTable ;!
!
from RequestStream[not(userID in BlacklistedUserTable. userID)] !
select *!
insert into ApprovedRequestStream ;
Patterns  
• Monitoring Proxy service/API : QoS (E.g Response time)
• In Message Store & forward : Managing the Queue
• Monitoring Routing : Scaling, Throttling, Blacklisting
!
• In Load balancing : Fix out of order arrivals
• Rules : Temporal
Patterns  
• Monitoring Proxy service/API : QoS (E.g Response time)
• In Message Store & forward : Managing the Queue
• Monitoring Routing : Scaling, Throttling, Blacklisting
!
• In Load balancing : Fix out of order arrivals
• Rules : Temporal
!
• For Business Decisions : KPIs, Usage patterns, 

Waiting for the right time.. to trigger
• Monitoring for Security : Detect Attacks, Credit card fraud, 

Login patterns, Blacklisting
Waiting  for  the  right  time  …  to  pull  trigger
Waiting  for  the  right  time  …  to  pull  trigger
define stream StockOrderRequest ( symbol string, !
! ! ! ! action string ) ;!
define stream StockStream ( symbol string, price double, … ) ;!
!
define partition Stocks StockStream.symbol, ! ! !
! ! ! StockOrderRequest.symbol ;!
!
from a1 = StockOrderRequest[action==‘buy’],!
! b1 = StockStream[price<a1.price]+,!
! b2 = StockStream[price>b1.price]!
select a1.symbol as symbol, !
! b1[0].price as firstPrice, !
! b2.price as orderPrice!
insert into PurchaseOrder;!
partition by Stocks
Fixing  Security  Vulnerabilities  
• Identify Dos attacks
• Analyse login patterns
• Detect credit card fraud
• Blacklisting
Fixing  Security  Vulnerabilities  
Fixing  Security  Vulnerabilities  
define stream PasswordChangeStream (userId string, time
long); !
!
define stream TransactionStream (userId string, !
amount double, … ); !
!
from every (a1 = PasswordChangeStream) -> !
a2 = TransactionStream[amount >10000] !
within 1 hour!
select a1.userId as userId, a2. amount as amount!
insert into PotentialFraud ;
!
Better three hours too soon,
than one minute too late.
!
!
!
William Shakespeare
Thank  You  
              Questions ?

More Related Content

What's hot

Webinar: Managing Real Time Risk Analytics with MongoDB
Webinar: Managing Real Time Risk Analytics with MongoDB Webinar: Managing Real Time Risk Analytics with MongoDB
Webinar: Managing Real Time Risk Analytics with MongoDB MongoDB
 
Scalable Event Processing with WSO2CEP @ WSO2Con2015eu
Scalable Event Processing with WSO2CEP @  WSO2Con2015euScalable Event Processing with WSO2CEP @  WSO2Con2015eu
Scalable Event Processing with WSO2CEP @ WSO2Con2015euSriskandarajah Suhothayan
 
MongoDB Tick Data Presentation
MongoDB Tick Data PresentationMongoDB Tick Data Presentation
MongoDB Tick Data PresentationMongoDB
 
MongoDB for Time Series Data Part 1: Setting the Stage for Sensor Management
MongoDB for Time Series Data Part 1: Setting the Stage for Sensor ManagementMongoDB for Time Series Data Part 1: Setting the Stage for Sensor Management
MongoDB for Time Series Data Part 1: Setting the Stage for Sensor ManagementMongoDB
 
Using MongoDB As a Tick Database
Using MongoDB As a Tick DatabaseUsing MongoDB As a Tick Database
Using MongoDB As a Tick DatabaseMongoDB
 
Azure DocumentDB Overview
Azure DocumentDB OverviewAzure DocumentDB Overview
Azure DocumentDB OverviewAndrew Liu
 
[PASS Summit 2016] Blazing Fast, Planet-Scale Customer Scenarios with Azure D...
[PASS Summit 2016] Blazing Fast, Planet-Scale Customer Scenarios with Azure D...[PASS Summit 2016] Blazing Fast, Planet-Scale Customer Scenarios with Azure D...
[PASS Summit 2016] Blazing Fast, Planet-Scale Customer Scenarios with Azure D...Andrew Liu
 
Azure DocumentDB: Advanced Features for Large Scale-Apps
Azure DocumentDB: Advanced Features for Large Scale-AppsAzure DocumentDB: Advanced Features for Large Scale-Apps
Azure DocumentDB: Advanced Features for Large Scale-AppsAndrew Liu
 
Webinar: How Banks Use MongoDB as a Tick Database
Webinar: How Banks Use MongoDB as a Tick DatabaseWebinar: How Banks Use MongoDB as a Tick Database
Webinar: How Banks Use MongoDB as a Tick DatabaseMongoDB
 
Webinar: Choosing the Right Shard Key for High Performance and Scale
Webinar: Choosing the Right Shard Key for High Performance and ScaleWebinar: Choosing the Right Shard Key for High Performance and Scale
Webinar: Choosing the Right Shard Key for High Performance and ScaleMongoDB
 
Python and MongoDB as a Market Data Platform by James Blackburn
Python and MongoDB as a Market Data Platform by James BlackburnPython and MongoDB as a Market Data Platform by James Blackburn
Python and MongoDB as a Market Data Platform by James BlackburnPyData
 
HBaseCon 2015: HBase @ CyberAgent
HBaseCon 2015: HBase @ CyberAgentHBaseCon 2015: HBase @ CyberAgent
HBaseCon 2015: HBase @ CyberAgentHBaseCon
 
Real Time Data Analytics with MongoDB and Fluentd at Wish
Real Time Data Analytics with MongoDB and Fluentd at WishReal Time Data Analytics with MongoDB and Fluentd at Wish
Real Time Data Analytics with MongoDB and Fluentd at WishMongoDB
 
Joins and Other MongoDB 3.2 Aggregation Enhancements
Joins and Other MongoDB 3.2 Aggregation EnhancementsJoins and Other MongoDB 3.2 Aggregation Enhancements
Joins and Other MongoDB 3.2 Aggregation EnhancementsAndrew Morgan
 
Eko10 - Security Monitoring for Big Infrastructures without a Million Dollar ...
Eko10 - Security Monitoring for Big Infrastructures without a Million Dollar ...Eko10 - Security Monitoring for Big Infrastructures without a Million Dollar ...
Eko10 - Security Monitoring for Big Infrastructures without a Million Dollar ...Hernan Costante
 
Webinar: Schema Patterns and Your Storage Engine
Webinar: Schema Patterns and Your Storage EngineWebinar: Schema Patterns and Your Storage Engine
Webinar: Schema Patterns and Your Storage EngineMongoDB
 
Agility and Scalability with MongoDB
Agility and Scalability with MongoDBAgility and Scalability with MongoDB
Agility and Scalability with MongoDBMongoDB
 
Meetup Google BigQuery powered by ai
Meetup Google BigQuery powered by aiMeetup Google BigQuery powered by ai
Meetup Google BigQuery powered by aiIdo Volff
 
Always On: Building Highly Available Applications on Cassandra
Always On: Building Highly Available Applications on CassandraAlways On: Building Highly Available Applications on Cassandra
Always On: Building Highly Available Applications on CassandraRobbie Strickland
 

What's hot (20)

Webinar: Managing Real Time Risk Analytics with MongoDB
Webinar: Managing Real Time Risk Analytics with MongoDB Webinar: Managing Real Time Risk Analytics with MongoDB
Webinar: Managing Real Time Risk Analytics with MongoDB
 
Scalable Event Processing with WSO2CEP @ WSO2Con2015eu
Scalable Event Processing with WSO2CEP @  WSO2Con2015euScalable Event Processing with WSO2CEP @  WSO2Con2015eu
Scalable Event Processing with WSO2CEP @ WSO2Con2015eu
 
MongoDB Tick Data Presentation
MongoDB Tick Data PresentationMongoDB Tick Data Presentation
MongoDB Tick Data Presentation
 
MongoDB for Time Series Data Part 1: Setting the Stage for Sensor Management
MongoDB for Time Series Data Part 1: Setting the Stage for Sensor ManagementMongoDB for Time Series Data Part 1: Setting the Stage for Sensor Management
MongoDB for Time Series Data Part 1: Setting the Stage for Sensor Management
 
Using MongoDB As a Tick Database
Using MongoDB As a Tick DatabaseUsing MongoDB As a Tick Database
Using MongoDB As a Tick Database
 
Azure DocumentDB Overview
Azure DocumentDB OverviewAzure DocumentDB Overview
Azure DocumentDB Overview
 
[PASS Summit 2016] Blazing Fast, Planet-Scale Customer Scenarios with Azure D...
[PASS Summit 2016] Blazing Fast, Planet-Scale Customer Scenarios with Azure D...[PASS Summit 2016] Blazing Fast, Planet-Scale Customer Scenarios with Azure D...
[PASS Summit 2016] Blazing Fast, Planet-Scale Customer Scenarios with Azure D...
 
Azure DocumentDB: Advanced Features for Large Scale-Apps
Azure DocumentDB: Advanced Features for Large Scale-AppsAzure DocumentDB: Advanced Features for Large Scale-Apps
Azure DocumentDB: Advanced Features for Large Scale-Apps
 
Webinar: How Banks Use MongoDB as a Tick Database
Webinar: How Banks Use MongoDB as a Tick DatabaseWebinar: How Banks Use MongoDB as a Tick Database
Webinar: How Banks Use MongoDB as a Tick Database
 
Google Cloud Spanner Preview
Google Cloud Spanner PreviewGoogle Cloud Spanner Preview
Google Cloud Spanner Preview
 
Webinar: Choosing the Right Shard Key for High Performance and Scale
Webinar: Choosing the Right Shard Key for High Performance and ScaleWebinar: Choosing the Right Shard Key for High Performance and Scale
Webinar: Choosing the Right Shard Key for High Performance and Scale
 
Python and MongoDB as a Market Data Platform by James Blackburn
Python and MongoDB as a Market Data Platform by James BlackburnPython and MongoDB as a Market Data Platform by James Blackburn
Python and MongoDB as a Market Data Platform by James Blackburn
 
HBaseCon 2015: HBase @ CyberAgent
HBaseCon 2015: HBase @ CyberAgentHBaseCon 2015: HBase @ CyberAgent
HBaseCon 2015: HBase @ CyberAgent
 
Real Time Data Analytics with MongoDB and Fluentd at Wish
Real Time Data Analytics with MongoDB and Fluentd at WishReal Time Data Analytics with MongoDB and Fluentd at Wish
Real Time Data Analytics with MongoDB and Fluentd at Wish
 
Joins and Other MongoDB 3.2 Aggregation Enhancements
Joins and Other MongoDB 3.2 Aggregation EnhancementsJoins and Other MongoDB 3.2 Aggregation Enhancements
Joins and Other MongoDB 3.2 Aggregation Enhancements
 
Eko10 - Security Monitoring for Big Infrastructures without a Million Dollar ...
Eko10 - Security Monitoring for Big Infrastructures without a Million Dollar ...Eko10 - Security Monitoring for Big Infrastructures without a Million Dollar ...
Eko10 - Security Monitoring for Big Infrastructures without a Million Dollar ...
 
Webinar: Schema Patterns and Your Storage Engine
Webinar: Schema Patterns and Your Storage EngineWebinar: Schema Patterns and Your Storage Engine
Webinar: Schema Patterns and Your Storage Engine
 
Agility and Scalability with MongoDB
Agility and Scalability with MongoDBAgility and Scalability with MongoDB
Agility and Scalability with MongoDB
 
Meetup Google BigQuery powered by ai
Meetup Google BigQuery powered by aiMeetup Google BigQuery powered by ai
Meetup Google BigQuery powered by ai
 
Always On: Building Highly Available Applications on Cassandra
Always On: Building Highly Available Applications on CassandraAlways On: Building Highly Available Applications on Cassandra
Always On: Building Highly Available Applications on Cassandra
 

Similar to Intelligent integration with WSO2 ESB & WSO2 CEP

Recipes for a successful production cloudfoundry deployment - CF Summit 2014
Recipes for a successful production cloudfoundry deployment - CF Summit 2014Recipes for a successful production cloudfoundry deployment - CF Summit 2014
Recipes for a successful production cloudfoundry deployment - CF Summit 2014Vinícius Carvalho
 
Cloud Foundry Cookbook: Recipes for a Successful Cloud Foundry Deployment in ...
Cloud Foundry Cookbook: Recipes for a Successful Cloud Foundry Deployment in ...Cloud Foundry Cookbook: Recipes for a Successful Cloud Foundry Deployment in ...
Cloud Foundry Cookbook: Recipes for a Successful Cloud Foundry Deployment in ...VMware Tanzu
 
[WSO2Con Asia 2018] Patterns for Building Streaming Apps
[WSO2Con Asia 2018] Patterns for Building Streaming Apps[WSO2Con Asia 2018] Patterns for Building Streaming Apps
[WSO2Con Asia 2018] Patterns for Building Streaming AppsWSO2
 
Introducing MongoDB Stitch, Backend-as-a-Service from MongoDB
Introducing MongoDB Stitch, Backend-as-a-Service from MongoDBIntroducing MongoDB Stitch, Backend-as-a-Service from MongoDB
Introducing MongoDB Stitch, Backend-as-a-Service from MongoDBMongoDB
 
Micro-service architectures with Gilmour
Micro-service architectures with GilmourMicro-service architectures with Gilmour
Micro-service architectures with GilmourAditya Godbole
 
MongoDB Stich Overview
MongoDB Stich OverviewMongoDB Stich Overview
MongoDB Stich OverviewMongoDB
 
ConnectPath Introduction
ConnectPath IntroductionConnectPath Introduction
ConnectPath IntroductionCloudHesive
 
Building Secure User Interfaces With JWTs (JSON Web Tokens)
Building Secure User Interfaces With JWTs (JSON Web Tokens)Building Secure User Interfaces With JWTs (JSON Web Tokens)
Building Secure User Interfaces With JWTs (JSON Web Tokens)Stormpath
 
Medium TechTalk — iOS
Medium TechTalk — iOSMedium TechTalk — iOS
Medium TechTalk — iOSjimmyatmedium
 
Token Authentication for Java Applications
Token Authentication for Java ApplicationsToken Authentication for Java Applications
Token Authentication for Java ApplicationsStormpath
 
Securing Web Applications with Token Authentication
Securing Web Applications with Token AuthenticationSecuring Web Applications with Token Authentication
Securing Web Applications with Token AuthenticationStormpath
 
Complex Event Processor 3.0.0 - An overview of upcoming features
Complex Event Processor 3.0.0 - An overview of upcoming features Complex Event Processor 3.0.0 - An overview of upcoming features
Complex Event Processor 3.0.0 - An overview of upcoming features WSO2
 
[WSO2Con EU 2017] Streaming Analytics Patterns for Your Digital Enterprise
[WSO2Con EU 2017] Streaming Analytics Patterns for Your Digital Enterprise[WSO2Con EU 2017] Streaming Analytics Patterns for Your Digital Enterprise
[WSO2Con EU 2017] Streaming Analytics Patterns for Your Digital EnterpriseWSO2
 
WSO2Con USA 2017: Analytics Patterns for Your Digital Enterprise
WSO2Con USA 2017: Analytics Patterns for Your Digital EnterpriseWSO2Con USA 2017: Analytics Patterns for Your Digital Enterprise
WSO2Con USA 2017: Analytics Patterns for Your Digital EnterpriseWSO2
 
Analytics Patterns for Your Digital Enterprise
Analytics Patterns for Your Digital EnterpriseAnalytics Patterns for Your Digital Enterprise
Analytics Patterns for Your Digital EnterpriseSriskandarajah Suhothayan
 
5 Years Of Building SaaS On AWS
5 Years Of Building SaaS On AWS5 Years Of Building SaaS On AWS
5 Years Of Building SaaS On AWSChristian Beedgen
 
Exploring Contact Lens and Amazon Connect
Exploring Contact Lens and Amazon ConnectExploring Contact Lens and Amazon Connect
Exploring Contact Lens and Amazon ConnectCloudHesive
 
Introduction To WS-Policy
Introduction To WS-PolicyIntroduction To WS-Policy
Introduction To WS-PolicyHayati Guvence
 
Measuring 2.0 - How to handle 100K events/sec - Berlin Buzzwords 2019
Measuring 2.0 - How to handle 100K events/sec - Berlin Buzzwords 2019Measuring 2.0 - How to handle 100K events/sec - Berlin Buzzwords 2019
Measuring 2.0 - How to handle 100K events/sec - Berlin Buzzwords 2019Niels Basjes
 
WSO2 Analytics Platform - The one stop shop for all your data needs
WSO2 Analytics Platform - The one stop shop for all your data needsWSO2 Analytics Platform - The one stop shop for all your data needs
WSO2 Analytics Platform - The one stop shop for all your data needsSriskandarajah Suhothayan
 

Similar to Intelligent integration with WSO2 ESB & WSO2 CEP (20)

Recipes for a successful production cloudfoundry deployment - CF Summit 2014
Recipes for a successful production cloudfoundry deployment - CF Summit 2014Recipes for a successful production cloudfoundry deployment - CF Summit 2014
Recipes for a successful production cloudfoundry deployment - CF Summit 2014
 
Cloud Foundry Cookbook: Recipes for a Successful Cloud Foundry Deployment in ...
Cloud Foundry Cookbook: Recipes for a Successful Cloud Foundry Deployment in ...Cloud Foundry Cookbook: Recipes for a Successful Cloud Foundry Deployment in ...
Cloud Foundry Cookbook: Recipes for a Successful Cloud Foundry Deployment in ...
 
[WSO2Con Asia 2018] Patterns for Building Streaming Apps
[WSO2Con Asia 2018] Patterns for Building Streaming Apps[WSO2Con Asia 2018] Patterns for Building Streaming Apps
[WSO2Con Asia 2018] Patterns for Building Streaming Apps
 
Introducing MongoDB Stitch, Backend-as-a-Service from MongoDB
Introducing MongoDB Stitch, Backend-as-a-Service from MongoDBIntroducing MongoDB Stitch, Backend-as-a-Service from MongoDB
Introducing MongoDB Stitch, Backend-as-a-Service from MongoDB
 
Micro-service architectures with Gilmour
Micro-service architectures with GilmourMicro-service architectures with Gilmour
Micro-service architectures with Gilmour
 
MongoDB Stich Overview
MongoDB Stich OverviewMongoDB Stich Overview
MongoDB Stich Overview
 
ConnectPath Introduction
ConnectPath IntroductionConnectPath Introduction
ConnectPath Introduction
 
Building Secure User Interfaces With JWTs (JSON Web Tokens)
Building Secure User Interfaces With JWTs (JSON Web Tokens)Building Secure User Interfaces With JWTs (JSON Web Tokens)
Building Secure User Interfaces With JWTs (JSON Web Tokens)
 
Medium TechTalk — iOS
Medium TechTalk — iOSMedium TechTalk — iOS
Medium TechTalk — iOS
 
Token Authentication for Java Applications
Token Authentication for Java ApplicationsToken Authentication for Java Applications
Token Authentication for Java Applications
 
Securing Web Applications with Token Authentication
Securing Web Applications with Token AuthenticationSecuring Web Applications with Token Authentication
Securing Web Applications with Token Authentication
 
Complex Event Processor 3.0.0 - An overview of upcoming features
Complex Event Processor 3.0.0 - An overview of upcoming features Complex Event Processor 3.0.0 - An overview of upcoming features
Complex Event Processor 3.0.0 - An overview of upcoming features
 
[WSO2Con EU 2017] Streaming Analytics Patterns for Your Digital Enterprise
[WSO2Con EU 2017] Streaming Analytics Patterns for Your Digital Enterprise[WSO2Con EU 2017] Streaming Analytics Patterns for Your Digital Enterprise
[WSO2Con EU 2017] Streaming Analytics Patterns for Your Digital Enterprise
 
WSO2Con USA 2017: Analytics Patterns for Your Digital Enterprise
WSO2Con USA 2017: Analytics Patterns for Your Digital EnterpriseWSO2Con USA 2017: Analytics Patterns for Your Digital Enterprise
WSO2Con USA 2017: Analytics Patterns for Your Digital Enterprise
 
Analytics Patterns for Your Digital Enterprise
Analytics Patterns for Your Digital EnterpriseAnalytics Patterns for Your Digital Enterprise
Analytics Patterns for Your Digital Enterprise
 
5 Years Of Building SaaS On AWS
5 Years Of Building SaaS On AWS5 Years Of Building SaaS On AWS
5 Years Of Building SaaS On AWS
 
Exploring Contact Lens and Amazon Connect
Exploring Contact Lens and Amazon ConnectExploring Contact Lens and Amazon Connect
Exploring Contact Lens and Amazon Connect
 
Introduction To WS-Policy
Introduction To WS-PolicyIntroduction To WS-Policy
Introduction To WS-Policy
 
Measuring 2.0 - How to handle 100K events/sec - Berlin Buzzwords 2019
Measuring 2.0 - How to handle 100K events/sec - Berlin Buzzwords 2019Measuring 2.0 - How to handle 100K events/sec - Berlin Buzzwords 2019
Measuring 2.0 - How to handle 100K events/sec - Berlin Buzzwords 2019
 
WSO2 Analytics Platform - The one stop shop for all your data needs
WSO2 Analytics Platform - The one stop shop for all your data needsWSO2 Analytics Platform - The one stop shop for all your data needs
WSO2 Analytics Platform - The one stop shop for all your data needs
 

More from Sriskandarajah Suhothayan

More from Sriskandarajah Suhothayan (8)

Patterns for Deploying Analytics in the Real World
Patterns for Deploying Analytics in the Real WorldPatterns for Deploying Analytics in the Real World
Patterns for Deploying Analytics in the Real World
 
Sensing the world with Data of Things
Sensing the world with Data of ThingsSensing the world with Data of Things
Sensing the world with Data of Things
 
Sensing the world with data of things
Sensing the world with  data of thingsSensing the world with  data of things
Sensing the world with data of things
 
An introduction to the WSO2 Analytics Platform
An introduction to the WSO2 Analytics Platform   An introduction to the WSO2 Analytics Platform
An introduction to the WSO2 Analytics Platform
 
DEBS 2015 Tutorial : Patterns for Realtime Streaming Analytics
DEBS 2015 Tutorial : Patterns for Realtime Streaming AnalyticsDEBS 2015 Tutorial : Patterns for Realtime Streaming Analytics
DEBS 2015 Tutorial : Patterns for Realtime Streaming Analytics
 
Gather those events : Instrumenting everything for analysis
Gather those events : Instrumenting everything for analysisGather those events : Instrumenting everything for analysis
Gather those events : Instrumenting everything for analysis
 
WSO2 Complex Event Processor
WSO2 Complex Event ProcessorWSO2 Complex Event Processor
WSO2 Complex Event Processor
 
Manen Ant SVN
Manen Ant SVNManen Ant SVN
Manen Ant SVN
 

Recently uploaded

April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysismanisha194592
 
Ukraine War presentation: KNOW THE BASICS
Ukraine War presentation: KNOW THE BASICSUkraine War presentation: KNOW THE BASICS
Ukraine War presentation: KNOW THE BASICSAishani27
 
Unveiling Insights: The Role of a Data Analyst
Unveiling Insights: The Role of a Data AnalystUnveiling Insights: The Role of a Data Analyst
Unveiling Insights: The Role of a Data AnalystSamantha Rae Coolbeth
 
CebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxCebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxolyaivanovalion
 
Log Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptxLog Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptxJohnnyPlasten
 
100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptxAnupama Kate
 
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...Suhani Kapoor
 
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Delhi Call girls
 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxolyaivanovalion
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxolyaivanovalion
 
定制英国白金汉大学毕业证(UCB毕业证书) 成绩单原版一比一
定制英国白金汉大学毕业证(UCB毕业证书)																			成绩单原版一比一定制英国白金汉大学毕业证(UCB毕业证书)																			成绩单原版一比一
定制英国白金汉大学毕业证(UCB毕业证书) 成绩单原版一比一ffjhghh
 
Data-Analysis for Chicago Crime Data 2023
Data-Analysis for Chicago Crime Data  2023Data-Analysis for Chicago Crime Data  2023
Data-Analysis for Chicago Crime Data 2023ymrp368
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxolyaivanovalion
 
Invezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz1
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Halmar dropshipping via API with DroFx
Halmar  dropshipping  via API with DroFxHalmar  dropshipping  via API with DroFx
Halmar dropshipping via API with DroFxolyaivanovalion
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfLars Albertsson
 

Recently uploaded (20)

April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysis
 
Ukraine War presentation: KNOW THE BASICS
Ukraine War presentation: KNOW THE BASICSUkraine War presentation: KNOW THE BASICS
Ukraine War presentation: KNOW THE BASICS
 
Unveiling Insights: The Role of a Data Analyst
Unveiling Insights: The Role of a Data AnalystUnveiling Insights: The Role of a Data Analyst
Unveiling Insights: The Role of a Data Analyst
 
CebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxCebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptx
 
Log Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptxLog Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptx
 
100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx
 
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
 
Sampling (random) method and Non random.ppt
Sampling (random) method and Non random.pptSampling (random) method and Non random.ppt
Sampling (random) method and Non random.ppt
 
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
 
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
 
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFx
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptx
 
定制英国白金汉大学毕业证(UCB毕业证书) 成绩单原版一比一
定制英国白金汉大学毕业证(UCB毕业证书)																			成绩单原版一比一定制英国白金汉大学毕业证(UCB毕业证书)																			成绩单原版一比一
定制英国白金汉大学毕业证(UCB毕业证书) 成绩单原版一比一
 
Data-Analysis for Chicago Crime Data 2023
Data-Analysis for Chicago Crime Data  2023Data-Analysis for Chicago Crime Data  2023
Data-Analysis for Chicago Crime Data 2023
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFx
 
Invezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signals
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Halmar dropshipping via API with DroFx
Halmar  dropshipping  via API with DroFxHalmar  dropshipping  via API with DroFx
Halmar dropshipping via API with DroFx
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdf
 

Intelligent integration with WSO2 ESB & WSO2 CEP

  • 1. Intelligent  Integration     with  WSO2  ESB  and  WSO2  CEP Sriskandarajah  Suhothayan  (Suho) Technical  Lead   WSO2  Inc.              
  • 5. Connected  Business  ! To identity threats & opportunities
  • 6. What  to  integrate  ? In the line of Connected Business there will be many software systems • Enterprise Resource Planning systems (ERP) • Management Information Systems (MIS) • Decision Support Systems (DSS) • Data stores • Legacy systems
  • 7. Issues  in  integration But integrating a multitude of complex software applications is not an easy task … • Disparate Systems, Services, Protocols • Diverse and dynamic business requirements • No single vendor/solution • On premise/Cloud solutions • Different QoS requirements • Not everyone adhere to standards
  • 8. How  could  we  integrate  ?
  • 9. How  could  we  integrate  ? Point to point connections ?
  • 10. How  could  we  integrate  ?
  • 11. How  could  we  integrate  ?
  • 12. • Scalability, maintainability, troubleshooting nightmares. How  could  we  integrate  ?
  • 15. Integration  Platform  Contains  … • WSO2 ESB – Connects anything with every thing • WSO2 DSS, WSO2 GReg – Expose data as a service, Repository and governance • WSO2 MB – Guaranteed messaging • WSO2 IS – Security, SSO, Role based access control
  • 19. The  Prevention  …  ? • Monitor ! • Monitor ! • Monitor !
  • 20. The  next  mile  ...  ! Monitor and … • Take reactive action • Predict future & take preventive measures • Auto recovery at failure • Optimum resource utilisation • Ensure security & QoS • Alerts
  • 21. Is  it  working  as  expected  ? • The load of the system
  • 22. ! It can be The  solution  should  be • A realtime system • Capable of processing data on the fly • Notify alerts in various forms • Enable enterprise integration
  • 23. What  is                                                                                ?
  • 24. How  ESB  integrates  with  CEP?
  • 25. How  CEP  integrates  with  ESB?
  • 26. Patterns   • Monitoring Proxy service/API : QoS (E.g Response time) • In Message Store & forward : Managing the Queue • Monitoring Routing : Scaling, Throttling, Blacklisting
  • 27. Monitoring  QoS  on  Proxy  Services  &  APIs   Monitoring response time
  • 28. define stream ResponseTimeStream ( ! ! arrivalTime long, departureTime long, ! ! correlationID string, serviceID string, … ) ;! ! from ResponseTimeStream! ! [departureTime - arrivalTime > 2 min]! select correlationID, serviceID! insert into NotificationStream ; Monitoring  QoS  on  Proxy  Services  &  APIs  
  • 29. Tuning  Message  Store  and  Forward   • Monitoring the Message Queue
  • 30. Tuning  Message  Store  and  Forward   define stream QueueStatStream ( queueID string, size long ) ;! ! define partition QueuePartition QueueStatStream.queueID;! ! from a1 = QueueStatStream, ! a2 = QueueStatStream[size >a1. size]+! within 2 min! select a1. queueID as queueID, ! ! a1. size as firstSize,! ! a2[last]. size as lastSize! insert into AdjustForwardingProcessStream! partition by QueuePartition;
  • 31. Monitoring  ESB  routing  and  Scaling
  • 32. Monitoring  ESB  routing  and  Scaling define stream RequestStream ( ! ! ! correlationID string, serviceID string, ! ! endpointID string, … ) ;! ! from RequestStream! select count(correlationID) as requestCount, ! ! serviceID, true as scaleUp! group by endpointID! having up requestCount > 90! insert into ScaleUpStream ;
  • 35. Throttling  &  Blacklisting  users define stream RequestStream ( correlationID string, serviceID string, ! ! ! userID string, tear string, requestTime long, … ) ;! ! define table BlacklistedUserTable(userID string,! ! ! ! ! time long,requestCount long); !
  • 36. Throttling  &  Blacklisting  users define stream RequestStream ( correlationID string, serviceID string, ! ! ! userID string, tear string, requestTime long, … ) ;! ! define table BlacklistedUserTable(userID string,! ! ! ! ! time long,requestCount long); ! ! from RequestStream[tear==‘BRONZE’]#window.time(1 min)! select userID, requestTime as time, ! ! count(correlationID) as requestCount! group by userID! having up requestCount > 5! insert into BlacklistedUserTable ;! !
  • 37. Throttling  &  Blacklisting  users define stream RequestStream ( correlationID string, serviceID string, ! ! ! userID string, tear string, requestTime long, … ) ;! ! define table BlacklistedUserTable(userID string,! ! ! ! ! time long,requestCount long); ! ! from RequestStream[tear==‘BRONZE’]#window.time(1 min)! select userID, requestTime as time, ! ! count(correlationID) as requestCount! group by userID! having up requestCount > 5! insert into BlacklistedUserTable ;! ! from RequestStream[not(userID in BlacklistedUserTable. userID)] ! select *! insert into ApprovedRequestStream ;
  • 38. Patterns   • Monitoring Proxy service/API : QoS (E.g Response time) • In Message Store & forward : Managing the Queue • Monitoring Routing : Scaling, Throttling, Blacklisting ! • In Load balancing : Fix out of order arrivals • Rules : Temporal
  • 39. Patterns   • Monitoring Proxy service/API : QoS (E.g Response time) • In Message Store & forward : Managing the Queue • Monitoring Routing : Scaling, Throttling, Blacklisting ! • In Load balancing : Fix out of order arrivals • Rules : Temporal ! • For Business Decisions : KPIs, Usage patterns, 
 Waiting for the right time.. to trigger • Monitoring for Security : Detect Attacks, Credit card fraud, 
 Login patterns, Blacklisting
  • 40. Waiting  for  the  right  time  …  to  pull  trigger
  • 41. Waiting  for  the  right  time  …  to  pull  trigger define stream StockOrderRequest ( symbol string, ! ! ! ! ! action string ) ;! define stream StockStream ( symbol string, price double, … ) ;! ! define partition Stocks StockStream.symbol, ! ! ! ! ! ! StockOrderRequest.symbol ;! ! from a1 = StockOrderRequest[action==‘buy’],! ! b1 = StockStream[price<a1.price]+,! ! b2 = StockStream[price>b1.price]! select a1.symbol as symbol, ! ! b1[0].price as firstPrice, ! ! b2.price as orderPrice! insert into PurchaseOrder;! partition by Stocks
  • 42. Fixing  Security  Vulnerabilities   • Identify Dos attacks • Analyse login patterns • Detect credit card fraud • Blacklisting
  • 44. Fixing  Security  Vulnerabilities   define stream PasswordChangeStream (userId string, time long); ! ! define stream TransactionStream (userId string, ! amount double, … ); ! ! from every (a1 = PasswordChangeStream) -> ! a2 = TransactionStream[amount >10000] ! within 1 hour! select a1.userId as userId, a2. amount as amount! insert into PotentialFraud ;
  • 45. ! Better three hours too soon, than one minute too late. ! ! ! William Shakespeare
  • 46. Thank  You                Questions ?