NonStop Software

Designing a Distributed Object Application

Previous Topic | Next Topic | Contents | Index
Getting Started Guide | Administration Guide | Reference Guide

Subtopics

What You Need to Know

To design a new application or component, you take some or all of the following steps:

  1. Define client requirements (not only required services, but also factors such as performance, interoperation with other systems, and concurrent access to data).
  2. Evaluate available class libraries and frameworks to see what existing software you can use.
  3. Identify new classes required by the application and define the inheritance and usage relationships among the classes.
  4. Make decisions about server implementation.
  5. Design or modify clients to take advantage of new features.

Note: Some applications require a bridge between object-oriented architectures. For information on this topic, see the NonStop DOM Reference Guide


The components of a hypothetical application could use NonStop DOM and other CORBA implementations. The term local objects can signify any kind of object class supported by the system, for example, a proprietary C++ object class. CORBA objects are objects that comply with the CORBA standards and are accessible to remote clients. NonStop DOM objects are CORBA-compliant objects that you create with NonStop DOM.

To create an application, you need to do the following:

Object-Oriented Design Methodologies

Tandem does not recommend a specific object-oriented design methodology except to suggest that you choose an approach oriented to distributed, standards-based computing.

Sometimes it is possible to adapt an existing methodology to a distributed environment. For example, a design methodology that emphasizes the finest possible granularity for objects, on the assumption that the cost of messages is trivial, can result in an application that is inefficient when distributed. NonStop DOM lets you preserve the reuse benefits of finely grained objects without compromising performance, either by wrapping a set of small objects in a larger object or by ensuring that certain objects always run in the same server process.

What You Need to Know

Subtopics discussed in this section:

The issues for designing an application depend on the type of component you are implementing. In general, object class and server design are closely linked, whereas a client is concerned primarily with the interfaces of classes it will use.

Designing Object Classes

To design object classes, you must consider issues such as:

Designing a Server

Most server-design decisions depend on the characteristics and relationships among objects that will run in the server. To design a server, you consider issues such as:

Designing a Client

To design a client, you consider issues such as:

Background Topics

To design an application or component, you must understand the following topics:

You must also understand the following features of NonStop DOM and other Tandem products:


Previous Topic | Next Topic | Contents | Top
Getting Started Guide | Administration Guide | Reference Guide
Bibliography | Glossary | Index
© Tandem, a division of Compaq. All rights reserved. Legal notices.