Hola que tal gente!
Hoy les hablare de los servidores de base de datos, hay muchos que al escuchar este termino ya saben de antemano que estamos hablando de servidores SQL, que para sacar datos hay que hacer select * from tabla y con eso ya tenemos la vida resuelta. Pero la verdad es que desde la óptica de un programador de aplicaciones funcionales, acostumbrado a los Diagramas FD, E-R, etc. esto resulta un poco complejo aunque parezca mentira … El separar la lógica de datos de la lógica de aplicación es un poco extraño para los que estamos acostumbrados a ver los datos como parte de la aplicación y no a la aplicación como cliente de red.
Pues ese es el secreto: la información son datos de la red y como tal son manejados y administrados como cualquier otro servicio de red tal como el servicio de ficheros, servicios de envío y recepción de mail, etc. Nuestras aplicaciones son clientes (front – end) del servicio de datos.
Antes del advenimiento de los servidores de base de datos, la información era almacenada en ficheros que almacenaban la información más o menos de forma coherente y accesible por nuestra aplicación, luego se vio la necesidad de “abrir” la exclusividad y aparecieron gestores de base de datos que de una u otra forma nos liberaban de la gestión de esos ficheros y reducían un poco la carga de trabajo de generación de informes atípicos, programación de aplicaciones utilitarias y otras cositas comunes para la época. Como ven es un proceso que ha llegado en la actualidad a separar completamente los datos que antes eran exclusivos del programa, de la aplicación que los gestionaba, he allí el lío de los sistemas actuales vistos con la óptica antigua.
Muchos programadores de la vieja data aun no son capaces de poder aceptar que la aplicación que se programa no es exclusiva para los datos y que los datos son independientes de la aplicación. Es decir se ha reemplazado los servidores de archivos (los que compartían los ficheros de sus datos por la red) por los servidores de base de datos.
Hoy en día los servidores de base de datos y sus correspondientes clientes de administración son capaces de ofrecer lo que antes se hacia por medio de aplicaciones (reindexar, copias de seguridad, informes, etc.). Las aplicaciones se han hecho más pequeñas y menos imprescindibles por este motivo (hasta por excel podemos descargar datos del servicio de base de datos).
Así que señores de la vieja escuela aceptemos: nos han quitado la exclusividad sobre los datos, las aplicaciones existirán pero son clientes de red que insertan, modifican y eliminan datos, ya no es nuestra responsabilidad el mundo y la gestión de los datos, eso es responsabilidad del servicio de red que nombramos. Las tareas de despachar datos, se programan en el servicio de base de datos y no en la aplicación cliente, se puede utilizar los comandos típicos de consulta y también podemos usar nuestros comandos personalizados (SP), también podemos usar vistas y muchas cosas más para aplicar los principios de administración de servicios de red.
Recordemos separar la capa de datos del resto de la aplicación, porque como es obvio son dos tecnologías diferentes y así nos ira mejor en el momento de programar nuestra moderna aplicación ligera.
Saludos y hasta la próxima.