Implementing EDI with Azure Logic Apps

Microsoft’s serverless tools can simplify integrating EDI into your business processes

Implementing EDI with Azure Logic Apps
JaCZhou / Getty Images

When we think about enterprise applications it’s easy to think only of the code that runs behind our firewalls, in our data centers, and in instances running on public clouds. We usually forget one of the more important aspects of modern business: connecting businesses together, securely.

Application integration lies at the heart of much business application development, constructing workflows that link business systems, sending messages between applications that may not have common APIs. There’s a lot of message and workflow architecture out there, linking older mainframes and modern systems, or connecting organizations in a supply chain.

Those supply chains underpin much of our modern industrial manufacturing processes, with workflow software providing the information that links the elements of complex just-in-time systems. They’re powerful tools that need to link any and all line-of-business systems without knowing exactly what’s at the other end of a connection.

Connecting businesses

Not every business can expose an API to another or open a firewall port and directly connect applications. There may be regulatory restrictions or trade secrets that need protection. You might not want Customer A to know you supply Customer B, who happens to be a competitor. Controlling the messages sent between businesses can be the best way to meet all the demands on your business, protecting it from competitors and regulatory oversight.

That’s where EDI (electronic data interchange) comes in. Instead of sending simple messages and using APIs to connect applications, we’re sending actual legal documents in electronic form: orders, invoices, shipping notes, bills of lading—all the myriad documents that keep business flowing across a just-in-time supply chain. Using standards governed by international treaties, we’re then able to process those documents and use the information in our applications and workflows.

Azure’s integration platform: Logic Apps

Microsoft’s Azure Logic Apps is perhaps best thought of as its Azure-hosted workflow engine and as a replacement for elements of the resource-hungry Biztalk platform. Biztalk remains part of the Microsoft enterprise portfolio, but many common business workflows can be built and managed using Logic Apps and its integration tools and visual workflow designer. You may already be using it without knowing, as it’s used to power Microsoft’s low-code Flows platform.

Azure Logic Apps may not have the collection of end points that come with Flows, but it does support more than 200 different connections that link Logic Apps to on-premises and in-cloud services and applications, as well as to common business services such as Salesforce. Its on-premises connectors are one of its more important features, integrating with enterprise storage servers such as IBM’s DB2 and Oracle, and even to mainframes. However its real value comes when you add the Enterprise Integration Pack (EIP) to your subscription.

The EIP brings in many familiar BizTalk end points, with a focus on EDI file encoding and decoding, as well as new workflow steps that contain code for working with and applying transformations to XML documents, using XSLT stylesheets. It’s an important tool that, while at a premium to other Logic Apps features, should make it easier for more businesses to add EDI to their tools. With large companies requiring their vendors to integrate with their supply chain management tools, support for EDI, even at the simplest of levels, has become essential.

Using the Enterprise Integration Pack for EDI

Using Azure Logic Apps with the EIP first requires setting up an integration account. This stores and controls the information needed to control a business-to-business connection, including integration agreements, the schema used to describe information interchange, and any digital certificates used to secure and verify messages. You can start with a free tier for relatively simple integrations that have a low transaction volume and scale up as your business grows.

Integration accounts are managed through the Azure portal, and you use the portal to create and edit the definition files for your partnerships. Much of what you need is defined by the EDI standard you’re using (for example the international EDIFACT). The heart of any EDI relationship is the agreement, which defines the partners at either end of the connection, as well as the settings to control how messages are received and transmitted. Messages can be validated to ensure that you’re receiving the right document from the right source. Partners are defined using business directories, for example using a Dun & Bradstreet number, along with details for the EDI network you’re using.

Implementing EDI workflows

Once that’s configured, link the integration account you want to use to a logic app, through its workflow settings. This makes everything in the integration account available to your logic app, allowing changes to trigger workflows as necessary. Code associated with blocks in Logic Apps workflows will process XML transforms, as well as any conversions to specialized data formats.

Workflows can take the content of a message, process it, and then deliver it to other applications. Building a logic app is much like building a Flow, though here you have the option of using Visual Studio as a design surface as well as Azure’s built-in tools. That makes it easier to include a logic app in a larger enterprise application project, including managing it in your choice of source control tools. It’s important to remember that you’re not building a quick departmental or personal app—you’re building business-critical code.

A logic app workflow can add rules to a business process. Does an order require human intervention, or can it be automated? Is there a risk of fraud with a payment? You’re able to add as many decision points into a logic app as you need, and its low-code architecture means it’s easy to add new steps and new rules as necessary, or even reorder rules to ensure that they have the correct priority and the appropriate exception handling.

It’s all about the business

Using Logic Apps for EDI isn’t for beginners. You need to understand the EDI formats you’re working with, as well as how your existing line of business applications will consume that information. But if you’re trying to automate business relationships—tying communications into the order or production control elements of your ERP systems—then Logic Apps gives you a consumption-based approach to building the necessary integration workflows.

Even if you’re not delivering a direct connection to a line-of-business tool, Logic Apps can still be a way to join a customer’s electronic supply chain. Instead of using it to deliver EDI messages to application APIs why not use it to translate machine-to-machine messages to human-readable documents, using any of its other end points. Perhaps you need paper documents or email messages to trigger actions. All you need to do is pick the appropriate end point, and then use your logic app to process format conversions, delivering the message’s contents in the most appropriate way for your business.

Copyright © 2019 IDG Communications, Inc.