19
WDDX: Distributed Data For The Web Simeon Simeonov

XML98 WDDX Presentation

  • View
    2.413

  • Download
    0

Embed Size (px)

DESCRIPTION

Web Distributed Data Exchange (WDDX) is a precursor to SOAP and Web services created by Simeon Simeonov from Allaire Corporation in 1998.

Citation preview

Page 1: XML98 WDDX Presentation

WDDX: Distributed Data For The WebSimeon Simeonov

Page 2: XML98 WDDX Presentation

Agenda

The need for Web distributed data exchange The crisis of web applications The need for XML middleware Web Distributed Data Exchange (WDDX) WDDX scenarios Demos Call to action

Page 3: XML98 WDDX Presentation

Metcalf’s Law of Connectivity

Metcalf’s Law of Connectivity The value of a network is a function of the

number of nodes connected to that network; value grows exponentially with each node

The Web is the new computing platform The number of nodes on the Net is huge, and

growing at an ever increasing rate, so...

Page 4: XML98 WDDX Presentation

Have we Achieved World Peace?

One big assumption does not hold true Network nodes leverage peers’ data and services A Web system must be a data and service portal,

not just an outward facing end-user application

Web applications are not so designed Most view web applications as having a fixed

end-user base working through web browsers The combination of HTML + script provides no

separation of data and processing

Page 5: XML98 WDDX Presentation

Case: FedEx Package Tracking

Individuals track packages via browsers, but... FedEx’s real customers are corporations

They want to integrate their order tracking systems with FedEx’s package tracking system

They cannot do this using the existing system

Redesign requires “public data interfaces” Requires exchange of structured data between

browsers and servers and in between servers

Page 6: XML98 WDDX Presentation

The Crisis of Web Applications

Structured data exchange is not happening HTTP is a flat text-based protocol Browsers are data-starved; despite ever increasing

processing capabilities, they do little more than user-interface related work

Servers are separated by the walls imposed by under-powered data exchange

Solution Break these walls down; let web applications

execute on the entire network We know XML can help! But, how?

Page 7: XML98 WDDX Presentation

Native XML Approach

DTD design XML data generation XML parsing and processing

SAX, DOM, …

XML transformation CSS, DSSSL, XSL, …

Page 8: XML98 WDDX Presentation

Sounds Great, But…

Native XML processing is still not very easy XML is a young field The standards landscape is in flux Many tools are immature and/or expensive Mass developer community lacks expertise

How can the Web take advantage of the benefits of XML in this environment?

Page 9: XML98 WDDX Presentation

The Need For XML Middleware

Solution A mechanism for exchanging structured data

that hides the details of XML processing

What is required? The Web is simple, pragmatic, and ubiquitous Page-based web applications that run on web

application servers (Perl scripts, Active Server Pages, ColdFusion) rule the field

Page 10: XML98 WDDX Presentation

How should it be done?

Work directly with application data Developers never see XML, but they benefit from it

Cross platform Different OSs: Windows, Mac, Unix Different languages: ColdFusion Markup Language

(CFML), VBScript, JavaScript, Java, C/C++, COM, CORBA, Frontier, Perl, PHP, Python

Open and flexible Easy to contribute to Can track evolving W3C standards

Free!

Page 11: XML98 WDDX Presentation

How should it work?

Application Data

Serialization

Deserialization

Application Data

The The NetNet

Platform X

Platform Y

Page 12: XML98 WDDX Presentation

Web Distributed Data Exchange

WDDX DTD Language and platform neutral representation of

common application data structures: strings, numbers, booleans, date-time values, arrays, associative arrays, and recordsets

WDDX platform modules Serialization/deserialization modules for CFML, COM

(C/C++, ASP, and all Windows apps), JavaScript (browser), Perl, and Java

WDDX datatypes Common API uses native datatypes when possible

Page 13: XML98 WDDX Presentation

Technology Comparisons

XML DTDs WDDX abstracts the process of DTD creation, XML

generation, and XML parsing for app data DOM

WDDX is an API built on top of DOM SOAP and WebBroker

WDDX is about data, not object method requests WIDL

WDDX has no notion of a service or an interface RDF and DCD

WDDX is not about meta-data

Page 14: XML98 WDDX Presentation

WDDX Evolution

WDDX DTD is versionable Multiple versions of WDDX can interoperate WDDX can track evolving W3C standards

Source code is open Encourages involvement and participation Lowers the cost of WDDX-enabling a platform Allaire is working together with third parties

It’s free! The more nodes speak WDDX, the better

Page 15: XML98 WDDX Presentation

When Should One Use WDDX?

Point-to-point data exchange No pre-existing XML/SGML content Application-level data is ‘produced’ Applications ‘consume’ the data Only one use for the XML data representation

Multiple ad hoc data exchanges Little or no benefit from custom vocabularies Example: per page browser-server data exchange

Page 16: XML98 WDDX Presentation

WDDX Scenarios

WDDXXML

ColdFusionColdFusionServerServer

CF ServerCF Server

ASP ServerASP Server

JavaScript BrowserJavaScript Browser

Windows/JavaWindows/JavaClientClient

XMLWDDX

The The NetNet

Page 17: XML98 WDDX Presentation

WDDX Demonstration

Demo . . .

Page 18: XML98 WDDX Presentation

Web Technology Adoption Path

XMLless Web Structure, where art thou?

XML middleware Browsers and servers exchange structured data Developers can benefit from WDDX now Proof of XML benefits to the enterprise

XML-enabled Web A better place for all

Page 19: XML98 WDDX Presentation

Call to Action

Want to see WDDX in action? Download ColdFusion: www.coldfusion.com Visit the WDDX site: www.wddx.org

Want to try WDDX out? Sign up for the Software Development Kit (SDK) Send email to [email protected]. It’s free!

Want to get involved in the WDDX effort? You can help the vocabulary evolve, or you can

contribute serialization/deserialization modules Send email to [email protected]