The Business of
Distributed Object Computing

by Peter Fingar, Jim Clarke, and Jim Stikeleather

Featured in Object Magazine, April, 1997

Peter Fingar, Independent Consultant (pfingar@acm.org),
Jim Clarke, President, TeraByte Systems (clarke@maginet.net) and
Jim Stikeleather, Chief Technology Officer, Technical Resource Connection.
Adapted from Next Generation Computing: Distributed Objects For Business, SIGS Multimedia and Books, 1996.


Contents:

Business Technology: The Next Generation

Architecture: The Key to Adopting Distributed Object Computing

The Technical Advantage of Distributed Objects

The Business Impact of Distributed Object Computing

---The Next Generation Fuses Business and Technology

---Business and Software Models are Simulations of the Business

---Businesses Need Intelligent Systems

---Next Generation Systems Require Next Generation Development Methods

---TQM ++

---21st Century Corporations Will Be Learning Organizations

The Bottom Line

References

Someday soon you will look into a computer screen and see reality. Some part of your world - the town you live in, the company you work for, your school system, the city hospital - will hang there in a sharp color image, abstract but recognizable, moving subtly in a thousand places. This Mirror World you are looking at is fed by a steady rush of new data pouring in through cables. It is infiltrated by your own software creatures, doing your own business."

David Gelernter Department of Computer Science, Yale University 1

Business Technology: The Next Generation


Competitive pressures have made it absolutely necessary to connect islands of information, resources and people together into a cohesive whole.


The velocity of business change is increasing. Business and product cycle times are decreasing. Management is under intense pressure to streamline operations, reduce overhead and squeeze more out of production and sales channels in order to maximize shrinking margins. The global marketplace is becoming a business battle-ground as companies reach into all corners of the world to attract new customers.

To gain the advantage, forward-thinking businesses are redesigning core business processes. Such companies are becoming smaller and more horizontal as layers between top management and the shop floor worker or sales clerk are removed. Organizations are becoming driven by knowledge-based workers as people on the shop floor and in the field are empowered with information and the authority to make tactical decisions themselves.

Information is power. Corporations are grappling with exploding demands for information. Competitive pressures make it absolutely necessary to connect islands of information, resources and people together into a cohesive whole. The new business objectives demand a fully integrated information framework and infrastructure. Furthermore, the entire workforce must have access to this common information infrastructure. From a technology perspective, this means universal access that is both transparent and adaptive. This business objective has a profound impact on the mission and on the very nature of commercial enterprise computing. Today's computing architectures and design methods for constructing information systems simply are not capable of handling the requirements of next generation computing. There are not enough programmers in the world to meet the demands of new information systems being generated by newly reengineered businesses ... at least, not using traditional practices and technologies.

Today, business processes are essentially human phenomena. Next generation information systems, however, shift much of the business information residing in workers' heads to computers. For this to happen, the following must take place:

  • The design of next generation information systems requires a new way of thinking that changes the very nature of design - a paradigm shift. Distributed object computing supplies a paradigm for building universal, transparent and adaptive information infra-structures and systems.

  • As corporations become more extended and externally integrated, then the community memory and organizational knowledge become the property of the information systems, not of the people of the organization. Consequently, not only are new types of systems necessary, but also new ways of human interaction with information systems are needed. With current systems approaches, the onus is on humans to try to make sense of information from disjointed presentations of data. New types of information systems are needed that place the onus on the computer system to correctly convey information in a form that humans can process naturally. The information must reflect reality as perceived and understood by humans, not the artificial constructs of transactions, tables and spread-sheets characteristic of today's systems. Where it once stood on the sidelines, cognitive science plays a central role in new era information systems. Systems rooted in human cognition can enable instant use (no training required), correct assimilation, confirmation of user intentions and error-free communication between man and machine. Such systems are required by the extended enterprise.

The challenge of enterprise computing is to support the new management structures and work procedures evolving in business today. Twentieth century technology was used to automate nineteenth century management structures. Today, progressive companies are reinventing themselves by replacing management structures and redesigning jobs. All of this redesign is aimed at adding value in a global marketplace that operates in the context of next generation information technology.

