Infor M3 customer and considering Multi-Tenant (MT) cloud in the future?

What to consider today regarding your integration strategy.

I decided to write this blog because recently we have been approached by multiple clients who has sought our advice on best options for EDI and integration if it should be compatible with Infor MT cloud in the future.

Naturally MT cloud will put some restrictions on what you can do, as you are sharing the same environment with many other customers. This becomes especially true when developing your interfaces and there are some pretty major changes that you need to consider. However, if you are aware of them you can start today to design any new interfaces accordingly and hopefully avoid having to re-write them when the time is right to move to MT cloud. I am going to try and explain a few important things you will need to keep in mind.

First of all, to put your mind at ease, Infor M3 e-Collaborator (IEC) appears to be here to stay, but there will be some changes. It will be much more tightly integrated with ION and the Partner Agreement tool will disappear in its current form. Initially it will not exist at all and the partner agreements are generated automatically from Meta data within the maps. ION workflow is replacing the communication channels and the traditional IEC Process flow.

However, we are told there will be a “light” version of the Partner Agreement Tool coming out in a phase 2, with most of the functionality currently supported in the on-prem version. The exception is the external communication which will still be handled by ION. Furthermore, any outbound messages are now being triggered by Event Analytics and M3 BOD Processor and not via the traditional Media Management in M3.

In terms of messages and naming, these must now be created as

Custom BODs (Business Object Documents) and follow the standard BOD design and nomenclature.

Finally, when it comes to the development of maps, there will also be some restrictions put in place. As you might be aware, IEC is currently an extremely flexible tool in terms of what you can do in your maps. It supports Java code within custom functions which basically allows you to write any code to be executed within the map when it fires. Examples include sending emails, writing your own database calls, creating external files, executing web services etc. This does not mean that it will be impossible to do these things, but it will become much stricter and limited in MT due to security reasons. You will need to use the tools and procedures provided to accomplish the same results.

I hope you found this article interesting and perhaps it can help you think more strategically in regards to your current integration plans.

Integration Wizards is an Infor Alliance partner that specializes in Infor M3 and Infor LN EDI and integrations. We want to make sure what we develop today will also work tomorrow and the next day, so we strive to keep abreast with the latest technology developments so we can give our clients the best advice and deliver long-lasting solutions.

Disclaimer: The information in this blog is to the best of our knowledge at the time of writing and based on our understanding from reading publicly available material, working on MT integration projects and speaking to various people. I am not an Infor employee, nor do I have access to Infor internal documents or information. Therefore, we take no responsibility for any actions taken based on this article alone. For more in-depth information you should speak to your Infor Account Manager.

10 simple ways to ensure your integration projects run on time and budget

 

In this article I will present 10 easy points to keep in mind to ensure that your integration project is a success. There is no research, statistics or other metrics behind this list. Just my personal experience after 15+ years of integration work with Infor M3 and MEC (M3 Enterprise Collaborator). The list is in no particular order.
Please feel free to leave a comment if you think I have missed something.

Let’s get started.

1. Write a detailed project specification

This may seem like common sense, but often as an integration consultant you are left with very little information to start with and you are expected to fill in the blanks. However, the fact is that as an integration consultant you work with all the different processes in the ERP system and it is impossible to be an expert in everything. Besides, every company have different process flows and configurations, making this task even harder. The integration will get done…eventually, after a lot of questions and requests for clarifications, which could have been avoided if the information in the initial specification had been more detailed.

2. Define the roles and responsibilities of the people in the integration project

Usually there is a person in every company that is responsible for the EDI and integration maintenace and might have been so for many, many years. This person may even have developed some of the interfaces way back.
Naturally this person will feel threatened by an external consultant coming along and proposing changes to his or her domain. He or she may even in extreme cases act as a gatekeeper to critical information, thus working against the success of the integration project.
It is important that the roles and expectations of the different people in the project are well-defined by the project leader or the project sponsor.
Everyone needs to pull in the same direction and in most cases all it takes is re-assurance that no ones job is on the line and that the change is ultimately for the better.

