CORBA/ RMI and (D) COM are any still relevant today?
Asked Answered
P

2

9

Are CORBA (language agnostic) / RMI (Java) and (D) COM (MS) still relevant today, or is there a technology that has surpassed them?

Cheers, J

Pantheism answered 12/1, 2011 at 14:5 Comment(0)
C
9

They're not so popular today as modern Java or .Net architectures typically do this type of thing using HTTP based web services.

However, many systems do use these architectures and they are more efficient than web service architectures as they normally use UDP based communication protocols. While these architectures are still in use today they are mostly relegated to legacy and niche market systems in practice.

In some cases RMI is used behind the scenes in java app servers. For example, a bean container may be moved to a separate server from a web app server. Java app servers make this fairly transparent - the bean container can reside on the same server through local calls or on a different server through RMI. With the right application architecture it's just a config item and the app server can do all the remoting behind the scenes.

DCOM gets used similarly with COM+ apps. However, COM+ is largely a legacy architecture on Windows. It was popular with VB6 but that is all but deprecated.

CORBA had a somewhat deserved reputation for complexity due to its design-by-committee roots. However, it pops up in a lot of unexpected places. For example, earlier versions of GNOME made use of a CORBA based component model called Bonobo but this has largely been replaced with D-BUS in current versions. Apart from legacy system infrastructure it has a few niche markets (mostly low latency applications) that benefit from its characteristics such as the UDP based transport mechanism.

Coed answered 12/1, 2011 at 14:9 Comment(4)
AFAIK CORBA IIOP uses TCP and not UDP.Foreshadow
Many CORBA implementations let you swap out the transport from the default TCP. This allows you to use UDP, shared memory, or some other OS-specific mechanism as the underlying transport. One reason CORBA is still used today is that it has both an object model and a binary over-the-wire transport, allowing efficiencies that you don't get with a web service.Dollop
@Brian - Would be interesting which CORBA implementations let you switch the transport from TCP. In fact, I just added a question regarding this: #4886743Foreshadow
@Martin - I thought it did for some reason. Maybe I was confusing it with Sun RPC or something.Coed
I
1

Java EE EJBs still use RMI and CORBA as their wire protocol.

Perhaps that's one reason why HTTP web services, be they based on RPC-XML, SOAP, or REST, are ascendant. Simple and open usually win.

Inescutcheon answered 12/1, 2011 at 14:29 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.