| Datasheets and Databooks at Fairchild Semiconductor | Table of contents | Indexes | Using to create information support for management applications | |||
A Generalized Online Delivery Paradigm for XML Information |
AIS Software ![]() France ![]() Lecluse, Christophe Paris ![]() | Christophe
Lecluse
General Manager, AIS Software
Biographical notice Christophe Lecluse is general manager of AIS Software. He has been working on SGML applications and systems for over eight years and specializes in SGML systems, object databases and languages. He was the originator of the Balise and Dual Prism products developed by AIS Software. |
Content Management ![]() Online Delivery | Introduction |
| Publishing companies and other information providers increasingly think of themselves as content owners with information as their product. They increasingly establish centralized digital repositories to store all of the content owned by the organization, in various media: text, images, audio and video. |
| Content Management thus cover all the applications that help organize this information so that its owners can benefit from the flexibility of digital information without getting lost in the "virtuality" of this new information process. |
| This definition is maybe the broadest possible definition of Content Management. It characterizes the current evolution of IT technologies and Document Management technologies that are tending to converge into a unified framework. The Web introduced the "document" as a generalized metaphor for information systems interfaces. |
| Web-publishing | A "Web-publishing" Definition |
| Closer to us, the very fast development of Web-publishing already justifies the introduction of specific concepts and technologies. Many Web publishing projects today struggle with issues like granularity of information, difficulty to merge information from various sources (especially information stored in traditional relational database systems) difficulty to personalize publications, etc. |
| Web content management can thus be defined as a way to organize the production and delivery of structured information organized in Web publications. |
| One of the key requirements of this organization is the possibility to abstract a particular piece of information from the final delivery representation of this information. It has became obvious that producing "flat" HTML pages organized through simple hyper-links and stored in file systems is not scalable to Web publishing projects of significant size. |
| For a decade, SGML, and now XML, has proved to be an adequate method for abstracting information from its delivery in various media. The very fast adoption of XML in Web Content Management is thus not really surprising. |
A "Functional" Definition |
| Because Web Content Management establishes a bridge between information production and information delivery (or between document production and document delivery), the proposed solutions have features that relate to information management and other features that relate to information delivery. This of course contributes to the difficulty of characterizing and comparing solutions and products. However, a tentative functional definition for Web Content Management solutions could be the following. |
| Production |
| Delivery |
| In this paper, we will focus on the delivery side of the process and propose a framework for structuring server applications implementing these functions. |
Typical Online Delivery Applications |
| There is clearly not one typical online delivery application. The spectrum of possible applications is very wide. We can however provide a few representative examples along this spectrum. These applications are typically the ones we had in mind when designing the framework described below. |
Common Characteristics: Dynamicity and Various Information Sources |
| Being able to merge (in batch mode and/or dynamically) several sources of information, including RDBMS information is a very common and important aspect of Web online delivery systems, especially for applications using XML/SGML. Even if XML/SGML has (in theory) the capability of modeling most of a publication's content, we must be able to use existing databases and leverage RDBMS technologies and applications when they are appropriate. |
| Figure 1 below presents the typical architecture for an online delivery server, merging several information sources. |
|
Challenge: Reduce Development and Maintenance Cost for Applications |
| Important applications are already deployed within corporations using such an architecture. However, most of them have been built using large custom and low-level programs. Reducing development and maintenance cost for such applications is thus an important challenge for deploying cost-effective solutions and really taking benefit from dynamic personalized web sites without spending millions of dollars. |
| A first condition to significantly reduce development (and maintenance) cost is to rely on higher level components and abstractions than just low level XML and database manipulation and programming. A second condition is to offer high level GUI-based development tools that implement this architecture and guide developers throughout the implementation process. |
| This is the approach we adopted when developing our Dual Prism product. The web delivery framework we present below have defined and implemented into this product. |
Proposal for a Dynamic Web Delivery Framework |
A Repository for XML Data |
| Most applications require a repository for the XML data that is published. A general (and generic) XML repository is thus a key component in a Web delivery system. |
| The XML repository is a structured information storage space that contains all the resources required to configure and publish the online delivery applications. We organize it as a set of Collections. Each Collection is made up of one or more XML Modules. A Module corresponds to an actual document or part of a document to be published. Each module may itself be divided into Sub-Modules, thus allowing hierarchies of XML modules to be defined. |
| Several versions of a Module may exist at a given time, and the server can choose to publish one particular version of a module at a given time. |
| Genericity of the XML repository is key for providing a flexible system that can be used seamlessly to publish SGML Docbook documents, J2008 technical documentation modules, or hierarchies of catalog pages merging XML content with factual data. |
| Of course, relational databases also play a major role in many of these applications for representing and managing factual data (prices in a catalog application, part references, etc.) and meta data (configuration information, keywords, etc.). However, modeling and decomposing every item of XML data used in an application into a set of relational tables would lead to complex and costly processes in many cases, and would lack genericity. |
| We thus propose an framework where a native and generic XML data repository does co-exist with relational databases that store factual data, meta data, and in some cases, also XML fragments. |
| In addition to native and generic XML storage, the repository offers indexing and searching facilities that are used in applications. This includes: |
Structure Style Sheets : Controlling XML Module Fragmentation and Indexing |
| A Structure Style Sheet (S-Style Sheet) describes how a particular type of XML module should be split into smaller chunks (called fragments) for delivery over the network. An S-Style Sheet also contains indexing information that is used to generate full-text and structure indexes for each module in the repository, and to generate various types of table of contents. |
|
|
|
|
Templates : the Central Component |
| Templates control the overall organization and layout of an application. They define placeholders (or flows) within a page into which information from the XML Repository or some external data source is inserted. |
| In other words, templates specify which data goes into a page and where that data should be displayed. We designed the template mechanism to be as flexible as possible: |
| Perhaps more importantly, you can mix both of the above-mentioned 'behaviors' together in the same application, as required. |
| Templates are XML documents that contain both standard (typically HTML) tags, and a combination of special XML tags and custom functions. Standard tags are sent to the browser as is, whereas special tags are interpreted by the server and are either replaced with content or used to trigger specific actions, such as evaluating a function or launching a database query or external script. |
| Templates can thus be used for a wide range of complex manipulations, including: |
|
|
|
Rendering Style Sheets : On the Fly Generation of HTML for a Fragment |
| Whereas templates specify which data goes into a page and where that data should be displayed, Rendering Style Sheets (R-Style Sheet) define how XML data should be displayed. |
| When you need to display structured XML/SGML content within a page, the template invokes a Rendering Style sheet that transforms the original XML structure into a presentation structure (generally a series of HTML tags), suitable for display in a Web browser. The template then places this formatted content into the page at the appropriate position. |
| The separation of content formatting and page layout in this way enables you to design highly modular applications. You can design several alternative page layouts (by creating several templates) and format document content in each case using a single Rendering Style Sheet. Alternatively, you can create several different Rendering Style Sheets for use with a single Template and dynamically select which one to use in order to present information differently, based on the profile or needs of the user. |
| An R-Style Sheet contains a list of style rules and their associated properties. These style rules describe how the structure of the source data should be transformed into a presentation structure for delivery over the Web. |
| As with Templates, Rendering Style Sheets are extremely flexible: |
| Style properties can contain any combination of Balise expressions and function calls, enabling you to use all the flexibility of the scripting language to perform a wide range of data manipulations. |
|
|
|
Scripting at Every Corner |
| Scripting stands at every corner in our framework. Structure style sheets, templates, and rendering style sheets can include Balise expressions that are dynamically evaluated; they can also refer to external function libraries. |
| Database access is one of the most important facilities that is accessible through scripting. Minimum database support includes ODBC and native Oracle interfaces that enable you to integrate and manipulate external data sources directly from within a publication. |
| This scripting capability is what makes the proposed framework more than a simple template system and allows arbitrarily complex Web publication applications to be developed. |
| Datasheets and Databooks at Fairchild Semiconductor | Table of contents | Indexes | Using to create information support for management applications | |||