open travel 2-0_introduction_jan_2014_slideshare

26
OpenTravel 2.0 Creating Messages from Objects January 2014 © 2014 OpenTravel.org

Upload: opentravel-alliance

Post on 08-Sep-2014

130 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Open travel 2-0_introduction_jan_2014_slideshare

NOTE:

To change the

image on this

slide, select

the picture and

delete it. Then

click the

Pictures icon in

the placeholder

to insert your

own image.

OpenTravel 2.0 Creating Messages from Objects

January 2014

© 2014 OpenTravel.org

Page 2: Open travel 2-0_introduction_jan_2014_slideshare

Tens of thousands of OpenTravel message structures carry tens of millions of messages

between trading partners every day

2

OpenTravel formed as a

member funded, not-for-

profit organization.

OpenTravel produces the

first open standards for

the travel industry.

OpenTravel architects

its new model driven

schema product.

OpenTravel provides the preferred open source XML standard for the travel and leisure industry.

1999 2001 2014

Page 3: Open travel 2-0_introduction_jan_2014_slideshare

OpenTravel 1.0 Message Suite

3

OpenTravel’s flagship schema product is a mature messaged-based specification that covers multiple travel segments.

Page 4: Open travel 2-0_introduction_jan_2014_slideshare

2.0 XML Object Suite addresses growing complexity in travel industry distribution

Model driven messaging

• Focus on exchanged information – not message structure

• Manage the model - not individual messages

• Models are easy to extend

• Smaller messages

4

Programming friendly

Improved productivity

Faster to market

Page 5: Open travel 2-0_introduction_jan_2014_slideshare

OTM-DE uses an Information Model to Simplify Development & Maintenance

5

In most cases manually developed schema do not map well to applications’ information models which means

• Additional coding is required to deal with the mismatch

The goal instead is to let tooling (Model Designer, Repository & Compiler) handle the serialization of the objects for sending across the network

OpenTravel Model – Development Environment (OTM-DE)

Page 6: Open travel 2-0_introduction_jan_2014_slideshare

Implementers create light-weight or functionally-rich transactions by “binding” to a collection

Model contains organized collections of summary, detail and query attributes and elements:

• Light-weight example: Flight notifications for mobile devices

• Functionally rich example: PNR management

6

Page 7: Open travel 2-0_introduction_jan_2014_slideshare

OTM-DE

The OpenTravel Development Environment • Features and tools that help you develop messages and other artifacts with the OpenTravel

Model (OTM)

OTM is an expression of the OpenTravel 2.0 XML Schema Best Practices

• Defined by the OpenTravel Architecture Workgroup (AWG)

The OTM-DE includes three parts:

• Model Designer tool

• Repository for OTM artifacts

• Build Automation Utilities (Message Compiler, XML Schema and WSDL service descriptions)

7

Page 8: Open travel 2-0_introduction_jan_2014_slideshare

2.0 Developers Assurances

• 2.0 Best Practices = simpler classes

• XML Identity = class identity Controlled Vocabulary = consistent classes

XML Namespaces = class packages

Final state = code that does not change

• Versioning = minimum effort for new releases

• Extensions = reuse standard code

• Facets = designs that meet differing needs

• Tooling = consistency

8

Page 9: Open travel 2-0_introduction_jan_2014_slideshare

Based on 10+ years of shared experience

Open Travel 2.0 Best Practices

• Optionality vs. Facets

• Code Lists vs. Enumerations

• Attribute Groups vs. Value with Attribute (VWA)

• Local Types vs. Global Types & Aliases

• Choice Groups vs. Custom Facets

• Chameleon Types vs. Namespace Bindings

9

Page 10: Open travel 2-0_introduction_jan_2014_slideshare

Optionality shift to Facets

• Most of OpenTravel 1.0 elements and attributes are optional

• Impossible to tell what is really required and when

10

• OpenTravel 2.0 facets allow for varying levels of detail for the same type

• Fields are optional only if there is a business reason

Page 11: Open travel 2-0_introduction_jan_2014_slideshare

Code Lists shift to Enumerations

• Code lists are maintained separately from the code

• Not part of the formal interface contract (when code values change)

11

• Codes are maintained as part of the schemas themselves

• Developers can use code-assist features of their development tools

Data in external detailed spreadsheet

Page 12: Open travel 2-0_introduction_jan_2014_slideshare

Attributes shift to VWA (value with attribute)

• Attribute groups are not visible in most generated binding code

• Impossible for developers to know which attributes are related

12

• Values-with-attributes define separate types for each group

• Separate binding classes generated for each group

Page 13: Open travel 2-0_introduction_jan_2014_slideshare

Local Types shift to Global Types & Aliases

• Local anonymous types are not reusable or compatible in generated binding code

13

• Aliases create global elements that are all bound to a single type

Page 14: Open travel 2-0_introduction_jan_2014_slideshare

Choice Groups shift to Substitution Groups

(custom facets)

• In binding code, choice groups look exactly the same as sequences

• Impossible to know what is included in the choice

14

• Custom facets use object-oriented features to allow choices based on the facet type

Page 15: Open travel 2-0_introduction_jan_2014_slideshare

Chameleon Types shift to Namespace Bindings

