Remember how I said that architecture establishes new requirements for design? Here is a good example.
Would you use the same interface design for a central middle tier that you would use for a distributed middle tier?
This is very unlikely.
In fact, one reason the CORBA standard was developed was to address the need for an architecture that supports distributed processing on the middle and lower tiers.
(CORBA) Common Object Request Broker Architecture is an open, vendor-independent specification for an architecture and infrastructure that allows applications to communicate over networks. The core features of CORBA are:
- A high-level Interface Definition Language (IDL), allowing applications to specify their distributed communication in an object-oriented fashion.
- Standardised protocols, GIOP and IIOP, for on-the-wire CORBA communication.
- A set of programming APIs to address the middleware needs of client to server connectivity.
These features allow all CORBA-based programs to interoperate, even though they may be written in almost any programming language, and running on almost any operating system or network.