Integrating business systems (without coding)

 

blog_EAIConsider the following scenario: a company exchanges data with trade hubs and other applications. Traditionally this kind of scenario uses point-to-point integration, adding complexity and making it more difficult to replace legacy systems and integrate with SaaS applications. A significant part of the company’s technical debt might be right there.

More and more often we are facing scenarios where client is looking for ways out of monolithic architecture and towards integration solutions with loosely coupled services to provide agility and flexibility. One way of leveraging integration solutions that connect multiple independent systems, both on-premise and in the cloud, is through Azure Integration Services.

Let’s have a look at a simple example. We need to import orders and other data from our ecommerce application (and maybe other applications) to our back-office ERP system. For reliable and secure data exchange, we will use Azure Service Bus as a message broker. Azure Logic Apps will enable automation and orchestration of business processes and provide easy connectivity between services. Data is added to accounting system using API.

blog_EAIEvent messages (orders or other data) enter the system via customer-facing applications. Messages are sent to Azure Service Bus. Once received, messages are transformed to JSON and mapped to my (system’s) order format using transformation maps. Transformation maps can be created with a number of tools including Enterprise Integration Pack, I chose a Liquid template for JSON transformations with Logic Apps. Once a message is converted, it is ingested into back-office ERP system using API, and in this example I am using  Microsoft Business Central, because – well of course I am :).

My flow looks like this:

blog_eai_3.JPG

All the connectors used here are standard Logic App connectors, save for the following two: BSSCreateOrder and BSSCreateSalesLine. These are my custom connectors.  Dynamics BC (Business Central) offers a number of standard connectors, and it also offers increasing number of API functions that can be used in integration scenarios, but I chose to create my own API and my own connector in this example.

I am simulating my web application here by (manually) sending an xml formatted order to service bus. And the process of receiving, transforming and importing the message to my ERP system is shown below:

Note, this is a skeleton outline. For Enterprise Integration we would need to secure robustness, monitoring  and reusability of the solution, but this is just to show how Logic Apps can be used to automate integration without coding, whether we are integrating on-premise or cloud solutions.

 

User-friendly deployment using docker

dockernavRecently I’ve come over a scenario where docker is chosen to easily spin up demo environments for Dynamics NAV, tailored for different user cases, different customer industries and solutions. While docker is the preferred option here because it offers advantages such as portability and rapid deployment, it is primarily a tool for dev-ops.

The ease of configuration and management of containers is relative to how tech-savvy people are, and we needed to bridge the gap between the flexible powershell deployment used by developers and a user-friendly interface that anyone else would want to work with. Mind you, we are talking about different scenarios here, where some may require custom database, others need third-party .net solutions and so on, and all need to occasionally make smaller configuration changes once the container is created. For example, completing the Excel add-in registration. So, mainly scenarios that cannot be easily covered by Azure Container Instances and that users wanted to have provided ad-hoc. To retain flexibility for the users, while keeping them out of the docker-sphere, we decided to go with Azure Automation Runbooks and Custom Script Extensions.  Continue reading “User-friendly deployment using docker”

(MS Dynamics) NAV Of Things

iotFor many ERP systems, the important part of digital transformation will be integrating with IoT, connecting enterprise system and business solutions with devices and sensors in the field. I will not focus on benefits of this, I will just list a few obvious applications – IoT based real-time production, smart offices and warehouses, smart cities,… is all possible using IoT and existing AI capabilities. For real production systems, you would use one of many excellent end-to-end IoT solutions, that come with both sensors, hubs and APIs, like for example these guys, or to simplify your integration further, these guys . The latter ones have a number of cool videos showing different applications of IoT and one of them was inspiration for this blog.

For educational, creative and experimental purposes, or if you just like to tinker with such, a DIY kit for sensors will suffice. This post will show one of those examples. If you can’t be bothered to read through the whole process, just scroll down to the end, and watch the 30 sec. video of the end result. Continue reading “(MS Dynamics) NAV Of Things”

C/AL – Coding For Performance

techdaysThis year I had the pleasure of speaking at NAV TechDays 2017, and that together with Jörg Stryk, where we presented our Coding for Performance session. I have to say that amidst all the product news and features, I wasn’t entirely convinced of the need for, or benefit of such a topic. After all, this is nothing new. But the interest was high and as it was pointed out to me – sometimes it is good to be reminded. Continue reading “C/AL – Coding For Performance”

Make your (Dynamics NAV) assistant

AIToday we will look at how to make an assistant. Despite the title, our assistant is not intended only for Dynamics NAV. In fact, the example shown here is written as extension for Dynamics Financials (Business edition). But a title saying  Make your Dynamics NAV/Financials (Business Edition)/Tenerife assistant would be – well outright ridiculous.

There are several ways to do this, I will illustrate one of them. Let’s start at the end : Cortana and Microsoft Cognitive Services.  Continue reading “Make your (Dynamics NAV) assistant”