Soporte de bases de datos embebidas en ASP.NET

Esta semana hablé sobre IIS Express, y vimos algunos de los trabajo que estamos haciendo para que el desarrollo de aplicaciones ASP.NET sea más fáicl desde un punto de vista de un servidor web.

En el post de hoy seguimos con el tema de simplificar, y veremos algunas cosas que estamos haciendo para que los desarrolladores puedan tener una base de datos de desarrollo. En concreto, me alegra anunciaros que hemos terminado el trabajo de ingeniería que permite usar SQL Server Compact Edition (SQL CE) con aplicaciones ASP.NET. Esto permite un uso de base de datos más ligero y funciona para el desarrollo web con ASP.NET.

Introducción a Sql Server Compact Edition 4

SQL CE es un motor de base de datos gratuito y embebido que permite crear bases de datos fácilmente. Publicaremos una beta pública de SQL CE 4 pronto. La versión 4 ha sido diseñada y testeada para que funcione con aplicaciones ASP.NET.

Funciona con APIs existentes

SQL CE funciona con APIS .NET ya existentes, y soporta una sintaxis de consultas similar a SQL Server. Esto significa que podemos usar APIs como ADO.NET, y ORMs como Entity Framework o NHibernate con SQL CE. Como cualquier API que soporte el modelo de proveedore de ADO.NET puede funcionar con SQL CE.

Esto nos permite usar las mismas skills de programación y APIs que conozcamos hoy.

No hace falta instalar ninguna base de datos.

SQL CE no requiere que instalemos ningun servidor de base de datos para usarlo. an solo tenemos que copiar los binarios de SQL CE en el directorio bin de nuestra aplicación ASP.NET, y ya podemos ejecutar y usarlo como motor de base de datos. No hace falta configurar permisos especiales. No necesitamos una cuenta de administrador en la máquina. Sólo funciona.

Las aplciaciones que hagamos podemos distribuirlas con SQL CE como parte de elas. Con copiar la aplicación web en cualquier servidor y funciona.

Los archivos de base de datos se guardan en disco

SQL CE guarda sus bases de datos en disco (en archivos con extensión .sdf). Podéis guardar los archivos de SQL CE en el directorio App_Data de nuestras aplicaciones Web – no tienen que registrarse para usarla en vuestra aplciación.

El motro de SQL CE se ejecuta en la memoria de nuestra aplciación. Cuando la aplicación se cierra la base de datos se descarga de memoria.

Escenarios de compartición web está soportado en SQL CE 4

SQL CE puede ejecutarse en escenarios de confianza media en hostings de ASP.NET 4 – Sin que el hoster tenga que instalar nada. Los hosters no tiene que instalar SQL CE en sus servidores para usarlo.

Esto significa que podéis crear aplcicaciones web ASP.NET que contienen vuestro codigo, contenido, y ahora un motor de base de datos y arhivos de base de datos – todo bajo el directorio de vuestra aplicación. Ahora podemos desplegar aplicaciones como esta  usando una copia FTP sin tener que contratar servicio de base de datos – no hace falta desplegar la base de datos y el hoster no tiene que instalar nada.

SQL CE se ejecutará en vuestra aplciación en el host remoto. Como se ejecuta en memoria y guarda sus archivos no hay que pagar nada por una base de datos SQL Server.

Soporte en VS 2010 y Visual Web Developer 2010 Express

VS 2010 y Visual Web Developer 2010 Express añaden una herramienta de soporte para SQL CE 4 para escenarios de ASP.NET en un actualización. Esta actualización nos permite añadir archivos de SQL CE a nuestros proyectos ASP.NET, usando el Server Explorer de Visual Studio para crear y editar las tablas, y usar diseñadores de alto nivel como Entity Framework (como vemos en la imagen) para modelar y mapear la base de datos a clases que podemos consultar y programar con LINQ:

Esto significa que además dde usar las APIS de hoy día, podremos ser capaces de usar las mismas herramientas de desarrollo que ya usamos con SQL CE

Soport de Desarrollo y Producción

SQL CE puede usarse en escenarios de desarrollo y de producción para entornos livianos. Para la release de SQL CE 4 hemos hecho un trabajo de ingeniería para asegurarnos de que SQL CE no se rompe cuando se usa en servidores multi-threaded (como ASP.NET). Este es un gran cambio con respecto a las versiones anteriores de SQL CE- que fué diseñado para entornos cliente-servidor sólamente y que se bloqueaba cuando se ejecutaba en entornos de servidores web. A partir de SQL CE 4 podemos usarlo en servidores web también.

No hay restricciones de licencia para SQL CE.

Migración fácil a SQL Server

SQL CE es una base de datos embebida – lo que lo hace ideal para desarrollo y escenarios livianos. Para sitios con gran cantidad de datos y aplciaciones seguramente querremos migrar a usar SQL Server Express (que es gratuito), SQL Server o SQL Azure. Estos servidores ofrecen una mayor escalabilidad, más características de desarroll (incluyendo los procedimientos almacenados – que no están soportados en SQL CE), así como otras capacidades de administración más avanzadas.

Publicaremos utilidades de migración que nos permitiran coger bases de datos SQL CE y actualizarlas para que usen SQL Server Express, SQL Server, o SQL Azure. No tendréis que cambiar el código cuando se migre de SQL CE a SQL Server o SQL Azure. El objetivo es ofrecer la posibilidad de cambiar la cadena de conexión del web.config y tener la aplicación funcionando.

Resúmen

SQL CE 4 ofrece una base de datos fácil, liviana que tenemos a partir de hoy para aplicaciones ASP.NET. Nos permite empezar proyectos fácilmente – sin tener que instalar un servidor completo de base de datos en la máquina de desarrollo. Como es compatible 100% con SQL Server, escribiremos código usando las mismas APIs (ADO.NET, Entity Framework, NHibernat, etc).

Podremos desplegar bases de datos SQL CE fácilmente en un hosting remoto y usarlo para aplicaciones con pocos datos. A medida que el tráfico vaya aumentando tendremos la opción de actualizar la base de datos para que use SQL Express (que es gratuito), SQL Server o SQL Azure – sin tener que cambiar nuestro código.

Publicaremos la beta pública de SQL CE 4 (junto a la beta de IIS Express y otras cosas chulas de las que también hablaré próximamente) esta semana.

Espero que sirva.

Scott.

P/D: Podéis seguir a Scott en Twitter:  twitter.com/scottgu

Traducido por: Juan María Laó Ramos.

Artículo original.

0 comentarios sobre “Soporte de bases de datos embebidas en ASP.NET”

  1. hola buenos dias, me gustari saber mas afondo la parte de la “Migración fácil a SQL Server”… y un ejemplo de codigo como se puede realizar las conexiones al migra de SQL CE a una una de SQL Server Express, SQL SERVER…

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *