designing business documents with ublevents.oasis-open.org/home/sites/events.oasis-open.org... ·...

Post on 06-Aug-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Slide 1© Document Engineering Services 2008

COMPOSING MEANINGFUL DOCUMENTS WITH UBL

Tim McGrathOpen Standards 2008: Composability within SOA Symposium

Date: 28 April – 1 MayLocation: Santa Clara Marriott

Slide 2© Document Engineering Services 2008

COMPOSING MEANINGFUL DOCUMENTS WITH UBL

- an approach to design and customization of UBL to satisfy specific requirements UBL is establishing itself as the language of choice for a variety of electronic commerce applications. It is

particularly well suited for use in business web services and service oriented architectures. The use of UBL for such environments ensures that services remain meaningful and worthy in a variety of different compositions. Inevitably, these applications may require some refinement of the standard structures.

This presentation explains some of the design principles behind UBL and how both the standard components and the principles behind them can be adapted to suit the requirements of different business processes. We will explore a case study involving the Danish Government's OIOUBL and Service Oriented Infrastructure project.

Composing different services into a meaningful business process requires interoperability of the information contained in the documents exchanged. This tutorial will discuss the opportunities for utilizing the OASIS Universal Business Language (UBL) as the glue to bind these services together at a business data level.

This tutorial explains the design principles behind UBL and how it can be adapted to suit the requirements of different business processes. These composite applications will require some customization of the standard structures and the creation of new document types.

The objective is to enable participants to understand the issues involved in customizing UBL and how to develop specific implementations that suit the requirements of their context of use. The target audience is system analysts and developers responsible for the implementation of document interfaces.

Slide 3© Document Engineering Services 2008

Outline

• Background to Document Design• UBL Design• UBL Specification• Case Study Scenario• Designing Customizations• Specifying Customizations• Validating Customizations• Summary and Feedback

Slide 4© Document Engineering Services 2008

IntroductionsWho are we and why are we here?

Slide 5© Document Engineering Services 2008

Background to Document Design

Slide 6© Document Engineering Services 2008

What are Documents?

• For nearly three thousand years information has been organized in purposeful and self-contained packages.– We call them documents.

• Using documents for exchanging business information is an old idea.– The technology for encoding and exchanging documents has

profoundly changedbut – The concept of a document has remained surprisingly stable.

Slide 7© Document Engineering Services 2008

Using documents for exchanging business information is natural and intuitive.

Slide 8© Document Engineering Services 2008

<cac:TaxTotal> <cbc:TaxAmount currencyID=“SHEKEL">60.00</cbc:TaxAmount> <cac:TaxSubtotal> <cbc:TaxableAmount currencyID=“SHEKEL">100.00</cbc:TaxableAmount> <cbc:TaxAmount currencyID=“SHEKEL">14.00</cbc:TaxAmount> <cac:TaxCategory> <cac:TaxScheme> <cbc:ID>ASSYRIAN GOVERNOR TAX</cbc:ID> </cac:TaxScheme> </cac:TaxCategory> </cac:TaxSubtotal></cac:TaxTotal>

Design Principles

XML Document

Slide 9© Document Engineering Services 2008

How Documents Work

• Documents are self-contained collections of information.– Interfaces for people.– Interfaces to business processes.

• To be meaningful documents must be defined using a common language.– Not for information content but – For describing the meaning (semantics) of the information

content.

• The Universal Business Language is a semantic document description language.

Slide 10© Document Engineering Services 2008

Document Exchange

• A document exchange consists of both processes and the documents (information) they produce and consume.

• By understanding the processes– we learn what kinds of information is needed.

• By understanding the document – we learn what kinds of processes are possible.

Slide 11© Document Engineering Services 2008

Interoperability

• A basic requirement for two businesses to conduct business is that their business systems interoperate.

• Easy to express but hard to achieve.• Variations in strategies, technology platforms, legacy

applications, business processes, and terminology.• Interoperability doesn’t require that two systems be

identical.– Just they have common understanding of the meanings of

things (semantics)

Slide 12© Document Engineering Services 2008

UBL Design

Slide 13© Document Engineering Services 2008

UBL Design ebXML Core Components

Slide 14© Document Engineering Services 2008

ebXML CCTS

• ebXML Core Components Technical Specification:– ISO 15000-5.– UN/CEFACT

• How to describe core components of business documents in a syntax independent manner.

• UBL is the first set of integrated XML document specifications based on CCTS.– UN/CEFACT recognizes UBL as appropriate first-generation

XML documents for eBusiness.

Slide 15© Document Engineering Services 2008

CCTS Principles

is definedin context

as

is definedin context

as

Core ComponentType (CCT)

Aggregate CoreComponent (BCC)

Basic CoreComponent (BCC)

Aggregate BusinessInformation Entity

(ABIE)

Basic BusinessInformation Entity

(BBIE)is of type

Core Business

Message/Document

These are implied

concepts

UBL publishes these

Slide 16© Document Engineering Services 2008

Business Information Entities

• Reusable building blocks for the exchange of information (“Core Components”) in a specific Business Context.

• Aggregate BIE– A collection of related pieces of business information that together convey

