@BrisbaneAzureUG
meetup.com/Brisbane-Azure-User-Group
First Look:
Azure App Service Logic Apps
who?
Lee Simpson
Solution Delivery Lead at Mexia
https://au.linkedin.com/pub/lee-simpson/0/214/997
Architect, team leader, agile practitioner, integration specialist
Dan Toomey
Senior Consultant at Mexia
@Daniel2Me
Integration specialist, Pluralsight author, Azure Advisor, BizTalk UG leader
Agility Insight
Hyper-scale
Mobile
Services
Key app services in Azure previously
Azure
Websites
BizTalk
Services
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
LearningEffort
Complexity of problem
LearningEffort
Complexity of problem
HACK ZONE
LearningEffort
Complexity of problem
HACK ZONE
iPaaS
Leader
Rich
Ecosystem
Democratize
Integration
Mobile
Services
Key app services in Azure today
Azure
Websites
BizTalk
Services
Azure App Service
 Unique integrated offering
 Build rich, engaging & intelligent apps
 Scale as your business grows
Azure App Service
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
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
• 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
• Framework for
representing
RESTful APIs
• Open source
• http://swagger.io/
• Azure SDK 2.5.1
• Visual Studio 2013
http://blogs.msdn.com/b/visualstudio/archive/2015/03/24/introducing-the-azure-api-apps-tools-for-visual-studio-2013.aspx
• Azure SDK 2.5.1
• Visual Studio 2013
• Bare-bonesWeb API projects
with Swashbuckle (Nuget)
http://blogs.msdn.com/b/visualstudio/archive/2015/03/24/introducing-the-azure-api-apps-tools-for-visual-studio-2013.aspx
• Azure SDK 2.5.1
• Visual Studio 2013
• Bare-bonesWeb API projects
with Swashbuckle (Nuget)
• Microsoft Azure API Apps
(Preview) publish target
http://blogs.msdn.com/b/visualstudio/archive/2015/03/24/introducing-the-azure-api-apps-tools-for-visual-studio-2013.aspx
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
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)
Architecture
The Azure Resource manager is a highly-scalable geo-distributed system
that handles millions of resources across 100,000’s of subscriptions. Can
create 200 node cluster in < 5 minutes!
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
… 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 UI or
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
• Different ways to be triggered
including recurrence
Logic apps for orchestration across API apps
1. Implicitly – whenever you reference
the output of an action you’ll depend
on that action executing first
2. Explicit “dependsOn” condition –
you can mark certain actions to run
only after previous ones have
completed
3. Explicit “expression” condition – a
complex function that evaluates
properties of other actions
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()])"
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
{
"parameters": {
...
},
"triggers": {
...
},
"actions": {
...
},
"outputs": {
...
}
}
Logic Apps Workflow definitions
http://channel9.msdn.com/Azure
Windows Azure Area on
http://channel9.msdn.com/Events/Ignite/2015
Logic App References
API App References
First Look at Azure Logic Apps (BAUG)

First Look at Azure Logic Apps (BAUG)

  • 1.
  • 2.
    First Look: Azure AppService Logic Apps
  • 3.
    who? Lee Simpson Solution DeliveryLead at Mexia https://au.linkedin.com/pub/lee-simpson/0/214/997 Architect, team leader, agile practitioner, integration specialist Dan Toomey Senior Consultant at Mexia @Daniel2Me Integration specialist, Pluralsight author, Azure Advisor, BizTalk UG leader
  • 4.
  • 5.
    Mobile Services Key app servicesin Azure previously Azure Websites BizTalk Services
  • 6.
    Key Learnings • Validatedthe 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
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
    Mobile Services Key app servicesin Azure today Azure Websites BizTalk Services Azure App Service
  • 12.
     Unique integratedoffering  Build rich, engaging & intelligent apps  Scale as your business grows Azure App Service
  • 13.
    API APPS Easily buildand 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
  • 17.
    Easily use cloudor 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
  • 18.
    • 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
  • 19.
    • Framework for representing RESTfulAPIs • Open source • http://swagger.io/
  • 20.
    • Azure SDK2.5.1 • Visual Studio 2013 http://blogs.msdn.com/b/visualstudio/archive/2015/03/24/introducing-the-azure-api-apps-tools-for-visual-studio-2013.aspx
  • 21.
    • Azure SDK2.5.1 • Visual Studio 2013 • Bare-bonesWeb API projects with Swashbuckle (Nuget) http://blogs.msdn.com/b/visualstudio/archive/2015/03/24/introducing-the-azure-api-apps-tools-for-visual-studio-2013.aspx
  • 22.
    • Azure SDK2.5.1 • Visual Studio 2013 • Bare-bonesWeb API projects with Swashbuckle (Nuget) • Microsoft Azure API Apps (Preview) publish target http://blogs.msdn.com/b/visualstudio/archive/2015/03/24/introducing-the-azure-api-apps-tools-for-visual-studio-2013.aspx
  • 25.
    New Logic Appsfor 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
  • 27.
    EAI Features v1v2 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)
  • 28.
    Architecture The Azure Resourcemanager is a highly-scalable geo-distributed system that handles millions of resources across 100,000’s of subscriptions. Can create 200 node cluster in < 5 minutes!
  • 29.
    Same underlying engine… ResourceManager • 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
  • 30.
    … more power ResourceManager • 8 functions for basic referencing and string functions • Can only PUT resources into resource groups • Auth must be through AAD • Triggered manual through UI or 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 • Different ways to be triggered including recurrence
  • 32.
    Logic apps fororchestration across API apps 1. Implicitly – whenever you reference the output of an action you’ll depend on that action executing first 2. Explicit “dependsOn” condition – you can mark certain actions to run only after previous ones have completed 3. Explicit “expression” condition – a complex function that evaluates properties of other actions
  • 33.
    Repeating • Loop asingle 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 • Logic ona 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": { ... }, "triggers": { ... }, "actions":{ ... }, "outputs": { ... } } Logic Apps Workflow definitions
  • 38.
  • 39.
  • 40.

Editor's Notes

  • #5 Why are we interested in building apps in Azure?
  • #16 Logical container for all of your apps Can add to it without incurring more cost Collection of VMs
  • #20 - REST based interfaces to your business services
  • #28 Triggers Actions