EZ-MES Extensions

Extensibility is a software engineering and systems design principle where a software package takes future growth into consideration. Although the Manufacturing Execution System EZ-MES comes with a very extensive range of functions and feature, it also supports the seamless adding of specialized software extensions. 

The diagram below shows how those extensions fit into the software architecture of EZ-MES. Extensions use the powerful API of EZ-MES to add specialized functions and features.

EZ-MES architecture for Extensions


An EZ-MES extension can consist of:

  1. a front-end web application or
  2. a back-end system application
  3. or both, a front-end and a back-end part.
Front-End Extensions

Typical EZ-MES extensions that only consist of a front-end are web applications that display a GUI for simplified or customized input and output. For example a single touch screen input for operators working on a production line or dedicated displays showing the status and availability of equipment.

Back-End Extensions

EZ-MES extensions that only consist of a back-end part are typically used in cases where production, equipment, supplier, customer and other data needs to be automatically imported into or exported from EZ-MES. Such systems can run as scheduled jobs or services and access EZ-MES via the API. Typical examples are extensions for (1) automatically importing orders and starting travelers, and (2) extensions exporting production data to a reporting database used for cockpits and reports.

Extensions with dedicated front- and back-end

More comprehensive extensions include both a dedicated front-end as well a specialized back-end. For example, a specialized analysis with a front-end that allows an operator to upload an Excel file with measurements and a back-end containing data analysis code. After uploading the data via the front-end web application, the back-end automatically analyses this data and stores the results in a traveler in EZ-MES. Such back-ends can be for example be coded in Python using powerful Anaconda libraries for multi-dimensional matrix operations and statistical analysis.

Extensions as connectors to other web platforms

EZ-MES extensions can also be used to automate work using integration with popular web platforms:

EZ-MES extension connectors

EZ-MES connector extensions can be used to connect this Manufacturing Execution System (MES) to:

  1. - Google Apps such as Google Calender, Docs, Drive and Sheets.
  2. - Business Apps such as DropBox, Jira, Office 365, SendGrid and Slack.
  3. - Analytics and Reporting Apps such as Adobe Analytics, Google Analytics, Google Data Studio, JMP, Tableau and Spotfire.
  4. - Data and Workflow Automation Apps such as AirTable, IFTTT, Integromat and Zapier.


The use of extensions turns EZ-MES into an open and flexible Manufacturing Execution System (MES) enabling future growth beyond the range of existing functions and features.

Case 1: Real-time Equipment states and performance in EZ-MES

The following screen recording demonstrates an extension for EZ-MES that displays the real-time state of equipment on the production floor. This is done by showing the layout of the production floor with on top of it the current state of the monitored equipment. Historic changes are displayed in time-bars and equipment performance metrics are shown in intuitive pie charts.


In production environments, all equipment should meet a minimum-usage percentage for manufacturing purposes. With just a quick glance at the equipment tracking in EZ-MES, the user is aware of the equipment’s production efficiency. If performance falls below acceptable standards, the user is able to take immediate action to solve this problem. This early detection saves both time and money while improving the efficiency of business processes.

There are two ways to signal equipment states changes to EZ-MES. The first way is to manually enter a change using the equipment flow window in EZ-MES. The second way is to use the API of EZ-MES to automatically stream changes from equipment interfaces into EZ-MES. Equipment states and changes are fully tracked in EZ-MES using flows and can be exported to different analysis and reporting tools.

Case 2: Track Wafer maps in EZ-MES

The following screen recording shows an EZ-MES extension for tracking wafermaps. This extension consists of a custom Javascript/jQuery front-end and a Python Anaconda back-end. This extension uses the EZ-MES API to upload the wafermap to EZ-MES where it is added to a Traveler. Next, both the wafermaps as well its data points can be fully tracked.


The GUI takes the operator from the MES system to the front end of the extension where a file with the wafermap data points is uploaded. Next the backend of this extension renders a visual wafermap. Finally both the visual wafermap (encoded in HTML-5 code) as well its datapoint are stored on the Traveler in the MES system.