azure logic apps
Embed Size (px)
TRANSCRIPT

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

www.wpc2015.it – [email protected] - +39 02 365738.11 2
Agenda
• Overview di Azure Logic Apps• Architettura di un
Workflow• Demo

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

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

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

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

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

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

www.wpc2015.it – [email protected] - +39 02 365738.11 - #wpc15it 10
Struttura JSON di un workflow
• {
• "parameters": {
• ...
• },
• "triggers": {
• ...
• },
• "actions": {
• ...
• },
• "outputs": {
• ...
• }
• }

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>" } }

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"

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

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>" ] } }

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’)”

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>" ] }

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

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

www.wpc2015.it – [email protected] - +39 02 365738.11 - #wpc15it 20
Contatti OverNet Education
OverNet Educat[email protected]. 02 365738
@overnetewww.facebook.com/OverNetEducationwww.linkedin.com/company/overnet-solutions
www.wpc2015.it

www.wpc2015.it – [email protected] - +39 02 365738.11 - #wpc15it 21
Q & A
Marco Parenzanmarco [dot] parenzan [at] 1nn0va [dot] [email protected]_parenzanwww.facebook.com/parenzan.marcohttps://it.linkedin.com/in/marcoparenzanhttp://www.slideshare.net/marco.parenzanhttps://github.com/marcoparenzan