SQL Server EveryWhere con Visual Studio 2005

Aquí les dejo el artículo que hace referencia a la conferencia que dicté hace un tiempo atras sobre SQL Server EveryWhere.
 
Como su nombre lo dice, Sql Server Everywhere, pretende ser una base de datos para funcionar en cualquier lado.

Cuando decimos en cualquier lado, no estamos exagerando ya que una de las principales características de Sql Server Everywhere es que puede trabajar tanto en computadoras de escritorio como en dispositivos móviles.

Sql Server Everywhere es la evolución, sin dudas, de Sql Server CE. Y como toda evolución, viene con mejoras. Teniendo por una parte, un Sql Server CE que solo trabajaba en dispositivos móviles, esta nueva versión, además, se extiende a computadoras de escritorio donde, nuestros sistemas, puedan tener un repositorio de datos.

Aunque Sql Server Everywhere se extiende a computadoras de escritorio, este no puede soportar (o no es conveniente) múltiples usuarios concurrentes. Para esta tarea, deberemos seguir usando los sistemas de bases de datos ya conocidos, como su directo superior, Sql Server Express, que al igual que Sql Server Everywhere es gratuito y de libre distribución, o finalmente, su notablemente mas potente, Sql Server 2005.

Sql Server Everywhere incluye la mayoría de las características de Sql Server; Soporte de de consultas parametrizadas, vistas, replicación, compactación y reparación de datos, índices, transacciones, entre otros.

Una de las características más notables que, justamente, dan la posibilidad de colocar esta base de datos en dispositivos móviles, es su pequeño tamaño. Aunque en situaciones de necesidad, esta base de datos puede soportar hasta 4 gb. de datos. Lamentablemente, Sql Server Everywhere deberá trabajar sobre la memoria física del dispositivo, no pudiendo funcionar directamente sobre memorias extraíbles, lo que resulta un impedimento si la base de datos llegara a un tamaño superior de aquel que posee la memoria base del dispositivo. En todo caso, si tal caso llegara, es probable que debamos rever la lógica de la aplicación que estamos desarrollando.

Componentes vs. líneas de código

Comúnmente, los programadores con cierto grado de conocimientos avanzados, prefieren realizar la mayor parte del código de sus aplicaciones manualmente. Esto por que el uso de asistentes y automatizaciones son, en muchos casos, dejados de lado. Generalmente atribuido, esto, a la perdida de control sobre lo que esta pasando en cada línea de código. Así, vemos como se prefiere usar conexión, comandos o DataReader para administrar los datos de una base de datos, que usar objetos tales como BindingSource o SQLDataSource.

Visual Studio 2005 se integra completamente con Sql Server Everywhere, y no solo nos entrega estas herramientas que reducen la cantidad de código a realizar, si no que además posee un soporte completo para administrar nuestra base de datos.

Este es un buen motivo para que, en aplicaciones pequeñas, como las que puedan ser realizadas para dispositivos móviles, el uso de estos controles automatizados no se presente como una mala opción.

En este caso crearemos una aplicación para dispositivos móviles y así poder hacer uso de lo que nos ofrece Visual Studio 2005 y Sql Server Everywhere.

Paso a paso

Lo primero que necesitamos es crear nuestra aplicación para dispositivos móviles. Por defecto, Visual Studio 2005, trae la versión 2003 de emuladores de dispositivos. Esto es, si no tenemos un dispositivo físico donde hacer pruebas, podremos usar alguna emulación y comprobar que el comportamiento de nuestra aplicación sea el correcto.


Con la nueva versión de Windows Mobile 5.0, podemos actualizar los emuladores y hacer uso de sus nuevas funcionalidades.

Haciendo uso del motor de Sql Server Everywhere podríamos crear, por código, una nueva base de datos, luego a esta agregarle tablas y registros. Lamentablemente este procedimiento esta sujeto a fallos y posiblemente a un considerable costo en tiempo del que no podemos, en muchas ocasiones, disponer.

