45
The OpenTravel Interoperability Framework 19 th Meeting of the IATA XML Working Group (XMLWG/19) Montreal 17-20 September 2012 The Model-Driven Standard Advantage Open “Model” Standards for the Travel Industry

OpenTravel Model-Driven Schema at IATA

Embed Size (px)

DESCRIPTION

Presented at the 19th Meeting of the IATA XML Working Group in Montreal, this presentation contains an overview of OpenTravel’s paradigm shift to “neutral” open standards for the travel industry via a model driven architecture (MDA) that provides common representational models of all data and business functionality contained in OpenTravel specifications. The four key framework tools that interoperate for continuous XML component model refinement are discussed in relationship to the OpenTravel Information Model.

Citation preview

Page 1: OpenTravel Model-Driven Schema at IATA

The OpenTravel Interoperability Framework

19th Meeting of the IATA XML Working Group (XMLWG/19)

Montreal 17-20 September 2012

The Model-Driven Standard

Advantage

Open “Model” Standards for the Travel Industry

Page 2: OpenTravel Model-Driven Schema at IATA

• About OpenTravel • Why Model Driven?

• MDA Overview & Building Blocks • Enterprise Versus OpenTravel Models • Open-Model “Open” Standards for the Travel Industry

• The OpenTravel Interoperability Framework • Introduction & Benefits • Framework Components “At a Glance” • Framework Components “Under the Hood”

• Information Model • Capability Model • Component Model

• Q & A

© 2012 OpenTravel Alliance | www.opentravel.org

Agenda

Page 3: OpenTravel Model-Driven Schema at IATA

© 2012 OpenTravel Alliance | www.opentravel.org

The OpenTravel Alliance provides a community where companies in the electronic distribution supply chain work

together to create an accepted structure for electronic messages, enabling suppliers and distributors to speak the same

interoperability language, trading partner to trading partner.

About

OpenTravel

Page 4: OpenTravel Model-Driven Schema at IATA

OpenTravel has been a member funded not-for-profit organization.

OpenTravel has been producing open standards for the travel industry.

© 2012 OpenTravel Alliance | www.opentravel.org

Since…

1999

Since…

2001

Page 5: OpenTravel Model-Driven Schema at IATA

OpenTravel has been re-architecting its open standard to support modern messaging environments…

© 2012 OpenTravel Alliance | www.opentravel.org

Since…

2011

…and implementing a model driven architecture to streamline internal standards development and support implementer enterprise software development.

Page 6: OpenTravel Model-Driven Schema at IATA

© 2012 OpenTravel Alliance | www.opentravel.org

Why

Model Driven? Model driven standards naturally support system evolution.

Page 7: OpenTravel Model-Driven Schema at IATA

© 2012 OpenTravel Alliance | www.opentravel.org

Model Driven Architecture (MDA) » Overview

MDA is a framework for software development

• Defined by the Object Management Group (OMG) • MDA places importance on models in the software development process • The software development process is driven by the activity of modeling

your software system

Key Benefits for Enterprise

Productivity

Portability

Interoperability

Key Benefits for OpenTravel

Productivity

Domain Modeling

Schema Quality

Model Driven Architecture

Page 8: OpenTravel Model-Driven Schema at IATA

© 2012 OpenTravel Alliance | www.opentravel.org

Model Driven Architecture (MDA) » Building Blocks

It’s mostly about the model…

…but transformations are important too!

Model

Description of a system. PIM (independent) PSM (specific)

Model Language

A model is written in a well-defined language.

UML OCL

(Object Constraint Language )

Meta Object Facility (MOF)

Source to target language. Transformation

Definition

PIM to Code PSM to Code

Specific source model.

Transformation

Tool

Model Driven Architecture

Page 9: OpenTravel Model-Driven Schema at IATA

© 2012 OpenTravel Alliance | www.opentravel.org

Model Driven Architecture (MDA) » Typical Enterprise Models

Typical Enterprise-Level Model Structure

Model Driven Architecture

Page 10: OpenTravel Model-Driven Schema at IATA

© 2012 OpenTravel Alliance | www.opentravel.org

Model Driven Architecture (MDA) » OpenTravel Models

OpenTravel Model Structure

Model Driven Architecture

Typical Enterprise Models

Page 11: OpenTravel Model-Driven Schema at IATA

© 2012 OpenTravel Alliance | www.opentravel.org

Model Driven Architecture (MDA) » Open Model Standards for the Travel Industry

Model Driven Architecture

The “Open Model Principle” OpenTravel’s core competency is an open standard common information exchange model

