Business-to-shop integration realized through B2MML
XML standard simplifies ISA-95 data exchange
By Dennis Brandl
The ISA-95 standards have become the de-facto standards for integrating enterprise resource planning (ERP) systems with systems, such as MES, LIMS, warehouse management, SCADA, and other shop floor systems. ISA-95 has been extremely successful in reducing the average time for integration projects from years to months. It has also been a key part of the improvement in integration project success rates from under 30% to over 80%. Parts 1, 2, 4, and 5 of the ISA-95 standards define a standard terminology that can be easily understood by scheduling, supply chain, and shop floor personnel. The terminology defines the information that is normally exchanged between business and shop floor systems without using vendor-specific or industry-specific terminology. Part 2 defines a standard terminology for describing the many different aspects of material information, such as material lot, material sublot, material definitions, and material classes.
ISA-95 provides the standard terminology for integration but does not define the actual format for the data or the technical methods used to exchange data. This is where the Business-to-Manufacturing Markup Language (B2MML) standard comes into play. The B2MML standard defines a format for exchange of ISA-95 information and defines the specific method (XML documents) for exchanges. B2MML is what makes the ISA-95 standards implementable. The schemas are freely available at www.mesa.org. (Note: In June, WBF, the Organization for Production Technology, merged with MESA International. The B2MML standard is now provided and supported by MESA International.)
B2MML, XML, and schemas
B2MML is a definition of the eXtensible Markup Language (XML) Schemas. XML is a standard for exchanging information using text files. The text files contain “tags” that are used to delimit pieces of data within the text file.
For example, a file containing the following string would identify the string “B2MML Standard Explained” as being a Title:
B2MML Standard Explained
Tags can be nested, such as the following string used to describe the title of a book:
B2MML Standard Explained
NOTE: Line feeds and spaces are not significant in XML files, so XML is often displayed in an indented and multiple line format, as shown in Figure 1.
B2MML defines the rules that are applied to an XML file, such as a rule that specifies that a MaterialLot element must be inside a Material element or that a MaterialLot element may contain an ID, description, quantity, and MaterialLot property elements. The rule set is called an XML schema. The B2MML schemas are themselves XML files that follow the industry standard schema rules. A schema, such as B2MML, has two primary purposes when used for data exchange:
- A schema allows an application program to quickly check that a received XML file is in the correct format.
- A schema can be used in programming environments to auto-generate C#, C++, or JAVA code and data structures to hold data. The auto-generated code can then be used to read or write well-formatted XML files.
XML schemas include rules that specify elements which are required, which are optional, which can be repeated, and which can have additional “attributes,” such as the UnitOfMeasure shown in Figure 1. The schema rules can also define the order of each element in an XML file and the type of each element, such as string, number, or enumeration. Schema rules can be complex, but they provide an unambiguous definition of the structure of the XML file, so they perform an important role in data integration projects.
B2MML defines schemas for each of the object models defined in the ISA-95 standards. These include the personnel, role-based equipment, physical asset, material, definitions, capability, schedule, and performance models. The next release of B2MML will include workflow, work alerts, and KPI models that are defined in the recently released ISA-95 Part 4 standard. The B2MML schema set also includes support for the ISA-88 standard, including recipes, equipment models, general recipes, and batch production records. Table 1 lists the primary B2MML schemas and the associated ISA-95 or ISA-88 model elements.
The typical use of B2MML in integration projects is to exchange B2MML formatted XML files using an enterprise service bus (ESB). An ESB is a software and hardware system that provides guaranteed delivery of messages from one application to another. It operates in a similar fashion to email systems by queuing messages until they are picked up, and it provides assurance that no messages will be lost and that they will be received in the order they were sent.
Simple integration involves a series of steps, as shown in Figure 2, where a sending application (“A”) will convert the information from their local data store into a B2MML formatted XML file, and send the XML file to the ESB with an address of application “B.” Application “B” will pick up the message, similar to picking up email, convert the message from the B2MML format into its own local format, and then save and process the information.
Because B2MML is a globally understood format, one application does not have to know the structure of data in other applications. B2MML thus provides a way to commonly represent a wide range of manufacturing operational information.
The ISA-95 Part 5 standard defines transactions for exchanged information, defining what data is to be returned or the action to happen during the transaction. Transactions are defined through a two-way communication protocol. ISA-95 Part 5 defines standard two-way transactions, such as GET/SHOW and PUBLISH/SUBSCRIBE. B2MML supports the ISA-95 transaction definitions using message headers, which contain the transaction’s command, response, and sender and receiver addresses.
Compatibility with other integration standards
B2MML has been designed to be compatible with other integration standards, in particular the OAGIS (Open Applications Group Interface Specification, www.oagi.org) and with the UN/CEFACT standards.
The OAGIS standard is used for business-to-business system integration; it defines a transaction and data syntax so that systems, such as cost accounting, can exchange information with order entry systems. OAGIS defines a set of business object documents (BODs) using XML schemas. The B2MML schemas essentially provide BODs for integration of business level systems with shop floor systems. B2MML was designed to support the OAGIS transaction set in order to simplify corporate IT tasks when using B2MML standard messages. Standard transaction messages are: process/acknowledge, change/response, delete/confirm, get/show, and sync publication messages. A typical transaction is shown in Figure 3, with a process command sent from “A” to “B” and an acknowledge response sent back from “B” to “A.”
Figure 4 shows part of a B2MML formatted XML file used to obtain an operations schedule. It is a SHOW message, so it is the response to a GET message. It contains the schedule for making 1,000 cans of yellow paint at site location 1100.
B2MML also supports the UN/CEFACT core component types. The UN/CEFACT core component types are a common set of types that define specific terms with semantic meaning, such as the meaning of a quantity, currency, amount, identifier, and language. The UN/CEFACT core components were defined in a core components technical specification (CCTS) developed by the ebXML project now organized by UN/CEFACT and ISO TC 154. The most common uses of the core component types in B2MML are to identify the language (English, Spanish, French, etc.) of descriptions and to identify the format for binary data (bit maps, PDF, JPEG, etc.) B2MML was designed to support the UN/CEFACT core component in order to simplify corporate IT tasks when using B2MML standard messages.
Using the OAGIS standard transaction model and UN/CEFACT types means that B2MML business-to-shop floor integration can use the same services used by business-to-business integration projects. The combination of a well-defined, consistent, and complete definition of exchanged data with standard services and data types means that business-to-shop floor integration projects that formerly took one or more years to complete can today be accomplished in a few months.
B2MML uses the ISA-95 property model to provide extensibility. Each integration project defines the properties of materials, equipment, physical assets, and personnel that are important and need to be exchanged. In Figure 1 there are two properties defined for a material lot: a quality status and a dateTimeProduction. These properties are project-specific and are represented in B2MML using MaterialLotProperty elements. Personnel, equipment, physical asset, and material properties are the primary method for extending B2MML to support specific projects, but two additional methods are also provided.
B2MML supports extensions to the basic enumerated lists defined in the ISA-95 standards. ISA-95 defines standard enumerations for elements such as assembly relationships (permanent and transient), capability types (committed, available, and unattainable), and material use types (produced, consumed, and consumable). B2MML provides a method for a project to extend these enumerations with the understanding that the sender and receiver have agreed upon the meaning of the extensions.
When the standard B2MML extension methods do not provide the flexibility required for an integration project, the B2MML schemas provide a standard mechanism to extend the schema definitions. This extension method allows project teams to put all extensions in a single schema file. Any of the standard B2MML schema elements can be extended to include project-specific or vendor-specific elements. However, as with enumeration extensions, the sender and receiver must have previously agreed upon the meaning of the extended data.
Where to get the B2MML schemas
The B2MML schemas are freely available under a simple copyright license. Permission is given to use, copy, modify, or redistribute the schemas and documentation, with or without modification, for any purpose and without fee or royalty, provided that MESA is acknowledged as the originator of the work.
Because B2MML is freely available, supports all the ISA-95 and ISA-88 models, and can be freely used within vendor products, it has become a widely used internal and external standard. Vendors and end users do not have to “re-invent the wheel” for their integration projects. The MESA/WBF technical committee that developed and maintains the B2MML standard has hundreds of members reviewing and using the schemas, ensuring that they meet the needs of real integration projects.
ABOUT THE AUTHOR
Dennis Brandl (email@example.com) is founder of BR&L Consulting, specializing in manufacturing IT applications. He is an active member of the ISA95 Enterprise/Control System Integration committee and editor of the ISA-95 Enterprise/Control System Integration standards and former chairman of the ISA88 Batch System control committee.