Using Service Bus to Connect to the Internet of Things

advertisement
http://amqpnetlite.codeplex.com/
1.
2.
3.
4.
Cloud Platform Enablers for Smart Mobility
100,000s of Vehicles
Identity Services (WAAD)
100,000s of Users/Drivers
Mobile Platform
Push Messaging
Mobile Solution
Backend
Notification
Hubs
Mobile Services
Web Sites
Mobile Experience
Service Bus & Web API
Virtual Machines (IaaS)
Cloud Services and Web Sites (PaaS)
Media Services
100,000s of Users/Drivers
Custom Protocol Gateway
Service Bus
Telemetry Adapters
Navigation
System
Web Sites
Command Router
Telemetry Router
Service Bus & Web API
Vehicle
Information
System
Calendar
Management
System
Service Bus + BizTalk Services/Server + Virtual Networks
3rd Party Data & Services (Maps, Weather, Traffic, Events)
Corporate and Divisional Line of Business and Information Systems
Mobile Platform
Push Messaging
Web Portal
SignalR
Service Bus
Notification
Hubs
Portal Experience
Service Bus & Web API
Azure Database, Blob and Table Storage
Real-Time Analytics, HDInsight
Custom
Code
Cloud Platform
Services
Cloud Device
Gateway
IP
Capable
Devices
Field
Gateway
Non-IP
Capable (or
willing) Devices
Third-Party Data
and Services
Enterprise
Systems
Service Bus
Cloud Platform
Services
Third-Party Data
and Services
Enterprise
Systems
Pattern 2: Custom Cloud Gateway
Custom
Cloud Gateway
Field
Gateway
Pattern 1: Device Direct
Custom
Code
Field
Gateway
IP
Capable
Devices
Cloud Device
Gateway
Field
Gateway
Non-IP
Capable (or
willing) Devices
Service Bus
No inbound ports
open, attack
surface is
minimized
Connections are
device-initiated
and outbound
NAT/Firewall
Device (Router)
Device does not
listen for
unsolicited traffic
IP NAT
Cloud
Gateway
Port mapping is
automatic,
outbound
DNS
myapp.cloudapp.net
Command
Source
Access-controlled
command API
Secure, managed
hosting platform
Inbox
(Command & Control)
Outbox
(Telemetry)
Command API
Protocol Head
Cloud Gateway
Backend
Components
Topic
Device 1
Filters
Alerts
Subs
Receiver 1
Alert
Processor
Device 2
Device 3
Data
Receiver 2a
Receiver 2b
Storage
Pre-processor
Service Bus
 Split the stream
 Enable parallel processing
 Implement different QoS levels
 Level and balance the load
Subs
Model A
Model T
Device 1
Device 2
Device 3
Filters
Model A
Device 1
Model T
Device 2
Model T
Device 3
Topic
Sender 1
Sender 2
Service Bus
 Target individuals or groups
 Set delivery timeouts (TTL)
 Deal with spotty connectivity
 Traverse NATs/firewalls securely
•
In-Vehicle Device: .Net Gadgeteer
HDInsight
FEZ Spider: Arm7, 16MB Ram, 4MB Flash
- Onboard Diagnostics Module (OBD2)
- Temperature and Humidity Sensor
- Ethernet module, tethered via WP (“GSM module”)
HIVE DDL
Blob Storage
Adapter
Service Bus
Office 365 BI:
Blob Storage
Alerts
Inbox Topic(s)
(Command & Control)
Telemetry
Alerts
Commands
Outbox Topic(s)
Orleans Adapter
(Telemetry)
Table Storage
Adapter
Companion App:
How is my car?
Where’s my car?
Unlock my car
…
Device / User Pairing
Notifications
Device Status Checks
Mobile Service
Custom Realtime alerting
Azure Table
Storage
Commands
Real-time
updates / Alerts
HIVE
ODBC
Adapter
Excel, Power Maps
http://www.microsoft.com/intelligentsystems/services
Devices
…
CoAP
Custom Protocol Gateway Host
Provisioning
Service
3.
Telemetry/Request
Router
Notification/Command
Router
Adapters
Command API Host
BizTalk
HDInsight
2
Orleans
Device
Metadata
and Key
Store
1
Service Bus Messaging
Configuration
4.
MQTT
HTTP
Service Bus
2.
AMQP
Azure Dbs
4
HTTP
Azure Storage
1.
HTTP
3
HTTP
Custom Protocol Host
Telemetry
Adapter
Analytics
(HDInsight)
Telemetry
Adapter
LastValue
(Table)
…
Telemetry
Adapter
RealTime
(Orleans)
n Groups of m Routers
s03E7
s0002
s0001
out2
g0001/
rte0000
out1
g0000/
rte0001
Device Repo
outFFFF
out0
s03E7
s0002
s0001
s03E7
s0002
s0001
s03E7
g0000/
rte0000
…
out2
Telemetry Pump/Router
out1
N Instances
out0000 out0001 out0002
out0
Command
A
L R C
Response
out2
RealTime
L R C A L Subscription
R C
A
L R C A Subscription
Subscription
out1
LastValue
inFFFF
out0
Analytics
…
s0002
Ingestion
Topic
in0001
in0002
out2
Partition Repo
in0000
Command Topics
out1
Ingestion Topics
Provisioning
Runtime
Protocol Adapters
MQTT
s0001
Deployment
Runtime
AMQP
Partition
Custom Protocol
Service Bus Standard Protocol
out0
Master
g0001/
rte0001
Command
API Host
https://amqpnetlite.codeplex.com/
http://channel9.msdn.com/Blogs/Subscribe
markush@microsoft.com
shawn.cutter@fieldingsystems.com
Having a friend
buy your coffee?
Yea, it’s kind of like that.
3 Steps to New Gear! With Application Insights
MSDN Subscribers get up to $150/mo in Azure credits.
Stop by the Developer Platform and Tools booth
and visit the MSDN Subscriptions station to
activate your benefits and receive a gift!
1.
http://aka.ms/msdn_teched
http://visualstudio.com
2.
http://aka.ms/aivsix
3.
Microsoft Engineering
Stories
http://www.visualstudio.com
Visual Studio
Industry Partner
Program
Visual Studio | Integrate
Download