XML Europe 2003 logo

Shell Oil Products: Business Process Model XML Publishing - (CS)

Abstract

This case study looks at the evolution over five years of a Business Process Model publishing system developed by RivCom for use by Shell International Oil Products. Initial development in 1998 made use of a proprietary browser plug-in to deliver XML in the browser. Over time, both system requirements and standards and tool capabilities have developed, and a series of versions of the system have been implemented, but there has been a constant desire to use a flexible, extensible, low investment approach. The presentation describes how this has been achieved.

The core of the presentation will focus on the key components of the systems in use at Shell, including:

  • the use of Microsoft Office based systems for content creation and editing

  • the application of generic XML data structures such as XTM (XML Topic Maps) and NewsML to different stages of the production process

  • options for delivery of content to the browser, and implications of integrating XML data and delivery systems within an HTML web delivery environment

  • interface technologies, including XSLT processing on the client using MSXML, and SVG

Development is planned for 2003 which will allow greater integration with enterprise systems, streamline production processes, and give greater functionality and flexibility to the end user. This will result in a more dynamic management and delivery environment, and will bring greater transparency to the process of creating and publishing content. The presentation will consider a range of candidate options for meeting these demands. These could include, for example, the use of topic map engines, database-driven delivery, or an XML application server.

The presentation will include detailed discussion of architecture and individual components, as well as a demonstration of the current systems. Finally, it will look at the lessons of the past five years of XML-based development, and the effect that they have had on current thinking.


Table of Contents

1. Introduction
2. Background
3. XML and RivComet
4. XSLT Pipeline
4.1. Data Structures
4.2. Editing
4.3. Publishing
4.4. Activity Descriptions
4.5. Linked Resources
5. Development
6. Conclusion
Biography

1. Introduction

RivCom has been involved with helping Shell to publish its business process models and related information since 1991, when the newly-released Word 1.0 was used to publish the Guide to Procurement and Logistics Management (GPLM). These models have always been of high strategic value to the business, and over the years since RivCom has been involved this value has steadily increased, and publishing and management requirements have grown in parallel. Models now have complex multiple hierarchies, and are mapped to each other directly and through other models. As complexity has grown, so has the challenge of designing and implementing intuitive and functional interfaces.

2. Background

When the first project was commissioned in 1991, SGML was a serious candidate for the delivery system. However the first development was based around MS Word, with Word fields used to incorporate 'tags' in the content, a database to store the structure of models, and PostScript processing for intelligent rendering of the combined Word and database output. This allowed us to ensure the integrity of the structure in the database, and to use the PostScript to include non-Word, hypertext-like features in the printed output. The example in Figure 1 is similar to the published version, which included glossary definitions and 'call-out' boxes.

click image for full size view

Figure 1. Printed page in style of Word version of DBAM

Following the production of the GPLM, the same techniques were applied to the Downstream Business Activity Model (DBAM). As with the GPLM, an online version was not part of the brief, but the structure of the document was developed with online delivery very much in mind, and the design of the pages mimicked a static representation of a dynamic HTML page.

3. XML and RivComet

In 1997, the expected call came for online delivery, with navigation, behaviour and presentation which brought to life the 'pseudo-hypertext' of the printed page, which had gained wide user acceptance. Recognising the opportunity to build on the work which had already been done, Shell Oil Products agreed on a strategy of storing and editing the content in XML, then in its infancy. As there was at that time no reliable way of presenting it in the browser, approval was also given for development of a simple browser plug-in (for Netscape, later cloned for IE) to transform the XML to HTML on the fly - known as RivComet. RivComet used its own stylesheet language, RivComet Stylesheet Language (RSL) to provide the behaviour in the browser that MSXML does now with XSLT. RSL also included the interface functionality now covered by JavaScript, DOM manipulation and CSS. This allowed us to manipulate an XML tree in memory, and for example use it to hold user preferences to drive the showing and hiding of sections. Functionality also included the ability to run queries between one window and another, and to specify in RSL direct communication with the browser engine from the interface.

The RivComet version of the DBAM was for a number of years a core resource within Shell Oil Products, and used to support business process development throughout the world.

4. XSLT Pipeline