a distinct business meaning.

• Association BIE– Is associated to an Aggregate Business Information Entity,

which describes its structure. • Basic BIE

– A singular business characteristic of a specific aggregation.

Slide 17© Document Engineering Services 2008

Basic Business Information Entities

• A singular business characteristic in a specific business context.

• Individual pieces of information.

I

cd BIEs

«ABIE»An Address

# «BBIE» Street Name: Name [0..1]# «BBIE» City Name: Name [0..1]

Slide 18© Document Engineering Services 2008

AggregateBusiness Information Entities

• A collection of related pieces of business information. • A container of BBIEs and ASBIEs to other ABIEs.

A

cd BIEs

«ABIE»An Address

# «BBIE» Street Name: Name [0..1]# «BBIE» City Name: Name [0..1]

Slide 19© Document Engineering Services 2008

AssociationBusiness Information Entities

• Represents an ABIE in a specific business context.• An ABIE contained within another ABIE.

A

cd BIEs

«ABIE»An Address

# «BBIE» Street Name: Name [0..1]# «BBIE» City Name: Name [0..1]

«ABIE»A Country

# «BBIE» Identification Code: Code [0..1]# «BBIE» Name: Name [0..1]

0..1

Slide 20© Document Engineering Services 2008

UBL Design Naming Information Entities

Slide 21© Document Engineering Services 2008

Names

• Meaningful Information Entity names. – promote a common understanding. – encourage reuse.

• May need different names in different modeling artifacts.– XML Tag may not be the modeling or the presentation name.

Slide 22© Document Engineering Services 2008

Choosing the Right Names

● Selecting meaningful terminology for names is a craft not a science.

• Think about spoken languages.• No two designers will choose the same terms.

• Levels of discipline:• Dictionaries.• Controlled vocabularies.• Formal ontologies.

• We need more information than just names.• We also need to understand the context of use.

Slide 23© Document Engineering Services 2008

Rules for Consistent Naming

• Names should be grammatically consistent.– Singular not plurals

• Names should not be ambiguous.– Is “Supplier’s ID” the same as “ID of Supplier”?

• Check names are not semantically misleading. – “Product Number” may not be a number, so “Product

Identifier” is better. • Qualify names to clarify the context of use.

– “Customer Party” is more meaningful than “Customer”.

Slide 24© Document Engineering Services 2008

ebXML Naming Rules

• ebXML Core Components naming rules are an application of ISO 11179.

• All Information Entities get a Dictionary Entry Name (DEN).

• Dictionary Entry Names are globally unique.• They are the ‘key’ or unique identifier for any

Information Entity.

Slide 25© Document Engineering Services 2008

Dictionary Entry Names

{qualifier} Object Class Term, “. ”, {qualifier} Property Term, “. ”, {qualifier} Representation Term

• Object Class Term– The object class to which it belongs.

• Property Term– Reflecting its function as a property or distinguishing characteristic

of the object class.• Representation Term

– How it is represented.

Slide 26© Document Engineering Services 2008

Examples of CCTS Names

– The name for ‘The currency in which the tax is collected and reported, expressed as a code’:

Tax Scheme. Currency Code. Code

Object Class Property Representation

ABIE BBIE Data Type

Slide 27© Document Engineering Services 2008

Qualified CCTS Names

– The name for ‘An indicator as to whether these totals are recognized as legal evidence for taxation purposes’:

Tax Total. Tax Evidence_ Indicator. Indicator

Object Class Property RepresentationQualifier

ABIE Data TypeBBIE

Slide 28© Document Engineering Services 2008

CCTS Truncation Rule

– The name for ‘Identifies the tax scheme’:

Tax Scheme. Identifier. Identifier

– Can be truncated to remove duplicate terms:

Tax Scheme. Identifier

Slide 29© Document Engineering Services 2008

UBL DesignRepresentation Terms

Slide 30© Document Engineering Services 2008

Amount

The version of the UN/ECE rec. 9 code list.Amount. Currency. Code List Version Identifier

The currency of the amount.Amount. Currency. Identifier

A number of monetary units specified in a currency where the unit of currency is explicit or implied.

Content

<cbc:TaxAmount currencyID="DKK">1262.50</cbc:TaxAmount>

Slide 31© Document Engineering Services 2008

Binary Object(Graphic, Picture, Sound, Video)

The filename of the binary object.Binary Object. Filename. Text

The Uniform Resource Identifier that identifies where the binary object is located.

Binary Object. Uniform Resource. Identifier

The character set of the binary object if the mime type is text.

Binary Object. Character Set. Code

Specifies the decoding algorithm of the binary object.

Binary Object. Encoding. Code

The mime type of the binary object.Binary Object. Mime. Code

The format of the binary content.Binary Object. Format. Text

A set of finite-length sequences of binary octets.Binary Object. Content

<cbc:EmbeddedDocumentBinaryObject mimeCode="application/pdf" encodingCode="Base64" characterSetCode="UTF-8">brIG0Ng53KHKaoOQNQYcpyFHKa9UhkgzjkPBTaFJDIBUasfdgartujjuoprrwer34578deewcwetyuuutyur643432THyB4KY5SYM5BZcpMkshU0UzJoLHSDEWFdreefssd///</cbc:EmbeddedDocumentBinaryObject>

