1 / 29

IBM TravelFrame

IBM TravelFrame. Arvind Viswanathan arvind@ca.ibm.com. Any references to future plans are for planning purposes only. IBM reserves the right to change those plans at its discretion.

jena
Download Presentation

IBM TravelFrame

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. IBM TravelFrame Arvind Viswanathan arvind@ca.ibm.com 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.

  2. 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

  3. 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

  4. 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

  5. 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.

  6. TravelFrame Vertical Services • Personalization • Export customer data for processing by external DSS • Blaze integration (prototyping) • Allows business users to define system behavior

  7. ISV Application Software Domain and IBM Solutions Engagements TravelFrame Domain Core Travel Industry Standard Content Java Objects and XML Cross-Industry Standard Java Objects and XML HTTP Application JVM XML JNDI LDAP Database JDBC Server Horizontal Distributed Middleware Servers: AIX Solaris NT Platforms Logical Layering ReservationSystemFramework User Profile Loyalty Framework ReservationServices GeographyService VehicleService ManagementService ConfigurationService

  8. Architecture Goals • Robust operational architecture • Simple, mature infrastructure • Comprehensive security model • Reliable • Adaptable • Scalable • Standards-based

  9. 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

  10. Server Configuration Servlet Engine Services HTTP Server Backend Communications XML over HTTP XML over HTTP Internet ... XML over MQ XML over MQ Channel Tier Middle Tier Reservation System Framework Tier Reservation and Loyalty Systems Clients

  11. 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

  12. 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

  13. UserID, password, ACLs User profiles Geography and vehicle services Backend Communications • 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) Inter-tier communications Inter-tier communications Internet ... Reservation and Loyalty Systems Clients Extra-tier communications DSS system Business Partners Channel Tier Middle Tier RSF Tier

  14. <SOAP:ENVELOPE> • <SOAP:BODY> • <FAREQUOTERESPONSE> <RETURN> • 2349.68 • </RETURN> • </FAREQUOTERESPONSE> • </SOAP:BODY> • </SOAP:ENVELOPE> XML/HTTP Communication Request Message XML4J Input DOM Marshal • <SOAP:ENVELOPE> <SOAP:BODY> • <FAREQUOTE> • <CSTNO> 123456789 • </CSTNO> • <BOOKINGCODE> SD123457 • </BOOKINGCODE> • </FAREQUOTE> • </SOAP:BODY> • </SOAP:ENVELOPE> Router Service Logic HTTP Client Service Request Java Objects Output DOM Server Client Client Service Response Java Objects Output DOM HTTP Unmarshal XML4J Reply Message

  15. Service C Service A Reservation System Service D Client Service B Persistent Store

  16. 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….)

  17. 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

  18. XMLSession Object HttpServlet XmlService XML Server Architecture new(), handleServiceRequest() Further XML/HTTP service requests Service instance XmlRPCServlet XML/HTTP Service Request Typically Java, JSP or XSLT templates XML/HTTP Service Response Web Server Servlet Engine

  19. XML Marshalling • The problem: conversion between object graphs and XML • <MESSAGE> • <COMMAND> • Authenticate • </COMMAND> • <CSTNO> • 123456789 • </CSTNO> • <PIN> • secret • </PIN> • </MESSAGE>

  20. 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

  21. 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

  22. 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

  23. Generation X Types Persistence Generate Home and Graphs using Model2RDBBindings XML RDB Model Generate Helpers and Graphs using Model2XML bindings Persistence Generate Interface and Bean using Model2Java bindings Generate Helpers and Graphs using Java2XML, XML2Java bindings Java

  24. 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

  25. Generation X with XML/HTTP Create Model DO Generator Binding Generator Bindings - java Beans, DTDs Create Client Code java Create Server Code java or XSLT Compile/Deploy Web Server + Servlet Engine Client App XMLRPCServlet SOAP Client Code DOs, Bindings Services Router DOs, Bindings

  26. 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

  27. 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

  28. 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

  29. Contacts • Arvind Viswanathan • arvind@ca.ibm.com • Bruce Gobioff • gobioff@us.ibm.com

More Related