The challenge is to align information technology, business strategy, processes and organizations for a business environment characterized by rapid, near constant change. This complex environment requires very sophisticated information systems. Such systems can be built only if the complexities of the business and its underlying technology are modeled with clarity. The business and software models must be built so they are understood and owned by business professionals, not technologists. These models must reflect and support reality - distributed, independent, continuous and real-time business processing.

The blending of the cognitive and semantic integrity of objects with the distribution power of network-centric architectures holds great promise for meeting the challenge of enterprise computing. This new computing paradigm, distributed object computing, is no magic bullet or a product a company can buy. It requires a paradigm shift to an architectural approach that spans both the business and technology domains.

Architecture: The Key to Adopting Distributed Object Computing

When beginning a traditional systems development project, developers typically do not have an overall systems architecture from which to start. This fact is a universal problem when elevating business computing from individual applications to enterprise-wide information systems. Effective systems development projects require the definition of an architecture - an overall plan for the infrastructure of information and technologies. Although there is no single, all encompassing architecture for computing, before developing next generation applications, two architectures should be devised. These are a technical architecture and an information architecture.

A technical architecture provides a blueprint for assembling technology components. A technical architecture defines what tools and technologies will be used and how they will be used. The blueprint may include the definition of objects that encapsulate several databases, middleware and other technologies, as well as which development tools to use and how they will be integrated to provide a complete software project support environment. Because we are entering into a network-centric computing environment, standards must provide he backdrop for technical architecture. Here is where OMG's CORBA and IIOP, Sun's Java RMI and IDL bindings, and W3C's URCs provide value. Standards are not static and they converge as technologies converge (i.e. OMG/W3C) and they reflect the trends away from client/server to browser/server, away from home grown networks to the ubiquitous net, and away from proprietary platforms to the Java virtual machine.

While standards-based architectures are necessary, and while the technical domain continues to evolve, we still miss the opportunity to correctly partition the problem domain. We continue to apply monolithic designs to new era technical environments (for an insightful state of the art discussion by Oliver Sims see the October 1996 issue of Object Magazine, page 64). The result is no matter how far the technical architectures have advanced, we still do not deliver business objects that relieve the developer from being a systems plumber as well as solution developer. To solve this class of problem, information architecture must come to the fore. The good news is that action is underway. OMG's Common Business Objects and Business Object Facility efforts raise us "above the Orb" in the Object Management Architecture. Business solution developers should not be required to know about or be concerned with Orbs.

An information architecture describes the content, behavior and interaction of business objects. These concepts build a semantically rich model of the problem domain that enables business users as well as developers to directly assemble and integrate business objects into business solutionssans plumbing for each new "application." The information architecture prescribes the building blocks for application development. Business objects use the services of the technical architecture objects. An information architecture provides a business semantic framework for the information components of the business: subjects, events, roles, associations and business rules.

A representation of an architecture that focuses on business objects appears in Figure 1. This basic seven-layer model supports technology insulation that is necessary to provide for the business-oriented modeling and processing of the future. As shown in Figure 1, the bottom two layers are technology insulation and implementation layers, areas into which business developers should rarely venture. The basis of these layers are traditional object-oriented programming models (class/instance) and tools (C++, Smalltalk, Java).

The bottom layers provides the technical infrastructure for an object-oriented environment. The second layer, for example, supplies hardware insulation and a higher level of business intrinsics, such as "money object," which includes formatting, decimal arithmetic and currency conversion.

The third layer (above the technical plumbing) is where the developer conceives and creates the basic "entities" of the problem domain (item, person, truck), their associations with one another (employment = person + company), and their roles in the business (a truck can be a fixed- or leased-asset).

Figure 1 A Seven-Layer Object Computing Model