Slide 32© Document Engineering Services 2008

Code

The name of the agency that maintains the code list.

Code List. Agency Name. Text

An agency that maintains one or more code lists.

Code List. Agency. Identifier

The identification of a list of codes.Code List. Identifier

A character string (letters, figures or symbols) that for brevity and/or language independence may be used to represent or replace a definitive value or text of an attribute.

Code. Content

<cbc:ItemClassificationCode listID="UNSPSC" listVersionID="7.0401">43191501</cbc:ItemClassificationCode>

Slide 33© Document Engineering Services 2008

<cbc:ItemClassificationCode listID="UNSPSC" listVersionID="7.0401">43191501</cbc:ItemClassificationCode>

Code (contd.)

The Uniform Resource identifier that identifies where the code list scheme is located.

Code List Scheme. Uniform Resource. Identifier

The Uniform Resource Identifier that identifies where the code list is located.

Code List. Uniform Resource. Identifier

The identifier of the language used in the corresponding text string.

Language. Identifier

The textual equivalent of the code content.Code. Name. Text

The version of the code list.Code List. Version. Identifier

The name of a list of codes.Code List. Name. Text

Slide 34© Document Engineering Services 2008

Date Time(Date, Time)

The format of the date/time content.Date Time. Format. Text

The particular point in the progression of time.

Date Time. Content

<cbc:StartDate>2007-01-25</cbc:StartDate>

Slide 35© Document Engineering Services 2008

Identifier

The name of the identification scheme.Identification Scheme. Name. Text

The identification of the identification scheme.Identification Scheme. Identifier

A character string used to identify and distinguish uniquely, one instance of an object in an identification scheme from all other objects within the same scheme.

Identifier. Content

<cbc:ID schemeID=”GTIN">5712345780121</cbc:ID>

Slide 36© Document Engineering Services 2008

Identifier (contd.)

The Uniform Resource Identifier that identifies where the identification scheme is located.

Identification Scheme. Uniform Resource. Identifier

The Uniform Resource Identifier that identifies where the identification scheme data is located.

Identification Scheme Data. Uniform Resource. Identifier

The version of the identification scheme.Identification Scheme. Version. Identifier

The name of the agency that maintains the identification scheme.

Identification Scheme. Agency Name. Text

The identification of the agency that maintains the identification scheme.

Identification Scheme Agency. Identifier

Slide 37© Document Engineering Services 2008

Indicator

Whether the indicator is numeric, textual or binary.

Indicator. Format. Text

The value of the indicator.Indicator. Content

<cbc:ChargeIndicator>false</cbc:ChargeIndicator>

Slide 38© Document Engineering Services 2008

Measure

The version of the measure unit code list.

Measure Unit. Code List Version. Identifier

The type of unit of measure.Measure Unit. Code

The numeric value determined by measuring an object.

Measure. Content

<cbc:GrossWeightMeasure unitCode="KGS">21408.79</cbc:GrossWeightMeasure>

Slide 39© Document Engineering Services 2008

Numeric. Content Numeric information that is assigned or is determined by calculation, counting or sequencing.

Numeric(Value, Rate, Percent)

Whether the number is an integer, decimal, real number or percentage.

Numeric. Format. Text

<cbc:PackSizeNumeric>1</cbc:PackSizeNumeric>>

Slide 40© Document Engineering Services 2008

Quantity

The name of the agency which maintains the quantity unit code list.

Quantity Unit. Code List Agency Name. Text

The identification of the agency that maintains the quantity unit code list.

Quantity Unit. Code List Agency. Identifier

The quantity unit code list.Quantity Unit. Code List. Identifier

The unit of the quantity.Quantity. Unit. Code

A counted number of non-monetary units possibly including fractions.

Quantity. Content

<cbc:PackQuantity unitCode="EA">1</cbc:PackQuantity>

Slide 41© Document Engineering Services 2008

Text(Name)

The identification of the locale of the language.

Language. Locale. Identifier

The identifier of the language used in the corresponding text string.

Language. Identifier

A character string (I.e. a finite set of characters) generally in the form of words of a language.

Text. Content

<cbc:Description>Nokia Mobile telephone –Type ABC</cbc:Description>

Note: The Representation term “Text” is not part of the tag name (UBL naming rule)

Slide 42© Document Engineering Services 2008

UBL Design Codes and Identifiers

Slide 43© Document Engineering Services 2008

Sets of Codes

• A special set of possible values. • The code value refers to something else.• May be symbolic representations:

– Initialisms (“EU”), – Acronyms (“SARS”), – Apocopations (“Reefer”) or – Arbitrary abbreviations (“XML”).

• But maybe not...– Both ISO code “CNY” and “156” identify the Chinese Yuan

Renminbi.

Slide 44© Document Engineering Services 2008

Codes and Values

Types of packaging codes

Units of Measurement codes

Refers to

Refers to

Slide 45© Document Engineering Services 2008

Identifiers

