Cap 1/ Crear Paquete de Instalación de una Aplicación con Base de Datos Integrada, Local, Red Local y en la Web-Nube/ Visual Studio- Introducción

Hola, en esta ocasión crearemos el instalador (Setup) del proyecto Login Completo en Arquitectura en capas, o cualquier otro proyecto que tengas, bueno realizaremos el ejecutable tanto con base de datos local, en un área de red local (Lan-Man), en un servidor de alojamiento web (Hosting), finalmente con base de datos integrada, o incrustada en la misma aplicación.  

Mayormente, cuando empezamos en el mundo de la programación, prácticamente somos principiantes; Creamos nuestras primeras aplicaciones con  una base de datos SQL Server o MySQL. Pensamos que al crear el ejecutable de la aplicación, la base de datos va incluida o integrada en el instalador y la aplicación. Esto es un error muy común, es  imposible incluir la base de datos en el mismo ejecutable de aplicación o el paquete de instalación.

Primeramente, una base de datos por ejemplo, SQL Server, MySQL, Oracle, postgreSql o MaríaDB, son motores de base de datos, también conocida como gestor de base de datos o servidor de base de datos, que se manipula mediante un sistema de administración de base de datos (DBMS). Por lo tanto, una base de datos siempre va a estar almacenada en un servidor de base de datos, independientemente de la aplicación.

Un servidor de base de datos u otro tipo de servidor (servidor de archivos, servidor de correo, servidor de impresión, servidor web, servidor de juego, servidor de aplicaciones), es simplemente una aplicación en ejecución responsable de atender las peticiones de un cliente y retornar una respuesta. Los servidores se pueden ejecutar en cualquier tipo de computadora, ya sea una computadora común comercial o una computadora de alto rendimiento.

Por consiguiente, nuestra aplicación debe de conectarse al servidor de base de datos para poder manipular los datos, para ello es necesario la cadena de conexión, y siempre lo hemos configurado en el proyecto donde especificamos:

  • El nombre del servidor.
  • El nombre de la base de datos.
  • Las credenciales (usuario y contraseña, SQL Server también permite la autenticación mediante Windows.

Sin embargo, no quiere decir que no se pueda crear aplicaciones con base de datos incrustada, claro que si se puede, pero no se usa un motor de base de datos real. En su lugar se usan archivos que imitan una base de datos, es decir, son archivos que permiten almacenar datos permanentemente. Entre ellos tenemos.

  • SQLite.
  • Microsoft Access.
  • XML.
  • JSON.
  • Entre otras.

Estos archivos, principalmente se usan como base de datos para aplicaciones de entretenimiento, mensajería, juegos, y otras aplicaciones simples que no requieren un  montón de entidades (Tablas), por lo tanto no es necesario un motor de base de datos, además no tendría sentido usar una base de datos real solo para 3 o 5 tablas.

Un motor de base de datos se usa principalmente para aplicaciones empresariales o aplicaciones complejas.

No obstante, en muchas ocasiones es mejor crear aplicaciones con base de datos mixto. Es decir, crear una aplicación con base de datos integrada en algún archivo (para guardar datos de configuración, usuario y caché) y con base de datos real alojada en un servidor de base de datos (Para guardar los datos de las entidades del dominio).

Bien, concluyendo. Existen aplicaciones con diferentes modelos en cuanto a base de datos:

Aplicación con Base de Datos Local

En este modelo, la base de datos y la aplicación está instalada en la misma computadora. Es muy común ver este modelo, en negocios pequeños donde solamente es necesario una computadora.

Ver tutorial: Crear Paquete de Instalación (Setup) En YouTube – En el Blog.

Aplicación con Base de Datos en Red Local (LAN-MAN)

En aplicaciones con base de datos en red local, ya sea una red de área local (LAN) o una red de área metropolitana (MAN). Una MAN es simplemente redes LAN interconectadas, mayormente mediante radio-enlaces. Las tecnologías más usadas y comerciales son Ubiquiti y Mikrotik.

En este modelo la base de datos está alojada en un servidor local, y todas las aplicaciones en las computadoras cliente, obtienen los datos desde el servidor.  Este modelo principalmente se usa para negocios medianos (aplicaciones empresariales), donde tienen áreas o sucursales dentro de la misma ciudad, o la aplicación será utilizada por 2 o más computadoras.

Ver tutorial: Crear Paquete de Instalación (Setup) En YouTube – En el Blog.

Aplicación con Base de Datos en la Web-Nube

En este modelo, el servidor de base de datos está instalada en un servidor web, alojamiento web, o alojamiento en la nube, el cual es accesible mediante internet desde cualquier parte del mundo, o desde un lugar geográfico en específico.

Puede ser usado por cualquier tipo de aplicación, además muchas veces resulta ser más económico contratar un servicio de alojamiento web o nube, que crear una red local con radioenlaces en un área metropolitana. Sin embargo, en aplicaciones empresariales a gran escala, muchas empresas prefieren implementar su propio servidor web.

Ver tutorial: Crear Paquete de Instalación (Setup) En YouTube – En el Blog.

Aplicación con Base de Datos Integrada – Incrustada

La base de datos esta incrustada o integrada en la misma aplicación, por medio de archivos capaces de almacenar datos, como ya se mencionó, este modelo se usa principalmente para aplicaciones de entretenimiento, mensajería, juegos, y otras aplicaciones simples. Sin embargo, recuerden que este modelo puede combinarse con los modelos anteriores mencionados (Aplicación con base de datos Mixto).

Ver tutorial: Crear Paquete de Instalación (Setup) En YouTube – En el Blog.

Obviamente también existen aplicaciones que no requieren base de datos.