SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
OpenTravel 2.0
Creating Messages from Objects
January 2014
© 2014 OpenTravel.org
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
OpenTravel 1.0 Message Suite
3
OpenTravel’s flagship schema product is a mature messaged-based
specification that covers multiple travel segments.
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
OpenTravel 2.0 Horizon
OTM-DE
OpenTravel
Libraries
Public
Release
Community
Development
25
OpenTravel 2.0
Creating Messages from Objects
For more information
info@opentravel.org
www.opentravel.org
© 2014 OpenTravel.org

Más contenido relacionado

La actualidad más candente

Fluentd v1.0 in a nutshell
Fluentd v1.0 in a nutshellFluentd v1.0 in a nutshell
Fluentd v1.0 in a nutshellN Masahiro
 
mongodb와 mysql의 CRUD 연산의 성능 비교
mongodb와 mysql의 CRUD 연산의 성능 비교mongodb와 mysql의 CRUD 연산의 성능 비교
mongodb와 mysql의 CRUD 연산의 성능 비교Woo Yeong Choi
 
Introduction to WSO2 ESB
Introduction to WSO2 ESB Introduction to WSO2 ESB
Introduction to WSO2 ESB WSO2
 
fluent-plugin-beats at Elasticsearch meetup #14
fluent-plugin-beats at Elasticsearch meetup #14fluent-plugin-beats at Elasticsearch meetup #14
fluent-plugin-beats at Elasticsearch meetup #14N Masahiro
 
Hackolade Tutorial - part 1 - What is a data model
Hackolade Tutorial - part 1 - What is a data modelHackolade Tutorial - part 1 - What is a data model
Hackolade Tutorial - part 1 - What is a data modelPascalDesmarets1
 
Polyglot Persistence vs Multi-Model Databases
Polyglot Persistence vs Multi-Model DatabasesPolyglot Persistence vs Multi-Model Databases
Polyglot Persistence vs Multi-Model DatabasesLuca Garulli
 
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdfSpring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdfVMware Tanzu
 
Talend Open Studio Introduction - OSSCamp 2014
Talend Open Studio Introduction - OSSCamp 2014Talend Open Studio Introduction - OSSCamp 2014
Talend Open Studio Introduction - OSSCamp 2014OSSCube
 
Azure Storage Services - Part 01
Azure Storage Services - Part 01Azure Storage Services - Part 01
Azure Storage Services - Part 01Neeraj Kumar
 
Getting started with DSpace 7 REST API
Getting started with DSpace 7 REST APIGetting started with DSpace 7 REST API
Getting started with DSpace 7 REST API4Science
 
Migration From Oracle to PostgreSQL
Migration From Oracle to PostgreSQLMigration From Oracle to PostgreSQL
Migration From Oracle to PostgreSQLPGConf APAC
 
Elastic search Walkthrough
Elastic search WalkthroughElastic search Walkthrough
Elastic search WalkthroughSuhel Meman
 
OSGi, Scripting and REST, Building Webapps With Apache Sling
OSGi, Scripting and REST, Building Webapps With Apache SlingOSGi, Scripting and REST, Building Webapps With Apache Sling
OSGi, Scripting and REST, Building Webapps With Apache SlingCarsten Ziegeler
 
The Patterns of Distributed Logging and Containers
The Patterns of Distributed Logging and ContainersThe Patterns of Distributed Logging and Containers
The Patterns of Distributed Logging and ContainersSATOSHI TAGOMORI
 
Oxford Common File Layout (OCFL)
Oxford Common File Layout (OCFL)Oxford Common File Layout (OCFL)
Oxford Common File Layout (OCFL)Simeon Warner
 
HDFS User Reference
HDFS User ReferenceHDFS User Reference
HDFS User ReferenceBiju Nair
 
NServiceBus introduction
NServiceBus introductionNServiceBus introduction
NServiceBus introductionBoris Tveritnev
 
Pros and Cons of Erasure Coding & Replication vs. RAID in Next-Gen Storage
Pros and Cons of Erasure Coding & Replication vs. RAID in Next-Gen StoragePros and Cons of Erasure Coding & Replication vs. RAID in Next-Gen Storage
Pros and Cons of Erasure Coding & Replication vs. RAID in Next-Gen StorageEric Carter
 

La actualidad más candente (20)

Fluentd v1.0 in a nutshell
Fluentd v1.0 in a nutshellFluentd v1.0 in a nutshell
Fluentd v1.0 in a nutshell
 
