# Electronic Business using eXtensible Markup Language

ebXML (prononcer i-bi-ex-em-el, comme dans eBusiness, bien que la prononciation eu-bé-ix-em-el soit très répandue), abréviation de l'anglais Electronic Business using eXtensible Markup Language signifiant commerce électronique en utilisant XML, est une suite de spécifications basées sur le langage XML utilisable pour le commerce électronique.
Cette suite a été éditée par OASIS et UN/CEFACT sous la forme de la spécification technique ISO/TS 15000.
L'objectif est de fournir une infrastructure globale, ouverte, fondée sur XML, permettant d'assurer les échanges électroniques professionnels (EEP ou B2B en anglais) de manière interopérable.
ebXML est couplé avec le registre UDDI pour la recherche de services web.

## Introduction

Complémentaire à EDIFACT (Electronic Data Interchange for Administration, Commerce and Transport) qui est plutôt réservé aux échanges importants entre partenaires stables, ebXML s'adresse aux entreprises de toutes tailles, en permettant de définir les échanges électroniques entre l'entreprise et ses divers partenaires, comme les catalogues électroniques...
La spécification prétend se situer dans le prolongement de la démarche déjà initiée depuis une trentaine d'années, appelée EDIFACT.
L'architecture d'ebXML est conçue pour être couplée avec celle du registre UDDI. Elle est basée sur l'utilisation commune de composants et de profils de partenaires commerciaux ("trading partner profiles"). Ces concepts sont directement mis en œuvre dans les spécifications d'ebXML.
ebXML est issu des technologies de l'ooEDI (échange de données informatisé orienté objet), des concepts méthodologiques d'UML/UMM, de la mouvance XML et du projet « future vision » du groupe ANSI X12 EDI.
Ces travaux sont déjà intégrés à la version actuelle d'ebXML. L'activité continue pour prendre en compte les avancées d'autres groupes tels que l'OMG et OASIS – notamment la spécification BCM d'OASIS (Business-Centric Methodology ou Méthodologie Orientée Métier).

## Historique

En Europe, les gouvernements ont pris conscience des enjeux du commerce électronique vers 1997. En France, Francis Lorentz a commencé en octobre 1997 une mission sur le commerce électronique, qu'il a présentée en mai 1998.
ebXML a débuté en 1999 comme une initiative commune entre l'UN/CEFACT (United Nations Centre for Trade Facilitation and Electronic Business) et OASIS (Organization for the Advancement of Structured Information Standards). Un comité de coordination commun regroupe des représentants de chacun des deux organismes pour maintenir l'effort. Des réunions trimestrielles des groupes de travail ont été tenues entre novembre 1999 et mai 2001. À la session plénière finale, un protocole d'accord a été signé par les deux organismes, fractionnant la responsabilité des diverses caractéristiques mais continuant la supervision par un comité de coordination commun.
Le projet original a envisagé cinq couches de spécifications de données, y compris des normes XML pour :
* Processus métier (Business Process, BP),
* Accords de Protocole de Collaboration (CPA),
* Composants communs de données (Core data components, CDC, ou Core components),
* Transmission de messages,
* Enregistrements et dépôts.
À la fin des travaux des deux organismes, le délivrable a été soumis au comité technique 154 de l'ISO pour approbation. L'Organisation internationale de normalisation (ISO) a approuvé les cinq caractéristiques suivantes d'ebXML en tant que la norme d'ISO 15000, sous le titre général de "Commerce électronique en langage de balisage extensible (ebXML)" (en anglais : "Electronic business eXtensible Markup Language"):
* ISO 15000-1 : accord de collaboration de profil d'associé ebXML,
* ISO 15000-2 : spécifications de service "messages" d'ebXML,
* ISO 15000-3 : modèle d'enregistrement d'information ebXML,
* ISO 15000-4 : spécification d'enregistrement des services ebXML,
* ISO 15000-5 : Spécification Technique des Composants Communs ebXML (CCTS) 2.2.
Toutes ces normes sont disponibles uniquement en anglais.
Les comités techniques OASIS et UN/CEFACT assurent la responsabilité de maintenir et de faire progresser les caractéristiques ci-dessus.
L'initiative freebXML.org a été établie pour favoriser le développement et l'adoption du logiciel de gestion de la base ebXML en open source.
ebXML a engendré d'autres travaux sur l'échange de données et de métadonnées, avec le SDMX (Statistical data and metadata exchange).

## Travail actuel

Les travaux continuent (2006-2007) sur le renforcement et la maturation d'ebXML, en particulier dans les secteurs des services web et des architectures orientées services (SOA, Service Oriented Architectures).

### Transmission de messages (ebMS)

