2011-01-12 9 views

Respuesta

7

No son hoy tan popular como Java moderno o arquitecturas .Net suelen hacer este tipo de cosas usando servicios web basados ​​en HTTP.

Sin embargo, muchos sistemas utilizan estas arquitecturas y son más eficientes que las arquitecturas de servicios web, ya que normalmente utilizan protocolos de comunicación basados ​​en UDP. Si bien estas arquitecturas todavía están en uso hoy en día, en su mayoría están relegadas a sistemas de mercado heredados y nichos.

En algunos casos, RMI se utiliza detrás de escena en los servidores de aplicaciones Java. Por ejemplo, un contenedor de frijoles se puede mover a un servidor separado de un servidor de aplicaciones web. Los servidores de aplicaciones Java lo hacen bastante transparente: el contenedor de beans puede residir en el mismo servidor a través de llamadas locales o en un servidor diferente a través de RMI. Con la arquitectura de aplicación adecuada, es solo un elemento de configuración y el servidor de la aplicación puede hacer toda la información remota detrás de escena.

DCOM se utiliza de manera similar con las aplicaciones COM +. Sin embargo, COM + es en gran medida una arquitectura heredada en Windows. Fue popular con VB6, pero eso está desaprobado.

CORBA tenía una merecida reputación por su complejidad debido a sus raíces de diseño por comité. Sin embargo, aparece en muchos lugares inesperados. Por ejemplo, las versiones anteriores de GNOME utilizaban un modelo de componente basado en CORBA llamado Bonobo, pero este ha sido reemplazado en gran parte por D-BUS en las versiones actuales. Además de la infraestructura del sistema heredado, tiene algunos nichos de mercado (principalmente aplicaciones de baja latencia) que se benefician de sus características, como el mecanismo de transporte basado en UDP.

+3

AFAIK CORBA IIOP utiliza TCP y no UDP. –

+0

Muchas implementaciones de CORBA le permiten cambiar el transporte del TCP predeterminado. Esto le permite utilizar UDP, memoria compartida o algún otro mecanismo específico del sistema operativo como el transporte subyacente. Una razón por la que CORBA todavía se usa hoy en día es que tiene un modelo de objeto y un transporte binario por cable, lo que permite eficiencias que no se obtienen con un servicio web. –

+0

@Brian - Sería interesante * qué * implementaciones de CORBA le permiten cambiar el transporte de TCP. De hecho, acabo de agregar una pregunta con respecto a esto: http://stackoverflow.com/questions/4886243/what-transport-layers-other-than-tcp-are-supported-by-existing-corba-implementati –

1

Java EE EJBs todavía utilizan RMI y CORBA como su protocolo de cable.

Tal vez esa es una razón por la cual los servicios web HTTP, que se basan en RPC-XML, de SOAP, REST o , se encuentran en ascenso. Simple y abierto generalmente gana.

Cuestiones relacionadas