In its simplest form, an OpenSAM mashup consists of two applications: a Home Application and a Productivity Application. The user clicks on a link within the Home Application to create or edit a document.

Figure 1.1 Two Application
Mashup
Boxes within these figures are Web 2.0 applications running in a
browser window or frame.
The LAUNCH LINK is a typical HTML link presented in the user's browser. It is generated by the Home Application according to what the user is viewing and doing. The LAUNCH LINK contains all the information necessary to allow the Productivity Application to browse files and read/write documents in the Home Application.
The LAUNCH LINK also contains considerable context and meta information to enable the applications to operate as one. For example, the LAUNCH LINK contains a Current-Folder indicator so that a File Save operation within the Productivity Application shows the folder the user was working in as the default destination folder.
The actual LAUNCH LINKs within a Home Application are designed with GUI based meta-customization of the Home Application by an administrator or integrator. New Home Application features or new Productivity applications are added without recoding the other party(s).
The WEBDAV READ/WRITE operations take place from server-to-server. Because the Productivity Application's direct read/write requirements cannot be anticipated by a Home Application, it reads and writes data to and from its own server. This allows it to manage partial writes, auto-saves, multiple-user synchronization, intra-session versioning, and various document housekeeping chores in an optimal manner. At certain document commit points, the Productivity Application's server writes a document to the Home Application's server and thus makes it available to all the Home Application's document management and workflow capabilities.
OpenSAM's LAUNCH LINK and WEBDAV formats support the addition of opaque application-specific data types that can be transmitted amongst other applications without recoding.
As Web 2.0 applications become more powerful and proliferate across the Internet, complete solutions will require the use of more than two or three applications. The rich nature of the OpenSAM LAUNCH LINK and WEBDAV READ/WRITE connections allow any number of applications be connected with no loss of context or meta data amongst them.

Figure 1.2 Multiple Productivity Applications in a Mashup
In this figure we observe four Productivity Applications working with one central Home Application. The cascading Productivity Applications simply launch each subsequent application with the CGI Parameters they received when they were launched. Since these CGI Parameters provide access to the Home Application, the web of applications remains connected with no loss of fidelity.
An example use for this wiring of OpenSAM applications would be a Productivity Application using another application to reformat, convert, or distribute its document. Imagine the topmost OpenSAM Productivity Application gathering, filtering, and validating a table of data. It then launches another application to graph the data. The final graph as well as the intermediary documents reside at the Home Application, within the same folder, for subsequent use.
As flexible as the Figure 1.2 wiring is, there is a third class of OpenSAM mashups. Although we like to classify Web 2.0 applications as a Home or Productivity Application, the distinction does not impose limits and either type can act as the other when needed.
An email application is a common example of a Home Application that also acts as a Productivity Application. Storing and providing access to email messages and attachments are its Home Application functions. Reading, writing, and sending email messages are its Productivity Application functions.

Figure 1.3 Heterogeneous Application Mashup
SalesForce.com, Webex connect, and community applications such as CollectiveX are other examples of Web 2.0 applications that operate as both Home Applications and Productivity Applications. The ability to launch them from any other application opens up a broad range of task focused solutions that are neither difficult to learn nor cumbersome to use.
OpenSAM's architecture supports a broad range of solutions because:
Copyright © 2006-2008, the authors.