Fundamental CORBA Architecture - Distributed Computing View
Lesson 4 | The distributed computing view |
Objective | Conceptual layers of core CORBA architecture |
Fundamental CORBA Architecture - Distributed Computing View
What are the conceptual layers of the core CORBA architecture?
At its heart, the CORBA model is based upon the concept of distributed services and service users.
This simple model is repeated many times in the CORBA architecture so that distributed application objects that provide services play the role of CORBA server,
while the application objects that make use of the services play the role of CORBA client.
The SlideShow below graphically displays this relationship.
- At the most basic level, CORBA is always about two entities: 1) one component provides the service, 2) another component uses the service
- In distributed computing terminology, the two entities are called client and server.
- The basic communication model is very simple, clients send a CORBA request
- The simplicity of this model is based on the ORB. It is at this level where the ORB lives up to its name.
Computer Networks are Heterogeneous
Computer networks typically are heterogeneous. For example, the internal network of a small software company might be made up of multiple computing platforms. There might be a mainframe that handles transactional database access for order entry, UNIX workstations that supply hardware simulation environments and a software development backbone, personal computers that run Windows and provide desktop office automation tools, and other specialized systems such as network computers, telephony systems, routers, and measurement equipment. Small sections of a given network may be homogeneous, but the larger a network is, the more varied and diverse its composition is likely to be.
There are several reasons for this heterogeneity. One obvious reason is that technology changes over time. Because networks tend to evolve rather than being built all at once, the best technologies from different time periods end up coexisting on the network. In this context, "best" may refer to qualities such as the lowest cost, the highest performance, the least expensive mass storage, the most transactions per minute, the tightest security, the flashiest graphics, or other qualities deemed important at the time of purchase. Another reason for network heterogeneity is that one size does not fit all. Any given combination of computer, operating system, and networking platform will work best for only a subset of the computing activities performed within a network. Still another reason is that diversity within a network can make it more resilient because any problems in a given machine type, operating system, or application are unlikely to affect other networked systems running different operating systems and applications.
The factors that lead to heterogeneous computer networks are largely inevitable; thus, developers of practical distributed systems, whether they like it or not, must cope with heterogeneity. Whereas developing software for any distributed system is difficult, developing software for a heterogeneous distributed system sometimes borders on the impossible. Such software must deal with all the problems normally encountered in distributed systems programming, such as the failure of some of the systems in the network, partitioning of the network, problems associated with resource contention and sharing, and security-related risks. If you add heterogeneity to the picture, some of these
problems become more acute, and new ones crop up.
The next lesson highlights the central role that the ORB plays in CORBA.