31
• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • Distributed Component Architectures for Cooperative Information Systems Edward Cobb Vice President, Architecture & Standards BEA Systems [email protected] 7 September, 2001

Distributed Component Architectures for Cooperative Information Systems

  • Upload
    sancha

  • View
    46

  • Download
    2

Embed Size (px)

DESCRIPTION

Distributed Component Architectures for Cooperative Information Systems. Edward Cobb Vice President, Architecture & Standards BEA Systems [email protected] 7 September, 2001. Trademarks. The following are trademarks of the Object Management Group CORBA – UML - PowerPoint PPT Presentation

Citation preview

Page 1: Distributed Component Architectures for Cooperative Information Systems

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

Distributed Component Architecturesfor Cooperative Information Systems

Edward CobbVice President, Architecture & Standards

BEA [email protected] September, 2001

Page 2: Distributed Component Architectures for Cooperative Information Systems

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

27 September 2001 COOPIS 2001 - Trento, Italy

Trademarks

• The following are trademarks of the Object Management Group– CORBA – UML

• The following are trademarks of Sun Microsystems– Java – J2EE– JavaBeans – J2SE– Enterprise JavaBeans – J2ME

• The following are trademarks of their respective companies:– WebLogic - BEA Systems– Websphere - IBM Corporation– iPlanet - Sun Microsystems/AOL– Microsoft .NET - Microsoft Corporation

Page 3: Distributed Component Architectures for Cooperative Information Systems

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

37 September 2001 COOPIS 2001 - Trento, Italy

Agenda

• Today’s Business Environment• Evolution of Component Technologies

– Desktop Objects– CORBA and DCOM– Object Transaction Monitors– Java and J2EE– Microsoft’s .NET

• Loosely-Coupled vs. Tightly-Coupled• Convergence via Web Services• Conclusions

Page 4: Distributed Component Architectures for Cooperative Information Systems

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

47 September 2001 COOPIS 2001 - Trento, Italy

Today’s Business Environment

•Increased Competition– Time to Market– Flexibility– Adaptability

•Cost Containment– Shortage of IT skills– “Do More with Less”– IT contribution to bottom line

•Pace of Technology Innovation– Difficult to Keep Up– Opportunity to gain and

maintain competitive advantage

Page 5: Distributed Component Architectures for Cooperative Information Systems

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

57 September 2001 COOPIS 2001 - Trento, Italy

What is a Component?

•A self-contained unit of software code with

– its own data and logic– well-defined connections or

interfaces – exposed for communication.

•Designed for repeated use– in developing applications– with or without

customization.

Page 6: Distributed Component Architectures for Cooperative Information Systems

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

67 September 2001 COOPIS 2001 - Trento, Italy

Why Components?

• Time to market– Improved application developer productivity– Reduced complexity– Reuse of existing code

• Programming by assembly (manufacturing) rather than development (engineering) – Reduced skills requirements– Focus expertise on domain problems

• Key benefit will be seen with server-side development

Page 7: Distributed Component Architectures for Cooperative Information Systems

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

77 September 2001 COOPIS 2001 - Trento, Italy

Objects on the Desktop

•Key to Graphical User Interfaces (GUIs)•Pioneered by the Apple Macintosh•Brought to the PC by Microsoft and IBM•Key Enabling Technology for the success of Microsoft’s Windows•Has become the preferred approach for all GUI development•A tightly-coupled model

Page 8: Distributed Component Architectures for Cooperative Information Systems

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

87 September 2001 COOPIS 2001 - Trento, Italy

The Client/Server Revolution

• Local Area Networks make Sharing Efficient and cost-effective– Devices (e.g. printers)– Files– Databases

• Power to the Desktop User– Applications Reside of Client Desktop– Rise of Powers tools (Microsoft Visual Basic, Sybase Power

Builder) for the desktop programmer– Servers used for fixed function (data and device access)

Page 9: Distributed Component Architectures for Cooperative Information Systems

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

97 September 2001 COOPIS 2001 - Trento, Italy

Objects on the Server

