SlideShare a Scribd company logo
Sponsored & Brought to you by
Building Push Triggers for Logic Apps
Nicholas Hauenstein
http://www.twitter.com/nickhauenstein
https://www.linkedin.com/in/nickhauenstein
Building Push
Triggers for Logic
Apps
Nick Hauenstein
Microsoft Integration MVP
Principal Software Development Engineer, QuickLearn Training
@nickhauenstein
About Me
Nick Hauenstein nickh@quicklearn.com
 17 years development experience
 14 years .NET experience
 Integration entry point: BizTalk Server 2006
 Member of the ESB Toolkit 2.0 Team
 Blogger (quicklearn.com/blog)
 200+ pages on BizTalk Server 2013 & 2013 R2
Granted rights to display all these nifty icons:
Let’s start with a story…
Typical Tech Conference Exhibitor Experience
1.
2.
3.
After the Conference
1. Data is retrieved from device in CSV format
2. CSV file is emailed around
3. CSV file is eventually imported into CRM system
Technical Conference Exhibitor Experience
There must be a better way…
Three Eras of Computing
Evolution of the Smart Fridge
 First Generation: Put a tablet in the door
 Second Generation: No screen, adds
local device communication
 Generation of Integration: Sensors,
social, offers
Sample “Experience”
Your favorite sports
team is playing
tomorrow and you
invited Alice and Bob
over, would you like to
get some more beer?
Yes.
Would you like a 6-pack
or a full case?
Two simple equations
 Internet of Things = Smart Things
 Internet of Things + Integration = Magic Things
What Happens When Integration Meets IoT?
Building Push Triggers for Logic Apps
Microsoft Azure App Service
Logic Apps
 Framework for building and
running cloud-hosted
workflows
 Comprised of API Apps which
provide behaviors and
connections
 Think adapters and pipeline
components
What Are Logic Apps?
During the Conference
1. Attendees approach booth
2. Attendees make eye contact
3. Exhibitor scans attendee badge (barcode, QR, NFC)
4. Scan data is sent to awaiting Logic App(s)
5. Logic App(s) create leads in CRM system
 Leads qualified/disqualified based on publicly available
company data?
 Targeted drip marketing campaign scheduled based on
date/GPS coordinates scanned?
Technical Conference “Experience”
Triggering a Logic App
How Do Push Triggers Work?
Push Trigger
API App
Imagine that we’re building the Azure equivalent of
a BizTalk Server Receive Adapter that receives data in
an event-driven fashion.
You Lost Me, What Am I Looking At?
Hello API App World
Examining the Azure API App Template
Routes
 Map inbound HTTP requests to methods that handle those
requests
 Defined through class/method-level attributes
Controllers
 Classes implementing API logic within methods designed to
handle incoming HTTP requests
 May derive from ApiController*
Models
 Classes that model the shape of API inputs/outputs
Key Components of a Web API Application
Exploring the Swashbuckle Configuration
SwaggerConfig.cs
 Contains commented
documentation and
sample code inline to
guide you in emitting
appropriate swagger
metadata for your
operations
Logic App designer can natively consume Web APIs
 Cards will show all possible operations
 Operations and parameters may have unfriendly names
 Operations and parameters will lack meaningful
descriptions
Metadata can be added to API Apps to make them
more friendly in the Logic Apps designer
 The T-Rex Metadata Library NuGet package can help
Exposing Functionality to Logic Apps
Introducing the T-Rex Metadata Library
T-Rex Provides .NET
Attributes
 Can be used to decorate
methods/parameters with
designer names and
descriptions
 Can be used to indicate
triggers
T-Rex Provides Swashbuckle
Filters
 Swashbuckle filters change
how swagger metadata is
generated so that it includes
data from .NET attributes
Source Code / Documentation
 https://github.com/nihaue/trex
NuGet Package
 http://www.nuget.org/packages/trex
Implementing Triggers
Special Considerations for Push Triggers
 Special metadata must be added to indicate a given
