¿Qué es la arquitectura distribuida?
La arquitectura distribuida es la aplicación y herramienta de la tecnología informática distribuida. Las tecnologías actualmente maduras incluyen J2EE, CORBA y .NET (DCOM).
1. La formación de tecnología informática distribuida
CORBA (Common Object Request Broker Architecture) fue propuesta por OMG (Open Management Group) en 1992. En ese momento, todos los entornos de aplicaciones distribuidas adoptaban la arquitectura Cliente/Servidor, y la aplicación de CORBA mejoró enormemente la eficiencia del desarrollo del software de aplicaciones distribuidas.
Otra herramienta de desarrollo de sistemas distribuidos en ese momento era el DCOM (Modelo de objetos comunes distribuidos) de Microsoft. Para permitir que las funciones de varios productos de software de aplicaciones desarrollados en la plataforma Windows se llamen entre sí en tiempo de ejecución (como editar directamente archivos de Excel en Microsoft Word), Microsoft implementó la tecnología OLE (Objeto vinculado e incrustado). Más tarde, esta tecnología. se deriva de COM (modelo de objetos común).
Con la popularidad de Internet y la aplicación generalizada de los servicios web, el modelo de arquitectura Navegador/Servidor ha ido mostrando gradualmente sus ventajas. Por lo tanto, Sun lanzó una plataforma de desarrollo y aplicaciones J2EE para arquitectura B/S basada en su tecnología Java; Microsoft también lanzó desarrollo y aplicaciones .NET principalmente para aplicaciones B/S basadas en su tecnología DCOM.
2. Protocolos utilizados
La tecnología DCOM cubierta en .NET es la misma que CORBA, utilizando el protocolo TCP/IP en la capa de transporte de red también tienen sus propias especificaciones IDL; . La diferencia es que además de TCP/IP, CORBA usa el protocolo GIOP/IIOP, y todos los servidores CORBA se comunican con IIOP, formando un canal de software ORB; el RMI de J2EE solía usar un protocolo de comunicación independiente, pero ahora se ha cambiado a. RMI/IIOP Refleja la apertura de J2EE; DCOM también tiene su propio protocolo de comunicación (servicio TCP en el puerto 135), pero Microsoft no ha revelado la especificación de este protocolo. De manera similar, el IDL de CORBA adopta una definición similar a C++ y es un. especificación pública; IDL de DCOM Aunque el archivo está en formato de texto, Microsoft no ha anunciado oficialmente sus especificaciones. En uso, el IDL de .NET es generado por herramientas de desarrollo.
3. Entorno de aplicación
Con respecto a .NET, Bill Gates dijo lo siguiente: "En pocas palabras, .NET utiliza varios productos de Microsoft como herramientas de desarrollo y plataformas de aplicaciones. Implementación de servicios de red basados en XML. "También se puede ver que .NET es poderoso en el mundo de Microsoft, pero para sistemas como Unix y Linux, que representan la mayor parte del mercado de servidores, .NET no puede hacer nada.
Por lo tanto, J2EE muestra sus ventajas multiplataforma y proporciona a los proveedores de servicios de red una buena plataforma de aplicaciones y desarrollo front-end a medida que los servicios de red se utilizan más ampliamente y la integración de servicios mejora la potencia informática. Se formará un entorno informático distribuido cada vez más grande en el backend de los proveedores de servicios de red. La estructura del módulo CORBA es más adecuada para una variedad de servicios de back-end, como los programas de facturación de servicios de red. Las tecnologías J2EE y CORBA tienen cada una su propio océano y tierra bajo el cielo azul de los Servicios Web. Si se utiliza la plataforma de desarrollo .NET en el front-end, entonces DCOM es la opción ideal en la estructura distribuida del back-end.
J2EE es tecnología Java pura. Muchas pruebas muestran que la velocidad de respuesta del servidor RMI (Java) es mucho menor que la del servidor CORBA que no es Java.
Por lo tanto, en el desarrollo de algunos sistemas que tienen altos requisitos en cuanto a velocidad de procesamiento de datos y tiempo de respuesta, se debe probar y comparar el rendimiento de RMI y CORBA antes de tomar una decisión.
4. Desarrollo y mantenimiento de software de aplicaciones
Desde la perspectiva del proceso de desarrollo de software de aplicaciones, J2EE es una plataforma completamente abierta, que está orientada tanto a diseñadores como a desarrolladores. personal; CORBA también es un estándar, pero está más incorporado en productos intermedios. El proveedor de productos CORBA es el verdadero ejecutor de este estándar, siempre que comprendan las especificaciones del lenguaje IDL. Necesita conocer los detalles del protocolo de ORB/GIOP/IIOP en detalle. .NET, como entorno de red insignia de Microsoft, está incorporado en una serie de herramientas de desarrollo productivas, como C#, C++, etc. Estas herramientas de desarrollo están dirigidas directamente a los desarrolladores de aplicaciones. De hecho, el J2EE proporcionado por Sun también consta de muchos paquetes de software (API de aplicaciones) para los desarrolladores.
Desde la perspectiva del costo y ciclo de desarrollo de software y mantenimiento del software, J2EE tiene las ventajas anteriores sobre CORBA.
5. Perspectivas de aplicación
En cuanto a la arquitectura de la tecnología informática distribuida, no podemos decir absolutamente cuál es mejor, solo podemos decir cuál es más adecuada. Para diferentes necesidades de proyectos de software, el análisis específico es la mejor opción.
Desde una perspectiva macro del mercado, las ventas de productos CORBA no han generado ganancias considerables para los proveedores de productos CORBA como se esperaba y la voz de J2EE también es mayor que la de .NET con la integración de RMI/; IIOP y CORBA en J2EE Con la mejora de la interfaz, junto con la consideración de los costos de desarrollo y la facilidad de uso, el entorno abierto integral J2EE será la primera opción que la gente considere, pero la fuerte compatibilidad del estándar CORBA también hace que esta tecnología; más popular en el desarrollo de grandes sistemas.