View
94
Download
0
Embed Size (px)
Citation preview
BÂLE BERNE BRUGG DUSSELDORF FRANCFORT S.M. FRIBOURG E.BR. GENÈVE HAMBOURG COPENHAGUE LAUSANNE MUNICH STUTTGART VIENNE ZURICH
#SDF16
Internet of Things (IoT) and Big Data
Guido Schmutz
#SDF16
#SDF16
Guido Schmutz
Working for Trivadis for more than 19 yearsOracle ACE Director for Fusion Middleware and SOAConsultant, Trainer, Software Architect for Java, SOA & Big Data / Fast DataMember of Trivadis Architecture BoardTechnology Manager @ Trivadis
More than 25 years of software development experience
Contact: [email protected]: http://guidoschmutz.wordpress.comSlideshare: http://www.slideshare.net/gschmutzTwitter: gschmutz
#SDF16
Internet of Things (IoT) Wave
Internet of Things (IoT): Enabling communication between devices, people & processes to exchange useful information & knowledge that create value for humans
Term was first proposed by Kevin Ashton in 1999
Source:TheEconomistSource:Ericsson,June2016
#SDF16
Reasons why IoT opportunity is occurring now ?
Affordable hardware
• Costs of actuators & sensors have been cut in half over last 10 years
Smaller, 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 over last 10 years
Availability of supporting tools
• Big data tools & cloud based infrastructure have become widely available
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
#SDF16
Key Challenges for building an IoT application
1. Connect: How to collect data from intelligent devices?• Abstract complexity associated with device connectivity• Standardize integration of devices with enterprise
2. Analyze: How to analyze IoT data?• Reduce noise and detect business event at real-time• Enable historical big-data analysis
3. Integrate: How to integrate IoT data & events with enterprise infrastructure?• Make enterprise processes IoT friendly• Allow enterprise & mobile applications to control devices
#SDF16
Today) Existing Service-/API Architecture as a base
10
MobileApps
DB
Rich(Web)ClientApps
APIG
atew
ay
EnterpriseServiceBu
s(ESB)/Da
taIntegration
EnterpriseApps
WS
ExternalCloudServiceProviders
BPMandSOAPlatform
Event
BusinessLogic/Rules
BusinessIntelligence
Services
WS
Event
Processes
Visualization
Analytics
DB
REST/SOAP
REST/SOAP
REST/SOAP
SOAP
Various
SQL
SOAPREST
ServiceBu
sOracleDa
taIntegrator
APIG
atew
ay
SOASuite
BPMSuite
BusinessActivityMonitoring
=oneway =request/response
DB
#SDF16
REST/SOAP
REST/SOAP
IoT 1a) Reuse exiting Service-/API-based Architecture
IoT SmartDevices
11
MobileApps
DB
Rich(Web)ClientApps
DB
EnterpriseServiceBu
s(ESB)/Da
taIntegration
EnterpriseApps
WS
ExternalCloudServiceProviders
BPMandSOAPlatform
Event
BusinessLogic/Rules
BusinessIntelligence
Services
WS
Event
Processes
Visualization
Analytics
DB
REST/SOAP
REST
REST
JMS/REST
SOAP
Various
SQL
SOAP REST
WebSocketJMS
ServiceBu
sOracleDa
taIntegrator
APIG
atew
ayAP
IGatew
ay
JMS
JMS
WeblogicJM
S
SOASuite
BPMSuite
BusinessActivityMonitoring
=oneway =request/response
#SDF16
IoT 1a) Challenges
• Are IoT devices powerful enough to communicate over the internet (HTTP protocol) ?
• Device only collects data (sense) or is there also the way back necessary (actuator) ?
• Can JMS be used from external devices (firewalls allow traffic over JMS) ?
• How many IoT devices are planned short and long term ? • How frequently do they produce data ? • Is JMS server and ESB capable for dealing with resulting message volume ?
• What operations are needed on IoT data (messages / events) ‘
• only simple transformations, filter and routing operations (VETRO pattern) ?
#SDF16
REST/SOAP
REST/SOAP
IoT 1b) Reuse existing Service-/API-based Architecture
IoT SmartDevices
13
MobileApps
DB
Rich(Web)ClientApps
DB
APIG
atew
ay
EnterpriseServiceBu
s(ESB)/Da
taIntegration
EnterpriseApps
WS
ExternalCloudServiceProviders
BPMandSOAPlatform
Event
BusinessLogic/Rules
BusinessIntelligence
Services
WS
Event
Processes
Visualization
Analytics
DB
RESTHTTP
REST
REST HTTP
JMSAP
IGatew
ay
ServiceBu
sOracleDa
taIntegrator
SOAP
Various
SQL
SOAP REST
WebSocketJMS
JMS
JMS
REST/SOAP
WeblogicJM
S
SOASuite
BPMSuite
BusinessActivityMonitoring
=oneway =request/response
#SDF16
REST/SOAP
REST/SOAP
IoT 2) Adding Event Hub and optional IoT Gateway
14
MobileApps
DB
Rich(Web)ClientApps
DB
ESB/D
ataIntegration
IoTDevices
IoTGateways
IoT SmartDevices
EnterpriseApps
WS
ExternalCloudServiceProviders
BPMandSOAPlatform
Event
BusinessLogic/Rules
BusinessIntelligence
Services
WS
Event
Processes
Visualization
Analytics
DB
REST
Kafka/MQTT/REST
REST
Kafka/MQTT/REST
MQTT
Kura
Even
tHub
Kafka
ServiceBu
s
OracleDa
taIntegrator
REST
REST
SOAP
Various
SQL
SOAP REST
WebSocketKafka
JMS
JMS
APIG
atew
ayAP
IGatew
ay
REST
Kafka
REST/SOAP
REST
REST
SOASuite
BPMSuite
BusinessActivityMonitoring
MQTT
MQTT
=oneway =request/response
#SDF16
How to implement an Event Hub? Apache Kafka to the rescue
• Distributed publish-subscribe messaging system
• Designed for processing of high-volume, real time activity stream data
• Stateless (passive) architecture, offset-based consumption
• Provides Topics, but does not implement JMS standard
• Initially developed at LinkedIn, now part of Apache• Peak Load on single cluster: 2 million messages/sec, 4.7
Gigabits/sec inbound, 15 Gigabits/sec outbound
Oracle’s Service Bus as a consumer of Kafka
ServiceBus12c
CloudApps
BusinessService Cl
oud
ProxyServiceKa
fka
Clou
dAP
I
MobileApps Pipeline
Routing
KafkaSensor/IoT
WebApps
BusinessService RE
ST
BusinessService W
SDL
BackendAppsRE
ST
BackendAppsW
SDLProxy
ServiceKafka Pipeline
Routing
Database
DB CDC
StreamProcessing
#SDF16
IoT 2) Solutions & Challenges
Solutions
• Event Hub solves the potential scalability issue of JMS
• Event Hub can interoperate / integrate with existing SOA platform (ESB)
• IoT Gateway makes sure that lightweight sensors can connect to the internet / send their data
Challenges
• Where to do complex analytics on the events? Is it scalable?
• Can we really send all data down to backend? Network bandwidth?
#SDF16
REST/SOAP
REST/SOAP
IoT 3) Adding Stream Processing / Analytics in Backend
18
MobileApps
DB
Rich(Web)ClientApps
DB
(ESB
)/DataIntegration
IoTDevices
IoTGateways
IoT SmartDevices
Even
tHub
StreamProcessing
ESP/CEP
DB
DB
Even
tHub
EnterpriseApps
WS
ExternalCloudServiceProviders
BPMandSOAPlatform
Event
BusinessLogic/Rules
BusinessIntelligence
Services
WS
Event
Processes
Visualization
Analytics
DB
StreamAnalytics
ServiceBu
s
OracleDa
taIntegrator
Kafka
MQTT Kafka
Kafka
SOAP
Various
SQL
SOAP REST
WebSocketKafka
JMS
JMSAP
IGatew
ayAP
IGatew
ay
REST
MQTT
REST
REST
Kafka
Kafka/MQTT/REST
Kafka/MQTT/REST
REST
Kafka
REST/SOAP
REST
REST
Kura
SOASuite
BPMSuite
BusinessActivityMonitoring
=oneway =request/response
Kafka
MQTT
#SDF16
IoT 3) Solutions & Challenges
Solutions
• Stream Processing handles complex analytics on events in a scalable manner before sending events to ESB / backend systems
Challenges
• Can we really send all data down to backend? Network bandwidth?
#SDF16
Oracle’s Stream Analytics as consumer of Kafka/MQTT
OracleStreamAnalytics
StreamAnalytics
Kafka
Kafka
MobileAppsKafka
Sensor/IoT
WebApps
MachineData
DB CDC
Kafka
MQTT
REST/SOAP
REST/SOAP
IoT 4) Adding Industry 4.0 Data Sources (machine data)
21
MobileApps
DB
Rich(Web)ClientApps
DB
(ESB
)/DataIntegration
IoTDevices
IoTGateways
IoT SmartDevices
Even
tHub
StreamProcessing
ESP/CEP
DB
DB
Even
tHub
EnterpriseApps
WS
ExternalCloudServiceProviders
BPMandSOAPlatform
Event
BusinessLogic/Rules
BusinessIntelligence
Services
WS
Event
Processes
Visualization
Analytics
DB
StreamAnalytics
ServiceBu
s
OracleDa
taIntegrator
Kafka
MQTT
Kafka
Kafka
SOAP
Various
SQL
SOAP REST
WebSocketKafka
JMS
JMSAP
IGatew
ayAP
IGatew
ay
REST
MQTT
REST
REST
Kafka
Kafka/MQTT/REST
Kafka/MQTT/REST
REST
Kafka
REST/SOAP
REST
REST
Kura
SOASuite
BPMSuite
BusinessActivityMonitoring
=oneway =request/response
I4.0Machine
DB CDC GoldenGate
Kafka/MQTT/REST
Kafka
MQTT
GoldenGate Gateway
Oracle’s GoldenGate for Change Data Capture ofexisting database
MachineData
DB
Kafka
OracleGoldenGate
Delivery
Capture
Pump
JMS
MachineData
DB OracleGoldenGate
Delivery
Capture
Pump HBase
HDFS
REST/SOAP
REST/SOAP
IoT 5) Adding Stream Processing / Analytics at Edge
23
MobileApps
DB
Rich(Web)ClientApps
DB
(ESB
)/DataIntegration
IoTDevices
IoTGateways
IoT SmartDevices
Even
tHub
StreamProcessing
ESP/CEP
DB
DB
Even
tHub
EnterpriseApps
WS
ExternalCloudServiceProviders
BPMandSOAPlatform
Event
BusinessLogic/Rules
BusinessIntelligence
Services
WS
Event
Processes
Visualization
Analytics
DB
StreamAnalytics
ServiceBu
s
OracleDa
taIntegrator
Kafka
Kafka
Kafka
SOAP
Various
SQL
SOAP REST
WebSocketKafka
JMS
JMSAP
IGatew
ayAP
IGatew
ay
Kafka/MQTT/REST
REST REST
Kafka
Kafka
REST
RESTREST
REST/SOAP
REST
MQTT
SOASuite
BPMSuite
BusinessActivityMonitoring
ESP/CEP
EdgeAnalytics
MQTT
Kafka/MQTT/REST
MQTT
=oneway =request/response
I4.0Machine
DB CDC GoldenGate
Kafka/MQTT/REST
Kafka
#SDF16
IoT 5) Solutions & Challenges
Solutions
• Stream Processing at the edge / gateway allows to reduce the amount of messages send to the backend (cloud / on premises) if necessary
Challenges
• How to handle integration between the components on the IoT side (fan in)
#SDF16
REST/SOAP
REST/SOAP
IoT 6) Adding Data Flow Engines
25
MobileApps
DB
Rich(Web)ClientApps
DB
(ESB
)/DataIntegration
IoTDevices
IoTGateways
IoT SmartDevices
Even
tHub
StreamProcessing
ESP/CEP
DB
DB
Even
tHub
EnterpriseApps
WS
ExternalCloudServiceProviders
BPMandSOAPlatform
Event
BusinessLogic/Rules
BusinessIntelligence
Services
WS
Event
Processes
Visualization
Analytics
DB
StreamAnalytics
ServiceBu
s
OracleDa
taIntegrator
Kafka
Kafka
Kafka
SOAP
Various
SQL
SOAP REST
WebSocketKafka
JMS
JMSAP
IGatew
ayAP
IGatew
ay
Kafka/MQTT/REST
REST REST
Kafka
Kafka
REST
RESTREST
REST/SOAP
REST
MQTT
SOASuite
BPMSuite
BusinessActivityMonitoring
ESP/CEP
EdgeAnalytics
MQTT
Kafka/MQTT/REST
MQTT
=oneway =request/response
I4.0Machine
DB CDC GoldenGate
Kafka/MQTT/REST
Kafka
NiFiNiFi
Continuous Ingestion / Fan-In from the Edge
DBSource
BigData
Log
StreamProcessing
IoT Sensor
EventHub
Topic
Topic
REST
Topic
IoT GW
CDCGW
Conn
ectCDC
DBSource
Log CDC Native
IoT Sensor
IoT Sensor
26
DataflowGW
Topic
Topic
Queue
MessageGW
Topic
DataflowGW
Dataflow
TopicRE
ST26FileSource
Log
Log
Log
Social
Native
Topic
Topic
#SDF16
Challenges for Ingesting Sensor Data
• Multitude of sensors
• Multiple Firmware versions
• Bad Data from damaged sensors
• Data Quality
#SDF16
IoT 6) Solutions & Challenges
Solutions
• Data Flow engines allow for passing information onwards, potentially over multiple hops (fan-in)
Challenges
• What if we want to keep the raw data? Where to persist it?
REST/SOAP
REST/SOAP
IoT 7) Adding Raw Data Storage and Batch Analytics
29
MobileApps
DB
Rich(Web)ClientApps
DB
(ESB
)/DataIntegration
IoTDevices
IoTGateways
IoT SmartDevices
Even
tHub
Even
tHub
EnterpriseApps
WS
ExternalCloudServiceProviders
BPMandSOAPlatform
Event
BusinessLogic/Rules
BusinessIntelligence
Services
WS
Event
Processes
Visualization
Analytics
DB
ServiceBu
s
OracleDa
taIntegrator
Kafka
KafkaKafka
SOAP
Various
SQL
SOAP REST
WebSocket
JMS
JMSAP
IGatew
ayAP
IGatew
ay
REST REST
Kafka
Kafka
SQL
RESTREST
REST/SOAP
StreamProcessing
ESP/CEP
DB
DB
BigDataProcessingHDFS
BatchProcessing
DB
Kafka
Kafka
HDFS
ESP/CEP
EdgeAnalytics
MQTTMQTT
StreamAnalytics
Hadoop/Spark
OracleBigDataAppliance
SOASuite
BPMSuite
BusinessActivityMonitoring
Kafka/MQTT/REST
Kafka/MQTT/REST
=oneway =request/response
I4.0Machine
DB CDC GoldenGate
MQTT
Kafka/MQTT/REST
Kafka
NiFiNiFi
#SDF16
IoT 7) Solutions & Challenges
Solutions
• Adding Big Data platform allows to store all raw data in a distributed file system in a scalable and reliable manner
Challenges
• How can we leverage the Big Data platform for more than just storing raw data?
• How does it integrate with the stream processing?
REST/SOAP
REST/SOAP
IoT 7a) Adding Data Mining / Machine Learning and Model execution
31
MobileApps
DB
Rich(Web)ClientApps
DB
(ESB
)/DataIntegration
IoTDevices
IoTGateways
IoT SmartDevices
Even
tHub
Even
tHub
EnterpriseApps
WS
ExternalCloudServiceProviders
BPMandSOAPlatform
Event
BusinessLogic/Rules
BusinessIntelligence
Services
WS
Event
Processes
Visualization
Analytics
DB
ServiceBu
s
OracleDa
taIntegrator
Kafka
KafkaKafka
SOAP
Various
SQL
SOAP REST
WebSocket
JMS
JMSAP
IGatew
ayAP
IGatew
ay
REST REST
Kafka
Kafka
SQL
RESTREST
REST/SOAP
StreamProcessing
ESP/CEP
DB
DB
BigDataProcessingHDFS
BatchProcessing
DB
Kafka
Kafka
HDFS
ESP/CEP
EdgeAnalytics
MQTTMQTT
StreamAnalytics
Hadoop/Spark
OracleBigDataAppliance
SOASuite
BPMSuite
BusinessActivityMonitoring
Kafka/MQTT/REST
Kafka/MQTT/REST
=oneway =request/response
I4.0Machine
DB CDC GoldenGate
MQTT
Kafka/MQTT/REST
Kafka
NiFiNiFi
REST/SOAP
REST/SOAP
Oracle Cloud Services and Internet of Things / Big Data
32
MobileApps
DB
Rich(Web)ClientApps
DB
(ESB
)/DataIntegration
IoTDevices
Gateway
IoT SmartDevices
Even
tHub
Even
tHub
EnterpriseApps
WS
ExternalCloudServiceProviders
BPMandSOAPlatform
Event
BusinessLogic/Rules
BusinessIntelligence
Services
WS
Event
Processes
Visualization
Analytics
DB
=oneway=request/response
KafkaKafka
SOAP
Various
SQL
SOAP REST
WebSocket
JMS
JMSAP
IGatew
ay
Kafka/REST
REST REST
Kafka
Kafka
SQL
RESTREST
REST/SOAP
StreamProcessing
ESP/CEP
DB
DB
BigDataProcessingHDFS
BatchProcessin
g
DB
Kafka
Kafka
HDFS
MQTT
Hadoop/Spark
OracleIoT CloudService
OracleBigDataCloudService
OracleBICloudService
OracleIntegrationClou
dService
Oracle
MessagingCloud
Service
OracleProcessCloudService
OracleSOACloudService
OracleMobileCloud
Service
ESP/CEPEdgeAnalytics
OracleIoT CSGateway
OracleIoT CSClientLibrary
=oneway =request/response
#SDF16
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?
#SDF16
IoT Services
IoT Logical Reference Architecture
IoTDevice
Sensor
Actuator
IoT Gateway
Storage
UIApp
StreamingAnalytics
EnterpriseApplications
BPMandSOAPlatformStreaming
Analytics
Storage
EndpointManagement
EventHub
ServiceBus
EventHub Event
Hub
ServiceBus
BigData/BI
Storage
Services Processes
UIApp
Storage
BulkAnalytics UI
BulkAnalytics UI
Storage
StreamingAnalytics
ServiceBusAP
I
RESTSOAPHTTPKAFKA
MQTTCoAPXMPPDDSAMQPKAFKAWIFI
BLEZigBeeWIFIWired
Internet of Things (IoT) and Big Data38
#SDF16
IoT Services
IoT Logical Reference Architecture – Oracleon premises
IoTDevice
Sensor
Actuator
IoT Gateway
Storage
UIApp
StreamingAnalytics
EnterpriseApplications
BPMandSOAPlatformStreaming
Analytics
Storage
EndpointManagement
EventHub
ServiceBus
EventHub Event
Hub
ServiceBus
BigData/BI
Storage
Services Processes
UIApp
Storage
BulkAnalytics UI
BulkAnalytics UI
Storage
StreamingAnalytics
ServiceBusAP
I
RESTSOAPHTTPKAFKA
MQTTCoAPXMPPDDSAMQPKAFKAWIFI
BLEZigBeeWIFIWired
EdgeAnalytics
BusinessActivityMonitoring
SOASuite
BPMSuiteServiceBus
OracleDataIntegrator
StreamAnalytics
BigDataAppliance
StreamAnalytics
ServiceBus
APIG
atew
ayInternet of Things (IoT) and Big Data39
OracleIoT CSGateway
OracleIoT CSClientLibrary
#SDF16
IoT Services
IoT Logical Reference Architecture – OracleCloud Services
IoTDevice
Sensor
Actuator
IoT Gateway
Storage
UIApp
StreamingAnalytics
EnterpriseApplications
BPMandSOAPlatformStreaming
Analytics
Storage
EndpointManagement
EventHub
ServiceBus
EventHub Event
Hub
ServiceBus
BigData/BI
Storage
Services Processes
UIApp
Storage
BulkAnalytics UI
BulkAnalytics UI
Storage
StreamingAnalytics
ServiceBusAP
I
RESTSOAPHTTPKAFKA
MQTTCoAPXMPPDDSAMQPKAFKAWIFI
BLEZigBeeWIFIWired
EdgeAnalytics
OracleBICS
OracleBigDataCS
OracleSOACS
OracleIntegrationCS
OracleIoT CS
OracleStreamingAnalyticsCS
OracleMessagingCS
OracleBigDataDiscoveryCS
OracleMobileCS
Internet of Things (IoT) and Big Data40
OracleIoT CSGateway
OracleIoT CSClientLibrary
OracleProcessCS
OracleDataFlowMLCS
BigDataPreparationCS
ApplicationContainerCS
ContainerCS
#SDF16
IoT Services
IoT Logical Reference Architecture – MicrosoftAzure
IoTDevice
Sensor
Actuator
IoT Gateway
Storage
UIApp
StreamingAnalytics
EnterpriseApplications
BPMandSOAPlatformStreaming
Analytics
Storage
EndpointManagement
EventHub
ServiceBus
EventHub Event
Hub
ServiceBus
BigData/BI
Storage
Services Processes
UIApp
Storage
BulkAnalytics UI
BulkAnalytics UI
Storage
StreamingAnalytics
ServiceBusAP
I
RESTSOAPHTTPKAFKA
MQTTCoAPXMPPDDSAMQPKAFKAWIFI
BLEZigBeeWIFIWired
AzureIoTHu
b
AzureStreamingAnalytics
AzureServiceBu
s
AzurePowerBI
HDInsight
AzureStorage
AzureIoT GatewaySDK Az
ureEventH
ub
AzureStorage
AzureMachineLearning
Internet of Things (IoT) and Big Data41
#SDF16
IoT ServicesIoT
Device
Sensor
Actuator
IoT Gateway
Storage
UIApp
StreamingAnalytics
EnterpriseApplications
BPMandSOAPlatformStreaming
Analytics
Storage
EndpointManagement
EventHub
ServiceBus
EventHub Event
Hub
ServiceBus
BigData/BI
Storage
Services Processes
UIApp
Storage
BulkAnalytics UI
BulkAnalytics UI
Storage
StreamingAnalytics
ServiceBusAP
I
RESTSOAPHTTPKAFKA
MQTTCoAPXMPPDDSAMQPKAFKAWIFI
BLEZigBeeWIFIWired
IoT Logical Architecture – Open Source
Internet of Things (IoT) and Big Data42