Transcript for:
Understanding CORBA Architecture and Features

Hey everyone welcome to my channel this is Karavith Saxena currently pursuing Mtech IT 5 year integrated course from IBS DAVV. In this video we will be discussing about CORBA which stands for common object request broker architecture which is guided by our Honourable Professor Dr. Nitin Nagar sir. This video is a part of our internal assessment of Mtech curriculum.

So without wasting any further time, let's quickly jump into the video. Okay, so the main topics that we will be covering in this video are Why Korba? What is Korba? How Korba works? Key elements of Korba?

Applications of Korba? Feature? of korba and then finally we will be concluding all the things. So the first question arises that why we are studying korba and what's the need of it?

Because before starting any topic first we should be clear with the why part of it. So basically whenever software developed, the biggest problem is that that particular software is developed in different languages, say C, C++, Java or any other high level language. So, it creates a problem of incompatibility. It means whenever we connect the two systems for any data transfer or say any type of communication between these two systems, then these two systems are found not to be compatible with each other, which led to robustness.

So, in 1989, 29 big MNCs took a decision to create a solution of this issue. Thank you. And it was concluded that no matter on what programming language or what technical stack a particular software is developed, it should run perfectly and its proper utilization should be done.

So these 29 MNCs took an initiative in 1989 and created a platform called Corpa. that is Common Object Request Broker Architecture. These MNCs basically did not give a name of a particular company to this initiative.

Instead, they just gave a common name to this group or you can say an organization which was independent of all the companies that were included in this initiative. And today, we know that group as Object Management Group. In short, we call it OMG which was formed in year 1989. One more interesting thing to note is that the first version of Corba was released in 1992 as Object Management Architecture Guide and further it was named to Common Object Request Broker Architecture.

Since now we are clear with why we need Corba and its history part, let's now understand what Corba actually is. Corba is a platform which supports multiple programming languages to work together successfully. It is actually a mechanism in software for normalizing the method called semantics between application objects residing either in the sem-editor space or remote editor space. So whenever we talk about the same address space, it means that we are talking about an application.

On the other hand, if we are talking about the remote address space, it means the same host or remote host. Corba is basically a middleware. It is neither a two-tier or three-tier architecture. The Object Request Broker or ORB enables clients to invoke methods in a remote object. It is actually a technology to connect to objects of heterogeneous types.

We all know what heterogeneous is, in case you don't. heterogeneous means objects of different kind. Okay, so moving on to the types of objects in korba. There are two types of objects. First one is a service provider object and the second is a client object.

Service provider is actually concerned with the server side object and it includes all the functionalities that can be used by other objects. Second thing is the client object. The client object basically requires services of other objects.

And here the other objects are none other than the service provider objects. Okay, so as of now I hope you all have understood what is Corba and why we use it. Now let's understand how Corba works, what is IDL, object request broker library and other key elements of the Corba.

Okay, so IDL is basically nothing but a tool which is used to implement Corba. It stands for Interface Definition Language. When we talked earlier that Corba is capable of connecting multiple systems based on different operating system together, it is actually achieved by IDL.

So basically IDL was always there behind the Corba. IDEAL is used to specify the interfaces which objects represent to the outer world. So what actually happens is between every two systems we implement IDEAL and then the communication between two systems is done by the IDEAL. So basically the main role of the IDEAL is to support different type of languages. Now let's understand the actual working of the corebar.

Consider these two machines. First one is the client side machine and the other one is the server side machine. Here first of all client send the request to the server. One more thing to conclude here is that the client and server both is object request broker library. Once the request is Welcome to the server.

The server received the request from the client in the second step. Then the server sends a reply or you can say an acknowledgement to the client. And then the client gets a reply from the server. So this is how corba actually works. Okay, so now let's understand the other elements of the corba.

The first one is the ORB core. So the ORB core carries out the request reply protocol between client and server and it provides operations that enable process to be start and stop. The next thing is the object adapter, it is actually installed at the server side and the gap between the corebar object and programming language interface of the slave class.

Next thing is skeleton. Again, it also resides at the server side. An ideal compiler generates skeleton class in the server's language. Then comes the client proxies or stubs.

The stubs actually reside at the client side and it is generated by ideal compiler in the client language. Then we have implementation repository. It activates the register servers on demand and locate server that are currently running. Interface repository basically provides information about register ideal interfaces to the client and server that requires it.

Now let's discuss some applications of corba. Means where this corba would be applicable, what is the significance or say what are the roles of corba. So in java we know the concept of RMI.

RMI which is also known as remote method invocation. It is actually concerned with how we are interacting with the system remotely. Suppose there are two different kind of system at two different places. So how we will be connecting?

These two systems actually comes under the RMI. Second thing is, Korba enables communication between client and server on different operating system, programming language or hardware. This is another main application of Korba. It is used in distributed application.

And it is actually ideal for heterogeneous distributed systems like internet. We have already discussed about the heterogeneous objects before. Now let's discuss about the features of the korba. First one is the language independence. So currently there are many languages are supported by various korba providers.

The most popular being Java and C++. There are also C, Smalltalk and Perl. Second is operating system independence.

Korba is meant to be OS independent. It is actually available in Java. And we all know that Java is a platform independent programming language.

So korba also supports multiple OS like Linux, Unix, etc. Linux, Windows, Mac etc. Then comes freedom from technologies.

So as a C++ legacy code can talk to a C410 legacy code in Java database code and can provide data to a web interface. Next thing is strong data typing. It means we can use, we can apply or we can store different type of data types. So there is no basically there is no boundary or restriction on the uses of the data types.

Korba also supports freedom from data transfer details as it provides a high level of detail in error conditions. Corva compresses its data in binary form which means it also saves memory. So in this way Corva is efficient. So now let's summarize all the things that we have learned today very quickly. So Corva is a standard defined by OMG that is Object Management Group.

OMG is actually nothing but the group or say organization containing big MNCs which created the platform Corva. Corba enables software components written in multiple computer languages and running on multiple control to work together. That is it supports multiple platforms.

Then everything in Corba is managed by IDL which provides a platform for multiple software, programming language and data types. Okay, so thank you for watching this video. If you have any doubts or queries, just let me know in the comment section down below. If you like this video, please hit the like button. Thank you.