that supports travel industry business requirements and innovation.

• Paradigm shift to “neutral” industry standards for the travel industry

– Platform/ tooling neutral – Architectural style neutral

• Emphasis on common information exchange modeling

• Collection of UML models – Support business functionality

• Easy mapping to internal business processes – Support the pace of travel industry innovation

• Enhancements made at the model level • Model publishing not labor intensive

• Collection of UML models – Support business functionality – Industry adopted transformation included (XML) – Other open source transformations

• JAVA, JSON, .NET

Page 12: OpenTravel Model-Driven Schema at IATA

© 2012 OpenTravel Alliance | www.opentravel.org

OpenTravel

Interoperability Framework

A broad component model for the entire travel industry ecosystem.

Page 13: OpenTravel Model-Driven Schema at IATA

© 2012 OpenTravel Alliance | www.opentravel.org

OpenTravel Interoperability Framework

The OTIF Framework uses a model driven architecture (MDA)

to better serve OpenTravel members, schema implementers and the travel industry as a whole.

OpenTravel Interoperability Framework (OTIF) » Introduction

• Streamlines OpenTravel standards development

• Provides “open” common representational models of all data and business functionality contained in OpenTravel specifications

Page 14: OpenTravel Model-Driven Schema at IATA

© 2012 OpenTravel Alliance | www.opentravel.org

OpenTravel Interoperability Framework

OpenTravel Interoperability Framework (OTIF) » Key Benefits

Key benefits for OpenTravel, OpenTravel member companies and specification implementers include:

• Reduced schema enhancement time • Schema enhancements at the model level produce final

publication

• Reduced implementation time & cost • UML-based models integrate with enterprise level

development platforms • Canonical information model for context and

correlations allows IT, business and trading partners to speak the same language

• Increased schema quality • Interoperable framework components ensure optimum

reuse and reduce redundancy

• Improved schema governance • Best practices and policies integrated at the tooling

level

• Reference XML transformation

Page 15: OpenTravel Model-Driven Schema at IATA

© 2012 OpenTravel Alliance | www.opentravel.org

Framework Components

At a Glance Continuous XML component model refinement.

Page 16: OpenTravel Model-Driven Schema at IATA

© 2012 OpenTravel Alliance | www.opentravel.org

OpenTravel Interoperability Framework

Four key framework components interoperate for continuous XML component model refinement.

OTIF Key Framework Key Components

Page 17: OpenTravel Model-Driven Schema at IATA

<<InformationModel>>

A SQL Server-based canonical refactoring of OpenTravel’s Common Information Exchange Model (CIEM).

OpenTravel Lexis Canonical Model

1067

211

NORMALIZED TERMS

CONTEXTUAL FACETS

Key Components » Canonical Model

Page 18: OpenTravel Model-Driven Schema at IATA

© 2012 OpenTravel Alliance | www.opentravel.org

Travel industry UML capability models. Provides implementers with UML support at the business and technical level for XML Object Suite component & service composition models that map to business processes.

273

UML MODELS

Key Components » UML and Data Models

Page 19: OpenTravel Model-Driven Schema at IATA

© 2012 OpenTravel Alliance | www.opentravel.org

Automated XML publication packages. XML compiler that builds and enforces versioning for model XML transformation with type and service libraries.

Key Components » OpenTravel Library Builder

1

2

3 46

77

BUSINESS OBJECTS

CORE OBJECTS

Page 20: OpenTravel Model-Driven Schema at IATA

A compendium of (best practice-based) reference solutions that make working with OpenTravel schema products more productive.

© 2012 OpenTravel Alliance | www.opentravel.org

XML Cookbooks

Schema Dictionaries

Data Model

UML Models

Travel Glossary

Implementation Matrix

OpenTravel Forum

Key Components » Solution Builder

Reference solutions for implementers.

Page 21: OpenTravel Model-Driven Schema at IATA

© 2012 OpenTravel Alliance | www.opentravel.org

Framework Components

Under the Hood Tooling, models and products.

Page 22: OpenTravel Model-Driven Schema at IATA

© 2012 OpenTravel Alliance | www.opentravel.org

Interoperability Framework Specification Model

Three views of the Framework: Models, Tooling & Integration, Products

Page 23: OpenTravel Model-Driven Schema at IATA

© 2012 OpenTravel Alliance | www.opentravel.org

Under the Hood…

Information Model A common representational model of all data and data relationships contained in OpenTravel specifications.

Page 24: OpenTravel Model-Driven Schema at IATA

© 2012 OpenTravel Alliance | www.opentravel.org