• Two competing alternatives– CORBA from the Object Management Group (multi-

language, multi-OS, and vendor neutral)– DCOM from Microsoft (multi-language but Windows only)

• Interface Definition Language (IDL)– Defines the contract between client and server– Forms the basis of the on-the-wire interoperability protocol– Based on a tightly-coupled RPC model

• Both had limited success– Distribution costs of fine-grain objects– Scalability problems inherent in client-server architectures– Complexity of supporting multiple programming languages

Page 10: Distributed Component Architectures for Cooperative Information Systems

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

107 September 2001 COOPIS 2001 - Trento, Italy

IIOP

ObjectImplementation

SideCOBOL

C

Java

Smalltalk

More

I D L

I D L

I D L

I D L

I D L

I D L

ORB

C++

I D L

I D L

I D L

I D L

I D L

I D L

ORB

C

C++

COBOL

Java

Smalltalk

More

Client Side

Common Object Request Broker Architecture (CORBA)

Page 11: Distributed Component Architectures for Cooperative Information Systems

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

114 November 1998 Object Computing Europe 98 - Helsinki

Object Transaction Monitors

• A need breed of application middleware– Not a CORBA ORB with a “suite” of services– Not a TP monitor with O-O language binding– a new software platform built from “open standards” – a component-based development model– AND the performance and “abilities” of a TP monitor

• Examples:– BEA WebLogic Enterprise (previously called M3 and now

part of BEA Tuxedo)– Microsoft’s MTS

Page 12: Distributed Component Architectures for Cooperative Information Systems

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

127 September 2001 COOPIS 2001 - Trento, Italy

Java Makes CORBA a Big Success

•Rise of the web shifts focus from client to the server•Virtual machine architecture provides better portability and security•Java programming language eliminates many of the complexities of C++•Focus on portability rather than interoperability•Single language results in APIs which are more natural for the Java programmer than IDL mappings of CORBA APIs

Page 13: Distributed Component Architectures for Cooperative Information Systems

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

137 September 2001 COOPIS 2001 - Trento, Italy

Component,Object

Clustering

(routing,load

balancing,failover)

Web Clustering

(routing,load

balancing,failover)

Firewall,Net

Director

HTTP routing

(e.g., Net Director),Firewall

Programmed Clients

Web Server

Web Server

Servlet/JHTML/JSP

State Data

Servlet/JHTML/JSPWebContainer

Servlet/JHTML/JSP

State Data

Servlet/JHTML/JSPWebContainer

State Data

EnterpriseJavaBeansEnterpriseJavaBeansApplicatio

nContainer

State Data

EnterpriseJavaBeansEnterpriseJavaBeansApplicatio

n Container

State Data

EnterpriseJavaBeansEnterpriseJavaBeansApplicatio

nContainer

Web Clients (via Web Server)

Web Clients

Application Server Architecture

Page 14: Distributed Component Architectures for Cooperative Information Systems

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

147 September 2001 COOPIS 2001 - Trento, Italy

What is J2EE?

• One of three Java platform specifications– Java 2 Micro Edition (J2ME)– Java 2 Standard Edition (J2SE)– Java 2 Enterprise Edition (J2EE)

• A Java API specification for Enterprise Applications– Includes J2SE plus– Web container– EJB container

• The architecture of the Application Server– BEA WebLogic– IBM Websphere– Sun iPlanet

Page 15: Distributed Component Architectures for Cooperative Information Systems

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

157 September 2001 COOPIS 2001 - Trento, Italy

J2EE 1.3 Architecture

J2SE

DB

JAF

JavaMailJA

A

JDB

C

JMS

JTA

JAX

P

JCX

JAF

JavaMailJA

A

JDB

C

JMS

JTA

JAX

P

JCX

EJBJSP ServletApplet

JMS

JAA

JTA

JDB

C

ApplicationClient

J2SE

J2SE

J2SE

HTTPSSL

HTTPSSL

HTTPSSL

Page 16: Distributed Component Architectures for Cooperative Information Systems

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

167 September 2001 COOPIS 2001 - Trento, Italy

