CORBA (Common Object Request Broker architecture)

Source: Internet
Author: User
Tags definition

CORBA (Common Object Request Broker architecture) is a new technology developed with the rapid development of software and hardware resources today. It allows distributed applications to complete communication, regardless of the manufacturer of the application, and can communicate with each other as long as the CORBA standard is met. CORBA 1.1, presented by the OMG in 1991, also presents interface definition Language interface definition Language,idl and enables client/server objects to communicate in a particular ORB (object request broker) implementation. The CORBA 2.0 standard, which was proposed and adopted in 1994, realizes the interoperability between different manufacturers.

An orb is a medium in which client/server contacts are established between objects. With the Orb, the customer can invoke the application in the object or object of the server, and the object being invoked is not required on the same machine. The Orb is responsible for communication, and the Orb is responsible for finding the object that is appropriate for this work and returning the result after the server object completes. Client objects can completely not care about the location of the server object, the implementation of the specific technology and work of the hardware platform, and even do not care about the server object's service-independent interface information, which greatly simplifies the work of client programs. Since it is so convenient, the Orb needs to provide communication between applications across different machines, data conversion, and seamless connectivity of multiple object systems.

We often need to define our own communication protocols when preparing client/server programs, which are often related to hardware and implementation methods, and the orb simplifies this process. Under the Orb, the protocol is defined by the IDL language to ensure consistency, and in order to accommodate flexibility, the Orb allows the programmer to choose the appropriate operating system, execution environment, and programming language. More importantly, it allows the original code to be reused in a certain way. CORBA is the first step of object-oriented standards, with this standard, the implementation of software and working environment for users and developers no longer important, you can focus more on the implementation of the local system and optimization.

Let's look at some specifics of CORBA. CORBA is designed to integrate different object systems, providing flexible object invocation and function implementation. The following figure is a client object that invokes a server object through the orb.

The general work process of the object request agent structure is like the work process above. The client gives the orb the work that needs to be done, the Orb decides which object instance completes the request, and then activates the object to pass the required parameters for the request to the active object. In addition to the interface of customer transfer parameters, customers do not need to know any other information, which greatly saves the user's development effort. When making a request, the customer can use the dynamic call interface or the OMG IDL handle. Of course, users can also call some of the Orb's internal functions directly. Object implementations receive call requests through the framework generated by OMG IDL or through dynamic frameworks, and object implementations can invoke object adapters and orb when processing these requests.

The interface of an object is defined in two ways, and can be statically defined using an Interface definition language (called the OMG Interface Definition language, OMG IDL), which defines an object based on the operation performed and the parameters that are passed. Alternatively, the interface can be added to the interface library service, which represents the component that is the interface of the object, allowing access to the interfaces that become components at run time, both of which are equivalent. The following illustration shows a client using a handle or a dynamic call interface for access.

The customer knows the type of object and what it wants to do (the average customer knows this, and it's ridiculous if you don't know what you need to do) the customer can request by accessing the object reference of an object. The client can initialize the call by invoking the handle function, or it can make a request dynamically. Both the dynamically emitted request and the static request sent through the handle interface are in the same format, and the recipient of the request cannot know whether the request was made dynamically or statically.

The Orb locates the appropriate code that implements this function, passes through the IDL framework or dynamic framework to the object to implement the transfer parameters, and gives control to the object implementation. The framework is specified for the connection and object adapters, and the object implementation can obtain some orb services through the object adapter during the implementation of the request. When the request is completed, the control and output data are returned to the customer. Don't be fooled by the graph, the object implementation can choose the object adapter you want to use according to your needs.

Interfaces can be implemented in the OMG IDL or in the interface library, which is used to generate client handles and object implementation frameworks. The object implementation information is provided at installation time, is stored in the implementation library, and the content in this repository can be used when transferring requests.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.