The OASIS Content Assembly Mechanism ebXML 2003, London, May 5 th .
description
Transcript of The OASIS Content Assembly Mechanism ebXML 2003, London, May 5 th .
http://cam.swiki.net
The OASIS Content Assembly Mechanism
ebXML 2003, London, May 5th.
David RR Webber
Chair OASIS CAM TC
http://drrw.net
OASIS – All rights reserved, Copyright ©, 2003
The CAM family in a nutshell
• CAM syntax - tool for business users to express the information exchange semantics and context of their business process steps as XML-based templates.
• library of CAM templates – provides discovery and re-use of common transaction details and sharing of domain context along with consistent referencing to shared nouns and verbs.
• CAM processing engine – component to provide consistent information exchanges that creates agile information networks with reduced costs of entry and support.
OASIS – All rights reserved, Copyright ©, 2003
Agenda
• Problem Understanding• What are we trying to solve and for whom?
• Using CAM• Approach
• Building templates
• Next Steps• Roadmap for 2003
OASIS – All rights reserved, Copyright ©, 2003
Business Requirements Lower costs and reduced errors.
Greater efficiency of processes.
Drive consistent business conduct.
Increase speed of deployment.
Improve management controls.
Reduce risk for businesses.
Provide broad adoption profile
Key: Enable use of XML metadata to build consistent information exchanges
Content Assembly Landscape
OASIS – All rights reserved, Copyright ©, 2003
OASIS drives the development,
convergence & adoption
of e-business standards -(XML plumbing)
Standards – OASIS mission
OASIS – All rights reserved, Copyright ©, 2003
Qu
ality
of S
erv
ice
s
Ma
na
ge
me
nt
S e
c u
r i t y
XML Syntax
Network
Transport
Vertical Industry Area
XML and Web Services /
ebXML Area
Generalized Processes
Specialized Processes
Generalized Content
Specialized Content
Messaging
Service Description Language
Presentation Description
Transaction Patterns
Transaction Instance
Repository
Registry / Directory
Process Description Language Content Definition Language
Co
nfo
rma
nc
e a
nd
Inte
rop
era
bility
Conceptual Model for OASIS
OASIS – All rights reserved, Copyright ©, 2003
Industry Trends
According to the Gartner Group, by 2003, at least 70 percent of all new applications will be built primarily from components
Components allow developers the ability to integrate multiple software modules when creating new applications, reducing in-house programming effort, leveraging sophisticated services, and increasing software quality which can significantly reduce the time, cost and effort of integrations projects. "
http://cam.swiki.net
What are we trying to solve and for whom?
Understanding the Problem
OASIS – All rights reserved, Copyright ©, 2003
• Define business ideas and needs• Capture steps and workflow
• Then describe the business processing• Top layer – rules and context• Middle layer – industry/application integration• Implementation layer – physical application systems and
content delivery / exchange
Building e-Business Orchestration
OASIS – All rights reserved, Copyright ©, 2003
CPACPA
Components Architectural Conceptual
Components Architectural Conceptual
UDDIUDDI
ebXMLebXML
Business LayersLogical
ImplementationPhysical
}Constraints,Context, & Structure
33
44Process
BPSS
• transaction schema• instance
• BODs, MIGs, PIPs• Documentation
2211
55
Designing for FlexibilityBusiness Layers
OASIS – All rights reserved, Copyright ©, 2003
• Reduce complexity of managing large numbers of
transaction formats - document the differences
• Want to speed adoption by formalizing business rules
• Want context-driven transaction generation
• Empowers business users to build interchange details
• Need to define in a neutral format: works with variety of
structures, not just XML.
• Augment current standards and industry specifications
• Provide multi-step process support
Business Layers - Objectives
OASIS – All rights reserved, Copyright ©, 2003
Business Challenges for XML
• Totally static transaction formats do not work – need configurable structures
• How to apply business context assertions to a information structure?
• How to derive a consistent way of specifying the interchange parameters to a partner?
• How to enable business domain users to implement the exchanges?
Key: Context is Everywhere
The ability to create re-usable information components is driven by the ability to enable context
OASIS – All rights reserved, Copyright ©, 2003
XML Schema?
• Why not just use XML Schema?• OAGI did this for BODs V8.0 – but required
supplementing schema with XSLT and XPath to capture business rules
• Show stopper - no ability to enable business context
OASIS – All rights reserved, Copyright ©, 2003
Lessons learned: Which XML Method(s)?
• We need business collaboration on elements syntax:
• Global complexType definition? • Global element definition?• or define both?
• Reuse
• Reference global element in external namespace?• Define local element as substitutionGroup of global element (bring
into local namespace)?• Define local element using external Namespace complexType
(bring into local namespace)?• Derive by extension, local element can have additional sub-
elements added to it?
OASIS – All rights reserved, Copyright ©, 2003
XML Schema - SWOT
Strengths Weaknesses
Widely implemented in major XML parsers
Defines structural layouts for XML content
Graphical editors available
Small footprint works well for embedded applications (web browser)
Basic set of data types work well
Tools can inspect schema and generate rendering for given XML content
Integration with XSLT
Schema instance self-contained
Supports familiar “bottom-up” implementation
Cannot define all possible structural combinations (e.g. scripts - SMIL)
Syntax about syntax (Legal Latin v legal English)
Limited editing tools (XMLSpy, Stylus, TIBCO)
Complex syntax, difficult to hand-code
Business context mechanism support
Only works for XML structures
Versioning of elements and attributes
Including structural components
External type library support
Metadata registry referencing
Validation to external code-lists
Compliance level and specification support
Opportunities Threats
Replace column mechanisms in DBMS tables
Support validation in data entry systems
Work well with programmer IDE environments
Initial momentum in marketplace stagnates as e-business requirements expose critical weaknesses
Reduced to role in embedded local systems
OASIS – All rights reserved, Copyright ©, 2003
• XML, by itself, does not solve interoperability problems yet it
is an important tool for doing so.
• XML does not provide instant semantics.
• XML by itself is not the magic bullet.
• What we need are clear policies and vision of how electronic
information enables interoperability
XML by itself is not enough
http://cam.swiki.net
Using CAM
The Approach
OASIS – All rights reserved, Copyright ©, 2003
Building the right pieces
• Need to intelligently use XML – get maximum benefit, while avoiding potential pitfalls.
• Exploit work that others have done pathfinder for: OAGIS V8 use of Schema techniques; and best-practices on XML use
• Provide syntax neutral methods wherever possible
OASIS – All rights reserved, Copyright ©, 2003
e-Business Architecture Stack
EventsRules
TransactionTransaction
SchemaSchema
ContractContractAgreement Pattern
WorkflowWorkflowModeling & Business Patterns
request
process
request
process
response
process
reject
accept propose
counter
Exchange Exchange
SpecificationSpecificationModel & Schemas
Nouns
VerbsTransport
RolesConceptConceptRegistry
Tem
plat
eT
empl
ate --
driv
en
driv
en
Business GoalsBusiness GoalsGoal Pattern
CAM templateCAM template
Context
OASIS – All rights reserved, Copyright ©, 2003
XMLbusiness information
XML Information Exchange Quality (and long-term consistency)
Schema
Delivery Assembly
Schema: Content structure definitionandsimple content typing
OASIS CAM: Business logic forcontent structure decisions andexplicit rules to enforce content,and interdependencies, with business exchange context, and content definition - UID references
Secure Authenticated Delivery and Tracking: Messaging system, envelope format and payload with exchange source profile controls
UID content referencing systemensures consistent definition usage
UID
Registry/Dictionary
OASIS – All rights reserved, Copyright ©, 2003
StructureChoices
StructureChoices
ContextValues
ContextValues
RequiredContent
Structure
RequiredContent
Structure
ProcessEngine
ProcessEngine Content
ReferencesContent
References
1
Payload / RenderingPayload / Rendering
2
CAM AssemblyStructure
CAM AssemblyStructure
Payload AssemblyPayload
Assembly
3
ApplicationDatabase
ApplicationDatabase
RegistryComponents
RegistryComponents Conceptual
Logical
Physical
Concept to Runtime Approach
Vocabulary nouns,and
Industry Dictionaries
Vocabulary nouns,and
Industry Dictionaries
Re-usable Business Information
components
Re-usable Business Information
components
OASIS – All rights reserved, Copyright ©, 2003
Example : Address Horizontal and Vertical Use Matrix
L ev el 0
L ev e l 1
L ev e l 2
L ev e l 3
L ev e l 4 & 5
O A G
S tr ee t , C ity ,S ta te , Z I P
S tr ee t , C ity ,S ta te , Z I P
Machine scannedand extracted
Data entry as s im plein country address
E D I
L E GA C Y
L o c atio n , S tr ee t ,C ity , S ta te , Z I P ,
C o u n tr y , BarC o d e , P O Bo x ,
. . . . . .
Extended address,Internationaland bulk m ail
Shipping / Delivery,and Organization
Ad d r es s w ithM ail r o o m ,
lo ad in g b ay ,f ac ility lo c a tio n ,G P S c o d e , . . . .
D eliv er y I d en tif ie r ,Ad d r es s L in es ,C o u n tr y ,Ad m in is tr a t iv eAr ea ,L o c ality ,T h o r o u g h f ar e , . . . .
Facilities m anagem ent,global address system ,m ulti-lingual
H R - X M L
E C C M A
O A G
E D I
F E D E X
U P S
E D IC I Q
A = Government (Domestic)B = VendorC = International OrganizationD = CustomerE = Consortiums
D
A
B, D, E
A
C & A
Top = Authoritative source
Bottom = User and Implementers
A, B
D
B, E A, B, C, E A, C, E
OASIS – All rights reserved, Copyright ©, 2003
Technology Positioning
• We can use W3C Schema to show basic typing and structural permutations for all XML transaction content, matching the levels of the business model.
• To provide automation of the business logic at-point-of-use requires OASIS CAM to supplement the Schema.
• This gives us short-term implementation today, with long-term extensibility and improvement of business value and information quality.
• Leverages today’s in-place XML technology, provides enhanced functionality for next generation.
http://cam.swiki.net
CAM Dissection
Required Components and Rendering in XML
OASIS – All rights reserved, Copyright ©, 2003
Making Assembly Work
• A,B,C,D,E!• Assembly Structure• Business Context Rules• Content Referencing• Data Validations• External Application Mapping
<CAM><AssemblyStructure/> <BusinessUseContext/> <ContentReference/> <DataValidations/> <ExternalMapping/></CAM>
OASIS – All rights reserved, Copyright ©, 2003
Technology Foundation
• Simple XML V1.0• XPath• Neutral approach to
structure content• Assertion predicates
excludeAttribute()excludeElement()excludeTree()makeOptional()makeMandatory()makeRepeatable()setRequired()setChoice()setId()setLength()setLimit()setMask()setValue()restrictValues()restrictValuesByUID()useAttribute()useChoice()useElement()useTree()useAttributeByID()useChoiceByID()useElementByID()useTreeByID()lookup()startBlock(), endBlock()
OASIS – All rights reserved, Copyright ©, 2003
Simple Example
• Simple Purchase Order
• Straight up XML structure
• Second example – structure choices
• Included sub-assemblies
OASIS – All rights reserved, Copyright ©, 2003
UBL Example – Ordering – OP70
• Two examples – USA: office supplies and UK: carpentry supplies.
• UBL - W3C Schema
• CAM - UK carpentry
• CAM - USA office supplies
• Combined CAM template with context
OASIS – All rights reserved, Copyright ©, 2003
OAGIS V8.0 BOD Example
Synch Party Example:
XPath validation extensions: Comparators equal()NOTequal()greaterthan ()lessthan ()greaterthanEQ ()lessthanEQ ()begins ()ends ()lookup ()member ()contains()+
BOD
OASIS – All rights reserved, Copyright ©, 2003
Business Context Mechanism
• Link between messaging layer, business process layer and assembly layer.
<ebContext UIDref='SDIR03400' interchangeID='123456789' BPMref='ABC123456:01' CPAref='ABC012345'xmlns:as="http://www.oasis-open.org/committees/cam"><header> <description>An example context instance</description> <version>1.0</version> <language refcode='eng' codelist='ISO639-2' name='English'/> <usage>CAM</usage> <usage>BPM</usage></header><conditions> <condition name="Country" value="USA" as:member="USA,CA,MX"/> <condition name="itemType" value="nonperishable" label="Item type:" as:member="nonperishable,perishable,refridgerated,fragile,heavy"/> <condition name="partnerType" value="wholesale" label="Partner type:" as:member="wholesale,retail,distributor,oem,service"/> <condition name="Catalogue" value="A2003-Q1" as:setLength="8" as:setMask="XNNNN-QN" as:UIDreference="SGIR:030451"/></conditions></ebContext>
OASIS – All rights reserved, Copyright ©, 2003
External Mapping
<ExternalMapping> <ContentAssociation> <Description>Product List</Description> <InputSource/> <OutputStore type=”SQL” location=”product_table”/> <RulesSet> <MapRule output="Products_List" input="@STARTGRP()"/> <MapRule output="type" input="Sales/Company/Year/Qtr/Product@type"/> <MapRule output="name" input="@trim(Sales/Company/Year/Qtr/Product/Item@name)"/> <MapRule output="manufacturer"input="Sales/Company/Year/Qtr/Product/Item@manufacturer"/> <MapRule output="value"input="Sales/Company/Year/Qtr/Product/Item@value"/> <MapRule output="sold"input="Sales/Company/Year/Qtr/Product/Item@sold"/> <MapRule output="Products_List" input="@ENDGRP()"/> </RulesSet> </ContentAssociation></ExternalMapping>
http://cam.swiki.net
Examples from the field
Martin Roberts, CAM team member, presents examples from BT UK experiences
OASIS – All rights reserved, Copyright ©, 2003
On-line Designer Form
• Available at the SWIKI• http://cam.swiki.net/.uploads/livedemo/Activate.htm
OASIS – All rights reserved, Copyright ©, 2003
Next Steps
• Work in progress: • Completion of Specification• Implementation of CAM processor• Library of CAM templates• Integration with OASIS Registry assembly
OASIS – All rights reserved, Copyright ©, 2003
Additional Information
• OASIS ebXML Registry Technical Committee• http://oasis-open.org/committees/regrep/
• OASIS CAM (assembly) Technical Committee• http://oasis-open.org/committees/cam/
• ebXML.org• http://www.ebxml.org/• http:ebxmlbook.com
OASIS – All rights reserved, Copyright ©, 2003
OASIS – Content Assembly Mechanism Technical Committee
(CAM TC)http://www.oasis-open.org/committees/cam
Thank YouThank You• www.oasis-open.org• xml.coverpages.org• www.xml.org • www.ebxml.org
http://cam.swiki.net
OASIS – Content Assembly Mechanism (CAM TC)
April 2003http://cam.swiki.net