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)