No Slide Title

Download Report

Transcript No Slide Title

IBM TravelFrame
Arvind Viswanathan
[email protected]
Any references to future plans are for planning purposes only. IBM reserves the
right to change those plans at its discretion.
© Copyright IBM Corporation 2000
Any reliance on such a disclosure is solely at your own risk. IBM makes no
commitment to provide additional information in the future.
What is TravelFrame?
• An IBM e-business architecture that
leverages travel industry specific
frameworks and standards
• A Java and XML based toolkit for building
travel-related e-business applications
• An integration platform to allow
aggregation of disparate travel applications
© Copyright IBM Corporation 2000
What Business Issues Does
TravelFrame Address?
•
•
•
•
Create solutions at lower cost
Faster Time to Market
Create solutions that can interoperate more easily
Adherence to Industry Standards for application
compatibility.
• Flexible, scalable implementation; ability to
maintain and enhance in-house
• Build travel solutions at lower cost using industry
standard frameworks/components
© Copyright IBM Corporation 2000
IBM TravelFrame
• Travel specific and Infrastructure tooling
• Vertical Services
– Air, Car, Hotel Reservation Systems
– Affinity, Profile Services
– Geography and Vehicle Information Services
• Infrastructure tooling
– “Generation X”
• XML/Java/SQL bindings from Rose/XIDL
– XML over HTTP between tiers
– Programming model
– Infrastructure can be used in any industry
© Copyright IBM Corporation 2000
TravelFrame Vertical Services
• Reservation System Framework - Host
– connectors to Sabre, Galileo (planned) supporting Air, Car, Hotel
– Works with but not limited to IBM connectivity products
(A2CS/ACSA)
• Mid Tier Business Logic
– e.g. Site specific rules, Journey Management
• Geography Services - Connects locations to services
provided
• Affinity Services - Basic functionality for loyalty
applications
• Profile Services - Customer Profile Support
– Developed to Open Travel Alliance specs.
© Copyright IBM Corporation 2000
TravelFrame Vertical Services
• Personalization
– Export customer data for processing by external DSS
– Blaze integration (prototyping)
– Allows business users to define system behavior
© Copyright IBM Corporation 2000
Logical Layering
ISV Application Software
and IBM Solutions
Domain
Engagements
ReservationSystemFramework
TravelFrame
User Profile
ReservationServices
Loyalty Framework
GeographyService
Domain
Core
Content
Travel Industry Standard
VehicleService
Java Objects and XML
ManagementService
Cross-Industry
Standard Java Objects
and XML
Horizontal
Distributed
Middleware
Application
Server
Platforms
© Copyright IBM Corporation 2000
JNDI
ConfigurationService
HTTP
JVM
Database LDAP
Servers: AIX Solaris NT
XML
JDBC
Architecture Goals
•
•
•
•
•
•
•
Robust operational architecture
Simple, mature infrastructure
Comprehensive security model
Reliable
Adaptable
Scalable
Standards-based
© Copyright IBM Corporation 2000
Requirements
•
•
•
•
•
Open products for load-balancing/fault tolerance
High performance/scalability/reliability
Web Server, App Server, Database, OS agnostic
Set foundation for future clients
Make simple path easy
– Request followed by persistence or backend access
• Flexible service deployment
– Many developers, test environments, deployment environment
• Lower the bar for developer entry
• Simplify debugging, testing and maintenance
• Consistent programming model
© Copyright IBM Corporation 2000
HTTP
Server
Servlet
Engine
Services
Server Configuration
Client
s
Channel Tier
XML over
HTTP
XML over
HTTP
XML over
MQ
XML over
MQ
Middle Tier
© Copyright IBM Corporation 2000
...
Internet
Backend
Communicatio
ns
Reservation
System
Framework
Tier
Reservatio
n and
Loyalty
Systems
eXtensible Markup Language
• Extensible
– Tag set is not fixed
• Structural
– Deep, hierarchical nesting of structures
– Can infer meaning from structure
• Valid document requirement
– Can check structure against a schema
© Copyright IBM Corporation 2000
eXtensible Markup Language
• Portable
– Text-based Unicode
– All parsers must support UTF-8 (US-ASCII)
– Parsers may support: UTF-16, EBCDIC, etc
•
•
•
•
Human readable
Machine understandable
W3C standard
Rich set of emerging tools
© Copyright IBM Corporation 2000
•Shoppers
•Loyalty
•Access to RSF
•Exports to DSS
•Calls mid-tier
services only
•Consistent
interfaces to
backend systems
•Stateless (but
potentially
stateful)
•Stateless (but
potentially
stateful)
•Stateful
Client
s
DSS system
Busines
s
Partners
Channel Tier
...
Internet
•Authorization
of clients
•Profile services
Inter-tier
communicatio
ns
•Authentication
of clients
Geography
and vehicle
services
Inter-tier
communicatio
ns
•Presentation
User profiles
Backend
Communicatio
ns
UserID,
password,
ACLs
Middle Tier
© Copyright IBM Corporation 2000
RSF Tier
Reservatio
n and
Loyalty
Systems
XML/HTTP Communication
Marshal
Request
Message
<SOAP:ENVELOPE>
<SOAP:BODY>
XML4J
Router
<FAREQUOTE>
<CSTNO>
123456789
Input
DOM
Service
Logic
HTTP
</CSTNO>
<BOOKINGCODE>
SD123457
</BOOKINGCODE>
Client Service
Request Java
Objects
</SOAP:ENVELOPE>
Client Service
Response Java
Objects
Output
DOM
Client
</SOAP:BODY>
Server
</FAREQUOTE>
Output
DOM
<SOAP:ENVELOPE>
HTTP
<SOAP:BODY>
<FAREQUOTERESPONSE>
<RETURN>
Unmarshal
2349.68
</RETURN>
</FAREQUOTERESPONSE>
XML4J
© Copyright IBM Corporation 2000
</SOAP:BODY>
</SOAP:ENVELOPE>
Reply
Message
Servic
eC
Servic
eA
Reservation
System
Servic
eD
Client
Servic
eB
© Copyright IBM Corporation 2000
Persistent
Store
SOAP
• Simple Object Access
Protocol
• Emerging industry standard
for exchanging structured &
typed information using
XML
• Specifies how to perform
Remote Procedure Calls
• Platform and programming
language independent
• Wire Protocol independent
(HTTP, MQ….)
© Copyright IBM Corporation 2000
Technical Strategies
• Asynchronous, Service oriented architecture
– Eases development and debugging
• XML used in:
– Services API
– XML server architecture
– Configuration
• Master copy available using HTTP
– Rendering
• Persistence and Type System Conversion
© Copyright IBM Corporation 2000
XML Server Architecture
new(),
handleServiceReque
st()
Service
instance
XmlRPCServl
et
XML/HTTP
Service
Request
XML/HTTP
Service
Response
HttpServle
t
Web Server
© Copyright IBM Corporation 2000
XMLSession
Object
Further
XML/HTT
P
service
requests
Typically
Java, JSP
or XSLT
XmlServic templates
e
Servlet Engine
XML Marshalling
• The problem: conversion between object graphs and
XML
<MESSAGE>
<COMMAND>
Authenticate
</COMMAND>
<CSTNO>
123456789
</CSTNO>
<PIN>
secret
</PIN>
</MESSAGE>
© Copyright IBM Corporation 2000
Generation X genesis
• UML Modeling has become the central part of
designing
– Provides a language independent representation
– Provides a single repository for all information, single point of
update
• Sending objects or data through the wire,
persisting object in RDB are standards
• Getting the most from the model by generating most of
the code needed
• Based upon Java/SQL Data Object generation in
previous asset - Student Server
– Shipped Oct 98
– Solves particular Java/SQL access issues
© Copyright IBM Corporation 2000
Generation X
• Generates from a UML model:
– Java beans
– Marshalling/unmarshalling code
– XML DTD / Schema
– SQL persistence code
• Generates up to 75 % of the code
© Copyright IBM Corporation 2000
Generation X principles
• Developer creates Rose Model of structures and
graphs
• Augment model with type system bindings
– Model to Java, XML, SQL
– graphs for serialization
• Tools Generate:
– Java Class definition, XML DTD
• For each structure and method
– Java to XML and XML to Java conversion
– Java to RDB and RDB to Java
– XML to RDB and RDB to XML
© Copyright IBM Corporation 2000
Generation X Types
Persistence
Generate Home
and Graphs
using Model2RDB
Bindings
XM
L
Generate
Helpers and
Graphs using
Model2XML
bindings
RDB
Model
Generate Interface
and Bean using
Model2Java bindings
Generate Helpers
and Graphs using
Java2XML, XML2Java
bindings
© Copyright IBM Corporation 2000
Java
Persistence
Generated files
•
•
•
•
•
•
•
•
For one class XYZ in the model, the DO and Binding Generator produces the
following files :
XYZ.java
XYZBean.java
XYZHome.java Proprietary interface for persisting/accessing RDB
XYZKey.java
XYZJava2XML.java
XYZXML2Java.java
XYZ.DTD
•
A graph describes the tree of associations for one object. It defines which
association to follow to serialize the object. For one graph ABC in the graphs
section, the Generator produces the following java files :
•
•
•
ABCJava2XML.java
ABCXML2Java.java
ABC.DTD
© Copyright IBM Corporation 2000
Generation X with XML/HTTP
Create Model
DO Generator
Binding Generator
Beans, DTDs
Bindings - java
Create Client Code
Create Server Code
java
java or XSLT
Compile/Deploy
Client App
Client Code DOs, Bindings
Router
© Copyright IBM Corporation 2000
SOAP
Web Server + Servlet Engine
XMLRPCServlet
Services
DOs, Bindings
Generation X Advantages
•
•
•
•
•
•
•
Simpler than writing backend API code
More maintainable and consistent generation
Faster generation of data objects
Allows optimizations of code in the future
Easier to retarget for a different backend
Allows generation of test suites
Extensible
© Copyright IBM Corporation 2000
Infrastructure Deliverables
• Runtime Java Classes
– XMLRPCServlet
– MessageRouter
• Tooling
– Generation X
• Type conversions between Java, RDB, XML
• Security, Logging, Systems Management, Connection
Management, Rendering, State management, etc..
• Can be deployed on any environment that supports Java
Servlets
© Copyright IBM Corporation 2000
Summary
• Architecture
• Vertical Services
– Leverage existing enterprise data and business rules using:
• Reservation, Profile, Affinity Services
– Provide an integrated view of backend systems
– Track industry standards bodies such as Open Travel Alliance
– Integration with personalization products will allow easier
configuration of business rules
• Infrastructure
• Build travel solutions at lower cost using
industry standard frameworks /
components
© Copyright IBM Corporation 2000
Contacts
• Arvind Viswanathan
– [email protected]
• Bruce Gobioff
– [email protected]
© Copyright IBM Corporation 2000