• Have meaning in their own right.– Don’t have to reference anything.

• May be a constrained set of values:– Set of Driver’s License numbers issued.

• May be symbolic representations (like codes).• Or (effectively) not…

• The values for identifying a phone number.

• We use codes as identifiers:– Digits in phone numbers are codes for regions.

• But not identifiers as codes:– What does your Driver’s License number refer to?

Slide 46© Document Engineering Services 2008

What are these?

ABCU123456789000ABCU123456789001

ABCUIJKL123456XYZ

NHKL7654321HPGL8877665

OCLU1234567And these?Shipping Container Numbers

Waybill Numbers

Slide 47© Document Engineering Services 2008

UBL Specification

Slide 48© Document Engineering Services 2008

Specifying Documents

• We need a range of metadata to support the explanation of meanings.– Names are not enough.

• We define these in models.

Slide 49© Document Engineering Services 2008

UBL SpecificationModels and Modeling

Slide 50© Document Engineering Services 2008

• A generalized, conceptual model. – “webs” or networks.– Domain Model, Enterprise Data Model.

• Not a model of one document…but,

• A model of Information Entities usable in all documents.– and databases, etc.

• Complexity depends on the number of the business rules.

Component Models

Slide 51© Document Engineering Services 2008

A Component Model

A

cd Major Entities

«ABIE»Common Library::Item

«ABIE»Shipment

«ABIE»Goods Item

«ABIE»Consignment

«ABIE»Transport Equipment

«ABIE»Transport Means

«ABIE»Common Library::Package

«ABIE»Shipment Stage

«ABIE»Transport Handling Unit

«ABIE»Procurement Library::Line Item

P

T RADE VIEW

T

T RANSPORT VIEW

«ABIE»Goods Item Container

0..* 0 ..*

0 ..*

transport view toequipm ent

0..*

0..*

transport view to package

0..*

0..*

0..1

0..*

trade view to package0..*0..1

trade view to i tem

1..*

0..*

0..*

0..*

transport view to i tem

0..1

0..*

1

1

0..*

0..*

0..*

0..*

0..*

1

0..*

Slide 52© Document Engineering Services 2008

UBL’s Common Components

Slide 53© Document Engineering Services 2008

UBL Specification Assembling Components

into Documents

Slide 54© Document Engineering Services 2008

Documents are Hierarchical

• Inverse tree structure.

• Can be represented in a 2D space.– That’s why markup languages need just <start> and

</end> tags.

• Nesting imposes meaning. – When “Contact” contains “Name” we know that the

name is that of the contact. – Parent (genealogy) gives contact of use.

Slide 55© Document Engineering Services 2008

Hierarchy not Network

NOT

Slide 56© Document Engineering Services 2008

cd Customer Party

«ABIE»Customer Party

# «BBIE» Customer Assigned Account ID: Identifier [0..1]# «BBIE» Supplier Assigned Account ID: Identifier [0..1]# «BBIE» Additional Account ID: Identifier [0..*]

«ABIE»Common Library::Party

# «BBIE» Mark Care Indicator: Indicator [0..1]# «BBIE» Mark Attention Indicator: Indicator [0..1]- «BBIE» Website URI: Identifier [0..1]- «BBIE» Logo Reference ID: Identifier [0..1]- «BBIE» End Point ID: Identifier [0..1]

«ABIE»Common Library::Contact

# «BBIE» ID: Identifier [0..1]# «BBIE» Name: Name [0..1]# «BBIE» Telephone: Text [0..1]# «BBIE» Telefax: Text [0..1]# «BBIE» Electronic Mail: Text [0..1]# «BBIE» Note: Text [0..1]

0..1+Buyer

0..1+Accounting

0..1

+Del ivery0..1

A Document Assembly Model

Slide 57© Document Engineering Services 2008

Another Document Assembly Model

Slide 58© Document Engineering Services 2008

Creating a Document Assembly

• Each type of document usually requires its own document assembly model.

• We create a document assembly model by:1. Choosing an “entry point” into the Document Component

Model.• The entry point is a structure that will form the root of the

document tree.

2. Following a pathway through the component model– guided by business rules for the document required.

Slide 59© Document Engineering Services 2008

• If an association is mandatory:– must follow the path– the associated ABIE must be in the document.

• If an association is optional:– may follow the path– the associated ABIE can be in the document if required by

business rules.

• Cardinality of associations controls the depth of the document hierarchy.

Assembling Associations

Slide 60© Document Engineering Services 2008

UBL Specification Assembly Patterns

Slide 61© Document Engineering Services 2008

Patterns for Document Assembly

• Document assembly models express business rules based on the context of use.

• Many assemblies share common structures. – There are patterns of assemblies. – a Book, a Contract, an Order.

• Good designers employ these patterns…

– Because processes will find their documents familiar.

Slide 62© Document Engineering Services 2008

The “Book” Assembly Pattern

T

cd Book Assembly Pattern

Text Book

Foreword Preface Introduction Chapter Appendix Bibliography Index

Section Exercise

0..1 0..1 1 1..* 0..1 0..1 0..1

0..* 0..*

