Much of our examination of the core CORBA architecture has focused on the specific attributes of developing CORBA clients and servers.
We will now take a slightly different viewpoint on what we have learned and look at things from an ORB-centric standpoint (as much of the CORBA specification does).
The Object Management Group (OMG) still maintains the CORBA (Common Object Request Broker Architecture) specification, even though CORBA is not actively used in modern enterprise applications. CORBA was widely adopted in the 1990s and early 2000s for enabling communication between distributed systems written in different programming languages and running on different platforms.
Key Points:
- OMG's Role: The OMG continues to oversee and update the CORBA specification, along with other standards like UML (Unified Modeling Language) and BPMN (Business Process Model and Notation). However, active development and updates to the CORBA specification have significantly slowed down as newer technologies have taken precedence.
- Legacy Systems: While CORBA is no longer the primary choice for distributed computing in modern systems, it is still used in some legacy systems, especially in industries like telecommunications, aerospace, and defense, where systems have long lifecycles.
- Relevance: Though CORBA’s popularity has waned, the OMG keeps the specification available for organizations that still rely on CORBA-based infrastructures. This ensures continuity for businesses that may not have transitioned to newer technologies like web services, microservices, or gRPC.
In summary, the OMG still maintains the CORBA specification, but it is not actively developed or promoted for new systems. Its role now is mainly for supporting legacy systems where CORBA continues to be used.
Entities that are not CORBA objects, that is to say, not objects accessed by means of an Object Request Broker are used for names (in the guise of pseudo objects).
In both cases the interfaces to these entities conform as closely as possible to OMG IDL while satisfying the specific service design requirements, in order to enable maximum flexibility in the future. Specifically, in the Naming Service, name objects are pseudo objects with interfaces defined in pseudo IDL (PIDL). These objects look like CORBA objects but are specifically designed to be accessed using a programming language binding. This is done for reasons based on the expected use of these objects.