# B2MML

B2MML (Business To Manufacturing Markup Language) est un vocabulaire XML utilisé pour décrire les échanges d'information entre systèmes informatiques chargés de la gestion et du contrôle de la production industrielle.
B2MML est une mise en œuvre conforme des modèles de données des normes ISA88 et ISA95 pour le développement d'interfaces de communication.
BatchML (Batch Markup Language) qui traitait séparément de la norme ISA88 est à présent inclus dans B2MML.

## Origine

B2MML est développé par un comité ad hoc au sein du WBF « The Forum for Automation and Manufacturing Professionals » rattaché à l'ISA au travers de l'Automation Federation.

## Objectifs

B2MML est une implémentation XML des normes ANSI/ISA-88 et ANSI/ISA-95, connues comme normes internationales respectivement IEC61412 et IEC/ISO62264. Il s'appuie sur la recommandation WRC XML Schema.
B2MML propose une définition de l'information susceptible d'être échangée entre les systèmes informatiques tels que ERP (Enterprise Resource Planning) PLM (Product Lifecycle Management), de gestion d'actifs et de maintenance, avec les systèmes informatiques industriels tels que DCS (Distributed Control Systems), SCADA (Supervisory Control And Data Acquisition) ou MES (Manufacturing Execution Systems), ainsi qu'entre et au sein de ces derniers systèmes.
Les normes ISA88 et ISA95 définissent des modèles structurels sans taxonomie rigoureuse ni types de données, suffisants pour la communication humaine. Elles ne font aucune référence aux moyens technologiques d'échange d'information.
De son côté, B2MML définit des structures de données typées et rigoureusement nommées pour établir des messages intelligibles par des machines, en s'appuyant spécifiquement sur la technologie XML Schema du W3C.
B2MML constitue ainsi un vecteur important de mise en œuvre de ces normes dans l'industrie.

## Contenu

B2MML consiste en une série de schémas XML conformes à la recommandation XML Schema du W3C (World Wide Web Consortium), qui implémentent les modèles de données des normes ISA88 et ISA95. La version 4.01 publiée en septembre 2009 comprend les schémas XSD suivants :

### Communs

Définitions communes utilisées dans les autres schémas :
* B2MML-V0401-Common.xsd
* B2MML-V0401-ConfirmBOD.xsd
* B2MML-V0401-CoreComponents.xsd
* B2MML-V0401-TransactionProfile.

### Extensions

Schémas éditables par l'utilisateur pour définir des extensions nécessaires pour les applications réelles:
* B2MML-V0401-CommonExtensions.xsd
* B2MML-V0401-Extensions.xsd
* BatchML-V0401-BatchInformationExtensions.xsd
* BatchML-V0401-GeneralRecipeExtensions.xsd
* B2MML-V0401-AllExtensions.xsd

### ISA95

Schémas implémentant les modèles de la norme ISA95
* B2MML-V0401-Equipment.xsd
* B2MML-V0401-Maintenance.xsd
* B2MML-V0401-Material.xsd
* B2MML-V0401-Personnel.xsd
* B2MML-V0401-ProcessSegment.xsd
* B2MML-V0401-ProductDefinition.xsd
* B2MML-V0401-ProductionCapability.xsd
* B2MML-V0401-ProductionPerformance.xsd
* B2MML-V0401-ProductionSchedule.xsd

### ISA88

Schémas implémentant les modèles de la norme ISA95
* BatchML-V0401-BatchInformation.xsd
* BatchML-V0401-GeneralRecipe.xsd

## Autres travaux
### OAGIS

La coopération avec l'Open Application Group a concerné la norme ISA95 et B2MML par la définition d'un modèle transactionnel, la reprise des modèles Production Schedule et Performance dans OAGIS et l'adoption des Core Components de l'UN/CEFACT.

### UN/CEFACT

B2MML utilise quelques types de données de base issus de la spécification technique « Core Components » CCTS des Nations unies.