Slide 63© Document Engineering Services 2008

Reusing Assembly Patterns

• Assembly patterns encourages the use of common libraries of components. – Reusing patterns from elsewhere in the model– Adopting patterns from outside

• The challenge is customizing these patterns to suit specific requirements.

Slide 1

04/04/08

© Document Engineering Services 2008

COMPOSING MEANINGFUL DOCUMENTS WITH UBL

Tim McGrathOpen Standards 2008: Composability within SOA Symposium

Date: 28 April – 1 MayLocation: Santa Clara Marriott

Slide 2

04/04/08

© Document Engineering Services 2008

COMPOSING MEANINGFUL DOCUMENTS WITH UBL

- an approach to design and customization of UBL to satisfy specific requirements UBL is establishing itself as the language of choice for a variety of electronic commerce applications. It is

particularly well suited for use in business web services and service oriented architectures. The use of UBL for such environments ensures that services remain meaningful and worthy in a variety of different compositions. Inevitably, these applications may require some refinement of the standard structures.

This presentation explains some of the design principles behind UBL and how both the standard components and the principles behind them can be adapted to suit the requirements of different business processes. We will explore a case study involving the Danish Government's OIOUBL and Service Oriented Infrastructure project.

Composing different services into a meaningful business process requires interoperability of the information contained in the documents exchanged. This tutorial will discuss the opportunities for utilizing the OASIS Universal Business Language (UBL) as the glue to bind these services together at a business data level.

This tutorial explains the design principles behind UBL and how it can be adapted to suit the requirements of different business processes. These composite applications will require some customization of the standard structures and the creation of new document types.

The objective is to enable participants to understand the issues involved in customizing UBL and how to develop specific implementations that suit the requirements of their context of use. The target audience is system analysts and developers responsible for the implementation of document interfaces.

Slide 3

04/04/08

© Document Engineering Services 2008

Outline

• Background to Document Design• UBL Design• UBL Specification• Case Study Scenario• Designing Customizations• Specifying Customizations• Validating Customizations• Summary and Feedback

Slide 4

04/04/08

© Document Engineering Services 2008

IntroductionsWho are we and why are we here?

Slide 5

04/04/08

© Document Engineering Services 2008

Background to Document Design

Slide 6

04/04/08

© Document Engineering Services 2008

What are Documents?

• For nearly three thousand years information has been organized in purposeful and self-contained packages.– We call them documents.

• Using documents for exchanging business information is an old idea.– The technology for encoding and exchanging documents has

profoundly changedbut – The concept of a document has remained surprisingly stable.

Slide 7

04/04/08

© Document Engineering Services 2008

Using documents for exchanging business information is natural and intuitive.

8@ Port Community Systems 2007

Designing Business Documents with UBL

8@ Port Community Systems 2007

Designing Business Documents with UBL

Slide 9

04/04/08

© Document Engineering Services 2008

How Documents Work

• Documents are self-contained collections of information.– Interfaces for people.– Interfaces to business processes.

• To be meaningful documents must be defined using a common language.– Not for information content but – For describing the meaning (semantics) of the information

content.

• The Universal Business Language is a semantic document description language.

Slide 10

04/04/08

© Document Engineering Services 2008

Document Exchange

• A document exchange consists of both processes and the documents (information) they produce and consume.

• By understanding the processes– we learn what kinds of information is needed.

• By understanding the document – we learn what kinds of processes are possible.

Slide 11

04/04/08

© Document Engineering Services 2008

Interoperability

• A basic requirement for two businesses to conduct business is that their business systems interoperate.

• Easy to express but hard to achieve.• Variations in strategies, technology platforms, legacy

applications, business processes, and terminology.• Interoperability doesn’t require that two systems be

identical.– Just they have common understanding of the meanings of

things (semantics)

Slide 12

04/04/08

© Document Engineering Services 2008

UBL Design

Slide 13

04/04/08

© Document Engineering Services 2008

UBL Design ebXML Core Components

Slide 14

04/04/08

© Document Engineering Services 2008

ebXML CCTS

• ebXML Core Components Technical Specification:– ISO 15000-5.– UN/CEFACT

• How to describe core components of business documents in a syntax independent manner.

• UBL is the first set of integrated XML document specifications based on CCTS.– UN/CEFACT recognizes UBL as appropriate first-generation

XML documents for eBusiness.

Slide 15

04/04/08

© Document Engineering Services 2008

CCTS Principles

is definedin context

as

is definedin context

as

Core ComponentType (CCT)

Aggregate CoreComponent (BCC)

Basic CoreComponent (BCC)

Aggregate BusinessInformation Entity

(ABIE)

Basic BusinessInformation Entity

(BBIE)is of type

Core Business

Message/Document

These are implied

concepts

UBL publishes these

Slide 16

04/04/08

© Document Engineering Services 2008

Business Information Entities

• Reusable building blocks for the exchange of information (“Core Components”) in a specific Business Context.

• Aggregate BIE– A collection of related pieces of business information that together convey

a distinct business meaning.

• Association BIE– Is associated to an Aggregate Business Information Entity,

which describes its structure. • Basic BIE

