Distributed Objects & Components: General Information
Intro
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. 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. (2) 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. (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. (4) Systems integration can be
performed to a higher degree. 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. (Peter Fingar et al.)
Component-based development represents the
'industrialization' of software development. When any manufacturing
process evolves to the point where it can be based on pre-built
components and subassemblies, product quality, quantity, and speed
of delivery soar. This principle applies equally to software
systems development, allowing unprecedented quality, speed of
development, and highly effective change management. However, a
fundamental mindset change toward components is necessary to usher
in the industrial era of software development. (Compuware)
COM provides the component technology for Microsoft
Windows Distributed interNet Applications (Windows DNA)
architecture, which enables developers to integrate Web-based and
client/server applications in a single, unified architecture. Using
COM, developers can create distributed components that are written
in any language and that can interact over any network.
COM+ will make it even easier for developers to create
software components in any language using any tool. COM+ builds on
the factors that have made today's COM the choice of developers
worldwide, including the following: (1) The richest integrated
services, including transactions, security, message queuing and
database access to support the broadest range of application
scenarios. (2) The widest choice of tools from multiple vendors
using multiple development languages. (3) The largest customer base
for customizable applications and reusable components. (4) Proven
interoperability with users' and developers' existing investments. (Microsoft)
The Common Object Request Broker Architecture (CORBA),
developed by the Object Management Group (OMG) in 1990, enables
invocations of methods on distributed objects residing anywhere on
a network, just as if they were local objects. A CORBA
implementation employs Object Request Brokers (ORBs), located on
both the client and the server, to create and manage client/server
communications between objects. ORBS are the key to the CORBA
distributed object architecture. They allow objects on the client
side to make requests of objects on the server side without any
prior knowledge of where those objects exist, what language they
are in, or what operating system they are running on. To facilitate
these requests and provide ORB interoperability, the CORBA 2.0
specification outlines a protocol named Internet Inter-ORB
Protocol, which has quickly been embraced by industry leaders (IBM
, Netscape Oracle). (EarthWeb)
JavaBeans, the platform-neutral component architecture
for Java, has proven to be invaluable in the development of
network-aware applications. ... You can make any Java class into a
bean just by changing the class to adhere to the JavaBeans
specification. It's up to you to decide what you want to design as
a bean and what you want to design as a Java class: It's a good
idea to leave all the library classes as Java classes, but
graphical user interface (GUI) elements can be designed to be
beans, and some beans -- such as beans on a server -- can be
non-GUI-related. ... Regardless of its functionality, every bean
should support the following characteristics and behavior:
Persistence, Visual manipulation, Introspection, Events and
Customization. (Netscape Communications)
Enterprise JavaBeans takes the remarkably successful
JavaBeans component architecture released in JDK 1.1 to the next
level by providing an API optimized for building scalable business
applications as reusable server components. With Enterprise
JavaBeans, developers can design and re-use small program elements
to build powerful corporate applications. These 'componentized'
applications can run manufacturing, financial, inventory
management, and data processing on any system or platform that is
Java-enabled. (Sun Microsystems)