Les dernières spécifications de transmission de messages d'ebXML (v3.0) peuvent être regardées comme une spécialisation des services Web pour des échanges business-business (B2B). La conformité aux normes de services web n'enlève pas la raison d'être des logiciels personnalisés du web prévus pour la transmission des messages. Des modes variés de traitement de messages doivent être soutenus au-delà de la notion de service : un message peut être aligné et utilisé par un processus d'affaires, être mis en attente pour un traitement par lot, être expédié à une application, être routé par un bus SOA, etc. v3.0 réutilise les caractéristiques des services Web qui fournissent des fonctions au niveau du protocole (sécurité, fiabilité), et construit les dispositifs qui satisferont les besoins d'affaires : en-têtes standard d'affaires, modèle d'échange pull (non simplement push ou question/réponse), soutien des transactions d'affaires (comme dans UMM), autorisation de message au niveau applicatif.

### Processus d'affaires et collaboration (ebBP)

L'ebBP (suite de BPSS) vise la surveillance des processus de collaboration d'affaires entre partenaires. En décembre 2006, l'ebXML BPSS (Business Process Schema Specifications ou spécifications de schéma de processus d'affaires) ou l'ebBP v2.0.4 a été approuvé comme un standard OASIS. La soumission à l’ISO est prévue.
L'ebBP v2 améliore l'utilisation d'ebXML, des services web et des possibilités reliées par SOA telles que contexte et l'appui de collaboration multiple. L'ebBP assiste les communautés pour l'échange de fichiers de base, de transmission de messages, et/ou les échanges basés sur SOAP. Il spécifie les activités économiques - simples ou complexes, de niche ou composées - et la qualité des contrats de services tels que la fiabilité, la sécurité, et l’émission d'avis d'exception ou d’avis de réception prévues. Les modèles de transaction, les expressions conditionnelles, les variables sémantiques d'affaires et d'autres fonctions soutiennent les activités variées dans des collaborations binaires ou multi-parties constituant l'environnement de commerce électronique.
Le perfectionnement et l'adoption de l'ebBP ont été conduits principalement par des communautés d'utilisateurs dans des domaines tels que l'eGouvernement, la santé, les services financiers, la comptabilité et autres. Un éditeur open source, freebxmlbp, est disponible sur SourceForge.net.

### Profil et accord de protocole de collaboration (CPPA)

