Title: XML Training applied to Product data exchange and sharing
1XML Trainingapplied to Product data exchange
and sharing
Toulouse , 10/12/2002 Nicolas FIGAY - EADS
CCR Thierry CORDIER - ASTRIUM
2Ordre du jour
- 10 h 00 XML, what is it?
- 1 hour - Nicolas FIGAY
- 11 h 00 XML standards classification
- 1 hour - Nicolas FIGAY
- 12 h 00 Lunch
- 13 h 00 XML, Schemas and XMI
- 1 hour - Nicolas FIGAY/ Thierry CORDIER
- 14 h 00 XML and STEP application protocols
- 1 hour Nicolas FIGAY/Thierry CORDIER
- 15 h 00 XML based distribution1 hour - Nicolas
FIGAY/ Thierry CORDIER - 16 h 00 Conclusions
- 17h 00 End
3XML, what it is?
- Presentation Nicolas FIGAY
- Animation Thierry CORDIER
- Attendees
- Subject Initiation and main points about XML
- Background Technological surveys
- Keywords XML
4XML
- Adaptation of SGML for Internet by W3C
- Extension of HTML that is to much static
- Based on extensible tags
- About 10 specification for Core XML
- About 200 specification that will probably no
more exist in 2 years - SMIL, SVG,MathML, XUL,
5Les 10 commandements de XML
- 1. Tu seras utilisable sur Internet
- 2. Tu supporteras une grande diversité
d'applications - 3. Tu seras compatible SGML
- 4. II devra être aisé d'écrire des programmes qui
te manipulent - 5. Tu auras le minimum de fonctions optionnelles
- 6. Tu seras lisible par l'homme
- 7. Tu seras disponible rapidement
- 8. La spécification qui te décrira devra être
simple et concise - 9. Un document te respectant devra être facile à
construire - 10. Tu pourras ne pas être concis
6XML Document structure
- Header
- Schema (DTD, XML Schema, Schematron,)
- Document
7Bookstore XML document with DTD.
lt?xml version"1.0"?gt lt!DOCTYPE BookStore SYSTEM
http//www.books.org /bookstore.dtdgt ltBookStoregt
ltBookgt ltTitlegtMy Life and
Timeslt/Titlegt ltAuthorgtPaul
McCartneylt/Authorgt ltDategtJuly,
1998lt/Dategt ltISBNgt94303-12021-4389
2lt/ISBNgt ltPublishergtMcMillin
Publishinglt/Publishergt lt/Bookgt
... lt/BookStoregt
1
2
1. First, using a DOCTYPE declaration, with the
name of the root element of the XML document
instance 2. Indicate name and path of the DTD
(could be local or on the WEB). Note its
also possible to define the DTD within the
document, or to mix the both with priority to the
DTD inside the XML document.
8Bookstore DTD BookStore.dtd
- lt!ELEMENT BookStore (Book)gt
- lt!ELEMENT Book (Title, Author, Date, ISBN,
Publisher)gt - lt!ELEMENT Title (PCDATA)gt
- lt!ELEMENT Author (PCDATA)gt
- lt!ELEMENT Date (PCDATA)gt
- lt!ELEMENT ISBN (PCDATA)gt
- lt!ELEMENT Publisher (PCDATA)gt
9Vocabularies with DTDs
http//www.w3.org/TR/REC-xml
http//www.book.org(targetNamespace)
This is the vocabulary that DTDs provides...
to define...
your (business) vocabulary
10Question/Discussion
11Conclusion
12XML standards classification
- Presentation Nicolas FIGAY
- Animation Thierry CORDIER
- Attendees
- Subject A classification of the different XML
standards - Background Technological surveys about
Industrial data exchange - Keywords XML, EAI, B2C, B2B, e-business
13Business context
- E-business, integration of application
- -
14XML
- XML (Extensible Markup Language) langage à base
de balise, pour décrire des documents à
destination du WEB, qui contiennent à la fois des
données et des indications sur leur rôle
(méta-données) - Sous ensemble de SGML (Standard Generalized
Markup Language) (ISO 8879) - Plus structurant que HTML, séparation des données
et de la présentation des données - Issu du W3C sous forme de recommandation datant
de 1998 - Les 10 commandements XML (Internet, diversité
dapplications, compatibilité SGML, facilité de
programmation, minimum de fonctions optionnelles,
lisible par lhomme, disponible rapidement,
spécification simple et concise, facilité de
construire un document, concision du document
non requise) - Structure de document XML
- En tête
- Document Type Definition (DTD) optionnelle /XML
Schema pour définir la structure - Document XML
- Équivalence avec Standards STEP
- Document XML Part 21, DTD-XML SchemaEXPRESS
- -gtDTD standardisées pour langages XML spécialisés
- XML est un méta langage
- Langages XML concernent une famille très
nombreuse ( de 100) avec des usages variés - 9 recommandations principales liées XSL, Xlink,
Xpointer, XML Schema,XSLT, Xpath, RDF,
NameSpaces, DOM - Possibilité de classement selon quatre domaines
dapplication B2C, B2B, EAI et services WEB
15XML et le B2C
- B2C forme de-business la commune centrée sur
lutilisateur - Vente en ligne, diffusion dinformations, de
tableaux de bord personnalisés, dadministration
dapplication - Standards XML concernés
- XHTML(Extensible HyperText Markup Language)
- Reformulation, compatible XML, dHTML 4.0,
modulaire (plus strict quHTML) - XSL Extensible StyleSheet Language
- XSLT transformation dun document en un autre
par feuilles de style - XSL-FO rendu de document, renaissance grâce à
FOP (FO to PDF) - Xpath recherche dun élément dans un document
XML - SVG Scalable Vector Graphics pour dessin
vectoriel sur le WEB - XUL XML based User Interface Language
- Langage de description dinterfaces homme/machine
portable, concurrent de Java sur poste client,
utilisé pour Mozilla et Netscape 6. - Équivalences avec standards STEP
- EXPRESS-X/XSLT avec puissance plus importante de
EXPRESS-X pour passage dune structure à une
autre - Remarque relative complexité de XSL lorsquon
prend en compte les diverses spécifications
concernées
16XML et les WEB Services
- Les services WEB sont des composants logiciels
encapsulant des fonctionnalités métier de
lentreprise , accessibles via protocoles
Internet standards, depuis nimporte quelle
plate- forme ou langage de programmation. - Standards XML concernés
- SOAP (Simple Object Access Protocol)
- Protocole déchange de message dans un milieu
décentralisé distribué, basé sur XML-RPC, pour
RPC synchrone ou communication asynchrone. Vise à
être plus simple que CORBA et DCOM, et à passer
les firewall (messages HTTP ou SMTP dont le corps
est un fichier XML). - WSDL (Web Service Description Language)
- Langage de description de services WEB précis,
incluant protocoles, serveurs, ports utilisés,
opérations pouvant être effectuées, formats de
message dentrée et de sortie, exceptions pouvant
être renvoyées - Équivalence avec CORBA SOAPIIOPspéc. firewall
CORBA 3 et WSDLIDL - Remarque moins complet et complémentaire de
CORBA et DCOM, visant le WEB
17XML et lEAI
- Le but de lEAI (Enterprise Application
Integration) est de faire communiquer et
collaborer les applications dune même
entreprise. Un EAI doit comprendre 4 fonctions - A- Interfacer ie extraire et injecter des données
/ application (Services WEB et WSDL) - B- La transformation ou conversion des données
(XSLT) - C- Le routage ou le transport des données (SOAP)
- D- Gestion ou suivi de létat du processus (BPML)
- Standards XML concernés
- BPML (Business Process Modeling Language)
- Standard émergeant, métalangage basé sur XML pour
définir les processus métier - En cours de spécification à BPMI.org.
- Représente un processus métier comme la
combinaison déchange de données de façon
synchrone/asynchrone, de contrôle dintégrité et
de sécurité et des règles métier. - Spécifie si les processus supportent les
transactions courtes ou longues. - Déploiement à partir de BPQL incluant le contrôle
et linterrogation détat dinstances de
processus métier (via SOAP), et le contrôle du
déploiement de processus gérés par le repository
de processus métier (WebDAV et registre UDDI) - Équivalences avec CORBA (Worflow services), les
spécifications Wfmc, peut être avec BPL - Remarque émergeant, à évaluer par rapport à
dautres standards dans le même domaine, évaluer
la cohérence entre ces standards ie
compatibilité, coexistence,
18XML et le B2B (1)
- Le but du B2B (Business to Business) est de
résoudre les problèmes liés au commerce
électronique entre partenaires infrastructure
de communication, présentation des requêtes
(demande de devis,) de manière formalisée et
compréhensible par tout fournisseur, découverte
de nouveaux partenaires et établissement dun
dialogue, - Standards XML concernés
- Normes dinfrastructures (SOAP, WSDL, UDDI
ebXML) - Normes de contenu concernant la sémantique de
linformation - UDDI ( Universal Description, Discovery and
Integration) - Annuaire distribué de services WEB et
dentreprises, lui même sous forme de service WEB - Pages blanches (nom et adresses des entreprises)
- Pages jaunes (description des métiers et services
de lentreprises) - Pages vertes (description des informations
techniques sur les services proposés références
vers les spécifications des services Web et
détails nécessaires à leur utilisation) - ebXML...
19XML et le B2B (2)
- ebXML (e business XML)
- Initiative Nations Unies et Oasis (Organisation
for the Advancement of Structured Information
Standards), dans le but de définir une
architecture XML pour créer un marché
électronique unique et global, où des entreprises
de nimporte quelle taille et de toute provenance
peuvent se rencontrer et interagir via léchange
de messages XML. - Objectif ouvrir lEDI aux PME-PMI.
- Annuaire analogue à UDDI mais plus complet, avec
de plus notion de processus métier et daccord de
collaboration (trading partner agreement ou TPA). - Architecture globale
- méthodes de description des entreprises, des
processus métier, des documents associés, des
vocabulaires communs - Méthode de définition et de négociation daccords
de collaboration (Collaboration Partner Agreement
ou CPA) - Langage de modélisation de collaborations (tpaML
ou trading partner agressment modeling language
dIBM) pour gérer les négociations et définir les
accords de collaboration entre partenaires - Architecture de transport basée sur HTTP, TCP/IP,
Mime, SMTP et FTP et dans lavenir SOAP
20XML et le B2B (2)
- Standards XML concernés
- Normes de contenu concernant la sémantique de
linformation - Spécification verticale RosettaNet dans le
domaine des technologies de linformation - Consortium dentreprises de lindustrie des
technologies de linformation réunies pour créer
des standards de dialogues métier - Définition dune structure déchanges des
informations entre partenaires (RNIF) et
élaboration dune processus de définition et
dapprobation des processus métier qui a permis
dobtenir un consensus rapide des entreprises
impliquées. - Définition des dialogues Partner Inteface
Processes - Dictionnaires langage commun
- Protocole de transport RNIF (basé XML et HTTP)
devrait être abandonné pour SOAP - Spécification verticale dans le domaine du
manufacturing à surveiller - Spécification horizontale OAGIS (Open
Application Integration Group Specification) - Définition des messages échangés entre les
applications pour des transactions particulières,
avec définition de plus de 170 BOD (Business
Object Documents) pour divers types
dapplications ERP, e-business, SCM, - DTD pour représentation des BOD en XML
- Exemple de scénarios dintégration
- BOD pour le manufacturing à surveiller
21Standards XML conclusion
- Premières conclusions concernant les standards
XML seuls - infrastructures de communication stables, XML
apporte des réponses - mais intégration de la logique métier impossible
pour linstant - BPML nest quau niveau de draft
- ebXML est seulement en cours de développement
- Enfin risque dexplosion des normes de contenu et
du phénomène de tour de Babel - Besoins dacteurs forts et de vision globale des
normes et de leur rôle - Standards de sécurité pour XML pas approuvé avant
fin 2001 - 80 des standards XML définis fin 2000 auront
disparu dici fin 2002 - Conclusions concernant les standards XML ainsi
que les autres standards STEP et CORBA dans le
domaine du manufacturing - Redondances importantes quand aux infrastructures
de communication, avec parfois incompatibilité - Les standards XML apportent peu par rapport à
dautres standards existants utilisés ensemble,
et sont moins matures. Ils sont redondants entre
eux, et avec dautres standards tant dans le
domaine du middleware (CORBA, DCOM),du worflow et
du BPR (Spécification Wfmc) ou des normes pour la
sémantique métier (STEP) - Normes de contenus issues de différentes
initiatives non coordonnées (AP STEP, interfaces
CORBA, BOF,) phénomène de la tour de Babel
encore renforcé
22L EAI
- L EAI est une alternative au système spaghetti
(Gartner Group) et aux blocs opaques intégrés
(BOI) que constituent les progiciels intégrés. - Elle aborde de front workflow et interfaces pour
les données. - Elle comprend des applications disparates comme
les serveurs d application, les plate-formes B2B
ou les data-wharehouses. - Elle aborde des domaines technologiques variés
comme - la gestion des processus transverses
- les interfaces (aspects fonctionnel et technique)
- le workflow documentaire
- le transactionnel inter-applicatif
- l urbanisation du système d information et la
réutilisation des services génériques - l interopérabilité
- la maîtrise des données(voir des informations)
sous leurs formes statique et dynamique
23Les fonctions de l EAI
24Communication et connecteur
Application Métier legacy
Progiciel Service messagerie groupware
base de données
Traduction
Gestion de la transaction
Connexion (driver/port)
communication
connecteur
25Windchill et l EAI
- Diverses fonctionnalités d EAI proposées par
Windchill - Workflow dans Windchill foundation
- conformité /Wfmc?
- Interconnection avec d autres moteurs de
worflow? - Connecteurs avec InfoEngine à investiguer
- Connectivité
- support HTTP, FTP OK
- supportCORBA DCOM?
- Interactivité
- support Java/RMI OK?
- support d ORB et de MOM?
- Quel support pour le dialogue applicatif (outils
de mapping, simplicité d administration)? -
26Conclusion sur l EAI
- Divers standards fournissent des solutions
techniques partielles pour l EAI standards XML
mais aussi STEP, CORBA, Wfmc. On couvre la
totalité des besoins par l usage simultané de
ces divers standards. - Il faut cependant se méfier alors des redondances
fonctionnelles, des incompatibilités et bien
séparer les divers aspects à couvrir définition
de sémantiques, modèles d informations,
processus et documents standardisés, moteurs de
workflow, services standards (annuaires
d entreprises et de services). - Windchill couplé avec InfoEngine fournit des
fonctionnalités EAI il reste à qualifier et
valider connectivité, interactivité et dialogue
applicatif - Enfin La plupart des approches EAI proposées
sont souvent incomplètes et trop basées sur les
aspects techniques de l informatique!
27Conclusion
- Utilité de XML XML apporte des réponses stables
pour des infrastructures de communication - Immaturité des standards XML L intégration de
la logique métier est impossible pour linstant
avec les divers standards XML existants - Avenir flou Besoins dacteurs forts et de
vision globale des normes et de leur rôle - Instabilité80 des standards XML définis fin
2000 auront disparu dici fin 2002 - Peu d apports par rapport aux autres standarts
Les standards XML apportent peu par rapport à
dautres standards existants utilisés ensemble,
et sont moins matures. Ils sont redondants entre
eux, et avec dautres standards tant dans le
domaine du middleware (CORBA, DCOM),du worflow et
du BPR (Spécification Wfmc) ou des normes pour la
sémantique métier (STEP) - Normes de contenus issus de différentes
initiatives non coordonnées (AP STEP, interfaces
CORBA, BOF,) phénomène de la tour de Babel
encore renforcé - Forte intégration avec les approches EAI mais
faible maturité - Besoin d une vision globale des standards et de
leur positionnement/urbanisme des Systèmes
d information
28Question/Discussion
29Conclusion
30XML, Schemas and XMI
- Presentation Nicolas FIGAY
- Animation Thierry CORDIER
- Attendees
- Subject Metadata schemas representation so
many concurrent - Background Technologies and standards surveys
- Operationnal exchange
- Keywords UML, XMI, XML Schema, Schematron, RDF
31Business context
- Models of reference for information exchange
(intra or extra enterprise) - co-development with Internet
- Application development
- EAI, B2B
32Motivation of XML Schema
- Initial usage of XML was the structuration of
documents on the WEB based on specific user
schema (elements and structure of the element in
a document). - The schema was specified using DTDs, that allows
to specify structure of one instance document,
and datatype of each element. - But as new usage domains appears for XML
- exchange between databases
- sharing of data for WEB distributed architecture
- XML Database Systems,
- it appeared that DTDs are limited
- DTD have a different syntax than the XML instance
document(-gt difficulties to have different
levels of meta modelisation, no composite DTDs,
impossible to use XML tools on the DTD
itself,...) - DTD support a very limited capability for
specifying datatypes (-gt not adapted to new
usage domains for XML) - gtCreation of XML Schema
33Purpose of XML Schema
- As DTDs, it specifies the structure of instance
documents (as a tree) - Unlike DTDs, it specifies a wide and extensible
set of datatypes for each element/attribute - DTD supports 10 datatypes
- XML Schema supports 44 and more (you can create
your own) datatypes
The schemas created with XML schema are designed
as XML schemas. So confusion is possible between
the schema language and the schema created with
the XML schema language!!!
34Highlights of XML schema
- Enhanced datatypes
- Written in the same syntax as instance documents
- Object oriented (can extend or restrict a
type, or derive new type definitions on the basis
of old ones) - can express sets (i.e. child elements to occur in
any order) - can specify element as being unique (keys on
content) and uniqueness within a region
(context) - Can define multiple elements with the same name
but different content - Can define elements with nil content
- Can define substitutable element
- ...
35Vocabularies with XML Schemas
http//www.w3.org/2001/XMLSchema
http//www.books.org (targetNamespace)
This is the vocabulary that XML Schemas
provides...
to define...
your (business) vocabulary
36Bookstore XML Schema bookstore.xsd
In this case, simple translation without using
all extra capabilities of XML schemas, as for
example to qualify strings by using regular
expressions
lt?xml version"1.0"?gt ltxsdschema
xmlnsxsd"http//www.w3.org/2001/XMLSchema"
targetNamespace"http//www.books
.org" xmlns"http//www.book
s.org" elementFormDefault"q
ualified"gt ltxsdelement name"BookStore"gt
ltxsdcomplexTypegt ltxsdsequencegt
ltxsdelement ref"Book"
minOccurs"1" maxOccurs"unbounded"/gt
lt/xsdsequencegt lt/xsdcomplexTypegt
lt/xsdelementgt ltxsdelement name"Book"gt
ltxsdcomplexTypegt ltxsdsequencegt
ltxsdelement ref"Title"
minOccurs"1" maxOccurs"1"/gt
ltxsdelement ref"Author" minOccurs"1"
maxOccurs"1"/gt ltxsdelement
ref"Date" minOccurs"1" maxOccurs"1"/gt
ltxsdelement ref"ISBN" minOccurs"1"
maxOccurs"1"/gt ltxsdelement
ref"Publisher" minOccurs"1" maxOccurs"1"/gt
lt/xsdsequencegt
lt/xsdcomplexTypegt lt/xsdelementgt
ltxsdelement name"Title" type"xsdstring"/gt
ltxsdelement name"Author" type"xsdstring"/gt
ltxsdelement name"Date" type"xsdstring"/gt
ltxsdelement name"ISBN" type"xsdstring"/gt
ltxsdelement name"Publisher" type"xsdstring"/gt
lt/xsdschemagt
lt!ELEMENT BookStore (Book)gt
lt!ELEMENT Book (Title, Author, Date,
ISBN, Publisher)gt
lt!ELEMENT Title (PCDATA)gt lt!ELEMENT Author
(PCDATA)gt lt!ELEMENT Date (PCDATA)gt lt!ELEMENT
ISBN (PCDATA)gt lt!ELEMENT Publisher (PCDATA)gt
37Bookstore XML document with XML Schemas
lt?xml version"1.0"?gt ltBookStore xmlns
"http//www.books.org"
xmlnsxsi"http//www.w3.org/2001/XMLSchema-instan
ce" xsischemaLocation"http/
/www.books.org
BookStore.xsd"gt
ltBookgt ltTitlegtMy Life and
Timeslt/Titlegt ltAuthorgtPaul
McCartneylt/Authorgt ltDategtJuly,
1998lt/Dategt ltISBNgt94303-12021-4389
2lt/ISBNgt ltPublishergtMcMillin
Publishinglt/Publishergt lt/Bookgt
... lt/BookStoregt
1
3
2
1. First, using a default namespace declaration,
tell the schema-validator that all of the
elementsused in this instance document come from
the Book namespace. 2. Second, with
schemaLocation tell the schema-validator that the
http//www.books.org namespace is defined by
BookStore.xsd (i.e., schemaLocation contains a
pair of values). 3. Third, tell the
schema-validator that the schemaLocation
attribute we are using is the one in the
XMLSchema-instance namespace.
38Multiple level of checking
BookStore.xml
BookStore.xsd
XMLSchema.xsd (schema-for-schemas)
Validate that the xml document conforms to the
rules described in BookStore.xsd
Validate that BookStore.xsd is a valid schema
document, i.e., it conforms to the rules
described in the schema-for-schemas
Validate that the xml syntax is OK
XML grammar
39Generalization in the XML world
Language to define schemas
Business vocabulary
This is the vocabulary that schema language
provides...
to define...
your (business) vocabulary
40Generalization in the business data
exchange/sharing world
Description Languages to define schemas/interfaces
/models
XMLs DTS (W3C) XML Schemas (W3C) Express/Express-
G (STEP) UML/XMI/OCL (OMG) IDL (OMG) WSDL
(W3C) SQL (ISO)...
Business concepts Business vocabulary
(XML) Business models (UML/XMI) Application
Protocols (EXPRESS) Vertical domain interface
(IDL, WSDL)
This is the concepts supported by vocabulary and
a syntax that language provides...
to define...
your (business) business concepts
41Schema language/concepts/vocabulary dissociation
Languages to define schemas/models
N
Business vocabulary
1
This is concepts defined through a vocabulary and
a syntax that languages provide...
to define...
your (business) concepts
42Impedance mismatchfor languages mapping
http//www.w3.org/TR/REC-xml
http//www.w3.org/2001/XMLSchema
complexType
ELEMENT
element
ATTLIST
PCDATA
sequence
ID
schema
CDATA
boolean
NMTOKEN
string
ENTITY
integer
No bijection exists between the
concepts/vocabularies provided in the two
languages
43Bindings
Binding is a (standardized) set of solutions to
implement a model described with a given language
with an another language, if possible in an
automated way. Examples Interface Definition
Language bindings for C, C, Java, it allows
to generate a standardised way proxies and stubs
in different language, the same way for different
developpers, to allow a real interoperability STE
P Standard Data Access Interface bindings it
describes how to go from generic concepts of STEP
information server to application development
(Java, C, C, XML,) using given languages, in
order to allow client-server development.
44Schemas/ interfaces/models/meta-data (1)
- A schema is the description of structure and
items within a data/information container
(database, document, in memory data
representation). - It is static (no behavior described)
- It could be application dependent (SQL for RDBS)
or independent (XML vocabularies with DTDs or XML
Schemas, STEP AP with Express ) - The schema allows to interpret data within the
container, and is a necessary basis for establish
a protocol of communication between two
applications or organizations. - With tools it allows to check if data within the
systems are written with the good syntax
(parsers) and with respect to the schema
(validating parsers). - An interface is description of information or
services made available (public) by a given
system. It could be adapted to different kind of
external actors by the means of views. - It is static
- It describes not only data that can be access but
also methods that can be called and how to call
it. With the principle of encapsulation, the
internal schema is hidden by the interface (by
providing signature of the service). - The information access part is a subset of the
internal schema of the system, and could be or
not expressed with the same vocabulary. If not,
an internal mapping is necessary. The mapping is
possible if the same concepts are used, organized
or structured the same way.
45Schemas/ interfaces/models/meta-data (2)
- Set of models is the description of a system or a
system family - A model could be static (UML Class Diagram,...)
or dynamic (process/activity model -IDEF0, UML
activity diagram,... - and state diagrams - UML
state diagrams,...) - It is used during analysis and conception phases
when designing a system - It could be automatically used in the
development/implementation phase (CASE system as
Rational Rose, CAD/CAM models reuse to parameter
tooling,). It becomes then a part of the
implementation. - Most of the time, the internal schema and the
interface of a system are build from static
models. - A schema or an interface are particular cases of
models, statics and dedicated to describe precise
parts of a system. - With a good methodology and adapted tools, its
possible to reuse a business schema, defined
during the analysis phase, all along the
development of the system and to make it a part
of the implementation (it will not be described
in this document, nor done in this study).
46Schemas/ interfaces/models/meta-data (3)
- Meta data are the data that describe data.
According the different technologies, the way to
do it and the usage may differ a lot, due to
basic concepts of each technology. - In XML, its the data provide inside tags
- ltmetadatagt data lt/metadatagt
- The meta data are structured by XML and by
description of schemas (using DTD or XML schema
syntax). - An XML schema vocabulary exists that described
XML schema structured that is then a meta meta
schema.In STEP, its the name of entity provided
for each object in P21 files - xxxNAMEOFENTITY(data, data,)
- The meta data are structured by description of a
schema (using EXPRESS). - The EXPRESS vocabulary could be described using
EXPRESS itself or a BNF grammar. In the first
case, it allows to describe a schema with P21
syntax (as a set of STEP data) and to have an
EXPRESS meta meta schema written in EXPRESS. In
the second case, it allows to efficiently and
quickly write EXPRESS parsers using tools as LEX
and YACC
47Schemas/ interfaces/models/meta-data (4)
- In UML, this concept is also supported in the
model centric architecture proposed by OMG - ltltstereotypesgtgt provides a way to extend core UML
vocabulary. - The stereotypes can be organized then for a given
business area, providing models. Core UML is then
considered as a meta meta model. - One example is the set of stereotypes provided
for CORBA by OMG, that allows bindings between
UML and IDL. - To introduce such concept allows
- Semantics/Vocabularies management (described in
models, schema or interfaces) by users or vendors
using software tools provided by vendors
(application servers, CASE, ). It is also the
basis for mapping and mapping tools (Integration
servers, XSL, Express-X, bindings,)
48What XML Schema and XML Schemas are and are not
XML schema is a language allowing to describe
schemas (i.e. description of structure and items
within a data/information container (database,
document). XML schema is not as easy as UML for
modeling purpose. As XML schemas are written in
XML, a schema written with XML Schema can be
considered as an XML document, with all the
advantages (compound dynamic schema, WEB
navigation, presentation with style sheets using
CSS or XSL,) but also the disadvantages (more
complex, less readable)
49What XML is and is not not
- XML is not a modeling language nor a language
- XML is not a schema description language
- XML is a meta-language allowing to describe some
other languages (e.g. XML Schema, XML Interchange
Language or XMI to exchange UML models, SMIL for
multimedia, WSDL for description of WEB services,
SOAP that a Simple Object Access Protocol) - An XML document is a document containing a data
part, using the XML syntax, and optionally a
schema. The schema can be written with different
syntaxes DTDs, XML Schemas but also RDF, As
data part contains both data and meta data
(inside tags), it could be possible to build the
DTD or a part of the DTD from metadata in some
case.
50XML Schemas usage
- A schema written with XML Schemas language
XML documents can be used together - to exchange/share data with a high level of
semantics between applications. It nevertheless
implies that the applications have import and
export capabilities - capacity to use a schema written with XML schema
- capacity to import an XML document using this
schema - capacity of using the schema for a given purpose
(early or late binding) - it also implies to have some tools allowing to
validate the exchange file! It should be a XML
Schema validating parsers but able to take into
account a schema written with XML Schemas i.e. to
check all the type - pre defined or user defined
- and the rules described in the schema. - it also implies to have some tools to visualize
and to present XML documents described by XML
Schema as XSLT and stylesheet languages (CSS,)
for human usage. - to support distributed data on the WEB. It
nevertheless implies to also have some other
tools as an object access protocol (as SOAP), a
language of description of interface (as WSDL)
and a standard architecture to organize the
services at a high level (as OMA from OMG) - to create an XML database
- to structure WEB documents and data a more
efficient way than HTML, with a high level of
semantic, and more specifically in the B2C and
B2B area
51Impact in the XML world and on users
- Because of impedance mismatch, not easy to reuse
DTD vocabularies as XML Schemas vocabularies - A DTD / XML Schemas standard mappings and binding
should be necessary to simplify the reuse of
DTDs, if possible (10 types against 40 types) - The required tools for parsing and validating XML
documents will not be the same according the
schema language used (DTD syntax or XML Schemas
syntax). Multiple level of checking required. - Business Application protocols required for
interoperability/ data exchange and sharing/long
term archiving - What will be the schema describing language to
formalize the Application protocols? - What will be the organism that will manage these
business protocols? - What about the other schema definition languages
that still exist and are use in the W3C community
(for example RDF, XDR, SOX, Schematron or DSD)? - Is XML Schemas language adapted for end user
Business concepts and vocabulary definition ?
(its a little bit complex)
52Co existence of DTD and XML schemas
- DTD much more simpler
- DTD more adapted to textual application
- Important set of existing DTD, that will not be
converted in one day - When created first, capability to translate one
direction to DTD (as DTD less expressive than XML
Schemas)How to manage it? For example using
UML, EXPRESS as main languages to specify
terminologies
53Co existence of DTD and XML schemas
- DTD much more simpler
- DTD more adapted to textual application
- Important set of existing DTD, that will not be
converted in one day - When created first, capability to translate one
direction to DTD (as DTD less expressive than XML
Schemas)How to manage it? For example using
UML, EXPRESS as main languages to specify
terminologies
54UML models in XML
- Mapping of Namespace?
- Unicity of element names?
- Element or attribute?
- Multiplicity constraints?
- Inheritance?
- Content models?
- Order?
- Data types?
- Relationships?
- gt DTD strict or not
- gt XMI
55Part 21 in XML
- Same kind of questions
- gt binding to XML Part 25
- Different kind of binding
- Late bindings (Protocol independant)
- Early binding (Protocol dependant)
- Multiplication of the size a factor one hundred
- XML DTD less expressive than EXPRESS
56EXPRESS in UML via XMI
- Same kind of questions
- gt binding to UML Part 28
- Running
- Different kind of usage
- Exchange of data with transformation ofSDAI using
MOF - Application protocoles usage at analysis and
modeling phases
57Some resources
- XML Schemas
- Specifications W3C WEB site,
http//www.w3.org/TR/xmlschema-part where part is
0, 1 or 2 - Information W3C WEB Site http//www.w3.org,
Microsoft , Sun, Oracle - Vocabularies OASIS at http//www.oasis-open.org/
cover/sitelndex.html , Schema.net at
http//schema.net, - Free software have a look at IBM Alphaworks,
Sun, Microsoft, Oracle, Notice that Xerces Java
for Apache support XML Schemas( at
httpxml.apache.org/xerces-j/index.html), that
W3C provide XSV to validate an XML Schema,,...
58Question/Discussion
59Conclusion
60XML and STEP application protocols
- Presentation Nicolas FIGAY
- Animation Thierry CORDIER
- Attendees
- Subject XML applied to the industrial sharing
- Background technological surveys
- Keywords XML, ISO STEP10303, Part 28, Part 25
61Business context
- Between enterprises, enables Consistent and
Timely Data Sharing by Participants - Between functions, enables Complete and Accurate
Data Exchange and Use - Between designs, enables Reuse of Design,
Planning and Manufacturing Data - Allows long term archiving
62Role of STEP between Companies
Enables Consistent and Timely Data Sharing by
Participants
Concept
Customers
Design
Fabricate
Assemble
Primes
Test/Deliver
Suppliers
Support
Subcontractors
63Role of STEP between Functions
Enables Complete and Accurate Data Exchange and
Use
64Role of STEP between designs
Enables Reuse of Design, Planning and
Manufacturing Data
65Role of STEP for Data Archival
Past
Future
Drawings
ASSY - 001
CONTRACT NO. 235-899-C-02
Warehouses
Tapes
Underground Mines
66STEP standards architecture
67Application protocol structure
68Exchange
69Sharing
70Some STEP AP
- 203 Configuration controlled Design
- 209 Design through analysis of composite and
metallic structures - 214 Core data for automotive mechanical design
processes - 232 Technical data packaging
- 233 System Engineering Application Protocol
71STEP Organizations and usage
- ISO STEP 10303
- STEP Centres
- GOSET (France)
- ProSTEP (Germany)
- PDESInc (USA)
- China, Canada,Japan , Portugal,
- Vendors CAx tools providers, PDM, ERP, PLM
tools providerSpecialized providers StepTools,
EPM technologies, ProSTEP, - Industrial projects and usage
- VBA, ODET (Automotive Industry)
- AIRBUS (AP2251, in-house PDM to commercial PDM)
onAP214-PDM Schema - SEDRES (EADS LV, Military Aircraft, ) on AP233
for Systems) - Links CAO and simulation (AP209)
- PDM IF
72XML STEP comparison (1)
- STEP is a ISO standard dedicated to data exchange
in manufacturing domain. It provides - Application protocols similar to vocabularies.
To define this is the most difficult for data
exchange/sharing process, because it implies
consensus about business concepts, to be done by
the expert of the concerned domain. The business
concepts are technology independent. It means
that its possible to take a STEP AP (the schema)
and to exchange it using XML documents (data
container) and the concepts of the protocol
written in XML Schema. - It could be done using a binding (if possible
standardized) between EXPRESS and XML Schemas.
Part 28 of STEP already provides XML bindings
for XML documents and schema written with a DTD.
The next phase should be to provide a binding
targeting an XML document and a schema written in
XML Schemas.
73XML STEP comparison (2)
- Part 21 file syntax similar to XML document
data part syntax. In both case, theres data and
meta data in the files. In part 21, its done by
providing for each object the state of the object
(data) and the type of the object i.e. the entity
name (meta data). In XML file, the meta data is
between tags. - EXPRESS, language to describe schema similar to
XML Schema syntax the capacities are about the
same for data exchange/sharing process. - The differences are EXPRESS is more human
readable and compact than XML schemas. - EXPRESS is easier to write by hand (because more
concise), and its possible to use EXPRESS-G for
graphical representation. - The schema written with XML Schemas can be
considered as a XML document, that allows to the
WEB capacities of XML (presentation using style
sheet, navigation, parsing tools for the schema
-not for the data).
74About free tools
- If many free tools exist in the XML area, its
important to verify if these tools are really
usable in an industrial context!
75Bookstore Express schema
- SCHEMA bookstore
- ENTITY Date
- Day integer
- Month integer
- Year integer
- rules of validation of Day, Month and Year
- END ENTITY
- ENTITY BOOKSTORE
- Books SET OF BOOK
- END ENTITY
- ENTITY Book
- Title string
- Author string
- DateOfEdition Date
- ISBN string
- BookPublisher Publisher
- WHERE wr1 (SELF.DateOfEdition.Yeargt1950) --
rule
Rules and Functions can be defined in order to
add complex constraints data must respect. A
graphical language, EXPRESS-G, allows graphic
representation of the schema
76Bookstore Part 21 file
ISO-10303-21 HEADER FILE_DESCRIPTION((bookstore
example), 1) FILE_NAME(bookstore
example.p21,,,,,,) FILE_SCHEMA((bookstore)) END
SEC DATA 1Book(My Life and Times, Paul
McCARTNEY, 2, 94303-12021-43892, 3) 2Date
(,07,1998) 3Publisher (McMillin
Publishing) ... ENDSEC END-ISO-10303-21
1
2
3
1. First indicate that the file is a part 21
file, so indicate the used syntax. Here no name
space indicated. Implicitly, its ISO 10303. But
theres no pass to reach it as STEP is
implementation independent, we are not supposed
to have some Internet connection. 2. Second
provide a HEADER section describing the file
(name, description, author,date,) and more
especially the schema used. It will be possible
to validate the data using the EXPRESS schema.
Idem for the path to reach the schema. 3. Third,
data section, where each object is identified by
a number preceded by . It allows to refer an
object in an another object (equivalent to ID
IDREF in XML).
77Multiple level of checking for STEP too
BookStore.p21
BookStore.exp
EXPRESS grammar
Validate that the p21 file conforms to the rules
described in BookStore.exp
Validate the syntax of P21 file
Validate the syntax of the schema
P21 grammar
78Some differences (1)
- Looking at the way to proceed with the different
technologies, it appears that - Systematic separation of syntax and structure
validation with XML - Everything with XML Schema approach is an XML
document data, schema and meta schema.
Consequently, there is not a grammar for the
schema level (XML Schema language), but still an
XML Schema (at the meta level). The advantage is
that it allows to be able to use schemas and XML
schemas as XML documents for the WEB. But all
this becomes very difficult to read for a human,
and style sheets (that are not so easy to write)
are necessary to present these models a more
readable way. - With EXPRESS, a grammar is provided that merge
syntax and structure aspects. Advantage is a
clearer separation between data and schemas, that
make STEP data and schemas easier to read than
XML one for a complex schema - XML documents huge compare to STEP data files or
EXPRESS schemas - In a XML documents, all the meta data are
repeated each time there is a piece of data, as
tags. It implies (if we refer to STEP vocabulary)
not only entity names but also attributes name.
There is a factor 10 of difference comparing P21
file. - With EXPRESS, a grammar is used, that make
description of the schema shorter and easier to
read.
79Some differences (2)
- STEP less integrated to the WEB compared to XML
- at data level
- XML was design for the WEB, to respond to HTML
lakes, and to simplify SGML and to adapt it to
the WEB. Consequently XML data are adapted to the
WEB, and allow usage of most of the Internet
technologies as URI, URL, navigation, XPATH, - STEP was not design for the WEB. To adapt it to
the WEB requires to use some internet
technologies as HTML or XML, to add navigation
and presentation capacities. Its proposed by
most of the STEP based software (e.g. data set at
PDMIF), but its not a part of ISO STEP itself. - at schema level
- With XML Schema,, XML schemas are themselves a
XML document, and can use all the advantages
described for the XML data. It also allows
compound schemas, resources sharing on a WEB
basis (URL and URI), namespace, - As for data, STEP schemas are not design for the
WEB. Usage of HTML or XML is still needed to
create WEB documents. Its more and more done for
the STEP application protocols, using
functionalities coming from STEP software. A good
example of what is possible is the CD ROM of
AP214 AP provided by ISO.
80Strategies for Defining Semantics of business
concepts with XML or STEP
81From a standardization point of view with
business data/sharing objective (1)
- STEP is a series of ISO standards (ISO 10303) ,
i.e. a consensus between all the expert in the
world in a given domain. - Its also managed by an independent organism,
ISO. - Vocabularies coming from other communities are
most of the time not a norm nor a standard (even
if called so). A lot are existing (Babel tower
phenomenon) and some doubts exists about there
perenniality, especially when managed by vendors
(according Gartner Group 80 of XML standards
existing today will no more exist end of 2002).
82From a standardization point of view with
business data/sharing objective (2)
- The questions to respond here are
- Do we need a normalized Business Application
Protocol with some perenniality and
independence?If yes, ISO STEP APs is the way. If
no, a specific vocabulary may be used - What is the best technology to use to write the
schemas?The response will be done according the
usage we want to do of the AP defining a
schema, an interface, a model. XML standards are
still immature and evolving. XML standards are
not ISO standards, and proprietary implementation
exists or may exist (Vendor usual practice).
Consequently it is probably a good thing to
continue to use EXPRESS for AP modeling, and to
allow some bindings with XML standards. A risk if
a company use XML standards to model their
application protocols and business concepts is to
have to rewrite it when the XML standards will
evolve, that will lead to translate the schemas.
83From a standardization point of view with
business data/sharing objective (3)
- What is the best technology from software
developers point of view?XML and XML Schemas are
supported by the main actors in application
development (Microsoft,IBM), and provide a
consensual way for WEB interoperability still
using already existing protocols (COM, CORBA,),
without replacing them. XML technologies will be
consequently used and it will be necessary to
master them. The problem is that, as for
programming language and technologies, the life
cycle of the different XML technologies is very
short. When will we have a new and more efficient
Schema definition language? And which one to use
today, with some guaranty about perennially of
the developed applications? - Should the industrial companies follow the
software vendors that are so keen on XML?The XML
standards are presented by vendors as the
solution for exchange between applications. They
are presented as simple (human readable, not to
much complex is one of the 10 rules of XML, ).
But looking at the numerous XML standards and
usages, its not obvious that its the fact. A
lot of expertise is required and consequently XML
is a good opportunity to sell services. Its
acceptable only if it addresses efficiently
needs of industrial companies.
84Conclusion (1)
- The XML Schema language that allows to write
schemas with the XML syntax is motivated to allow
supporting exchange between databases, sharing of
data for WEB distributed architecture, XML
Database Systems, - The capability are then similar between STEP
technologies for data exchange (Part 21 syntax
for data and EXPRESS for schemas against XML
document data part syntax for data and XML
Schemas for schemas) - The questions to compare them are
- Do we need a normalized Business Application
Protocol with some perennially and independence? - What is the best technology to use to write the
schemas of application protocols? - What will be the technical de facto standards to
be aware of? - Should the industrial companies follow the
software vendors that are so keen on XML?
85Conclusion (2)
- STEP APs and STEP technologies seemed to be the
good choice for long term guaranty. For
application dedicated to WEB, XML standards are
more adapted. - As pushed by main software vendors, XML Standards
and XML Schema will probably be de facto
standards (but which technologies within the
numerous XML specifications). It will probably be
used by PTC for Windchill (Infoengine) in future
versions (but how?). - Binding between technologies are consequently
important to continue to use the good tool for
the good usage (new binding in part 28 for XML
Schema?). Its important to point that such
binding is not trivial. - Its not sure that XML standards, that shouldnt
be consider as simple, respond to the needs of
industrial companies.
86XML /STEP
- AP STEP similaires au BOD XML, en plus complet,
avec lavantage dêtre des normes ISO (pérennité,
limitation du phénomène Tour de Babel) - Fichiers part 21 schémas EXPRESS similaires aux
documents XML avec DTD/XMLSchema, avec lavantage
dêtre plus mature. Plus grande complexité du
côté XML(la simplicité initialement visée des
standards XML se perd), EXPRESS plus puissant et
complet. - Par contre XML permet de couvrir des aspects non
couverts par STEP présentation, documents WEB
navigables, accès en ligne facilité en passant
par des services WEB XML (à valider, cf projet
PDM Net de ProSTEP, Virtual PDM), plus
d interfaces disponibles pour les progiciels du
marché) - Outils de transformation EXPRESS-X pour STEP,
XSLT pour XML. Puissance plus importante pour
EXPRESS-X (ltOpen Fusion serveur dintégration
utilise Expressive, implémentation de EXPRESS-X) - SDAI doit pouvoir sintégrer dans une
architecture avec communication via SOAP, WSDL
(par encapsulation, analogue à ce qui peut se
faire via CORBA) - Importance de la définition de vocabulaires
métiers standards, adressé uniquement par STEP
qui est une norme ISO. - Focalisation sur des transactions pour XML, doù
limitation et risque dexplosion sémantique. - Usages déjà opérationnel d AP en Entreprise
comme référence (ex AP214 chez Renault)
87XML STEP Binding part 28, UML/EXPRESS
- La Part 28 STEP propose différents binding XML
pour STEP - Un late binding et deux early binding, qui seront
probablement étendus par la suite. - Le standard nest pas encore au niveau IS,
lutilité nest pas encore complètement démontrée
- Fichiers de données extrêmement importants en
taille - Relative complexité / Fichiers STEP (Part 21)
- Apports des standards XML /STEP-architectures
distribuées dans le domaine de lEAI et du B2B ? - Des implémentations sont cependant déjà
disponibles pour les exports Part 28 (EDM de EPM
technologies par exemple), PDM Net de ProSTEP,
certaines applications d EUROSTEP. - La part 25 (UML/EXPRESS) sappuiera sur les DTD
de la part 25, sur XMI et sur la version de UML
qui sera standard ISO. - Appui sur des DTD ou XML Schema?
- Avis CCR
- manque de maturité ou de visibilité actuellement
- besoin didentifier rôle et besoins couverts par
chaque technologie - Diverses implémentations Part 28 déjà sur le
marché, sur des normes qui cependant risquent de
bouger (pas encore statut IS)
88Ressources
- STEP
- Norms ISO site, AFNOR site, GDN (inside EADS)
provides access to norms bought by EADS and WG11
working group (Part 28 for STEP XML binding) at
the NIST WEB site. - Information STEP centres (GOSET, ProSTEP, PDES
Inc, Implementor forums, ECON, ,), vendors (
STEP Tools, EuroSTEP,EPM Technologies,) or users
( NASA) - Free software NIST Expresso now called Express
Engine at http//exp-engine.sourceforge.net
89Question/Discussion
90Conclusion
91XML Based distribution
- Presentation Nicolas FIGAY
- Animation Thierry CORDIER
- Attendees
- Subject XML based RPC and distributed
architecture - Background Data exchange and sharing studies
(1998-2002) RISESTEP, SAVE - Technological surveys
- Keywords XML, SOAP, XML RPC, XML Services, COR