OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

regrep message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Subject: Harmonization of Oasis and ebXML RegRep



To: Oasis and ebXML RegRep groups

On Septemeber 18 this year Farrukh Najmi submitted a proposal to ebXML
RegRep for an information model to define the logical structures of an
ebXML registry/repository. He borrowed a number of concepts from the Oasis
registry information model with an intent to extend it to capture the fact
that ebXML was also planning to be the repository for some (or all) of the
ebXML registered objects.

At 01:32 PM 9/18/00 , Farrukh Najmi wrote:
>After doing due diligence and studying the ISO 11179 and OASIS
>information models as well as the UDDI specs, here is a first stab at
>the ebXML Repository Information Model (attached).

I'm a big fan of the purpose and structure of the proposed ebXML document,
but had some comments on the representation of Oasis concepts. So -
attached is a 1-page PDF diagram that uses UML constructs to try to
harmonize the Oasis and ebXML concepts. I feel relatively good about it and
hope that exposure to both groups will flesh out any deficiencies. My goal
is that it would eventually replace Figure 4 in the proposed ebXML base
document.

I have no strong feelings about the UML Class and Atribute names, or in the
role names of any associations among classes, but using the names presented
in the attached UML diagram, I have the following explanations:

1) The terms Registry Item, Related Data, Alternate Name, Association,
Classification, LevelValuePair, Alternate Description, Package,
Classification Scheme, Classification Level, Classification Item, and
Registered Object all come from the Oasis specification and are defined in
that specification. That specification has not yet undergone a public
review, so the names and terminology are not cast in concrete.

2) The terms Party Profile, Business Process, Trading Partner (TP)
Agreement, and Core Component come from other ebXML specifications. Those
specifications are also under intense development, so these names and the
structures and relationships they represent, are also not cast in concrete.

3) The RR_ManagedObject class is just a placeholder for scoping object
identifiers. I make an important assumption that the RR_ManagedObject class
holds only local object identifiers. I assume that a remote implementation
of the ebXML specification would own and manage its own objects, thereby
giving local autonomy to each implementation.  I assume that both local and
remote registry/repositiories conform to the ebXML specifications and that
the only interaction among them is via Registry Services, defined in a
separate document.  In particular, I'm assuming that an object identifier
in one conforming registry/repository is meaningless to any other
registry/repository.  Thus I'm assuming that a registry may have to keep
track of the Uniform Resource Names (URNs) used by other registries to
identify their registered objects or registry items. That's one of the
purposes of the Alternate Name class! This class could also be used to map
remote object identifiers to local object identifiers if that should prove
desirable.

4) I'll use lower case names to refer to an instance of a Class with the
capitalized name. For example, a registered object is an instance of the
Registered Object class, and a business process is an instance of the
Business Process class.

5) Each registered object maps to exactly one registry item. The registry
item contains the metadata for that registered object.

6) A registry item may or may not map to a local registered object.
Instead, it may map to a registered object or registry item in some remote
registry/repository, or it may map to a registered object that has since
been withdrawn.  Thus the Content association from Registry Item to
Registered Object is 0..1 instead of 1..1.

7) This high-level UML diagram does not attempt to capture the rules for
how a registry item maps to a remote registered object.  It could be via a
URL that locates the object itself, or it could be by using a URN that
identifies a remote registry item that then maps to the remote registered
object, or both.

8) The Related Data class is the same concept as the External Object class
defined in the current ebXML proposal. It gives a name and a URL for
something related to a registry item, but not owned or managed by any
registry/repository. 

9) The Registry Package class makes explicit the Oasis notion of a package.
Logically, a registry package is a set of pointers to registry items.
Also, logically, a registry package is a registered object and thus has its
own metadata as something separate from the registry package itself. A
package may represent a hierarchical structure since it is OK for a package
to have another package as one of its elements.

10) A classification scheme is a complete definition of a classification
hierarchy, including names and descriptions for each item in the hierarchy
and possible names and description of the purpose for each level in the
hierarchy.  The Oasis definition of classification scheme does not yet
allow the construction of new classification schemes from existing ones.
That's an opportunity that can be pursued by the classification scheme
group. The important thing is that classification schemes are registered
objects, and thus have their own metadata.

11) A classification is the identification of a single branch down a
classification scheme hierarchy. Each classification consists of one or
more level-value pairs to identify the path down that branch. 

12) A registry item may be classified by an arbitrary number of
classification schemes. The only requirement is that each classification
must reference a classification scheme that is a registered object in some
conforming registry/repository.  The SchemeURN association maps a
classification to a registry item in the local registry/repository, and
that registry item points to a classification scheme that is a registered
object in some conforming registry repository - not necessarily the local
one! This means that classification schemes can be owned and maintained by
one registry and then referenced by many registries.

13) The Alternate Description class supports internationalization by
allowing the Description of a registry item to be done in an arbitrary
number of languages. It is intended that each instance be a direct
translation into some human readable language of the primary description of
a registry item, which is an attribute in the Registry Item class.

14) It is likely that Core Components will be the building blocks for party
profiles, business processes, and trading partner agreements.  If the core
components are registered, then the "uses" assocations from, say Business
Process to Core Component can be captured by instances of the Association
class in the diagram.  The advantage is that the Association class can
represent many different kinds of associations between registered objects,
yet the registry interface remains static. Similarly, if a trading partner
agreement references a set of business processes, it would be sufficient
for that trading partner agreement to reference a registry package that
identifies each of those business processes.  I think that much of the
effort of ebXML RegRep will be on how to populate the static registry
structures when someone submits a registered object that is one of the many
different supported types. For example, the XML of a trading partner
agreement may have to be parsed to identify the referenced business
processes so that the appropriate association instances can be created.

15) Note that in the diagram, each association instance of the Association
class is hard wired to a single registry item as the GivenItem, and is only
loosely coupled to another potential registry item called the
AssociatedItem.  This is because the associated item may not be in the
local registry. It is OK for an association to reference a remote
registered object or registry item by using a globally unique URN for that
external object. Maybe ebXML can improve on the Oasis definition to allow
references to remote object identifiers, if known.  Another approach might
be to require that the associated item reference a local registry item and
then allow that local registry item to reference a remote object, as it
already can.  There are pros and cons of each approach. This can all be
worked out in discussions.

16) Note that a registry is also responsible for keeping track of the life
cycle of registry items, including any additions or modifications to its
metadata.  The ebXML information model has not yet considered this
responsibility, but the attached UML diagram is consistent with the Oasis
approach for meeting this requirement,
cf ftp://xsun.sdct.itl.nist.gov/regrep/OasisModel.pdf and
   ftp://xsun.sdct.itl.nist.gov/regrep/OasisNewXML.pdf

Regards,
Len Gallagher

ebxmlUML.pdf

**************************************************************
Len Gallagher                             LGallagher@nist.gov
NIST                                      Work: 301-975-3251
Bldg 820  Room 562                        Home: 301-424-1928
Gaithersburg, MD 20899-8970 USA           Fax: 301-948-6213
**************************************************************


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Powered by eList eXpress LLC