presenta – #wpc15it1 Overview di Azure Logic Apps Marco Parenzan – Microsoft Azure MVP
Agenda Overview di Azure Logic Apps Architettura di un Workflow Demo –
Modellare una applicazione con PaaS in Azure – API APPS Costruisci e consuma API nel Cloud WEB APPS Applicazione che scalano con il tuo business LOGIC APPS Automatizza i processi di business attraverso SaaS e on-premises MOBILE APPS Applicazioni mobile per ogni dispositivo
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 – #wpc15it4
Modello per le Logic App Workflow Processo espresso da un flusso (il dato viene elaborato in vari step) Step fatto di API Il workflow è un orchestratore Un mondo di «microservices» Connettori API pubbliche (SaaS) WebHooks – #wpc15it5
Workflow Integrazione – #wpc15it6 Learning/C oding Effort Complexity of problem 6 BizTalk Services BizTalk Server First version of BizTalk build ‘cloud- up’ Already running mission critical workload for large customers Leader in integration on-premises Handles mission critical workloads for hundreds of customers Renowned brand
Connettori – #wpc15it7 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
Esperienza «designer» – #wpc15it8
Struttura JSON di un workflow { "parameters": {... }, "triggers": {... }, "actions": {... }, "outputs": {... } – #wpc15it9
Azioni L’azione è composta da Una precondizione di esecuzione Un loop di esecuzione sugli input – #wpc15it10 " ": { "type": "Http|ApiApp|Workflow", "conditions": [ " " ], "repeat": " ", "inputs": { " " 100)) 0)) triggers().previous.outputs.body.articleId)) value change
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: Or in form of string interpolation exp } …" Expressions evaluation Static (agnostic to execution context): 5)" Dynamic (can only evaluated at runtime): – )) 0)) triggers().previous.outputs.body.articleId)) value change
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 – #wpc15it12
Parametri Servono a differenziare la definizione (del particolare workflow) dalla configurazione (del particolare ambiente) – #wpc15it13 "parameters": { " ": { "type": " ", "defaultValue": " ", "allowedValues": [ " " ] }
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” : ‘InternalServerError’)” – #wpc15it14
Triggers Definiscono come il workflow può svegliarsi – #wpc15it15 " ": { "type": "Http|ApiApp|Recurrence", "inputs": { " " }, "recurrence": { "frequency": "Second|Minute|Hour|Week|Month|Year", "interval": " " }, "conditions": [ " " ] }
WebHook POST { “outputs”: { “par”: 20 } Tipi di Trigger – #wpc15it16 Manuale RicorrenzaAPI App Trigger API Polling 200: run 202: wait trigger state
DEMO – #wpc15it17
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 – #wpc15it18
Contatti OverNet Education OverNet Education Tel – #wpc15it19
Q & A Marco Parenzan marco [dot] parenzan [at] 1nn0va [dot] – #wpc15it20