Azure Logic Apps

21
presenta www.wpc2015.it – [email protected] - +39 02 365738.11 - #wpc15it 1 Overview di Azure Logic Apps Marco Parenzan – Microsoft Azure MVP

Transcript of Azure Logic Apps

Page 1: Azure Logic Apps

www.wpc2015.it – [email protected] - +39 02 365738.11 - #wpc15it 1

presenta

Overview di Azure Logic AppsMarco Parenzan – Microsoft Azure MVP

Page 2: Azure Logic Apps

www.wpc2015.it – [email protected] - +39 02 365738.11 2

Agenda

• Overview di Azure Logic Apps• Architettura di un

Workflow• Demo

Page 3: Azure Logic Apps

Platform Services

Security & Manageme

nt

Infrastructure ServicesCompute Storage

Datacenter Infrastructure (24 Regions, 22 Online)

Web and MobileWeb Apps

MobileApps

APIManagement

APIApps

LogicApps Notification

Hubs

Media & CDNContent DeliveryNetwork (CDN)

MediaServices

Analytics & IoT

HDInsight MachineLearning

StreamAnalytics

DataFactory

EventHubs

MobileEngagement

ActiveDirectory

Multi-FactorAuthentication

Automation

Portal

Key Vault

IntegrationBiztalkServices

HybridConnections

ServiceBus

StorageQueues

Store /Marketplace

HybridOperations

Backup

StorSimple

SiteRecovery

Import/Export

Networking

Data

SQLDatabase

DocumentDB

RedisCache Search

Tables

SQL DataWarehouse

Azure AD Connect Health

Virtual Network

ExpressRoute

BLOB Storage

Azure Files

Premium Storage

Virtual Machines

AD PrivilegedIdentity Management

Traffic Manager

Application Gateway

OperationalInsights

ComputeCloudServices

Batch Remote App

ServiceFabric

Developer Services

Visual Studio

ApplicationInsights

Azure SDK

Team Project

Containers

VM Image Gallery& VM Depot

DNS VPN Gateway

Load Balancer

Page 4: Azure Logic Apps

www.wpc2015.it – [email protected] - +39 02 365738.11 4

Modellare una applicazione con PaaS in Azure

API APPSCostruisci e consuma

APInel Cloud

WEB APPSApplicazione che scalano

con il tuo business

LOGIC APPSAutomatizza i processi di business attraverso SaaS e on-premises

MOBILE APPSApplicazioni mobileper ogni dispositivo

Page 5: Azure Logic Apps

www.wpc2015.it – [email protected] - +39 02 365738.11 - #wpc15it 5

Logic Apps sono Azure

PaaS Apps

• Full audit logs per tutte le operazioni di management• Role-based access control• Gestione del Deployment con Resource Manager• Resource Management API + resource PowerShell

Azure Resource manager è un sistema altamente scalabile, geodistribuito che può gestire milioni di risorse su centiaia di migliaia di sottoscrizioni

Può solo aggiungere cose ad un resource group (non toglierle)

• Supporto on-premise con Azure Stack• Supporta diversi protocolli di autenticazione: AAD,

Cert auth, or Basic auth

Page 6: Azure Logic Apps

www.wpc2015.it – [email protected] - +39 02 365738.11 - #wpc15it 6

Modello per le Logic App

• WorkflowProcesso espresso da un flusso (il dato viene elaborato in vari step)

• Step fatto di APIIl workflow è un orchestratoreUn mondo di «microservices»

• ConnettoriAPI pubbliche (SaaS)WebHooks

Page 7: Azure Logic Apps

www.wpc2015.it – [email protected] - +39 02 365738.11 - #wpc15it 7

WorkflowIntegrazione

Lear

ning

/Co

ding

Eff

ort

Complexity of

problem

BizTalk ServicesBizTalk ServerFirst version of BizTalk build ‘cloud-up’Already running mission critical workload for large customers

Leader in integration on-premisesHandles mission critical workloads for hundreds of customersRenowned brand

Page 8: Azure Logic Apps

www.wpc2015.it – [email protected] - +39 02 365738.11 - #wpc15it 8

Connettori

• Box• Chatter• Delay• Dropbox• Azure HD Insight• Marketo• Azure Media Services• OneDrive• SharePoint • SQL Server• Office 365• Oracle

• QuickBooks• SalesForce• Sugar CRM • SAP• Azure Service Bus• Azure Storage• Timer / Recurrence• Twilio• Twitter• IBM DB2 • Informix• Websphere MQ

• Azure Web Jobs• Yammer• Dynamics CRM• Dynamics AX• Hybrid Connectivity

• HTTP, HTTPS • File• Flat File• FTP, SFTP• POP3/IMAP• SMTP• SOAP + WCF

• Batching / Debatching

• Validate• Extract (XPath)• Transform

(+Mapper)• Convert (XML-JSON)• Convert (XML-FF)

• X12• EDIFACT• AS2• TPMOM• Rules Engine

Connettori (SaaS APIs)

Protocolli (Custom APIs)Servizi BizTalk

Page 9: Azure Logic Apps

www.wpc2015.it – [email protected] - +39 02 365738.11 - #wpc15it 9

Esperienza «designer»

Page 10: Azure Logic Apps

