Dynamic Web Applications

Authoring, Deploying And Consuming Mixed-Namespace XML
T. V. Raman
IBM Research


Outline

  • Characteristics of a Web application.
  • Building on what we have.
  • What’s left to solve.

1


Web Apps As Compound Documents

2


Characteristics

Web Browser —A Means To An End.
  • Deployed across the network.
  • Aggregate network services.
  • Client and server are independent.
  • Delegate functionality to appropriate modules.
  • Multiplicity of interaction paradigms.

Returning the WWW to its basics.

3


Prerequisites

  • Factor (content, style, interaction).
  • Separate memory model from UI logic.
  • Achieve symmetry between Web Services and Web Applications.

Rediscovering the WWW

4


Web Services And Applications



Services Applications




Publish model Publish model


Machine UI Human UI


Callable Callable


Abstraction Aggregation


Eventing


Coarse-grainedFine-grained


Two sides of the same coin.

5


Building On What We Have

6


W3C Architecture

 Author               Deploy               Consume
Content                App                     UI





   XML                  XML                    XML




XForms               XEvents                XHTML

7


Versatile Deployment

Consistent eventing model is essential.
  • Stand-alone thick-client.
  • Distributed thin-client.
  • Sporadically connected clients.

Lazy bindingFlexible deployment

8


W3C Building Blocks





ModuleNamespaceProtocolHTTP




9.1


W3C Building Blocks





containerXHTMLRuntimeXML DOM








ModuleNamespaceProtocolHTTP




9.2


W3C Building Blocks





ContentXHTMLStyleCSS








containerXHTMLRuntimeXML DOM








ModuleNamespaceProtocolHTTP




9.3


W3C Building Blocks





Vectors SVG Voice VoiceXML




MetadataRDF triplesTimingSMIL








ContentXHTMLStyleCSS








containerXHTMLRuntimeXML DOM








ModuleNamespaceProtocolHTTP




9.4


W3C Building Blocks





TransformXSL Find XQuery




Types XSchemaAccessXPath








Vectors SVG Voice VoiceXML




MetadataRDF triplesTimingSMIL








ContentXHTMLStyleCSS








containerXHTMLRuntimeXML DOM








ModuleNamespaceProtocolHTTP




9.5


W3C Building Blocks





ModelXFormsEventingXML Events








TransformXSL Find XQuery




Types XSchemaAccessXPath








Vectors SVG Voice VoiceXML




MetadataRDF triplesTimingSMIL








ContentXHTMLStyleCSS








containerXHTMLRuntimeXML DOM








ModuleNamespaceProtocolHTTP




9.6


Open Issues

10


Authoring Mixed-Namespace XML

  • What is the content-type.
  • What are the runtime semantics?
  • How does eventing propagate across namespace boundaries?
  • How does style propagate across namespace boundaries?

11


Loading Mixed Namespace Documents

  • Identifying required components at authoring time.
  • Locating required components at runtime.
  • Initializing and configuring required components.

How do you bootstrap an XML browser?

12


Component Interfaces

Common interfaces for attaching to the framework.
  • Component life-cycle.
  • Resource allocation.
  • Event dispatch across component boundaries.
  • Styling across component boundaries.

13


User Interaction And Eventing

Mediate User Interaction Behavior Via Eventing
  • Use DOM2 Events consistently.
  • Enable components to communicate through the container.
  • Have components bind to a common memory model.

14


Packaging And Security

Bringing it all together
  • Packaging related resources.
  • Linking across resources in a package.
  • Security.
  • Digital signatures and trust.

15


Web Ready To Take-Off (Again)

PIC

16