Building Portals with XML
Most of us take the Web for granted, and we are rapidly becoming dependent on it as a source of both business and personal information. The growth and change of the Web continue at an exponential pace. But the Web is neither limited to Microsoft's Internet Explorer and Netscape's Mozilla browser nor to the typical capabilities provided by these client applications. The Web is a globally distributed information network and a massive, heterogeneous database. The dominant HTML representation for Web content has limited our ability to manipulate and repurpose this information for new uses, but the adoption of XML will enable the Web to enter a new dimension of use and usefulness.
XML enables communication of information content without limiting the choice of its presentation. The previous chapter introduced the possibility for e-business integration by defining shared business vocabularies and exchanging XML-encoded messages as part of interorganizational business processes. The Web applications introduced in this chapter recombine the XML information content with a presentation that is appropriate for the viewing device and the user's requirements. These Web applications have several significant responsibilities.
Aggregating multiple XML sources into a unified view
Disaggregating a large XML document into its parts
Filtering a document's content to a subset required by a user in a particular context
Reordering or restructuring the content for an application's user
Formatting the content for presentation appropriate to the user's viewing device
Managing navigation of links within and between the aggregated information content
All of these features are commonly brought together in a portal application. A portal provides a view into these information sources that is tailored to the requirements of a particular user. In the context of a B2B e-commerce application, this portal is generally focused on the information required in a single vertical market segment, yielding the common term vortal that describes these vertical portals. The use case descriptions included in this chapter summarize the requirements for designing a portal application.
But a portal is not necessarily viewed from a PC desktop nor rendered from HTML. A portal provides a view into the World Wide Web of distributed information content, and it presents that content and navigation in the most appropriate way for the current user device. In the last section of this chapter we'll look through a wide-angle lens at the emerging landscape of wireless Web applications and their convergence with more conventional wired desktop application. As you read through the following use cases, keep your mind's eye on this vision of global content accessed from many devices.
Use Case Analysis
Two primary components of the Web applications are discussed in this book: content management and portal design. These components are illustrated in the UML use case diagram in Figure 5-1. This diagram represents the next level of detail for two use cases introduced in Figure 1-1.
Figure 5-1 Web design use case diagram
The use cases for content management, illustrated with gray shading, describe the requirements for business analysts and content developers, the two stakeholders responsible for defining the business vocabularies that determine the structure of XML documents created as an application's content. In addition, many Web applications depend greatly on the metadata assigned to content that will personalize the portal presentation. Personalization rules evaluate the relevance of content by matching its metadata with the profile attributes of the current user.
The use cases shown for portal design are not exhaustive, but they illustrate the principal requirements, including the dependencies on content management. The sub-panes of a portal application interface are often called portlets (an obvious outgrowth of applets and servlets used in Web application design). A portlet often includes a template for its presentation and an XSLT stylesheet to format the underlying XML data. Most portal applications also allow users to customize the portal layout and portlet selection in their personalized view.