Web Container

• Client Access– HTTP(S) Clients with HTML– HTTP(S) Clients with XML documents

• Programming APIs– Servlets– Java Server Pages (JSP)

• Dynamic HTML content• Custom Tag Libraries

– XML parsing (JAXP) in J2EE 1.3

• Back-end access – EJBs via Java RMI– DB via JDBC– Enterprise Information Systems via JCA in J2EE 1.3

Page 17: Distributed Component Architectures for Cooperative Information Systems

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

177 September 2001 COOPIS 2001 - Trento, Italy

EJB Container

Client

EJB Home(bean identifier)

EJB Object provides a client view of the enterprise bean. It intercepts all calls and performs transaction, state, persistence, and security services for the bean.

methods

createfindremove

EJB Home implements all lifecycle services for the bean.

EJB Object Enterprise BeanEnterprise BeanEnterprise BeanEnterprise BeanEJB ObjectEJB ObjectEJB Object

(client view)

Page 18: Distributed Component Architectures for Cooperative Information Systems

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

187 September 2001 COOPIS 2001 - Trento, Italy

EJB Taxonomy

EnterpriseEnterpriseJavaBeansJavaBeans

EntityEntityBeansBeans

SessionSessionBeansBeans

StatefulStatefulStatelessStateless Bean-Bean-ManagedManaged

Container-Container-ManagedManaged

•Session Beans•“TP Monitor” style•Short-lived, no key •1-to-1 relationship to client•Explicit DB access•E.g., Bank Teller, E-Commerce Server

Entity BeansComponent view of DB row or objectMay be long-livedPrimary key, stateful1-to-many relationship to client(s)E.g., Customer, Order

(Web shopping

cart)

(Inventory agent,

“MTS style”)

(via explicit JDBC; when

automated tools are insufficient)

(via O/R mapping)

Many EJBapplications will use both!

Page 19: Distributed Component Architectures for Cooperative Information Systems

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

197 September 2001 COOPIS 2001 - Trento, Italy

Client

EJB Server

EJB Architecture

EJB Container

EJB home object DBMS

EnterpriseBeans

EJB ObjectStubs EJB

ObjectsDeploymentDescriptor

EJB home stub

User Code

Generated Code

All else, system code

Page 20: Distributed Component Architectures for Cooperative Information Systems

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

207 September 2001 COOPIS 2001 - Trento, Italy

Microsoft .NET

• .NET Platform– Infrastructure + tools – User experience– Building blocks– Mega services

• .NET Products and services– Windows.NET– MSN.NET– Personalized subscription services– Office.NET– VisualStudio.NET

• VB style• Generates XML

– bCentral.NET• BizTalk• Business process orchestration• CRM services

• Third party .NET services• Building-block services

– Identity (Passport)– Notification and messaging

• Unified IM, e-mail, voice mail, …

– Personalization– XML store

• SOAP• Data description• Unified data access???

– Calendar service– Directory and search– Dynamic delivery

Page 21: Distributed Component Architectures for Cooperative Information Systems

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

217 September 2001 COOPIS 2001 - Trento, Italy

Loosely-Coupled and Tightly-Coupled Architectures

•Tightly-Coupled– High Degrees of

Interdependence– Difficult to change parts– Synchronous Invocations

(RPCs, conversations) – Implicit State Sharing– Implicit Contexts– 2PC Transactions– Best for intra-enterprise

•CORBA 2, J2EE 1.2, and DCOM are all tightly-coupled

•Loosely-Coupled– Greater Independence– Much easier to change parts– Asynchronous invocations

(messaging)– Meta-Data Sharing– Explicit Contexts in

messages– Workflow– Ideal for inter-enterprise

(web)•CORBA 3, J2EE 1.3, and .NET add loosely-coupled capabilities

Web Services is an architecture for loosely-coupled applications

Page 22: Distributed Component Architectures for Cooperative Information Systems

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

227 September 2001 COOPIS 2001 - Trento, Italy

S1 S2 S3

S2

S2

S4 S5

S6 S7

S8

S9

T1

T2

