AgXml Integration Deployment In Levridge
An important aspect of any modern software is allowing for the ability to integrate with other business applications you have in use. For this reason, Levridge has added AgXml.
Read the Levridge AgXml Integration Deployment high-level overview below or read the full guide here: Levridge AgXml Integration Deployment
1. Deployment Overview
The AgXml Integration consists of the following parts.
Integration Host
This is the heart of the integration. The Integration host runs as a Windows service and is responsible for receiving messages from the Azure Service Bus, transforming them, and sending them to the integration target.
Each instance of the Integration Host can receive messages from a single Azure Service Bus topic and send them to a single integration target (e.g., FinOps or file). If you have multiple integration partners, you must configure multiple instances of the Integration Host.
Translation Service
The Translation service is a sub-component of the Integration Host, it does not exist on its own. The translations are stored in an MS SQL Server database and are applied to the integration source document. Service configuration lives in the Integration Host’s JSON file.
Translation Console
The Translation Console allows you to import and export translations.
Integration Console
The Integration Console allows you to process the messages in the Dead-letter Queue and setup translations. You must configure a new instance of the Integration Console for each Integration Host.
Translation Migrations
The Translation Migration (Levridge.Integration.IntegrationService.Translation.Migrations.exe) application is used exclusively to create or update the translation database schema.
File Watcher Service
The File Watcher Service (Levridge.FileWatcherService.exe) runs as a Windows Service and is responsible for sending new AgXml files to the Azure Service Bus.
The service watches a configured folder; and when a new or modified file is detected, it sends it to the ASB and moves the file to another folder.
2. Configuration settings
Configuration settings for all applications are stored in a file name “Appsettings.json”. This file is co-located next to the application executable.
When setting configuration information, you will likely need to update all Appsettings.json files. The Integration Host configuration file is the only file to contain the integration source, integration target, and OData sections.
The Appsettings.json file is responsible for configuring:
• The Translation database connection information
• The integration source and target systems
• The Source Azure Service Bus
• The Target OData information
• Logging (Logging in .NET | Microsoft Docs)
• Application Insights (Application Insights logging with .NET – Azure Monitor | Microsoft Docs)
3. Authentication
FinOps OData services uses OAuth 2.0 shared secrets for service-to-service authentication to authenticate the Integration Service. Shared secrets involve registering an application with Azure Active Directory (AAD) to create a shared secret. This secret is given to AAD to by the client application (e.g., Integration Host) when the server application (e.g., FinOps OData) requests authentication. AAD decides if the secret is correct and redirects the client to the server.
None of the AgXml Integration components currently offer their own authentication. This means you may only configure them on a secure server.
4. IIS Hosting Prerequisites
All applications require the DotNet 6 runtime.
Before hosting the integration, you must install the ASP.NET Core Module/Hosting Bundle. You can download the installer using the following link:
Current .NET Core Hosting Bundle installer (direct download)
For more details instructions on how to install the ASP.NET Core Module, or installing different versions, see Install the .NET Core Hosting Bundle and Host ASP.NET Core on Windows with IIS | Microsoft Docs.
Read the full guide to learn more, including application registration, solution configuration, and application documentation: Levridge AgXml Integration Deployment