XML: A Managers Guide (2nd Edition) (Addison-Wesley Information Technology Series)
Business Challenge
Any content-oriented business model, whether supported by advertising fees or membership dues, relies on a dedicated viewership. Building this viewership requires catering to the needs of the target audience. Serving these needs means delivering a complete content package. For example, a Web site for online sports pools requires substantial supporting content to engage viewers such as real time game scores, team rosters, and sports- related articles. Moreover, because of the wealth of supporting content and the limited screen real estate of any client device, the Web site must customize the view of each user so he sees only the content most important to him. Our online sports pool Web site must filter content to present each user information only on the sports and teams that interest him, perhaps even customizing the presentation to use the colors of his favorite team in whichever sport is currently in season . Traditional technologies for dynamically generating HTML have some drawbacks for content packaging and customization. The presentation-oriented nature of HTML makes it difficult to integrate third-party content directly and maintain a unique brand. The other alternative is to access third-party data sources, but the variety of possible data sources makes this approach an integration nightmare. Once a Web site manages to assemble all the necessary content, the customization problem arises. Almost always, this customization involves the use of a programming-oriented framework. The generality of these frameworks usually means that they limit the customization to a few predefined screen regions , each having a menu of canned content options. Most important, HTML supports nonbrowser devices poorly. The rapid increase in the number of these devices with Internet connectivity makes them an important audience segment. Because of HTML's presentation focus, it is difficult to repurpose HTML for smaller-form factor devices. Programming frameworks can construct alternative presentations from data, but again the generality of these frameworks usually leads to limited display conversion options. XML Benefit
As discussed in Chapter 5, XML dramatically improves the ability of Web sites to acquire content. They can get content through XML-based authoring tools, XML-based syndication, or XML-based data integration. Moreover, content from all these sources uses the same format, so Web sites can easily synthesize coherent packages. Once a Web site has the content it needs, it must customize the delivery of this content for each user. This customization requires user profiles and rules for interpreting these profiles to filter the available content. XML can offer an advantage here as well. Formatting profiles as XML makes it possible to use the same infrastructure as the rest of the content. More important, it enables syndicates of related sites to exchange profile information to build a better model of user requirements easily. XML can also flexibly encode the rules for selecting a user's customized content with the technique discussed in the workforce automation section of Chapter 7. Using XML to specify behavior makes the customization process more responsive to change and makes rule specification part of the production process rather than the programming process. Putting the power to control content selection in the hands of producers rather than programmers results in a medium much more responsive to changing user needs. Architecture
As shown in Figure 8-1, there are three main layers . The Web server layer delivers formatted content to the different types of devices. The provisioning layer selects the best content to fulfill each user request by evaluating the client device type, the preferences in the user's profile, and rules on how to match existing content to user needs. The content manager is responsible for managing the content production process by supporting all the necessary content acquisition channels. Figure 8-1. Flexible Content Provisioning Architecture
Key Features
The key feature of flexible content provisioning is the separation of responsibility between provisioning content to users and acquiring content from providers. This separation is what delivers improved flexibility. Two separate groups can independently address both ends of the information supply chain. Development Process
Third-party vendors obviously supply the authoring components for static content and stylesheets. They also supply some of the server components . At a minimum, third parties supply the CMS, syndication server, and data server. Certain vendors are updating their personalization and customization engines to support an XML content architecture, although leading-edge Internet services may find them inadequate and need to build their own. Successful customization depends on effective profile definition. You must create a schema for describing the kinds of preferences users may have and the actions the engine can take based on those preferences. Preferences have three categories. The most obvious are presentation preferences such as "large fonts," "16 colors," and "bullet." Usually, these presentation preferences apply to specific view preferences such as "summary view," "prioritized view," and "drill-down view." The third category, topic preferences, determines the selected content on which these views operate . Example 8-1 shows a possible set of parameters for the online sports pool application mentioned earlier. Example 8-1
<Font: Courier New><Interests> <Sport> <League>NCAAMensBasketball</League> <Team>Stanford</Team> </Sport> <Sport> <League>NFLFootball</League> <Team>Denver</Team> <Team>Minnesota</Team> </Sport> </Interests> A particularly strong advantage of using XML for Web experience customization is the potential for combining preferences from different sites. The more information you have about a user, the better you can customize the user's experience. If you partner with several different service providers that use XML-based profiles, you can easily pool this information. Whether you build your own customization engine or buy one from a third party, you still have the problem of configuring it. The first step is to identify target users and gather data on the types of information they want and the points of customization that are important. User programming specialists then encode this user model in the preference framework and create the necessary schema and stylesheet options. They connect the framework to the user interface for setting preferences. Screen designers create a set of style options for each schema and each device. They may use a two-stage stylesheet strategy where a first stylesheet creates an abstract description of the layout and a second stylesheet binds it to a particular device layout language. Schema Source
To a great extent, the structure of the information is the Web site's competitive advantage. Therefore, you will probably want to design your own schemas for content. You may well design your own profile schema, but joining forces with a group of service providers could be more beneficial because the more information you have about users, the better you can anticipate their needs. Document Life Cycle
The customization engine creates customized content documents from generic content documents managed by the CMS. Obviously, either the service provider or a third-party content provider preserves these generic documents. The service provider must also preserve the profiles and rules that drive content customization. Because these documents are operational data as defined in Chapter 5, sustaining high loads may require a native XML store or data server. Once the engine generates the customized content documents, users consume them via the Web server. Unless explicitly preserved, these documents are destroyed upon consumption. The whole point of customized publishing is to provide a unique experience based on the most current information available, so it is unlikely that you would save these documents. |