3. Provide support to the project from the top level management

Sometimes there is a lack of support by the business and the top level management. Although the integrations may have significant impact on how the business is run, it has quite low priority from management and may even be pushed aside or postponed due to the need to put out fires or to attend to tasks that are quite insignificant.

4. Prepare your IT infrastructure before the project

This is something that should really not be a problem, but sometimes it still is. Some common interuptions to an integration project is integration software which has not been properly installed. Consultant user profiles without the required permissions, unplanned restoring of test systems, wiping all the integration configurations or VPN services that are not working properly.
Individually these may not have a big impact on the project time frame, but many small streams make great rivers (swedish proverb).

5. Try to limit changes during the course of the project

Sometimes you realize things during the project you were not aware of when starting out, therefore it may have been impossible to plan for it. However, these changes can have significant impact on the time frame of the project. As an integration consultant, when reviewing a project specification, you have a general idea of how long time things will take. Especially if you have been doing
it for a while. You know what API’s are available and where you may need to create a web service or make a database call.
However, if these conditions change it is like trying to hit a moving target, and your initial estimate may need to be complete thrown out the window.

6. Clean up your data prior to the project

It is important to understand that garbage in, garbage out also applies in a B2B integration. There is no magical AI (not yet!) that will automatically clean and make sense of the data if it was entered inconsistently or incorrect. A common example are addresses, which can be entered in many different ways, but may have to be in specific defined fields in your B2B transaction. Often causing the transaction to fail at the other end and initially the interface is blamed for not “working” as it is supposed to. Other examples are when reserved fields in the ERP are used for something else than their intended purpose, and suddenly all sorts of strange information is sent in the interface.

7. Prepare for business process change

Often a B2B integration will have significant impact on the business process it supports and sometimes there has not been enough planning ahead for these changes. When it is close to go-live the roles within the process flow and who is responsible for what is still not clear. Even in a fully automated process, there is still potential for errors and exceptions, and it is important that someone is monitoring and taking care of these from day one. This person may not be the one taking action, but is responsible that action is being taken.

8. Provide resources and relevant test data for testing

This is quite common and is always time consuming. You may have finished the integration coding in a day or two, but there is no one available to help with the testing and no relevant data. Often a specific business process flow that needs to be followed (and as mentioned in the first point, every business is different), no one has the time to assist, because they are to busy with their day-to-day tasks. This is where you need the support of the top level management to free up the relevant process owners who understands the business process 100%, knows what to test, how to test it and what results to expect. These people will also play a crucial part in defining the test cases in the test specification and ensure that as many issues as possible are captured before going live.

9. Ask your business partners to respond in a timely manner

This is probably the most common cause of delayed integration projects, which is frustrating, because it is also the point which is the hardest to do something about. You are dealing with people outside the company you are working for, and although the business top-level management may still be able to put some pressure on their B2B partner (depending who the partner is of course) it is still very much out of your hands.
Sometimes it could take days or in extreme cases even weeks before you get a response from a business partner after submitting test data. This can have significant impact on the project time line and also means that everyone involved is getting increasingly disconnected with the project, making it even harder to pick it up again where it was left off.

10.  Keep it simple!

I’ve seen many examples when far too much business logic has been implemented in interfaces. Especially when the functionality is missing in the ERP and it is faster and cheaper to develop it as part of the interface. This is dangerous and after a while the integration becomes a black box and no one really knows what it does.  So my advice is to keep it simple and it’s also good practice to insist on keeping up-to-date documentation on your integrations, so you know down the track what they do, without having to call in external consultants everytime to find out.

I hope you enjoyed reading this article and please feel free to share it if you like it.

If you would like more information or want to discuss an upcoming Infor M3 EDI or integration project, please contact us at Integration Wizards or get in touch with me directly on Mathias Wallgren.
We can assist you at any stage of your integration project, from planning and execution to training and documentation.

Infor M3 Integration Toolkit. What to use and when?

If you are planning a new integration project with Infor M3, there are a lot of different options available and in some cases it can be difficult to select the best option. In this article I aim to give some direction and hopefully make the decision easier. Let’s have a look at each of the options and provide some examples of use cases for each.