More recently in 2001, new requirements and constraints began to emerge. First, on the delivery side of the picture, Shell was moving towards implementation of a global 'locked-down' desktop environment, and third-party browser plug-ins didn't sit easily within this approach. RivComet development was barely keeping up with developments in browser architecture, and standards-based approaches were beginning to provide much (though not all) of the functionality in the plug-in. Second, on the content side, business drivers were moving away from a single all-encompassing 'template' representation of business model, and towards a series of independent models. These needed to be mapped to each other through a common framework of generic activities, contexts and patterns, which could be used as reference points for the much more diverse range of business activities that users needed to model. Figure 2 shows the overall content architecture which the new version of the system needed to be able to support.

click image for full size view

Figure 2. DBAM4 Content Architecture

In this phase of development, the focus for the client was strongly on getting content in place, and there was no strong requirement to fund a long-term editing and publishing infrastructure. On the other hand, it was clear that we needed to put the foundations in place for a system which would potentially in due course form the basis for something which would have much wider scope and degree of integration with other systems than it does now.

4.1. Data Structures

In earlier incarnations of the system, data structures had been used which combined the representation of the model structure with its description, cross-references, glossary entries and so on. This is an example:

<activity ID="se12.m05.05" name="Establish costs and margins" refcode="05">
 <descrip>
  <para>Evaluate current operational costs and <glref glidref="margin">margins</glref>.
   Evaluate the forecasts of future demand and their likely implications on costs and margins.
   <crefs>
    <cref type="proc" pridref="se10.m10.20"/>
   </crefs>
  </para>
 </descrip>
</activity>

This was adequate for a two-dimensional standalone model, but would not cope well with the multi-dimensional, cross-linked models which were emerging in the new content requirements. A core data structure was needed to replace this, and the XML Topic Maps standard (XTM) appeared to provide a solution. As a generic data structure, it had the flexibility and extensibility to cope with the emerging requirements for data and for linked resources, offered the prospect as things progressed of support by editing and delivering tools being developed by a handful of vendors.

4.2. Editing

With this component in place, it remained to build and editing interface able to create XTM structures, and a delivery mechanism to the browser.

The decision on the editing interface was constrained by a need for pragmatism, working for the moment within the Shell global desktop environment and the tools it provided. In effect this meant a Microsoft Office based approach. The familiarity and wide acceptance of the Excel interface for both editing and presentation in Shell was the strongest factor in its adoption. To support the creation of structured business models, VB automation was developed for tasks such as creating links between model objects and grouping and outlining. An example of the resulting interface is shown in Figure 3.

click image for full size view

Figure 3. Example Excel interface

For some parts of the DBAM site, in particular those dealing with the data models which supported the business process models, Excel did not provide an editing interface which was robust or simple enough for the more complex data structures involved. This led to the use of Microsoft Access as the principle editing tool for data models, with an integration interface with the core system. Updates generated in Access are incrementally imported into the core XTM data using an XSLT-driven pipeline of validation and refresh modules.

4.3. Publishing

Transformation from Excel to XTM is now relatively simple, with the introduction of save to XML in Excel 2000, and an XSLT transformation to XTM.

On the presentation side, the principle challenge was to develop a flexible and performant transformation from the core XTM file set to a standard IE5 web interface. This interface needed to provide as a minimum the same level of functionality that was already present in the RivComet version of the DBAM.

A direct XTM to HTML transformation in XSLT would be immensely complex and slow to run, and would not easily lend itself to incremental development and evolution in the interface over time, which was a clear ongoing requirement. An intermediate format was therefore needed to break down the complexity, and provide an optimised form which could be used to support interface delivery, either through an offline transformation, or in due course transformation in the browser using MSXML.

The format selected to perform this role was NewsML. This was developed for the news industry, but given its sharing of some of the characteristics of XTM, and its capability of providing much more economical and self-contained packages of data, was well-suited to bridging the gap between XTM and HTML. By creating a NewsML file set from the XTM, we were able to customise the 'delivery' data set to the specific requirements of the interface, while leaving the final structure, presentation and behaviour to be added in HTML, JavaScript and CSS.

For the most part, the XSLT used to populate the interface is modular and simple, with HTML <iframe> tags used to call XML components and their accompanying stylesheet. However some processing involves analysis of mappings to recursively resolve links and siblings of links, generating rankings of siblings based on a further analysis of the intersection of their linking footprints.