Key Components » Information Model » Canonical Modeler

• Provides a common business vocabulary used in XML components, best practices and terms glossary

• Leverages other industry standards (IATA, ISO, etc.)

• Provides correlations for concepts that span multiple travel industry sectors

• Produces logical entity-relationship model for implementer database mapping

Used internally by OpenTravel Licensed from igniteXML

OpenTravel Interoperability Framework

Page 25: OpenTravel Model-Driven Schema at IATA

© 2012 OpenTravel Alliance | www.opentravel.org

OpenTravel Interoperability Framework

EXAMPLE: This example shows how the concept of a “price” in the canonical model relates to schema capabilities: • Air fare and tax

• Rental Car rate, charge and fee

• Hotel rate, charge and rate plan

Key Components » Information Model » Canonical Modeler

Page 26: OpenTravel Model-Driven Schema at IATA

© 2012 OpenTravel Alliance | www.opentravel.org

Under the Hood…

Capability Model UML catalog of OpenTravel schema functionality.

Page 27: OpenTravel Model-Driven Schema at IATA

© 2012 OpenTravel Alliance | www.opentravel.org

• State of the art UML Modeler

– Integrated with Canonical Modeler and OpenTravel Model Builder

– Capability stereotype imported from Canonical Model

– Component model exported to Model Builder

• Models included with publication in two formats

– XMI – UML

OpenTravel Interoperability Framework

Key Components » Capability Model » UML Modeler

Altova UModel used internally by OpenTravel Licensed from Altova