action is used for push callback registration
 T-Rex Metadata Library provides the Trigger attribute
 triggerId string input is expected as first parameter of
callback registration method
 Contains the name of the requesting Logic App by default
Additional Steps Required for Building Triggers
Special Considerations for Push Triggers
 TriggerInput<TInput, TOutput> is expected as
parameter of callback registration
 Logic App provides requested callback configuration data
through this parameter
 Logic App infers shape of incoming data through this parameter
Additional Steps Required for Building Triggers
Special Considerations for Push Triggers
 Callback registration method is expected to return a
specific response
 Azure App Service SDK provides
Request.PushTriggerRegistered extension method to assist
Additional Steps Required for Building Triggers
using Microsoft.Azure.AppService.ApiApps.Service;
using TRex.Metadata;
/* ... */
[Trigger(TriggerType.Push, typeof(SamplePushEventModel))]
[Metadata("Receive Simulated Push")]
[HttpPut, Route("{triggerId}")]
public HttpResponseMessage RegisterCallback(
string triggerId,
[FromBody]TriggerInput<SamplePushConfig, SamplePushEventModel> parameters)
{
/* ... */
}
Defining a Push Trigger Action Method
Trigger attribute causes metadata to be generated indicating
that this is the callback registration method for a push trigger
TriggerInput<TInput, TOutput> provides
shape of the input expected on the Logic App
designer card, and shape out push trigger output
// Notify the Logic App that the callback was registered
return Request.PushTriggerRegistered(parameters.GetCallback());
Responding That Push Trigger Callback Was Registered
PushTriggerRegistered extension
method creates appropriate
HttpResponseMessage indicating
callback registration was successful
Demo: Building an NFC Push Trigger
In this demonstration, you will see how to…
 Read data from an NFC card in a Universal Windows App
 Implement a Push Trigger
 Invoke a Push Trigger Callback
Your Homework
Push-Button Push Trigger
Push-Button Push Trigger for Logic Apps
Parts Required to Build
 http://www.amazon.co.uk/dp/B00T2U7R7I
 http://www.amazon.co.uk/dp/B00L2X1X9Q
 http://www.amazon.co.uk/dp/B00KBXTO26
 http://www.amazon.co.uk/dp/B00976KDBY
Sample Code
 http://bit.ly/1OOddFN
 https://github.com/nihaue/PushButtonPushTrigger
Demo: Push-Button Push Trigger in Action
In this demonstration, you will see…
 How to trigger a Logic App with the press of a button
Read the NFC Push Trigger Write-Up + Source Code
 http://bit.ly/1Myimgz
Attend the Hackathon This Weekend
 http://bit.ly/1Rjzo5N
Take a Class & Get Your Own Push-Button Push Trigger
 http://bit.ly/1RR7H5l
Stay Tuned for the Push-Button Push Trigger Write-Up
 http://bit.ly/1LjzWY5
What Now? Take a Photo of This Slide

More Related Content

What's hot (20)

PPTX
Integrating SaaS application using Microsoft’s Azure App Service Platform
BizTalk360
 
PPTX
Logic Apps – Deployments
BizTalk360
 
PPTX
Public v1 real world example of azure functions serverless conf london 2016
Yochay Kiriaty
 
PPTX
Integration Tales: Logic & API apps to the rescue!
Sandro Pereira
 
PPTX
Microsoft Azure Logic apps
CloudFronts Technologies LLP.
 
PPTX
The Hitchhiker’s Guide to Hybrid Connectivity
BizTalk360
 
PPTX
Building loosely coupled integrations with Logic Apps
BizTalk360
 
PPTX
Azure API Apps
BizTalk360
 
PPTX
Serverless Architecture - Azure Logic apps
Puneet Ghanshani
 
PPTX
Connector API Apps
BizTalk360
 
PDF
O365Con18 - Create an Immersive Experience with Office365 Data and Mixed Real...
NCCOMMS
 
PPTX
Introduction to Azure Functions
Marco Parenzan
 
