Blog Post

Azure Integration Services Blog
5 MIN READ

📢 Announcement !! Premium Integration Account and Enhanced EDI Connectors

DivSwa's avatar
DivSwa
Icon for Microsoft rankMicrosoft
Aug 22, 2023

In this blog post, we would like to talk about new capabilities we are releasing today that would allow you to run B2B and EDI workloads at scale and within VNET.

 

We are very excited to announce the Public Preview of:

  • Premium SKU of Integration Account with no limits on artifacts
  • X12 built-in connector
  • EDIFACT built-in connector

Along with these capabilities, we are introducing UI based Export from Standard Integration Account to Premium Integration Account for ISE

In the rest of the article we’ll cover these capabilities in more detail

 

X12 and EDIFACT built-in connectors

 

X12/EDIFACT EDI (Electronic Data Interchange) refers to a standardized format for exchanging business information electronically between different companies and organizations. These standards define the structure and content of electronic business documents that facilitate the exchange of various business transactions, including purchase orders, invoices, shipping notices, and more.

 

Logic Apps X12 and EDIFACT built-in connector allows processing of EDI messages as per the EDI Standard. The messages can be decoded or encoded as per the standard. This includes message transformations from EDI flat file to XML or vice versa. The message structure is also validated as per the standard schemas.

 

The current release brings these capabilities to Logic Apps Standard as built-in connectors. Built-in connectors run on the same compute and process as Logic Apps runtime. This results in many benefits, including.

  • Better performance and lower latency, due to all code running in close proximity and without any hops or network calls.
  • Larger message processing
  • VNET support without any additional overhead

To use X12 or EDIFACT in Logic Apps Standard, you can add a new action to your workflows and choose the In App connector and the desired action.

 

 

 

 

To use these actions from Logic Apps, Integration Account needs to be linked to the Logic App.

 

Integration Account Premium SKU

 

Integration Account Premium SKU removes all previous limitations on artifacts, granting you the freedom to scale your operations as needed and onboard and manage the Trading Partners efficiently. We plan to release these enhancements iteratively.

The first release brings you the following capabilities –

 

  • No limits on the number of artifacts

We do not enforce any limits on the number of artifacts like Partners, Agreements, Schemas, Certificates, etc. You can now use a single Integration Account for all your business with no constraints on artifacts.

 

  • VNET and secure storage for artifacts

All the artifacts are stored in storage that is owned by customers. You can keep the storage local or in a VNET based on your business needs. The storage is accessed using Managed Identity of Integration Account. Also, customers can apply more governance and policies to data like using CMK (Customer Managed Keys) for encryption of data.

 

  • Keyvault access using Managed Identity

For certificates (private certificates), the Keyvault is needed to store private keys. The Premium SKU leverages Managed Identity of Integration Account to access the keys (instead of Logic Apps shared service principal)

 

When using Built-in EDI actions and Premium SKU, all the processing and data can stay within VNET. The calls at runtime to fetch the artifacts go through Integration Account data plane via public internet.

 

The Premium SKU pricing will be like Standard Account Pricing and will be billed at the rate of $1.37 per hour. Note: In Preview, your Azure bill for Premium Integration Account will use the same meter name and ID as Standard Integration Account. This will be updated when it moves to GA.

 

Here are the steps on how you can create and use the Premium SKU of Integration Account

 

  1. In the Azure Portal, select Integration Account and Create a new resource. Select Premium SKU from the Pricing Tier dropdown. Click Create.

 

 

  1. Select a storage account. This storage account will be used to store the artifacts and any relevant runtime state associated with EDI standards, such as control numbers.

 

3. The above step creates the Premium SKU of Integration Account. The Integration Account needs access to storage account to read artifacts and write any state. The Integration Account Managed Identity will be used for the access for these data plane operations. To do so, go to the storage account and select Add role assignment

 

4. Repeat steps 4 and 5 for the Storage Account Contributor, Storage Blob Data Contributor and Storage Table Data Contributor roles

 

 

5. When adding a role, select Managed Identity to give access. Select ‘Select Members’ and choose system assigned managed identities from the drop down. Find your Integation Account Managed Identity and add it.

 

 

After completing the above steps, for all the roles, your Integration Account is now ready to be used from Logic Apps.

