David Bureš - Xamarin, IoT a Azure
Transcript of David Bureš - Xamarin, IoT a Azure
DAVID BUREŠTechnical Evangelist, Microsoft
@pidibi | [email protected]
David Bureš[email protected] | @pidibiTechnical Evangelist | Microsoft
Xamarin.iOS does full Ahead Of Time
(AOT) compilation to produce an ARM
binary for Apple’s App Store.
Xamarin.Android takes advantage of
Just In Time (JIT) compilation on the
Android device.
Backend code
REST API
- Client DB: SQLLite
- Azure SDK - MobileServiceClient
- Synchronization
- Hidden HTTP interactions
- Implementation with Interfaces – mockable
- Samples: iOS, Android, Xamarin, Cordova, Windows
Mobile DevOps
https://www.visualstudio.com/
VS Community Edition
VS Code
VS Team Services
VS Dev Essentials
- 25USD / month Azure credit
iOS
Mobile DevOps + Visual Studio Team Services
VisualStudio
Code Repository
Backlog
Build + Deploy
Monitor and improve
Automated TestingBeta Testing
User Feedback
XamarinStudio
HockeyApp
HockeyAppXamarin Test
CloudVisual Studio Team Services
Crash Analytics
- VSTS
- Xamarin Test Cloud
- Hockey App
Proces zpracování dat
Prezentace a řízení
Notification & App
services
Data analytics
Power BI
Uloženídat
Externaldata sources
Azure Storage
Transformacedat
Real-time analytics
Stream analytics
Machine learning
Přenosdat
ScalableEvent Broker
Field Gateways
Sběrdat
Cloud Gateways(WebAPIs)
Applications
Vznikdat
Devices
Proces zpracování datVznik dat Sběr dat Uložení dat
Analýza dat /
transformacePrezentace a řízení
Event Hub SQL DatabaseMachine
LearningApp Service
IoT HubTable/Blob
Storage
Stream
AnalyticsPower BI
Service Bus DocumentDB HDInsightNotification
Hubs
External Data
Sources3rd party
DatabasesData Factory Mobile Services
Data Lake BizTalk Services
{ }
Remote Monitoring Service Architecture
https://azure.microsoft.com/en-us/solutions/iot-suite/
Per-Device AuthenticationIndividual device identities and credentials
Connection MultiplexingSingle device-cloud connection for all communications
(device-to-cloud, cloud-to-device)
Multi-ProtocolNatively supports AMQPS, HTTPS, MQTT
Extensible protocol support for custom protocol needs
Multi-PlatformDevice SDKs available for multiple platforms
RTOS, Linux, Windows, iOS, Android
Service SDK supports multiple languages (Node, Java, C#)
- Security takes precedence over all other capabilities
- A device establishes all connections and routes in an outbound-onlyfashion.
- Devices should only connect to or establish routes to well-knownservices
- The communication path is secured at the application protocol layer
- Authorization and authentication are based on per-device identities. It makes access credentials instantly revocable.
- For a device to receive a command from the backend, the devicemust regularly initiate a connection to check for any pending commands to process.
-
-
-
-
-
-
-
http://aka.ms/iot-hub-sdk
End-to-End Architecture Overview
End-to-End Architecture Overview
Data Source Collect Process ConsumeDeliver
Event Inputs- Event Hub
- IoT hub
- Azure Blob
Transform- Temporal joins
- Filter
- Aggregates
- Projections
- Windows
- Etc.
Enrich
Correlate
Outputs- SQL Azure
- Blob Storage
- Event Hub
- Table Storage
- Service Bus
- Queue
- Topic
- DocumentDB
- Power BI
Azure
Storage
• Temporal Semantics
• Guaranteed delivery
• Guaranteed up time
Azure Stream Analytics
Reference Data- Azure Blob
TUMBLINGWINDOW ( timeunit , windowsize, [offsetsize] )
TUMBLINGWINDOW ( Duration( timeunit , windowsize ), [Offset(timeunit , offsetsize)] )
HOPPINGWINDOW ( timeunit , windowsize , hopsize, [offsetsize] )
HOPPINGWINDOW ( Duration( timeunit , windowsize ) , Hop (timeunit , windowsize ), [Offset(timeunit , offsetsize)])
SLIDINGWINDOW ( timeunit , windowsize )
SLIDINGWINDOW ( Duration( timeunit , windowsize ) )
Aggregate functions
Scalar/Conversion functions
Date and time:
String:
Typy
Type Description
bigint Integers in the range -2^63 (-9,223,372,036,854,775,808) to 2^63-1 (9,223,372,036,854,775,807).
float Floating point numbers in the range - 1.79E+308 to -2.23E-308, 0, and 2.23E-308 to 1.79E+308.
nvarchar(max) Text values, comprised of Unicode characters. Note: A value other than max is not supported.
datetime Defines a date that is combined with a time of day with fractional seconds that is based on a 24-hour clock and relative to
UTC (time zone offset 0).
State is made highly-available through replication and distributed through partitioning
https://github.com/Azure-Samples/MyDriving
https://aka.ms/MultiPlatformConf2016
David Bureš[email protected] | @pidibiTechnical Evangelist | Microsoft
WWW.MDEVTALK.CZ
mdevtalk