At the most basic level, CORBA is a standard for distributed objects. CORBA allows an application to request an operation to be performed by a distributed object and for the results of the operation to be returned back to the application making the request. The application communicates with the distributed object that is actually performing the operation. This is basic client/server functionality, where a client issues a request to a server and the server responds back to the client. Data can pass from the client to the server and is associated with a particular operation on a particular object. Data is then returned back to the client in the form of a response.
[ Top | Bottom | Previous section | Next section ]
[ Top | Bottom | Previous section | Next section ]
[ Top | Bottom | Previous section | Next section ]
[Recently created (12/1998). Click here to go to the next FAQ in the “chain” of recent changes]
This is not a wise question, and is an invitation to a flame war. Please don’t ask this question on the newsgroup since it will produce a lot more heat than light. Plus it’s nonsensical since the answer of whether you should use CORBA or Java RMI or ... will depend mostly on peculiarities business and/or technical constraints of your particular team, organization, project, etc.
In any event, please don’t ask this sort of question on comp.object.corba. It’s an invitation to a flame war, since no answer can ever, ever contain enough if’s and’s and but’s to be precisely correct for all situations. For example, to properly answer the question you’d have to factor in many business considerations such as the following:
Again, please don’t ask this question on comp.object.corba -- it’s flame bait.
[ Top | Bottom | Previous section | Next section ]
[Recently created (12/1998). Click here to go to the next FAQ in the “chain” of recent changes]
Note: Please read the previous FAQ before reading this one.
Here’s the truth: Business issues normally dominate technical issues.
In other words, there’s no way to answer the question without knowing the business considerations of the organization that is deciding to use these technologies. There’s no universal notion of better and worse in these things. The vast majority of these decisions are dominated by business considerations, not by technical considerations.
The issues that really end up mattering are things like availability and maturity of a development environment for the development machine, availability of runtime environment(s) for the deployment machine(s), licensing/legal issues of the runtime and/or development environments, availability of trained developers, availability of consulting services, corporate culture/politics, what your company’s customers are using, what your company’s vendors are using, any CEO-level aliances your company has, who is sitting on the Board, etc. These business considerations generally play a much greater role than milliseconds per remote invocation, space overhead per object, etc.
People who argue in favor of one technology over another in a purely technical manner (i.e., who ignore the dominant business issues) damage their own careers. Their management often regards them as techie weenies, and as a result doesn’t listen to them. So do yourself and your company a favor: don’t be a technology bigot. Use the right tool for the job. Recognize that no tool is perfect, and instead figure out what is practical and what your people can be expected to succeed with.
Please note: the issue is not whether life ought to be this way. The issue is merely to recognize and accept that it is this way.
[ Top | Bottom | Previous section | Next section ]
[Recently created (12/1998). Click here to go to the next FAQ in the “chain” of recent changes]
Note: Please read the previous FAQ before reading this one.
The truthful answer is that this question cannot be answered without a lot more information. This is another example of technology decisions being made without knowing the business considerations. For example, consider the following factors:
[ Top | Bottom | Previous section | Next section ]