PPTX
Introduction to Microsoft Azure App Service (Logic and API Apps)
Sandro Pereira
 
PPTX
Azure App Service
BizTalk360
 
PDF
O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...
NCCOMMS
 
PPTX
Azure Functions VS AWS Lambda: overview and comparison
Alex Zyl
 
PPTX
Code Camp Auckland 2015 - DEV1 Microsoft API Approaches 101
Nikolai Blackie
 
PPTX
Azure functions
The Incredible Automation Day
 
PPTX
SPConnect2014 Office 365 APIs
Wes Hackett
 
PPTX
First Look at Azure Logic Apps (BAUG)
Daniel Toomey
 
Integrating SaaS application using Microsoft’s Azure App Service Platform
BizTalk360
 
Logic Apps – Deployments
BizTalk360
 
Public v1 real world example of azure functions serverless conf london 2016
Yochay Kiriaty
 
Integration Tales: Logic & API apps to the rescue!
Sandro Pereira
 
Microsoft Azure Logic apps
CloudFronts Technologies LLP.
 
The Hitchhiker’s Guide to Hybrid Connectivity
BizTalk360
 
Building loosely coupled integrations with Logic Apps
BizTalk360
 
Azure API Apps
BizTalk360
 
Serverless Architecture - Azure Logic apps
Puneet Ghanshani
 
Connector API Apps
BizTalk360
 
O365Con18 - Create an Immersive Experience with Office365 Data and Mixed Real...
NCCOMMS
 
Introduction to Azure Functions
Marco Parenzan
 
Introduction to Microsoft Azure App Service (Logic and API Apps)
Sandro Pereira
 
Azure App Service
BizTalk360
 
O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...
NCCOMMS
 
Azure Functions VS AWS Lambda: overview and comparison
Alex Zyl
 
Code Camp Auckland 2015 - DEV1 Microsoft API Approaches 101
Nikolai Blackie
 
SPConnect2014 Office 365 APIs
Wes Hackett
 
First Look at Azure Logic Apps (BAUG)
Daniel Toomey
 

Viewers also liked (20)

PPTX
Serverless tools for integrating systems
BizTalk360
 
PPTX
Using ELK-Stack (Elasticsearch, Logstash and Kibana) with BizTalk Server
BizTalk360
 
PPTX
Fighting for the Future of the Social Web: Selling Out and Opening Up
Joseph Smarr
 
PPTX
Azure DocumentDB for Healthcare Integration - Part 2
BizTalk360
 
PPTX
Mobile, Loyalty & Advocacy
addictive
 
PPTX
Addictive Mobile Presentation
agenda21
 
PPTX
Android gestures v1
Milind Chaskar
 
PPTX
Marketing plan of an android app
Mahesh Naik Tejavath
 
PPTX
Introduction (1/6)
Roberta Cuel
 
PDF
ENGAGE 2015 - Inn-App Retargeting On Mobile Devices The Way Forward - Addicti...
IAB Canada
 
PDF
Microinteractions in web and mobile design
Pablo Peinó Ardura
 
PPTX
Introduction to Microsoft Flow & PowerApps
JoAnna Cheshire
 
PPTX
PowerApps Deep Dive
SPC Adriatics
 
PPTX
The ART of Modern Azure Deployments
BizTalk360
 
PPTX
Biz talk summit 2015 – Warm up – Azure Event Hubs
BizTalk360
 
PPTX
Power Up with PowerApps
Bobby Chang
 
PPTX
Creating reusable pieces in Logic Apps
BizTalk360
 
PPTX
The top integration features you probably didn’t know existed in Service Bus
BizTalk360
 
PPTX
Azure Web Jobs
BizTalk360
 
PPTX
What to look for in an integration platform
BizTalk360
 
Serverless tools for integrating systems
BizTalk360
 
Using ELK-Stack (Elasticsearch, Logstash and Kibana) with BizTalk Server
BizTalk360
 
Fighting for the Future of the Social Web: Selling Out and Opening Up
Joseph Smarr
 
