atom feed77 messages in org.oasis-open.lists.regrepRe: [regrep] [TN Proposal] Mapping Bu...
FromSent OnAttachments
15 earlier messages
Carl MattocksSep 17, 2004 2:01 pm 
Chiusano JosephSep 17, 2004 2:05 pm 
Farrukh NajmiSep 17, 2004 2:11 pm 
Carl MattocksSep 17, 2004 3:05 pm 
Duane NickullSep 20, 2004 8:48 am 
Duane NickullSep 20, 2004 8:49 am 
Duane NickullSep 20, 2004 8:54 am 
Farrukh NajmiSep 20, 2004 8:56 am 
Farrukh NajmiSep 20, 2004 8:59 am 
Breininger, Kathryn RSep 20, 2004 9:02 am 
Duane NickullSep 20, 2004 9:49 am 
Chiusano JosephSep 20, 2004 10:14 am 
David RR WebberSep 20, 2004 11:13 am 
David RR WebberSep 20, 2004 11:19 am 
David RR WebberSep 20, 2004 11:20 am 
Duane NickullSep 20, 2004 11:37 am 
Duane NickullSep 20, 2004 11:39 am 
Duane NickullSep 20, 2004 11:43 am 
David RR WebberSep 20, 2004 11:43 am 
David RR WebberSep 20, 2004 11:50 am 
David RR WebberSep 20, 2004 11:59 am 
Duane NickullSep 20, 2004 12:03 pm 
Duane NickullSep 20, 2004 12:06 pm 
David RR WebberSep 20, 2004 12:17 pm 
David RR WebberSep 20, 2004 12:26 pm 
Duane NickullSep 20, 2004 12:27 pm 
David RR WebberSep 20, 2004 12:34 pm 
Matthew MacKenzieSep 20, 2004 12:37 pm 
Duane NickullSep 20, 2004 12:58 pm 
Duane NickullSep 20, 2004 1:02 pm 
Farrukh NajmiSep 20, 2004 1:07 pm 
Matthew MacKenzieSep 20, 2004 1:12 pm 
Chiusano JosephSep 20, 2004 1:43 pm 
Matthew MacKenzieSep 20, 2004 1:46 pm 
Duane NickullSep 20, 2004 1:47 pm 
Matthew MacKenzieSep 20, 2004 1:53 pm 
Duane NickullSep 20, 2004 3:19 pm 
Chiusano JosephSep 20, 2004 5:20 pm 
Duane NickullSep 20, 2004 5:49 pm 
David RR WebberSep 20, 2004 6:31 pm 
David RR WebberSep 20, 2004 6:33 pm 
David RR WebberSep 20, 2004 6:35 pm 
Duane NickullSep 20, 2004 7:34 pm 
Matthew MacKenzieSep 20, 2004 7:42 pm 
Matthew MacKenzieSep 20, 2004 7:45 pm 
Duane NickullSep 20, 2004 8:52 pm 
Duane NickullSep 20, 2004 9:43 pm 
David RR WebberSep 21, 2004 5:37 am 
David RR WebberSep 21, 2004 5:38 am 
David RR WebberSep 21, 2004 6:40 am 
12 later messages
Subject:Re: [regrep] [TN Proposal] Mapping Business Information Models toebXML RegistryInformation Model (Was: [regrep] UN/CEFACT-ICG adopts freebXMLRegistry)
From:David RR Webber (
Date:Sep 20, 2004 12:26:01 pm


Ok - I see what you have done.

I'm not sure I like this approach from the point of interoperability and predicability.

Unfortunately - this idea of using attributes to carry type information and values - I'm sensing is too extensible. It's OK for on-the-fly prototyping work - but once you move beyond that - we need more formal design based on use cases.

Otherwise you can never quite be sure what you will get returned...unless you wrote it there in the first place. Also versioning is problematic for similar reasons.

I believe we need a blend here of the approaches. The SCM noun provides more formalization of the content and semantics. And we also worked on just a descreet set of use cases - multi-lingual support, content validation, referencing to CCTS model, and business rule semantics.

See attached noun XSD.

DW. ======================================================== Duane Nickull wrote:


Since the binding information is needed for things like registry federation too, I placed a notion of a home registry in the highest level of the container.

Here is an example of how we did it. There ARE some minor changes ot this version to account for cardinality between context set declarations and the BIE's.

<?xml version="1.0" encoding="UTF-8" ?>

<!--binding info here. To be used for federation to establish high water mark--> <DataElement home="" id="urn:uuid:2a134824-2d14-7067-0b63-233c2a644e6e" xmlns="" > <Identifiers> <Identifier type="responsibleOrgURL" value="" /> <Identifier type="ElementIdentifier" value="112" /> <Identifier type="DataDictionaryName" value="First.Name" xml:lang="en-CA" /> <Identifier type="EntityName" value="Being, Identifier" /> <Identifier type="jCAM" value="WhateverYouWant" /> </Identifiers>

<!--you may have more than one <Properties> fragment. Each one has a unique "asserted by" attribute --> <Properties assertedBy="Canadian Public Safety Information Network"> <Property name="version.major" value="1" /> <Property name="version.minor" value="0" /> <Property name="version.incremental" value="0" /> <Property name="registration.status" value="APPROVED" /> <Property name="domain" value="dDateValue" /> <Property name="topic" value="Person" /> <Property name="DavidRRWebber" value="It works with CAM" /> <Property name="" value="Person.Name.Identifier" context="A text string representing the first name of a person and name type." /> <Property name="synonyms" value="Animal.Gender.Identifier" context="A text string representing the name of an animal." /> </Properties>

<Documentations> <Documentation type="comment|note|instruction|other" locale="en_CA" mimeType="text/html"> <![CDATA[<html><body>Element Approved but further research needed for values</body></html>]]> </Documentation> <Documentation type="comment|note|instruction|other" locale="fr_CA" mimeType="text/html"> <![CDATA[<html><body>viva la difference!</body></html>]]> </Documentation> </Documentations>

<Representations> <Representation type="" context="urn:uuid:4a593056-3509-0766-2e7b-4e154030423f"> <!--schema here--> <xsd:schema xmlns:xsd=""> <xsd:element name="FirstName"> <xsd:complexType> <xsd:element name="FirstNameValue"/> <xsd:simpleContent> <xsd:extension base="xsd:string"> <xsd:attribute name="FirstNameType" use="required"> <xsd:simpleType> <xsd:restriction base="xsd:NMTOKEN"> <xsd:enumeration value="01 - Given at Birth"/> <xsd:enumeration value="02 - Alias"/> <xsd:enumeration value="03 - Gang Name"/> <xsd:enumeration value="04 - Changed to Name"/> <xsd:enumeration value="05 - other"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="UUID" type="xsd:string"

fixed="urn:uuid:2a134824-2d14-7067-0b63-233c2a644e6e"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> </xsd:schema> </Representation> <!--Start of another context here--> <Representation type="" context="urn:uuid:6563671c-5008-464c-5b38-1377054b5a7a"> <!--schema here--> <xsd:schema xmlns:xsd=""> <xsd:element name="Pr&#233;nom"> <xsd:complexType> <xsd:element name="ValeurDePr&#233;nom"/> <xsd:simpleContent> <xsd:extension base="xsd:string"> <xsd:attribute name="typeDePr&#233;nom" use="required"> <xsd:simpleType> <xsd:restriction base="xsd:NMTOKEN"> <xsd:enumeration value="01 - Donn&#233; a la naissance"/> <xsd:enumeration value="02 - Dit"/> <xsd:enumeration value="03 - Nom de Troupe"/> <xsd:enumeration value="04 - Nom Chang&#233;"/> <xsd:enumeration value="05 - Autre"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="UUID" type="xsd:string"

fixed="urn:uuid:2a134824-2d14-7067-0b63-233c2a644e6e"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> </xsd:schema> </Representation>




David RR Webber wrote:


OK - the SCM noun is actually engineered the other way around.

It allows you to point to a CC instance using CCTS terminology - such as ABIE, BCC, ACC, and so on - and therefore provide one or more phyical renderings that relate to a high level CCTS object.

But your mechanism also works - where the CC instance can point to a noun instance in the registry. I would suggest you use a LID based interface for this - rather than a UUID based one.

Something like:

<Property type="ebNoun" registry_addressing="http-binding goes here" referenceID="LID_value"/>

Thanks, DW ====================================== Duane Nickull wrote:

David RR Webber wrote:

The *last* thing you want to do is try and use the registry to do assembly itself - that's an intractible problem. That is why you have jCAM engines, et al.

You may have misinterpretted my email. I would never advocate that the registry does the assembly, just serves up the artifactrs necessary to be assembled to something like jCAM or whatever else.

Even jCAM has requirements on what must be present in each artifact it assembles. I would welcome your comments on the CC-Review document as to whether or not they appear to appease CAM's needs. I did make a format that allows CAM users to place their own information into a CC or BIE without affecting other users. For example, if there is a property that only CAM users need, they can have it declared wityhin the CC instance:

<Property type="jCAM_user_ID_here" value="UUID:URN:DRRW1001" />

Instead - you simply model a flat UMM CC structure onto RIM, and optionally extend that with SCM noun instances as needed.

That's it - no more.

Then its up to the backend UML modelling tools to reference that content and do clever things internally as they wish. They can also optionally output CAM template instances as XML - to drive the use of the registry content semantics.

That was the lesson we learned before - keep this very simple - separate the task out into logical parts - semantics, relationships (OWL), assembly; do not try and mix those into one hair ball.


Farrukh Najmi wrote:

Duane Nickull wrote:

I would propose that this approach is flawed since CCTS is a special case. If you read the entire CCTS set of documents AND UMM, you will clearly see a need for more than a simple mapping and storage. This is documented in my requirements in CC-Review. CC's and BIE's need to serialize the information and carry it to persistent stores outside the registry. That places a requirement of duplication of certain RIM instance data in the CC instance, so it can be used without a registry system present in the way that UMM dictates Business information entities be used.

The requirement you mentions as special (the need to duplicate content into metadata) is actually very common based on my experience. Our proposed TN would address this pattern explicitly using the Content Cataloging feature.

What am I missing?

A few special cases in CCTS mapping do not obviate the need for a generic mapping TN that covers most domain specific mapping and 90%+ of CCTS. What is the downside of doing a generic mapping document as you see it?


Carl Mattocks wrote:

Mapping Domain Patterns in ISO/TS 15000 Registry Information Model should be of interest to those who need to take a risk free approach

<quote who="Chiusano Joseph">

Excellent idea. I recall mention of this during the earlier CC-RIM in summer 2003.

Regarding the title: Perhaps can do something with the word "Business", as it seems to convey that the TN would cover only information at a higher layer, and I don't think we would much care what the meaning/intent of the information was. Perhaps we could:

(1) Drop the word "Business" (becomes "Mapping Information Models...") (2) Supplement it ("Mapping Business and Domain Specific Information Models..."), or (3) Substitute it (no particular word comes to mind right now)

Yet another important thing I did not mention is that as we were discussing the mapping from CCTS UML Model to ebRIM UML model I suggested that the registry TC should create a TN titledsomething like:

"Mapping Business Information Models to ebXML Registry Information Model"

This TN would provide the generic patterns and algorithms for mapping any Business or Domain specific information model to ebRIM.

This is an idea that Nikola had come up with a long time ago. As I recall he had even made a list of such patterns at some point.

As more and more domains are adopting ebXML Registry standard they are faced with the recurring need to map between their info model and ebRIM. Currently this is being done ad hoc. With the proposed TN this recurring need will be nicely addressed.

I view the proposed TN to be very valuable indeed to the ebXML Registry user community. I expect the paper to be relatively brief.

I have spoken to Nikola about resurrecting his work in this area and he graciously agreed. During the course of next week Nikola and I will collaborate to put an initial draft of the proposed TN for the teams review.

Thanks in advance for sharing any thoughts on this idea and specially on the title of the note.

-- Regards, Farrukh

Farrukh Najmi wrote:

The UN/CEFACT Information Content Management Group (ICG) has


adopted the ebXML Registry standard as the center piece of their new Information Content Management Architecture.

The architecture will be implemented as a federation of autonomous


Registries operated by various UN/CEFACT members countries and organization. They are also envisioning a top level UN/CEFACT ebXML Registry as the leader of the registry federation. The UN registry federation will store Core Component artifacts as well as many other


defined artifacts.

At ICG invitation I attended a two day meeting Thursday and Friday. On Thursday I presented ebXML Registry standard to them and discussed their requirements and how ebXML Registry standard met those requirements. On Friday we developed the blueprint for their ebXML Registry based architecture which was then presented to the


participant of the UN/CEFACT conference.

It was good to see David Webber in the audience who contributed to the lively discussion. The presentation was well received.

I will send link to the UN/CEFACT Information Content Management Architecture slides as soon as it gets posted on their web site:

All in all I am overwhelmed by the success of this meeting and hope


this momentum in the adoption of the ebXML Registry standard continues to escalate.

We as a team should feel very proud of the success of our standard.

To unsubscribe from this mailing list (and be removed from the roster of the OASIS TC), go to

To unsubscribe from this mailing list (and be removed from the roster of the OASIS TC), go to

To unsubscribe from this mailing list (and be removed from the roster of the OASIS TC), go to

To unsubscribe from this mailing list (and be removed from the roster of the OASIS TC), go to

To unsubscribe from this mailing list (and be removed from the roster of the OASIS TC), go to

To unsubscribe from this mailing list (and be removed from the roster of the OASIS TC), go to

<?xml version="1.0" encoding="UTF-8"?> <!-- format for storing metadata about a noun in a dictionary --> <!-- version: 1.0 status: draft revised: January 18, 2004 --> <xs:schema xmlns:xs="" elementFormDefault="qualified"> <xs:element name="nounMetadata"> <xs:complexType> <xs:sequence> <xs:element name="nounItem" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:element name="defaultUID" type="xs:string"/> <xs:element ref="elementName"/> <xs:element name="identifiers" type="identifiersType"/> <xs:element name="CCTSlinkage"> <xs:complexType> <xs:sequence> <xs:element name="annotation" type="annotationType" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="componentName" type="xs:string"/> <xs:element name="identifiers" type="identifiersType"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="metadataDetail"> <xs:complexType> <xs:sequence> <xs:element name="itemDetails"> <xs:complexType> <xs:sequence> <xs:element ref="elementName"/> <xs:element name="label" type="xs:string"/> <xs:element name="description"> <xs:complexType> <xs:attribute name="extendedDescription" type="xs:string"/> <xs:attribute name="extendedMIMEtype" type="xs:string"/> </xs:complexType> </xs:element> <xs:element name="constraintDetail"> <xs:complexType> <xs:sequence> <xs:element name="physicalFacets" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="facet" maxOccurs="unbounded"> <xs:complexType/> </xs:element> <xs:element name="linkage" type="linkageType" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="ruleAssertions" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="assertion" maxOccurs="unbounded"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="syntax" use="required"> <xs:simpleType> <xs:restriction base="xs:NMTOKEN"> <xs:enumeration value="CAM"/> <xs:enumeration value="XSD"/> <xs:enumeration value="RELAX"/> <xs:enumeration value="JavaScript"/> <xs:enumeration value="XSLT"/> <xs:enumeration value="XPath"/> <xs:enumeration value="other"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="linkage" type="linkageType" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="extensionDefinitions" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="extension"> <xs:complexType> <xs:sequence> <xs:element name="item" maxOccurs="unbounded"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="syntax" type="xs:string"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="name" type="xs:string" use="required"/> <xs:attribute name="type" type="xs:string" use="required"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="annotation" type="annotationType" minOccurs="0"/> </xs:sequence> <xs:attribute name="locale" type="xs:string" use="required"/> </xs:complexType> </xs:element> <xs:element name="associations" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="association" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:attribute name="reference" type="xs:string" use="required"/> <xs:attribute name="taxonomy" type="xs:string"/> <xs:attribute name="relationship" use="required"> <xs:simpleType> <xs:restriction base="xs:NMTOKEN"> <xs:enumeration value="similar"/> <xs:enumeration value="equivalent"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="registry" type="xs:string"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="locale" type="xs:string" use="required"/> <xs:attribute name="id" type="xs:string"/> <xs:attribute name="externalRef" type="xs:string"/> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="type" use="required"> <xs:simpleType> <xs:restriction base="xs:NMTOKEN"> <xs:enumeration value="Noun"/> <xs:enumeration value="Aggregate"/> <xs:enumeration value="BIE"/> <xs:enumeration value="Verb"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="locale" type="xs:string" use="required"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Description" type="xs:string"/> <xs:complexType name="annotationType"> <xs:sequence> <xs:element name="documentation" maxOccurs="unbounded"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="type" use="required"> <xs:simpleType> <xs:restriction base="xs:NMTOKEN"> <xs:enumeration value="description"/> <xs:enumeration value="note"/> <xs:enumeration value="license"/> <xs:enumeration value="usage"/> <xs:enumeration value="other"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> <xs:element name="elementName" type="xs:string"/> <xs:element name="facets"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="syntax" use="required"> <xs:simpleType> <xs:restriction base="xs:NMTOKEN"> <xs:enumeration value="CAM"/> <xs:enumeration value="XSD"/> <xs:enumeration value="RELAX"/> <xs:enumeration value="JavaScript"/> <xs:enumeration value="XSLT"/> <xs:enumeration value="XPath"/> <xs:enumeration value="other"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:complexType name="identifiersType"> <xs:sequence> <xs:element name="identifier" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:element name="annotation" type="annotationType"/> </xs:sequence> <xs:attribute name="taxonomy" use="required"> <xs:simpleType> <xs:restriction base="xs:NMTOKEN"> <xs:enumeration value="UID"/> <xs:enumeration value="UUID"/> <xs:enumeration value="CoI"/> <xs:enumeration value="Local"/> <xs:enumeration value="Other"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="registry" type="xs:string"/> <xs:attribute name="value" type="xs:string" use="required"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="linkageType"> <xs:sequence> <xs:element name="itemLink"> <xs:complexType> <xs:attribute name="name" use="required"> <xs:simpleType> <xs:restriction base="xs:NMTOKEN"> <xs:enumeration value="Assembly"/> <xs:enumeration value="Association"/> <xs:enumeration value="Associations"/> <xs:enumeration value="BaseDetails"/> <xs:enumeration value="Behaviour"/> <xs:enumeration value="Constraints"/> <xs:enumeration value="Context"/> <xs:enumeration value="CoreComponent"/> <xs:enumeration value="DefaultAssembly"/> <xs:enumeration value="Description"/> <xs:enumeration value="ElementName"/> <xs:enumeration value="ExplanationOfUse"/> <xs:enumeration value="ExtendedDetails"/> <xs:enumeration value="ExtensionDefinitions"/> <xs:enumeration value="Function"/> <xs:enumeration value="Identifier"/> <xs:enumeration value="Label"/> <xs:enumeration value="MetaInformation"/> <xs:enumeration value="PhysicalDetail"/> <xs:enumeration value="Processes"/> <xs:enumeration value="Schemas"/> <xs:enumeration value="Usage"/> <xs:enumeration value="Validation"/> <xs:enumeration value="annotation"/> <xs:enumeration value="documentation"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="UIDReference" type="xs:string" use="required"/> <xs:attribute name="taxonomy" type="xs:string" use="required"/> <xs:attribute name="registry" type="xs:string"/> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="syntax" use="required"> <xs:simpleType> <xs:restriction base="xs:NMTOKEN"> <xs:enumeration value="CAM"/> <xs:enumeration value="XSD"/> <xs:enumeration value="RELAX"/> <xs:enumeration value="JavaScript"/> <xs:enumeration value="XSLT"/> <xs:enumeration value="XPath"/> <xs:enumeration value="other"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:schema>