9.3 Creating Personalized Information Views

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.

[3] http://www.yahoo.com

[4] http://my.yahoo.com

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]

[5] The name servlets was chosen to contrast it with applets , which referred to small pieces of code that ran inside the Web browser application.

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 RSS

Rich 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.

[6] http://meerkat.oreillynet.com

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 :


The set of feeds to which the user is subscribed


The set of feeds that are available to the user


The presentation to be used in displaying the content from the various feeds

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


Creating an XForms model with two instance elements, one to hold the subscribed feeds and the second to point to the available feeds


Bind XForms user interface controls that allow the user to

  • Browse the available feeds

  • Preview a given feed

  • Subscribe to a selected feed

  • Update the view by adding content from the newly subscribed feed

  • Persist the instance that holds subscription details for later access

Notice that a personalized newspaper like the one created earlier has all the immediate benefits of using XForms.

  • The newspaper will be accessible from a variety of different end-user devices and modalities.

  • The newspaper is designed for accessibility because of the accessibility inherent in the XForms design.

  • By having the instance that holds the available feeds refer to a master list of sources via a URI, the personalized newspaper can automatically update its user interface as new feeds become available.

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 WSRP

The 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.

[7] http://www.oasis-open.org/ committees /wsrp/

XForms. XML Powered Web Forms with CD
XForms. XML Powered Web Forms with CD
Year: 2003
Pages: 94

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net