How To Create a Microsoft Azure-Based MVC Application
"Nube" ha sido una palabra de moda desde hace un tiempo. Pero, ¿qué significa para ti como desarrollador? Para empezar, no tendrá que escribir un código muy diferente para la nube del que ya está escribiendo para las aplicaciones locales.
"Nube" ha sido una palabra de moda desde hace un tiempo. Pero, ¿qué significa para ti como desarrollador? Para empezar, no tendrá que escribir un código muy diferente para la nube del que ya está escribiendo para las aplicaciones locales.
Supongamos que ya está familiarizado con las aplicaciones MVC. Si eso es cierto, en este post nos centraremos en demostrar cómo la construcción para la nube no es muy diferente de cualquier otro desarrollo. Seguiremos un enfoque paso a paso y crearemos una aplicación MVC de extremo a extremo que esté alojada completamente en la nube (tanto en los datos como en la aplicación).
Configuración de la base de datos en SQL Azure
Primero, configuraremos la base de datos en la nube. Vamos a usar SQL Azure como plataforma en la nube, y vamos a seguir adelante y crear una base de datos escolar. Para crear esto en Azure, debe:
- Login to Microsoft Azure portal
- En la pestaña lateral, seleccione Opciones de BASES DE DATOS SQL
- En la parte inferior, haga clic en el botón NUEVO

Desde aquí, tendrás la opción de crear una nueva base de datos. Para crear uno, debe proporcionar la siguiente información:
- Nombre de la base de datos. Aquí vamos a trabajar con la base de datos School proporcionada por Microsoft, así que asegúrese de dar "School" como nombre de la base de datos.
- Elija la suscripción de Azure en la que se creará la base de datos.
- Puede elegir un servidor existente o crear un nuevo servidor de base de datos. Para crear un nuevo servidor de base de datos, deberá proporcionar información como la región, el nombre de inicio de sesión y la contraseña.

Una vez que haga clic en la opción CREAR BASE DE DATOS SQL, se creará la base de datos de la escuela y un nuevo servidor de base de datos. Después de crear correctamente la base de datos, debe configurar reglas de firewall para el servidor de bases de datos de modo que pueda conectar el equipo de desarrollo local al servidor de bases de datos de SQL Azure. Para configurar las reglas de firewall, haga clic en Configurar reglas de firewall de Windows Azure para esta dirección IP.

Aquí se le solicitará la información de que la dirección IP actual no se agrega en las reglas de firewall existentes. Haga clic en Sí para agregar esa dirección IP actual a las reglas de firewall existentes del servidor de base de datos.

A continuación, conectaremos la base de datos en la nube recién creada desde el estudio de administración de SQL Server para que podamos ejecutar scripts para crear tablas con los datos. Para ello, deberá iniciar SSMS y proporcionar la siguiente información:
- Nombre del servidor de bases de datos de SQL Azure. Puede encontrar el nombre del servidor de base de datos en el portal.
- Choose authentication as SQL Server authentication
- Nombre de usuario y contraseña

Después de una conexión correcta al servidor de base de datos de SQL Azure, podrá ver la conexión en el SSMS como se muestra a continuación:

Vamos a usar la base de datos escolar proporcionada por Microsoft para crear las tablas y los datos. Ya tenemos la base de datos de la escuela creada a partir del script proporcionado en el servidor de base de datos local, por lo que a continuación tendremos que crear el script que se puede ejecutar en el servidor de base de datos SQL Azure. Para crear esto, haga clic con el botón derecho en la base de datos y luego seleccione Tareas y luego Generar scripts. En la ventana generar secuencia de comandos, seleccione Secuencia de comandos de toda la base de datos y todos los objetos de la base de datos.

En la siguiente pantalla, haga clic en la opción Avanzado.

En la ventana Opciones avanzadas, cambie los siguientes valores:
Tipos de datos a script: Esquema y datos
Script for database engine type: SQL Azure database

Seleccione la opción de guardar en la nueva ventana de consulta y haga clic en Siguiente. Encontrará que el script generado se crea y se abre en la nueva ventana de consulta dentro del SSMS. Seleccione la conexión de base de datos de SQL Azure y ejecute el script. Encontrará que las tablas junto con los datos se han creado en la base de datos de la escuela que reside en el servidor de base de datos SQL Azure.

Hemos creado la base de datos de la escuela que está en la nube. En la siguiente sección, usaremos la base de datos en la nube para crear una aplicación MVC.
Creación de la aplicación MVC
En esta sección crearemos y configuraremos la aplicación MVC que se publicará en el sitio web de Azure. Para ello, elija la plantilla MVC.

No queremos ninguna autenticación para esta aplicación. Para configurar esto, haga clic en la opción Cambiar autenticación y, en el cuadro de diálogo, seleccione Sin autenticación como se muestra a continuación:

Queremos alojar la aplicación en la nube. Para ser precisos, la aplicación se hospedará en el sitio web de Azure. Para configurarlo, active la casilla de verificación Host en la nube y, en el menú desplegable, elija Sitio web.

A continuación, se le pedirá que autentique su cuenta. Autentíquese proporcionando el nombre de usuario y la contraseña.

