Wso2 con 2014 event driven architecture Publish/Subscribe Pubsub
1. Event Driven Reference Architecture
October 28, 2014
John Mathon
VP, Enterprise Product Strategy and Evangelism
Twitter:@john_mathon blog: CloudRamblings
2. Origin - I was building one of the first distributed
network computers
“How do you share information between users and applications in a networked world?”
Platform 1.0 Platform 2.0
3. Publish/Subscribe Dream
Joe Exchange Mary Clearing Frank
This was the answer and we started TIBCO
Subject
Filter
Subject
Filter
Subject
Filter
Subject
Filter
Subject
Filter
4. Advantages of Publish/Subscribe
Event Driven Programming
• Everything becomes dynamic and easier to change
• Much faster when more than one subscriber
• Simplified Programming
private void sendGetRequest(Dart.Snmp.ManagerSlave slave, object state)
{ try { GetMessage request
= new GetMessage(); request.Community
= "public"; request.Version
= SnmpVersion.One; request.Variables.Add(state as Variable); Re
sponseMessage response = slave.GetResponse(request,
myAgentAddress); manager1.Marshal(new ResponseMessage[] {
response
}, "", null); } catch (Exception ex) { manager1.Marshal(ex); }}
subscribe(“snmp.george”, &handle_snmp)
5. BO
Port
Risk
Trading
Pricing
Reconcile
TIBCO grew to 300 million
Dollars in 10 years with this
Simple message:
Get on the Bus
7. This Architecture is a lot easier to change
AppC
AppB
AppA
ServerA
ServerB
ServerC
8. My dream: What if the cloud was Publish/Subscribe?
Web Site
A
The Cloud
Search A
Traffic
Data
GPS info
Yelp Mapping
9. Alternative EDA – Google - Polling has delays
Web Site
A
The Cloud
Search
Indexed Site A
For Google it can still be a month before you are indexed
10. The Common EDA Pattern -
Hub and Spoke
Message
Broker
ServerA
AppC
ServerB
ServerC
AppA AppB
11. EDA spurred a set of standard tools
Platform 2.0 Distributed
The
Bus
Mediation/E
SB
Activity
Monitor
Message
Broker
Business
Process Data
Pattern Detection
Complex Event Processing
Services Registry
Discovery
13. Platform 3.0
The Connected World
• Mobile – 1.5 Billion Smartphones
– 600,000 Mobile Apps
• IoT – Billions of devices
• Social – Billions of users
• APIs – 100 Billion API Calls/Minute
• Devops / PaaS – deliver new software daily
• Cloud – IaaS, PaaS, SaaS, iPaaS, CaaS, BaaS, DaaS -
$130 billion and growing fast
14. Technology is in Rapid Evolution
20,000 Public/80,000 Private APIs
100 Billion API calls/minute
Projects doubling
Every 18 months
1.5 Billion Smartphones
$100 Billion IaaS, PaaS, SaaS, iPaaS, BaaS, DaaS, …
Billions of Users
15. What is needed is a glue for NEW and OLD
technology
Social API/App
Store
API
Management
Cassandra
/Hbase/M
ongo
16. Platform 2.0
EDA Components
Mediation/ESB
Data
Services
RDB
Message
Broker
Business
Process
Complex Event Processor
Activity
Monitor
User
Experience
Gov Registry
17. Platform 3.0
+API Management, BIG Data, Cloud, Social, Mobile, Security
everywhere
Mediation/ESB +
APIs + Cloud
Adapters Social
Data
Services
RDB +
BigData
Message
Broker +
BigData
Business
Process
Complex Event Processor +
BigData
Activity
Monitor
+
SOCIAL
BIGDATA
User
Experience
IN THE
CLOUD Gov Registry
+ Social
Enterprise
Store +
Mobile Mgt
API Management
Identity Management
Paas / SaaS / DevOps
Cloud Integration
IOT
18. Case Study: Ufer Taxis
Uber User
App
Uber Driver
App
United
Airline
Mobile App
Meetup
Mobile App
Mediation/E
SB
Business
Processes
DSS to RDB
Message
Broker
Payments
Square /
Activity Zuora …
Monitor
DSS Big Data
Activity Log
API and App
Store
Driver Onboard
Driver Rating
Customer Onboard
Driver Interaction
Driver Selection
Driver Payments
Customer Payments
Avail Query
Analytics
Peak Demand Pricing
Dispute Handling
City Configuration
Reserve Service
Monitor Service
19. WSO2 “Platform 3.0” Connected Enterprise
Architecture Gives you:
WSO2 Advantage:
75 % of your service is
already written and
integrated with the latest
new technology from
BigData, Cloud, Social, APIs
• Event Driven everywhere respond instantly
• Legacy Integration and renewal
• APIs instantly, managed and scalable
• Cloud Architecture and Deployment Flexibility and Speed
• Big Data Everywhere
• Easy Integration to Social
• Export APIs
• Easy Integration to payments, social, gps
is scalable and secure
20. Exponential Value - 100 Billion API Calls/Minute
Uninteresting App if it doesn’t use the Cloud
Drone
Tesla Glucose
Waze Uber Yelp
Smartphone1
In a car
Smartphone2
In a restaurant
Medical
Monitor
Service
Smartphone4
On the street
Smartphone3
In a taxi
Monitor
GPS
Emergency
Vehicle
Search
United
Airlines
21. IoT Protocols
• MQTT
• CoAp
• Zigbee
• Z-Wave
• All these protocols implement publish / subscribe
paradigm
22. Smartphone1
outside
Smartphone2
At Home
Light
Switch
Fire Alarm
Drone
Heart
Rate
Monitor
Infrared
Detector
Light
Switch
Myo Gesture
Detector
Gas Valve
Control
In Home
IoT Hub
Heat
Control
Tile
Cloud
Publish/Subscribe coming back
In Spades in IoT
IoT: the power of Publish/Subscribe
23. About the Author
• 10 patents, publish / subscribe, multipath low latency
high reliability messaging, Content management in
file systems, peer to peer messaging over WAN…
others
• founder and CTO of TIBCO
• WSO2 Enterprise Product Strategy and Evangelism
• Twitter: @john_mathon
• Blog: CloudRamblings johnmathon.wordpress.com
24. SUMMARY
• PUBSUB instrumental in the origination of platform
2.0 and distributed EDA
• PUBSUB as relevant in the Platform 3.0 Mobile Social
Cloud API BigData IoT World
• PUBSUB is the preferred way to create the Connected
Enterprise / Connected World
• WSO2 has the broadest integrated platform 3.0
Editor's Notes
Possible missed data at Client if not polled between state changes
Reliability burden put on the client – if data is not polled before you go down
Loss of network bandwidth and cpu efficiency as many polls produce no new results
Not aware of new clients unless informed / they also have to know about you to tell you
Stateless i low cost puts the burden largely on the server
Exponential behavior as the number of servers grows
Potentially long but known latency of polling interval / staleness of data
Super glue, fast drying
Speak to slide 3
Emphasize bringing old
Immediately people saw the next steps:
Data integration – storage (DSS)
Calculation Engine / Business activity – in the financial world this was super important (BAM)
Integration (Mediation)
Visualization (Mashups and User Experience)
Complex Event Processing (CEP)
Business Processes (BPS)
Transactional semantics (MB)
Immediately people saw the next steps:
Data integration – storage (DSS)
Calculation Engine / Business activity – in the financial world this was super important (BAM)
Integration (Mediation)
Visualization (Mashups and User Experience)
Complex Event Processing (CEP)
Business Processes (BPS)
Transactional semantics (MB)
Mediation / iPaaS – handle variations on application, different interfaces and different APIs, different payment processing providers different countries
Activity monitor can monitor individual drivers as well as overall traffic and identify peak traffic scenarios
Message broker insures reliable delivery of messages
Business process makes it easy to graphically describe processes and change them