Modular and layered software architecture - a repair for slow and complex architecture holding back digital transformation in manufacturing.
by Amy Eager, Technical Solution Architect, North America at IFS
A 2017 Panorama Consulting Solutions study revealed that enterprise resource planning (ERP) projects took an average of 17 months to install in 2016, with 59 percent of these projects experiencing timeline overruns. Spending over a year on implementation can be a long time when disruptive change comes in weeks or months. Any manufacturing executive that has been around enterprise software implementations knows not only that new systems can take a long time to implement but can take almost as long to change or update with new technologies.
The modern business age
Digital transformation is more than just a buzzword, the broad term covers every aspect of changing technology in a business. The businesses that succeed are those that can keep up with accelerating change of processes enabled by modern technologies and not left behind with legacy systems.
Key enterprise software, such as ERP, enterprise asset management (EAM) and asset performance management (APM), must evolve to address the need for digital transformation. The traditional monolithic enterprise solutions that were suitable for past manufacturing business models, are no longer capable of implementing new technologies or supporting the expansion of companies as they branch out into new geographies that have different regulations to consider.
Finding a solution to this problem is not a new objective, the process to shift enterprise solutions to a more flexible service-oriented architecture (SOA) that can be developed and deployed in a modular fashion started a decade ago. One of the main strengths of a layered architecture is the ability to separate each function. For example, the presentation tier doesn’t need to pull information from, or store it in, the database or execute on the business logic, it just supports the various user interfaces accessed by end users. This makes it easier to develop, test and maintain the application as changes made in one layer do not directly affect any others.
Taking the next step with layered architecture
Once service oriented architecture (SOA) is in place the next step is layered application architecture. This move further increases enterprise agility and reduces the amount of time and resources enterprise software consumes – which allows it to be better invested elsewhere.
With SOA, components within the structure are organized into layers, with each one performing a specific function–the presentation tier to present data to the end user, the business logic tier to process information, and the data storage tier to hold the information. But modern layered architecture takes this one step further by creating separate layers that can contain modifications to the code or customizations that users can make to how their application performs. This approach now makes the adoption of new business processes and technologies a lot easier.
With layered application architecture, companies can use powerful personalization and configuration features to tailor the enterprise solution to fit their specific work processes and routines as needed. For example, businesses can create user-defined fields and custom events to notify specific employees via pop up message on tablets or smartphones that a customer order just placed is below an approved margin. This can even be extended by providing a warning or even stopping a customer order, which previously would have to have been done via modifications.
Modifications are different from configurations in that modifications are new executables that run in place of existing software functionality. These require coding and testing, and must be rewritten or uplifted to accommodate each new version of the underlying software. Configurations meanwhile are extensions to the underlying functionality that can be executed easily by the customer, even with more complex changes such as when an existing database field needs to be changed. Unlike modifications, which must be supported by the software vendor and therefore increase ongoing maintenance cost, configurations carry no added support cost.
No need to adjust source code
Retiring modifications is where layered application architecture comes into its own. A situation where there is no way around modifying the source code would traditionally be a long, drawn out dilemma. However, with layered architecture segregating these modifications into their own layers, it means they no longer need to be rewritten or uplifted. All that is required is simple testing, which takes a fraction of the previous time required.
Layered architecture also handles country- or region-specific localizations, meaning manufacturing organizations can rapidly expand into new regions while region-specific functionality is implemented in each geographic area. By getting rid of the need for modifications, layered application architecture can help lower total cost of ownership (TCO) as remaining modifications can be easily moved over to new versions without being rewritten.
Case in point – CDF Corporation
Headquartered in Plymouth, Mass., CDF Corporation is a global leader in semi-rigid and flexible liquid packaging for the chemical, petrochemical, cosmetic, food and beverage and industrial markets. CDF is also part of Cheer Pack North America, a strategic partnership established in 2008 between Hosokawa Yoko (Japan), Gualapack (Italy) and CDF, with a customer base that stretches across six continents.
Despite this diverse business model and resulting complexity, Alex Ivkovic, Director of IT at CDF, says his company has typically stayed on the current version of its enterprise system because it features layered application architecture.
“We make heavy use of the configuration layer,” Ivkovic said. “We have no modifications, and I believe this is the way to go. But other customers I interact with have told me they have been able to significantly reduce their use of modifications by using the configuration layer.”
For manufacturing companies that still have source code modifications, the progression towards more granular layers in its architecture carries measurable benefits – allowing companies to reduce modifications by 75 percent or more with configuration, according to Ivkovic.
“A company may have had 10 to 15 modifications and have two left because the IT department cannot convince a division head to give them up,” Ivkovic said. “Modifications that remain are less disruptive to the business because the layered application architecture means time spent testing the modifications on a new version of enterprise software may be a third or less of what they were before.”
Between more graceful handling of modifications and the availability of broad configuration/personalization, layered architecture can be an appealing choice for companies on older legacy systems.
Ensuring enterprise readiness
Layered application architecture isn’t just a business tool, it is a key process to drive digital transformation. Businesses are no longer conformed to the burdens of old legacy systems. With this type of supporting software, waiting an age for the latest updates and functionalities that drive business change is a thing of the past. Only with agile enterprise software can businesses adjust without jeopardizing security and with minimal disruption. Companies can now take full advantage of smarter operations and better-informed decision making to keep up with whatever changes come their way in the future.
Amy Eager, Technical Solution Architect at IFS in North America
As Senior Advisor and Technical Architect with IFS North America, Amy Eager is a sought-after expert on IFS Applications technology. She provides technical thought leadership, advisory services, training and assistance to the IFS customer base. She holds a Bachelor of Science in Business Information Systems from the University of Phoenix.