An Object-Oriented Approach
A D V E R T I S E M E N T
As mentioned, RPCs follow the traditional functional model. State
information may need to be maintained independently at both client and
server (depending on the type of application). This data is often repeatedly
re-transferred across the network on each remote function call.
An alternative architecture is to use techniques from object-oriented
development and to partition the system into a set of independent objects.
Each object is responsible for maintaining its own internal state
information.
By using an object-oriented approach to your network software
development, you can promote certain beneficial traits in your code:
- Encapsulation: ensuring a clear separation between the
interfaces (through which the objects in your system interact with
one another) and their implementations
- Modularity, scalability and extensibility
- Re-usability (of code and, perhaps more importantly, of design)
- Inheritance and specialization of functionality and polymorphism
The act of sending a message from one entity on a network to another is
remarkably similar to one object invoking a method on another object. The
integration of distributed network technology and object-orientation unites
the features of a basic communications infrastructure with a high-level
abstraction of these interfaces and a framework for encapsulation and
modularity�through this, developing applications which inter-work is
significantly more intuitive.
The Object Management Architecture
In 1991, a group of interested parties joined to form the Object
Management Group (OMG)--a consortium dedicated to the standardization of
distributed object computing. The OMG supports heterogeneity in its
architectures, providing the mechanisms for applications written in any
language (running on any operating system, any hardware platform) to
communicate and collaborate with each other�in essence, the development of a
�software bus� to allow for implementation diversity, as a hardware bus does
for expansion cards.
The OMG architecture which permits this distributed collaboration of
objects is called the Object Management
Architecture (OMA). Figure 2 shows the object management
architecture.
Figure 2. Object Management Architecture (OMA)
|