mongodb와 mysql의 CRUD 연산의 성능 비교
mongodb와 mysql의 CRUD 연산의 성능 비교mongodb와 mysql의 CRUD 연산의 성능 비교
mongodb와 mysql의 CRUD 연산의 성능 비교
 
Introduction to WSO2 ESB
Introduction to WSO2 ESB Introduction to WSO2 ESB
Introduction to WSO2 ESB
 
fluent-plugin-beats at Elasticsearch meetup #14
fluent-plugin-beats at Elasticsearch meetup #14fluent-plugin-beats at Elasticsearch meetup #14
fluent-plugin-beats at Elasticsearch meetup #14
 
Hackolade Tutorial - part 1 - What is a data model
Hackolade Tutorial - part 1 - What is a data modelHackolade Tutorial - part 1 - What is a data model
Hackolade Tutorial - part 1 - What is a data model
 
Polyglot Persistence vs Multi-Model Databases
Polyglot Persistence vs Multi-Model DatabasesPolyglot Persistence vs Multi-Model Databases
Polyglot Persistence vs Multi-Model Databases
 
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdfSpring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
 
Talend Open Studio Introduction - OSSCamp 2014
Talend Open Studio Introduction - OSSCamp 2014Talend Open Studio Introduction - OSSCamp 2014
Talend Open Studio Introduction - OSSCamp 2014
 
PostgreSQL - Case Study
PostgreSQL - Case StudyPostgreSQL - Case Study
PostgreSQL - Case Study
 
Azure Storage Services - Part 01
Azure Storage Services - Part 01Azure Storage Services - Part 01
Azure Storage Services - Part 01
 
Getting started with DSpace 7 REST API
Getting started with DSpace 7 REST APIGetting started with DSpace 7 REST API
Getting started with DSpace 7 REST API
 
Migration From Oracle to PostgreSQL
Migration From Oracle to PostgreSQLMigration From Oracle to PostgreSQL
Migration From Oracle to PostgreSQL
 
Elastic search Walkthrough
Elastic search WalkthroughElastic search Walkthrough
Elastic search Walkthrough
 
OSGi, Scripting and REST, Building Webapps With Apache Sling
OSGi, Scripting and REST, Building Webapps With Apache SlingOSGi, Scripting and REST, Building Webapps With Apache Sling
OSGi, Scripting and REST, Building Webapps With Apache Sling
 
The Patterns of Distributed Logging and Containers
The Patterns of Distributed Logging and ContainersThe Patterns of Distributed Logging and Containers
The Patterns of Distributed Logging and Containers
 
Oxford Common File Layout (OCFL)
Oxford Common File Layout (OCFL)Oxford Common File Layout (OCFL)
Oxford Common File Layout (OCFL)
 
Adf presentation
Adf presentationAdf presentation
Adf presentation
 
HDFS User Reference
HDFS User ReferenceHDFS User Reference
HDFS User Reference
 
NServiceBus introduction
NServiceBus introductionNServiceBus introduction
NServiceBus introduction
 
Pros and Cons of Erasure Coding & Replication vs. RAID in Next-Gen Storage
Pros and Cons of Erasure Coding & Replication vs. RAID in Next-Gen StoragePros and Cons of Erasure Coding & Replication vs. RAID in Next-Gen Storage
Pros and Cons of Erasure Coding & Replication vs. RAID in Next-Gen Storage
 

Destacado

OpenTravel Model-Driven Schema at IATA
OpenTravel Model-Driven Schema at IATAOpenTravel Model-Driven Schema at IATA
OpenTravel Model-Driven Schema at IATAOpenTravel Alliance
 
OpenTravel Schema Product Comparison
OpenTravel Schema Product ComparisonOpenTravel Schema Product Comparison
OpenTravel Schema Product ComparisonOpenTravel Alliance
 
OpenTravel Standards from TravelTraction Berlin
OpenTravel Standards from TravelTraction BerlinOpenTravel Standards from TravelTraction Berlin
OpenTravel Standards from TravelTraction BerlinOpenTravel Alliance
 
OpenTravel 2.0 XML Object Suite Introduction
OpenTravel 2.0 XML Object Suite IntroductionOpenTravel 2.0 XML Object Suite Introduction
OpenTravel 2.0 XML Object Suite IntroductionOpenTravel Alliance
 
OpenTravel XML Object Suite - Component Model
OpenTravel XML Object Suite - Component ModelOpenTravel XML Object Suite - Component Model
OpenTravel XML Object Suite - Component ModelOpenTravel Alliance
 