– A singular business characteristic of a specific aggregation.

Slide 17

04/04/08

© Document Engineering Services 2008

Basic Business Information Entities

• A singular business characteristic in a specific business context.

• Individual pieces of information.

Design Principles

D

cd BIEs

«ABIE»An Address

# «BBIE» Street Name: Name [0..1]# «BBIE» City Name: Name [0..1]

Slide 18

04/04/08

© Document Engineering Services 2008

AggregateBusiness Information Entities

• A collection of related pieces of business information. • A container of BBIEs and ASBIEs to other ABIEs.

Design Principles

D

cd BIEs

«ABIE»An Address

# «BBIE» Street Name: Name [0..1]# «BBIE» City Name: Name [0..1]

Slide 19

04/04/08

© Document Engineering Services 2008

AssociationBusiness Information Entities

• Represents an ABIE in a specific business context.• An ABIE contained within another ABIE.

Design Principles

D

cd BIEs

«ABIE»An Address

# «BBIE» Street Name: Name [0..1]# «BBIE» City Name: Name [0..1]

«ABIE»A Country

# «BBIE» Identification Code: Code [0..1]# «BBIE» Name: Name [0..1]

0..1

Slide 20

04/04/08

© Document Engineering Services 2008

UBL Design Naming Information Entities

Slide 21

04/04/08

© Document Engineering Services 2008

Names

• Meaningful Information Entity names. – promote a common understanding. – encourage reuse.

• May need different names in different modeling artifacts.– XML Tag may not be the modeling or the presentation name.

22@ Port Community Systems 2007

Designing Business Documents with UBL

Slide 23

04/04/08

© Document Engineering Services 2008

Rules for Consistent Naming

• Names should be grammatically consistent.– Singular not plurals

• Names should not be ambiguous.– Is “Supplier’s ID” the same as “ID of Supplier”?

• Check names are not semantically misleading. – “Product Number” may not be a number, so “Product

Identifier” is better. • Qualify names to clarify the context of use.

– “Customer Party” is more meaningful than “Customer”.

Slide 24

04/04/08

© Document Engineering Services 2008

ebXML Naming Rules

• ebXML Core Components naming rules are an application of ISO 11179.

• All Information Entities get a Dictionary Entry Name (DEN).

• Dictionary Entry Names are globally unique.• They are the ‘key’ or unique identifier for any

Information Entity.

Slide 25

04/04/08

© Document Engineering Services 2008

Dictionary Entry Names

{qualifier} Object Class Term, “. ”, {qualifier} Property Term, “. ”, {qualifier} Representation Term

• Object Class Term– The object class to which it belongs.

• Property Term– Reflecting its function as a property or distinguishing characteristic

of the object class.• Representation Term

– How it is represented.

26@ Port Community Systems 2007

Designing Business Documents with UBL

27@ Port Community Systems 2007

Designing Business Documents with UBL

28@ Port Community Systems 2007

Designing Business Documents with UBL

Slide 29

04/04/08

© Document Engineering Services 2008

UBL DesignRepresentation Terms

Slide 30

© Document Engineering Services 2008

Amount

The version of the UN/ECE rec. 9 code list.Amount. Currency. Code List Version Identifier

The currency of the amount.Amount. Currency. Identifier

A number of monetary units specified in a currency where the unit of currency is explicit or implied.

Content

<cbc:TaxAmount currencyID="DKK">1262.50</cbc:TaxAmount>

Slide 31

© Document Engineering Services 2008

Binary Object(Graphic, Picture, Sound, Video)

The filename of the binary object.Binary Object. Filename. Text

The Uniform Resource Identifier that identifies where the binary object is located.

Binary Object. Uniform Resource. Identifier

The character set of the binary object if the mime type is text.

Binary Object. Character Set. Code

Specifies the decoding algorithm of the binary object.

Binary Object. Encoding. Code

The mime type of the binary object.Binary Object. Mime. Code

The format of the binary content.Binary Object. Format. Text

A set of finite-length sequences of binary octets.Binary Object. Content

<cbc:EmbeddedDocumentBinaryObject mimeCode="application/pdf" encodingCode="Base64" characterSetCode="UTF-8">brIG0Ng53KHKaoOQNQYcpyFHKa9UhkgzjkPBTaFJDIBUasfdgartujjuoprrwer34578deewcwetyuuutyur643432THyB4KY5SYM5BZcpMkshU0UzJoLHSDEWFdreefssd///</cbc:EmbeddedDocumentBinaryObject>

Slide 32

© Document Engineering Services 2008

Code

The name of the agency that maintains the code list.

Code List. Agency Name. Text

An agency that maintains one or more code lists.

Code List. Agency. Identifier

The identification of a list of codes.Code List. Identifier

A character string (letters, figures or symbols) that for brevity and/or language independence may be used to represent or replace a definitive value or text of an attribute.

Code. Content

<cbc:ItemClassificationCode listID="UNSPSC" listVersionID="7.0401">43191501</cbc:ItemClassificationCode>

Slide 33

© Document Engineering Services 2008

