MVC sigue siendo la verdad inmutable en la arquitectura CS. ¿Qué significa esta frase? Ayúdame si eres un experto en TI y estás interesado en CS. Te estaré muy agradecido.
Esto se refiere a la arquitectura C/S de tres niveles. Tradicionalmente, C/S tiene dos niveles.
Función del C/S de tres capas
1. Capa de presentación
La capa de presentación es la parte de la interfaz de usuario de la aplicación. Diálogo entre el usuario y la aplicación. Se utiliza para verificar la entrada de datos por parte del usuario desde el teclado, etc., y mostrar los datos generados por la aplicación. Para permitir que los usuarios operen de manera intuitiva, generalmente se usa una interfaz gráfica de usuario (GUI), que es simple de operar, fácil de aprender y usar. Al cambiar la interfaz de usuario, solo es necesario reescribir los programas de control de visualización y de inspección de datos sin afectar las otras dos capas. El contenido del cheque se limita a la forma de los datos y al rango de valores, y no incluye la lógica de procesamiento del propio negocio.
La estructura de la interfaz gráfica no es fija, lo que facilita cambios flexibles en el futuro. Por ejemplo, en lugar de poner varias funciones en una ventana, la ventana se divide por función para hacer que la función de cada ventana sea simple y simple. En esta capa de desarrollo de programas, se utilizan principalmente herramientas de programación visual.
2. Capa funcional
La capa funcional es equivalente a la ontología de la aplicación. Programa lógicamente un procesamiento empresarial específico. Por ejemplo, al realizar un contrato de pedido, debe calcular el monto del contrato, configurar los datos en un formato predeterminado e imprimir el contrato de pedido. Los datos necesarios para el procesamiento deben obtenerse de la capa de presentación o de la capa de datos. El intercambio de datos entre la capa de presentación y la capa funcional debería ser lo más sencillo posible. Por ejemplo, cuando los usuarios recuperan datos, deben intentar transmitir la información sobre los requisitos de recuperación a la capa funcional de inmediato (ver Figura 2), y los datos del resultado de la recuperación procesados por la capa funcional también se transmiten a la capa de presentación de inmediato. . En el diseño de aplicaciones, debemos evitar el diseño incómodo de "realizar el procesamiento comercial una vez y realizar múltiples intercambios de datos entre la capa de presentación y la capa funcional".
Por lo general, la capa funcional incluye: la función de confirmar los derechos de acceso del usuario a aplicaciones y bases de datos y la función de registrar los registros de procesamiento del sistema. La mayoría de los programas de este nivel se desarrollan utilizando herramientas de programación visual y algunos también utilizan lenguaje COBOL y C.
3. Capa de datos
La capa de datos es el DBMS, que se encarga de gestionar la lectura y escritura de los datos de la base de datos. El DBMS debe poder realizar rápidamente actualizaciones y recuperaciones de grandes cantidades de datos. La corriente principal actual es el sistema de gestión de bases de datos relacionales (RDBMS). Por tanto, la mayoría de los requisitos transmitidos desde la capa funcional a la capa de datos utilizan el lenguaje SQL.
Beneficios de la estructura C/S de tres capas
1. Composición flexible del sistema de hardware
Se puede seleccionar cada capa y su carga de procesamiento y el hardware de procesamiento adecuado. características. Este es un problema directamente relacionado con la escalabilidad del sistema. Por ejemplo, inicialmente se utilizó una estación de trabajo Unix como servidor y en este servidor se configuraron tanto la capa de datos como la capa funcional. A medida que el negocio se desarrolla, la cantidad de usuarios y la cantidad de datos aumentan gradualmente. En este momento, la estación de trabajo Unix se puede utilizar como un servidor dedicado para la capa funcional y se puede agregar un servidor dedicado para la capa de datos. Si el negocio se expande aún más y el número de usuarios aumenta aún más, se puede seguir aumentando el número de servidores en la capa funcional para dividir la base de datos. Dividir de forma clara y razonable la estructura de tres capas y hacerla independiente puede hacer que los cambios en la configuración del sistema sean muy simples. Por lo tanto, las aplicaciones que se dividen en tres capas básicamente no necesitan ser modificadas.
2. Mejorar la mantenibilidad del programa
En la estructura C/S de tres niveles, cada capa de la aplicación se puede desarrollar en paralelo y cada capa también puede elegir su desarrollo más adecuado. idioma.
3. Conveniente para cambiar y mantener las especificaciones técnicas de la aplicación
Debido a que las funciones están divididas en capas, la lógica de procesamiento de cada programa se vuelve muy simple.
4. Llevar a cabo una estricta gestión de seguridad
Cuanto más crítica sea la aplicación, más importante será para la identificación del usuario y la configuración de permisos de acceso. En la estructura C/S de tres niveles, el mecanismo para identificar a los usuarios se construye por capas, y los derechos de acceso a aplicaciones y datos también se pueden establecer por capas. Por ejemplo, incluso si un intruso externo atraviesa la línea de defensa de seguridad de la capa de presentación, si hay otro mecanismo de seguridad en la capa funcional, el sistema puede evitar que el intruso ingrese a otras partes.
Además, la gestión del sistema es sencilla, puede soportar bases de datos heterogéneas y tiene muy alta disponibilidad.
IV. Investigación y desarrollo de aplicaciones C/S de tres niveles
La investigación y desarrollo de aplicaciones C/S de tres niveles debe seguir los siguientes principios: proteger las inversiones existentes; los riesgos de los sistemas de aplicación; satisfacer las necesidades actuales y urgentes; considerar planes de desarrollo futuros.
El sistema de aplicación C/S de tres niveles desarrollado debe ser: rico en funciones y altamente disponible; las funciones deben poder cruzar sistemas de aplicaciones; el sistema debe poder ejecutarse en múltiples plataformas;
La Sra. Jeri Edwards, vicepresidenta de planificación y estrategia de productos de BEA Systems Co., Ltd., presentó los siguientes tres tipos típicos de I+D de sistemas de aplicaciones C/S de tres niveles con ejemplos de sus objetivos de I+D. y procesos de I+D, resultados y experiencia de I+D. Crear un nuevo tipo de sistema de aplicación (Greenfield), como el sistema de mercado laboral de la Oficina de Trabajo Británica, mejorar el rendimiento de los sistemas existentes (Turbocharger), como el sistema AppleOrder Global de Apple, integrar de manera integral los tipos de sistemas existentes (Integrator), como Zenith de AT&T; sistema de aplicación. Basándose en la experiencia y las lecciones de investigación y desarrollo del sistema de aplicación C/S de tres niveles, la Sra. Jeri Edwards resumió los "10 principios de oro" para implementar el sistema de aplicación C/S:
(1 ) Simplifique el proyecto tanto como sea posible y facilite su gestión. Se debe construir un sistema inicial lo antes posible y ponerlo en funcionamiento lo antes posible. Cuando un proyecto es de gran escala, se puede dividir en subproyectos realizados por equipos de I+D más pequeños.
(2) Dedicar energía al diseño. Primero, comprenda completamente los "requisitos" y luego cree un prototipo para probar los enlaces "débiles" en el diseño. Las características o componentes agregados posteriormente deben ser compatibles con la arquitectura del sistema.
(3) Debemos perseguir el "principio de uso". Recientemente, hay muchos productos C/S disponibles comercialmente para su compra. Debemos adherirnos al principio de "compra lo que puedas y úsalo para mí". Si es necesario, el sistema se puede modificar después de la compra, incluidos tanto los componentes básicos como las aplicaciones.
(4) Cumplir estrictamente con los estándares de la industria.
(5) Utilice el monitor TP o el Administrador de transacciones de objetos (OTM).
(6) Hazlo paso a paso. Obtenga comentarios de los usuarios de manera oportuna; garantice una buena conexión entre todas las partes del proyecto; resuelva los problemas de interfaz temprano para garantizar el progreso coordinado del proyecto;
(7) En el proceso de investigación y desarrollo de aplicaciones, no se puede ignorar la gestión del sistema.
(8) Pruebas repetidas, incluidas pruebas de confianza del usuario, pruebas comparativas, pruebas de sistemas, pruebas de rendimiento, pruebas de integración de sistemas, pruebas de solidez, pruebas de prestación de servicios, etc.
(9) Desarrollar un cronograma razonable del proyecto.
(10) Desarrollar un plan completo de expansión del sistema, que incluya capacitación de usuarios y soporte técnico, carga eficiente de hardware y software y migración fluida de datos y sistemas existentes.
Cinco. El núcleo de las aplicaciones C/S de tres capas
Cada entorno C/S, desde el entorno LAN más pequeño hasta el entorno de red definitivo, utiliza algún tipo de middleware. De hecho, no importa cuándo el cliente envía una solicitud al servidor, y no importa cuándo su aplicación accede al archivo de la base de datos, existe algún tipo de middleware que pasa el enlace C/S para eliminar el protocolo de comunicación, el lenguaje de consulta de la base de datos y el potencial de la aplicación. Problemas de incompatibilidad entre la lógica y el sistema operativo. El middleware es el componente más importante del entorno C/S. El llamado middleware es una capa de software definida por API. Es un marco de gestión de software distribuido con sólidas capacidades de comunicación y buena escalabilidad. Su función es transmitir comunicaciones avanzadas entre clientes y servidores o servidores y servidores, y "pegar" orgánicamente grupos de clientes y grupos de servidores. El flujo de trabajo es: cuando la aplicación en el cliente necesita almacenar datos o servicios en un servidor de la red, la aplicación C/S que busca estos datos necesita acceder al sistema middleware, que buscará la fuente de datos o el servicio. Y después de enviar la solicitud de la aplicación, vuelva a empaquetar la respuesta y envíela de regreso a la aplicación.
El monitor TP desempeña un papel cada vez más importante en la tecnología middleware, especialmente en sistemas C/S de tres niveles. Según una encuesta de Standish Group, el monitor TP es una de las tecnologías más populares en la industria de la información en los últimos dos años.
En 1996, el 57% de las aplicaciones críticas se crearon en monitores TP. Los monitores TP se destacan por proporcionar semántica transaccional, lo que permite programar el entorno para lograr velocidad y confiabilidad. Como tipo de middleware, TP monitor proporciona una API para escribir aplicaciones distribuidas y, por lo general, incluye un conjunto de potentes herramientas de administración. TP Monitor es un entorno de ejecución de software multiusuario de respuesta rápida, alto rendimiento y alto paralelismo. Puede gestionar eficazmente una gran cantidad de tareas simultáneas, mejorando así la utilización de los recursos del sistema. Si se utilizan monitores TP, la inversión total del sistema se puede ahorrar en más del 30% y el ciclo de investigación y desarrollo se puede acortar entre un 40% y un 50%. La mayoría de los sistemas de aplicaciones de tres niveles utilizados están equipados con un sistema de seguimiento del procesamiento de transacciones. BEA TUXEDO es actualmente el sistema de seguimiento del procesamiento de transacciones más utilizado.
BEA TUXEDO es una infraestructura middleware para computación distribuida, que permite que los sistemas de aplicaciones abiertas sean altamente escalables, flexibles y mantenibles. No solo tiene las funciones de procesamiento de transacciones distribuidas y comunicación de mensajes entre aplicaciones, sino que también tiene una serie de servicios extremadamente completos que pueden ayudar a las empresas a establecer y operar sistemas de aplicaciones, permitiendo a los desarrolladores crear aplicaciones en múltiples plataformas, bases de datos y sistemas operativos. programa. De esta manera, la plataforma operativa se puede seleccionar de manera flexible para adaptarse completamente al entorno de la aplicación. Tiene las siguientes características:
1. Soporta una variedad de plataformas de software y hardware. Cumple totalmente con el estándar X/Open de Open Group, admite el protocolo TCP/IP y admite más de 70 plataformas de hardware y sistemas operativos, incluidos Unix, Windows NT, AS/400 y sistemas específicos de mainframe.
2. La estructura es abierta y flexible. La estructura del módulo se centra en la interfaz de programación de alto nivel ATMI (Interfaz de administrador de aplicaciones a transacciones), con una gran cantidad de funciones ATMI disponibles para llamar.
3. Abra el procesamiento de transacciones en línea. Proporciona características como semántica transaccional, confirmación transparente en dos fases, registro de transacciones y estructura de gestión de procesamiento de transacciones distribuidas.
4. Combinación con DCE. A través de un conjunto de herramientas y bibliotecas, se integra orgánicamente con el entorno informático distribuido DCE organizado por Open Group.
5. Funciones ricas, que incluyen: administración de aplicaciones; proxy de eventos; brindar a los clientes garantía de seguridad a través de servicios de autenticación, servicios de autorización y servicios de cifrado de datos; soporte para ajuste dinámico de aplicaciones, equilibrio de carga, etc. Funciones que aseguran una alta fiabilidad, etc.
6. Estado actual de la aplicación de la estructura C/S de tres capas
En la actualidad, no hay muchas aplicaciones desarrolladas utilizando la estructura C/S de tres capas, pero sí su número. De hecho, está aumentando día a día. La Figura 3 muestra la forma de las operaciones de I+D de aplicaciones en América del Norte. La proporción de aplicaciones de tipo C/S de tres capas representó el 5% en 1995, aumentó al 7,8% en 1997 y se espera que represente el 22,9% en 1999. Las aplicaciones C/S de capa 2 y las aplicaciones de tipo GUI agregadas al sistema original se posicionan como formas de transición al tipo C/S de tres capas.
Por ahora, la proporción de esta forma es mayor que la del C/S de tres capas y durará un tiempo. Entonces, ¿bajo qué circunstancias se debe utilizar C/S de tres niveles? Según la encuesta de Gartner Group, las aplicaciones con las siguientes características deberían considerar el uso de C/S de tres niveles.
1. Existen más de 50 servicios o tipos de aplicaciones.
2. Las aplicaciones están escritas en diferentes idiomas.
3. Dos o más heterogéneos; Fuentes de datos, como 2 DBMS diferentes o 1 DBMS y 1 sistema de archivos;
4. El ciclo de vida de la aplicación supera los 3 años;
5. Alta carga de trabajo, como más de 50 000 las transacciones se procesan todos los días o el número de usuarios simultáneos que acceden a la misma base de datos en el mismo sistema supera los 300;
6. Existe una comunicación interna crítica dentro de la aplicación, incluido el intercambio electrónico de datos (EDI) Comunicaciones corporativas internas .
Desde aplicaciones de host/terminal tradicionales hasta C/S de tres capas, se deben considerar cuestiones de tiempo y costos. En algunos casos, no es adecuado y debe hacerse paso a paso.