Hace un par de días desarrollé un sistema Web utilizando la tecnología MVC de Microsoft, esta tecnología me pareció interesante ya que nos permite implementar sitios utilizando arquitectura de modelo-vista-controlador de una manera sencilla y rápida.
Hoy día están muy de moda los modelos de n-capas en la cual tenemos distintas capas en nuestras aplicaciones y en general este modelo (MVC) consiste en tres capas el controlador: el cual es es el que responde a eventos que generalmente son desencadenados por un usuarios, o pueden ser solicitados por otra aplicación, en el controlador nos encargamos de administrar las peticiones tanto a lógica (modelo) como a presentación de los datos (vistas). En el modelo: encontramos usualmente las reglas del negocio, nos permite acceder al sistema de almacenamiento de datos entre otros. En vista nos limitaremos a presentar la información en un formato adecuado (interfaz), por supuesto si lo que tenemos es la interacción con un usuario se presenta con tablas y colores, si lo que se tiene es interacción con otro sistema pueden ser archivos xml de comunicación.
En general el desarrollo fue bastante sencillo, bastante documentación en la red, sobre lo que necesitaba realizar, por supuesto el 85% en ingles y en general no tuve mayores inconvenientes.
Al momento de la publicación tuve dos problemas y creo no son solo cuando se trabaja con esta tecnología sino mas bien en general para asp.
1. El primero resulto cuando publique el proyecto en el servidor de producción, en mi maquina todo andaba a la perfección, en el servidor de pruebas también, pero en producción una imagen no aparecía entonces ¿Cual era el problema?, investigue un poco y en mi caso utilizaba una variable de sesión para almacenar cierta imagen y por algún motivo la cookie terminaba la conexión con el servidor, revise la configuración del IIS para determinar si estaba habilitado el cheque de estados de sesión(creo que así se llama, sino variables) y todo muy bien, por ultimo coloque la dirección interna (no la de Internet) y listo todo bien ¿Y entonces?.
Muy sencillo el firewall tenia habilitada una opción de bloqueo de Cookies, problema resuelto únicamente deshabilitando dicha opción.
2. Luego el siguiente problema al que me enfrente fue al momento de la autenticación, esta se realizaba por medio de mode= "forms" , para esto me fije que se utiliza la base de datos aspnetdb.mdf la cual en mi ambiente de pruebas estaba administrada por sql server express 2008 y al trasladarlo al servidor de producción en el cual se cuenta con un SQL server 2005, y simplemente había un error en la pagina que me indicaba precisamente que no había podido establecer conexión con el servidor, luego de una incesante búsqueda lo solucione de la siguiente manera:
a. Primero crear la base de datos aspnet.mdf por medio del visual studio 2005 promt
Inicio-> todos los programas->Microsoft visual studio 2005 ->Visual Studio Tools> Simbolo del sistema de visual studio 2005. (valido para Win XP)
b. Escribir aspnet_regsql y dar enter
c. Esto abrira elASP.Net SQL Server Setup wizard, simplemente hay que dar siguiente
d. En la siguiente pantalla, seleccione la opción Configurar SQL Server para servicios de aplicación. Esta opción ejecuta un script para configurar la base de datos para la gestión de perfiles de usuario, funciones, composición y personalización.
e. En este paso, especifique el nombre de SQL Server y elija el método de autenticación adecuado. Deje el campo de base de datos por defecto y haga clic en Siguiente ..., es importante tomar en cuenta que este Wizard se conectara directamente con el servido y creara la base de datos por lo que se deben dar los usuarios y contraseñas correctas.
f. Se confirman los Settings y se da click en siguiente
g. ahora esta configurada su aspnetdb en la base de datos click en salir o finish
Importante: ahora puede revisar en su base de datos y estará creada la aspnetdb, en mi caso la cree desde mi maquina al servidor net de base de datos y me autentique por sql.
info. adicional:
http://www.ezineasp.net/post/How-to-Create-Aspnetdb.aspx
El siguiente paso es en el archivo web.config, justo despues de la etiqueta configuration, se colocan las etiquetas de connection Strings
providerName="System.Data.SqlClient" />
Si no tienes contraseña únicamente deja en blanco ese sector, luego de esto mi pequeña aplicación funciono en el servidor de producción de la misma manera que lo hacia en el servidor de pruebas.
Referencias:
http://es.wikipedia.org/wiki/Modelo_Vista_Controlador
http://www.comusoft.com/modelo-vista-controlador-definicion-y-caracteristicas
Hoy día están muy de moda los modelos de n-capas en la cual tenemos distintas capas en nuestras aplicaciones y en general este modelo (MVC) consiste en tres capas el controlador: el cual es es el que responde a eventos que generalmente son desencadenados por un usuarios, o pueden ser solicitados por otra aplicación, en el controlador nos encargamos de administrar las peticiones tanto a lógica (modelo) como a presentación de los datos (vistas). En el modelo: encontramos usualmente las reglas del negocio, nos permite acceder al sistema de almacenamiento de datos entre otros. En vista nos limitaremos a presentar la información en un formato adecuado (interfaz), por supuesto si lo que tenemos es la interacción con un usuario se presenta con tablas y colores, si lo que se tiene es interacción con otro sistema pueden ser archivos xml de comunicación.
En general el desarrollo fue bastante sencillo, bastante documentación en la red, sobre lo que necesitaba realizar, por supuesto el 85% en ingles y en general no tuve mayores inconvenientes.
Al momento de la publicación tuve dos problemas y creo no son solo cuando se trabaja con esta tecnología sino mas bien en general para asp.
1. El primero resulto cuando publique el proyecto en el servidor de producción, en mi maquina todo andaba a la perfección, en el servidor de pruebas también, pero en producción una imagen no aparecía entonces ¿Cual era el problema?, investigue un poco y en mi caso utilizaba una variable de sesión para almacenar cierta imagen y por algún motivo la cookie terminaba la conexión con el servidor, revise la configuración del IIS para determinar si estaba habilitado el cheque de estados de sesión(creo que así se llama, sino variables) y todo muy bien, por ultimo coloque la dirección interna (no la de Internet) y listo todo bien ¿Y entonces?.
Muy sencillo el firewall tenia habilitada una opción de bloqueo de Cookies, problema resuelto únicamente deshabilitando dicha opción.
2. Luego el siguiente problema al que me enfrente fue al momento de la autenticación, esta se realizaba por medio de mode= "forms" , para esto me fije que se utiliza la base de datos aspnetdb.mdf la cual en mi ambiente de pruebas estaba administrada por sql server express 2008 y al trasladarlo al servidor de producción en el cual se cuenta con un SQL server 2005, y simplemente había un error en la pagina que me indicaba precisamente que no había podido establecer conexión con el servidor, luego de una incesante búsqueda lo solucione de la siguiente manera:
a. Primero crear la base de datos aspnet.mdf por medio del visual studio 2005 promt
Inicio-> todos los programas->Microsoft visual studio 2005 ->Visual Studio Tools> Simbolo del sistema de visual studio 2005. (valido para Win XP)
b. Escribir aspnet_regsql y dar enter
c. Esto abrira elASP.Net SQL Server Setup wizard, simplemente hay que dar siguiente
d. En la siguiente pantalla, seleccione la opción Configurar SQL Server para servicios de aplicación. Esta opción ejecuta un script para configurar la base de datos para la gestión de perfiles de usuario, funciones, composición y personalización.
e. En este paso, especifique el nombre de SQL Server y elija el método de autenticación adecuado. Deje el campo de base de datos por defecto y haga clic en Siguiente ..., es importante tomar en cuenta que este Wizard se conectara directamente con el servido y creara la base de datos por lo que se deben dar los usuarios y contraseñas correctas.
f. Se confirman los Settings y se da click en siguiente
g. ahora esta configurada su aspnetdb en la base de datos click en salir o finish
Importante: ahora puede revisar en su base de datos y estará creada la aspnetdb, en mi caso la cree desde mi maquina al servidor net de base de datos y me autentique por sql.
info. adicional:
http://www.ezineasp.net/post/How-to-Create-Aspnetdb.aspx
El siguiente paso es en el archivo web.config, justo despues de la etiqueta configuration, se colocan las etiquetas de connection Strings
Si no tienes contraseña únicamente deja en blanco ese sector, luego de esto mi pequeña aplicación funciono en el servidor de producción de la misma manera que lo hacia en el servidor de pruebas.
Referencias:
http://es.wikipedia.org/wiki/Modelo_Vista_Controlador
http://www.comusoft.com/modelo-vista-controlador-definicion-y-caracteristicas
Comentarios