The basic idea is that a binary object standard allows various objects from various vendors, running on various platforms, to work together to create an N-Tier client/server application.
The natural evolution of this N-Tier Client/Server model is the fully distributed computing models offered by CORBA and COM.
These advanced middleware enabling standards, allow objects to exist anywhere on a network, independent of the process(es) that make use of their services.
Using the Distributed Object services provided by CORBA or COM, a single process can consist of objects which are distributed around the network.
This distributed system architecture provides the benefits of the N-Tier Client/Server model, with increased performance and reliability, as the system is refined and developed at the object level rather than the client level.
Defining business rules/logic as objects in the Middleware layer allows an enterprise information system to be much more flexible, which is becoming essential in today's fast changing business climate.
Conceptually, one object communicates with another object via a message that causes a service (provided as a method on the receiving object) to be performed. This loose coupling allows decisions about what goes where, to be delayed until later.
Business objects can be placed on business servers and accessed through messages from any client or server machine.
Under this approach, the application logic within the business objects can be reused multiple times within an application and even within multiple applications.
Distributed object computing is rapidly emerging as the standard development approach for software applications.
The future of Middleware may be in the world of ORBs (object request brokers) - mechanisms that allow objects to send and receive messages transparently from other objects that are local or connected by a network.
ORB services provide the foundation to build secure distributed-object applications, with granular levels of interoperability across heterogeneous distributed environments.
The Object Management Group's - Common Object Request Broker Architecture (CORBA) is continuing to define ORB standards.
Today, only a few ORB Middleware vendors, such as Teknekron, provide ORBs for use as Middleware. But this part of the market will continue to grow.
Most industry experts agree that the three basic principles of object orientation (OO) are encapsulation, inheritance (including multiple inheritance), and polymorphism.
Encapsulation is the packaging of related data and processing logic together as an object.
Under the rules of encapsulation, an object hides information about its internal operations from other objects; the other objects know only how to invoke the services it offers through its well-defined interface.
The data within an object is accessed only by the processing logic within the object itself.
Inheritance is the ability of one object to derive some or all of its characteristics from other ancestor objects and to reflect any changes made to those characteristics of the ancestor objects in the object itself.
Multiple inheritance provides the ability for an object to inherit its characteristics from more than one ancestor.
Polymorphism is the ability to hide differing implementation details and alternative procedures behind a common interface.
There are several types of polymorphism; one of the most common types is message polymorphism. An example of message polymorphism occurs when a setup procedure is defined for each of several objects, but the steps required to achieve setup actually differ among the objects.
Another object can invoke the setup procedure for any of the objects without concern for how the setup is actually carried out.
There is no need to have a different name for the procedure within each object, or to have related unique references using the different names for the procedures in all other components that use them.