Just as Web services derive their power from the ability to mix and match different services in creating complete solutions, there is enormous value in bringing end-user access to such diverse services from within a single well-integrated user interface. This idea has gained significant momentum on the Web with the move toward portals , Web sites that aggregate content from a variety of sources to provide an online dashboard . 9.3.1 What Is a Portal?A Web portal typically aggregates a number of useful end-user information services for access from within a single page . Portals are not new; they have been around since the early days of the Web, and most users are familiar with using portals such as Yahoo [3] since the mid-1990s. Over time, such portals have increased in sophistication and today offer additional features such as personalization, for example, my.yahoo [4] allows registered users to configure a personalized portal that aggregates information services that are of interest to a given user.
Such personalized portals are extremely convenient to use from an end-user perspective; however, until now they have been complex to create. The next evolution in this fast evolving area of Web applications is the advent of the portal server , a server component that aids in the rapid creation and deployment of a myriad of information services on a portal site. Such component applications are called portlets , a name chosen as a follow up to calling Web applications that run on a server servlets . [5]
The previous section describes how the XForms model and user interface can be used for putting a human face on Web services. Such Web services can be aggregated by portals to enable a single point of access to all of the Web services of interest to a given user. XForms plays a significant role in the human side of this equation when enabling a consistent user interface to the aggregation of services exposed by a portal. Web services based portals are presently an area of intense activity. Following, we summarize some of the relevant open standards that are expected to make a significant contribution in this area. 9.3.2 Content Syndication Using RSSRich Site Syndication (RSS) is an RDF-based means for content-rich sites to publish a conceptual table of contents . These conceptual RSS feeds can then be aggregated to create news portals . As an example, see Meerkat [6] from the O'Reilly network.
XForms proves extremely useful in creating personalized newspapers built using a collection of RSS feeds. Such a personalized newspaper consists of the following conceptual components :
These components map cleanly to the model-view separation that is at the heart of the XForms design. An XForms-based content portal that uses RSS feeds can be constructed by
Notice that a personalized newspaper like the one created earlier has all the immediate benefits of using XForms.
We show such a personalized newspaper in Figure 9.3. Figure 9.3 XForms news portal using RSS feeds.< html xmlns ="http://www.w3.org/1999/xhtml" xmlns:ev ="http://www.w3.org/2001/xml-events" xmlns:xf ="http://www.w3.org/2002/xforms"> < head >< title >Personalized News Portal</ title > < model xmlns ="http://www.w3.org/2002/xforms"> < instance id ="s" src ="http://example.com/subscr? u =aster"/> < instance id ="f" src ="http://example.com/feeds? u =aster"/> < instance id ="n" src ="http://example.com/news? u =aster"/> < submission id ="update" ref ="instance('s')" action ="http://example.com/subscr? u =aster"/> < submission ref ="instance('n')" replace ="instance" id ="news" action ="http://example.com/news? u =aster"/> </ model ></ head > < body > < group xmlns ="http://www.w3.org/2002/xforms"> < label >News Portal</ label > < select ref ="instance('s')"> < label >Add/Remove Feeds</ label > < itemset ref ="instance('f')"> < label ref ="title"/>< value ref ="@rss"/> </ itemset > < send ev:event ="DOMActivate" submission ="update"/></ select > < submit submission ="news"> < label >Get News</ label > </ submit > < table > < tr repeat-nodeset ="instance('n')">...</ tr > </ table ></ group > </ body ></ html > 9.3.3 UI Syndication Using WSRPThe personalized newspaper described in Section 9.3.2 relies on aggregating content feeds into a personalized newspaper. In the case of such content syndication, the raw XML content is ideally suited for being styled and presented in a consistent manner by the portal. However, information services that require a higher degree of user interaction may find this form of content aggregation unsatisfactory; this is because styling and adding behavior to the raw XML content can require significant effort. This aspect of aggregation is being addressed by Web Services For Remote Portals (WSRP), [7] an emerging Web services standard from OASIS. Just as the XForms architecture enables the binding of multiple views to the XForms model, approaches like WSRP have the potential to extend this approach one step further by enabling the creation of reusable Web user interfaces. Such user interfaces can themselves be syndicated to create complex end-user applications that have been put together from a collection of LEGO blocks comprising Web services that provide either content or user interfaces that bind to different content services.
|