Upload
opentravel-alliance
View
1.834
Download
2
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
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
• 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
© 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
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
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.
© 2012 OpenTravel Alliance | www.opentravel.org
Why
Model Driven? Model driven standards naturally support system evolution.
© 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
© 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
© 2012 OpenTravel Alliance | www.opentravel.org
Model Driven Architecture (MDA) » Typical Enterprise Models
Typical Enterprise-Level Model Structure
Model Driven Architecture
© 2012 OpenTravel Alliance | www.opentravel.org
Model Driven Architecture (MDA) » OpenTravel Models
OpenTravel Model Structure
Model Driven Architecture
Typical Enterprise Models
© 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
© 2012 OpenTravel Alliance | www.opentravel.org
OpenTravel
Interoperability Framework
A broad component model for the entire travel industry ecosystem.
© 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
© 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
© 2012 OpenTravel Alliance | www.opentravel.org
Framework Components
At a Glance Continuous XML component model refinement.
© 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
<<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
© 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
© 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
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.
© 2012 OpenTravel Alliance | www.opentravel.org
Framework Components
Under the Hood Tooling, models and products.
© 2012 OpenTravel Alliance | www.opentravel.org
Interoperability Framework Specification Model
Three views of the Framework: Models, Tooling & Integration, Products
© 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.
© 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
© 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
© 2012 OpenTravel Alliance | www.opentravel.org
Under the Hood…
Capability Model UML catalog of OpenTravel schema functionality.
© 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)
© 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
© 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.
© 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.
© 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
© 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.
© 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
© 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
© 2012 OpenTravel Alliance | www.opentravel.org
Component Library: Enumeration
An Enumeration complexType with a simpleType base list of enumerated literals.
ota2: Model Stereotype Icons
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
UML models just got cool.
OpenTravel Interoperability Framework
Questions? Bonnie Lowell Specification Architect OpenTravel Alliance [email protected]