2-707.pptx

Logic Apps

1.0x

2-707.pptx

Created 2 years ago

Duration 0:00:00
lesson view count 1012
Logic Apps
Select the file type you wish to download
Slide Content
  1. Stephen Siciliano, Senior Program Manager

    Slide 1 - Stephen Siciliano, Senior Program Manager

    • Ilya Grebnov, Principle Software Engineer
    • Logic Apps
    • 2-707
    • //build/ content is being presented by Microsoft Office Mix The video for this session will be available shortly
  2. Integration in Azure

    Slide 2 - Integration in Azure

    • Azure App Service
    • Azure
    • Charts and code
    • Screenshots
    • Agenda
  3. Slide 3

    • March ‘15
    • Azure App Service
    • Launch
    • July ‘14
    • BizTalk 2013 R2 GA
    • >1000s
    • Community Newsletter Subscribers
    • Feb ‘15
    • API Management GA
    • @ WPC
    • App Integration Partner Award Nominations
    • >100s
    • Blog Posts driving adoption & engagement
  4. Slide 4

    • Some background…
  5. Slide 5

    • Apps using Microsoft Azure
    • Agility
    • Insight
    • Hyper-scale
  6. Mobile Services

    Slide 6 - Mobile Services

    • Key app services in Azure today
    • Azure Websites
    • BizTalk Services
  7. Azure Websites

    Slide 7 - Azure Websites

    • Key Learnings
    • Easy to get started & grow up as needed
    • Rich ecosystem of templates, apps & tools
    • Cost effective yet highly scalable
    • Auto-load balance, auto-scale, GEO DR
    • Needs deeper integration with business logic
    • One of the largest Azure service!
  8. Key Learnings

    Slide 8 - Key Learnings

    • Validated the brand & cloud design patterns
    • Hybrid is critical & a differentiator
    • Feature & capability gaps:
    • Out of box sources & destinations
    • Pipeline templates, custom code support
    • Long running workflows, parallel execution
    • Needs a lot more investment!
    • BizTalk Services
  9. Slide 9

    • Learning Effort
    • Complexity of problem
    • HACK ZONE
  10. Slide 10

    • Vision
    • iPaaS
    • Leader
    • Rich
    • Ecosystem
    • Democratize
    • Integration
  11. Slide 11

    • Power BI
    • Power BI
    • YourBusiness
    • Your
    • Customers
    • YourBusiness
    • Your
    • Customers
    • Empoweryour employees
    • Engageyour customers
    • Transformyour business
  12. Slide 12

    • Power BI
    • Power BI
    • insight
    • agility
    • internet scale
    • to any device
    • APPS
    • YourBusiness
    • Your
    • Customers
    • Empoweryour employees
    • Engageyour customers
    • Transformyour business
  13. Mobile Services

    Slide 13 - Mobile Services

    • Key app services in Azure today
    • Azure Websites
    • BizTalk Services
    • Unique integrated offering
    • Build rich, engaging & intelligent apps
    • Scale as your business grows
    • Introducing Azure App Service
  14. Api Apps

    Slide 14 - Api Apps

    • Easily build and consume APIs in the cloud
    • Web Apps
    • Web apps that scale with your business
    • LOGIC Apps
    • Automate business process across SaaS and on-premises
    • Mobile Apps
    • Build Mobile apps for any device
    • One integrated offering
  15. One low price

    Slide 16 - One low price

  16. Web Apps

    Slide 17 - Web Apps

    • Full capability set available including:
    • .NET, Node.js, Java, PHP, and Python
    • WebJobs for long running tasks
    • Integrated VS publish, remote debug…
    • CI with GitHub, BitBucket, VSO
    • Auto-load balance, Autoscale, Geo DR
    • Virtual networking and hybrid connections
    • Site slots for staged deployments
    • Web apps run as-is
    • no changes required
  17. New capabilities for Mobile apps:

    Slide 18 - New capabilities for Mobile apps:

    • Webjobs for long running tasks
    • CI with GitHub, BitBucket, VSO
    • Auto-load balance, Autoscale, Geo DR
    • Virtual networking and hybrid connections
    • Site slots for staged deployments
    • Mobile services plus
    • a whole lot more
    • Mobile Apps
  18. New Logic Apps for easy automation

    Slide 19 - New Logic Apps for easy automation

    • No code designer for rapid creation
    • Dozens of pre-built templates to get started
    • Out of box support for popular SaaS and on-premises apps
    • Use with custom API apps of your own
    • Biztalk APIs for expert integration scenarios
    • Automate SaaS and
    • on-premises systems
    • LOGIC Apps
  19. Easily use cloud or custom APIs:

    Slide 20 - Easily use cloud or custom APIs:

    • Dozens of built-in APIs for popular SaaS
    • An ecosystem of APIs for any need
    • Create and publish custom, reusable APIs
    • Visual Studio tooling with one click publish and remote debugging
    • Automatic client SDK generation for many languages
    • Create, consume and
    • host APIs more easily
    • Api Apps
  20. Box

    Slide 21 - 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
    • Connectors
    • Protocols
    • BizTalk Services
    • Built-in API Connectors
  21. All of the Azure-native capabilities you’d expect

    Slide 22 - All of the Azure-native capabilities you’d expect

    • Full audit logs of all management operations
    • Role-based access control
    • Deployment lifecycle with Resource Manager
    • Resource Management API + resource PowerShell
    • On-prem support with next release of Azure Pack
  22. Target audience is anyone who can use Azure

    Slide 23 - Target audience is anyone who can use Azure

    • … but not necessarily business users or consumers
  23. Azure Resource Manager

    Slide 24 - Azure Resource Manager

    • The Azure Resource manager is a highly-scalable geo-distributed system that handles millions of resources across 100,000’s of subscriptions.
  24. Same underlying engine…

    Slide 26 - Same underlying engine…

    • Resource Manager
    • Can handle thousands of parallel deployments per stamp
    • Resilient against failure – retries with “at least once” guarantee
    • Simple, declarative JSON template
    • Automatically infers dependences between resources
    • Logic Apps
    • Can handle thousands of parallel runs per stamp
    • Resilient against failure – retries with “at least once” guarantee
    • Simple, declarative JSON definition
    • Automatically infers dependences between actions
  25. {

    Slide 27 - {

    • "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
    • "contentVersion": "1.0.0.0",
    • "variables": { "myWorkerSize": 0 },
    • "parameters": {
    • "siteName": { "type": "string" },
    • "hostingPlanName": { "type": "string" },
    • "siteLocation": { "type": "string" },
    • "sku": {
    • "type": "string",
    • "allowedValues": [ "Free", "Shared", "Basic", "Standard" ],
    • "defaultValue": "Free"
    • },
    • "workerSize": {
    • "type": "string",
    • "allowedValues": [ "0", "1", "2" ],
    • "defaultValue": "0"
    • }
    • },
    • "resources": [ {
    • "name": "myplan1",
    • "type": "Microsoft.Web/serverfarms",
    • "apiVersion": "2014-04-01-preview",
    • "location": "West US",
    • "tags": { "dept": "test" },
    • "properties": {
    • "Name": "myplan1",
    • "sku": "Free",
    • "workerSize": "[variables('myWorkerSize')]",
    • "numberOfWorkers": 1
    • }
    • },
    • {
    • "name": "[parameters('siteName')]",
    • "type": "Microsoft.Web/sites",
    • "apiVersion": "2014-04-01-preview",
    • "location": "[parameters('siteLocation')]",
    • "tags": {
    • "[concat('hidden-related:', resourceGroup().id,
    • '/providers/Microsoft.Web/serverfarms/',
    • parameters('hostingPlanName'))]": "Resource"
    • },
    • "dependsOn": [
    • "[concat('Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]"
    • ],
    • "properties": {
    • "name": "[parameters('siteName')]",
    • "serverFarm": "[parameters('hostingPlanName')]"
    • },
    • "resources": [ {
    • "name": "MSDeploy",
    • "type": "Extensions",
    • "apiVersion": "2014-04-01-preview",
    • "dependsOn": [
    • "[concat('Microsoft.Web/Sites/', parameters('siteName'))]"
    • ],
    • "properties": {
    • "packageUri": "https://auxmktplceprod.blob.core.windows.net/packages/ASPNETEmptySite.zip",
    • "dbType": "None",
    • "connectionString": "",
    • "setParameters": { "Application Path": "[parameters('siteName')]" }
    • }
    • } ]
    • } ]
    • }
    • {
    • "$schema": "http://schema.management.azure.com/providers/Microsoft.Logic/schemas/2014-12-01-preview/workflowdefinition.json#",
    • "contentVersion": "1.0.0.0",
    • "parameters": {
    • "keyword": {
    • "defaultValue": "logicapps",
    • "type": "string"
    • }
    • },
    • "triggers": {
    • "twitterconnector": {
    • "recurrence": {
    • "frequency": "Hour",
    • "interval": 1
    • },
    • "type": "ApiApp",
    • "inputs": {
    • "apiVersion": "2015-01-14",
    • "host": {
    • "id": "/subscriptions/423db32d-4f58-4220-961c-b59f14c962f1/resourcegroups/bpmdemo003/providers/Microsoft.AppService/apiapps/twitterconnector",
    • "gateway": "https://bpmdemo003423db32d4f584220961cb59f14c962f1.azurewebsites.net"
    • },
    • "operation": "TriggerOnNewTweet",
    • "parameters": {
    • "triggerId": "@workflow().name",
    • "parameters": {
    • "callbackUrl": "@accessKeys('default').primary.secretRunUri",
    • "inputs": {
    • "Keywords": "@parameters('keyword')"
    • }
    • }
    • },
    • "authentication": {
    • "type": "Raw",
    • "scheme": "Zumo",
    • "parameter": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJtc25hbWUiOiJFTUEuUmVzb3VyY2VQcm92aWRlciIsImZ1bGxyb3ciOiJhbGwiLCJ2ZXIiOiIzIiwidWlkIjoic2lkOjE0Mjc0NzcwNjcxNDAiLCJpc3MiOiJ1cm46bWljcm9zb2Z0OndpbmRvd3MtYXp1cmU6enVtbyIsImF1ZCI6InVybjptaWNyb3NvZnQ6d2luZG93cy1henVyZTp6dW1vIiwibmJmIjoxNDI3NDc3MDY5fQ.ihuWiXgyOpsG64Du6sAnRXxZGM_wtrJF0CJH0y-Rxfs"
    • }
    • },
    • "conditions": [
    • {
    • "expression": "@bool('false')"
    • }
    • ]
    • }
    • },
    • "actions": {
    • "dropboxconnector": {
    • "type": "ApiApp",
    • "inputs": {
    • "apiVersion": "2015-01-14",
    • "host": {
    • "id": "/subscriptions/423db32d-4f58-4220-961c-b59f14c962f1/resourcegroups/bpmdemo003/providers/Microsoft.AppService/apiapps/dropboxconnector",
    • "gateway": "https://bpmdemo003423db32d4f584220961cb59f14c962f1.azurewebsites.net"
    • },
    • "operation": "UploadFile",
    • "parameters": {
    • "FilePath": "@concat('tweets/logicapps/',triggers().outputs.body.Tweet_ID)",
    • "content": {
    • "Content": "@triggers().outputs.body.TweetText",
    • "ContentTransferEncoding": "None"
    • },
    • "overwrite": true
    • },
    • "authentication": {
    • "type": "Raw",
    • "scheme": "Zumo",
    • "parameter": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJtc25hbWUiOiJFTUEuUmVzb3VyY2VQcm92aWRlciIsImZ1bGxyb3ciOiJhbGwiLCJ2ZXIiOiIzIiwidWlkIjoic2lkOjE0Mjc0NzcwNjcxNDAiLCJpc3MiOiJ1cm46bWljcm9zb2Z0OndpbmRvd3MtYXp1cmU6enVtbyIsImF1ZCI6InVybjptaWNyb3NvZnQ6d2luZG93cy1henVyZTp6dW1vIiwibmJmIjoxNDI3NDc3MDY5fQ.ihuWiXgyOpsG64Du6sAnRXxZGM_wtrJF0CJH0y-Rxfs"
    • }
    • },
    • "conditions": [ ]
    • }
    • },
    • "outputs": { }
    • }
  26. … more power

    Slide 28 - … more power

    • Resource Manager
    • 8 functions for basic referencing and string functions
    • Can only PUT resources into resource groups
    • Auth must be through AAD
    • Triggered manual through API
    • Logic Apps
    • Over 50 functions from string manipulations to math, to sets operations, to logical operators
    • All HTTP operations supported on any arbitrary endpoint
    • Supports many OAuth providers, AAD, Cert auth, or Basic auth
    • 4 different ways to be triggered
  27. Basic scenario

    Slide 29 - Basic scenario

    • Using WebHooks to start a workflow
  28. User adds an item to a list in their Mobile app

    Slide 30 - User adds an item to a list in their Mobile app

    • Mobile app has the callback URI for the workflow
    • When the callback URI is called, the workflow immediately starts the “first*” action
    • All dependent actions in the workflow continue as normal
  29. Actions with simple orchestration

    Slide 31 - Actions with simple orchestration

    • 3 ways to introduce dependences between actions:
    • Implicitly – whenever you reference the output of an action you’ll depend on that action executing first
    • Explicit “dependsOn” condition – you can mark certain actions to run only after previous ones have completed“dependsOn” : “twitterconnector”
    • Explicit “expression” condition – a complex function that evaluates properties of other actions“expression” : “@equals(actions(‘twitterconnector’).code, ‘InternalServerError’)”
  30. Actions that run in parallel will

    Slide 32 - Actions that run in parallel will

  31. Triggering a Logic app “Run”

    Slide 33 - Triggering a Logic app “Run”

    • Recurring schedule – “every X hours”
    • Polling an API for a response
    • A 200 response means “run” -- a 202 response means “wait”
    • Can use trigger state to get information on the previous execution
    • Registering an API App to “push” to a workflow
    • Using a custom contract implemented for API Apps
    • WebHook
    • Every workflow has an endpoint you can POST to from any web service
    • Supports Basic auth for simple systems
    • Manually
    • User can click the “Run Now” button in the portal
  32. The Next Level

    Slide 34 - The Next Level

  33. Repeating

    Slide 35 - Repeating

    • Loop a single action over a list of items
    • Runs the action N times
    • You can get at all of the statuses for each action
    • Tip: when you have multiple collections use:
    • "repeat" : "@range(0,length(body('connector1')))"
    • "inputs" : "@concat(body('connector1')[repeatItem()], body('connector2')[repeatItem()])"
  34. Conditionals

    Slide 36 - Conditionals

    • Logic on a trigger or action
    • For triggers conditionals are post-conditions
    • For actions conditionals are pre-conditions
    • You can do conditionals inside of repeats to perform as a filter
  35. Parameters

    Slide 37 - Parameters

    • Dev Workflow
    • Prod Workflow
    • Definition
    • Declares parameters
    • Uri: @parameters (‘endpoint’)
    • Definition
    • (identical)
    • Declares same parameters
    • Uri: @parameters (‘endpoint’)
    • Parameters
    • Provides DEV config
    • Endpoint : “http://int.mysite.net”
    • Parameters
    • Provides PROD config
    • Endpoint : “http://mysite.net”
    • Re-using values, or even complex objects, throughout the definition, which makes it easier to comprehend
    • Separate out config from the definition itself, making sharing easy, as well as across different environments.
  36. Messages

    Slide 38 - Messages

    • Large message support is built-in (<100 MB)
    • To handle binary blobs of data you can:
    • 1. Externalize state (save it to Azure storage)
    • 2. Base64 encode it and return it directly in the workflow (workflows are JSON)
    • All messages are archived
    • Retention period depends on the App Service plan
  37. Debugging tips

    Slide 39 - Debugging tips

    • Try calling the API App directly:
    • POST {gatewayURI}/api/service/invoke/{api app name}/{operation name}?api-version=2015-01-14
    • x-zumo-auth : {your token}
    • This may be a faster way to iterate if you are seeing failures
    • Use requestb.in to debug triggers – you can inspect all incoming requests
    • Enable logging for the Web app hosting the API App
    • *New* you can Cancel a Run if it is failed
  38. EAI Features

    Slide 40 - EAI Features

    • v1
    • v2
    • XML Transformation
    • Validation
    • Content Based Routing
    • Request Response
    • AD Auth
    • OAuth
    • Flat File
    • JSON
    • XML
    • Connector Extensibility
    • Custom Code
    • B2B Features
    • v1
    • v2
    • AS2 / X12 / EDIFACT
    • Agreement Decoupling
    • Batching / De-batching
    • Archiving
    • Transform
    • Trading Partner Management (API & Portal
    • Vertical Extensibility
    • Tracking
    • Customer Code
    • Workflow Features
    • v1
    • v2
    • Long Running
    • Browser Designer
    • Control Flow
    • Instance Management
    • Tracking
    • Large Messages (1GB)
    • Config Support
    • Expressions
    • Rules Features
    • v1
    • v2
    • Vocabulary
    • Policy
    • Sources (XML only today)
    • Test Policy
    • Browser Rule Editing
    • Other Features
    • v1
    • v2
    • OOB Connectors
    • Marketplace
    • Hybrid Connectivity
    • Custom Code Isolation
    • Unified Portal
    • Auto Update with Opt Out
    • V1 = BizTalk Services
    • V2 = App Services (BizTalk + Logic)
  39. Api Apps

    Slide 41 - Api Apps

    • Easily build and consume APIs in the cloud
    • Web Apps
    • Web apps that scale with your business
    • LOGIC Apps
    • Automate business process across SaaS and on-premises
    • Mobile Apps
    • Build Mobile apps for any device
    • App Service
  40. Slide 42

    • Get Started w/ App Service!
    • Logic & API Apps in preview
    • Build & submit your API Apps (connectors)
    • Get started for free @ azure.com
  41. Slide 43

    • RoadmapInvestments
    • Feedback & data-driven development
    • Ship Azure App Service on-premises
    • Ship major version of BizTalk Server in 2016
    • Grow the Ecosystem & Community
  42. Slide 44

    • Resources
    • PMs, MVPs & community @ //build/
    • https://tryappservice.azure.com
    • Twitter: @iscsus, #BizTalkSummit2015
  43. Slide 45

    • Thank you!
  44. Improve your skills by enrolling in our free cloud development courses at the Microsoft Virtual Academy.

    Slide 46 - Improve your skills by enrolling in our free cloud development courses at the Microsoft Virtual Academy.

    • Try Microsoft Azure for free and deploy your first cloud solution in under 5 minutes!
    • Easily build web and mobile apps for any platform with AzureAppService for free.
    • Resources