© copyright ibm corporation 2000 ibm travelframe arvind viswanathan [email protected] any...
TRANSCRIPT
© Copyright IBM Corporation 2000
IBM TravelFrame
Arvind Viswanathan
Any references to future plans are for planning purposes only. IBM reserves the right to change those plans at its discretion.
Any reliance on such a disclosure is solely at your own risk. IBM makes no commitment to provide additional information in the future.
© Copyright IBM Corporation 2000
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
TravelFrame
Travel Industry Standard
Java Objects and XML
Cross-Industry Standard Java Objects
and XML
XML JDBC
ISV Application Softwareand IBM Solutions
Platforms Servers: AIX Solaris NT
Application
ServerHTTP LDAP
JVM Database
JNDI HorizontalDistributedMiddleware
DomainCore
Content
DomainEngagements
GeographyService
VehicleService
ReservationSystemFramework
Loyalty Framework
ManagementService
ReservationServicesUser Profile
ConfigurationService
© Copyright IBM Corporation 2000
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
Server Configuration
HTTP
Serv
er
Serv
let
Engin
eServ
ices
Channel Tier Middle Tier Reservation System
Framework Tier
XML over HTTP
XML over HTTP
...
Reservation and Loyalty Systems
Clients
Internet
Backend Communicati
ons
XML over MQ
XML over MQ
© Copyright IBM Corporation 2000
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
Channel Tier Middle Tier RSF Tier
Inte
r-ti
er
com
munic
ati
ons
...
Reservation and Loyalty Systems
Clients
Internet
Back
end
C
om
mun
icati
ons
•Presentation
•Authentication of clients
•Authorization of clients
•Calls mid-tier services only
•Stateful
•Profile services
•Shoppers
•Loyalty
•Access to RSF
•Exports to DSS
•Stateless (but potentially stateful)
•Consistent interfaces to backend systems
•Stateless (but potentially stateful)
UserID, password, ACLs
User profiles
Geography and vehicle services
DSS system
Inte
r-ti
er
com
munic
ati
ons
Business
Partners
Extra-tier
communications
© Copyright IBM Corporation 2000
<SOAP:ENVELOPE>
<SOAP:BODY>
<FAREQUOTERESPONSE> <RETURN>
2349.68
</RETURN>
</FAREQUOTERESPONSE>
</SOAP:BODY>
</SOAP:ENVELOPE>
<SOAP:ENVELOPE> <SOAP:BODY>
<FAREQUOTE>
<CSTNO> 123456789
</CSTNO>
<BOOKINGCODE> SD123457
</BOOKINGCODE>
</FAREQUOTE>
</SOAP:BODY>
</SOAP:ENVELOPE>
XML4J
Router
HTTP
HTTP
Clie
nt
Serv
er
XML4J
Reply Message
Request Message
Input DOM
Client Service Request Java
Objects
Mars
hal
Output DOM
Output DOM
XML/HTTP Communication
Client Service Response Java
Objects
Unm
ars
hal
Service
Logic
© Copyright IBM Corporation 2000Persistent
Store
Reservation System
Client
Service A
Service B
Service C
Service D
© Copyright IBM Corporation 2000
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
HttpServlet
XmlRPCServlet
XmlService
Typically Java, JSP or XSLT
templates
Further XML/HTTP service requests
Servlet Engine
Web Server
XML/HTTP
Service Request
XML/HTTP
Service Respons
e
Service instance
XMLSession Object
new(),
handleServiceRequest()
XML Server Architecture
© Copyright IBM Corporation 2000
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
XML
RDB
Java
ModelPersistence
Persistence
Generate Interfaceand Bean usingModel2Java bindings
GenerateHelpers and Graphs usingModel2XMLbindings
Generate Homeand Graphsusing Model2RDBBindings
Generate Helpers and Graphs usingJava2XML, XML2Javabindings
© Copyright IBM Corporation 2000
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
Web Server + Servlet Engine
Generation X with XML/HTTPCreate Model
DO Generator Binding Generator
Beans, DTDs Bindings - java
Create Server Codejava or XSLT
Compile/Deploy
Client App
Client Code
Create Client Codejava
DOs, Bindings
DOs, BindingsXMLRPCServlet
Services
Router
SOAP
© Copyright IBM Corporation 2000
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]