Presentation delivered by Dan Toomey at the 2017 Global Integration Bootcamp in Brisbane. Some slides are courtesy of the Pro Integration product team at Microsoft, and also a number of slides borrowed from Paco de la Cruz (Mexia).
6. #gib2017
“Serverlessness” of Logic Apps and Functions
No need to worry about VMs/PaaS VMs
No need to worry about resources but events
DevOps focus on code, deployment and managing
the app, but not the platform.
Pay per action or execution time.
Born, live and die on the cloud (develop, test and ship)
7. #gib2017
Logic Apps and Functions in Integration
Implement and orchestrate visually
designed integration workflows
Orchestrate distributed microservices
100+ Connectors (Protocols, SaaS apps
and services, and hybrid)
B2B Integrations with AS2 and EDI
Languages supported: C#, F#, Node.js,
Php, PowerShell, Python, bash, batch.
Implement code-based microservices
Different Trigger, Input and Output
bindings
Synchronous and Asynchronous
execution
20. #gib2017
Microsoft Azure iPaaS
Logic Apps
API Management
FunctionsService Bus
Connectors
HTTPFTP HTTP Swagger RSSHTTP
Response
HTTP
Request
SFTP SMTP
Webhook
appFigures Asana Basecamp 3 Bitly Blogger
Campfire Dropbox
Box
Dynamics 365 Dynamics 365
for Financials
Dynamics 365
for Operations
Easy Redmine
Facebook GitHub Google
Calendar
GoToMeetingGoogle TasksGoogle
Sheets
HideKey HipChat Insightly Instagram Instapaper
Bing Search Buffer
Chatter DocuSign
FreshDesk Google Drive
Harvest HelloSign JIRA
Azure and Power Apps Services SaaS Apps and Services Protocols
BizTalkServer DB2 Informix SharePoint SQL Server File System Websphere
MQ
SAP
Connector
Hybrid ConnectivityB2B, EDI, AS2 and XML
API/Web App Azure
DocumentDB
AzureML Azure
Functions
AzureBlob
Storage
Nested
Logic App
Service BusPower BI
Azure
Queues
Resource
Manager
Congnitive Svc
Face API
CognitiveSvc
Text Analytics
Common Data
Service
Event HubsCognitiveSvc
LUIS
SQL Azure
API Apps
23. #gib2017
Lab #4 Prerequisites
Azure Subscription
Azure Storage Explorer (http://storageexplorer.com)
Postman (https://www.getpostman.com/)
Outlook.com email account
TableCustomerDiscount.csv
(in your setup files or use link in lab doco)
Interested in all things integration – which of course includes MS Flow
BYO – Data centre, or “server room”; HA?
IaaS – Rent a server
PaaS – Rent a Platform (worry about the app, not the server)
“Serverless” – just gimme the app!
Azure Functions supports an event based on a timer using CRON job syntax. For example, you could execute code that runs every 15 minutes and cleans up a database table based on custom business logic.
Azure Functions supports triggering an event based on an activity in an Azure service. For example, you could execute serverless code that reads newly discovered test log files in an Azure Blob Storage container and transforms this into a row in an Azure SQL Database table.
Azure Functions can power a single page app. The app calls functions using the WebHook URL, saving user data and deciding what data to display. Or, you can do simple customizations, such as changing ad targeting by calling a function and passing it user profile information.
Azure Functions supports triggers based on activity in a SaaS service. For example, when a file is saved in OneDrive, this triggers a function that uses the Microsoft Graph API to modify the spreadsheet, creating additional charts and calculated data.
For example, IoT devices send messages to Azure Stream Analytics, which then calls an Azure Function to transform the message. This function processes the data and creates a new record in an Azure SQL Database.
Azure Functions can be used to customize the behavior of a bot using a WebHook. For example, you can create an Azure Function that processes a message using Cortana Analytics and call this function using Bot Framework.
In this fourth lab, we will be receiving the orders from the business customer’s topic in a new Logic App, and check the total amount of the invoice. In case the customer placed a large order (over $50000), we will create a task for one of our sales employees to contact the customer to verify the order. In case the order is correct, the invoice will be emailed to the customer. The Logic App will then call a function, in which we will check a storage table to determine how much discount the customer will be given (based on the total order amount), and finally will place a file on blob storage, which will be used by an employee to refund the customer.