From: DataLayer D. L. <dat...@li...> - 2006-11-23 19:13:08
|
=20 =20 _____ =20 De: dat...@li... [mailto:dat...@li...] En nombre de DataLayer Development List Enviado el: Jueves, 23 de Noviembre de 2006 12:16 p.m. Para: dat...@li... Asunto: [Datalayer-devel] Urgent Information =20 Hola a todos, por hoy vamos a escribir en espa=F1ol para que no se nos = vaya a escapar nada de esta discusi=F3n. Hubo un "peque=F1o" problema de falta = de comunicaci=F3n entre Manuel y nosotros, creo que nunca mandamos un = correo a la lista diciendo que era lo que est=E1bamos modificando y Manuel estaba modificando lo mismo sin darnos cuenta, as=ED que cada grupo en esta = caso Manuel, Rodrigo-V=EDctor-Carlos y Julio-C=E9sar vamos a tener que mandar = un reporte detallado de los cambios que hemos hecho en cada uno de los = archivos por proyecto y los nuevos archivos que hemos creado.=20 Aqu=ED va el de Rodrigo-V=EDctor-Carlos: * DataLayerUtilites o Configuration.cs: Se encarga de manipular el archivo XML de configuraci=F3n para la DataLayer, el cual esta dividido en 2 partes, Providers y DataSources, esta clase se encarga de leer y desencriptar el archivo as=ED como tambi=E9n de encriptar y guardarlo. Tambi=E9n se = implemento un mecanismo de validaci=F3n por medio de XSD para verificar que la = estructura del archivo sea la correcta. o Provider.cs: Es una abstracci=F3n para cada uno de los provedores = que se encuentran en el archivo de configuraci=F3n, maneja 2 datos: Name y FullyQualifiedName, este =FAltimo se utiliza para crear el = DbProviderFactory correspondiente en .NET 2.0 o para hacer un switch y seleccionar el = Provider correspondiente en el caso de .NET 1.1. =20 Lo del DbProviderFactory a=FAn no est=E1 implementado por el Npgsql. = Creo que ser=EDa mejor esperar a que est=E9 implementado. En el connector de = Mysql parece que ya est=E1 implementado. =20 =20 * DataSourceInfo.cs: Es la abstracci=F3n de los datos necesarios = para crear un DataSource, se manejan el nombre del DataSource, el nombre de proveedor (que debe existir en el archivo de configuraci=F3n) y el ConnectionString, este =FAltimo se maneja como una cadena puesto que = como pretendemos soportar cualquier data provider instalado en el sistema no podemos conocer de antemano el procedimiento para generar el connection string como anteriormente se hacia. =20 Sobre los connectionstrings tambi=E9n pienso que as=ED es como deben almacenarse, pero a=FAn sigue siendo necesario mantener al menos en la implementaci=F3n espec=EDfica de cada DataSource el nombre de la base de = datos, esto porque hay comandos para la informaci=F3n de esquema que necesitan = el nombre de la base de datos.=20 Con el nuevo patr=F3n de f=E1brica de proveedores existe un DbConnectionStringBuilder que lo que hace es lo mismo que los m=E9todos BuildConnectionString y DeconstructConnectionString, delegar la = construcci=F3n del connectionString o extracci=F3n de par=E1metros a cada proveedor (el problema es el Npgsql). Si ya nada m=E1s se va a especificar el = connection string al datasource, entonces s=F3lo ser=EDa necesario el DeconstructConnectionString. Lo que se puede hacer es que =E9stos = m=E9todos se implementen directamente en el datasource espec=EDfico y quitar los = m=E9todos abstractos y las variables del gen=E9rico DataSource. As=ED cada = implementaci=F3n DataSource ser=EDa el encargado de manejar sus par=E1metros para la = conexi=F3n y s=F3lo ser=EDan visibles dentro del mismo. =20 * DataServices o DataSourceManager.cs: Se elimino el manejo directo del archivo XML = de configuraci=F3n y se sustituyo por una instancia de la clase = Configuration. Tambi=E9n se modifico el procedimiento para crear los DataSources para = que soportora la creaci=F3n de un GenericDataSource que representa un = wrapper para el DbProviderFactory de .NET 2.0. Habr=EDa que adaptar a que el DataSourceManager cargue todos los = datasources configurados en el constructor para en base a esos se inicialicen. _________________________________________________________________________= ___ _ =20 * DataSource.cs: Se modifico el constructor para que en vez de requerir usuario, password, host y base de datos, solamente requiriera = el connection string directamente. OK =20 =20 =20 * DataLayerConfigurationUI o Este proyecto es la interfaz de usuario para adminstrar el archivo = de configuraci=F3n del DataLayer, nos permite modificar providers y = datasources, as=ED como ver los providers instalados en la maquina y agregarlos a = nuestra configuraci=F3n. Espero que con eso sea suficiente para entender los cambios que = realizamos, cualquier duda mandarla a la lista para contestarla. Y esperamos que sea facil unir los cambios realizados por Manuel y por nosotros. Saludos!=20 |