SlideShare una empresa de Scribd logo
1 de 46
Descargar para leer sin conexión
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 ?

Más contenido relacionado

La actualidad más candente

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
 

La actualidad más candente (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 a 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 a 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
 

Más de Sriskandarajah Suhothayan

Más de 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
 

Último

Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...nirzagarg
 
Gomti Nagar & best call girls in Lucknow | 9548273370 Independent Escorts & D...
Gomti Nagar & best call girls in Lucknow | 9548273370 Independent Escorts & D...Gomti Nagar & best call girls in Lucknow | 9548273370 Independent Escorts & D...
Gomti Nagar & best call girls in Lucknow | 9548273370 Independent Escorts & D...HyderabadDolls
 
TrafficWave Generator Will Instantly drive targeted and engaging traffic back...
TrafficWave Generator Will Instantly drive targeted and engaging traffic back...TrafficWave Generator Will Instantly drive targeted and engaging traffic back...
TrafficWave Generator Will Instantly drive targeted and engaging traffic back...SOFTTECHHUB
 
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Valters Lauzums
 
Discover Why Less is More in B2B Research
Discover Why Less is More in B2B ResearchDiscover Why Less is More in B2B Research
Discover Why Less is More in B2B Researchmichael115558
 
Dubai Call Girls Peeing O525547819 Call Girls Dubai
Dubai Call Girls Peeing O525547819 Call Girls DubaiDubai Call Girls Peeing O525547819 Call Girls Dubai
Dubai Call Girls Peeing O525547819 Call Girls Dubaikojalkojal131
 
Statistics notes ,it includes mean to index numbers
Statistics notes ,it includes mean to index numbersStatistics notes ,it includes mean to index numbers
Statistics notes ,it includes mean to index numberssuginr1
 
怎样办理圣地亚哥州立大学毕业证(SDSU毕业证书)成绩单学校原版复制
怎样办理圣地亚哥州立大学毕业证(SDSU毕业证书)成绩单学校原版复制怎样办理圣地亚哥州立大学毕业证(SDSU毕业证书)成绩单学校原版复制
怎样办理圣地亚哥州立大学毕业证(SDSU毕业证书)成绩单学校原版复制vexqp
 
Nirala Nagar / Cheap Call Girls In Lucknow Phone No 9548273370 Elite Escort S...
Nirala Nagar / Cheap Call Girls In Lucknow Phone No 9548273370 Elite Escort S...Nirala Nagar / Cheap Call Girls In Lucknow Phone No 9548273370 Elite Escort S...
Nirala Nagar / Cheap Call Girls In Lucknow Phone No 9548273370 Elite Escort S...HyderabadDolls
 
Aspirational Block Program Block Syaldey District - Almora
Aspirational Block Program Block Syaldey District - AlmoraAspirational Block Program Block Syaldey District - Almora
Aspirational Block Program Block Syaldey District - AlmoraGovindSinghDasila
 
Top profile Call Girls In Satna [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Satna [ 7014168258 ] Call Me For Genuine Models We ...Top profile Call Girls In Satna [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Satna [ 7014168258 ] Call Me For Genuine Models We ...nirzagarg
 
Gartner's Data Analytics Maturity Model.pptx
Gartner's Data Analytics Maturity Model.pptxGartner's Data Analytics Maturity Model.pptx
Gartner's Data Analytics Maturity Model.pptxchadhar227
 
Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...gajnagarg
 
Computer science Sql cheat sheet.pdf.pdf
Computer science Sql cheat sheet.pdf.pdfComputer science Sql cheat sheet.pdf.pdf
Computer science Sql cheat sheet.pdf.pdfSayantanBiswas37
 
+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...
+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...
+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...Health
 
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...nirzagarg
 
Sealdah % High Class Call Girls Kolkata - 450+ Call Girl Cash Payment 8005736...
Sealdah % High Class Call Girls Kolkata - 450+ Call Girl Cash Payment 8005736...Sealdah % High Class Call Girls Kolkata - 450+ Call Girl Cash Payment 8005736...
Sealdah % High Class Call Girls Kolkata - 450+ Call Girl Cash Payment 8005736...HyderabadDolls
 
Reconciling Conflicting Data Curation Actions: Transparency Through Argument...
Reconciling Conflicting Data Curation Actions:  Transparency Through Argument...Reconciling Conflicting Data Curation Actions:  Transparency Through Argument...
Reconciling Conflicting Data Curation Actions: Transparency Through Argument...Bertram Ludäscher
 
Vadodara 💋 Call Girl 7737669865 Call Girls in Vadodara Escort service book now
Vadodara 💋 Call Girl 7737669865 Call Girls in Vadodara Escort service book nowVadodara 💋 Call Girl 7737669865 Call Girls in Vadodara Escort service book now
Vadodara 💋 Call Girl 7737669865 Call Girls in Vadodara Escort service book nowgargpaaro
 

Último (20)

Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In Begusarai [ 7014168258 ] Call Me For Genuine Models...
 
Gomti Nagar & best call girls in Lucknow | 9548273370 Independent Escorts & D...
Gomti Nagar & best call girls in Lucknow | 9548273370 Independent Escorts & D...Gomti Nagar & best call girls in Lucknow | 9548273370 Independent Escorts & D...
Gomti Nagar & best call girls in Lucknow | 9548273370 Independent Escorts & D...
 
TrafficWave Generator Will Instantly drive targeted and engaging traffic back...
TrafficWave Generator Will Instantly drive targeted and engaging traffic back...TrafficWave Generator Will Instantly drive targeted and engaging traffic back...
TrafficWave Generator Will Instantly drive targeted and engaging traffic back...
 
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
 
Discover Why Less is More in B2B Research
Discover Why Less is More in B2B ResearchDiscover Why Less is More in B2B Research
Discover Why Less is More in B2B Research
 
Dubai Call Girls Peeing O525547819 Call Girls Dubai
Dubai Call Girls Peeing O525547819 Call Girls DubaiDubai Call Girls Peeing O525547819 Call Girls Dubai
Dubai Call Girls Peeing O525547819 Call Girls Dubai
 
Statistics notes ,it includes mean to index numbers
Statistics notes ,it includes mean to index numbersStatistics notes ,it includes mean to index numbers
Statistics notes ,it includes mean to index numbers
 
怎样办理圣地亚哥州立大学毕业证(SDSU毕业证书)成绩单学校原版复制
怎样办理圣地亚哥州立大学毕业证(SDSU毕业证书)成绩单学校原版复制怎样办理圣地亚哥州立大学毕业证(SDSU毕业证书)成绩单学校原版复制
怎样办理圣地亚哥州立大学毕业证(SDSU毕业证书)成绩单学校原版复制
 
Nirala Nagar / Cheap Call Girls In Lucknow Phone No 9548273370 Elite Escort S...
Nirala Nagar / Cheap Call Girls In Lucknow Phone No 9548273370 Elite Escort S...Nirala Nagar / Cheap Call Girls In Lucknow Phone No 9548273370 Elite Escort S...
Nirala Nagar / Cheap Call Girls In Lucknow Phone No 9548273370 Elite Escort S...
 
Aspirational Block Program Block Syaldey District - Almora
Aspirational Block Program Block Syaldey District - AlmoraAspirational Block Program Block Syaldey District - Almora
Aspirational Block Program Block Syaldey District - Almora
 
Top profile Call Girls In Satna [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Satna [ 7014168258 ] Call Me For Genuine Models We ...Top profile Call Girls In Satna [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Satna [ 7014168258 ] Call Me For Genuine Models We ...
 
Gartner's Data Analytics Maturity Model.pptx
Gartner's Data Analytics Maturity Model.pptxGartner's Data Analytics Maturity Model.pptx
Gartner's Data Analytics Maturity Model.pptx
 
Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...
 
Computer science Sql cheat sheet.pdf.pdf
Computer science Sql cheat sheet.pdf.pdfComputer science Sql cheat sheet.pdf.pdf
Computer science Sql cheat sheet.pdf.pdf
 
+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...
+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...
+97470301568>>weed for sale in qatar ,weed for sale in dubai,weed for sale in...
 
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Tumkur [ 7014168258 ] Call Me For Genuine Models We...
 
Abortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get CytotecAbortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get Cytotec
 
Sealdah % High Class Call Girls Kolkata - 450+ Call Girl Cash Payment 8005736...
Sealdah % High Class Call Girls Kolkata - 450+ Call Girl Cash Payment 8005736...Sealdah % High Class Call Girls Kolkata - 450+ Call Girl Cash Payment 8005736...
Sealdah % High Class Call Girls Kolkata - 450+ Call Girl Cash Payment 8005736...
 
Reconciling Conflicting Data Curation Actions: Transparency Through Argument...
Reconciling Conflicting Data Curation Actions:  Transparency Through Argument...Reconciling Conflicting Data Curation Actions:  Transparency Through Argument...
Reconciling Conflicting Data Curation Actions: Transparency Through Argument...
 
Vadodara 💋 Call Girl 7737669865 Call Girls in Vadodara Escort service book now
Vadodara 💋 Call Girl 7737669865 Call Girls in Vadodara Escort service book nowVadodara 💋 Call Girl 7737669865 Call Girls in Vadodara Escort service book now
Vadodara 💋 Call Girl 7737669865 Call Girls in Vadodara Escort service book now
 

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 ?