The development environment should support both text and visual programming and visual assembly. The next four layers provide a realm for business problem domain experts and end users. With the appropriate tools, this environment permits the visual component assembly of entities from the lower layers. In emerging environments such as Oliver Sims' NEWI 2 with its Cooperative Business Objects, the lower layers are not only invisible, they are irrelevant to the architecture of business semantics and solutions. These upper layers should also support visible and maintainable rules and constraints. At the "scenarios" level, for example, users can assemble entities to interact in some scenario of the business, such as sales forecasting or other business process.

The "events," or fifth, layer essentially replaces the "traditional transaction" by allowing users to define events of the business that may influence previously defined scenarios. For example, a competitor changes his price, or a new employee is hired. Such business events tend to generate many transactions that must be applied to many traditional legacy systems. In traditional systems, several transactions must be cascaded to satisfy the requirements of a single business event. In next generation systems, scenarios will subscribe to events of interest, replacing traditional transaction models.

The sixth, or "agents," layer allows the organization of event-driven workflows, with the seventh and final "view" layer supplying renderings for the human interface. These layers are intelligent, recognizing both the context and content of the information being exchanged with the external world and even adapting the presentation to the abilities of the outside user. These two layers incorporate a third wave of object technology: intelligent agents. An intelligent agent, also known as an "intelligent object," is software that assists people (and other software) and acts autonomously on their behalf. They are active, goal-seeking objects that collaborate with other agents to accomplish tasks in either client/server or peer-to-peer protocols. Tasks are delegated to agents along with constraints under which they can operate. Recent developments in agent technology, not surprisingly, are characterized by convergence of two technologies: distributed artificial intelligence and object technology. To wit, IBM's Tokyo Research Lab has extended the Java applet concept into mobile agents called Aglets (Agent Applets). Meanwhile, the OMG is developing the next really big standards, standards for mobile agents (see OMG's CF RFP3 and 4 at www.omg.org).

The Technical Advantage of Distributed Objects

Object orientation can radically simplify systems development. Distributed object models and tools extend an object-oriented programming system. The objects may be distributed on different computers throughout a network, living within their own dynamic library outside of an application, and yet appear as though they were local within the application. This is the essence of plug-and-play software. Several technical advantages result from a distributed object environment.

1. Legacy assets can be leveraged. Object wrappers (object-oriented interfaces to legacy code) may be applied to various computing resources throughout a network to simplify the means of communicating with these resources. All communication between distributed objects occurs in the form of messages, just as local objects within an application communicate, rather than applying different middleware and network interfaces to each legacy system. Today's legacy systems can be encapsulated with multiple object wrappers to become full participants in new era information systems. Further, a single object may represent information derived from multiple legacy systems. In this way, the massive investments corporations have made in these assets, and the associated intellectual capital, can be leveraged.

2. Since all objects - both local and remote - communicate in the same fashion (via messages), programmers have the ability to distribute components of an application to computers that best fit the task of each object without having to change the rest of the application using these objects. For example, an object that performs intense computations, such as three-dimensional renderings, might be placed on a more powerful computer, rather than on an average desktop computer, where the user interacts with the presentation objects. Such partitioning provides businesses with a new approach to manage their investment in computing resources and to match the changing needs to changing resources. Thus, hardware investments can be optimized.

3. Since objects appear to be local to their clients, a client does not know what machine, or even what kind of machine, an object resides on. As a result, migration of implementation objects from platform to platform is made easier. These migrations can be accomplished in steps without affecting the clients.

4. Systems integration can be performed to a higher degree. Software and hardware resources available on disparate platforms can be tied together into a single application. The goal of creating a single system image is achieved when applications can be assembled from distributed objects.

The overall technical goal of distributed object computing is clear: to advance distributed information technologies so that they may be more efficient and flexible, yet less complex. The benefits of distributed objects are indeed solutions to the problems with existing, monolithic client/server paradigms.

The Business Impact of Distributed Object Computing

Distributed object computing, plus business objects, equals the next generation of business computing (see inset).


Inset


Distributed Object Computing