(http://www.altova.com/umodel.html)

Page 28: OpenTravel Model-Driven Schema at IATA

© 2012 OpenTravel Alliance | www.opentravel.org

• Supported UML element constructs

• Stereotype • Tagged Values • Model • Package • Class • Property • Enumeration

• Supported UML diagrams

• Class • Package • Profile • Sequence • Use Case

• Multiple views of capabilities

• Type Library • Catalog (concept-

based)

OpenTravel Interoperability Framework

Key Components » Capability Model » UML Modeler

Page 29: OpenTravel Model-Driven Schema at IATA

© 2012 OpenTravel Alliance | www.opentravel.org

Stereotype (ota2:) profiles applied at model, package, class and property level…

OpenTravel Interoperability Framework

Key Components » Capability Model » UML Modeler Custom Features

…enforce the OpenTravel common information exchange model during transformation.

Page 30: OpenTravel Model-Driven Schema at IATA

© 2012 OpenTravel Alliance | www.opentravel.org

Tagged values assigned at stereotype level for XML component and type library classification…

OpenTravel Interoperability Framework

Key Components » Capability Model » Custom Features

…enforce transformation to OpenTravel XML Object Suite OTM model.

Page 31: OpenTravel Model-Driven Schema at IATA

© 2012 OpenTravel Alliance | www.opentravel.org

OpenTravel-built Eclipse class library to transform between model XMI output and custom Model Builder OTM format.

OpenTravel Interoperability Framework

Key Components » Capability Model » Custom Features

Page 32: OpenTravel Model-Driven Schema at IATA

© 2012 OpenTravel Alliance | www.opentravel.org

Under the Hood…

XML Component Model Light-weight and extensible XML object and service model with a companion compiler.

Page 33: OpenTravel Model-Driven Schema at IATA

© 2012 OpenTravel Alliance | www.opentravel.org

A View from the Top

A hierarchy of xml objects comprise the XML Object Suite component library

OpenTravel XML Object Suite Component Library

Page 34: OpenTravel Model-Driven Schema at IATA

© 2012 OpenTravel Alliance | www.opentravel.org

Component Library: Simple/ Atomic Type

The most granular building block in the XML Object Suite.

ota2: Model Stereotype Icon

Page 35: OpenTravel Model-Driven Schema at IATA

© 2012 OpenTravel Alliance | www.opentravel.org

Component Library: Enumeration

An Enumeration complexType with a simpleType base list of enumerated literals.

ota2: Model Stereotype Icons

Page 36: OpenTravel Model-Driven Schema at IATA

© 2012 OpenTravel Alliance | www.opentravel.org

Component Library: Value With Attributes

Groups of attributes related to a single base value that may be a simpleType or complexType open

enumeration.

ota2: Model Stereotype Icon

Page 37: OpenTravel Model-Driven Schema at IATA

© 2012 OpenTravel Alliance | www.opentravel.org

Component Library: Core Object

A complexType that serves as a container for application data that defines common representations

of real world objects.

ota2: Model Stereotype Icon

Page 38: OpenTravel Model-Driven Schema at IATA

© 2012 OpenTravel Alliance | www.opentravel.org

Component Library: Business Object

A complexType that is a containers for application data (such as an itinerary or a traveler profile) that is

commonly query-able and exists as a standalone object.

ota2: Model Stereotype Icon

Page 39: OpenTravel Model-Driven Schema at IATA

© 2012 OpenTravel Alliance | www.opentravel.org

Component Library: Service

A collection of 2.0 components that support interoperable machine-to-machine interaction over a network specified in

Web Services Description Language (WSDL) format.

ota2: Model Stereotype Icon

Page 40: OpenTravel Model-Driven Schema at IATA

© 2012 OpenTravel Alliance | www.opentravel.org

OpenTravel Interoperability Framework

Compiler that transforms the OpenTravel model into XML Object Suite type libraries (XSD) and service libraries (WSDL)

Component Model » OpenTravel Library Builder

Compiler fundamentals

• Interchange format for service information models

• Defines 2.0 XML Object Suite types and schemas

• Compiles into XML schema (xsd) and WSDL

Library Builder used internally by OpenTravel Licensed from third-party Customized for OpenTravel

Page 41: OpenTravel Model-Driven Schema at IATA

© 2012 OpenTravel Alliance | www.opentravel.org

OpenTravel Interoperability Framework

Includes repository capability to collaborate, manage, and distribute OTM XML models.

Component Model » OpenTravel Library Builder

Repository Benefits

• Sharing models within or across organizations • Lifecycle and version control of published models • Configurable security and access controls for

managed namespaces within a repository • Browsing and free-text searches of repository content • May be integrated with WSO2 (open source)

Governance Repository

Page 42: OpenTravel Model-Driven Schema at IATA

© 2012 OpenTravel Alliance | www.opentravel.org

Tooling • Component development GUI

and an OTM model to XSD compiler (Eclipse Java)

OpenTravel Interoperability Framework

Component Model » Library Builder » Tooling Overview

OTA2 is OpenTravel’s new XML guidelines and messages OTM is the model transformation for creating OTA2 XML schemas

Page 43: OpenTravel Model-Driven Schema at IATA

© 2012 OpenTravel Alliance | www.opentravel.org

• Model metadata – Version – Status

– Namespace – Library name

– Imports and includes – Application context

OpenTravel Interoperability Framework

Component Model » Library Builder » OTM Model Basics

• Supported model component types

– Simple Types • Simple • Closed Enumeration

– Complex • Open Enumeration • Value With Attributes • Core Object • Business Object

– Service

Page 44: OpenTravel Model-Driven Schema at IATA

© 2012 OpenTravel Alliance | www.opentravel.org

OpenTravel Interoperability Framework

Model OTM File XSD Schema

<?xml version="1.0" encoding="UTF-8"?> <xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace=http://opentravel.org/OTA2/profile/v01 version="1.0.0" xmlns:ota=http://www.opentravel.org/ns/OTA2/common_v01_00 xmlns:otm=http://www.opentravel.org/ns/OTA2/AppInfo_v01_00 xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:annotation> <xsd:appinfo> <otm:Library> <otm:LibraryName>OTA2_Profile </otm:LibraryName> <otm:LibraryVersion>1.0.0 </otm:LibraryVersion> <otm:SourceFile>/Profile.otm </otm:SourceFile> <otm:CompilerVersion>2.2 </otm:CompilerVersion> <otm:CompileDate>2012-09-09T12:23:50.339-05:00</otm:CompileDate> </otm:Library> . . .

<?xml version="1.0" encoding="UTF-8"?> <Library xmlns=http://www.opentravel.org/ns/OTA2/LibraryModel_v01_01 xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xsi:schemaLocation="http://www.opentravel.org/ns/OTA2/LibraryModel_v01_01 OTA2_LibraryModel_v1.4.4.xsd"> <VersionScheme>OTA2</VersionScheme> <Status>Draft</Status> <Namespace>http://opentravel.org/profile/v01_01</Namespace> <Prefix>OTA2</Prefix> <Name>OTA2_Profile_v1.0.0</Name> <Import prefix="xsd" namespace="http://www.w3.org/2001/XMLSchema"/> <Context applicationContext="http://www.opentravel.org/OTM2" context="OTM2"/> . . .

Component Model » Library Builder » OTM Library Document

Page 45: OpenTravel Model-Driven Schema at IATA

UML models just got cool.

OpenTravel Interoperability Framework

Questions? Bonnie Lowell Specification Architect OpenTravel Alliance [email protected]