I have been selling MES systems for almost a decade now. When I first entered the industry, MES systems were typically sold as MES applications. These applications offered out-of-the box functionality that included things like preconfigured system logic and user screens. Such applications lacked configurability, flexibility and modifying them was not a trivial task. It typically required custom coding and in extreme cases, modifications of the source code. As a result, many manufacturing companies chose to build custom applications to help them manage their production processes.
Today, many of these custom production applications are 10+ years old. These systems were written and deployed using software and hardware platforms that are becoming obsolete. Thus, maintaining and updating these systems poses a challenge and is becoming more expensive as time progresses. Plus, retaining and finding new people that know these older technologies is not easy. Many manufacturers are now mulling over if they should modernizing or replace these custom solutions with commercially available MES software.
In recent years, the MES space has evolved and a new set of MES solutions have emerged. The concept of an MES platform was born. An MES platform is more configurable, extendable and enterprise ready when compared to the older MES applications. Many refer to these new MES platforms as MOM (Manufacturing Operations Management) solutions.
What benefits these MES platforms offer to customers that are currently faced with the challenge of modernizing or replacing their custom developed MES applications? Below, please find a table with a list of main differences between the older generation MES applications and modern MES/MOM platforms.
|Area||Older MES Applications||Newer MES Platforms|
|Product comes with predefined business logic that can be parameterized. That means only certain flows/processes are supported by standard product. Any new processes require custom development. Often business logic is distributed between various components installed on server and client machines.||Product comes with some predefined business logic but by design also supports custom processes. These new processes can be centrally authored (in one place) using dedicated tools that are a part of the framework. This ensures consistency, upgradeability and security.|
|No tools to manage Business Processes, their revisions and life cycle. As a result, it is hard to compare which processes and how they are used in different instances along the time.||Framework allows to define and control processes and their revisions. System allows enablement of certain processes revisions during a given time and circumstances.|
|Upgradeability||Business logic is mixed with the product framework code. Upgrade of the product requires redevelopment of all custom business logic on the new version.||Business logic is separate from the platform code. The impact of a technical upgrade of the platform has minimal effect on customer specific business logic.|
|Deployment of the new version of the product means reinstallation of the whole code, potentially impacting all functional areas.There are no tools to execute, track and ensure consistency in global (multisite) deployments.||Platforms provide tools to extract certain processes, package and deploy them to selected sites. It also provides visibility into which processes / revisions are used across various sites. This helps in keeping the solution consistent, but also supports local deviations on the same upgradeable platform.|
|Localization and User Interface
|User Interface (text, graphics and layout) is a part of the client executables. UI modification requires custom development and is often limited to only certain forms.||There is a dedicated presentation layer that is separate from business logic and allows alternative UI depending on device and culture.Platforms come with tools to extract literals and graphics and modify/translate them for a given country. There is also a dedicated tool to author new look and feel of the user interface.|
|Support for Client
|Runs only on devices that have been tested using a very specific configuration. Often comes with a heavy client that must be installed locally.||Supports wide range of client environments, including thin clients. Often a web browser is the only requirement for the thin client to access the system.|
|Support for Various
|Database access is embedded in the application layer. Business logic can be partially implemented in the DB layer. Implementation on a new / different database engine is complex.||Comes with a specialized “data access layer” that separates the database from application layer. There is no business logic implemented at the database layer. Running on various types of databases is possible.|
|Who Can Modify It?||Developers only.||Developers and to some degree business people.|
To summarize; if you are a manufacturer who is using a custom manufacturing solution and this solution is in need of modernization that will require a significant investment, an MES platform might be a good alternative. MES platforms offer capabilities and flexibility that older MES applications did not have. By choosing to deploy your production solution using one of these platforms, you can get away from trying to be both, a manufacturing and software development company at the same time. You can focus on what is important, which is developing and evolving MES functionality that delivers direct business value. The software platform author would be responsible for maintaining and continually evolving the platform.