Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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