• Chameleon schemas bind types to each namespace that includes them

• Binding classes may be duplicated numerous times

15

• Namespace-assigned types are bound once

• The single copy of each type is re-used throughout the generated binding code

Page 16: Open travel 2-0_introduction_jan_2014_slideshare

2.0 Web Services are built from 2.0 XML object templates

• Services: Operations exposed to the service consumer

• Business Objects: Real world items you want the service to take an action against

• Core Objects: Real world items that are the same regardless of business context

• Value with Attributes: a value and associated collection of attributes

• Enumerations: A list of values which may be closed or open (extensible)

• Simple Objects: XML simple types which contain a single data value

16

Page 17: Open travel 2-0_introduction_jan_2014_slideshare

Hierarchy of XML Objects represent lowest layer

17

Web Service

Model

Service Operation

Business Object

Core Object

Business Object

Core Object

Value with Attribute

VWA

Enumeration

Simple Type

Core Object

Value with Attribute

VWA

Enumeration

Simple Type

Value with Attribute

VWA

Enumeration

Simple Type

Atomic Type

Enumeration

Simple Type

Atomic Type

Simple Type

Atomic Type

The OpenTravel Model Designer is used if you need to make extensions to the

OpenTravel Model (OTM) shown here.

Value with Attribute

VWA

Page 18: Open travel 2-0_introduction_jan_2014_slideshare

Simple Type

Simple Type is the most granular building block in an XML model ― a named definition of an object with descriptions, other documentation, example values equivalents and constraints

Simple Types can be further defined by adding constraints:

• Pattern (limit valid characters)

• Character Length (min / max )

• Fraction Digits (max allowed)

• Numeric Characters (total for decimal based type )

• Min /Max Inclusive/Exclusive (lower and upper bounds on the range of value)

18

Atomic Type

Simple Type

Page 19: Open travel 2-0_introduction_jan_2014_slideshare

Enumeration

Enumeration can be closed...

19

Enumeration

Simple Type

Atomic Type

• Non-implementer extensible

enumerated list • Static list values

or open… • Implementer extensible

enumerated list • List limited to <= 100 values

• Reserved “Other_” literal

• When compiled the open enumeration creates

an XSD simpleType for the enumerated list

and a complexType with simple content to add

the extension attribute

Page 20: Open travel 2-0_introduction_jan_2014_slideshare

VWA – value with attributes

• For example, the currency and currency code in the Amount VWA relate to the amount value. VWA can also have an Empty value in which case it is simply a group of attributes.

• When compiled, a VWA becomes a single XSD complexType with simpleContent. The value is the base type of the simpleContent to which all attributes are added.

20

Value With Attribute (VWA) is a collection of attributes that relate to the value and exist as a simple type, open enumeration or VWA.

Value w/ Attribute

Enumeration

Simple Type

Atomic Type

Page 21: Open travel 2-0_introduction_jan_2014_slideshare

Core Object

Core Object describes multiple representations of a real-world object that is the same regardless of business context—an Address is an Address—in searching for golf courses and booking an airline ticket.

A Core Object defines up to six different representations (facets) that can be used as types in other objects.

• Simple Type

• Summary

• Detail

• Roles

• Simple List

• Detail List

21

Core Object

Value w/ Attribute

Enumeration

Simple Type

Page 22: Open travel 2-0_introduction_jan_2014_slideshare

Business Object

A Business Object defines multiple representations for a single real-world item or concept.

A Business Object always includes three represen-tations or “facets”:

• ID

• Summary

• Detail

A Business Object can also define properties or sets of properties to query or find items or to be used in specific business contexts:

• Custom facet

• Query facet

22

Business Object

Core Object

Value w/ Attribute

Enumeration

Simple Type

Example of checked

bag intended for use

in air travel.

Page 23: Open travel 2-0_introduction_jan_2014_slideshare

Service Operation

An OTM Library can define a service complete with 1 or more operations and Request, Response and Notification messages.

• Service messages are compiled into the XSD schemas and the operations and service details are used to create the WSDL service description.

• A library can have only one service.

• User can delete notifications and responses as appropriate for their service interaction pattern.

23

Web Service

Model

Service Operation

Business Object

Core Object

Value w/ Attribute

Page 24: Open travel 2-0_introduction_jan_2014_slideshare

Developer Support

ODN or OpenTravel Developers Network is an umbrella website to offer members and public various levels of access to product releases, publication & project calendars, educational webinars and conference materials in addition to:

• Forums

• Member sponsored projects to develop new model-driven, object-based schema

• Travel industry glossary

• OpenTravel Model Designer, Compiler (Build Extensions) and Remote Repository

• Common object and segment specific libraries

• Specification commenting and member review

24

Page 25: Open travel 2-0_introduction_jan_2014_slideshare

OpenTravel 2.0 Horizon

OTM-DE OpenTravel

Libraries Public

Release Community

Development

25

Page 26: Open travel 2-0_introduction_jan_2014_slideshare

NOTE:

To change the

image on this

slide, select

the picture and

delete it. Then

click the

Pictures icon in

the placeholder

to insert your

own image.

OpenTravel 2.0 Creating Messages from Objects

For more information [email protected] www.opentravel.org

© 2014 OpenTravel.org