Azure DocumentDB for Healthcare Integration - Part 2
BizTalk360
 
Mobile, Loyalty & Advocacy
addictive
 
Addictive Mobile Presentation
agenda21
 
Android gestures v1
Milind Chaskar
 
Marketing plan of an android app
Mahesh Naik Tejavath
 
Introduction (1/6)
Roberta Cuel
 
ENGAGE 2015 - Inn-App Retargeting On Mobile Devices The Way Forward - Addicti...
IAB Canada
 
Microinteractions in web and mobile design
Pablo Peinó Ardura
 
Introduction to Microsoft Flow & PowerApps
JoAnna Cheshire
 
PowerApps Deep Dive
SPC Adriatics
 
The ART of Modern Azure Deployments
BizTalk360
 
Biz talk summit 2015 – Warm up – Azure Event Hubs
BizTalk360
 
Power Up with PowerApps
Bobby Chang
 
Creating reusable pieces in Logic Apps
BizTalk360
 
The top integration features you probably didn’t know existed in Service Bus
BizTalk360
 
Azure Web Jobs
BizTalk360
 
What to look for in an integration platform
BizTalk360
 
Ad

Similar to Building Push Triggers for Logic Apps (20)

PPTX
Azure Logic Apps
BizTalk360
 
PDF
Creating azure logic app for salesforce integration | Webner
ChandanWebner
 
PPTX
Logic appsforbeginners
Mandar Dharmadhikari
 
PPTX
Tech UG - Newcastle 09-17 - logic apps
Michael Stephenson
 
PDF
IT PRO | Connections 2020 : Introduction to Logic Apps and automation solutio...
George Grammatikos
 
PPTX
Azure Logic, API & Mobile Apps
HARIHARAN R
 
PPTX
GIB 2017 - Azure function and logic apps better together
Wagner Silveira
 
PPTX
GAB 2017 - Logic Apps and Azure Functions
Wagner Silveira
 
PDF
Building Business Applications in Office 365 SharePoint Online Using Logic Apps
Prashant G Bhoyar (Microsoft MVP)
 
PPTX
Azure logic app
Thi Nguyen Dinh
 
PPTX
Azure Logic Apps & AI - Building Integration & AI Solutions
Daniel Toomey
 
PPTX
Introduction to Azure logic apps
George Grammatikos
 
PPTX
Route your triggers like a pro #DF18
Daniel Stange
 
PPTX
Automatizacion de Procesos en Modelos Tabulares
Gaston Cruz
 
PDF
Creating a workflow with Azure Logic and API Apps
Avanade Nederland
 
PPTX
App Services - Connecting the dots of Web Mobile and Integration_published
Wagner Silveira
 
PPTX
Serverless integrations using Azure Logic Apps (intro)
Callon Campbell
 
PPTX
Azure Logic Apps
Azure Riyadh User Group
 
PPTX
Using logic apps for dynamics 365 integration
Peter Haggert
 
PPTX
Global Azure BootCamp: Azure Logic Apps
David Schneider
 
Azure Logic Apps
BizTalk360
 
Creating azure logic app for salesforce integration | Webner
ChandanWebner
 
Logic appsforbeginners
Mandar Dharmadhikari
 
Tech UG - Newcastle 09-17 - logic apps
Michael Stephenson
 
IT PRO | Connections 2020 : Introduction to Logic Apps and automation solutio...
George Grammatikos
 
Azure Logic, API & Mobile Apps
HARIHARAN R
 
GIB 2017 - Azure function and logic apps better together
Wagner Silveira
 
GAB 2017 - Logic Apps and Azure Functions
Wagner Silveira
 
Building Business Applications in Office 365 SharePoint Online Using Logic Apps
Prashant G Bhoyar (Microsoft MVP)
 
Azure logic app
Thi Nguyen Dinh
 
Azure Logic Apps & AI - Building Integration & AI Solutions
Daniel Toomey
 
Introduction to Azure logic apps
George Grammatikos
 