www.wpc2015.it – [email protected] - +39 02 365738.11 - #wpc15it 10

Struttura JSON di un workflow

• {

• "parameters": {

• ...

• },

• "triggers": {

• ...

• },

• "actions": {

• ...

• },

• "outputs": {

• ...

• }

• }

Page 11: Azure Logic Apps

www.wpc2015.it – [email protected] - +39 02 365738.11 - #wpc15it 11

Azioni

• L’azione è composta da Una precondizione di esecuzione Un loop di esecuzione sugli input

"<name-of-the-action>": { "type": "Http|ApiApp|Workflow", "conditions": [ "<array-of-pre-conditions>" ], "repeat": "<array-to-repeat-over>", "inputs": { "<action-specific-inputs>" } }

Page 12: Azure Logic Apps

www.wpc2015.it – [email protected] - +39 02 365738.11 - #wpc15it 12

Linguaggio

• Funzioni utilizzabili: Collection (first, contains, length, intersection, take,

skip…) String (concat, substring, replace) Logical (equals, less, greater, lessOrEquals, and, or,

not…) Conversion (int, string, float, bool, coalesce, base64) Math (add, sub, mul, div, mod, min, max, range) Date (utcnow, addseconds, addminutes, addhours,

adddays)• Template Language Expression

JSON values in template can be literals or expressions (special kinds of strings)

Denoted by the '@' symbol: "@exp" Or in form of string interpolation "… @{ exp } …"

Expressions evaluation Static (agnostic to execution context): "@sum(3, 5)" Dynamic (can only evaluated at runtime):

"@outputs('act1').body"

Page 13: Azure Logic Apps

www.wpc2015.it – [email protected] - +39 02 365738.11 - #wpc15it 13

Messaggi

• Supporto per messaggi max 100Mb Tutti I dati vengono serializzati in JSON

• Per gestire blob binari: Salvo su Azure Storage Il dato viene codificato BASE64 e immesso nel workflow

• Tutti I messaggi sono salvati Memorizzati con un tempo di retention dipendente

dall’ App Service plan

Page 14: Azure Logic Apps

www.wpc2015.it – [email protected] - +39 02 365738.11 - #wpc15it 14

Parametri

• Servono a differenziare la definizione (del particolare workflow) dalla configurazione (del particolare ambiente)

"parameters": { "<parameterName>": { "type": "<type-of-parameter-value>", "defaultValue": "<optional-default-value-of-parameter>", "allowedValues": [ "<optional-array-of-allowed-values>" ] } }

Page 15: Azure Logic Apps

www.wpc2015.it – [email protected] - +39 02 365738.11 - #wpc15it 15

Dipendenze

• Implicita, quando si referenzia l’output di un’altra azione

• Esplicita, quando si specifica il parametron “dependsOn” “dependsOn” : “twitterconnector”

• Espressione (Esplicita), quando in una condizione di espressione si riferisce a qualche altra azione “expression” :

“@equals(actions(‘twitterconnector’).code, ‘InternalServerError’)”

Page 16: Azure Logic Apps

www.wpc2015.it – [email protected] - +39 02 365738.11 - #wpc15it 16

Triggers

• Definiscono come il workflow può svegliarsi "<name-of-the-trigger>": { "type": "Http|ApiApp|Recurrence", "inputs": { "<trigger-specific-inputs>" }, "recurrence": { "frequency": "Second|Minute|Hour|Week|Month|Year", "interval": "<recurrence interval in units of frequency>" }, "conditions": [ "<array-of-post-conditions>" ] }

Page 17: Azure Logic Apps

www.wpc2015.it – [email protected] - +39 02 365738.11 - #wpc15it 17

WebHook

POST{ “outputs”: { “par”: 20 }}

Tipi di Trigger

Manuale

RicorrenzaAPI App TriggerAPI Polling

200: run202: wait

trigger state

Page 18: Azure Logic Apps

www.wpc2015.it – [email protected] - +39 02 365738.11 - #wpc15it 18

DEMO

Page 19: Azure Logic Apps

www.wpc2015.it – [email protected] - +39 02 365738.11 - #wpc15it 19

Conclusioni

• DEVs Studio 2012) OEC107 Cloud Computing con Microsoft Azure MOC10978 Introduction to Azure for Developers

(studenti) MOC20487 Developing Windows Azure and Web

Services (Visual Studio 2012) MOC20532 Developing Microsoft Azure Solutions

• IT Pro MOC10979 Microsoft Azure® Essentials MOC20533 Implementing Microsoft Azure Infrastructure

Solutions

Page 20: Azure Logic Apps

www.wpc2015.it – [email protected] - +39 02 365738.11 - #wpc15it 20

Contatti OverNet Education

OverNet [email protected]. 02 365738

@overnetewww.facebook.com/OverNetEducationwww.linkedin.com/company/overnet-solutions

www.wpc2015.it

Page 21: Azure Logic Apps

www.wpc2015.it – [email protected] - +39 02 365738.11 - #wpc15it 21

Q & A

Marco Parenzanmarco [dot] parenzan [at] 1nn0va [dot] it@marco_parenzanwww.facebook.com/parenzan.marcohttps://it.linkedin.com/in/marcoparenzanhttp://www.slideshare.net/marco.parenzanhttps://github.com/marcoparenzan