A Case Study in Commercial Software Component Use
Authors: Hildebrand G.V. 
Published: December 2007

Abstract
There are many solid advantages to using commercial software. It is often less expensive to buy a component that will meet, or almost meet, the requirements of an application or portion of an application than it is to develop and malntain a similar in-house creation. Also, commercial software components can allow organizations to build on the experience and development staff of the vendor to build better systems than they could otherwise build. Proponents of component technology claim that the use of components allows software organizations to deploy better systems at a faster pace and keep up with advances and changes in software technology. However, this approach does not really solve all of the problems in code reuse. Commercial software has more than a monetary price; in using it, an organization gives up a certain amount of control of their product. There are also nontrivial integration and migration issues. This article contains case studies of oilfield applications that utilized commercial components and examines the lessons learned from these development experiences. This article also contains recommendations on how to avoid some pitfalls when evaluating and incorporating commercial software into applications.

Introduction
In December 1993 Schlumberger Oilfield Services started development of the product Oilfield Framework Environment (OFFER). The goal of this project was to provide an acquisition framework on the personal computer (PC) platform running either the Windows NT or Windows 95 operating system. In addition to the core data management and data access functionalities, OFFER provides optional general services that can be used by applications. Product development groups can pick and choose from these optional service components to build a customized application focusing on their particular business needs. One of the advantages of providing OFFER in a Windows environment is access to the wealth of commercial components available. This paper describes two OFFER services and describes how each was able to leverage commercial components. Then, in conclusion, this paper presents some general recommendations on how to utilize commercial software effectively.

Case 1: Report Generator
The OFFER Report Generator produces high-quality paper and/or digital reports at the job site and the office and provides the developer and expert user the capability to create report templates so that the end user can easily generate reports. These reports must be able to describe the system data and the processing of that data, and include text, tables and graphics. To build this system quickly and to provide the user with a commercial-quality editing environment, the report generator was built on top of Microsoft's commercial document preparation package Word.

Why Word?
The primary reason that Microsoft Word was selected as the foundation of the OFFER Report Generator is because Word is a mainstream PC document preparation package that most users are likely to already have and know how to use. This is important, not only because it reduces the learning curve for this product, but also because the Report Generator will be used in cost-sensitive applications.
Word 6 and Word 95 have a powerful macro language called WordBasic and a rich set of tools for communicating with the outside world. Word is also a primary player in Microsoft's Open Database Connectivity (ODBC), Object Linking and Embedding (OLE)2, and OLE Automation strategy. The report generator needs to integrate well with the environment because it must import graphics and data from OFFER applications.
Word Add-in Libraries (WLLs) allow developers to create add-in libraries for Word that have access to most of the WordBasic commands. These are simply dynamic-link libraries (DLLs) with two added functions to handle the loading and unloading of the functions in Word.