Charles Wiecha Rahul Akolkar Mash-ups Considered Harmful! Rafah Hosn Thomas Ling Composition and Choreography of Web Components IBM T. J. Watson Research Center Yorktown Heights, New York

Some current Web XAC’s: XML Application Components 3. XForms Data Model is bound Compositional Models 2. SCXML Controller to views. Loose coupling replaces Jscript to between data and widgets. 1. Application controller control the execution of could be generated from an application by XForms Multimodal listening to events and X+V state chart diagram. No Data Model data model changes. elements Jscript experience 4. Yahoo Map view is wrapped by XBL needed. Loose coupling of and presented as a YMap XML control. namespace. The YMap View interacts XHTML VoiceXML SCXML with other components by firing the GUI View Controller same events and data changes as View built-in components.

Declarative widget to widget wiring: O(n2) Tight coupling of data

VoiceXML AJAX XHTML+ Yahoo + Widgets to model XForms Map Google Map Data Train Data wiring: O(n) Loose 5. Both control and data in coupling of this application are loosely coupled. So, additional JS components HTML+ HTML views can easily be added Google Train to the application. View View (Example: A Speech view is added) XML Structure DOM Tree Procedural widget to widget wiring: O(n2) Tight coupling of components XML Events Summary 6. Developers can package their XAC’s empower Web What is missing from the above mash-ups as Web Components. XForms Data application developers to Each component is composed as Model models? easily and rapidly create rich described here, and the XAC end-user interaction. •Extensibility component interacts with its SCXML container in the same manner as an Controller XAC’s leverage existing Web •Scalability atomic component: technologies, namely XHTML, •Ease of development • Publishing a data model SCXML, and XForms • Firing XML events to the DOM tree extending them to support Views component creation, composition, and late binding. XAC Web Component