CCOA practice question 8 of 25

Which type of middleware is used for connecting software components that are written in different programming languages?

Full set: 139 questions
Answer options
A: Transaction processing middleware
B: Remote procedure call middleware
C: Message-oriented middleware
D: Object-oriented middleware Correct answer
Correct Answer:
D. Object-oriented middleware
Explanation

Object-oriented middleware (OOM), such as systems based on the Common Object Request Broker Architecture (CORBA), is specifically designed to facilitate communication between distributed objects regardless of the programming language they are written in or the operating system they run on. It uses an Interface Definition Language (IDL) to create a language-neutral contract between components, enabling interoperability. This abstraction layer allows a component written in Java, for example, to seamlessly invoke methods on an object written in C++.

Why Incorrect

A. Transaction processing middleware focuses on ensuring the integrity of distributed transactions (e.g., ACID properties), not primarily on language interoperability.
B. Remote procedure call middleware is a mechanism for executing code remotely, but OOM is a more specific type of middleware that institutionalizes language-agnostic object interaction.
C. Message-oriented middleware decouples components using asynchronous messages, which supports language independence, but its primary paradigm is messaging, not direct object/procedure invocation.

References

1. Emmerich, W. (2000). Software engineering and middleware: a roadmap. In Proceedings of the conference on The future of Software engineering (pp. 117-129). ACM. In Section 3.2, it states that Object Request Brokers (the core of OOM) "bridge the heterogeneities of the underlying networks and operating systems as well as the programming languages used for component implementation." DOI: https://doi.org/10.1145/336512.336527

2. Coulouris, G., Dollimore, J., & Kindberg, T. (2011). Distributed Systems: Concepts and Design (5th ed.). Addison-Wesley. Chapter 20 on CORBA details its role in providing "interoperability between applications written in different programming languages."

Scroll to Top