Independent of the source of data, the integration of event streams into an Enterprise Architecture gets more and more important in the world of sensors, social media streams and Internet of Things. Events have to be accepted quickly and reliably, they have to be distributed and analysed, often with many consumers or systems interested in all or part of the events. Dependent on the size and quantity of such events, this can quickly be in the range of Big Data. How can we efficiently collect and transmit these events? How can we make sure that we can always report over historical events? How can these new events be integrated into traditional infrastructure and application landscape?
Starting with a product and technology neutral reference architecture, we will then present different solutions using Open Source frameworks.
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Internet of Things - Are traditional architectures good enough?
1. BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENEVA
HAMBURG COPENHAGEN LAUSANNE MUNICH STUTTGART VIENNA ZURICH
Internet of Things (IoT)
Are traditional architectures good enough?
Guido Schmutz
2. Guido Schmutz
Working for Trivadis for more than 18 years
Oracle ACE Director for Fusion Middleware and SOA
Co-Author of different books
Consultant, Trainer Software Architect for Java, Oracle, SOA and
Big Data / Fast Data
Member of Trivadis Architecture Board
Technology Manager @ Trivadis
More than 25 years of software development experience
Contact: guido.schmutz@trivadis.com
Blog: http://guidoschmutz.wordpress.com
Twitter: gschmutz
3. Unser Unternehmen.
Trivadis ist führend bei der IT-Beratung, der Systemintegration, dem Solution
Engineering und der Erbringung von IT-Services mit Fokussierung auf - und
-Technologien in der Schweiz, Deutschland, Österreich und Dänemark. Trivadis erbringt
ihre Leistungen aus den strategischen Geschäftsfeldern:
Trivadis Services übernimmt den korrespondierenden Betrieb Ihrer IT Systeme.
B E T R I E B
7. Internet of Things Wave
Internet of Things (IoT): Enabling
communication betweendevices,people&
processesto exchangeusefulinformation &
knowledgethat create value for humans
Term was first proposedby Kevin Ashtonin
1999
The conceptof IoT first became
popularat the Auto-ID centerand MIT
IoT can also be named M2M
8. Reasons why IoT opportunity is occurring now ?
Affordable hardware
• Costs of actuators & sensors have been cut
in half over last 10 years
Smaller, but more powerful hardware
• Form factors of hardware have shrunk to
millimeter or even nanometer levels
Ubiquitous & cheap mobility
• Cost for mobile devices, bandwidth and data
processing has declined as much as 97%
over last 10 years
Availability of supporting tools
• Big data tools & cloud based infrastructure have
become widely available and fairly sophisticated
Mass market awareness
• IoT has surpassed a critical tipping point
• Vision of a connected world has reached such a
followership that companies have initiated IoT
developments
• Commitment is irreversible
10. IoT Solution Types
Thing-centric
q Things are smart on their own
q store most of their data on-board
q Things are self-sufficient and communicate to the Internet only for centralized coordination
Gateway-centric
q gateway houses the application logic, stores data and communicates with the Internet for the things
that are connected to it
q Things don’t have to be as smart, because the gateway provides these resources
11. IoT Solution Types
Smartphone-centric
q The smartphone (or any mobile device) houses the application logic, stores data and communicates
with the Internet for the things that are connected to it
q Things don’t have to be as smart, because the smartphone provides these resources
Cloud-centric
q The cloud will act as the central connection hub, power analytics and provision data storage
q Things don’t have to be as smart, because the cloud will provide these resources
Enterprise-centric
q Things are behind a firewall and are geographically co-located
q There is little need to extend out to the external Internet
13. A little story of a “real-life” customer situation
Traditional system interact with its clients
and does its work
Implemented using legacy technologies (i.e.
PL/SQL)
New requirement:
• Offer notification service to notify
customer when goods are shipped
• Subscription and inform over different
channels
• Existing technology doesn’t fit
delivery
Logistic
System
Oracle
Mobile Apps
Sensor ship
sort
16
Rich (Web)
Client Apps
DB
schedule
Logic
(PL/SQL)
delivery
14. A little story of a “real-life” customer situation
Events are “owned” by traditional
application (as well as the channels
they are transported over)
Implement notification as a new Java-based
application/system
But we need the events ! => so let’s
integrate
delivery
Logistic
System
Oracle
Mobile Apps
Sensor ship
sort
17
Rich (Web)
Client Apps
DB
schedule
Notification
Logic
(PL/SQL)
Logic
(Java)
delivery
SMS
Email
…
15. A little story of a “real-life” customer situation
integrate in order to get the information!
Oracle Service Bus was already there
Rule Engine implemented in Java and invoked from
OSB message flow
Notification system informed via queue
Higher Latency introduced (good enough in this
case)
delivery
Logistic
System
Oracle
Oracle
Service Bus
Mobile Apps
Sensor AQship
sort
18
Rich (Web)
Client Apps
DB
schedule
Filter
Notification
Logic
(PL/SQL)
JMS
Rule Engine
(Java)
Logic
(Java)
delivery
shipdelivery
delivery true SMS
Email
…
16. A little story of a “real-life” customer situation
Treat events as first-class citizens
Events belong to the “enterprise” and
not an individual system => Catalog of
Events similar to Catalog of
Services/APIs !!
Event (stream) processing can be
introduced and by that latency reduced!
delivery
Logistic
System
Oracle
Oracle
Service Bus
Mobile Apps
Sensor AQship
sort
19
Rich (Web)
Client Apps
DB
schedule
Filter
Notification
Logic
(PL/SQL)
JMS
Rule Engine
(Java)
Logic
(Java)
delivery
shipdelivery
delivery true SMS
Email
…
17. Treat Events as Events and make them globally
available
delivery
Logistic
System
Oracle
Oracle
Service Bus
Mobile Apps
Sensor
ship
sort
20
Rich (Web)
Client Apps
DB
schedule
Filter
Notification
Logic
(PL/SQL)
JMS
Rule Engine
(Java)
Logic
(Java)
delivery
ship
delivery true SMS
Email
…
Event
Bus/Hub
Stream/Event
Processing
19. Key Challenges for building an IoT application
Connect: How to collect data from intelligent devices?
• Abstract complexity associated with device connectivity
• Standardize integration of devices with enterprise
Analyze: How to analyze IoT data?
• Reduce noise and detect business event at real-time
• Enable historical big-data analysis
Integrate: How to integrate IoT data & events with enterprise infrastructure?
• Make enterprise processes IoT friendly
• Allow enterprise & mobile applications to control devices
20. Distribute runtime portion of IoT Analytics to the edge
Some IoT Analytics applications need to be distributed, so that processing can take
place in devices, gateways, smart routers, servers at the site where sensor data is
generated
Three main reasons:
• The factory, vehicle, home or other edge location needs to stay in operation, even when the
corporate data center or cloud is down or not reachable
• Wide-are communication is generally to slow
• Transmitting all sensor data to corporate or cloud data center may be impractical or
impossible if the volume of data is high or if reliable, high-bandwidth networks are
unavailable
21. Data and IoT
Several types of data play a role in an IoT deployment:
• Continuous environmental and positional data
• Multidimensional time series data
• Descriptive data (metadata) about objects, systems and processes
• Historical data
• Analytical models
• Radio frequency identification (RFID) data
Assess the variety of data used in your IoT architecture to refine your datastore requirements
=> NoSQL
Understand the unique optimizations for time series data and analysis => NoSQL
27. Enterprise Service Bus (ESB)
3) IoT with Big Data Analytics
Enterprise
Applications
WS
External Cloud
Service
Providers
BPM and SOA
Platform
Event
Business
Logic/Rules
Business Intelligence
IoT Device
Enterprise Event Bus (Ingress)
Enterprise
Event Bus
Services
WS
Event
Processes
Gateway
ESP/CEP
Hadoop Big Data
Infrastructure
HDFS
Batch
Processing
IoT Smart
Device
Viszualization
Analytics
DBDB
API Gateway
30
Mobile Apps
DB
Rich (Web)
Client Apps
DB
Social Media
Streams
= one way
= request/response
29. Enterprise Service Bus (ESB)
3) IoT with Big Data Analytics - Oracle
Enterprise
Applications
WS
External Cloud
Service
Providers
BPM and SOA
Platform
Event
Business
Logic/Rules
Business Intelligence
IoT Device
Enterprise Event Bus (Ingress)
Enterprise
Event Bus
Services
WS
Event
Processes
Gateway
ESP/CEP
Hadoop Big Data
Infrastructure
HDFS
Batch
Processing
IoT Smart
Device
Viszualization
Analytics
DBDB
API Gateway
32
Mobile Apps
DB
Rich (Web)
Client Apps
DB
Social Media
Streams
= one way
= request/response
Oracle Event
Processing
For Embedded
Oracle Event
Processing
For Embedded
SerivceBus
Oracle BigData Appliance
Oracle NoSQL
Stream Explorer
Business Activity
Monitoring
Oracle Data Integrator
API Gateway
SOA Suite
BPM Suite
33. Enterprise Service Bus (ESB)
Stream Processing
Infrastructure
IoT Reference Architecture
Enterprise
Applications
WS
External Cloud
Service
Providers
BPM and SOA
Platform
Event
Business
Logic/Rules
Business Intelligence
IoT Device
36
Mobile Apps
DB
Rich (Web)
Client Apps
DB
Social Media
Streams
Enterprise Event Bus (Ingress)
Enterprise
Event Bus
Services
WS
Event
Processes
Gateway
ESP/CEP
Hadoop Big Data
Infrastructure
HDFS
ESP/CEP
Batch
Processing
IoT Smart
Device
Viszualization
Analytics
DB
DB
DB
DB
API Gateway
= one way
= request/response
35. Enterprise Service Bus (ESB)
Stream Processing
Infrastructure
Enterprise
Applications
WS
External Cloud
Service
Providers
BPM and SOA
Platform
Event
Business
Logic/Rules
Business Intelligence
IoT Device
38
Mobile Apps
DB
Rich (Web)
Client Apps
DB
Social Media
Streams
Enterprise Event Bus (Ingress)
Enterprise
Event Bus
Services
WS
Event
Processes
Gateway
ESP/CEP
Hadoop Big Data
Infrastructure
HDFS
ESP/CEP
Batch
Processing
IoT Smart
Device
Viszualization
Analytics
DB
DB
DB
DB
API Gateway
IoT Reference Architecture – Oracle Platform
Internet of Things - Sind traditionelle Architekturen gut
genug?
= one way
= request/response
Oracle Event
Processing
For Embedded
Oracle Event
Processing
For Embedded
SerivceBus
Oracle Event Processing
Stream Explorer
Oracle BigData Appliance
Oracle NoSQL
Oracle NoSQL
Stream Explorer
Business Activity
Monitoring
Oracle Data Integrator
SerivceBusAPI Gateway
Coherence
SOA Suite
BPM Suite
42. Summary
Treat events as events! Infrastructures for handling lots of events are available!
IoT tends to make Big Data / Fast Data infrastructures necessary
Know your use case/requirements to choose the right architecture!
Can my existing backend landscape handle the new IoT load?
Do I have to handle huge amount of events in “real-time”?
Do I need to filter/aggregate data before invoking existing backend systems?
Do I want to do Advanced Analytics (predictive analytics) where historical information is necessary?
What is the network bandwidth between device/gateway and cloud/backend?
Centralized or Decentralized IoT solution?