WDDX: Distributed Data For The Web Simeon Simeonov
Agenda <ul><li>The need for Web distributed data exchange </li></ul><ul><li>The crisis of web applications </li></ul><ul><...
Metcalf’s Law of Connectivity <ul><li>Metcalf’s Law of Connectivity </li></ul><ul><ul><li>The value of a network is a func...
Have we Achieved World Peace?  <ul><li>One big assumption does not hold true </li></ul><ul><ul><li>Network nodes leverage ...
Case: FedEx Package Tracking <ul><li>Individuals track packages via browsers, but... </li></ul><ul><li>FedEx’s  real  cust...
The Crisis of Web Applications <ul><li>Structured data exchange is not happening </li></ul><ul><ul><li>HTTP is a flat text...
Native XML Approach <ul><li>DTD design </li></ul><ul><li>XML data generation </li></ul><ul><li>XML parsing and processing ...
Sounds Great, But… <ul><li>Native XML processing is still not very easy </li></ul><ul><ul><li>XML is a young field </li></...
The Need For XML Middleware <ul><li>Solution </li></ul><ul><ul><li>A mechanism for exchanging structured data  that hides ...
How should it be done? <ul><li>Work directly with application data </li></ul><ul><ul><li>Developers never see XML, but the...
How should it work? Platform X Platform Y Application Data Serialization Deserialization Application Data The  Net
Web Distributed Data Exchange <ul><li>WDDX DTD </li></ul><ul><ul><li>Language and platform neutral representation of commo...
Technology Comparisons <ul><li>XML DTDs </li></ul><ul><ul><li>WDDX abstracts the process of DTD creation, XML generation, ...
WDDX Evolution <ul><li>WDDX DTD is versionable </li></ul><ul><ul><li>Multiple versions of WDDX can interoperate </li></ul>...
When Should One Use WDDX? <ul><li>Point-to-point data exchange </li></ul><ul><ul><li>No pre-existing XML/SGML content </li...
WDDX Scenarios ColdFusion Server CF Server ASP Server JavaScript Browser Windows/Java Client XML WDDX WDDX XML The  Net
WDDX Demonstration <ul><li>Demo . . .  </li></ul>
Web Technology Adoption Path <ul><li>XMLless Web </li></ul><ul><ul><li>Structure, where art thou? </li></ul></ul><ul><li>X...
Call to Action <ul><li>Want to see WDDX in action? </li></ul><ul><ul><li>Download ColdFusion:  www.coldfusion.com </li></u...
Upcoming SlideShare
Loading in …5
×

XML98 WDDX Presentation

2,401 views

Published on

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

Published in: Business, Technology
  • Be the first to comment

  • Be the first to like this

