David Bureš - Xamarin, IoT a Azure

  • View
    380

  • Download
    3

  • Category

    Mobile

Preview:

Citation preview

DAVID BUREŠTechnical Evangelist, Microsoft

@pidibi | dabures@microsoft.com

David Burešdabures@microsoft.com | @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šdabures@microsoft.com | @pidibiTechnical Evangelist | Microsoft

WWW.MDEVTALK.CZ

mdevtalk

Recommended