La Arquitectura Importa
Sin una arquitectura adecuada, una aplicación renuncia a su capacidad de mantenimiento, flexibilidad y escalabilidad y
se hace muy difícil sobrevivir. Incluso los desarrolladores originales de la aplicación tienen dificultad de
diagnosticar problemas o mantener el código. La ausencia de una estructura apropiada promueve un código monolítico y
fuerza el sistema para ser diseñado en una base por formulario. Cuando la lógica real del negocio y el acceso de datos
son limitados al formulario, parece que las prácticas orientadas del objeto no se pueden forzar y el código es
duplicado. Si se cambian las reglas del negocio o el acceso de datos necesiten de ser modificados, cada repetición del
código tiene que ser alterado y reexaminado.
Una aplicación debe contener límites que separen el acceso de datos, la lógica del negocio y la interfaz del usuario en
capas apartadas. Una vez separadas, cada capa se puede fácilmente centralizar y reutilizar antes que repetir. Utilizar
el StrataFrame permite a cualquier desarrollador crear rápida y eficientemente una aplicación adecuadamente dividida en
las capas de acceso de datos, de la lógica del negocio y de la interfaz del usuario.
Capas Versus NivelesUn nivel es definido como un módulo de una aplicación separado desde otros módulos de aplicaciones por un límite de
proceso y/o de red, mientras una capa es definida como una separación lógica dentro de un solo nivel. Un modelo de un
nivel, como el Microsoft Access, tiene todas las capas en funcionamiento en un solo proceso en una sola computadora. Un
modelo de dos niveles, como el Client/Server, tiene dos niveles separados en funcionamiento en dos computadoras
apartadas. Una aplicación con más de dos niveles puede implicar en muchos procesos y múltiples computadoras.
Adicionando niveles hacia una aplicación se puede aumentar su complejidad, disminuir su mantenimiento y provocar un
rendimiento debido al estado latente que incurre al cruzar un límite de red o de proceso. Algunas aplicaciones, sin
embargo, requieren niveles adicionales, más allá de esos del cliente y del servidor, debido a la escalabilidad extrema
(>500 clientes) y requerimientos de seguridad. Sin tener en cuenta el número de niveles utilizados, una arquitectura hecha en capas apropiadamente es una necesidad
para cualquier aplicación. Una arquitectura que divida la aplicación en múltiples capas resulta en simplicidad,
escalabilidad, capacidad de mantenimiento y reutilización del código. StrataFrame es una Aplicación Framework hecha en
3 capas y cuando las utilice, las ventajas de una arquitectura hecha en capas son automáticamente alcanzadas con poca o
ninguna intervención o diseño del desarrollador. La figura 1
describe la arquitectura de la aplicación que se puede obtener utilizando StrataFrame.
Otras Arquitecturas de AplicaciónCliente-Pesado -- Una aplicación de Cliente-Pesado es una en que todo el acceso de
datos y la lógica del negocio están incluidas en los formularios de la aplicación. Sin centralización, la lógica del
negocio y el acceso de datos se hacen difíciles y no se pueden modificar rápida y fácilmente por el desarrollador. Dado
que ellos están incrustados dentro de los formularios, cambiar cualquier uno de ellos irá generalmente romper la
aplicación. Vea la figura 2
para un ejemplo de una aplicación de Cliente-Pesado.
Servidor-Pesado -- La arquitectura del Servidor-Pesado fue creada como una solución
posible hacia los problemas heredados de la arquitectura del Cliente-Pesado. En una aplicación de Servidor-Pesado, la
lógica del negocio fue eliminada desde la interfaz del usuario y puesta dentro del servidor de la base de datos.
Utilizando procedimientos almacenados y disparadores, toda la lógica de la aplicación es manejada por el nivel del
servidor, más bien que por el nivel del cliente, centralizando la lógica del negocio y haciéndolo más fácilmente
extensible y mantenible (Vea la figura 3).
Mientras soluciona algunos de los problemas de la arquitectura del Cliente-Pesado, un Servidor-Pesado introduce
nuevos problemas. El servidor de la base de datos se hace el cuello de botella para la aplicación ya que el servidor
está computando toda la lógica del negocio así como recibiendo el proceso de la base de datos. Además, el T-SQL no es
fuertemente tipado, ni con alto nivel de programación de lenguas e impone muchas limitaciones al desarrollador.
Lado del Cliente / Lado del Servidor -- La arquitectura del Lado del Cliente / Lado
del Servidor (CSSS) es una combinación de ambos tipos de arquitectura, el Cliente-Pesado y el Servidor-Pesado (Vea la
figura 4).
Generalmente, una aplicación CSSS es el resultado de muchos años de agrandamiento y mantenimiento de una aplicación. La
aplicación no fue diseñada con la arquitectura adecuada en el inicio y el mantenimiento del código ha requerido que la
lógica de negocio sea colocada en ambos niveles, del servidor y del cliente. La arquitectura CSSS no soluciona ninguna
de las limitaciones del Cliente-Pesado o del Servidor-Pesado, pero combina las limitaciones en un único paquete.
Aplicaciones StrataFrame Hechas en Capas
El nivel del cliente de una aplicación StrataFrame es dividida en tres capas distintas:
- Capa de Acceso de Datos
- Capa de Negocios
- Capa de Presentación
La aplicación es fácilmente mantenida y extendida como las capas son débilmente acopladas a sus capas vecinas y cambio
de una capa no irán afectar otras capas. Si la lógica del negocio se puede cambiar, el desarrollador debe solamente
modificar la codificación en un local, es mejor que tener que visitar cada formulario dentro de la aplicación para
hacer los cambios (Vea la figura 5)
En una aplicación StrataFrame, una serie de objetos de negocios contienen la lógica del negocio para la aplicación.
Instancias de este objeto de negocio son creadas para relacionarse con los formularios de la aplicación. Una única
clase de objeto de negocio puede relacionarse con ilimitados formularios y un único formulario puede relacionarse con
ilimitados objetos de negocios (Vea la figura 6)
El trabajo ha sido hecho para usted
Una Aplicación Framework es, por definición,
una libraría de clases que se pueden reutilizar por cualquier número de aplicaciones, ahorrando tiempo para los
desarrolladores, dado que a ellos no se requiere reescribir grandes cantidades de códigos para cada aplicación.
StrataFrame es una Aplicación Framework hecha en 3 capas para se utilizar con SQL, Oracle ú OLE DB. Todo acceso de
datos, validación de datos no personalizados y vinculación de la interfaz del usuario son manejados por las clases
dentro del framework.
Además, conseguir una arquitectura de aplicación de n-capas adecuada y sus ventajas asociadas utilizando el StrataFrame
da al desarrollador los siguientes beneficios:
- Tiempo de desarrollo GRANDEMENTE reducido
- La libraría de clase del StrataFrame maneja todo el acceso de datos y el vinculo de datos para el desarrollador.
La única cosa que el desarrollador debe codificar es la disposición de la interfaz del usuario y la lógica
personalizada del negocio.
- StrataFrame es fuertemente integrado con el Visual Studio para proporcionar
métodos rápidos de realizar tareas como configurar campos requeridos, alterar propiedades del objeto de negocio y
mantener el mapear de objeto de negocios.
- Rendimiento de la Aplicación
- El acceso de datos en el StrataFrame es dinámico y eficiente debido a las mejorías en el ADO.NET 2.0 y acceso
de datos enhebrados (procesamiento asíncrono).
- Curva de aprendizaje nominal
- StrataFrame es escribido enteramente para el .NET y no se requiere al desarrollador aprender ningún lenguaje
híbrido de script (VB.NET, C#, etc.).
- Localización Completa
- StrataFrame proporciona funcionalidad plena para desarrolladores para localizar etiquetas, títulos de formularios,
etc., a través de textos almacenados en la base de datos del SQL o en un archivo XML.
- Los mensajes de la
interfaz del usuario y mensajes de errores se pueden también localizar utilizando la misma funcionalidad.
- Extensibilidad
- Mientras el StrataFrame realiza muchas tareas comunes para el desarrollador, la mayoría, sino todas de estas tareas
se pueden modificar por el desarrollador para extender el alcance del StrataFrame.
- Un complemento repleto de
ganchos es proporcionado, permitiendo a los desarrolladores relacionarse con eventos y secuencias de flujo de datos.
- Fácil de Utilizar
- Desarrolladores no tienen que programar en el StrataFrame y ganan autonomía de decisión más que pierden. Diferente
de otras aplicaciones framework, StrataFrame no da un paso afuera de sus límites e intenta hacer “todo” para el
desarrollador.
Comparación: Aplicación StrataFrame Versus Aplicación Típica del .NET
En una aplicación típica del .NET, un DbDataAdapter es arrastrado sobre un formulario utilizando el diseñador de
formularios dentro del Visual Studio. El DbDataAdapter debe ser configurado manualmente antes de que el desarrollador
pueda codificar un DbCommand o una instrucción “SELECCIONAR” que no retorna valores (statement), para recuperar un
DataSet desde la base de datos. El DataSet debe entonces, ser vinculado manualmente hacia la interfaz del usuario, y
cualquier validación de datos y lógica del negocio deben de ser codificadas dentro del formulario. Para crear un
formulario adicional, los mismos pasos son repetidos. Diseñando formularios en este método sigue directamente una
arquitectura monolítica y las limitaciones asociadas a una aplicación sin capas (Vea la figura 7)
En una aplicación StrataFrame, para crear un formulario, uno o más objetos de negocios son arrastrados encima del
formulario utilizando el diseñador de formularios dentro del Visual Studio. El desarrollador puede entonces, vincular
los controles de formularios hacia los objetos de negocio y el formulario estará completo. Los objetos de negocios no
se necesitan configurar, y el acceso de los datos es concedido a través del objeto de negocio en pareja con la Capa de
Datos. Toda la validación de datos y la lógica del negocio están contenidas dentro del objeto de negocio
(mapeadas hacia una tabla de base de datos). El formulario expone una aplicación hecha en n-capas que reutiliza el
objeto de negocio, preferible que forzar cada objeto a ser reprogramado o modificado (Vea la figura 8)
Tipos de Aplicaciones de StrataFrame- Aplicaciones hechas en capas WinForms
- Aplicaciones hechas en capas WebForms
- Aplicaciones de
n-Niveles utilizando las Capas de Datos y de Negocios para proporcionar el acceso de los datos a servicios web o el
nivel mediano del SOAP.
Una libraría de clases de los objetos de negocios creadas en el StrataFrame se pueden utilizar por uno o más de los
tipo de aplicaciones dados (los mismos objetos de negocios se pueden utilizar para todos los tipos de aplicaciones).
Resumen- Versión Corta -- ¡Desarrolle códigos de calidad más
rápidamente que nunca antes hecho mientras que reduce el costo del desarrollo!
Versión Larga –-
Muchos libros y artículos han sido escritos sobre la teoría de framework con capas y hechos en niveles, pero algunos
preciosos desarrolladores en realidad, producen un modelo de funcionamiento. Si estás interesado en crear aplicaciones
con la mejor ciencia de computación en framework que se puede ofrecer: ¡StrataFrame es su respuesta! Es fácil de se
utilizar y no quedará en su camino. Adicionalmente, el código fuente está disponible para si quieres tomar una mirada
más cerca o adicionar un evento o un gancho. La decisión no es si comprar el StrataFrame – pero si tendrás las ventajas verdaderamente innovadoras, bien
diseñadas y un producto excitante. Acuérdate de la definición de Einstein sobre la demencia que es cuando continúas a repetir una y otra vez la misma
práctica, con la esperanza de tener resultados diferentes.
|
|