|
Otros Links:
|
La arquitectura de Windows DNA está diseñada para maximizar en la aplicación lo siguiente: · La autonomía. · La confiabilidad. · La disponibilidad. · La escalabilidad. · La interoperabilidad. Autonomía.-La autonomía de la aplicación se refiere a la habilidad de una aplicación para gobernar sus recursos críticos. Los recursos críticos son los recursos preciosos requeridos por una aplicación para funcionar confiablemente como una entidad independiente. Las conexiones a las SABDs, las conexiones a los mainframes y las transacciones son todas ejemplo de recursos críticos. La autonomía de la aplicación es supuestamente uno de los aspectos más importantes del diseño de las aplicaciones para Windows DNA, y es también una de las diferencias más importantes entre los diseños cliente / servidor de dos y de tres niveles. En un diseño cliente / servidor de dos niveles, los clientes tienen acceso directo a los recursos críticos de la aplicación y son libres de utilizar estos recursos cuando así lo deseen. Debido a que los clientes tienen acceso directo a los recursos críticos de la aplicación hay poco o nada que la aplicación pueda hacer para protegerse a sí misma del comportamiento inesperado o malintencionado, lo que compromete la estabilidad general de la aplicación. Por ejemplo, un solo cliente que no se comporte adecuadamente puede intencionadamente acabar con los recursos críticos de una aplicación en un intento para prevenir a otros clientes de hacer su trabajo. Un ataque como éste puede convertir a las aplicaciones indefensas en inútiles. Las aplicaciones de Windows DNA, por otro lado, nunca permiten a los clientes tener acceso directo a los recursos críticos. En lugar de ello, los clientes hacen peticiones de componentes especiales de su nivel de confianza llamados ejecutantes que realizan las operaciones de negocios para los que la aplicación fue diseñada. Al forzar a los clientes a hacer peticiones a los ejecutantes para que hagan las operaciones de negocios, utilizando los recursos críticos en maneras bien definidas y confiables, las aplicaciones de Windows DNA se quedan en completo control de sus recursos críticos, lo cual finalmente incrementa la estabilidad general de la aplicación. Debido a que los ejecutantes son componentes confiables tienen acceso directo a los recursos críticos de la aplicación, lo que significa que deben poner mucha atención a la manera en que los recursos críticos son utilizados. Antes de que un ejecutante haga alguna operación de negocios en favor de un cliente, debe autentificar la identidad del cliente que hace la petición, validar que el cliente tiene la autorización apropiada para ejecutar la operación de negocios pedida e inspeccionar la petición del cliente para ver si tiene una apropiada sintaxis y para validar los datos. Confiabilidad.-La confiabilidad se refiere a la habilidad de una aplicación para proporcionar resultados exactos. Una aplicación no es confiable si regresa resultados inexactos. Sin embargo, asegurarse que los resultados sean exactos en un ambiente multiusuario es muy difícil. Para asegurar resultados exactos, se deben hacer las operaciones de negocios como parte de una transacción administrada por el Microsoft Transaction Server (MTS). Las transacciones aseguran que el estado de las transformaciones sean Atómicas, Consistentes, Aisladas y Durables (Atomic, Consistent, Isolated, Durable; ACID). · Operaciones atómicas son operaciones que se completan en su totalidad o no se completan en absoluto. La transacción debe haber sido exitosa para que el estado de transformación sea exitoso, de otro modo el estado de la transformación falla, y el sistema es regresado a su último estado conocido. · Transformaciones consistentes preservan la integridad interna de los recursos involucrados. Por ejemplo, el borrar registros de una tabla primaria viola la integridad referencial de la base de datos si hay registros relacionados que concuerden. · Transformaciones aisladas parecen ocurrir serialmente, una detrás de otra, creando la ilusión de que ninguna transformación está siendo ejecutada al mismo tiempo. · La durabilidad se refiere a la habilidad para almacenar los resultados de una transformación de estado, usualmente en un disco, de tal modo que los resultados de una transformación puedan ser recuperados en caso de una falla del sistema. Debido a que las transacciones bloquean los registros para asegurar el comportamiento ACID, deben ser considerados recursos críticos, lo cual significa que los clientes nunca deben de tener acceso a ellos directamente. así que para mantener la autonomía de la aplicación, las aplicaciones de Windows DNA deben tratar a las transacciones como recursos críticos. Disponibilidad.-La disponibilidad se refiere a la cantidad de tiempo que una aplicación es capaz de dar servicio confiablemente a las peticiones del cliente, y es importante debido a que una aplicación solamente es útil cuando está disponible para dar servicio a las peticiones de los clientes. La disponibilidad de la aplicación es dependiente de muchas cosas que están más allá del control del desarrollador, cosas como disponibilidad de hardware, (controlador de disco, tarjetas de red, controladores, y así sucesivamente), disponibilidad de software (RDBMSs, servidores de Web, sistemas de espera, y así sucesivamente) y disponibilidad de red. Las aplicaciones de Windows DNA pueden simular una disponibilidad aumentada de la red al utilizar los servicios del Microsoft Message Queue (MSMQ). El MSMQ proporciona funcionalidad de almacenamiento y redirección que permita que los mensajes estén almacenados en la máquina local, siempre que la cola destino no pueda ser alcanzado debido a la falta de disponibilidad de la red. Una vez que un mensaje ha sido enviado al MSMQ para su envío, el MSMQ constante y repetidamente intentará redireccionar cada mensaje a su cola destino, hasta que el mensaje ya sea que llegue a su destino o que el tiempo de espera de entrega espire. Escalabilidad.La escalabilidad es la meta utópica del crecimiento lineal del rendimiento al agregar recursos adicionales, y es lo que le permite a una aplicación soportar desde 10 usuarios, hasta decenas de miles de usuarios, simplemente agregando o quitando recursos como sea necesario para "escalar" la aplicación. Para incrementar la escalabilidad, los desarrolladores de aplicaciones de Windows DNA deben concentrarse en mantener los tiempos de adquisición de recursos y de uso de recursos tan bajos como sean posibles. El Microsoft Transaction Server permite compartir recursos entre usuarios reutilizando los ya existentes. Interoperabilidad.-La interoperabilidad se refiere a la habilidad de una aplicación para acceder a aplicaciones, los datos o los recursos en otras plataformas. Muchos ambientes empresariales soportan diferentes tipos de hardware y sistemas de software que deben trabajar juntos para que la empresa sea exitosa, por lo cual es importante que las aplicaciones de Windows DNA sean interoperables. Para maximizar la interoperabilidad de las aplicaciones, las aplicaciones de Windows DNA deben apoyarse en: · Objetos de Datos ActiveX® de Microsoft (ADO) o accesos de datos universales con OLE DB. · Extensible Markup Language (XML) para compartir datos con otras aplicaciones. · DCOM para acceder aplicaciones en sistemas UNIX o en sistemas de almacenamiento en Virtual Múltiple (Multiple Virtual Storage, MVS). · MSMQ para acceder a sistemas de cola de mensajes en otras plataformas. · Y el integrador de otras acciones COM (COMTI) para ejecutar el Sistema de Control de Información de Clientes (Customer Information Control Systems, CICS), (LU 6.2) o el Sistema de Administración de Información de Transacciones (IMS) en sistemas MVS. |