Cuando hablamos de fallos, nos referimos a que no podremos estar seguros si nuestro código funciona correctamente, o tiene el resultado esperado hasta no correr la aplicación por primera vez. En cambio, si usamos Visual Studio 2005 para este trabajo, veremos que no solo ganamos en seguridad en el procedimiento, si no, en tiempo.


Sobre nuestro proyecto. Agregamos un nuevo ítem del tipo Sql Mobile DataBase.

Al momento de crear la base de datos, Visual Studio 2005 nos agregará un DataSet escrito (Typed DataSet por su nombre en inglés). Este nos será de utilidad cuando queramos realizar consultas a la base de datos y mostrar sus resultados.

Al igual que para crear una base de datos, la creación de tablas se puede realizar por medio de consultas SQL. Aunque, también, deberíamos ejecutar nuestra aplicación para que esta acción se lleve a cabo. En contra partida, podremos hacer el mismo trabajo desde el explorador de servidores de Visual Studio 2005. En este, encontraremos nuestra base de datos y podremos agregar tablas a ella al igual que lo haríamos, por ejemplo, desde el administrador de Sql Server.


Sql Server Everywhere soporta todos los tipos de datos conocidos y usados por su superior. Incluso llaves primarias, auto numéricos, etc.

Mostrando la información

Una vez creada la base de datos, sus tablas, y con datos en ella, usaremos el DataSet creado en el momento de la creación de la base de datos para crear nuestras consultas y, así, mostrar los resultados en pantalla.


Arrastrando y soltando cualquiera de las tablas de la base de datos sobre el DataSet, Visual Studio 2005 construirá el código necesario para representar la información como una fuente de datos enlazable.

Finalmente, para mostrar esta información en el dispositivo móvil, podemos agregar cualquier componente que posea la cualidad de enlazado de datos. En este caso, un DataGrid, donde, en la propiedad DataSource seleccionaremos la tabla creada dentro del DataSet.


Visual Studio 2005 se encargará de hacer el resto del trabajo por nosotros para que la información sea desplegada en pantalla.

Más rápido, más fácil

Como mencionábamos al principio, Sql Server Everywhere posee características sobre la base de datos misma. Como la reparación de datos, compactación, protección por contraseña, entre otras.

Todas estas tareas pueden ser administradas desde Visual Studio 2005 fácilmente. Indudablemente, también pueden ser llevadas a cabo desde el código de nuestra aplicación, pero podríamos incurrir en la problemática antes dicha.

En todo caso, para poder administrar estas propiedades desde Visual Studio 2005, no necesitamos más que seleccionar la base de datos desde el explorador de servidores y acceder a las propiedades de la misma.

Desde el panel emergente que se nos presenta, podremos realizar todas las tareas administrativas disponibles sobre la base de datos.


Panel de administración de la base de datos. Se despliegan todas las posibles tareas administrativas a realizar.

Conclusiones

Sql Server Everywhere se perfila como uno de los mejores sistemas de bases de datos para nuestras aplicaciones. Tanto para usuarios simples en aplicaciones de escritorio, como en aplicaciones para dispositivos móviles, aunque para estas últimas, Sql Server Everywhere, se traduce en la mejor alternativa.

Si a esto le sumamos el amplio soporte que nos ofrece Visual Studio 2005. El desarrollo se torna aun más simple, rápido y seguro.

En definitiva, Sql Server Everywhere, es el complemento ideal para el desarrollo de aplicaciones no necesariamente complejas, pero si, que buscan robustez en su comportamiento.


One Comment on “SQL Server EveryWhere con Visual Studio 2005”

  1. Paulo Sergio dice:

    muy buen ejemplo de dispositivos moviles nadamas que seria mejor que fuera un poco mas especifico al dar la explicacion paso a paso(decir en donde se encuantra cada componente o algo por el estilo)gracias por su ayuda


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s