Distributed object computing is a computing paradigm that allows objects to be distributed across a heterogeneous network and allows each of the components to interoperate as a unified whole. To an application built in a distributed object environment, and as expressed in Sun Microsystem's slogan, the network is the computer. ™ Objects interact by passing messages to each other. These messages represent requests for information or services. During any given interaction, objects will dynamically assume the roles of clients and servers.


New era systems are already being developed by business pioneers who understand this technology. They understand that the ultimate next generation methods and tools are still in the laboratory and standards committees, but they know that sufficient standards and development resources are already in place. With a head start in their respective industries, these professionals intend to become well armed for 21st century business warfare. Time waits for no one.

The Next Generation Fuses Business and Technology

Corporations are undertaking business process redesign efforts to maintain their edge in an increasingly competitive and complex world. As experience continues to be gained, businesses are demanding that the methods and tools of business engineering and software engineering be more tightly linked. As David Taylor points out, "Convergent engineering offers a new opportunity to create more flexible, adaptive business systems by combining business and software engineering into a single, integrated discipline."3 Techniques such as use-cases can provide traceability of business requirements to the object model yielding both reverse and forward engineering of business processes and information systems. The OMG's Common Business Objects and Business Object Facility holds promise of putting teeth into the notions of welding technology with business semantics. Future business and object modeling standards will allow developers and business users to rise above the technical plumbing and focus on business solutions. Then things will become very interesting as we will have a true semantic breakthrough in business computing.

Business and Software Models are Simulations of the Business

In the future, business object models likely will be developed that are simulations of the "real" business. Consider the space shuttle. Prior to the shuttle's first pieces being riveted together, the aeronautical marvel of our time was "built" in a simulator. The simulator was not discarded after the actual shuttle was built. When a shuttle is launched, the live mission includes real-time processing by the simulator. If the real shuttle encounters trouble, NASA engineers turn to the simulator to analyze the problem and simulate alternative corrective actions. Real data from the shuttle is mirrored in the simulator.

Space exploration is fully dependent on modeling and simulation. Such simulation makes forward and reverse engineering possible in a real-time environment. This is also true of the enterprise of the future. Simulators, in the form of business object models, will be used to design critical business processes. As innovative processes are deployed, they will provide real-time data for the business simulator. As the business encounters unexpected trouble in the marketplace, it will turn to the simulator to explore corrective action. Further-more, with the deployment of intelligent components such as neural nets in the business model, business simulators will learn from the information fed back to them from real business activity. Buck Rogers? Not really. After all, object-oriented technology was developed in the 1960s as a natural approach to modeling and simulation. An intelligent simulator can learn from real data. Businesses that learn to deploy such technology will be first to identify market shifts and emerging patterns of demand. They intend to be first to market with innovations. They understand that to be second is to be last.

Businesses Need Intelligent Systems

The flattened organizations that result from business reengineering require that decision-making be placed in the hands of workers with direct customer contact. Systems capable of supporting this way of doing business must be intelligent. The workers have access to diverse information and decision-making tools needed for on-the-spot, quality decisions. Worker empowerment without the best available information resources will not work, and redesigned business processes will fail. We are not speaking of artificial intelligence technology as we know it, but of unleashing the know-how contained in individuals' heads or individual computers, and making it available and modifiable to anyone or any system anywhere, at any time. The "monolithic" AI machines of the past are giving way to distributed AI, intelligent agents, that are the antithesis of monolithic design.

Next Generation Systems Require Next Generation Development Methods Developing business applications from business objects is radically different from the current state of the practice of software development. Object-oriented project management approaches require different kinds of life cycles, deliverables and technology support. In his seminal work, Object-Oriented Programming, Brad Cox 4 spoke of a software revolution that would result from the use of Software-ICs (analogous to hardware integrated chips). A new software industry will flourish. Software factories will fabricate, customize and assemble software from standard, reusable parts. Cox's software revolution is well under way.

