Azure Integration Services - .NET Framework
Transcript of Azure Integration Services - .NET Framework
![Page 1: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/1.jpg)
Azure Integration ServicesKarim Vaes
Specialist – Azure Application Development
@kvaes
![Page 2: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/2.jpg)
Agenda• Digital Transformation
powered by Integration
• Azure Integration Services
APIs API Management
Workflows Logic Apps
Messages Service Bus
Events Event Grid
![Page 3: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/3.jpg)
Why is integration more
important now than ever?
![Page 4: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/4.jpg)
![Page 5: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/5.jpg)
![Page 6: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/6.jpg)
Integration scenarios
![Page 7: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/7.jpg)
Integration challenges
![Page 8: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/8.jpg)
Integration Platform as a Service
![Page 9: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/9.jpg)
Azure Integration Services
![Page 10: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/10.jpg)
APIs Workflows
Messages Events
![Page 11: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/11.jpg)
API Management Logic Apps
Service Bus Event Grid
![Page 12: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/12.jpg)
Azure API ManagementPublish APIs safely and connect to backend systems hosted anywhere
• Work with any host, API, and scale
• Attract more developers
• Secure and optimize your APIs
• Gain insights into your APIs
![Page 13: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/13.jpg)
Azure Logic Apps
Automate workflows and orchestrate business processes easily
• Out-of-the-box connectors reduce integration challenges
• Connect and integrate data from the cloud to on-premises
• B2B and enterprise messaging in the cloud
• Powerful web-based workflow designer
![Page 14: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/14.jpg)
Azure Service Bus
Scalable and reliable cloud messaging as a service
• Simplify enterprise cloud messaging
• Build reliable, scalable cloud solutions
• Implement complex messaging routing
![Page 15: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/15.jpg)
Azure Event Grid
Simplify event-based app development with a publish-subscribe model
• Simple HTTP-based event delivery
• Build better, more reliable applications through reactive programming
• Focus on product innovation
![Page 16: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/16.jpg)
Azure Integration Services
![Page 17: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/17.jpg)
A complete, industry leading integration platform
That is simple to use yet powerful
That is tried and trusted
Integrated and cohesive
Where you need it
Our Vision
API
ManagementLogic Apps Service Bus Event Grid
Integration for the many, not the few
![Page 18: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/18.jpg)
![Page 19: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/19.jpg)
Business
Integration
Specialist
Integration
Developer
![Page 20: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/20.jpg)
Bring your technology investments together
Azure servicesOn-premises or cloud-based apps
Packaged or SaaS apps
![Page 21: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/21.jpg)
© Microsoft Corporation
Learn more about Azure Integration Services
Microsoft Integration Platform as a Service
White paper Introducing Azure Integration Services
Gartner’s Magic Quadrant for Enterprise Integration Platform as a Service
Azure Essentials – Integrating your Apps with Azure
White paper Driving Digital Transformation in Today’s API Economy
Integration Services Customer Stories
Integration Services Reference Architecture
![Page 22: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/22.jpg)
©Microsoft Corporation
Azure
A New Free Whitepaper…
https://aka.ms/integrationpaper
![Page 23: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/23.jpg)
API Economy
![Page 24: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/24.jpg)
“
.”
- .
![Page 25: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/25.jpg)
Incremental Revolution
Digital
Transformation
Agile
Mobile
Machine Learning
Customer Centered Design
Data Driven Decision Making
Automated Marketing
Data Science
DevOps
Cloud
![Page 26: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/26.jpg)
Application Programming Interface (API)
A set of procedures or protocols that allow the data and functionality of an application or service to be accessed and integrated into another
application or service.
![Page 27: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/27.jpg)
What’s in common?
Mobile
Cloud
Computing
Internet
of
Things
Machine
Learning
Software
as a
Service
Blockchain
APIs
![Page 28: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/28.jpg)
APIs: Connecting applications
![Page 29: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/29.jpg)
Benefits of APIs
Lower
TCO
Highly scalable
business models
Foster
innovation
Expand
market reach
![Page 30: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/30.jpg)
Strategic value of APIs
Business models
Channels
Ecosystems
Mobility
User experience
Crowdsourcing
Agility
Empowerment
Productivity
User engagement Ecosystems Multi-modal IT
Based on Gartner research note “Articulating the Business Value of APIs”
Anne Thomas and Kristin R. Moyer
24 March 2016
![Page 31: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/31.jpg)
APIs: Internal architecture for the Enterprise
MAXIMISE IP REUSE ACCELERATE
DEVELOPMENT
CONSISTENCY OF
INFORMATION
CONTROL ACCESS INTRAPRENEURSHIP INSIDE-OUT
TRANSFORMATION
![Page 32: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/32.jpg)
“
.”
- .
![Page 33: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/33.jpg)
©Microsoft Corporation
Azure
The rise of the API Economy
TECHNOLOGY
TRENDS
NEW BUSINESS
STRATEGIES
NEW
REGULATIONS
TECHNOLOGY
STANDARDS
![Page 34: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/34.jpg)
Commercial Models in the API Economy
API Commercial
Models
Developer Pays
Tiered
Pay As You Go
Unit-based
Freemium
Developer Gets
Paid
Ad Revenue-
ShareAffiliate
Cost Per Action Cost Per Click Referal
One-time
Recurring
Indirect
Internal ROIContent
AcquisitionSaaS
Included
Upsell
Traffic
Generation
![Page 35: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/35.jpg)
Who are building successful API businesses?
![Page 36: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/36.jpg)
©Microsoft Corporation
Azure
Risks of exposing APIs
CYBER ATTACKS OVER EXPOSURE OF
ASSETS
REPUTATION
DAMAGE
CANNIBALIZATION
OF CORE BUSINESS
![Page 37: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/37.jpg)
Who is using API Management?
![Page 38: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/38.jpg)
Joining the API Economy
UNDERSTAND THE
VALUE PROPOSITION
DETERMINE
MONETISATION
STRATEGY
ASSESS TECHNICAL
SKILLS
UNDERSTAND DATA
PRIVACY
IMPLICATIONS
MANAGE SECURITY
POLICIES
DEFINE LEGAL
TERMS AND
CONDITIONS
PLAN THE PRODUCT
LIFECYCLE
![Page 39: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/39.jpg)
API Management
![Page 40: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/40.jpg)
API Management
The process of creating and publishing APIs, enforcing their usage policies, controlling access, supporting the subscriber community, collecting and analyzing usage statistics, and reporting on performance.
![Page 41: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/41.jpg)
APIs as products
How do you make your legacy API modern?
How do you protect your core business systems?
How do you enforce your IT and business policies?
How do you engage with developers?
How do you reduce “Time to First Successful Call”?
How do you measure their use and impact?
API Management
![Page 42: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/42.jpg)
Roles of an API management platform
API RegistryFeatures
Structures
Capabilities
Sensitivities
API GatewayManifestation
Security
Entitlement
Standardisation
Logging
Developer PortalLearning
Exploration
Implementation
Feedback
![Page 43: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/43.jpg)
Developer portal
Publisher portal
Gateway
Key Features
Hosted anywhere.
Developed using any
technology.
![Page 44: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/44.jpg)
“
.”
-
![Page 45: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/45.jpg)
Azure API Management
Cloud hosted, turnkey solution
Works with any host, API, and scale
Promotes and supports developer engagement
Secures and optimizes APIs
Provides API insights and analytics
![Page 46: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/46.jpg)
Integration with the Azure ecosystem
![Page 47: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/47.jpg)
©Microsoft Corporation
Azure
API Management - a hub for enterprise APIs
Consume PublishMediate
Azure portalGatewayDeveloper portal
Abstract
Secure & protect
Evolve
Monitor
Analyze
Productize
Monetize
Discover
Learn
On-board
Try
Get support
SDKs and samples
![Page 48: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/48.jpg)
API ManagementDeep Dive
![Page 49: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/49.jpg)
There is a policy for that
Encapsulate common API management functionsAccess control, Protection, Transformation, Caching, …
Mutate request context or change API behaviorAdd a header or throttle for example
Set in the inbound and outbound directions
Applied at a variety of scopes or on errorScope determines which APIs are affected
Can define custom scopes in addition to four available b default
Composed into a pipeline from effective scopesDegree of control over inheritance of scopes, i.e. <base/> element
Don’t delete <base/> inadvertently
![Page 50: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/50.jpg)
Policy scopes
global
product
api
operation
to backend
from backend
from caller
to caller
GET /foo/bar HTTP/1.1
Host: api.constoso.com
Key: 01234567890123456789
/foo
/bar
![Page 51: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/51.jpg)
©Microsoft Corporation
Azure
Policy expressions
C# “snippets” embedded in policy documents
Have read-only access to the request context
Can only use whitelisted .NET types
Dynamically configure and conditionally execute policies
![Page 52: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/52.jpg)
Façade and front door
Developer portal
Azure portal
Gateway
Publish
Mediate
Consume
contosoapi-foo.azurewebsites.com
![Page 53: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/53.jpg)
contosoapi-foo.azurewebsites.comcontosoapi-bar.azurewebsites.com
Façade and front door
Gateway
Mediate
contoso.azure-api.net/fooapi.contoso.com/foo
![Page 54: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/54.jpg)
Security and protection
• Username/Password
• Microsoft account
• Google account
• Facebook account
• Twitter account
• Azure AD (Premium)
• Azure AD B2C (Premium)
• Delegated• Key
• OAuth 2
• OpenID Connect
• Client certificate
• IP filter
• Rate limits and quotas
• Azure account
• RBAC
• HTTP Basic
• Mutual certificate
• Shared secret
• IP filter
• VNET/NSG
Developer portal
Azure portal
Gateway
Publish
Mediate
Consume
![Page 55: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/55.jpg)
VNETs and Hybrid
Developer portal
Azure portal
Gateway
Publish
Mediate
Consume
VNET
![Page 56: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/56.jpg)
VNETs and Hybrid
Gateway
Mediate
VPN
VNET
![Page 57: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/57.jpg)
©Microsoft Corporation
Azure
Multi-region and scaling
27 public regions in Americas, Europe, Asia and Australia
6 US government and DoD regions (preview)
Preview in China!
![Page 58: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/58.jpg)
©Microsoft Corporation
Azure
Multi-region and scaling
![Page 59: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/59.jpg)
©Microsoft Corporation
Azure
Multi-region and scaling
![Page 60: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/60.jpg)
©Microsoft Corporation
Azure
Multi-region and scaling
![Page 61: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/61.jpg)
Versioning is a highly debated subject
Version or not?
Semantic versioning?
What is a breaking change?
Where to place version information?Path? Query? Header? Media type?
What format to use?Number? Date? Name?
![Page 62: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/62.jpg)
Our approach to versioning
Versioning is opt-in
Choose appropriate versioning scheme for an API
Create new API versions as first-class objects
Revise in-use APIs with confidence
Make developers aware of revisions and versions
![Page 63: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/63.jpg)
A note about Swagger (Open API)…
![Page 64: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/64.jpg)
Swagger became OpenAPI Specification
![Page 65: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/65.jpg)
©Microsoft Corporation
Azure
![Page 66: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/66.jpg)
DevOps Integration
https://github.com/Azure/azure-api-management-devops-example
![Page 67: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/67.jpg)
Azure API Management
Cloud hosted, turnkey solution
Works with any host, API, and scale
Promotes and supports developer engagement
Abstracts, protects and optimizes APIs
Provides API governance, insights, and analytics
![Page 68: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/68.jpg)
Stay in touch
![Page 69: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/69.jpg)
Logic Apps
![Page 70: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/70.jpg)
Azure Logic Apps
• Create business processes and workflows visually
• Integrate with SaaS and enterprise applications
• Unlock value from on-premises and cloud applications
• Automate Enterprise Application Integration , Electronic
Data Interchange, and business processes
• Leverage the Microsoft Cloud to enhance integration
solutions
![Page 71: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/71.jpg)
Azure Logic Apps
Fast integration using innovative Visual Designer
Easy workflow creation with triggers and actions
More than 200 connectors to mashup
applications, data and services
No code logic: If, For Each, Do Until, variables and
much more
Built for mission critical 24x7 Enterprise
Integration
DevOps built-in: Create, deploy, manage and
monitor
![Page 72: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/72.jpg)
![Page 73: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/73.jpg)
At the center
Connect on-premises, hybrid
and cloud applications
Run mission-critical, complex
integration scenarios with ease
![Page 74: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/74.jpg)
Connected
Built-in connectivity to 200+ SaaS cloud
services, file providers, databases, web
APIs, productivity apps, and more
Connect to on-premises systems via
Data Gateway
Pluggable extensibility via Custom
Connectors to integrate existing LOB
systems into Logic Apps including SOAP
support
![Page 75: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/75.jpg)
SAP ECC / S/4 HANA connector
• Easy bi-directional SAP integration with Azure
• Send data to SAP ECC and S/4 HANA systems
• Push data from SAP
• Put and Get data from Logic Apps
• IDOC, RFC and BAPI support
• No SAP system footprint
• Generate schemas for mapping
• http://aka.ms/saplogicapps to get started
![Page 76: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/76.jpg)
B2B and EDI Features
• X12
• EDIFACT
• AS2
• RosettaNet (preview)
• Trading Partner Management
• XML processing
• Data Mapping – XSLT 1.0, 2.0, 3.0 and Liquid
![Page 77: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/77.jpg)
Inline CodeJavaScript
• Write code in Logic Apps
• Reference Logic App tokens directly in your
code
• Pass structured results back to Logic Apps
• JavaScript support today
• PowerShell coming soon
• C# and more on roadmap
• http://aka.ms/inlinecode to get started
![Page 78: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/78.jpg)
IBM 3270 Screen Scraping
• Drive mainframe applications via their
screens – “RPA”
• Simple to use Logic Apps connector
• Create mapping and navigation
• 5250, CICS and Host File planned
![Page 79: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/79.jpg)
Developer-centric
• Visual Studio 2019
• Visual Studio Code
• Testability – Static Results
• DevOps
![Page 80: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/80.jpg)
Azure Hybrid Integration Platform
Connect on-premises data and
applications with SaaS, PaaS
and cloud applications
Run mission-critical, complex
integration scenarios with ease
Connect to Azure services with
dozens of Azure connectors
Connect with business partners
![Page 81: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/81.jpg)
Integration Service Environments
• VNET connectivity
• Private static outbound IPs
• Dedicated compute
• Isolated storage
• Higher data transfer rate
• Rules-based Auto-scale
• Flat cost
![Page 82: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/82.jpg)
A complete integration platform
![Page 83: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/83.jpg)
Example - Enterprise integration using message queues and events
https://docs.microsoft.com/en-us/azure/architecture/reference-architectures/enterprise-integration/queues-events
![Page 84: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/84.jpg)
References
Logic Apps Documentation http://aka.ms/logicapps-docs
Logic Apps Blog http://aka.ms/logicappsblog
Logic Apps Monthly Webcast http://aka.ms/logicappslive
Microsoft Integration on Channel 9 https://channel9.msdn.com/Blogs/Microsoft-Integration
Logic Apps Ideas http://aka.ms/logicapps-wish
![Page 85: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/85.jpg)
Logic AppsDeep Dive
![Page 86: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/86.jpg)
Recurrence & Adv. Scheduling
Polling
Webhook
Request
![Page 87: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/87.jpg)
Triggers
An event that starts a workflow instance
Two TypesPolling Trigger
Push Trigger
Not all connectors support triggersOnly specific connectors
Only for specific actions
![Page 88: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/88.jpg)
Recurrence
88
Uses the Schedule – Recurrence connector
Specify how often to start a new instance
Can specify when recurrence should startUseful for controlling time it will run
![Page 89: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/89.jpg)
Polling Triggers
89
Most connector-based triggers use polling
Frequency can be specified
If no events fetched, action still billed
ExamplesService Bus Queues / Topics
Blob Storage
Azure Queues
Event Hubs
Dynamics
![Page 90: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/90.jpg)
HTTP & API Triggers
90
Kinds of Polling Triggers
When frequency is hitCall an external HTTP or API
Start workflow with results
API:API App published on App Service
![Page 91: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/91.jpg)
Request Trigger
91
Push Trigger
Exposes Logic App as an HTTP Endpoint
Uses POST by defaultBut can specify the method
Can receive parameters in URI / Query{parameterName}
Body can be JSONDefine a schema for body
Used to support Nested Workflows
![Page 92: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/92.jpg)
Request / Response
92
If only Request TriggerReturns “202 Accepted” immediately
Can use Response action to:Set HTTP status
Set HTTP headers
Set response body
![Page 93: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/93.jpg)
WebHook Trigger
93
Push-based Trigger
On Save:logic app registers with remote API
Remote API invokes Logic App through
HTTP requests
On Deleted:Logic app unregisters with remote API
![Page 94: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/94.jpg)
WebHook Trigger
94
![Page 95: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/95.jpg)
Debatching
95
Uses “splitOn” the trigger
Alternative to handling array of data in
ForEachStarts a new Workflow Instance for each part
Each instance can be resubmitted
independently
Each instance has the same Correlation ID
![Page 96: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/96.jpg)
Invoke APIs &
Services
Behaviors
Flow Control
Variables
Message Handling
Expressions & Operators
![Page 97: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/97.jpg)
Variables
97
Use “Initialize Variable” to create new one
Supported Data Types:Boolean
String
Integer
Float
Array
Object
Retrieve variable value through
expression:@variable('variableName')
![Page 98: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/98.jpg)
Data Operations
98
Data conversionsGenerate CSV / HTML
Parse JSON
Data ProcessingFiltering arrays
Querying arrays
Join array elements into a string
Author a JSON object
![Page 99: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/99.jpg)
Miscellaneous
99
![Page 100: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/100.jpg)
Expressions
Conditions
Switch Blocks
ForEach
Do Until
![Page 101: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/101.jpg)
Workflow ExpressionsAny input that will be dynamic (change every run) is an expression
@triggerBody() @body(‘actionName’) @items()
@guid() @utcnow() @rand(0, 2)
@json() @xml() @formDataValue(‘actionName’)
![Page 102: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/102.jpg)
@Used to indicate an expression, can be escaped with @@
e.g. @UtcNow()
![Page 103: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/103.jpg)
( )Encapsulate expression parameters
e.g. @length(‘Hello World’)
![Page 104: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/104.jpg)
{ }Curly braces means string. Same as doing @string(), but allows for interpolation
e.g. This is @{add(1,1)} == @concat(‘This is ’, string(add(1,1)))
![Page 105: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/105.jpg)
[ ]Used to parse properties in JSON objects
e.g. @body(‘JsonBody’)[‘person’][‘address’][‘streetName’] 🙂
![Page 106: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/106.jpg)
Conditions
106
IF/Else statement
Condition evaluates to Boolean value[Yes] branch
[No] branch
Is a billable action
![Page 107: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/107.jpg)
Condition
107
By default, simple conditionIs equal to
Is not equal to
Is greater than
Is greater or Equal to
Is less than
Is less than or equal to
Custom expression can be definedOnly in advanced mode
![Page 108: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/108.jpg)
Switch
108
Like a Switch / Case statement
A single input value
Uses equality comparison
[N] case blocks
1 Default Block
![Page 109: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/109.jpg)
ForEach
109
Executes 1..N actions for each item
in an array
Can have 1 or more child actions
Maximum 100,000 items
Pre-filter array using Query action if
necessary
![Page 110: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/110.jpg)
ForEach – Parallel / Sequential
110
Parallel
• Used by Default
• Default of 20
• Maximum 50
Sequential
• Optional
• Enabled in settings
![Page 111: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/111.jpg)
Do Until
111
Runs at least once
1 minute delay after each iteration
Iterates until limits are reachedCondition is true, or
Timeout expires, or
Max iterations are reached (up to 5000)
Used to wait for Async operationsInvoking long running workflow / http
![Page 112: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/112.jpg)
Er
Expressions
Conditions
Switch Blocks
ForEach
Do Until
![Page 113: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/113.jpg)
Retry Policies
113
Automatic retries for any action that failed429 or 5xx error
By default: 4 retries, 20 second interval
Policy can be customized per action
Retry Policy can be disabled (None)
![Page 114: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/114.jpg)
Scopes
114
Groups multiple actions
Can be nested
When an action in a scope fails, execution
can jump to next step after scope
![Page 115: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/115.jpg)
Run After
115
Order in Logic Apps is built out of Run-After chains:Every action specifies after which action it should run
Workflow is not a strict sequence
By default, Run-After is configured to run “on success”
You can specify multiple conditions
![Page 116: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/116.jpg)
Run After - Failure
116
You can change default flow:Run this step only if previous step fails
Allows for compensating actions
Use @result('action name') to get detailed information of errorThis returns an array
![Page 117: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/117.jpg)
Run After - Parallelism
117
Run After can also introduce parallel branches of execution
Can also be used to rejoin parallel branchesSpecify multiple parent actions
![Page 118: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/118.jpg)
![Page 119: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/119.jpg)
Triggers & Run History
Trigger HistoryPopulated when trigger runs
Indicates if any workflows were fired
Inputs & Outputs can be obtained
Run HistoryPopulated when a new workflow instance is created
Visual representation of execution
Can review inputs & outputs for every step
![Page 120: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/120.jpg)
Triggers & Run History
120
Data retained for 90 days
Can only be searched by Instance Identifier
![Page 121: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/121.jpg)
Resubmission
121
Run History allows you to “resubmit” a workflow instance
Resolve issues manually and process messages again
Design workflows to support resubmission
Batching
Completing queues
Often requires using nested logic-apps design
![Page 122: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/122.jpg)
Diagnostics Logs
122
Can be turned on to persist / export diagnostic dataStorage Account (retention can be specified)
Stream to Event Hub
Send to Log Analytics
Two kinds:WorkflowRuntime
Metrics
![Page 123: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/123.jpg)
Using Log Analytics
123
Can connect logic app to OMS workspaceturn on diagnostics
Add the “Logic Apps Management (Preview)” solution to OMS Workspace
![Page 124: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/124.jpg)
![Page 125: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/125.jpg)
Security – Authorization on HTTP endpoints
125
• All calls are done over HTTPS
• Request should be authenticated with Shared Access Signature (SAS)
• HMACSHA256 signed with access key
• Specifies HTTP methods allowed
• Access keys can be rotated
• Invalidates any existing tokens
![Page 126: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/126.jpg)
Security – IP Restrictions
126
Used to control where HTTP calls are allowed fromAny IP
Only other Logic Apps (any subscription)
Specific IP Ranges
IP Restrictions can also be applied to run history APIs.
More complex security:Put Logic Apps behind API Management
![Page 127: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/127.jpg)
Limits – HTTP Requests
127
Limit Value
Request Timeout 120 seconds
Message Size 100MB (depends on connector)
Expression Evaluation Limit 131,072 characters
Retry Attempts 90 (default 4)
Retry Max Delay 1 day
Retry Min Delay 5 seconds
These limits apply to a single HTTP request or connector call
![Page 128: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/128.jpg)
Run Duration and Retention
128
These limits apply to a single workflow run
Limit Value
Run Duration 90 days
Storage Retention 90 days from start time
Min recurrence Interval 1 second
Max recurrence interval 500 days
![Page 129: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/129.jpg)
Looping and Debatching Limits
129
These limits apply to a single workflow run
Limit Value
ForEach items 100,000
Until Iterations 5,000
SplitOn items 100,000
ForEach Parallelism 50 (default 20)
![Page 130: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/130.jpg)
Throughput Limits
130
These limits apply to a single workflow run
Limit Value
Action executions per 5 minutes 100,000
Actions concurrent outgoing calls ~2,500
Runtime Endpoint: Concurrent Incoming Calls ~1,000
Runtime Endpoint: Read calls per 5 minutes 60,000
Runtime Endpoint: Invoke calls per 5 minutes 45,000
![Page 131: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/131.jpg)
![Page 132: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/132.jpg)
Pattern: Claim Check
132
Purpose• Avoid sending large payloads on Logic App Messages
Description• Store payload in Storage Blob
• Send metadata in message to Logic App (say, ServiceBus)
• Include URL of payload in message
![Page 133: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/133.jpg)
Pattern: Nested Workflows
133
Purpose• Support easier resubmission of messages for re-processing in case of failures
Description• Split workflow in two:
• Receiver (receives request, sends reply if needed)
• Processor (processes one message)
• Allows resubmission of Processor instance only
• Receiver workflow can do debatching
• Can re-process individual messages rather than entire batch
![Page 134: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/134.jpg)
Pattern: In-order Processing
134
Purpose• Process events in the order they arrive
Description• Use transport capable of order (like Service Bus Queue)
• Use a singleton workflow
• Make ForEach sequential (remove parallelism)
![Page 135: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/135.jpg)
Pattern: Keep messages in Queue on failures
135
Purpose• Prevent lost messages due to transient failures
Description• Use a peek-lock trigger to receive messages from Service Bus queue
• If processed successfully, complete the message (remove from queue)
• On failure, message eventually goes back to queue to get reprocessed
• Consider moving messages to dead-letter as an option
• Note: Be careful with retries, as lock could expire while waiting for retries to
complete
![Page 136: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/136.jpg)
Pattern: Maximum Throughput
136
Purpose• Maximize processing capabilities in the platform
Description• Increase batch sizes (for triggers that support it)
• Use multiple logic apps sharing a connection or use multiple connections
![Page 137: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/137.jpg)
![Page 138: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/138.jpg)
Logic App Deployment
138
ARM
Resource
Workflow
Definition
Connections
![Page 139: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/139.jpg)
Logic Apps – ARM Resource
139
1 per Logic App
Resource of type Microsoft.Logic/workflows
Defines:Pricing Plan
Location
Workflow definition
Host information
![Page 140: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/140.jpg)
Logic Apps – Workflow Definition
140
JSON document describing workflow
Stored in the definition property of the ARM resource
Usually has parameters for things such as connections
![Page 141: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/141.jpg)
Logic Apps - Connections
141
A connection stores:Metadata for a connector
Securely stores credentials for the connector
Is an ARM resource of type Microsoft.Web/connections
A connection:Can be used by more than one logic app
Must be in same Resource Group as logic app
![Page 142: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/142.jpg)
Exporting Logic App Template
142
Use ArmClient + LogicAppTemplateCreator:https://github.com/jeffhollan/LogicAppTemplateCreator
Exports Logic App + Connectors to new ARM Template
Adds basic parameters
armclient token $subscriptionId | `Get-LogicAppTemplate -LogicApp $appName `
-ResourceGroup $resourceGroup `-SubscriptionId $subscriptionId | `
Out-File template.json
![Page 143: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/143.jpg)
Authorizing connections
143
Some connections can be completely scripted:Example: Service Bus connection resource includes connection stringOAuth-based connections require explicit authorization stepGo into portal and complete authorization processUse https://github.com/logicappsio/LogicAppConnectionAuthOAuth authorization process requires manual intervention
![Page 144: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/144.jpg)
Azure Logic Apps Tools for Visual Studio
144
Create/Edit logic app and get deployable
ARM template
To use:Create new Azure Resource Group project
Add new Logic Apps resource to template
Right click and select “Open with Logic Apps
designer”
![Page 145: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/145.jpg)
Service Bus
![Page 146: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/146.jpg)
Azure Service Bus
Auto-complete
Peek-lock and complete/abandon
Immediate triggering
High throughput
![Page 147: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/147.jpg)
The basics of a queue
![Page 148: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/148.jpg)
Topics & Subscriptions
“type” = “order”
“type” = “quote”
Topic
Subscription 1
Subscription 2
![Page 149: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/149.jpg)
Relay: Real-time communication proxy
Firewall Firewall
![Page 150: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/150.jpg)
How Relay works
Firewall Firewall
![Page 151: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/151.jpg)
Where does Service Bus fit in?
Decoupling and providing durability are primary drivers for using Service Bus
Frontend / UX Backend / Processing
Queue
![Page 152: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/152.jpg)
Service Bus Capabilities
Scheduled delivery
Time to live
ForwardTo
Defer
Sessions
Batching
Ordering
Auto-delete on idle
OnMessage
Duplicate detection
Lambda Filters
Actions
Transactions
Poison message handling
![Page 153: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/153.jpg)
Event Grid
![Page 154: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/154.jpg)
![Page 155: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/155.jpg)
![Page 156: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/156.jpg)
![Page 157: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/157.jpg)
Azure Event Grid
![Page 158: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/158.jpg)
Benefits
![Page 159: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/159.jpg)
PubSub for two different models
Service BusEnterprise Messaging
Event GridReactive Programming
![Page 160: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/160.jpg)
Event Grid: Manage all events in one place
Azure Functions
Logic Apps
Azure Automation
WebHooks
Event Hubs
Storage Queues
Hybrid Connections
IoT Hub
Blob Storage
Resource Groups
Azure Subscriptions
Event Hubs
Custom Topics
Azure Media
Services
Service Bus
![Page 161: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/161.jpg)
Manage all events in one place
![Page 162: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/162.jpg)
Build applications efficiently
![Page 163: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/163.jpg)
Ensure reliability and performance in your apps
![Page 164: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/164.jpg)
Benefit from broad coverage
![Page 165: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/165.jpg)
Scenarios
![Page 166: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/166.jpg)
![Page 167: Azure Integration Services - .NET Framework](https://reader036.fdocuments.net/reader036/viewer/2022071614/61581d11a89f8113505da35c/html5/thumbnails/167.jpg)
© Copyright Microsoft Corporation. All rights reserved.