OpenTravel 2012 Advisory Forum Chairman Welcome
OpenTravel 2012 Advisory Forum Chairman WelcomeOpenTravel 2012 Advisory Forum Chairman Welcome
OpenTravel 2012 Advisory Forum Chairman WelcomeOpenTravel Alliance
 
OpenTravel Advisory Forum 2012 REST XML Resources
OpenTravel Advisory Forum 2012 REST XML ResourcesOpenTravel Advisory Forum 2012 REST XML Resources
OpenTravel Advisory Forum 2012 REST XML ResourcesOpenTravel Alliance
 
XFT Introduction at Travel Traction Berlin 2013
XFT Introduction at Travel Traction Berlin 2013XFT Introduction at Travel Traction Berlin 2013
XFT Introduction at Travel Traction Berlin 2013OpenTravel Alliance
 
OpenTravel Advisory Forum 2012 XML Object Suite Lab
OpenTravel Advisory Forum 2012 XML Object Suite LabOpenTravel Advisory Forum 2012 XML Object Suite Lab
OpenTravel Advisory Forum 2012 XML Object Suite LabOpenTravel Alliance
 
OTDS presentation on Standards at Travel Traction Berlin 2013
OTDS presentation on Standards at Travel Traction Berlin 2013OTDS presentation on Standards at Travel Traction Berlin 2013
OTDS presentation on Standards at Travel Traction Berlin 2013OpenTravel Alliance
 
OpenTravel XML Object Suite Mechanics
OpenTravel XML Object Suite MechanicsOpenTravel XML Object Suite Mechanics
OpenTravel XML Object Suite MechanicsOpenTravel Alliance
 

Destacado (12)

OpenTravel Model-Driven Schema at IATA
OpenTravel Model-Driven Schema at IATAOpenTravel Model-Driven Schema at IATA
OpenTravel Model-Driven Schema at IATA
 
OpenTravel Schema Product Comparison
OpenTravel Schema Product ComparisonOpenTravel Schema Product Comparison
OpenTravel Schema Product Comparison
 
OpenTravel Standards from TravelTraction Berlin
OpenTravel Standards from TravelTraction BerlinOpenTravel Standards from TravelTraction Berlin
OpenTravel Standards from TravelTraction Berlin
 
OpenTravel 2.0 XML Object Suite Introduction
OpenTravel 2.0 XML Object Suite IntroductionOpenTravel 2.0 XML Object Suite Introduction
OpenTravel 2.0 XML Object Suite Introduction
 
OpenTravel XML Object Suite - Component Model
OpenTravel XML Object Suite - Component ModelOpenTravel XML Object Suite - Component Model
OpenTravel XML Object Suite - Component Model
 
OpenTravel 2012 Advisory Forum Chairman Welcome
OpenTravel 2012 Advisory Forum Chairman WelcomeOpenTravel 2012 Advisory Forum Chairman Welcome
OpenTravel 2012 Advisory Forum Chairman Welcome
 
Opening Travel Traction Berlin
Opening Travel Traction BerlinOpening Travel Traction Berlin
Opening Travel Traction Berlin
 
OpenTravel Advisory Forum 2012 REST XML Resources
OpenTravel Advisory Forum 2012 REST XML ResourcesOpenTravel Advisory Forum 2012 REST XML Resources
OpenTravel Advisory Forum 2012 REST XML Resources
 
XFT Introduction at Travel Traction Berlin 2013
XFT Introduction at Travel Traction Berlin 2013XFT Introduction at Travel Traction Berlin 2013
XFT Introduction at Travel Traction Berlin 2013
 
OpenTravel Advisory Forum 2012 XML Object Suite Lab
OpenTravel Advisory Forum 2012 XML Object Suite LabOpenTravel Advisory Forum 2012 XML Object Suite Lab
OpenTravel Advisory Forum 2012 XML Object Suite Lab
 
OTDS presentation on Standards at Travel Traction Berlin 2013
OTDS presentation on Standards at Travel Traction Berlin 2013OTDS presentation on Standards at Travel Traction Berlin 2013
OTDS presentation on Standards at Travel Traction Berlin 2013
 
OpenTravel XML Object Suite Mechanics
OpenTravel XML Object Suite MechanicsOpenTravel XML Object Suite Mechanics
OpenTravel XML Object Suite Mechanics
 

Similar a Open travel 2-0_introduction_jan_2014_slideshare

Ch-4 Middleware Architectures.pptx
Ch-4 Middleware Architectures.pptxCh-4 Middleware Architectures.pptx
Ch-4 Middleware Architectures.pptxdagilema
 