<cbc:ItemClassificationCode listID="UNSPSC" listVersionID="7.0401">43191501</cbc:ItemClassificationCode>

Code (contd.)

The Uniform Resource identifier that identifies where the code list scheme is located.

Code List Scheme. Uniform Resource. Identifier

The Uniform Resource Identifier that identifies where the code list is located.

Code List. Uniform Resource. Identifier

The identifier of the language used in the corresponding text string.

Language. Identifier

The textual equivalent of the code content.Code. Name. Text

The version of the code list.Code List. Version. Identifier

The name of a list of codes.Code List. Name. Text

Slide 34

© Document Engineering Services 2008

Date Time(Date, Time)

The format of the date/time content.Date Time. Format. Text

The particular point in the progression of time.

Date Time. Content

<cbc:StartDate>2007-01-25</cbc:StartDate>

Slide 35

© Document Engineering Services 2008

Identifier

The name of the identification scheme.Identification Scheme. Name. Text

The identification of the identification scheme.Identification Scheme. Identifier

A character string used to identify and distinguish uniquely, one instance of an object in an identification scheme from all other objects within the same scheme.

Identifier. Content

<cbc:ID schemeID=”GTIN">5712345780121</cbc:ID>

Slide 36

© Document Engineering Services 2008

Identifier (contd.)

The Uniform Resource Identifier that identifies where the identification scheme is located.

Identification Scheme. Uniform Resource. Identifier

The Uniform Resource Identifier that identifies where the identification scheme data is located.

Identification Scheme Data. Uniform Resource. Identifier

The version of the identification scheme.Identification Scheme. Version. Identifier

The name of the agency that maintains the identification scheme.

Identification Scheme. Agency Name. Text

The identification of the agency that maintains the identification scheme.

Identification Scheme Agency. Identifier

Slide 37

© Document Engineering Services 2008

Indicator

Whether the indicator is numeric, textual or binary.

Indicator. Format. Text

The value of the indicator.Indicator. Content

<cbc:ChargeIndicator>false</cbc:ChargeIndicator>

Slide 38

© Document Engineering Services 2008

Measure

The version of the measure unit code list.

Measure Unit. Code List Version. Identifier

The type of unit of measure.Measure Unit. Code

The numeric value determined by measuring an object.

Measure. Content

<cbc:GrossWeightMeasure unitCode="KGS">21408.79</cbc:GrossWeightMeasure>

Slide 39

© Document Engineering Services 2008

Numeric. Content Numeric information that is assigned or is determined by calculation, counting or sequencing.

Numeric(Value, Rate, Percent)

Whether the number is an integer, decimal, real number or percentage.

Numeric. Format. Text

<cbc:PackSizeNumeric>1</cbc:PackSizeNumeric>>

Slide 40

© Document Engineering Services 2008

Quantity

The name of the agency which maintains the quantity unit code list.

Quantity Unit. Code List Agency Name. Text

The identification of the agency that maintains the quantity unit code list.

Quantity Unit. Code List Agency. Identifier

The quantity unit code list.Quantity Unit. Code List. Identifier

The unit of the quantity.Quantity. Unit. Code

A counted number of non-monetary units possibly including fractions.

Quantity. Content

<cbc:PackQuantity unitCode="EA">1</cbc:PackQuantity>

Slide 41

© Document Engineering Services 2008

Text(Name)

The identification of the locale of the language.

Language. Locale. Identifier

The identifier of the language used in the corresponding text string.

Language. Identifier

A character string (I.e. a finite set of characters) generally in the form of words of a language.

Text. Content

<cbc:Description>Nokia Mobile telephone –Type ABC</cbc:Description>

Note: The Representation term “Text” is not part of the tag name (UBL naming rule)

Slide 42

04/04/08

© Document Engineering Services 2008

UBL Design Codes and Identifiers

Slide 43

04/04/08

© Document Engineering Services 2008

Sets of Codes

• A special set of possible values. • The code value refers to something else.• May be symbolic representations:

– Initialisms (“EU”), – Acronyms (“SARS”), – Apocopations (“Reefer”) or – Arbitrary abbreviations (“XML”).

• But maybe not...– Both ISO code “CNY” and “156” identify the Chinese Yuan

Renminbi.

Slide 44

04/04/08

© Document Engineering Services 2008

Codes and Values

Types of packaging codes

Units of Measurement codes

Refers to

Refers to

Slide 45

04/04/08

© Document Engineering Services 2008

Identifiers

• Have meaning in their own right.– Don’t have to reference anything.

• May be a constrained set of values:– Set of Driver’s License numbers issued.

• May be symbolic representations (like codes).• Or (effectively) not…

• The values for identifying a phone number.

• We use codes as identifiers:– Digits in phone numbers are codes for regions.

• But not identifiers as codes:– What does your Driver’s License number refer to?

Slide 46

04/04/08

© Document Engineering Services 2008

What are these?

ABCU123456789000ABCU123456789001

ABCUIJKL123456XYZ

NHKL7654321HPGL8877665

OCLU1234567And these?Shipping Container Numbers

Waybill Numbers

Slide 47

04/04/08

© Document Engineering Services 2008

UBL Specification

Slide 48