En la siguiente pantalla debe configurar:
- Un nombre de sitio. Este nombre se usará como dirección URL para acceder a la aplicación cuando se hospede en el servidor de Azure.
- Región: la región del servidor de Azure en la que se hospedará la aplicación.
- Un servidor de base de datos. En este ejemplo, seleccionaremos el mismo servidor de base de datos en el que reside la base de datos de la escuela.
- Una contraseña para conectarse al servidor de base de datos.

Después de una autenticación correcta con el servicio de Azure y el servidor de base de datos, verá un mensaje en Visual Studio que indica que la aplicación está lista.

Creación de la aplicación
A partir de ahora, hemos configurado la base de datos y creado la aplicación MVC para que se hospede en el sitio web de Azure. Ahora sigamos adelante y construyamos la aplicación.
Adding the data model
Comenzaremos con la creación del modelo de datos utilizando la base de datos School alojada en SQL Azure. Usaremos ADO.NET Entity Data Model para crear el modelo. Para crear el modelo en el proyecto MVC, cree una carpeta denominada Infrastructure. Haga clic con el botón derecho en la carpeta de infraestructura y seleccione Agregar nuevo elemento. En el cuadro de diálogo Agregar nuevo elemento, seleccione ADO.NET Entity Data Model en la pestaña Datos y asígnele el nombre SchoolModel.

En la siguiente pantalla, seleccione la opción Diseñador de EF de la base de datos.

Haga clic en Nueva conexión y, en el cuadro de diálogo Nueva conexión, proporcione la siguiente información:
- Nombre del servidor de la base de datos de SQL Azure. Creamos este servidor en la sección anterior
- Select SQL Server Authentication option
- Proporcione el nombre de usuario y la contraseña del servidor de base de datos de SQL Azure
- Seleccione la base de datos de la escuela en el menú desplegable

En el siguiente cuadro de diálogo, seleccione la opción Sí, incluya los datos confidenciales en la cadena de conexión y deje el nombre predeterminado para la cadena de conexión.

Vamos a trabajar con la tabla Person. Por lo tanto, haga clic en la casilla de verificación Persona y deje las otras casillas de verificación predeterminadas.

Al hacer clic en Finalizar, se creará el modelo de datos como se muestra a continuación:

Hemos creado y agregado con éxito un modelo de datos en la aplicación MVC. Tenga en cuenta que SchoolModel ahora está conectado a la base de datos en la nube en SQL Azure.
Adición de controlador con operación de lectura y escritura
A continuación, agregaremos un controlador con vistas, mediante el marco de Entity. Usaremos el andamiaje MVC para crear vistas para realizar operaciones CRUD en la tabla Person. Para agregar un controlador, haga clic con el botón derecho en la carpeta Controlador y seleccione Controlador MVC 5 con vistas, utilizando la opción Entity Framework como se muestra a continuación:

En el siguiente cuadro de diálogo, debemos elegir el modelo y la clase de contexto. Aquí elegiremos Person como la clase modelo y SchoolEntities como la clase DataContext. Para crear las vistas que corresponden a la operación de la base de datos, asegúrese de que las demás casillas de verificación estén marcadas.

Con este paso, hemos creado el controlador y las vistas para las operaciones CRUD en la tabla person. En el explorador de soluciones, debe tener los siguientes archivos:

En este punto, si sigue adelante y ejecuta la aplicación, obtendrá datos de la tabla de personas que reside en el SQL Azure que se muestra. También puede crear nuevos datos, editar y eliminar datos.

Hacer que su aplicación sea más inmersiva
En este ejemplo, no necesitamos las vistas Inicio, Acerca de y Contacto. Además, supongamos que queremos una lista de personas en la URL base de la aplicación.
Comencemos quitando el controlador de inicio y eliminando la subcarpeta de inicio en la carpeta View y en el archivo layout.cshtml, comente el div con la clase navbar-header. Una vez que se elimine el controlador doméstico y la vista, abra RouteConfig.cs desde App_Start carpeta y cambie el controlador predeterminado a School en la ruta como se muestra a continuación:

Ahora hemos terminado con la creación de la aplicación. Presione F5 para ejecutar y probar la aplicación localmente. Debería poder ver la aplicación ejecutándose como se muestra a continuación:

Publicación de la aplicación
Para publicar la aplicación, haga clic derecho en el proyecto y haga clic en publicar. En el cuadro de diálogo de conexión, valide los valores y haga clic en siguiente.

En el cuadro de diálogo de configuración, para la base de datos, seleccione la cadena de conexión SchoolEntities y haga clic en siguiente.

Por último, haga clic en publicar para publicar la aplicación en el sitio web de Azure.

Si se encuentra con algún error, puede abrir el portal de administración y, en el servidor de base de datos, comprobar que la opción Servicios de Windows Azure está establecida en sí o no en los servicios permitidos. Debe establecerse en Sí como se muestra a continuación:

Conclusión
Ahora debería poder realizar la operación CRUD desde la aplicación MVC hospedada en el sitio web de Azure y acceder a la base de datos hospedada en SQL Azure. En este post aprendimos sobre:
- Creación de una base de datos en SQL Azure
- Migración de datos del servidor de base de datos local al servidor de bases de datos de SQL Azure
- Uso de datos de la nube en una aplicación MVC mediante el marco de entidades
- Hospedaje de la aplicación MVC en el sitio web de Azure
- Publique la aplicación en el sitio web de Azure.
Esperamos que este artículo te haya resultado útil, ¡gracias por leer y feliz codificación!
