Title: EbXML TM Technical Architecture Overview
1EbXML TM Technical Architecture Overview
- www.ebxml.org
- Editor Duane Nickull
- Constributors All ebXML Committees, participants
- V 0.3
2Part One
3ebXML
- Creating a Single Global
- Electronic Market
- A United Nations CEFACT / Oasis sponsored
initiative
4ebXML Mission . . .
- To provide an open XML-based infrastructure
enabling the global use of electronic business
information in an interoperable, secure and
consistent manner by all parties.
5ebXML Architecture
- Providing a view for integration of business
processes among ad-hoc or established independent
business partners by electronic means. - Reducing the need for collaborative business
partners to have individual and expensive prior
agreement on how to integrate business processes. - Providing a high-level business-centric view of
distributed e-business processes. - Supporting and representing business processes
independent of the technical solution. - Providing and supporting a library of common,
standard intra-business processes - Allowing for both business processes and enabling
technologies to evolve independently while
retaining long-term investments in both. - Integrating with new and legacy systems
throughout the enterprise - Leveraging existing technologies and standards
6Business Process (Meta) Model
Enables
Defines
Sends Receives
Structures
Component Library
Provides metadata for
Network Economy
Common Components
Process
Services
Technology Mapping
Provides content for
Schemata
Supports
Codes, Elements
Holds
Provides Access To
Uses
Populates
Common Technical Architecture
Distributed Repository
Registry
Holds
Security
Syntax schemata
Transport
7ebXML Architecture
- At the heart of ebXML is a powerful system of
Registries and Repositories - A Repository is a storage tank for Meta data
such as Mapping Templates, business rules,
smart document DTDs, dictionaries, libraries
and other core components for electronic business
Repository
Registry
8ebXML Core Components
- Core components are elements of the component
library that are common to multiple business
domains. - Core Components are Business Objects horizontal
to many organizations. Examples can be an
address on an invoice, a telephone number or a
legal requirement to reply with confirmation of
receipt of a purchase order.
9Part Two - ebXML Mapping / Rendering
- A review of ebXML Mapping / Rendering Architecture
10ebXML Templates
- Provide semantic information for smart business
documents. - Ideally utilize a declarative approach to
transformations. Small footprint. - ebXML Mapping / Renderiing Templates are
expressed in valid XML syntax only. - They are authored and owned by standards bodies,
businesses or organizations who wish to
interoperate within the ebXML Architecture.
Mapping Templates
11ebXML Registries Repositories
- A Registry is an interface to allow Process
Owners to submit or update their mapping
templates. - A Registry has two interfaces one for
applications (API) and one for Humans (Manual
HTTP) - A Security protocol is use to offer
authentication, protection and non-repudiation
benefits. - Once the XML syntax has been validated, the
Mapping Template is placed into the Repository.
API
Human Interface
Repository
SECURITY LAYER
Registry
Syntax Validation
12EbXML Repository Search Requirements
- Once the Mapping Templates are stored in a
Repository, a search and retrieval mechanism must
be employed. - The XML Repository Search engine must provide
- A Web Search interface for humans to manually
locate data - An API for applications to rapidly access stored
data - A caching mechanism
13EbXML Repository Search Requirements
- A mechanism will be deployed to meet the Search
and Retrieval needs for an ebXML Repository. - It must spider the Repository and creates a
searchable index of the XML-syntax data. - A cache is created
- A machine API to the Cache is used
XQI API
Human Search Interface
XML index mechanism
XML Cache
API
Human Interface
SECURITY LAYER
Repository
Registry
Spiders the Repository
Syntax Validation
14How ebXML Trading Partners Interact
- A Trading Partner creates a Mapping Template The
Mapping Template Editor then sends a copy of the
Template to the Registry.
Trading Partner (ebXML Compliant)
ebXML Application
GUI Editing Tool
API
Human Interface
SECURITY LAYER
Registry
15How ebXML Trading Partners Interact
- The trading Partner can now send a business
transaction to another ebXML capable trading
partner. - The transaction sent to the second partner can be
classified in three distinct categories - Meta
Information, Technical Information and Business
Information.
Trading Partner 1 (ebXML Compliant)
Trading Partner 2 (ebXML Compliant)
Business Interchange
16ebXML Transactional Architecture
Trading Partner 1 (ebXML Compliant)
Trading Partner 2 (ebXML Compliant)
Business Interchange
- The Business transaction will be expressed in
syntax that conforms to XML (current version is
1.0). The Business Information will be neutral
but may need to use entity references to comply
with the XML syntax requirements.
17ebXML Architecture
- The first part of the message will be the
Processing instructions expressed in the document
type declaration - A multibyte character set will be used to help
facilitate diverse language characters
lt?xml version1.0 encodingUTF-8?gt
note This entire section will be elaborated on
by Messaging Group
18ebXML Architecture
- The message will use a root tag of ltebxmlgt to
identify it as an ebXML compliant transaction.
lt?xml version1.0 encodingUTF-8?gt ltebXMLgt
lt/ebxmlgt
note This entire section will be elaborated on
by Messaging Group
19ebXML Architecture
- The next component is the routing information (a
technical component). Each message must have
enough information in this section to uniquely
identify each party and be able to address each
party on the Internet.
lt?xml version1.0 encodingUTF-8?gt ltebXMLgt
ltrouting verion1.0gt ltfromgtTrading Partner
1lt/fromgt lttogtTrading Partner 2lt/togt
lt/routinggt lt/ebxmlgt
note This entire section will be elaborated on
by Messaging Group
20ebXML Architecture
- The next component is the Meta data component for
identifying the business process, the version of
that process, the owner of the process and where
another application can retrieve a mapping
template to apply to the business data component.
lt?xml version1.0 encodingUTF-8?gt ltebXMLgt
ltroutinggtlt/routinggt ltprocess
typePurchase_Order version1.17
ownerFOOBAR_EDI locationwww.foorepository.co
m/maps/gt lt/ebxmlgt
note This entire section will be elaborated on
by Messaging Group
21ebXML Message Architecture
The ltprocessgt element is a mechanism to provide
information that will allow a unique Mapping
Template to be retrieved and applied to the
business content of the message.
-
- ltprocess typePurchase_Order
- version1.17 ownerFOOBAR_EDI
- locationfoorepository.com/maps/gt
-
note This entire section will be elaborated on
by Messaging Group
22ebXML Message Meta Architecture
- The type attribute
- Is used to uniquely identify the process type in
conjunction with the owner and version
attributes. - Any combination of characters can be used as long
as they are legal in XML syntax. - Can be used with other attributes to locate a
specific Mapping Template in a Repository
note This entire section will be elaborated on
by Messaging Group
23ebXML Message Meta Architecture
- The version attribute
- Is used to identify a specific version of a
process unique to each process owner - Not to be confused with the version attribute
of the ltroutinggt element which is used to
maintain state within a transaction - Standard conventions of major.minor should be
applied (ie version1.17)
note This entire section will be elaborated on
by Messaging Group
24ebXML Message Meta Architecture
- The owner attribute
- Is used to identify a the organization who owns
the process being identified. - Any combination of characters can be used as long
as they are legal in XML syntax - A shared Registry/Repository will be used to
provide unique identification and assign Owner
names.
note This entire section will be elaborated on
by Messaging Group
25ebXML Message Meta Architecture
- The location attribute
- Is used to retrieve Mapping Templates or UML
modelling of the process. - Ideally will utilize http to point to this
information
note This entire section will be elaborated on
by Messaging Group
26ebXML Architecture
- When Trading Partner 2 receives the incoming
message, it gets handed to the ebXML application
by the server interface that receives it. - The ebXML application then checks its own cache
to see if the process Mapping Template is
available in the correct version.
TP 1
TP 2
EbXML Application
Local Cache
Human Search Interface
XQI API
XML Cache
Index
Repository
Registry
27ebXML Architecture
- If the process is available, the transaction can
be acted upon. - If it is not found, the ebXML Application must
then check the repository cache via the API - If a Template is found, the transaction can now
be acted upon.
TP 2
EbXML Application
Local Cache
Human Search Interface
XQI API
XML Cache
Index
Repository
Registry
28ebXML Architecture
- A third stage Manual search can be employed to
locate a similar Mapping Template. For example,
v 1.17 may not be available however, 1.17 is.
The Template Editor can now be used to manually
create the template by TP 2
TP 2
EbXML Application
Manual Search
Local Cache
Human Search Interface
XQI API
XML Cache
Index
Repository
Registry
29ebXML Architecture
- A Search logic is employed by the application to
determine Mapping Templates abstracts. If a MT
to map X12 to cbXML is available and an MT to map
cbXML to HL7 is available, this now allows a
Trading Partners to map from X12 to HL7 even
though no MT actually claims to do this.
X12 to HL7 does not exist
TP 1
TP 2
X12
HL7
cbXML to HL7
X12 to cbXML
cbXML
ABSTRACT TRANSLATION
30Adding all the Components Together
Manual Search
TP 1
TP 2
EbXML Application
INTERCHANGE
Local Cache
ebXML App.
Human Search Interface
XQI API
TEMPLATE EDITOR GUI
XML Cache
INDEX
API
Human Interface
Repository
SECURITY LAYER
Registry
Interface
Xml.org
Syntax Validation
eCo
Biztalk
31Some Final Thoughts..
- Build an open architecture, not a Standard
- Truly Inter-operable and Extensible
-
Thank you! Editor Duane Nickull