| The PGC/GCA introduces a new standard in communications | Table of contents | Indexes | Dynamic Content Delivery - Our Challenges | |||
Australia ![]() Berger, Gerald Brisbane ![]() Mincom Ltd. ![]() | Gerald Berger |
| Product Architect, LinkOne |
| Mincom Ltd. |
| GPO Box 1397
Brisbane
Email: gerald@mincom.com |
| Biography |
| Gerry joined Mincom in 1984 as a developer in the Software Technology section. He wrote the first version of LinkOne based on a specification from the Union Pacific Railroad in 1991. |
Australia ![]() Brisbane ![]() Mincom Ltd. ![]() Ruddock, Nick | Nick Ruddock |
| Executive General Manager, LinkOne |
| Mincom Ltd. |
| GPO Box 1397
Brisbane
Email: nickr@mincom.com |
| Biography |
| Nick Ruddock is currently Director of the LinkOne business unit within Mincom, working at the Brisbane Head Office. He is responsible for the operation of the LinkOne business worldwide. |
Introduction |
The Starting Point |
| John Bosak stated in his paper "XML, Java and the future of the Web" [1]: |
| The applications that will drive the acceptance of XML are those that cannot be accomplished within the limitations of HTML. These applications can be divided into four broad categories: |
| An application for maintenance information distribution is such an application. The difficulty lies in fitting this application into one of these categories as it has all four requirements. |
Background |
| Product support has been important for the development of civilization since a stone was fastened to the end of a piece of wood to make the first axe. The importance of product support was first quantified when the axe broke. |
| For thousands of years knowledge about how to make and fix things, like all knowledge, was passed down from parent to child by word of mouth. One of the key limiting factors determining the complexity of tools was the technology for collecting and distributing the knowledge necessary for their manufacture and maintenance. The ability to get product support information to those who need it was one of the earliest applications of information technology. The basic principles have not changed since the first axe broke. |
Organisation |
| Maintenance Information | In this paper we first develop the requirements of a modern system for maintenance information distribution and the role this plays in product support. The next section summarizes some of the enabling technologies converging to allow such a system to be built today. The third section gives concrete examples of the importance of each of John Bosak’s requirements in such a system. Section four discusses how XML can be used to distribute maintenance information. |
Maintenance Information Distribution |
The Maintenance Process |
| The first step in any maintenance task is to find the information you need. As the total amount of available information grew this step became more and more time consuming. The method available to support this function has developed from the original "ask your father!" to the current "try Alta Vista or Yahoo!". If the information you need can’t be found or it’s hidden in a mountain of irrelevant information then it might as well not be there. Sometimes you need to go on a tour of discovery just to find out where you might look for the information you really want. Sometimes it’s not so easy to decide if you really have the information you are looking for after you’ve found it. Sometimes the answer triggers more questions than you started out with. Sometimes you only find part of the answer and need to go looking elsewhere for the rest of it. Sometimes you spend days looking for an answer only to convince yourself that it doesn’t exist. This part of the job is called searching, navigation or finding a needle in the haystack depending on how good your skills and tools are. Once you’ve found it you should document this part of the task if you think you or someone else might need to find it again. This action is called "bookmarking" or "add to favourites". |
| spare parts catalogue | Once you find what you are looking for, the next step is understanding it. With spare parts information this step is usually pretty easy compared with the effort involved in finding it. With assembly instructions it could be the other way around. |
| Next is to put everything you’ve learned together with everything you knew before you started into practice. To perform a maintenance task, this might also mean acquiring tools or spare parts which could trigger new searches. Any information that didn’t exist or that you couldn’t find or couldn’t understand or which didn’t work when you tried to put it into practice you have to figure out for yourself. If the information didn’t exist this is called development. If it did exist but you couldn’t find it then it’s called reinventing the wheel. |
| If you needed to figure anything out in order to perform the task then, to save time for yourself and others in the future, the "knowledge base" should be updated with everything you’ve had to figure out for yourself. The ability to find information is as important as the information itself. |
| Although the scenario presented here represents breakdown maintenance, it is easy to see the similarities with other types of maintenance tasks like preventive, predictive or proactive maintenance. Indeed, this process is hardly unique to maintenance tasks. |
A Brief History |
Pre Industrial Revolution | |||||||||||||||
| Before the industrial revolution, if something broke you usually fixed it yourself as best you could or took it back to the tradesman who made it. Information about how to make and fix things was passed on through a system of masters and apprentices. This clearly reflected an advance in social specialization since prehistoric times but the advances in information technology were more subtle. |
| The technology for finding information had evolved. There was a well understood partitioning of the knowledge base for manufacture and support into different trades. For example, if you needed information about how to fix shoes you knew to ask a shoemaker and not a carpenter. This partitioning of knowledge into well defined trades had evolved for thousands of years. Most people did not travel and a technology for the mass distribution of information, printing with moveable type, had come into use in the fifteenth century. Libraries had existed since antiquity but they were not a significant source of knowledge about manufacture until the renaissance. The skill required to glean information from a library, literacy, was limited to a very small segment of the population. The Dewey Decimal System currently in use for finding information in a library was not conceived until 1873. |
| The technology in general use for the transfer of understanding about manufacture had hardly changed since the dawn of civilization. Parent teaching child had evolved to master teaching apprentice. |
| The technology for feeding back information about improvements to the manufacturing and support process so that it could be distributed to a wider audience had hardly developed at all since the printing press. |
The Industrial Revolution | |||||||||||||||
| The driving force for the industrial revolution is generally accepted as being the increase in world trade that developed during the 18th century. The enabling technologies were the steam engine, the spinning jenny and the power loom all invented in England during that period. Were there advances in information technology that enabled the industrial revolution or was it a natural development of specialization in traditional industry? Certainly the industrial revolution could not have taken place without the technology for recording and preserving information ‐ the written word. It could never have developed so quickly without the technology for distributing information ‐ the printing press. What technology existed at that time for finding information or feeding back new information into the knowledge base? |
| After the industrial revolution support became a separate discipline from manufacture and the first operators manuals, maintenance manuals and spare parts catalogues were produced. Before the industrial revolution there was no such thing as interchangeable spare parts. |
Modern Times | |||||||||||||||
| When things were made individually by hand there was not a great deal to be gained by limiting variation. Each craftsman could develop his or her own style and each customer could get a custom made product at no extra cost. Mass production provided less expensive goods and services at the cost of diversity. This is as true for the support documentation as it is for the goods themselves. When you bought a Model T you did not have many options to choose from. Not only was the manufacturing process straightforward, the maintenance manual and spare parts catalogue was simple and easy to interpret. Best of all, the same support documentation could cover the entire production run without much risk for misinterpretation. |
| A competitive society breeds diversity so this happy state of affairs for technical publishers only lasted until people started buying other makes because they didn’t like black or wanted a more powerful engine, better fuel economy or chrome trim. As the number of options grew, technical publishers had to choose between producing a customized set of manuals for each item shipped and making the manuals more complicated. Customized manuals cost more to produce but it was a lot easier to find things in them and there was less risk for errors when trying to understand their contents. |
The Future | |||||||||||||||
| Since the start of mass production, there has always been this conflict between the benefits of a "one size fits all" philosophy for efficiency in manufacturing and the needs of the customer for something that fits his or her own special requirements. Having a manufacturing plant that is just a few percent more efficient than the competition could mean the difference between profit and loss. How may cars would an automobile manufacturer sell today if they only came in black? The diversity of financial service products is expanding so rapidly that the only end in sight is when a service provider can offer each customer a completely custom solution, or at least the perception of receiving one. A highly competitive society must lead to diversity but how is an organization tasked with supporting this diversity going to do its job in an effective way or, more accurately, better than the competition? What information will it need? How quickly can this information be found when it’s needed? How accurate and up to date will it be? How fast can it act to get the plant back in production, the car on the road or the investment portfolio adjusted? |
| In this paper we will concentrate on one type of support document ‐ the spare parts catalogue as it represents the extreme case of the conflict between "one size fits all" and customized documentation. Many of the principles apply equally to other types of maintenance documentation like shop manuals, operators manuals or circuit diagrams. |
| Any piece of repairable equipment that contains interchangeable replacement parts will have a spare parts catalogue so that maintenance personnel tasked with fixing it can identify the parts needed to make the repair. In a spare parts catalogue this is usually done by identifying the function of a part in the equipment being repaired or it’s physical position within that equipment. This is very different from a product catalogue where items are identified by their own properties, not by their usage in a specific application. Where a spare parts catalogue is a combination maintenance tool and sales catalogue, a product catalogue is a combination design tool and sales catalogue. Although the end result of using it might be the same ‐ a list of parts to buy ‐ the way these different types of catalogues are used is quite different. |
The Development of Computer Based Information Technology |
Early Days |
| The first computers were processing engines with little capacity to store, manage and distribute information. The lives of most people were not directly affected by computers until the 1980’s. In 1977 C. J. Date in his preface to "An Introduction to Database Systems" [2] stated: |
| "Over the next few years we can expect a vast increase in the range of computer applications and a corresponding increase in the effect computers will have on our daily lives. The two areas of computer technology that will make the new applications possible are telecommunications and the integrated database." |
| Two other areas of technology were also emerging at that time which, together with telecommunications and integrated databases, will enable a revolution in product support: |
The Four Technologies |
Telecommunications (the distributed network) | |||||||||||||||
| The ARPANET started on September 2, 1969 when the first host at UCLA went "on-line". Although data communications existed before then, this was the start of the distributed network that would eventually allow anyone in the world with a PC and an internet connection to receive information from any server in the world. In the early days, however, the ability to transfer files or run a program on another computer to conduct research was enough to motivate the investment. The distributed network was originally conceived as a way to keep lines of communications open after a nuclear attack destroyed parts of the U.S.A. Luckily it was never used for this purpose. The first practical use of the distributed network were as a tool for collaboration between researchers. |
| Information distribution has always been a primary need of the research community and society in general. When it became practical to use the distributed network for this purpose on a large scale, its use sky-rocketed. |
| As the number of network hosts grew along with the amount of information each one contained, the problem of finding and remembering where to get what you were looking for became more and more difficult. |
| Today search engines exist that will help you find things but, as we all know, it’s not always that easy to find what you’re looking for. It has been estimated that the most comprehensive search engines today only index about 16 percent of all the information that is available on the internet and that all search engines together index less than 25%. If you can’t find the information you’re looking for after a few searches then it would not be prudent to assume that it didn’t exist. |
| What about the technology for remembering where you found something? Are the "favourites" and "history" functions in todays browsers good enough to keep track of where all the information needed to maintain a nuclear power plant is located? How many times have you tried to access an old "favourite" to find that it has moved and left no forwarding address? |
The Integrated Database | |||||||||||||||
| A semantic data model that would eventually enable different software systems to share information was introduced in 1970 when E. F. Codd published his paper "A relational model of data for large shared data banks" [3]. |
| It was the advent of the database that enabled computer technology to play a major role in information technology. Although there were many commercial databases in existence before the relational model, this was the first time that a database technology was based purely on a semantic data model. In 1979 C. J. Date gave a working definition of a database [2] based on one given by Engles [4]. |
| "A database is a collection of stored operational data used by the application systems of some particular enterprise." |
| Date continued: |
| "Why Database? it provides the enterprise with centralized control of its operational data its most valuable asset." |
| At this time the relational database was still emerging technology. The database vision rarely extended beyond the internal needs of the enterprise to control its operational data. Large scale communication across enterprise boundaries was still done the same way it had been done for centuries -- by physically transferring paper documents (fax machines were not common until the early eighties). The technology for authoring and managing information was going through rapid development. Word processors were coming into general use for producing documents. Computers could be used to generate paper reports with limited formatting capability. At this time inter-enterprise electronic information transfer was largely done by physically sending reels of magnetic tape with information content specified by field column positions in fixed length records. |
The PC | |||||||||||||||
| The PC would be one of the primary enabling technologies for the electronic delivery of maintenance information. The first four bit commercial microprocessor, the Intel 4004 introduced in 1971, was designed and used as a component in embedded systems. The first microprocessor that was practical to use as the arithmetic logic unit for a personal computer, the Intel 8080, was introduced in 1975. By the early eighties there were desktop computers with graphical capability available at a reasonable price. |
Generic Markup | |||||||||||||||
| The importance of expressing semantic content also has it’s roots at about this time same time [5] |
| "Many credit the start of the generic coding movement to a presentation made by William Tunnicliffe, chairman of the Graphic Communications Association (GCA) Composition Committee, during a meeting at the Canadian Government Printing Office in September 1967: his topic -- the separation of the information content of documents from their format." |
A Historical Note |
| Many revolutionary developments in the computer industry seem to have their roots during this relatively short period of time from 1967 to 1971. We will not attempt to analyse the reasons here but rather leave it to the sociologists. A starting point for this research might be RFC1000 -- interesting reading for a sociologist or a technologist. |
Convergence |
| By the early 1980’s the distributed network had already been in existence for over 10 years and the relational database was coming into its own. General documents were routinely being produced by word processors on PC’s or text formatting systems on mini’s and mainframes but rarely in a way that exposed their information content to anything else than a human reader. The distributed network was mostly used as a telephone exchange (telnet), as a post office (email) or for transferring reels of tape (ftp). Semantic markup was still a voice in the wilderness. |
| Why was generic markup so slow to catch on? Even today many feel it is more important to distribute a true representation of a piece of paper than to deliver information that can be used for multiple purposes. One theory is that, as generic markup is a technology for the distribution of information, you first need information to distribute, a way to distribute it and somewhere to distribute it to that can find it and make use of it. As John Bosak implied, you also need a reason to do it. All these pieces of the puzzle are now in place; we should see some interesting times ahead. |
A Maintenance Information Viewer/Browser |
Our Starting Point |
| This section is based on knowledge gained from work on Mincom’s LinkOne product. The first version of LinkOne, released in 1992, could only deliver spare parts information and could only access this information from CD, a local file system or over a LAN. As there was no internet delivery capability it was called a "viewer" not a "browser". Today internet delivery is growing but most LinkOne users still access information from CD or a local file system. We expect that to cross over sometime next year. |
| Even though the original LinkOne had no internet capability, it encompassed all four of John Bosak’s requirements for "applications that will drive the acceptance of XML": |
| This version did not use generic markup, but all information that was transferred across its interfaces was documented as information, not as the presentation of this information. The syntax was simple; the information content was fixed but extensible. The presentation was hard wired but, in the beginning, there was no need to overload the content specification to get a desired presentation as the customer base was limited to those where the information content specification was suitable. As always, this was soon to change as potential customers with new needs surfaced. |
| This original viewer did not use a proprietary database for its internal storage. It was considered but LinkOne was always seen as an information distribution system, not as an information management system. Spare parts information supplied by a publisher was read-only as far as the viewer was concerned. Custom navigation, filtering and merging was controlled locally. An initial requirement was that changes to the information supplied by a publisher would not effect locally controlled navigation, filtering and merging. The commercial relational databases available were well suited to managing information under the control of a single enterprise. They were less well suited to filtering and merging information from multiple sources. |
Evolution |
| By following these basic design principles from the beginning, LinkOne was able to develop gracefully. The capability for a publisher to extend the information content was added in 1995 along with separate, selectable, presentation specifications. LinkOne became a browser in 1997 when internet access was added. The next version will support generic markup for content. We see the use of XML spreading to all interfaces and eventually replacing the current ones as the information transport of choice. |
The Four Requirements |
Different Views for Different Users ‐ Filtering and Alternate Presentations | |||||||||||||||
| With maintenance information, and spare parts catalogues in particular, different users need different views of the same information. In addition, each user may need different views in different contexts and at different times. |
| As we have seen, mass production gave less expensive products at the cost of diversity. Manufacturing technology evolved to give increasing diversity while keeping the costs competitive. Paper spare parts catalogues became more and more complicated. The time needed to identify the correct part took longer and longer as the catalogue contained more and more irrelevant information. The necessary skill levels grew as the number of alternatives grew. The risk of ordering an incorrect part became greater and greater. Printing individual catalogues was too costly for most applications. Field replacement of lost custom catalogues would be a logistical nightmare. What about updating custom catalogues in the field to reflect engineering changes? |
| LinkOne solved this with filtering. A publisher could put filtering criteria on information elements. The viewer could then decide which elements were relevant by using equipment specific settings to present a filtered view. The interpretation that was previously done by the reader could now be done automatically by the viewer. |
| We can use the ATA100 standard for commercial aircraft as a simple example. This is a paper based standard that has been around for about 20 years. There is a six digit effectivity field that specifies the aircraft for which each entry is valid. The first three digits of each specification are the lower bound and the last three are the upper bound. There are three alternative "SUPPORT INSTL ‐ WEATHER RADAR INDICATOR FIGURES" in figure 1. If you were looking for parts for the aircraft with tail number 932 you would need to look through the effectivity lists for each of these alternatives until you found 931933 in the second one and then turn to page 53-41- 00 4C. This is the price you pay for using paper when you decide not to print a separate book for each aircraft. It takes longer to find what you want and the risk of making an error is greater. The cost of printing, distribution and updates is much lower. |
|
| With electronic delivery, coded information and a viewer that can filter information, you could open the electronic "book" for the aircraft with tail number 932. This would use the aircraft number supplied when the book was opened as a filter to remove irrelevant information. It would look like figure 2 |
|
| Filtering is done on the information content before and independently from presentation formatting. It is an information limiting operation analogous to the SELECT operation on a relational database. At first glance it seems pretty simple and indeed, the logic necessary to remove a row from a table or prune the node in a tree is straightforward. The difficulties are things like what happens to references into the information that was removed and how to efficiently partition searches. |
| Filtering can be used to limit a potentially large generic information set into a much smaller highly specific one. It can be used, for example, to reduce over 30,000 bills of materials that describe the all engines produced over the last 15 years by a single manufacturer down to 100 that describe a single engine. It can be used to reduce the 1000 possible parts that could be in a pump to the 50 that in the pump that just stopped pumping. As we have seen, it can also be used to reduce all the parts in 50 aircraft down to just those in the one at the gate with a fault in the hydraulic system. Certainly the effectivness of filtering is tied to filtering all access paths to the information along with the information itself. |
| Besides limiting the information depending on the job at hand, different users might need to view the information in different ways for other reasons. An obvious example of this is language. A parts catalogue contains graphics, part numbers, quantities used, hierarchies, links and other language independent information. It also contains descriptions that are different in different languages. Traditionally, paper parts catalogues were produced in a very limited number of languages. The more that were included, the more paper was needed and the more irrelevant information was there for an individual to have to skip over. The alternative was, as always, to produce different catalogues for each language. We consider this to be a presentation issue, not a filtering issue. |
Mediation between two or more heterogeneous databases | |||||||||||||||
| There are many different databases that can be combined to make a maintenance task more effective. Obviously, when the same person is maintaining equipment from multiple manufacturers he will need information that originated in different, probably heterogeneous, databases. It is an advantage if he can use a common tool to access this information. Traditionally this has been paper. Paper had the versatility to distribute all kinds of information from all kinds of sources. This versatility, however, had a down side ‐ each manufacturer presented their information in a different way. Some industries produced paper based standards to solve this problem, notably the Air Transport Association’s ATA100 standard mentioned in the previous section and the many paper based military standards. Where a standard did not exist, which was most industries, the training necessary to be able to find things in potentially hundreds of different manufacturers catalogues was daunting. LinkOne was initially conceived to solve just this problem for the track maintenance machine section of the Union Pacific Railway. This group, tasked with maintaining the machines that maintain the tracks, had over a thousand different machines from three hundred different suppliers in an operation spread out over half the USA. |
| A less obvious example relates back to the airplane in the previous section. We had the coded information set and could apply the aircraft number to filter out everything that was not relevant to aircraft number 932. In this example the aircraft number was the same as the single key used to filter the catalogue. But what if you needed to fix the starboard engine on aircraft number 932. Aircraft engines are built and documented by different companies than the one that makes the aircraft itself. If you need parts for the engine you need to go to the engine manufacturer or an organisation that distributes parts for the engine. Each engine has its own serial number that can be used to filter the engine information. To make things more interesting, each aircraft and engine type can have modifications that affect the choice of a spare part. Engines can have governors made by a third company each with its own serial number and modifications. This information is usually held in a corporate database and maintained by a maintenance management system. There are trends in some industries to keep this information on the equipment itself and to make it available to the maintenance management system via onboard communications channels and radio or satellite links. In either case, if this information is available to a maintenance information browser then it can not only show the current state of the aircraft but of all its components as well. In fact it can integrate all this into a single set of filtered and linked information that is both easy to navigate and does not contain irrelevant information. |
| A third example is all the experience that accumulates locally about different aspects of the operation. In paper publications this was often written by hand in the maintenance manual or parts catalogue. That was fine until you got an updated manual. You then either lost this accumulated local knowledge or spent some time transcribing the notes from the old book into the new one. This situation improved slightly when the post-it note was invented but that still required manual effort and the risk of losing your notes increased. To be truly effective, managing this local knowledge not only requires another database but also a robust addressing scheme that can be used to express the relationships between local knowledge and information from the publisher. To be really useful we also need a browser that can merge all this into a unified view with a suitable presentation. |
| A parts catalogue is normally used to identify a list of parts for a reason ‐ you need them to perform a maintenance task. When the list is ready it then needs to be put into another database for ordering. This information is usually a corporate database and maintained by inventory and purchasing systems. It’s rarely the database of the publisher of the parts catalogue itself. |
Allow users to tailor information discovery to their own needs | |||||||||||||||
| As discussed earlier, if you can’t find the information you are looking for then it might as well not exist. In the previous section we listed some of the different databases that a maintenance information browser could utilize to make the maintainer’s work more effective. We also mentioned that some of this information, particularly the configuration, was navigational information. |
| The original design of LinkOne allowed the viewer to query an external database whenever it followed a link from one information set to another. The viewer would give the external database a "key" that specified the source of the link and the database would return information about the target like which information set to use and which filters to place on it. The viewer could then use this to display a filtered view of the component. The maintainer was given an integrated specific view of the equipment even though the databases could have been provided by completely separate organisations and each database could have described millions of variations. This methodology has also proven successful in dealing with manufacturing plants where the plant information is maintained locally and the component information is maintained by hundreds of different suppliers. The optimal navigation method used to find information about a component for a plant maintainer could be very different from the optimal method for the representative of a component supplier. The view of the information might differ but the underlying database could be the same. |
| This kind of navigation is a good way to find information again, a more suitable version of the "favourites" function in a standard browser, but how do you find the information in the first place? With maintenance information, the traditional starting point is the "identification plate". This is usually a metal plate with a serial number, date of manufacture, optional equipment specification, etc. engraved on it. This is exactly the configuration information that gets stored in a maintenance management database. An electronic identification plate with a URL and internal configuration data that could change it’s contents to reflect modifications and could also expose information about it’s internal repairable components would be a good starting point. When will we see a toaster with a URL on the bottom next to the model identification? Maybe someday the model identification will just be part of the URL. When that day comes we won’t need to remember where we put the instruction booklet! |
Distribute a significant proportion of the processing load from the Web server to the Web client | |||||||||||||||
| Does an application for maintenance information distribution need distribute a significant proportion of the processing load from the Web server to the Web client? The original LinkOne viewer ran as a stand alone application. It did not rely on a server for any processing ‐ only as a source of information stored in files. When internet support was added this philosophy did not change and as a result LinkOne retained its good performance. If filtering and customized presentation are done on the WEB server then the client and proxy cache cannot be used causing greatly increased loads on the network and the WEB server. As cache access is also much faster that remote access, there is also a performance penalty to be paid. If the browser does the filtering and customised presentation then only information need be sent to the browser and this information can be cached until it changes. It does not have to be updated every time a different view is needed. |
| A spare parts catalogue usually has one or more graphics to illustrate each bill of materials, in fact many industries refer to a spare parts catalogue as an Illustrated Parts Catalogue. The illustrations and bills of materials are linked together, usually by key numbers or "callouts". The natural user interface is to highlight the bill of materials entry when you click on a callout on the graphic or to highlight the callout on the graphic when you click on an entry in the bill of materials. If you rely on the server to do this then the performance would be totally unacceptable. |
How Can XML be used to Transport Maintenance Information? |
| The information model we have been using for spare parts data transfer in LinkOne is based on the relational model. We had been using comma separated fielded data quite successfully for the external interfaces with binary representations internally. This had proved easy to document and understand. We felt no great need to change but wanted to see if we could gain any benefits other than the obvious marketing advantage of supporting the latest technology. We decided to identify all the possible areas where XML could give us an advantage over our current methods in a general sense and to then see how our specific needs fit in. |
| If there is a single law in the world of science it’s that no model is ever perfect. Just as Newton’s laws of motion ran out of steam when relative motion approached the speed of light, the limits of the relational model were already becoming evident even before it was being used for large scale commercial databases. E. F. Codd wrote in "Extending the Database Relational Model to Capture More Meaning" [6] |
| several investigators have been exploring "semantic models" The intent is to capture more of the meaning of the data so that database design can become more systematic and the database system itself can behave more intelligently. Two major thrusts are clear: |
| Codd continued a few paragraphs later: |
| Such a model could also be a more effective mediator between the multiple external views employed by application programs and end users on the one hand and the multiple internally stored representations on the other. |
| John Bosak’s requirement number one. It seemed at the start that we would easily gain benefits as we expressed our information in XML since this was both a recognised limitation of the relational model and a design criteria for XML. |
| From the start we had no problem with expressing our information in XML and could see real benefits in doing so. We even had a standard way to define our information (DTD) and the prospect of ready made components for insuring validity. |
| Codd continued: |
| Structure without corresponding operators or inferencing techniques is rather like anatomy without physiology. |
| So where was the "physiology" of XML? We were looking for information transport, not management, so we didn’t necessarily need INSERT-UPDATE-DELETE, but how do we SELECT, PROJECT and JOIN? We Certainly needed a robust and efficient way to SELECT information based on user requirements and to JOIN entries in a list with callouts on a drawing. We even did something like a PROJECT in certain cases. It looked like we would be faced with a "good news ‐ bad news" scenario. |
| As it turned out, things weren’t all that bad. There was a low level procedural technology that could be used to iterate through information called DOM. There is a formatting language ‐ XSL but a review of the requirements summary [7] does not include the capability to do semantic manipulation so, even if it could possibly be used for this purpose, its probably not a good idea. Using namespaces as hooks in the same way that XML does, we defined some custom processors to operate on information expressed in XML to achieve the SELECT and JOIN functionality we needed. As it turned out we would need to build a better DOM to get the performance we wanted for these processors but, as "our DOM" was for internal use only, it didn’t make any difference if this lower level was non standard. |
| Now we were ready to proceed. We had a better semantic model and we had the operators we needed. It would definitely have been better if operators and inferencing techniques had been available from the start as part of the standard ‐ maybe some day they will be. If XML does become the technology of choice for information distribution, I’m sure that committees will be formed to specify standardized ways to do these things. We found that to be a real strength in XML, not only is the information content extensible, but the collection of operators that can be built and reused is extensible as well. |
| Another potentially problematic area was addressing. We had developed our own addressing mechanism that incorporated a search list of root directories and a directory structure. This has served us well as it provides lots of flexibility to a local administrator. We could easily mix CD’s with hard drives across multiple servers and move large information sets around freely without breaking links. It also allowed us to merge public and private notes databases (like post-it notes) with information from suppliers. This turned out not to be a problem as we had a level of indirection that allowed us to introduce standard url’s within this framework. We also soon found that our method for addressing into individual documents was largely compatible with Xpointer and Xlink. |
| In conclusion, we feel that XML will help us improve our ability to distribute maintenance information in a timely and effective manner. |
References |
|
| The PGC/GCA introduces a new standard in communications | Table of contents | Indexes | Dynamic Content Delivery - Our Challenges | |||