XML Messaging and - PowerPoint PPT Presentation

1 / 20
About This Presentation
Title:

XML Messaging and

Description:

dorchard_at_ca.ibm.com. Bio. IBM e-business architect. Pacific ... For one graph ABC in the graphs section, the Generator produces the following java files : ... – PowerPoint PPT presentation

Number of Views:109
Avg rating:3.0/5.0
Slides: 21
Provided by: kscottm
Category:
Tags: xml | abc | com | messaging | the | view

less

Transcript and Presenter's Notes

Title: XML Messaging and


1
XML Messaging and Java/XML/SQL Conversion XTech2K
David Orchard dorchard_at_ca.ibm.com
2
Bio
  • IBM e-business architect
  • Pacific Development Centre
  • Lab in Vancouver Canada
  • Solutions/First of a kind assets
  • Education, Government, Telecom, Banking
  • Including Air Canada Web site
  • XML messaging over MQ
  • Currently Lead architect of IBM Travel Frame
  • Occasional evangelism for Web/Java/XML
  • Wrote about XML over HTTP in Dec 97
  • Member of W3C XML Core and Linking WG

3
IBM Travel Frame
  • Asset in IBM Travel and Transportation unit
  • Travel specific and Infrastructure tooling
  • Goal Faster Services deployment of Travel
    solutions
  • Infrastructure tooling
  • Generation X
  • XML/Java/SQL bindings from Rose/XIDL
  • XML over HTTP between tiers, programming Model
  • Infrastructure currently sold to IBM Global
    Services
  • Vertical Services
  • Air, Car, Hotel Reservation Systems
  • Affinity, Profile Services
  • Geography and Vehicle Information Services

4
Infrastructure Requirements
  • Make simple path easy
  • Request followed by persistence legacy access
  • Open products for load-balancing/fault tolerance
  • High performance/scalability/reliability
  • Flexible service deployment
  • Many developers, test environments, deployment
    env
  • Web Server, App Server, Database, OS agnostic
  • No proprietary query language
  • Lower the bar for developer entry, including
    testing
  • Consistent programming model
  • Set foundation for future clients
  • WAP, B2B, ...

5
XML/HTTP Architecture
Servlet Engine
Java Servlets
HTTP Server
Heritage Communications
SQL Access
XML over HTTP
XML over HTTP
...
Internet
Heritage Reservation and Loyalty Systems
Channel Tier
Middle Tier
RSF Tier
Clients
6
HTTP Advantages
  • Robust operational architecture
  • Unified programming model from b2c to b2b
  • Simple, mature infrastructure
  • Comprehensive security model
  • SSL, firewalls, X.509
  • Reliable
  • Adaptable
  • Scalable
  • Systems Management
  • Standards-based
  • Good enough performance
  • Getting better, and high performance with
    firewalls

7
XML/HTTP Communication
Request Message
XML4J
Input DOM
ltSOAPENVELOPEgt ltSOAPBODYgt
ltFAREQUOTEgt ltCSTNOgt
123456789 lt/CSTNOgt ltBOOKINGCODEgt
SD123457 lt/BOOKINGCODEgt lt/FAREQUOTEgt
lt/SOAPBODYgt lt/SOAPENVELOPEgt
Marshal
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
8
XML Server Architecture
new(), handleServiceRequest()
Further XML/HTTP service requests
Service instance
XmlHttpServlet
XML/HTTP Service Request
Typically Java, JSP or XSLT templates
XML/HTTP Service Response
Servlet Engine
Web Server
9
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

10
Generation X principles
  • XML Interface Definition Language (XIDL)
  • Definition of structures, graphs, methods
  • Developer creates Rose Model of structures and
    graphs
  • Augment subset of XMI(Rose) with bindings
  • XIDL to Java, XML, SQL
  • graphs for serialization including per-method
    graph constraints
  • 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
  • RDB to XML insert only
  • Updatable View problem

11
Generation X Types
Persistence
Generate Home and Graphs using XIDL2RDBBindings
XML
SQL
XIDL
Generate Helpers and Graphs using XIDL2XML bindin
gs
Persistence
Generate Interface and Bean using XIDL2Java
bindings
Generate Helpers and Graphs using Java2XML,
XML2Java bindings
Java
12
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
  • (Optional) XYZ.PE
  • 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

13
Java2XML example
ClassInfo (courseId1, courseOfferNumber50,
classNumber1,2,3, personId1)
Person (id1, nameSaint Ex)
Java to XML Marshalling
ltClassInfo xsdtype"ClassInfoXML"gt
ltcourseId xsdtype"integer"gt1lt/courseIdgt
ltcourseOfferNumber xsdtype"integer"gt50lt/course
OfferNumbergt
ltclassNumber xsdtype"variant"gt
ltvariant xsdtype"integer"gt1lt/variantgt
ltvariant xsdtype"integer"gt2lt/variantgt
ltvariant xsdtype"integer"gt3lt/variantgt
lt/classNumbergt
ltpersonId xsdtype"integer"gt1lt/personIdgt
ltassociatedPerson xsdtype"Person"gt
ltid xsdtype"integer"gt1lt/idgt
ltname xsdtype"string"gtSaint Exlt/namegt
lt/associatedPersongt
lt/ClassInfogt
14
Programming Model
  • Client Developer
  • Use generated code to create/convert objects and
    graphs
  • Call a SOAP Router to dispatch
  • Service Developer
  • Implement XMLServiceHandler
  • Server can dispatch to well-defined methods
  • Implement XHSObject
  • Works in conjunction with the XMLHTTPServlet
  • Server can load/unload state and properties
  • Can chain to other services via Router

15
Generation X with XML/HTTP
Create XIDL
DO Generator
Binding Generator
Bindings - java
Beans, DTDs
Create Server Code java or XSLT
Create Client Code java
Compile/Deploy
Web Server Servlet Engine
Client App
XHS
SOAP
Client Code
DOs, Bindings
Services
DOs, Bindings
Router
16
Generation X Deliverables
  • Standards and interfaces
  • XIDL
  • XMLService, XHSObject Java interfaces
  • Tooling
  • DO Generator, Binding Generator
  • XSL, bit of JSP
  • XMI2XIDL
  • XSL APP to convert Rose to XIDL
  • Note Both use xslt extension mechanism
  • Runtime Java classes
  • Router, XMLHTTPServlet
  • XMLServiceLoader
  • XSLService Dispatch to XSLT

17
Futures
  • IBM Software Group may publish elsewhere
  • alphaworks, WebSphere, VisualAge?
  • Features
  • Import Java classes or DTDs, generate bindings
  • Java SOAP stubs/skeletons
  • XSL stubs/skeletons via XSL Extension mechanism
  • EJB
  • XML Vocabularies OTA, ebXML, TPA
  • Transports MQ, CORBA
  • Further XIDL Constraints
  • Define per-method constraints on properties
  • Service Discovery

18
Technology Thoughts
  • XSL will dramatically change
  • Will separate from XML Doc, aka servlets, oracle
    XSQL
  • Needs programming model and environment - XSLVM
  • Add transactions/persistence/threading -
    Enterprise XSL
  • Look for lots of work on Extension mechanism
  • XML-gtJava -)
  • How to develop deploy XMLHTTPXSLDB?
  • Who will define and standardize this
    architecture?

19
Summary
  • Travel Frame provides vertical tooling
  • Key Infrastructure
  • XML over HTTP
  • Generation X

20
Questions, perhaps answers?
Write a Comment
User Comments (0)
About PowerShow.com