XML98 WDDX Presentation

  1. 1. WDDX: Distributed Data For The Web Simeon Simeonov
  2. 2. Agenda <ul><li>The need for Web distributed data exchange </li></ul><ul><li>The crisis of web applications </li></ul><ul><li>The need for XML middleware </li></ul><ul><li>Web Distributed Data Exchange (WDDX) </li></ul><ul><li>WDDX scenarios </li></ul><ul><li>Demos </li></ul><ul><li>Call to action </li></ul>
  3. 3. Metcalf’s Law of Connectivity <ul><li>Metcalf’s Law of Connectivity </li></ul><ul><ul><li>The value of a network is a function of the number of nodes connected to that network; value grows exponentially with each node </li></ul></ul><ul><li>The Web is the new computing platform </li></ul><ul><ul><li>The number of nodes on the Net is huge, and growing at an ever increasing rate, so... </li></ul></ul>
  4. 4. Have we Achieved World Peace? <ul><li>One big assumption does not hold true </li></ul><ul><ul><li>Network nodes leverage peers’ data and services </li></ul></ul><ul><ul><li>A Web system must be a data and service portal, not just an outward facing end-user application </li></ul></ul><ul><li>Web applications are not so designed </li></ul><ul><ul><li>Most view web applications as having a fixed end-user base working through web browsers </li></ul></ul><ul><ul><li>The combination of HTML + script provides no separation of data and processing </li></ul></ul>
  5. 5. Case: FedEx Package Tracking <ul><li>Individuals track packages via browsers, but... </li></ul><ul><li>FedEx’s real customers are corporations </li></ul><ul><ul><li>They want to integrate their order tracking systems with FedEx’s package tracking system </li></ul></ul><ul><ul><li>They cannot do this using the existing system </li></ul></ul><ul><li>Redesign requires “public data interfaces” </li></ul><ul><ul><li>Requires exchange of structured data between browsers and servers and in between servers </li></ul></ul>
  6. 6. The Crisis of Web Applications <ul><li>Structured data exchange is not happening </li></ul><ul><ul><li>HTTP is a flat text-based protocol </li></ul></ul><ul><ul><li>Browsers are data-starved; despite ever increasing processing capabilities, they do little more than user-interface related work </li></ul></ul><ul><ul><li>Servers are separated by the walls imposed by under-powered data exchange </li></ul></ul><ul><li>Solution </li></ul><ul><ul><li>Break these walls down; let web applications execute on the entire network </li></ul></ul><ul><ul><li>We know XML can help! But, how? </li></ul></ul>
  7. 7. Native XML Approach <ul><li>DTD design </li></ul><ul><li>XML data generation </li></ul><ul><li>XML parsing and processing </li></ul><ul><ul><li>SAX, DOM, … </li></ul></ul><ul><li>XML transformation </li></ul><ul><ul><li>CSS, DSSSL, XSL, … </li></ul></ul>
  8. 8. Sounds Great, But… <ul><li>Native XML processing is still not very easy </li></ul><ul><ul><li>XML is a young field </li></ul></ul><ul><ul><li>The standards landscape is in flux </li></ul></ul><ul><ul><li>Many tools are immature and/or expensive </li></ul></ul><ul><ul><li>Mass developer community lacks expertise </li></ul></ul><ul><li>How can the Web take advantage of the benefits of XML in this environment? </li></ul>
  9. 9. The Need For XML Middleware <ul><li>Solution </li></ul><ul><ul><li>A mechanism for exchanging structured data that hides the details of XML processing </li></ul></ul><ul><li>What is required? </li></ul><ul><ul><li>The Web is simple, pragmatic, and ubiquitous </li></ul></ul><ul><ul><li>Page-based web applications that run on web application servers (Perl scripts, Active Server Pages, ColdFusion) rule the field </li></ul></ul>
  10. 10. How should it be done? <ul><li>Work directly with application data </li></ul><ul><ul><li>Developers never see XML, but they benefit from it </li></ul></ul><ul><li>Cross platform </li></ul><ul><ul><li>Different OSs: Windows, Mac, Unix </li></ul></ul><ul><ul><li>Different languages: ColdFusion Markup Language (CFML), VBScript, JavaScript, Java, C/C++, COM, CORBA, Frontier, Perl, PHP, Python </li></ul></ul><ul><li>Open and flexible </li></ul><ul><ul><li>Easy to contribute to </li></ul></ul><ul><ul><li>Can track evolving W3C standards </li></ul></ul><ul><li>Free! </li></ul>
  11. 11. How should it work? Platform X Platform Y Application Data Serialization Deserialization Application Data The Net
  12. 12. Web Distributed Data Exchange <ul><li>WDDX DTD </li></ul><ul><ul><li>Language and platform neutral representation of common application data structures: strings, numbers, booleans, date-time values, arrays, associative arrays, and recordsets </li></ul></ul><ul><li>WDDX platform modules </li></ul><ul><ul><li>Serialization/deserialization modules for CFML, COM (C/C++, ASP, and all Windows apps), JavaScript (browser), Perl, and Java </li></ul></ul><ul><li>WDDX datatypes </li></ul><ul><ul><li>Common API uses native datatypes when possible </li></ul></ul>
  13. 13. Technology Comparisons <ul><li>XML DTDs </li></ul><ul><ul><li>WDDX abstracts the process of DTD creation, XML generation, and XML parsing for app data </li></ul></ul><ul><li>DOM </li></ul><ul><ul><li>WDDX is an API built on top of DOM </li></ul></ul><ul><li>SOAP and WebBroker </li></ul><ul><ul><li>WDDX is about data, not object method requests </li></ul></ul><ul><li>WIDL </li></ul><ul><ul><li>WDDX has no notion of a service or an interface </li></ul></ul><ul><li>RDF and DCD </li></ul><ul><ul><li>WDDX is not about meta-data </li></ul></ul>
  14. 14. WDDX Evolution <ul><li>WDDX DTD is versionable </li></ul><ul><ul><li>Multiple versions of WDDX can interoperate </li></ul></ul><ul><ul><li>WDDX can track evolving W3C standards </li></ul></ul><ul><li>Source code is open </li></ul><ul><ul><li>Encourages involvement and participation </li></ul></ul><ul><ul><li>Lowers the cost of WDDX-enabling a platform </li></ul></ul><ul><ul><li>Allaire is working together with third parties </li></ul></ul><ul><li>It’s free! </li></ul><ul><ul><li>The more nodes speak WDDX, the better </li></ul></ul>
  15. 15. When Should One Use WDDX? <ul><li>Point-to-point data exchange </li></ul><ul><ul><li>No pre-existing XML/SGML content </li></ul></ul><ul><ul><li>Application-level data is ‘produced’ </li></ul></ul><ul><ul><li>Applications ‘consume’ the data </li></ul></ul><ul><ul><li>Only one use for the XML data representation </li></ul></ul><ul><li>Multiple ad hoc data exchanges </li></ul><ul><ul><li>Little or no benefit from custom vocabularies </li></ul></ul><ul><ul><li>Example: per page browser-server data exchange </li></ul></ul>
  16. 16. WDDX Scenarios ColdFusion Server CF Server ASP Server JavaScript Browser Windows/Java Client XML WDDX WDDX XML The Net
  17. 17. WDDX Demonstration <ul><li>Demo . . . </li></ul>
  18. 18. Web Technology Adoption Path <ul><li>XMLless Web </li></ul><ul><ul><li>Structure, where art thou? </li></ul></ul><ul><li>XML middleware </li></ul><ul><ul><li>Browsers and servers exchange structured data </li></ul></ul><ul><ul><li>Developers can benefit from WDDX now </li></ul></ul><ul><ul><li>Proof of XML benefits to the enterprise </li></ul></ul><ul><li>XML-enabled Web </li></ul><ul><ul><li>A better place for all </li></ul></ul>
  19. 19. Call to Action <ul><li>Want to see WDDX in action? </li></ul><ul><ul><li>Download ColdFusion: www.coldfusion.com </li></ul></ul><ul><ul><li>Visit the WDDX site: www.wddx.org </li></ul></ul><ul><li>Want to try WDDX out? </li></ul><ul><ul><li>Sign up for the Software Development Kit (SDK) </li></ul></ul><ul><ul><li>Send email to [email_address] . It’s free! </li></ul></ul><ul><li>Want to get involved in the WDDX effort? </li></ul><ul><ul><li>You can help the vocabulary evolve, or you can contribute serialization/deserialization modules </li></ul></ul><ul><ul><li>Send email to [email_address] </li></ul></ul>

×