Route your triggers like a pro #DF18
Daniel Stange
 
Automatizacion de Procesos en Modelos Tabulares
Gaston Cruz
 
Creating a workflow with Azure Logic and API Apps
Avanade Nederland
 
App Services - Connecting the dots of Web Mobile and Integration_published
Wagner Silveira
 
Serverless integrations using Azure Logic Apps (intro)
Callon Campbell
 
Azure Logic Apps
Azure Riyadh User Group
 
Using logic apps for dynamics 365 integration
Peter Haggert
 
Global Azure BootCamp: Azure Logic Apps
David Schneider
 
Ad

More from BizTalk360 (20)

PPTX
Optimise Business Activity Tracking – Insights from Smurfit Kappa
BizTalk360
 
PPTX
Optimise Business Activity Tracking – Insights from Smurfit Kappa
BizTalk360
 
PPTX
What's inside "migrating to biz talk server 2020" Book (BizTalk360 Webinar)
BizTalk360
 
PPTX
Integration Monday - Logic Apps: Development Experiences
BizTalk360
 
PPTX
Integration Monday - BizTalk Migrator Deep Dive
BizTalk360
 
PPTX
Testing for Logic App Solutions | Integration Monday
BizTalk360
 
PPTX
No-Slides
BizTalk360
 
PPTX
System Integration using Reactive Programming | Integration Monday
BizTalk360
 
PPTX
Building workflow solution with Microsoft Azure and Cloud | Integration Monday
BizTalk360
 
PPTX
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...
BizTalk360
 
PPTX
Migrating BizTalk Solutions to Azure: Mapping Messages | Integration Monday
BizTalk360
 
PPTX
Integration-Monday-Infrastructure-As-Code-With-Terraform
BizTalk360
 
PDF
Integration-Monday-Stateful-Programming-Models-Serverless-Functions
BizTalk360
 
PPTX
Integration-Monday-Serverless-Slackbots-with-Azure-Durable-Functions
BizTalk360
 
PPTX
Integration-Monday-Building-Stateful-Workloads-Kubernetes
BizTalk360
 
PPTX
Integration-Monday-Logic-Apps-Tips-Tricks
BizTalk360
 
PPTX
Integration-Monday-Terraform-Serverless
BizTalk360
 
PPTX
Integration-Monday-Microsoft-Power-Platform
BizTalk360
 
PDF
One name unify them all
BizTalk360
 
PPTX
Securely Publishing Azure Services
BizTalk360
 
Optimise Business Activity Tracking – Insights from Smurfit Kappa
BizTalk360
 
Optimise Business Activity Tracking – Insights from Smurfit Kappa
BizTalk360
 
What's inside "migrating to biz talk server 2020" Book (BizTalk360 Webinar)
BizTalk360
 
Integration Monday - Logic Apps: Development Experiences
BizTalk360
 
Integration Monday - BizTalk Migrator Deep Dive
BizTalk360
 
Testing for Logic App Solutions | Integration Monday
BizTalk360
 
No-Slides
BizTalk360
 
System Integration using Reactive Programming | Integration Monday
BizTalk360
 
Building workflow solution with Microsoft Azure and Cloud | Integration Monday
BizTalk360
 
Serverless Minimalism: How to architect your apps to save 98% on your Azure b...
BizTalk360
 
Migrating BizTalk Solutions to Azure: Mapping Messages | Integration Monday
BizTalk360
 
Integration-Monday-Infrastructure-As-Code-With-Terraform
BizTalk360
 
Integration-Monday-Stateful-Programming-Models-Serverless-Functions
BizTalk360
 
Integration-Monday-Serverless-Slackbots-with-Azure-Durable-Functions
BizTalk360
 
Integration-Monday-Building-Stateful-Workloads-Kubernetes
BizTalk360
 
Integration-Monday-Logic-Apps-Tips-Tricks
BizTalk360
 
Integration-Monday-Terraform-Serverless
BizTalk360
 
