Book Image

Enterprise Integration with Azure Logic Apps

By : Matthew Bennett
Book Image

Enterprise Integration with Azure Logic Apps

By: Matthew Bennett

Overview of this book

Logic Apps are a visual flowchart-like representation of common programming actions, and are a flexible way to create logic without writing a single line of code. Enterprise Integration with Azure Logic Apps is a comprehensive introduction for anyone new to Logic Apps which will boost your learning skills and allow you to create rich, complex, structured, and reusable logic with instant results. You'll begin by discovering how to navigate the Azure portal and understand how your objects can be zoned to a specific environment by using resource groups. Complete with hands-on tutorials, projects, and self-assessment questions, this easy-to-follow guide will teach you the benefits and foundations of Logic App logic design. As you advance, you'll find out how to manage your Azure environment in relation to Logic Apps and how to create elegant and reliable Logic Apps. With useful and practical explanations of how to get the most out of Logic App actions and triggers, you'll be able to ensure that your Logic Apps work efficiently and provide seamless integration for real-world scenarios without having to write code. By the end of this Logic Apps book, you'll be able to create complex and powerful Logic Apps within minutes, integrating large amounts of data on demand, enhancing your systems, and linking applications to improve user experience.
Table of Contents (17 chapters)
1
Section 1: Logic App Fundamentals
7
Section 2: Logic App Design
13
Section 3: Logic App Maintenance and Management

What this book covers

Chapter 1, Getting Started with Azure Logic Apps, introduces Azure to new readers but serves as a reference tool for Azure users. It describes how to obtain an MSDN account and manage the subscription and provides a walk-through of the Azure portal as it relates to logic apps. This chapter contains step-by-step guides to demonstrate how to set up a new account.

Chapter 2, Environments and Resource Groups, introduces the concept of resource groups as a way of separating Azure objects based on their use, for example, the creation of resource group environments for sandboxing, development, testing, user-acceptance testing, and production pipelines so that new logic can be tested as part of a managed solution.

Chapter 3, Referencing Data within Actions, explains how to initialize, and set a variable, and how to parameterize a JSON message to obtain field data. You will then learn the difference between the logical field name and the physical field name.

Chapter 4, Reading Complex Data, shows you how to access specific fields from an array, an object, and from a table using the parsing parameterization process.

Chapter 5, Manipulating Data, covers how to perform calculations, concatenate text, split a string, count the length of a string, and index the position of a word or character within a string.

Chapter 6, Working with the Common Data Service, looks at how to retrieve and update records in third-party systems and databases using the web-based Common Data Service series of actions.

Chapter 7, Working with Azure Functions, addresses the fact that although logic apps allow you to perform most common actions, some more complex manipulation may require a C# app. This chapter looks at how you can use your functions within a logic app.

Chapter 8, Scoping with Try/Catch Error Handling, looks at how, as the complexity of the logic grows, it would be sensible to divide the flowchart into different sections. The scope feature allows you to be able to do this, reducing clutter on the flowchart. Output from a scope can also be obtained for debugging purposes. The scope feature has the further use of being able to focus the developer's attention on problematic code. Output and error messages from this section can be obtained and debugged, with further remedial action taken when errors do occur.

Chapter 9, Sharing Data with Other Logic Apps and APIs, looks at how we can link logic apps together and share data between them. As logic apps grow ever more complex, we can build them with reusable code parts. Common, repeatable logic can be used time and again by a series of other "parent" logic apps.

Chapter 10, Monitoring Logic Apps for Management Reporting, walks you through the Logic Apps creation wizard and explains how Log Analytics is used to be able to produce real-time reporting on resource group objects, providing a holistic overview of logic health within the monitored environment. By doing this, the developer can easily track errors in the logic, how often the problem is occurring, and where the fault is located.

Chapter 11, Fine-Tuning Logic App Runs with Run After, explores how the process of creating and fine-tuning a logic app depends on knowing what data you are expecting to see, the format you want that data to end up using, and adding conditions to check that operationally, procedurally, or programmatically related data can also be obtained, manipulated, and used as efficiently as possible. Sometimes, you only want a certain section of a logic app to work if the previous action was successful, or failed, or was skipped. By creating different logic branches, you can do different things based on whether the action was successful or not.

Chapter 12, Solving Connection Issues and Bad Gateways by Rerunning Logic Apps, looks at how, when trying to communicate with other cloud or on-premises domains, you have to authenticate and pass data through a firewall. Logic apps have a timeout window of up to 2 minutes and presume that if no response is received before this time, the data is lost, and the connection is uncontactable. This chapter looks at common connection issues, how to understand them, and how to resolve them. As development is an iterative process, you may need to run your logic apps several times until you are happy with the result. This chapter looks at how you can rerun logic app runs without having to resend the original data from your external system time and again.