Recent struggles over market and mind share in the OOA&D marketplace will one day appear naive. Most OO methods are immature. Although current efforts toward standardization of methods and techniques will prove valuable, techniques such as requirements gathering use-cases are likely to give way to more powerful approaches such as those used for years in knowledge engineering (i.e. Common KADS (KADS-II)) and ontologies will come to replace data dictionaries. Today's "methods" have catered to commercial IT shops looking for a recipe to develop applications quickly and cut the back log. This will change. With Jim Odell's notions of methods engineering 5 we will witness a move away from current cookie-cutter approaches. Powerful modeling techniques (derived from years of AI experience and research) will allow us to more closely model reality, to more fully model the real business. While the results of today's OOA&D methods center on building objects, future methods will focus on using, not creating objectsa shift from procedural development to component assembly. We yet have much to learn if we are to rise above technical plumbing and work directly with business semantics.

TQM ++

With billions of objects distributed everywhere, and with atomic-sized objects being reused over and over, businesses cannot afford to have less than 100 percent reliable objects comprising their information systems. Consider the quality assurance methods that have been developed, deployed and demanded in the aeronautics field. The lives of millions of human beings depend on 100 percent quality in each atomic part of a modern airliner. At 35,000 feet, 99 percent quality in atomic parts is totally unacceptable.

What are the acceptable risks when a corporation's information infrastructure is made up of billions of objects that communicate in cyberspace? Total quality management, a buzzword of the early 1990s, takes on a very serious role in distributed object systems. To construct the new world of object-oriented information systems, defect-free components are absolutely essential. True total quality management (not the management platitude) is absolutely essential. Most of today's methods are collections of techniques but offer no realistic lifecycle development with process support, business concerns, quality and testing. Continuous process improvement is essential in software development as well as in manufacturing and other core business processes. Ground breaking work in this arena has been incorporated in the OPEN method (Object-oriented Process, Environment and Notation) from the OPEN consortium (see http://www.csse.swin.edu.au/cotar/OPEN/OPEN.html).

21st Century Corporations Will Be Learning Organizations

Arie DeGeus of Royal Dutch/Shell observed, "We understand that the only competitive advantage the company of the future will have is its ability to learn faster than its competitors." 6 The next generation of computing will not come easy. Both business and technology professionals must learn how to think in fundamentally new ways. Mentoring and team learning are essential to building a learning organization capable of keeping up with the rapidly evolving object technology and business engineering. As noted by M.I.T.'s Peter Senge, systems thinking is at the core of the new corporate curriculum, and business and technology professionals must learn general systems thinking.7 In his book, The Blueprint for Business Objects,8 Peter Fingar makes it quite clear that "corporate training as usual" no longer applies. We are not trying to learn a new programming technique, we are evolving core corporate competencies for the 21st centuryan evolution that requires continuous learning synchronized with the continuing developments in business and technology practice.

The Bottom Line

We are on the threshold of the next generation of business. The next generation of technology - distributed object computing - supplies the back-drop for the next generation of business practice. The challenge to businesses that wish to excel in the 21st century is to develop an evolutionary approach to bridge the two worlds of today and tomorrow, along with the two realities of business and technology.

References

1 Gelernter, David, Mirror Worlds: or the Day Software Puts the Universe in a Shoebox..., Oxford University Press (1991).

2 Sims, Oliver, Business Objects: Delivering Cooperative Objects for Client/Server, McGraw-Hill (1994).

3Taylor, Dr. David A., Business Engineering with Object Technology, John Wiley & Sons (1995).

4Cox, Brad J., Object-Oriented Programming, An Evolutionary Approach, Addison-Wesley (1986).

5 Martin, James, and James Odell, Object-Oriented Methods: Pragmatic Considerations, Prentice-Hall (1996).

6 DeGeus, Arie, "Planning as Learning," Harvard Business Review, p. 74 (March-April 1988).

7 Senge, Peter M., The Fifth Discipline: The Art and Practice of the Learning Organization, Doubleday/Currency (1990).

8 Fingar, Peter, The Blueprint for Business Objects, SIGS Books (1996).