Integration-Monday-Microsoft-Power-Platform
BizTalk360
 
One name unify them all
BizTalk360
 
Securely Publishing Azure Services
BizTalk360
 

Recently uploaded (20)

PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
Biography of Daniel Podor.pdf
Daniel Podor
 
PDF
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
Biography of Daniel Podor.pdf
Daniel Podor
 
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 

Building Push Triggers for Logic Apps

  • 1. Sponsored & Brought to you by Building Push Triggers for Logic Apps Nicholas Hauenstein http://www.twitter.com/nickhauenstein https://www.linkedin.com/in/nickhauenstein
  • 2. Building Push Triggers for Logic Apps Nick Hauenstein Microsoft Integration MVP Principal Software Development Engineer, QuickLearn Training @nickhauenstein
  • 3. About Me Nick Hauenstein [email protected]  17 years development experience  14 years .NET experience  Integration entry point: BizTalk Server 2006  Member of the ESB Toolkit 2.0 Team  Blogger (quicklearn.com/blog)  200+ pages on BizTalk Server 2013 & 2013 R2 Granted rights to display all these nifty icons:
  • 4. Let’s start with a story…
  • 5. Typical Tech Conference Exhibitor Experience 1. 2. 3.
  • 6. After the Conference 1. Data is retrieved from device in CSV format 2. CSV file is emailed around 3. CSV file is eventually imported into CRM system Technical Conference Exhibitor Experience
  • 7. There must be a better way…
  • 8. Three Eras of Computing
  • 9. Evolution of the Smart Fridge  First Generation: Put a tablet in the door  Second Generation: No screen, adds local device communication  Generation of Integration: Sensors, social, offers Sample “Experience” Your favorite sports team is playing tomorrow and you invited Alice and Bob over, would you like to get some more beer? Yes. Would you like a 6-pack or a full case?
  • 10. Two simple equations  Internet of Things = Smart Things  Internet of Things + Integration = Magic Things What Happens When Integration Meets IoT?
  • 12. Microsoft Azure App Service Logic Apps  Framework for building and running cloud-hosted workflows  Comprised of API Apps which provide behaviors and connections  Think adapters and pipeline components What Are Logic Apps?
  • 13. During the Conference 1. Attendees approach booth 2. Attendees make eye contact 3. Exhibitor scans attendee badge (barcode, QR, NFC) 4. Scan data is sent to awaiting Logic App(s) 5. Logic App(s) create leads in CRM system  Leads qualified/disqualified based on publicly available company data?  Targeted drip marketing campaign scheduled based on date/GPS coordinates scanned? Technical Conference “Experience”
  • 15. How Do Push Triggers Work? Push Trigger API App
  • 16. Imagine that we’re building the Azure equivalent of a BizTalk Server Receive Adapter that receives data in an event-driven fashion. You Lost Me, What Am I Looking At?
  • 17. Hello API App World
  • 18. Examining the Azure API App Template
  • 19. Routes  Map inbound HTTP requests to methods that handle those requests  Defined through class/method-level attributes Controllers  Classes implementing API logic within methods designed to handle incoming HTTP requests  May derive from ApiController* Models  Classes that model the shape of API inputs/outputs Key Components of a Web API Application
  • 20. Exploring the Swashbuckle Configuration SwaggerConfig.cs  Contains commented documentation and sample code inline to guide you in emitting appropriate swagger metadata for your operations
  • 21. Logic App designer can natively consume Web APIs  Cards will show all possible operations  Operations and parameters may have unfriendly names  Operations and parameters will lack meaningful descriptions Metadata can be added to API Apps to make them more friendly in the Logic Apps designer  The T-Rex Metadata Library NuGet package can help Exposing Functionality to Logic Apps
  • 22. Introducing the T-Rex Metadata Library T-Rex Provides .NET Attributes  Can be used to decorate methods/parameters with designer names and descriptions  Can be used to indicate triggers T-Rex Provides Swashbuckle Filters  Swashbuckle filters change how swagger metadata is generated so that it includes data from .NET attributes Source Code / Documentation  https://github.com/nihaue/trex NuGet Package  http://www.nuget.org/packages/trex
  • 24. Special Considerations for Push Triggers  Special metadata must be added to indicate a given action is used for push callback registration  T-Rex Metadata Library provides the Trigger attribute  triggerId string input is expected as first parameter of callback registration method  Contains the name of the requesting Logic App by default Additional Steps Required for Building Triggers
  • 25. Special Considerations for Push Triggers  TriggerInput<TInput, TOutput> is expected as parameter of callback registration  Logic App provides requested callback configuration data through this parameter  Logic App infers shape of incoming data through this parameter Additional Steps Required for Building Triggers
  • 26. Special Considerations for Push Triggers  Callback registration method is expected to return a specific response  Azure App Service SDK provides Request.PushTriggerRegistered extension method to assist Additional Steps Required for Building Triggers
  • 27. using Microsoft.Azure.AppService.ApiApps.Service; using TRex.Metadata; /* ... */ [Trigger(TriggerType.Push, typeof(SamplePushEventModel))] [Metadata("Receive Simulated Push")] [HttpPut, Route("{triggerId}")] public HttpResponseMessage RegisterCallback( string triggerId, [FromBody]TriggerInput<SamplePushConfig, SamplePushEventModel> parameters) { /* ... */ } Defining a Push Trigger Action Method Trigger attribute causes metadata to be generated indicating that this is the callback registration method for a push trigger TriggerInput<TInput, TOutput> provides shape of the input expected on the Logic App designer card, and shape out push trigger output
  • 28. // Notify the Logic App that the callback was registered return Request.PushTriggerRegistered(parameters.GetCallback()); Responding That Push Trigger Callback Was Registered PushTriggerRegistered extension method creates appropriate HttpResponseMessage indicating callback registration was successful
  • 29. Demo: Building an NFC Push Trigger In this demonstration, you will see how to…  Read data from an NFC card in a Universal Windows App  Implement a Push Trigger  Invoke a Push Trigger Callback
  • 31. Push-Button Push Trigger for Logic Apps Parts Required to Build  http://www.amazon.co.uk/dp/B00T2U7R7I  http://www.amazon.co.uk/dp/B00L2X1X9Q  http://www.amazon.co.uk/dp/B00KBXTO26  http://www.amazon.co.uk/dp/B00976KDBY Sample Code  http://bit.ly/1OOddFN  https://github.com/nihaue/PushButtonPushTrigger
  • 32. Demo: Push-Button Push Trigger in Action In this demonstration, you will see…  How to trigger a Logic App with the press of a button
  • 33. Read the NFC Push Trigger Write-Up + Source Code  http://bit.ly/1Myimgz Attend the Hackathon This Weekend  http://bit.ly/1Rjzo5N Take a Class & Get Your Own Push-Button Push Trigger  http://bit.ly/1RR7H5l Stay Tuned for the Push-Button Push Trigger Write-Up  http://bit.ly/1LjzWY5 What Now? Take a Photo of This Slide

Editor's Notes

  • #9: It feels like there must be a better way, because the process described is stuck in the store and compute era Store and Compute Applications Search and Browse Web pages Know and Do Experiences Source: https://channel9.msdn.com/Events/ALM-Summit/ALM-Summit-3/A-New-Era-of-Computing James Whittaker, A New Era of Computing. Jan 30, 2013. ALM Summit 3 Conference
  • #10: Fun integration ideas… Relationship status on Facebook You keep opening and closing the fridge without removing/adding items The power goes out "the internal temperature dropped below X degrees, these items [] have probably spoiled and should be thrown out. Would you like me to replace them for $45?"
  • #11: CONCEPT
  • #16: PROCESS
  • #20: http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/tutorial-your-first-web-api * Up until ASP.NET 5, at which point the base class doesn’t matter
  • #22: CONCEPT: Logic Apps will need help seeing the shape of the API
  • #23: FACT: What is T-Rex?