4.4. Activity Descriptions

Text descriptions were the final component in the system which needed to be integrated. In all the data structures described so far, descriptions were treated as external resources, referenced in whatever format they were currently held. In most cases, descriptions were held in a simple XML format, and were edited in an XML editor. However both XHTML and Word sources for descriptions are handled in the publishing mechanism, with conversion from Word to XML carried out using upCast.

The overall processing architecture, the individual components of which are described above, is based on a simple XSLT pipeline, and aims to provide maximum flexibility to handle both known and unknown input and output requirements. Figure 4 shows this systems architecture.

click image for full size view

Figure 4. DBAM4 Systems Architecture

4.5. Linked Resources

Shell uses OpenText Livelink as its document repository software, and the published site was required to create a document repository in Livelink which mirrored the hierarchy of the business process models, allowing staff to deposit and access material corresponding to objects in the model. This was achieved by generating the Livelink folder structure from from the NewsML model representation, with a set of accompanying generated Word documents to populate these structures. Finally each object folder contains an HTML file which, when loaded into the Livelink folder structure, applies DBAM branding to the interface and provides a link into the model web site at the appropriate point.

5. Development

As time goes on, more models are being added to the system, and requirements for tools which support end-user creation, editing and publication of models get stronger. Control over content needs to be rolled out to a wider user base, and on-demand access to a snapshot of model content made available at any stage in model development. Off-site pipeline processing of models is no longer able to adequately support the rate of development of content.

Bearing in mind the need to work within modest development budgets, and to retain compatibility with Shell software standards, a number of options are being researched. At this stage, a range of XML and non-XML architectures are being considered, including:

  • using a topic map engine at the core of the system, with custom editing interfaces for model building, and a dynamically-generated version of the current site

  • adapting the current pipeline processes for web delivery, using appropriate server software such as Cocoon, and forms-based web editing

  • migrating the model structure away from XML into a conventional database, using for example Access and ASP pages for interface generation

  • closer integration with specialist business process modelling tools, for example BPWin and ERWin

There are also emerging requirements on the publishing and interface domains which will require development beyond the current system. For example:

  • The complexity and extent of relationships between model objects could usefully be presented graphically, and SVG represents a clear candidate for fulfilling this need

  • The development of large bodies of resources in Livelink will require a more transparent relationship between the web site and its corresponding resources, with, for example, searches of relevant Livelink resources based on contextual data or user-defined parameters being fired directly from the site itself

  • Requirements for alternative views of the data will grow, and options to vary presentation and filter data, for example through the use of different stylesheets, may need to be developed

  • As the body of mapping data builds up, it is likely that complex queries will be needed which go beyond the capacity of XSLT processing. XQuery may be a candidate solution for this.

6. Conclusion

Our experience has been that XML has certainly given us flexibility over the years, and has allowed us to develop incrementally with little or no licensing outlay either on our part or that of our clients. The use of standards-based data structures has given us a set of tools which can be applied in other circumstances, and while they are applied in this instance to the delivery of business process models, they can easily be adapted to deliver any set of hierarchical data. Adding new input and output formats to the core system is not a major task, and one that is becoming easier as mass-market tools such as MS Office adopt native XML functionality.

It is clear that both development of stable XML standards, and solid support of these standards within mainstream browser software has been slower than we might have anticipated, and this has held us back from full implementation of certain of our long-term goals. With SVG dependant on third-party viewers, for example, there are difficulties in delivering SVG to the desktop in a managed environment where third-party tools are not actively embraced. XForms 1.0 is still only a candidate recommendation, so the addition of the tightly integrated XML-based business process model editing interface interface we know is possible will have to wait. In practice, while the route forward for this application seems clearly to be an XML-based one, there are more barriers than we would have hoped for in 1998 to large-scale mission-critical development using XML.

Biography

Antony Scott has been developing XML applications in support of RivCom's Business Process Development services for six years, and has over ten years experience in writing and publishing structured documentation. He was a co-developer on the European XML/EDI Pilot Project, and has spoken at a number of industry conferences including XML Europe, XML One and Online Help Europe. Current development areas include the use of Topic Map and NewsML structures in generating web sites from large bodies of diverse data. Antony holds an MSc in Administration, Design and Management of Information Systems from the London School of Economics.