- Object-Oriented Technology
- Component-Oriented Technology
- Technology Ownership
- Client-Server Technology
- Internet Technology
- Architectural Layers and When to Use Them
- Software Application Experience
- Technology and Application Architecture
- Applying Standards to Application Systems
- Distributed Infrastructures
- Conclusions
- Exercises
3.7 Software Application Experience
In the commercial end-user environment, object technology has been applied to many important applications that enable business advantages. Examples include Fidelity Investments, one of the world's largest mutual fund companies, which as many as five years ago integrated its fund management workstations to support the integration of multisource information including decision-support capabilities that are crucial to the fund management business. The infrastructure they chose was an object request broker implementation conforming to the CORBA standard. Using CORBA, Fidelity Investments is able to customize the information gathering and analysis environment to the needs of individual fund managers. Many readers of this book probably have funds invested in one or more of the securities supported by CORBA. Wells Fargo, a large banking institution, has also applied object technologies to multiple applications to derive competitive advantages. One example is a financial transaction system that was developed, prototyped, and deployed in less than five months based upon an object technology and CORBA implementation. In that system, they integrated mainframe environments running IBM operating systems with minicomputer environments serving the online transaction terminals. In another Wells Fargo application, they integrated heterogeneous systems to support system management across a large enterprise. System management is one of the challenging and necessary applications that the client server has created because the operation and management of information technology is no longer centralized but still needs to be coordinated across many autonomous departmental systems as well as user desktops. Wells Fargo took advantage of object technology to implement such a distributed system management capability, and greatly reduced their expense and response capabilities for system support challenges.
Another dramatic example of object technology was implemented by a large insurance provider. USAA had an auto claims system that customer service agents used to receive reports of damage claims over the telephone. USAA, in addition to auto insurance, has a number of other related product lines including life insurance and loan capabilities. By integrating their information technology using objects, USAA was able to provide the customer service agents with information about the full range of USAA product lines. When a customer called with an auto damage claim and the car was totaled and needed to be replaced, the customer services agents were able to process the insurance claim and offer a new car loan for the replacement of the vehicle. In addition, the customer service agent had information about customers such as the ages and number of children and was able to offer additional insurance coverage at the appropriate time frames during this same auto claim call. With these enhanced capabilities, essentially reengineering its customer service process, USAA was able to realize 30% increased revenue on its existing customer base by providing additional services to the customers who were calling USAA for auto claims purposes.
In the public sector, object technology has also been applied and has delivered significant benefits. Several examples were implemented through the work of the authors on the Data Interchange and Synergistic Collateral Usage Study (DISCUS) project. This project and its lessons learned are described in The Essential CORBA [Mowbray 1995]. One of the first lessons learned on discus was the power of using object technology to reuse design information. Once software interfaces were established and specified using IDL, it was relatively inexpensive to have contractors and commercial vendors support interoperability interfaces. The discus capabilities were defined before the Internet revolution, and when it became appropriate to integrate Internet capabilities, the same encapsulations were equally applicable to integrating new ways of viewing the data through Internet browsers. The existing legacy integrations implemented by discus were then used to extract information for viewing on Internet browsers.
Another case study implemented by the authors involved a set of information access services, which is a case study documented in Inside CORBA [Mowbray 1997c]. In this application, the fact that the government had implemented a variety of systems with similar capabilities and the end-users needed these systems to interoperate and support expanded access to information resources is examined. The application described in this book does not differ in substance from the environment required by the Fidelity Investment Managersin other words, gathering information from diverse resources in order to support important decisions. To resolve the users' needs, the authors conducted a study of existing systems that focused on the software interfaces supported through multiple technologies. By learning the details of the legacy system interfaces, new object-oriented designs could be formulated wherein the existing functionality was captured in a manner common across the legacy system environment. By committing the new interface design to an IDL specification, other contractors could be used to help implement prototypes and forward the specifications through government standardization processes. Within two years, the interoperability concept evolved from ground zero to working software including a formal test sweep that assured conformance between multiple implementations of the specification.
Many enterprises have the opportunity to realize these kinds of results. Because information technology in large enterprises is evolving from desktop and departmental information systems to interoperable enterprise systems, a layer of enterprise architecture that does not exist in most organizations can be implemented using distributed-object technologies in a manner that provides interoperability in a general way.
In summary, commercial organizations have realized from object technology many benefits that are directly relevant to their corporate competitive advantages. The authors' experiences in research and development show that design reuse is one of the most important concepts to apply in realizing these kinds of results. Given a proper software interface specification, software developers can relatively easily understand the specification through training processes and then proceed to implement the specification. A much more difficult problem would be to ask developers to integrate systems without this kind of guidance. In other words, reinventing a new custom interoperability link is significantly more difficult than if the developers are given a design for how the systems interoperate and simply need to implement the code to implement that capability. In the course of research and development, the authors discovered these kinds of benefits even at the smallest scales where only two or three subsystems were being integrated; as the scale of integration increased up to seven or ten or more systems, the benefits also increased.
Systems interoperability is achievable today through object technology, and these benefits are being realized in existing commercial systems and in system procurements in the public sector.