First let me answer the question which raises in everybody's mind. maybe they know, but still not sure about it. That is "what is distributed computing?"  also whenever somebody says client - server technology, they mean some front-end GUI & back-end database or something related to database alone. I have to clarify this point before i answer the what is dc question. client-server can also mean a client sitting (don't ask how it can sit.. residing may be a more appropriate term.. but i take liberty in expressing the way i feel like..) at some(or same) machine and requesting the server to do some processing (in real terms.. and not only in data-base reading/writing etc). If these client & server are connected directly (physically) then it is called two-tier client-server architecture. But when they are not physically together then the obvious requirement is they talk through network & also they have some protocol on their own for messaging. This is called three-tier cleint-server architecture. This type of computing is traditionally called Distributed Computing. This means computing can be done across networks in a distributed fashion.

Traditionally the distributed computing was done in a structured way & Distributed Computing Environment (popularly known as DCE) used C language for distributed computing. But soon the computing world was changing rapidly & object oriented programming became popular. so there was always a need felt of doing this distributed computing also in object oriented way.

The solution came through what is called CORBA (Common Object Request Broker Architecture) - formulated by OMG(Object Management Group), a consortium of over 800 companies & DCOM (Distributed Component Model) by Microsoft. Both of these addresses the basic issue of how to transport an object across wire. Both are specifications, while DCOM is implemented by microsoft itself, CORBA specification has been implemented by lot of vendors. The popular ones are IONA's Orbix & Visigenic's Visibroker. while DCOM has binary level specification which can be (theoretically) implemented in any-language, CORBA has a much finer higher level specification for languages like C,C++,Java,COBOL,Small Talk, Ada etc.

How the client talks to server?
The server publishes its interface with all the operations it supports in it using an Interface Definition Language. using this the stubs (on client side) & skeletons (on server side) are generated. In this aspect both CORBA & DCOM are similar. But the similarity stops there itself.

Although both came as a solution for the same problem  they are poles apart is the sad part. So the distributed computing world is divided & although CORBA seems to have upper hand presently (this is my personal opinion) because of technology advance over DCOM by nearly two years nobody is sure as Microsoft literally-owns the PC Market. we have to wait and see for another few-years, to judge who wins the race. But anyhow my strong opinion is both are here to stay  & they'll learn to survive & interact with each other also. CORBA has taken the initiative in this direction declaring the specifications for CORBA-COM interoperability.

Want to learn more about CORBA. Basics of CORBA

Back to

This page hosted by 
Get your own Free Home Page

1