Skip to content

B2MML: XML Models for ERP and MES Data

Mark Kobbert CTO

Published 5 min read

Contents
  1. What the Current Release Contains
  2. Three Agreements Behind an Order Message
  3. Test Structure and Meaning Separately
  4. Repeated Messages Need a Defined Outcome
  5. Separate the Message Model From Product Connectivity
  6. Sources

B2MML (Business To Manufacturing Markup Language) is MESA International's XML implementation of the ANSI/ISA-95 family of standards, Enterprise-Control System Integration, known internationally as IEC/ISO 62264. According to the B2MML repository on GitHub, it consists of XML Schema (XSD) files that implement the ISA-95 data models. Business systems such as ERP and manufacturing operations systems such as MES can use those schemas to exchange orders, results and master data in a shared structure.

IEC 62264-1:2013 describes the manufacturing operations management domain, level 3, and the interface content between level 3 and the business level 4. Its stated goal is consistent interface terminology. The schemas give two systems a shared vocabulary. A working integration still needs agreements on identifiers, units and status rules, which this page works through below.

What the Current Release Contains

The current release is V7.00.00 from November 2020, published as "Version 7, with 2018 ISA-95 changes". Its notes say it takes over the 2018 editions of ISA-95 Parts 2, 4 and 5 and is not fully backward compatible with Version 6, partly because element names were changed to match the standard.

Schema File (V7.00.00)ContentElement Names in the File
B2MML-OperationsSchedule.xsdRequests for work to be doneOperationsSchedule, OperationsRequest, SegmentRequirement, MaterialRequirement
B2MML-OperationsPerformance.xsdResponses on work that was doneOperationsPerformance, OperationsResponse, SegmentResponse
B2MML-Material.xsdMaterial master data and lotsMaterialDefinition, MaterialClass, MaterialLot, MaterialSubLot
Transaction elementsA verb combined with an objectGetOperationsSchedule, ShowOperationsSchedule, ProcessOperationsSchedule, AcknowledgeOperationsSchedule

Older releases such as V0401 used files named ProductionSchedule and ProductionPerformance. Check which release a partner system implements before you map a single field. The release also ships AllSchemas.json, the first B2MML-JSON schema. MESA states that it was generated from AllSchemas.xsd and that there has been no testing of this file, so treat it as a draft.

Three Agreements Behind an Order Message

An order exchange needs an agreed data structure, shared business meaning and defined delivery behavior. XML schema validation mainly addresses the structure. The implementation must also decide how an order is identified, what its quantity means and what happens when a message is repeated.

AgreementExample DecisionFailure If Omitted
IdentityOrder reference is unique within the agreed scopeAn order from another plant overwrites the first
Quantity and unit500 means 500 pieces, not 500 carriersThe receiving system plans the wrong output
LifecycleChange and cancellation are distinct operationsA cancelled order remains executable
Delivery behaviorRepeated message identifier is handled consistentlyA retry creates a duplicate instruction

The field names in a real implementation come from the selected release and your interface contract. The four decisions in the table are yours in every case, because a valid schema accepts each wrong choice.

Test Structure and Meaning Separately

Suppose the ERP sends order O-700 with a required quantity of 500 pieces. The receiving system stores quantities in trays of 25 pieces. The interface needs an explicit conversion, 500 / 25 = 20 trays, and must keep the original requirement and unit.

If the receiver reads 500 as trays, it schedules 12,500 pieces. The message is valid XML with a numeric field either way, and no schema check detects the error. A successful syntax check therefore needs a known-value test across the complete mapping.

Variant: the order is for 510 pieces, which is 20.4 trays. Rounding down to 20 trays loses 10 pieces; rounding up to 21 trays plans 525. The interface contract must say whether partial trays are allowed and which rounding applies, because silent rounding changes the order.

Repeated Messages Need a Defined Outcome

Suppose an acknowledgement is lost after O-700 is received. The sender retries the same message. A correct implementation needs an agreed way to recognize the repetition or to process it safely. A communication timeout alone does not prove that the first delivery failed.

Next, test an actual revision: the required quantity changes from 500 to 525 pieces. That is a new business state. The receiver must tell the revision from the retry and keep whatever history the interface contract requires.

A NIST paper from 2007 (McLean, Jain, Craens and Kibira) observed that interoperability test methods had largely focused on static testing, such as correct schemas and message formats. Your acceptance test needs the dynamic part as well: end-to-end behavior, including error and recovery cases.

Separate the Message Model From Product Connectivity

B2MML is one representation of manufacturing information. Applications also exchange data through other agreed interfaces. Choosing the representation is one architecture decision; confirming what the actual systems support is another.

SYMESTIC, a cloud MES, connects to ERP systems through a documented REST API and webhooks, and file-based interfaces in XML, CSV or JSON are also possible. This page does not imply native B2MML support in SYMESTIC or in any other MES. Confirm the required interface and its scope for your project.

For acceptance, keep the schema version, mapping rules, sample inputs and observed outputs. Include unknown identifiers, missing units and invalid state changes; these cases expose assumptions that one successful order transfer hides. Read the ISA-95 guide for the model behind the schemas. Where B2MML sits among other interfaces is covered under manufacturing integration.

Sources

About the author
Mark Kobbert
Mark Kobbert
CTO, symestic GmbH · Cloud architecture and industrial connectivity · LinkedIn

Discuss how orders and machine data flow between your ERP and the shop floor in a free 30-minute live demo using your own application.

Live demo30 minutes · free

Discuss Your ERP and Machine Data Flow

See how SYMESTIC, the cloud MES, connects machines and exchanges orders with the ERP through its REST API. Free 30-minute live demo based on your own use case.

In use in over 20 countriesYanfengNidecCarcoustics