devxlogo

Object Request Broker

Definition

The Object Request Broker (ORB) is a component in a middleware system enabling program machines to send requests and receive responses through a network protocol. It is responsible for ensuring that the request issued by an object (or client) is understood and automatically forwarded to the suitable object in the system. Essentially, the ORB allows seamless interaction between distributed objects in a network even if they operate on different devices or written in different programming languages.

Phonetic

The phonetic pronunciation of “Object Request Broker” is:Object: /ˈɒbdʒɪkt/Request: /rɪˈkwÉ›st/Broker: /ˈbroÊŠkÉ™r/

Key Takeaways

  1. Functionality: An Object Request Broker (ORB) is a critical component in any system that uses the object-oriented model. It’s responsible for facilitating communication between objects, regardless of whether they are located on the same machine or dispersed across a network.
  2. Communication: ORBs are used in situations where objects that need to communicate with each other are written in different programming languages. It employs the Common Object Request Broker Architecture (CORBA), a standard that allows diverse components to collaborate, sharing data and commands regardless of the programming language used to create them.
  3. Flexibility: An ORB can make a program more flexible and easily modifiable because it separates the interfaces from their implementations. This means changes can be made to the underlying implementation of an object without affecting how other objects interact with it.

Importance

The technology term “Object Request Broker” (ORB) is fundamentally important because it plays a crucial role in maintaining the seamless interaction among objects in a distributed computing environment. ORB operates as an intermediary system that allows objects to transparently make requests and receive responses, even if they reside in different address spaces. This simplifies interaction complexities typical with distributed operations and enhances interoperability across different system architectures. Furthermore, ORBs support concurrency and the distribution of services across Systems Under Test (SUTs) which aids in process efficiency and speed, making the role of ORBs indispensable in distributed computing and technologies such as the CORBA architecture.

Explanation

An Object Request Broker (ORB) is an integral component of the technology field, particularly in the realm of distributed computing. The primary purpose of an ORB is to facilitate communication between remote objects, which are components of a software program, in a transparent manner. This means that the specific details of the communication process, such as data conversions and network details, are hidden from the user. ORBs play a crucial role in simplifying the development of distributed systems by enabling objects to make requests and receive responses, as if they are local to that system.The basic premise of an ORB is to handle all the details of network communication that would otherwise need to be handled by developers. One of the main uses of ORBs is in the context of the Common Object Request Broker Architecture (CORBA), where they act as the middleman between client applications and server objects. This keeps the system modular and the communication process streamlined, thereby improving the efficacy and efficiency of distributed software systems. Thus, ORBs can significantly reduce the complexity involved in designing and implementing distributed systems.

Examples

1. CORBA (Common Object Request Broker Architecture): Developed by the Object Management Group (OMG), CORBA is an example of an ORB that allows programs to send requests and receive responses from applications on distinct computers, irrespective of their geographical locations. It is used in industries like telecom, finance, and healthcare.2. RMI (Remote Method Invocation): As a part of Java’s standard class library, RMI allows an object running in one Java Virtual Machine (JVM) to invoke methods on an object running in a different JVM. This technology plays a core role in supporting distributed processing in Java applications.3. DCOM (Distributed Component Object Model): Introduced by Microsoft, DCOM is an ORB that extends the COM (Component Object Model) to support communication among objects on different computers within a network. It’s used in many Microsoft products, including MS Office suite and SQL Server.

Frequently Asked Questions(FAQ)

Q: What is an Object Request Broker (ORB)?A: An Object Request Broker (ORB) is a middleware that allows program components to communicate with each other, regardless of where they are located in a system. It enables developers to create distributed software applications without having to worry about details of network protocols and communication.Q: How does an ORB work?A: An ORB acts as a bridge between the client requesting services and the object providing those services. It uses a common language to convert method calls into a standard format that can be understood by the object. It also locates the target object and delivers the method calls.Q: What are the main features of an ORB?A: The main features of an ORB include interoperability, location transparency, reuse of services, language independence and encapsulation. Q: What are some examples of ORBs?A: Examples of ORBs include CORBA (Common Object Request Broker Architecture), DCOM (Distributed Component Object Model), RMI (Remote Method Invocation), .NET Remoting, among others.Q: What language is typically used with ORBs?A: Although ORBs are language-independent, many ORBs use Interface Definition Language (IDL) as a common language to allow different components to communicate effectively.Q: What is the relevance of ORB in Distributed Computing?A: In distributed computing, ORBs play a crucial role by allowing different components of software programs, possibly written in different languages and located on various network nodes, to interact seamlessly. Q: What is the relationship between an ORB and CORBA?A: ORB is a central part of the CORBA (Common Object Request Broker Architecture) system, which is a standard defined by the Object Management Group (OMG). ORB in the context of CORBA provides the mechanism to transparently make requests and receive responses and is a key to the distributed communication.Q: What is the primary function of an IDL in relation to an ORB?A: Interface Definition Language (IDL) is used to describe the interfaces that client objects call and object implementations provide. This acts as a contract between the client and server objects, which the ORB uses to facilitate their communication.Q: Can ORBs work with any programming language?A: Yes, one of the key advantages of ORBs is their language independence, as they involve a common language (IDL) to allow different components to communicate. This means that the components of a software application written in different programming languages can communicate with each other.Q: Are ORBs still relevant today?A: Yes, ORBs remain relevant today, particularly in complex, distributed systems where different software components are required to communicate effectively. They continue to be used in industries like telecom, manufacturing, and finance where legacy systems are prevalent.

Related Tech Terms

  • Middleware
  • Distributed Computing
  • Common Object Request Broker Architecture (CORBA)
  • Remote Procedure Call (RPC)
  • Interface Definition Language (IDL)

Sources for More Information

devxblackblue

About The Authors

The DevX Technology Glossary is reviewed by technology experts and writers from our community. Terms and definitions continue to go under updates to stay relevant and up-to-date. These experts help us maintain the almost 10,000+ technology terms on DevX. Our reviewers have a strong technical background in software development, engineering, and startup businesses. They are experts with real-world experience working in the tech industry and academia.

See our full expert review panel.

These experts include:

devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

More Technology Terms

Technology Glossary

Table of Contents