• No se han encontrado resultados

Ventajas de los archivos de configuración

Capítulo 9: Conclusión y Trabajo Futuro

A.4 Ventajas de los archivos de configuración

Si bien la información sobre la configuración del WMVC Framework se encuentra en los archivos de configuración, ésta información podría haberse definido en múltiples lugares. Sin embargo, luego de realizar un análisis de las posibilidades se concluyó que los archivos de configuración era la posibilidad más viable debido a que contaba con ciertas ventajas por sobre las demás. En lo sucesivo se enumerarán las diferentes posibilidades y se analizará brevemente las ventajas y desventajas de cada una de ellas.

A.4.1 Archivos de Configuración

Esta posibilidad, que fue la finalmente elegida, era por sobre todas las demás la que contaba con mas ventajas. Entre ellas se encontraban:

• Facilidad de programación del módulo de lectura y escritura de los archivos de configuración dado que .NET provee todas las herramientas para el manejo de archivos xml.

• Facilidad en la lectura de la configuración tanto por el ser humano como por un programa dado que estos archivos tenían todas las ventajas de los archivos XML.

• La configuración del sistema se encontraba toda junta en una carpeta (configFiles) lo que daba notable claridad para el manejo y control de la misma.

• 100% compatible con las configuraciones estándares definidas por el .NET Framework en el cual la mayoría de las configuraciones son provistas por archivos con formato XML y extensión .config.

• Provee una gran posibilidad de extensión de manera que nuevos Frameworks basados en el WMVC Framework puedan también basar sus configuraciones en los mismos archivos de configuración.

• Las actualizaciones de la configuración durante el desarrollo consiste simplemente en la modificación del archivo del paquete que se desea cambiar.

• Permite actualizaciones de la configuración en tiempo de ejecución. Esto se hace implementando cualquiera de las dos posibilidades mencionadas en A.3.2.

A.4.2 Configuración mediante atributos del .NET

El concepto de atributo provisto por el .NET Framework permite agregar metadata de manera que esta pueda ser accedida tanto sea con una herramienta post-compilación como más tarde, en tiempo de ejecución.

Estos atributos podrían haber sido utilizados para definir la configuración del WMVC Framework. Por ejemplo, en el código fuente de una acción se deberían definir atributos que indiquen el nombre de la acción, los objectModels que utiliza, los estados que define, etc.

Sin embargo, a pesar de ser una de las posibilidades utilizadas en la programación .NET, esta implementación tenía ciertas desventajas tales como:

• Los atributos son poco legibles cuando deben contener mucha información como era el caso de las acciones ya que para cada una de ellas se debía definir mucha meta- información.

• La configuración se encontraba separada a través de todas las clases de la aplicación por lo que tener una vista general de la misma era directamente imposible.

código fuente que dependa de la modificación además de la consecuente necesidad de recompilar el módulo modificado.

• Las modificaciones en la configuración en tiempo de ejecución son directamente irrealizables dado que la necesidad de recompilar el código fuente llevan a cambios en los archivos funcionales de la aplicación.

A.4.3 Herramienta post-compilación

Otra posibilidad que se planteó fue la de desarrollar una herramienta de post-compilación que, a partir del código fuente del sistema y de la utilización de algún atributo o archivo de configuración pueda generar la información de configuración necesaria. Esto fue desechado casi inmediatamente debido a que no solo tenía los mismos problemas que la configuración mediante la utilización de atributos (A.4.2) sino que además sumaba otros problemas como:

• La configuración que el programador debía utilizar nunca era definida explícitamente por él, por lo que hacía que éste la desconozca o no la conozca en su totalidad.

• La utilización de la herramienta de post-compilación hace más lento el proceso de desarrollo y podría generar problemas de incompatibilidad con algún otro Framework que se utilice en post-compilación como podría ser alguna capa de persistencia.

• La herramienta de post-compilación no era completa por lo que el programador de todas maneras debía definir parte de la configuración.

A.4.4 Configuración definida directamente en el código fuente de la aplicación

La configuración definida directamente en código fuente del lenguaje también fue una posibilidad que enseguida fue descartada debido a que, no solo contaba con muchas de las desventajas mencionadas para la definición con atributos sino que también agrega dos desventajas importantes: el desarrollador debe programar toda la metadata y además no se provee una buena separación entre los distintos componentes provistos por el WMVC Framework.

Por ejemplo, para el caso de las acciones se debería definir la clase que hereda de

WMVC.Action pero en lugar de nada más tener que implementar el método de ejecución también

debería implementar métodos para obtener el nombre de la acción, obtener los nombres de los objectModel de entrada y Salida, obtener los estados a utilizar, etc.

Esto no solo agrega responsabilidad al desarrollador, ya que debe realizar el la programación de la configuración, sino que por sobre todas las cosas, en lugar de acelerar los tiempos de desarrollo, que es uno de los objetivos del Framework, los retrasa. Esto se debe a que al tener la aumentar la cantidad de código, dado que ahora también debe codificar la configuración, aumenta proporcionalmente la cantidad de posibles errores.