At Adobe MAX last month, Adobe announced the Mosaic alpha release (to a beta community). It is a composite rich internet application product that allows organizations to integrate and mash up their Flash/Flex, HTML and 3rd party web applications. Mosaic is part of Adobe’s approach to building next generation rich internet application (RIA) applications in the enterprise. Using Mosaic, you can create task-centric applications (i.e. mashups) that are context aware and are composed of other applications.
From the glimpse of what I saw in my hands-on session, the alpha version of Mosaic includes a subset of what you’d expect from a portal. But Adobe was very careful not to call Mosaic a portal. It provides the UI layout and inter-application communication that you’d want from a portal-like technology, but it is intended to be more of a mashup container. As a result, Mosaic is intentionally missing many portal features such as user management.
Tiles and Views
Each application that is contained in Mosaic is referred to as a tile. Tiles are made available to Mosaic through the catalog. The catalog contains all the information about a tile including its location, category, description, tags and other information about its layout. Any tile from the catalog is available to be injected into Mosaic. At the moment, Mosaic stores the tiles in an XML-based catalog. It seems likely to assume that Adobe will ultimately provide a management facility to allow non-programmers to manage the catalog and tile information.
An interesting aspect of the Mosaic UI is its support for up to 3 views. A view allows end-users to create a collection of related applications in single context. For example, within Mosaic you might have a view that contains your financial tiles, another view that contains your HR-related tiles and a third view that contains CRM-related tiles. You can think of views along the lines of multiple desktops or workspaces supported in Windows or Spaces on a Mac. As you would expect, the views can be saved from session to session and support the task-centric focus of Mosaic. As you would expect from a RIA application, Mosaic allows tiles to be rearranged within the view and also to run normalized or maximized.
Inter-Tile Communication
Ultimately, Mosaic allows Flash/Flex, HTML and 3rd party applications (where source code is not available) to be integrated. Flash/Flex tiles interact by modifying the application source to allow the resulting tile to send and receive messages and to take advantage of a global or view-based context. HTML applications (where source is available and can be edited) can make use of a JavaScript library to communicate. And finally, 3rd party HTML application (for which the source code is not available) can use URL Bridging to pass URL parameters. For example, you can include a tile in your application that calls google news to retrieve any recent news regarding Adobe by using the URL “http://news.google.com/news/search?q={global.sym}” where global.sym resolves to “adobe”.
Although details are not available, Adobe plans to provide tight integration with Mosaic and LiveCycle ES2.
Leave a Reply