Infor M3 API’s

Infor Application Program Interfaces (API) have grown significantly in numbers over the past 10 years.
They provide the same business logic as the interactive programs, but as a set of functions, which vary by M3 program. These functions can be called programmatically and include Add, Delete, Update, Get and List functionality.
The M3 API’s are the preferred way to interact with M3, as the business logic is followed and the database is not exposed in any way. That is why most of the other methods I will discuss later use these API’s internally for invoking M3 functions.
The downside with the API’s is that they are quite cumbersome to connect to directly, unless you use propriety classes, and are not well suited for calling M3 remotely over the web.
If you have a local application, which needs to be very tightly connected to M3, and performance is extremely important, then perhaps you could consider building an interface directly to the API’s. This approach would most likely cost more to develop, test and maintain than using any of the standard methods below. Also be aware that the API’s may change between M3 versions, which could easily break the interface.

Infor MEC

M3 Enterprise Collaborator (MEC) was developed as a response to the increase of B2B transactions over the internet about 15 years ago. I was on the first development team and later Product manager for this application, when it was still owned by Intentia in Sweden.
I am very excited that it is still around, and although there has been a lot of improvements over the years, the basic functionality is still very much the same.
MEC allows any application to securely communicate with Infor M3 via XML messages over a range of different protocols.
The M3 Enterprise Collaborator uses API’s to safely update data in M3, but with the ability to write custom java-functions, you can call web services, extract data from other sources or anything else you wish to do.
MEC comes with a complete framework, which includes the ability to setup Partner Agreements for individual configurations by the partner or application with which you wish to integrate. It also comes with a flat-file parser to process text-based files.
An extensive admin interface includes the ability monitor each message and a has a full range of other useful functions to maintain your transactions.
If you have a B2B/EDI type integration, typically over the internet, where visibility and control is important, then MEC is the preferred alternative. It can also be used for A2A integrations and is particularly useful to replicate reference data between disperse systems.

Infor M3 Web Services

Infor M3 Web Services uses the traditional web services SOAP protocol and allows for synchronous communication with Infor M3 over http. Web services methods can be based on API transactions, but can also be based directly on most interactive programs, which makes it very useful for updating data when a suitable API function is missing.
Infor M3 Web Services makes sense for A2A integration, when a remote application, which also supports web services, is pulling the strings and controlling M3.
This could be a web shop which is calling a web service to retrieve information about whether an item is in stock or not.

Infor M3 REST interface

The Infor REST interface is a fairly new development and allows M3 API’s to be called remotely by virtually any programming language, without using the propriety classes required when calling the APIs directly. Compared with Web Services, REST is much more light-weight, can be called from pretty much any tool. It is a great for loosely coupled applications with a many-to-1 connection, where updates on the server side should not break the client.
It is a welcome addition to expose the API functionality to a greater range of possible integration scenarios.

M3 ION/EventHub

M3 ION and EventHub are also relatively new additions and are based on an event driven publish and subscribe service based communication. Infor M3 produces events for any type of update in the database and other applications can subscribe to specifically defined events and retrieve data from the files producing these events.
This type of integration is typically used for internal applications where M3 is the master. However, it can also be used to trigger MEC transactions, that could forward the information to external destinations.

Direct Access via ODBC or OLE/DB

It comes without saying, but if you decide to access Infor M3 directly via ODBC, it should only be to extract data, and NEVER to update data. Being a relational database, the tables in the M3 database have a lot of interconnected records and unless you know exactly what you are doing, it would be very easy to jeopardize the integrity of the database by removing or adding data.
However, there are still applications where direct access makes sense. I am thinking of data warehousing(ETL) and business intelligence tools for example, such as QlikView or Cognos where you need to extract large amounts of data.
There are also situations where none of the previous methods are available, and there is no other option than to extract the data directly.

If you would like more information, please contact us at Integration Wizards or get in touch with me directly (Mathias Wallgren). We can assist you at any stage of your integration project, from planning and execution to training and documentation.