jueves, 30 de abril de 2009

Sobre Front-End, Back-End y Mde



Ya es un clasico la magnifica explicacion que en su dia hizo Anna sobre la división de bases de datos. La recojo en el blog, aunque esta en muchos sitios, simplemente por que es genial.

¿Que buscamos con esto de Back-End, Front-End en MDE y Red?


- Tener una aplicación a la cual varios usuarios puedan acceder al mismo tiempo
- Los usuarios podran ver las actualizaciones de la aplicación en tiempo real, es decir cada vez que alguien cree un registro nuevo o realice alguna modificación, el resto de los usuarios podran verlo.
- Evitar que los usuarios tengan accesso a la tablas de manera directa, solo podran hacerlo por medio de los formularios y consultas.
- Evitar que los usuarios puedan modificar el codigo de la aplicacion y el diseño de los formularios e informe

Diferencia entre Back-End y Front-End

- Back-End es una mdb que se encuentra en un servidor o en un ordenador que funciona como servidor, dentro de una carpeta compartida y la cual solamente contiene las tablas. Esta mdb es recomendable que tenga contraseña para su apertura.
- Front-End un mde que puede estar en local en cada estacion u ordenador por usuario, tambien puede ser una sola que estara en una carpeta compartida y los usuarios tendran accessos directos instalados en su estacion u ordenador. Esta base tendra todos los objetos para la exploracion, edicion y creacion de archivos, es decir formularios, consultas, macros, informes, codigo VBA. Pero no contendra ninguna tabla en local, a esta base se vincularan las tablas del Back-End por medio de Archivo >>> Obtener datosexternos >>>> Vincular. En caso de que el Back-End contenga contraseña la pedira al principio. Otra opcion es utilizar alguno de los ejemplos del Buho para vinculación o revinculacion de tablas.

Archivo mde

- Un archivo mde lo que hace es ocultar o eliminar el codigo de la aplicacion pero mantendra el funcionamiento, bloqueara la vista diseño de formularios e informes, asi como la creacion de nuevos. Sin embargo las macros y consultas si podran ser modificadas y se podra crear nuevas.
- Un archivo mde se obtiene por medio de Herramientas >>>> Utilidad de la base de datos >>> Crear archivo MDE... OJO: este proceso no es reversible, por lo que debe realizarse sobre una copia
- En caso de que esta opcion aparesca deshabilitada (atenuada) se debera convertir la base a una version superior por medio de Herramientas >>> Utilidad de la base de datos >>> Convertir base de datos
- Si al convertir la base en mde se recibe un mensaje de error, se debe a que existe alguna falla en la ventana de VBA, presiona Atl+F11 luego en Depuración >>>> Compilar, si hay algo lo mostrara, si aun asi no es posible crear la mde entonces es posible que en el codigo existan procedimientos sin origen, es decir si creaste un combo con el asistente y luego borraste ese combo en el formulario el codigo se ha quedado huerfano en la ventana VBA ya que no se borra al borrar el combo. Una buena opcion aunque lenta es crear una base nueva en blanco e ir importando los objetos de poco en poco e ir creando la mde, en el momento que no deje crear la mde sabras cual es el objeto que requiere revisión. Nota de Xavi: tambien puedes utilizar herramientas para analizar el código como MZ-Tools
- Si un formulario esta basado en una consulta, lo mejor para evitar que esa consulta sea modificada es que el formulario en origen de datos no tenga la consulta como tal (una consulta que aparece en la ventana base de datos) pinchando en los ... podras crear la consulta para dar origen al formulario y al crear el archivo mde esta no podra ser modificada

Consideraciones

- Back-End debera estar establecida en Herramientas >>>> Opciones >>>>> Avanzadas >>>>> Modo predeterminado de apertura compartida
- Front-End debera estar establecida en Herramientas >>>> Opciones >>>>> Avanzadas >>>>> Modo predeterminado de apertura compartida y bloqueo de registro >>>>> registro modificado
- La opcion del registro modificado se puede sustituir para el Front-End al establecer por cada formulario bloqueo por registro modificado, con esto lo que se logra es que la aplicacion no permitira que dos usuarios modifiquen el mismo registro al mismo tiempo, lo que crearia perdida de datos y confusion en los usuarios.

8 comentarios:

susana dijo...

hola Taribo. Gracias por tu artículo. Pero no me queda claro cómo proteger el back end, porque una contraseña evita su lectura pero no qque se pueda eliminar el archivo, ¿no?

cómo reforzar la seguridad del back end, entonces?

gracias

Broken_Window dijo...

¿un MDE puede ser un formulario creado en .Net o en VB6? pues éstos funcionan como un MDE del mismo Access.

SLV Net dijo...

Hola taribo acerca de Front-end y Back-end encontre esto:
Recientemente Microsoft lanzo su aplicación de Escritorio de SkyDrive en el cual se instala una carpeta virtual en tu Computador asociada a tu cuenta de correo electrónico, con esta carpeta virtual puse mi base de datos (Back-End) en la nube y vincule mi (Front-End) con esta carpeta y ohhhhh sorpresa trabaja perfectamente y muy veloz. Estoy muy contento porque ya mis aplicaciones trabajan ON-LINE.

SLV Net dijo...

Cordial Saludo, Recientemente Microsoft lanzo su aplicación de Escritorio de SkyDrive en el cual se instala una carpeta virtual en tu Computador asociada a tu cuenta de correo electrónico, con esta carpeta virtual puse mi base de datos (Back-End) en la nube y vincule mi (Front-End) con esta carpeta y ohhhhh sorpresa trabaja perfectamente y muy veloz. Estoy muy contento porque ya mis aplicaciones trabajan ON-LINE.

Fer dijo...

En ese caso, se podria usar dropbox , google drive, o similares para instalar el back-end?

salsiria dijo...

Hola, he realizado el proceso de dividir la base de datos pero al colocar contraseña a la que tiene las tablas y tratar de abrir un formulario aparece contraseña errada y no me deja hacer nada.

Unknown dijo...

SKYDRIVE SE LLAMA AHORA ONEDRIVE?

Edgardo dijo...

Buenas tardes taribo quisiera de favor me proporcionaras el codigo de este ejemplo en acces que pudieses tener:
Re: Como planteariais el control de asistencia a clase a rellenar por los profes? Acc
Mira este sencillo ejemplo:

http://mvp-access-archivos.googlegro...fs_JsYcw&hl=es

no lo puedo accesae