Le comité technique CPPA (Collaboration Protocol Profile and Agreement) ebXML a actuellement deux initiatives principales. La première concerne l'accomplissement d'une mise à jour de la version 2 de l'ebXML CPPA, et la seconde est une note sur la mise en place de services pour l'échange et la conclusion de CPAs (accords de protocoles de collaboration).
La mise à jour de CPPA inclut plusieurs clarifications éditoriales et modifications techniques de schéma qui ont été approuvées depuis la publication de la version 2 (ISO 15000-1 de l'ebXML CPPA : 2004). Une annexe normative définit comment des codes d'ISO 6523 sont mis en correspondance des URIs qui identifient des « types de parties ». Les changements principaux de cette mise à jour des spécifications de CPPA se situent dans un prolongement qui se sert de groupes de substitution pour l’extension des CPPs et CPAs pour rencontrer d'autres approches de processus d'affaires et/ou du réseau de transport. L'application de cette extensibilité à d'autres modèles de protocoles de transmission de messages (EDIINT, WS-* et ebMS 3.0) est fournie.
Des applications d’incorporation de WSDL et WS-Policy sont également en projet. Les spécifications de processus d'affaires d'ebBP d'OASIS sont adaptées en conséquence dans la nouvelle approche d'extensibilité. Des exemples de la version 2 de CPP ou CPA seront validés suivant le nouveau schéma après le changement de l’espace de noms (namespace) et quelques modifications éditoriales en conformité avec les préfixes d'attribut et les choix par défaut du nouveau schéma. En fin de compte, une structure alternative pour CollaborationRole permet un contenu de modèle beaucoup "plus plat". Les projets de négociation ont été activement mis à jour pour se servir du document descripteur de négociation dans un processus considérablement simplifié d'accord de collaboration. Le document en est aux étapes initiales du processus rédactionnel.

### Enregistrement (registre) et dépôt

Les spécifications d'enregistrement d'ebXML OASIS ont été développées en vue de réaliser des enregistrements et des dépôts interopérables, avec une interface qui permette tant la soumission, que l'interrogation et la récupération du contenu de l'enregistrement et du dépôt. Un enregistrement/dépôt est un composant important d'une infrastructure de SOA.
Les spécifications d'enregistrement d'ebXML ont évolué jusqu’à fournir un ensemble très riche de possibilités pour satisfaire aux exigences des SOA en matière de gouvernance et de gestion fédérée d'information agrégée. Les dispositifs incluent la gestion des contrôles d'accès et d'identité, les recherches prédéfinies et les recherches spécifiques, la version, les taxonomies définies par l'utilisateur, types de relation étendus aussi bien que les types de relations définis pour l'utilisateur, le support des engagements dont HTTP (REST) et SOAP API, l'abonnement et l'avis d'événement, les questions, la validation de WSDL, et les prolongements standards nécessaires à certains cas d'utilisation spécifiques. La version 3.0 des normes d'enregistrement d'ebXML (ISO 15000-3 et -4) est disponible en téléchargement.

### Composants de noyau (CCTS)

Au sein de l'UN/CEFACT TMG, le travail continue sur des composants de noyau (en anglais core component), appelés quelquefois composants communs.
Ces travaux s'intéressent aussi à la technologie relative telle que l'assemblage de contexte et de contenu.
Le composant commun est un concept retenu dans le cadre commun d'interopérabilité européen, et en France dans le référentiel général d'interopérabilité (RGI) dans sa partie Le volet sémantique.

## Vue d'ensemble conceptuelle d'architecture d'ebXML
### Structure en trois couches

Tandis que les spécifications d'ebXML adoptées par l'ISO et OASIS cherchent à fournir les procédures formelles XML qui peuvent être mises en application directement - l'architecture d'ebXML est concentrée sur les concepts et les méthodologies qui peuvent plus largement être appliqués pour permettre à des praticiens d'améliorer des solutions d'échanges électroniques professionnels.
La spécification ebXML comporte trois couches :
* la couche business information,
* la couche business process,
* la couche partner discovery.
Cette architecture globale, ouverte et interopérable permet des utilisations par les moteurs de recherche sémantiques.
Source : ebXML technical architecture, Vancouver, 2000

### Couche "business information", contexte

Lors de la modélisation des processus, les messages sont définis en utilisant des composants communs (core components), qui appartiennent également au registre d'annuaire UDDI. Ces composants sont réutilisables comme en EDIFACT. Ainsi, des éléments communs à plusieurs messages, tels que l'adresse, les moyens de contacts, les coordonnées bancaires, etc. ne sont définis qu'une seule fois. Ils figurent dans le type de donnée businessEntity d'UDDI
Des composants de base peuvent être élémentaires (code postal, nom, montant, etc.) ou agrégés (adresse, personne physique, etc.). Les composants de base et les principes de construction de blocs réutilisables sont décrits dans le document CCTS.
Les composants de base peuvent varier en fonction de différents éléments tels que le pays, le secteur, le message, etc. Les informations associées à une personne physique, dans un cadre médical sont assez différentes de celles utilisées dans un cadre professionnel (votre auditrice ne voudra peut-être pas vous donner sa date de naissance).
EbXML permet d'adapter les composants de base en fonction de leur utilisation à travers la notion de contexte. Il définit huit dimensions contextuelles : le processus, la localisation géopolitique (pays, région, etc.), le rôle du partenaire, le rôle du tiers, le secteur, le produit ou le service, la législation / réglementation, les possibilités des systèmes.
Outre les composants communs élémentaires et agrégés, qui portent une sémantique métier, il existe une troisième catégorie, le composant commun type, qui ne porte pas de sémantique.
La spécification technique de composants (CCTS, Core Component Technical Specification) continue dans UN/CEFACT. Elle fait l'objet de la spécification ISO/TS 15000-5.
Son cousin UBL (Universal Business Language), est une spécification développée par un groupe OASIS pour mettre en application des transactions spécifiques de XML basées sur l'application des principes de CCTS aux transactions typiques de la chaîne logistique, telles que la facture, la commande, la demande de transport, etc. UBL est déjà utilisé et mis en œuvre par des administrations d'Europe du nord et d'Espagne.

### Couche "processus d'affaires"

ebXML intègre une méthodologie et une infrastructure complète de support des échanges électroniques. Il impose une modélisation des processus d'affaires et des messages permettant la réutilisation des parties déjà définies (processus ou messages).
ebXML utilise une méthodologie créée par l'UN/CEFACT, UMM (UN/CEFACT Modelling Methodology) qui définit les processus et les messages en utilisant le standard de notation de modélisation UML (Unified Modeling Language) de l'OMG (Object Management Group).
Les processus d'affaires sont décrits à travers un langage BPSS (Business Process Schema Specification) qui est exprimé en XML [BPSS].

### Couche "partenaires"

Le principe d'ebXML est de faciliter l'interopérabilité entre les entreprises, avec des architectures agiles.
La description XML BPSS montre l'enchaînement de tous les échanges possibles, avec leurs règles métier, dans un scénario pouvant être multipartite (notion de chorégraphie des Services Web WS-* – choreography), mais ne traite pas des processus internes aux entreprises (notion d'orchestration). Ainsi, un processus complet d'achat international modélisera les échanges de messages entre les différents partenaires (acheteur, vendeur, transporteurs, douanes, assurances, banques, etc.) vus de manière globale mais excluant les adaptations internes aux partenaires (traitement de la commande vers les stocks, la fabrication, intégration dans les PGI, etc.).