04/04/08

© Document Engineering Services 2008

Specifying Documents

• We need a range of metadata to support the explanation of meanings.– Names are not enough.

• We define these in models.

Slide 49

04/04/08

© Document Engineering Services 2008

UBL SpecificationModels and Modeling

Slide 50

04/04/08

© Document Engineering Services 2008

• A generalized, conceptual model. – “webs” or networks.– Domain Model, Enterprise Data Model.

• Not a model of one document…but,

• A model of Information Entities usable in all documents.– and databases, etc.

• Complexity depends on the number of the business rules.

Component Models

Slide 51

04/04/08

© Document Engineering Services 2008

A Component ModelA

cd Major Entities

«ABIE»Common Library::Item

«ABIE»Shipment

«ABIE»Goods Item

«ABIE»Consignment

«ABIE»Transport Equipment

«ABIE»Transport Means

«ABIE»Common Library::Package

«ABIE»Shipment Stage

«ABIE»Transport Handling Unit

«ABIE»Procurement Library::Line ItemP

T RA DE V IEWT

T RA NSP ORT V IEW

«ABIE»Goods Item Container

0 ..* 0 ..*

0 ..*

transpo rt vi ew toequ i pm en t

0 ..*

0 ..*

transpo rt vi ew to p ackage

0 ..*

0 ..*

0 ..1

0 ..*

trade view to packag e0 ..*0 ..1

trade view to i tem

1..*

0 ..*

0 ..*

0 ..*transp ort vi ew to i tem

0..1

0 ..*

1

1

0 ..*

0 ..*

0 ..*

0 ..*

0 ..*

1

0 ..*

Slide 52

04/04/08

© Document Engineering Services 2008

UBL’s Common Components

Slide 53

04/04/08

© Document Engineering Services 2008

UBL Specification Assembling Components

into Documents

Slide 54

04/04/08

© Document Engineering Services 2008

Documents are Hierarchical

• Inverse tree structure.

• Can be represented in a 2D space.– That’s why markup languages need just <start> and

</end> tags.

• Nesting imposes meaning. – When “Contact” contains “Name” we know that the

name is that of the contact. – Parent (genealogy) gives contact of use.

Slide 55

04/04/08

© Document Engineering Services 2008

Hierarchy not Network

NOT

Slide 56

04/04/08

© Document Engineering Services 2008

cd Customer Party

«ABIE»Customer Party

# «BBIE» Customer Assigned Account ID: Identifier [0..1]# «BBIE» Supplier Assigned Account ID: Identifier [0..1]# «BBIE» Additional Account ID: Identifier [0..*]

«ABIE»Common Library::Party

# «BBIE» Mark Care Indicator: Indicator [0..1]# «BBIE» Mark Attention Indicator: Indicator [0..1]- «BBIE» Website URI: Identifier [0..1]- «BBIE» Logo Reference ID: Identifier [0..1]- «BBIE» End Point ID: Identifier [0..1]

«ABIE»Common Library::Contact

# «BBIE» ID: Identifier [0..1]# «BBIE» Name: Name [0..1]# «BBIE» Telephone: Text [0..1]# «BBIE» Telefax: Text [0..1]# «BBIE» Electronic Mail: Text [0..1]# «BBIE» Note: Text [0..1]

0..1+Buyer

0..1+Accounting

0..1

+Del ivery0..1

A Document Assembly Model

Slide 57

04/04/08

© Document Engineering Services 2008

Another Document Assembly Model

Slide 58

04/04/08

© Document Engineering Services 2008

Creating a Document Assembly

• Each type of document usually requires its own document assembly model.

• We create a document assembly model by:1. Choosing an “entry point” into the Document Component

Model.• The entry point is a structure that will form the root of the

document tree.

2. Following a pathway through the component model– guided by business rules for the document required.

Slide 59

04/04/08

© Document Engineering Services 2008

• If an association is mandatory:– must follow the path– the associated ABIE must be in the document.

• If an association is optional:– may follow the path

– the associated ABIE can be in the document if required by business rules.

• Cardinality of associations controls the depth of the document hierarchy.

Assembling Associations

Slide 60

04/04/08

© Document Engineering Services 2008

UBL Specification Assembly Patterns

Slide 61

04/04/08

© Document Engineering Services 2008

Patterns for Document Assembly

• Document assembly models express business rules based on the context of use.

• Many assemblies share common structures. – There are patterns of assemblies. – a Book, a Contract, an Order.

• Good designers employ these patterns…

– Because processes will find their documents familiar.

Slide 62

04/04/08

© Document Engineering Services 2008

The “Book” Assembly PatternT

cd Book Assembly Pattern

Text Book

Foreword Preface Introduction Chapter Appendix Bibliography Index

Section Exercise

0..1 0..1 1 1..* 0..1 0..1 0..1

0..* 0..*

Slide 63

04/04/08

© Document Engineering Services 2008

Reusing Assembly Patterns

• Assembly patterns encourages the use of common libraries of components. – Reusing patterns from elsewhere in the model

– Adopting patterns from outside

• The challenge is customizing these patterns to suit specific requirements.

top related