.Net programming with C#
.Net programming with C#.Net programming with C#
.Net programming with C#NguynSang29
 
Object Oriented Programming with COBOL
Object Oriented Programming with COBOLObject Oriented Programming with COBOL
Object Oriented Programming with COBOLMicro Focus
 
SFDC Database Basics
SFDC Database BasicsSFDC Database Basics
SFDC Database BasicsSujit Kumar
 
Web services soap
Web services soapWeb services soap
Web services soapKhan625
 
Introduction to ,NET Framework
Introduction to ,NET FrameworkIntroduction to ,NET Framework
Introduction to ,NET FrameworkANURAG SINGH
 
Web services with soap
Web services with soapWeb services with soap
Web services with soapKhan625
 
[Distributed System] ch4. interprocess communication
[Distributed System] ch4. interprocess communication[Distributed System] ch4. interprocess communication
[Distributed System] ch4. interprocess communicationGyuhyeon Nam
 
XML for beginners
XML for beginnersXML for beginners
XML for beginnerssafysidhu
 
E learning excel vba programming lesson 3
E learning excel vba programming  lesson 3E learning excel vba programming  lesson 3
E learning excel vba programming lesson 3Vijay Perepa
 
SOA standards
SOA standardsSOA standards
SOA standardsKumar
 

Similar a Open travel 2-0_introduction_jan_2014_slideshare (20)

Ch-4 Middleware Architectures.pptx
Ch-4 Middleware Architectures.pptxCh-4 Middleware Architectures.pptx
Ch-4 Middleware Architectures.pptx
 
.Net programming with C#
.Net programming with C#.Net programming with C#
.Net programming with C#
 
Object Oriented Programming with COBOL
Object Oriented Programming with COBOLObject Oriented Programming with COBOL
Object Oriented Programming with COBOL
 
Typescript ppt
Typescript pptTypescript ppt
Typescript ppt
 
Apex code (Salesforce)
Apex code (Salesforce)Apex code (Salesforce)
Apex code (Salesforce)
 
SFDC Database Basics
SFDC Database BasicsSFDC Database Basics
SFDC Database Basics
 
Web services soap
Web services soapWeb services soap
Web services soap
 
Web services soap
Web services soapWeb services soap
Web services soap
 
Introduction to ,NET Framework
Introduction to ,NET FrameworkIntroduction to ,NET Framework
Introduction to ,NET Framework
 
Web services with soap
Web services with soapWeb services with soap
Web services with soap
 
[Distributed System] ch4. interprocess communication
[Distributed System] ch4. interprocess communication[Distributed System] ch4. interprocess communication
[Distributed System] ch4. interprocess communication
 
XML for beginners
XML for beginnersXML for beginners
XML for beginners
 
Web services SOAP
Web services SOAPWeb services SOAP
Web services SOAP
 
E learning excel vba programming lesson 3
E learning excel vba programming  lesson 3E learning excel vba programming  lesson 3
E learning excel vba programming lesson 3
 
dotNETfinal.ppt
dotNETfinal.pptdotNETfinal.ppt
dotNETfinal.ppt
 
dotNETfinal.ppt
dotNETfinal.pptdotNETfinal.ppt
dotNETfinal.ppt
 
SOAP Services
SOAP ServicesSOAP Services
SOAP Services
 
SOA standards
SOA standardsSOA standards
SOA standards
 
TypeScript Overview
TypeScript OverviewTypeScript Overview
TypeScript Overview
 
Ssn0020 ssis 2012 for beginners
Ssn0020   ssis 2012 for beginnersSsn0020   ssis 2012 for beginners
Ssn0020 ssis 2012 for beginners
 

Último

FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 

Último (20)

FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 

Open travel 2-0_introduction_jan_2014_slideshare

  • 1. OpenTravel 2.0 Creating Messages from Objects January 2014 © 2014 OpenTravel.org
  • 2. 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
  • 3. OpenTravel 1.0 Message Suite 3 OpenTravel’s flagship schema product is a mature messaged-based specification that covers multiple travel segments.
  • 4. 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
  • 5. 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)
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. 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
  • 13. 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
  • 14. 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
  • 15. 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
  • 16. 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
  • 17. 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
  • 18. 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
  • 19. 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
  • 20. 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
  • 21. 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
  • 22. 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.
  • 23. 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
  • 24. 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
  • 26. OpenTravel 2.0 Creating Messages from Objects For more information info@opentravel.org www.opentravel.org © 2014 OpenTravel.org