### Génération de messages

Lors de la conception du message, un diagramme de classes UML est défini pour le message. Ce diagramme est alors utilisé pour générer un schéma XML [XML Schema|XSD] du message, à travers un mapping UML Core Components défini dans le document [UML-CC].
La description du message utilise les composants de base, adaptés au contexte du message. Ce message est indépendant de la syntaxe utilisée pour l'échange : EDIFACT ou ebXML. Le schéma XML du message doit respecter les spécifications XML Design and Naming Rules [XML-NDR].

## Les secteurs d'activité concernés

La spécification générale est adaptée par des organismes de normalisation nationaux et sectoriels, afin de mieux prendre en compte les besoins de chaque branche d'activité.

### Secteur de la comptabilité, de la fiscalité et du reporting

L'Association Edificas s'est intéressée très tôt au traitement de la comptabilité et à la communication des informations financières afin d'emmagasiner des gains de productivité et de faciliter la fluidité des échanges sur le sol national français. En fait, depuis 1987. Cela s'est traduit très rapidement par l'adoption de la norme EDIFACT, rejoignant ainsi le monde de l'industrie, du commerce et de la finance auquel la comptabilité est naturellement associée, mais également le monde de la normalisation car il était souhaitable d'asseoir les projets sur des concepts solides en dehors de toute notion de propriété intellectuelle.
L'initiative ebXML de la comptabilité dépend d'un certain nombre de modèles (voir tableau 1) dont les principaux concernent le journal, le plan comptable, le grand livre, la balance comptable, le bilan et le reporting (comptable, financier et fiscal). D'autres sont venus se rajouter et plus particulièrement les plans de regroupement permettant d'obtenir à partir de la comptabilité les agrégats informationnels destinés à alimenter le reporting.
Depuis 1998, avec l'émergence de XML, la démarche s'effectue parallèlement dans les deux mondes : celui d'EDIFACT et celui d'ebXML. Dans ce dernier domaine, deux projets sont menés actuellement et qui concernent notamment l'écriture comptable : le projet ENTREC dans le monde EDIFACT, et le projet Accounting entry dans le monde ebXML.
En complément de cette initiative, il faut relever la présence du "jeton comptable" électronique, émanant de l'écriture comptable ebXML, et qui est destiné à être accroché à tout message ebXML devant faire l'objet d'une écriture en comptabilité, ce qui est le cas actuellement de la chaîne commerciale et des marchés publics.
Tous ces travaux sont réalisés au sein du TBG12 Accounting & Audit de l'UN/CEFACT. la comptabilité, la fiscalité et le reporting (Edificas).

### Secteur du commerce

En France, le commerce (GENCOD) est un secteur très actif.

### Secteur de la banque et de la finance

Le secteur de la banque et la finance est pris en charge par CFONB, et SWIFT. Le secteur de l'assurance est pris en charge par CFNA, et GEMA pour les mutuelles d'assurance

### Secteur de l'agriculture

Le secteur de l'agriculture est pris en charge au niveau européen par Agro EDI Europe .

### Secteur de la construction

Le secteur de la construction est pris en charge par EDIBUILT. Les équipements techniques du bâtiment sont traités par EDIBATEC.

### Secteur de la pharmacie

Le secteur de la pharmacie est pris en charge par EDIPHARM.

### Textile habillement

Le secteur de la chaussure est pris en charge par EDI Chaussure, la filière Textile/Habillement/Distribution par EDITEX.

### Autres secteurs d'activités

Les huissiers (CNHJ), l'édition (DILICOM), la gestion de l'eau (OICE), etc.

## Utilisations dans le cadre gouvernemental
### Asie

La Chine a adopté ebXML comme standard national pour le commerce électronique.

### États-Unis

Les États-Unis n'emploient pas ebXML pour l'administration fédérale ni pour celle des États. Le gouvernement fédéral dispose pour les grandes fonctions régaliennes de registres de métadonnées qui s'appuient sur la norme ISO 11179 (définition des concepts et organisation).

### Union européenne

Bien que la vocation initiale des spécifications de l'UN/CEFACT soit une application au commerce électronique, les concepts d'ebXML sont proposés dans l'Union européenne pour les systèmes d'e-gouvernement en tant que cadre commun d'interopérabilité. En France, le référentiel général d'interopérabilité (RGI) fait référence à une méthodologie inspirée des concepts d'ebXML : la méthode UML/XML.