OpenTravel XML Object Suite - Component Model

13
© 2013 OpenTravel Alliance | www.opentravel.org 1 Introduction to the OpenTravel 2.0 XML Object Suite Component Model January 2013

description

The 2.0 Component Model contains a hierarchical structure of XML objects used to enable 2.0 APIs and web services which subsequently allows developers to optimize component reuse and build other 2.0 XML objects.

Transcript of OpenTravel XML Object Suite - Component Model

Page 1: OpenTravel XML Object Suite - Component Model

© 2013 OpenTravel Alliance | www.opentravel.org 1

Introduction to the OpenTravel 2.0

XML Object Suite Component Model

January 2013

Page 2: OpenTravel XML Object Suite - Component Model

2 © 2013 OpenTravel Alliance | www.opentravel.org

About OpenTravel

XML Standards for the Travel Industry

OpenTravel formed as a

member funded,

not-for-profit

organization.

1999

OpenTravel produces

the first open standards

for the travel industry.

2001

OpenTravel creates a

second open standard-

based schema product.

2011

OpenTravel provides the preferred open source XML standard for

the travel and leisure industry.

By using the OpenTravel specification, you’ll join a worldwide network of travel industry suppliers, resellers, global distributors and integrators dedicated to

meeting their customer and trading partner XML distribution demands.

Page 3: OpenTravel XML Object Suite - Component Model

3 © 2013 OpenTravel Alliance | www.opentravel.org

• OpenTravel maintains the

common information

exchange model (CIEM)

created by and for the

travel industry

• Represents travel industry

data at rest (implementer

stored) and in motion

(exchanged)

• The foundation of all

OpenTravel specifications

• Travel segment contextual

standard

schema

mapping

application

schema

mapping

service interface

schema

mapping

trading partner 1

standard

schema

mapping

application

schema

mapping

service interface

schema

mapping

trading partner 2

OpenTravel

Common

Information

Exchange Model

(CIEM)

About OpenTravel

Importance of Common Information Exchange Model

Page 4: OpenTravel XML Object Suite - Component Model

© 2013 OpenTravel Alliance | www.opentravel.org 4

2.0 XML Object Suite Component Model

Page 5: OpenTravel XML Object Suite - Component Model

5 © 2013 OpenTravel Alliance | www.opentravel.org

The 2.0 Component

Model contains a

hierarchical structure

of XML Objects used

to:

• Optimize component reuse

• Build other 2.0 XML objects

• 2.0 enable web services

• 2.0 enable APIs

OpenTravel 2.0 XML Object Suite Component Model

Hierarchical Component Model

Page 6: OpenTravel XML Object Suite - Component Model

6 © 2013 OpenTravel Alliance | www.opentravel.org

OpenTravel 2.0 XML Object Suite Component Model

Component Model Map

Web Service

Service Operation

Business Object

Core Object

Value w/ Attribute

Business Object

Core Object

Value w/ Attribute

Enumeration

Simple Type

Core Object

Value w/ Attribute

Enumeration

Simple Type

Value w/ Attribute

Enumeration

Simple Type

Atomic Type

Enumeration

Simple Type

Atomic Type

Simple Type

Atomic Type

Page 7: OpenTravel XML Object Suite - Component Model

7 © 2013 OpenTravel Alliance | www.opentravel.org

OpenTravel 2.0 XML Object Suite Component Model

Component Categories

Basic Components

• Not implementer extensible

• Enforce reuse throughout the open

distribution standard

• Protect integrity of (and

investment in) the open

distribution standard

• Used as “building blocks” for

other 2.0 components

Examples:

• 2.0 Simple Type

• 2.0 Value with Attributes

Extensible Components

• Implementer extensible

• Allow exchange of proprietary

information

• Prevents business disruption by

allowing exchange of data while

distribution standard is being

enhanced

Examples:

• 2.0 Enumeration

• 2.0 Core Object

• 2.0 Business Object

Page 8: OpenTravel XML Object Suite - Component Model

8 © 2013 OpenTravel Alliance | www.opentravel.org

OpenTravel 2.0 XML Object Suite Component Model

Extensible Components: Enumerations Implementer

Extensible

Closed Enumeration • Non-value extensible enumerated list

• Static list of values and system actionable

metadata

• Alternate language extensible

Open Enumeration • Fully extensible enumerated list

Page 9: OpenTravel XML Object Suite - Component Model

9 © 2013 OpenTravel Alliance | www.opentravel.org

OpenTravel 2.0 XML Object Suite Component Model

Extensible Components: Business Objects Implementer

Extensible

Business Object • Large-grained business objects

that are used to enable travel

distribution by sharing data

across heterogeneous business

applications both internal and

external

• Uniquely identifiable and define all

information known for the given object

• Typically associated with enterprise

business processes, such as:

• Shopping and availability

• Loyalty program management

• Reservation create, modify, cancel

and retrieve

Examples • Loyalty Account

• Profile

• Offer

• Reservation

• Itinerary

• Seat Map

• Vacation Rental Property

• Company

• Activity

Page 10: OpenTravel XML Object Suite - Component Model

10 © 2013 OpenTravel Alliance | www.opentravel.org

OpenTravel 2.0 XML Object Suite Component Model

Extensible Components: Core Objects Implementer

Extensible

Core Object

• Logical groupings of parts of

an object

• Used as “building blocks” in: • Other core objects

• Business objects

• For example, an Address core

object is a component of: • A Company business object

• A Directions core object

Examples • Directions

• Copyright

• Geocoding

• Seat

• Guest Room

• Vacation Rental Unit

• Origin & Destination

• Payment Card

• Email Address

• Passport

Page 11: OpenTravel XML Object Suite - Component Model

11 © 2013 OpenTravel Alliance | www.opentravel.org

OpenTravel 2.0 XML Object Suite Component Model

Extensible Components: Facets

2.0 Facet

• Organized collections of data in

2.0 Components

• Provide XML object extensibility

at the facet category level

• Provide XML binding substitution

mechanism

• Hierarchal inclusion structure

Facet Categories

includes

includes includes

Identifier A subset of the XML object data that uniquely identifies a

Business Object

Summary A subset of descriptive XML data intended for use in thin-

client services

Detail A larger subset of descriptive XML data intended for use in

functionally richer services

Query A subset of data that applies to a query process

Custom Proprietary implementer defined facet (business objects)

Page 12: OpenTravel XML Object Suite - Component Model

12 © 2013 OpenTravel Alliance | www.opentravel.org

OpenTravel 2.0 XML Object Suite Component Model

Extensible Components: Facet Substitution

Substitution Groups • Used with core and business

object facets

• Allows XML binding to one

substitution group facet

Business Object Substitution Group Example: Airport

I only need to

exchange an IATA

airport code

I need to exchange

links for airport

contact & directions in

search results

I need to include airport

terminal lounge

information and airport

ground transportation

information in a

reservation confirmation

ID

Summary

Detail

Page 13: OpenTravel XML Object Suite - Component Model

© 2013 OpenTravel Alliance | www.opentravel.org 13

Travel distribution just got cool.

OpenTravel 2.0 XML Object Suite

Questions?

Valyn Perini, CEO

[email protected]

Bonnie Lowell, Specification Architect

[email protected]

MA Neff, Program Manager

[email protected]

www.OpenTravel.org