To associate the Logic Apps to Integration Account, you need to follow the steps here. Please note that these steps are the same for both Standard and Premium SKU of Integration account.

 

Export Integration Account (only for ISE)

 

This section is relevant for you if you use Integration Service Environment. In this release, we are launching the ability to easily export your Standard Integration Account in ISE environment to Premium Integration Account.

 

The export is a 2 step-process. The first step is to export Artifacts and then the agreement state. When exporting Agreement State, we recommend to pick the time window when your source integration account doesn't have activity on the same agreements to avoid any inconsistencies

 

  • Artifacts

This includes the Trading Partner and XML artifacts such as Partners, Agreements, Certificates, Schemas, and Maps

 

  • Agreement state

Integration Account also stores state for certain actions such as MIC number for AS2, control numbers for X12. If configured in Agreement, these are updated every time a transaction is processed and are used for message reconciliation, duplicate detection. If you are using them, you need to ensure to export them as well. You can either export them in bulk or per agreement.

 

To do the export, you first need to create a Premium Integration Account. The detailed instructions to create Premium Integration Account are described in the above section of this document.

 

In the rest of this section, we will cover step by step process to do the export. Below is an example of a standard Integration Account associated with ISE.

 

 

 

  1. Export Artifacts – this will export (copy) all the artifacts to target integration account

 

 

2. Select the target Integration Account. The drop-down lists all the Premium Integration Accounts in the subscription. Select OK.

 

 

3.The status of the export of the Artifacts is listed as shown below.

 

 

4. If you open the target Integration Account, you should see all the Artifacts.

 

 

 

5. To export Agreement State, choose Export Agreement State option. Select the same Integration Account where you exported the artifacts. You can either export the state for all agreements or by specific agreements.  

 

 

Known limitations or issues

 

Premium Integration Account

  • Assemblies and RosettaNet PIP are not supported through Export. We plan to add the support for assemblies first and then RosettNet PIP in next releases.
  • The Integration Account is hosted in cloud and doesn’t support VNET. This will be supported soon.
  • If you are using Keyvault for certificates, the managed Identity of Integration Account may not work. We are going to fix this soon. Meanwhile, you can add the Managed Identity of Logic Apps to unblock.

X12 and EDIFACT

  • The actions do not support Interchange with multiple transactions. Batched messages will be supported in the next release
  • The actions do not emit EDI specific tracking data yet. This work is planned

 

Updated Aug 22, 2023
Version 3.0
  • DivSwa Thanks for the blog. There is a limitation with X12 and EDIFACT action (The actions do not support Interchange with multiple transactions). is there any plan to release this feature ?

  • Alavudeen yes that's in development and will be available in next releases. I have captured it in the known limitations section in the blog. 

  • mikeholdorf's avatar
    mikeholdorf
    Copper Contributor

    Does anyone have this working with Logic App Standard?  I've followed the directions and we have x12 documents to process, but we get the same error no matter how we configure.  We are simply trying to Decode an X12 Document, but the error we receive is:  AgreementNotFound. AgreementNotFound

    The agreement of type 'X12' with host identity '01:123456789' and guest identity '01:987654321 ' is not found or more than one agreement is found in integration account,
     
    Just wanted to see if we are doing anything wrong or is this just an issue with the Integration Account Preview.
  • mikeholdorf ,

    Looks like some space character padding issue here, I can see a blank space character in the guest identity causing mismatch with the agreement. Can you try padding the character say zeros in your ISA headers and agreement and see if it works? We have fixed recently an issue to ignore the space characters while resolving the agreement which will be rolled out in upcoming deployment.  

     

    The agreement of type 'X12' with host identity '01:123456789' and guest identity '01:987654321 ' is not found or more than one agreement is found in integration account,

     

     

  • mikeholdorf's avatar
    mikeholdorf
    Copper Contributor

    I modified the Partner Identities for the Parties and used 15 characters for each.  This did get a step further and responded back that it could not find the schema.  I added an 850 schema to the Agreement and the X12 action just runs forever.  I can't see any errors it just runs and after 10 minutes I cancelled the workflow.  May have to check and make sure my input is valid, but I wasn't expecting this to be a runaway job.  I'll try again later and see if I have any success.