flighthotel car

failure

failureCheck flightSchedules

ReservationsStart End

Cancel

Business Rationale for Loose CouplingBooking a Business Trip

Page 23: Distributed Component Architectures for Cooperative Information Systems

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

237 September 2001 COOPIS 2001 - Trento, Italy

XML•Parse•Transform•Route•Manipulate

XML

DB

App

App

ServiceProvider

•SOAP•WSDL

•UDDI•ebXML

App

ServiceProvider

ServiceProvider

ServiceBroker

ServiceRequestor

ServiceRequestor

Web Services Architecture

Page 24: Distributed Component Architectures for Cooperative Information Systems

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

247 September 2001 COOPIS 2001 - Trento, Italy

Web Services Definition

“Web services are content and software processes delivered over the Internet

using loosely coupled messages(and increasingly, XML interfaces)

that ‘service’ a particular set of user needs.”

David Smith, Gartner Group11 October 2000

Page 25: Distributed Component Architectures for Cooperative Information Systems

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

257 September 2001 COOPIS 2001 - Trento, Italy

Web Services Characteristics

• XML based

• Locatable via a registry

• Accessible over the web

• Loosely-coupled

• Message-based

• Standard Web Protocols

Page 26: Distributed Component Architectures for Cooperative Information Systems

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

267 September 2001 COOPIS 2001 - Trento, Italy

What’s Different with Web Services?

• Standardization moves to Schema/DTD space– Focus on exchange of complete documents rather than just

core information– Versions of schemas used critical to communication

• Interoperability rather than Portability but…– As with standard protocols, little work in self-defining

documents and interchange (vs. dynamic interface discovery)

– Still have to code business logic and create/parse XML– Closer to EDI than to traditional networking– Long-lived business transactions (not 2PC)– Simpler model of interaction than businesses currently use

Page 27: Distributed Component Architectures for Cooperative Information Systems

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

277 September 2001 COOPIS 2001 - Trento, Italy

Web Services Framework

• Wire (or exchange format)– The components representing what is sent during a given

exchange; data, the envelope and the metadata necessary for a meaningful transmission

• Description– The specifications required for the format definition, use or

application of the wire components

• Discovery– The specifications that provide the mechanisms for

automatic searching and discovery of the components in the Wire and Description stacks

Page 28: Distributed Component Architectures for Cooperative Information Systems

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

287 September 2001 COOPIS 2001 - Trento, Italy

Wire (or exchange format)

• Message Envelope and controlled extensibility (XML)– Versioning– Mandatory and optional message parts– Message components for different intermediaries

• Binary attachments• Message Exchange (Routing)

– The means to designate different intermediaries and their expected response.

– Intermediaries identified by service type

Page 29: Distributed Component Architectures for Cooperative Information Systems

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

297 September 2001 COOPIS 2001 - Trento, Italy

Description

• XML Schemas• Service Description

– Web Services Definition Language (WSDL)– Messages, sent and received, protocols used to exchange

them, logical ports associated with services, binds to address(es)

– Functionally analogous to IDL

• Process Flow Orchestration– Valid sequences of messages– Relationships between messages and the business

processes they initiate– Relationships between messages and the (external)

contractual provisions they pertain to.

Page 30: Distributed Component Architectures for Cooperative Information Systems

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

307 September 2001 COOPIS 2001 - Trento, Italy

Discovery

• Inspection– Protocols enabling a web service to obtain metadata about

itself such as • a service description• process flow or • related contracts.

• Discovery (UDDI)– A protocol to obtain identifiers of services based on given

characteristics– Functionally similar to CORBA Trader

Page 31: Distributed Component Architectures for Cooperative Information Systems

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •

317 September 2001 COOPIS 2001 - Trento, Italy

Conclusion

• The Next Generation Web will be based on communicating programs not browsers

• These programs need a common language to exchange information

• XML is being adopted as that common language– meets the functional requirements– has support from all major vendors– is an open standard

• “The brunt of XML’s Web impact will be on restructuring the economics of Web-based transactions” - Rita Knox, Gartner Group