According to a recent Allied Market Research report, the supply chain management global market value will reach $37.41 billion by 2027. One factor that promotes market growth is the introduction of automated systems for managing supply chain processes. Although many companies are implementing a transport management system (TMS), warehouse management system (WMS), or enterprise resource planning (ERP) system, all organizations have different processes that constantly evolve.
There are many ready-made systems on the market. But sooner or later, any logistics company faces the need to optimize processes that an existing system cannot cover. This is where you might find yourself needing to integrate a new functionality for your existing logistics software.
Integrating modules with existing systems is becoming a leading trend. Doing so may allow you to create a multi-module system tailored to the ever-changing needs of your business. Today, the issue of module integration is more crucial than ever for logistics organizations wishing to increase their flexibility to adjust to client requests, competitors’ actions, and industry events.
But when logistics companies try to integrate ready-made or custom modules into their existing systems, many fail to ensure a seamless flow of information. How can you succeed in integration and create a multi-module solution to improve the efficiency of your logistics business? You’ll find answers and tips in this article. But let’s first understand what integration is and what problems it can solve.
What is integration and what pains can it eliminate?
Integrating modules is a comprehensive solution for automating an enterprise’s business processes. It includes creating new and combining existing discrete modules into a single system.
However, if communication between enterprise applications and modules isn’t smooth and the tools aren’t configured to interact with each other, this can lead to poor data exchange. In turn, this leads to widespread business inefficiency and risks.
Dealing with ineffective systems and programs is time-consuming, forcing employees to focus on unnecessary activities rather than ongoing processes. According to McKinsey, managers spend about 19 percent of their time finding the resources, documents, and information needed to get their jobs done. This includes switching between many different tools, manually moving data between them, and constantly logging in and out of systems.
Imagine that before shipping cargo to the client, your managers need to manually calculate the cargo volume and delivery cost. This process is time-consuming and may become a reason for delivery delays and customer dissatisfaction. But there’s a way out. After analyzing business processes and existing modules, you can create your own or implement a ready-made module to automatically calculate the volume and cost of cargo in your system. In this way, you can boost the automation of supply chain processes and increase your business productivity.
Poor process visibility
The lack of integration between an LMS and, for example, a value-added module can lead to the omission of lots of data, meaning you won’t get the whole picture of your supply chain processes.
Let’s imagine that your warehouse often receives goods that require value-added services like labeling or quality assurance. However, when scheduling work, the warehouse manager might miss a client’s requirement for an extra service and not arrange for additional labor. Consequently, on the day the service is required, workers might be busy accepting a consignment or there might not be enough personnel to provide the service.
To improve process visibility, you can integrate a value-added module into your WMS and connect it to your LMS. This way, warehouse managers will see a notification with a request for an additional service and can prepare for order fulfillment in advance.
Moreover, process visibility allows you to use analytics tools. By receiving reports and graphs on completed tasks, you can analyze data and improve business processes where necessary.
Risk of unbudgeted expenditures
Due to a lack of modules or poor integration, your logistics business may be exposed to extra hidden costs. For example, say you store cold chain products as well as products that don’t require special storage conditions. Imagine that a large volume of cargo arrives at your warehouse, and warehouse workers mistakenly place the container with refrigerated medicines in the warehouse without refrigeration. No matter the cause of the error, you’re responsible for the spoiled medicines and must pay compensation.
After analyzing the process of moving containers around your warehouse, you may find that your system lacks a product classification module. By integrating such a module, managers will be able to scan barcodes and automatically route cargo to the refrigerator, for example, without special equipment.
Many problems can arise or remain unsolved due to insufficient integration of modules. The exact problems that might arise depend on the specifics of your business and processes. How can you solve these problems and what do you need to create a scalable and flexible logistics integration platform?
Preparing for module integration
There are different scenarios for how a logistics company may add a software module. The most common are:
- selecting the most suitable ready-made multi-vendor module
- using ready-made software from one provider and creating additional tools from scratch to support your unique processes
In both cases, you’re likely to face the problem of integrating diverse software. To carry out the integration so your system works flawlessly, it’s necessary to follow several steps.
#1. Conduct business analysis
It often happens that module integration only involves a technical audit and implementation. However, developing integration requirements should start with business analysis. Without a business analysis and requirement identification, your integration is subject to the following risks:
Broken functionality. Business analysis provides the basis for integration. Without this groundwork, you can’t learn about the technical side of your software. Thus, during the integration process, you risk disrupting the system architecture or existing code and disabling vital functions for employees.
Poor usability. Your employees are used to interacting with existing software, and they’re used to its interface. Therefore, when creating a new module, study the existing interface design in order not to break the logic of the entire system. Otherwise, you risk compromising usability, leading to human error.
Reduced performance. Adding many modules might overload your system and reduce its performance, leading to delays in supply chain processes. A common mistake is assuming there’s a need for several modules to cover your processes. A business analyst (BA) will help you verify this assumption and possibly offer one solution covering all of them.
To avoid these problems, it’s vital to conduct business analysis and requirements elicitation before embarking on integration. An in-house or external business analyst (BA) can help you with this by studying the current processes of your logistics business to determine your system’s bottlenecks that can be improved by adding a new functional module.
Let’s touch on an effective approach for adding a new module to your existing system.
Gathering system documentation
The first step towards identifying requirements is to collect all existing documentation about the system. This process can be time-consuming. There’s a chance that your company has a legacy system for which documentation is missing or out of date. In this case, it’s necessary to conduct a zero-based software audit to draw up a specification for further work.
If documentation is available, the BA studies and analyzes it in detail. This allows us to get familiar with existing solutions, entities, and functions that should be included in a new module or updated in the current solution.
The next step in eliciting requirements is to conduct impact analysis. With this technique, you can identify the potential consequences of the planned integration. We most often use the following requirement elicitation practices:
A feature map is a high-level diagram that lists all functions in a single system “as is” (how they look right now) and “to be” (how they will look when the new module is integrated). Let’s say you decided to add a value-added service module to your warehouse management system. The first thing a BA will do is list all functions of your existing system and describe all existing business processes (“as is”).
The second stage involves listing the entire system functionality “to be,” considering that you’re adding a value-added service module. This way, you can analyze which features will be affected in the existing system and which may need to be changed. This approach also allows a BA to identify business processes that need to be transformed. Thus, the feature map gives you a complete picture of the necessary changes at the initial stage of the project.
An ecosystem map is another high-level diagram that lists all systems and their functions in the supply chain process. Here, a BA registers all integrated software solutions you use and how they interact with each other. For example, say your WMS interacts with your TMS, billing system, and LMS. In this case, the BA will describe what data each of these systems sends and receives.
In this case, drawing an ecosystem map will help a BA understand that a new module needs to be integrated not only with your WMS but with other systems like your billing system and LMS. This integration will help you optimize your staff’s work related to providing value-added services and will ensure automatic cost calculations. An effective ecosystem map allows a BA to understand how a new module will affect existing systems, from which systems it will take data, and with which systems it will share data.
Data modeling helps to structure your business information. Each of your systems exchanges data entities, which are the smallest parts of data that are useful for representing data relationships. Thanks to data mapping, the BA defines all existing entities in your system, how they interact now, and how they will interact after integrating the new module. This technique allows you to clearly define what data (reports, statements, invoices) to transfer to the new module.
When conducting impact analysis, a BA can use one or several of the above techniques. It all depends on your requests and business needs. With these techniques, a BA and technical expert can accurately determine the amount of time it will take to implement a new module.
The business analysis allows you to understand the root of the problem instead of rushing to integrate possibly unnecessary features. After conducting business analysis, you’ll get a list of requirements that describe which modules you need to add to the system and with which existing software products they must be integrated. Information collected during the business analysis process will help the development team evaluate available software and decide how to integrate new logistics modules.
#2. Assess existing systems and the new module
The integration difficulties solution architects may face are associated with hidden problems when docking a new module with a company’s existing system. This is because modules can have different developers, programming languages, and architectures.
Suppose you’re planning to integrate a tool to calculate the maximum load a truck can accommodate. Your BA has determined that you must integrate a new module with:
your order management system (OMS) for the calculator to receive data on the volume of cargo
your billing system so the calculator gives data to the billing system and calculates the actual shipping cost
In this case, the technical specialist’s task is to carefully study these software products. The technical specialist must understand new modules and the architecture of existing systems as well as which lines of code implement certain functions. This is where systems assessment enters the game.
You should follow several steps to ensure a successful software assessment process.
- Analyze the technology stack. Identify and analyze the technology stack of the existing product and the module you intend to integrate with it. The technical specialist can determine if the frameworks and programming languages used are up to date and supported by the vendors.
Imagine that a module you’re going to add is designed to exchange data in JSON format. But your existing system isn’t capable of processing JSON data. In this case, consider rebuilding your software so it can handle data in JSON format rather than configuring a new module to transfer data in a format supported by your existing system. This will help you avoid the problem of legacy software.
- Conduct an architectural audit. Further, if you’ve determined that the technology stack of the existing system and the new module are compatible, you need to audit your software architecture. This will help a technical specialist understand how different parts of the existing system are connected and interact with each other and find ways to integrate new modules so that future changes don’t affect the architecture of the entire software.
- Evaluate the code. The most common integration problem is the incompatibility of the existing system’s code with the code of the new module. This is because most of our clients turn to us with legacy systems, many of which are written in legacy programming languages and have support and interoperability issues.
According to a recent Reuters Events report, which surveyed about 400 executives, 55 percent of executives surveyed are still using legacy systems. Moreover, 43 percent of those who interact with legacy systems suffer from poor interoperability and low productivity. That’s why, as part of any changes, it’s vital to conduct a full code review and evaluate the possibility of updating the system source code.
- Review the user interface and user experience (UI/UX). To make the software intuitive, designers should evaluate the existing system and create a familiar design for the new module. However, if the designer finds problems in the outdated design, the existing system may need to be redesigned. You can learn more about how to redesign your software in one of our previous articles.
Assessing systems can be time-consuming. But by knowing the technical side of your software, you can improve the quality of your processes across the board and ensure a seamless and efficient integration process.
#3. Define an integration solution
Based on the assessments of your business analyst and technical expert, you can proceed to the architecture integration preparation stage. At this stage, a solution architect can give you a hand in choosing the most relevant and fastest approach to integration.
But before considering cumbersome and time-consuming integration solutions, check with your software vendor to see if they can provide a pre-built module that can meet your needs.
Software vendors like Oracle and SAP provide a wide range of ready-to-integrate modules. Before cooperating with such providers, learn more about the add-ons they offer. If you find a suitable add-on to cover your processes, you can integrate it into your existing system using the cloud. However, if your system solves specific tasks that a ready-made solution can’t cover or if you want to have more functions at your system’s core, custom module development may be the solution.
If your software provider doesn’t have a suitable solution, be prepared for the integration to be tricky. That said, working with an experienced solution architect will simplify and speed up the integration process. An experienced solution architect will take into account your software tech stack and third-party integrations to choose the most appropriate architecture for integration.
There are a lot of integration architectures, but the most common are:
Point-to-point integration is when the system and module interact directly. P2P integration uses middleware to ensure the exchange of data between the two systems. Middleware facilitates both data conversion and data transfer between modules and main systems. However, the P2P architecture also has disadvantages. First, integrated logistics software modules must communicate with each other using the same programming languages and data formats. The second disadvantage is that when you change one of the modules, you have to modify or reconfigure all the systems.
Enterprise service bus (ESB)
The ESB architecture allows modules to be integrated using a communication bus. Modules are connected to this common bus and thus interact with each other. The advantage of this approach is that the ESB separates modules, allowing them to communicate without being dependent on each other. However, the disadvantage of such an architecture is its limitation to one programming language and a proprietary protocol. Despite this, the ESB method of integration is widespread and is used by such giants as Oracle and IBM.
We’re often approached by clients with monolithic architectures. Any add-ons for monolithic systems are painful for both business owners and developers. Even microscopic changes in a monolithic system entail the need to change the entire system and cover it with smoke tests. And while changes are taking place in the monolithic system, it slows down the entire supply chain process. In this case, the best way to handle the problem is to turn to a microservice architecture to help you scale your system.
A microservice architecture decomposes a large monolithic system into independent elements. Each of these elements (or microservices) is designed to perform one specific task, and many microservices can easily be deployed within the same system.
What benefits can you get with a microservice architecture?
Giants like Netflix, eBay, and Amazon have already adopted microservice architectures for their platforms. A microservice architecture applies to all business domains, and logistics is no exception. Let’s find out what benefits microservices can promise your business.
Technology stack independence. Through microservices, you can combine different technologies and choose the best possible solution. And the use of standard communication protocols (HTTP calls via API, message brokers) allows you to customize microservices written in different programming languages and use a mix of data storage technologies. At Yalantis, we use REST APIs to easily integrate modules with existing supply chain solutions to bring more value to logistics businesses.
Read more about how to create a RESTful API.
Scalability. The biggest advantage of a microservice architecture is the ease with which you can scale your software. Legacy systems built on monolithic platforms are limited in this regard. If you don’t need to scale the entire monolithic system, there’s no need for disassembling it to the ground. Implementing a microservice architecture will be enough to make changes only to a certain part of the system.
Resiliency. Implementing a microservice architecture simplifies the process of identifying and fixing the root cause of performance issues. Furthermore, the improved isolation of failure offered by individual modules means that larger applications aren’t affected by a single failure. Therefore, the risk of downtime is reduced because developers can roll back an update or make changes to a module without redeploying the entire application.
Ways to integrate new modules using a microservice architecture
Let’s look behind the curtain and learn about two ways to implement a microservice architecture and understand which works best for your logistics management system.
In orchestration, developers implement one central controller. The essence of the controller is to help services handle all communication requests between microservices and direct each service to perform its intended function.
In choreography, developers implement an event broker (middleware). Thanks to this approach, services exchange messages and requests without waiting for a response from another intermediary software.
The choice between an orchestration and choreography architecture depends primarily on the needs of your business.
An orchestration architecture centralizes all business processes thanks to the controller. This makes it easier for you to manage them. However, one of the disadvantages of orchestration is that the controller needs to communicate directly with each service and wait for each service to respond. That is, all interactions take place over the same network, and call requests can take a long time and depend on services in a lower layer. Thus, this kind of microservice architecture is suitable for small logistics organizations that don’t need to integrate many modules to avoid a heavy load on the system.
In a choreography architecture with event brokers, all services are independent and each service knows how to react to events. Also, adding and removing services is much easier in a choreography microservice architecture. All you have to do is connect the service (or disconnect it) to the corresponding channel in the event broker. This solution is suitable for large logistics enterprises. However, it’s worth noting that within a choreography architecture, business processes are disparate, which makes it difficult to see the whole picture.
To determine the type of microservice architecture that is right for your business, you need the help of an expert team. The BA together with the solution architect will help you determine how best to build your business processes and, based on this, help you choose the best option.
Integrating modules isn’t rocket science, but for many business owners, it can seem daunting. The help of qualified experts will greatly facilitate this process. Yalantis has logistics experts, domain-experienced BAs, and solution architects who can help you elicit requirements and create a scalable system. Contact us if you have questions about systems integration.