lunes, 6 de febrero de 2012

ASP.NET INVETIGACION RESUMIDA


ASP.NET
ASP.NET es un framework para aplicaciones web desarrollado y comercializado por Microsoft. Es usado por programadores para construir sitios web dinámicos, aplicaciones web y servicios web XML. Apareció en enero de 2002 con la versión 1.0 del .NET Framework, y es la tecnología sucesora de la tecnología Active Server Pages (ASP). ASP.NET esta construido sobre el Common Language Runtime, permitiendo a los programadores escribir código ASP.NET usando cualquier lenguaje admitido por el .NET Framework.
Cualquier persona que esta familiarizada con el desarrollo de aplicaciones web sabrá que el desarrollo web no es una tarea simple. Ya que mientras que un modelo de programación para aplicaciones de uso común está muy bien establecido y soportado por un gran número de lenguajes, herramientas de desarrollo, la programación web es una mezcla de varios lenguajes de etiquetas, un gran uso de lenguajes de script y plataformas de servidor. Por desgracia para el programador de nivel intermedio, el conocimiento y habilidades que se necesitan para desarrollar aplicaciones web tienen muy poco en común con las que son necesarias en el desarrollo tradicional de aplicaciones.

Historia

Microsoft introdujo la tecnología llamada Active Server Pages en diciembre de 1996. Es parte del Internet Information Server (IIS) desde la versión 3.0 y es una tecnología de páginas activas que permite el uso de diferentes scripts y componentes en conjunto con el tradicional HTML para mostrar páginas generadas dinámicamente. La definición contextual de Microsoft es que "Las Active Server Pages son un ambiente de aplicación abierto y gratuito en el que se puede combinar código HTML, scripts y componentes ActiveX del servidor para crear soluciones dinámicas y poderosas para el web".
Después del lanzamiento del Internet Information Services 4.0 en 1997, Microsoft comenzó a investigar las posibilidades para un nuevo modelo de aplicaciones web que pudiera resolver las quejas comunes sobre ASP, especialmente aquellas con respecto a la separación de la presentación y el contenido y ser capaz de escribir código "limpio".[1] A Mark Anders, un administrador del equipo de IIS y Scott Guthrie, quien se había unido a Microsoft en 1997 después de graduarse de la Universidad Duke, se les dio la tarea de determinar como debería ser ese modelo. El diseño inicial fue desarrollado en el curso de dos meses por Anders y Guthrie, y Guthrie codificó los prototipos iníciales durante las celebraciones navideñas de 1997.[2]
El desarrollo inicial de XSP fue hecho usando Java,[3] pero pronto se decidió construir una nueva plataforma sobre el Common Language Runtime(CLR), pues ofrecía un ambiente orientado a objetos, recolección de basura y otras características que fueron vistas como características deseables.

Características
Las páginas de ASP.NET, conocidas oficialmente como "web forms" (formularios web), son el principal medio de construcción para el desarrollo de aplicaciones web.[8] Los formularios web están contenidos en archivos con una extensión ASPX; en jerga de programación, estos archivos típicamente contienen etiquetas HTML o XHTML estático, y también etiquetas definiendo Controles Web que se procesan del lado del servidor y Controles de Usuario donde los desarrolladores colocan todo el código estático y dinámico requerido por la página web. Adicionalmente, el código dinámico que se ejecuta en el servidor puede ser colocado en una página dentro de un bloque <% -- código dinámico -- %> que es muy similar a otras tecnologías de desarrollo como PHP, JSP y ASP, pero esta práctica es, generalmente, desaconsejada excepto para propósitos de enlace de datos pues requiere más llamadas cuando se genera la página.

ASP.NET sólo funciona sobre el servidor de Microsoft
IIS, lo que supone una desventaja respecto a otros lenguajes del lado de servidor, ejecutables sobre otros servidores más populares como Apache. Ejemplos de esto son PHP, Perl o Python.

Formulario web de ejemplo

Este es un ejemplo que utiliza código "en línea", opuesto al código independiente (code-behind).
<%@ Page Language="C#" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
<script runat="server">
 
    protected void Page_Load(object sender, EventArgs e)
    {
        Label1.Text = DateTime.Now.ToLongDateString();
    }
 
</script>
 
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Página de Ejemplo</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Label runat="server" id="Label1" />
    </div>
    </form>
 
</body>
</html>

ASP.NET proporciona tres modos de persistencia para variables de sesión:

InProc
Las variables de sesión son mantenidas dentro del proceso. Sin embargo, en este modo, las variables son destruidas cuando el proceso ASP.NET es reciclado o terminado.
StateServer
En este modo, ASP.NET ejecuta un servicio de Windows separado que mantiene las variables de estado. Como esta administración de estado ocurre fuera del proceso ASP.NET, tiene un impacto negativo en el rendimiento, pero permite a múltiples instancias de ASP.NET compartir el mismo estado del servidor, permitiendo que una aplicación ASP.NET pueda tener su carga balanceada y escalada en múltiples servidores. También, como el servicio de administración del estado se ejecuta independiente de ASP.NET, las variables pueden persistir a través de las finalizaciones del proceso ASP.NET.
SqlServer
En este modo, las variables de estado son almacenadas en un servidor de base de datos, accesible usando SQL. Las variables de sesión pueden persistir a través de finalizaciones de procesos también en este modo.

 

 Estructura de directorios


En general, la estructura de directorios de ASP.NET puede ser determinada por las preferencias del desarrollador. Aparte de unos pocos nombres de directorios reservados, el sitio puede expandirse a cualquier número de directorios. La estructura es típicamente reflejada directamente en las urls.
Los nombres de directorios especiales (a partir de ASP.NET 2.0 son):[16]
App_Browsers
Contiene archivos de definición específicos para navegadores.
App_Code
Es un directorio para códigos. El servidor ASP.NET automáticamente compilará los archivos (y subdirectorios) en esta carpeta en un ensamblado que es accesible desde cualquier página del sitio. App_Code es típicamente usada para código de acceso a datos, código de modelo o código de negocios. También cualquier manejador http especifico para el sitio e implementación de módulos y servicios web van este directorio. Como alternativa a utilizar App_Code el desarrollador puede optar por proporcionar un ensamblado independiente con código precompilado.
App_Data
Directorio por defecto para las base de datos, tales como archivos mdb de Microsoft Access y archivos mdf de Microsoft SQL Server. Este directorio es usualmente el único con permisos de escritura en la aplicación.
App_LocalResources
Contiene archivos de recursos localizados para páginas individuales del sitio.
App_GlobalResources
Contiene archivos resx con recursos localizados disponibles para cada página del sitio. Este es donde el desarrollador ASP.NET típicamente almacenara mensajes que serán usados en más de una página.
App_Themes
usado para temas alternativos del sitio.
App_WebReferences
Usado para archivos de descubrimiento y archivos WSDL para referencias a servicios web para ser consumidos en el sitio.
Bin
Contiene código compilado (archivos .dll) para controles, componentes, y otro código que pueda ser referenciado por la aplicación. Cualquier clase representada por código en la carpeta Bin es automáticamente referenciada en la aplicación.

 Pasos para crear un sitio web ASP.Net con el Visual Studio 2008



Conceptos.


Para crear un proyecto web debemos seleccionar desde el entorno del Visual Studio 2008: Archivo ->Nuevo sitio web. Inmediatamente aparece un diálogo donde podemos configurar que versión de Framework será compatible nuestra aplicación, la ubicación dentro del disco donde se almacenará, el lenguaje de programación a utilizar:
En este ejemplo localizamos en la unidad D y desde el explorador de archivos creamos dos carpetas una llamada “TP4” y dentro de la misma la carpeta clase1 (en esta última carpeta es donde se almacenará nuestra aplicación web)
Hemos dejado seleccionado por defecto el framework a utilizar (.NET framework 2.0)
También dejamos seleccionado la plantilla a utilizar "Sitio Web ASP.NET)"
Ya tenemos el esqueleto básico para iniciar nuestro sitio web empleando la tecnología de Microsoft.
En la parte izquierda tenemos el “Cuadro de herramientas”, en esta aparecen las componentes visuales (Label, TextBox, Button etc.) que tenemos disponibles para crear nuestro formulario Web.
En el centro aparece la página en vista de código (se puede ver en “vista de diseño”, “Divisor” y “Código”)
En la parte derecha disponemos del “Explorador de soluciones” donde podemos identificar el directorio donde se almacena nuestra aplicación web y los archivos contenidos en dicho directorio.
Siempre que creamos una aplicación web nos crea un formulario web inicial y lo almacena en el archivo Default.aspx (la extensión aspx indica que se trata de una página dinámica ASP.Net, así como la extensión php indica que su contenido está programado en PHP)
Además del archivo Default.aspx se crea otro archivo llamada Default.aspx.vb (éste archivo contiene la codificación en Visual Basic de los eventos que definamos a los controles del formulario)
Otro archivo que veremos más adelante y que se crea en forma automático es el web.config.
Por último se crea una carpeta llamada App_Data.
Para nuestro primer ejemplo implementaremos el “Hola Mundo” para ello en el recuadro central seleccionamos la pestaña “Diseño” y desde el cuadro de herramientas arrastramos un control de tipo Label. Seguidamente desde el cuadro de propiedades ubicado en la pare inferior derecha de la pantalla inicializamos la propiedad text con el mensaje que queremos que muestre nuestra “Label”, en nuestro caso “Hola Mundo”. Una vez modificada la propiedad Text con el mensaje que queremos mostrar y presionada la tecla Enter podemos ver como se actualiza la ventana de Diseño en la parte centrar de nuestra pantalla:
Para probar nuestra pequeña aplicación desarrollada debemos presionar el triángulo verde que se encuentra en la barra de botones, o desde el menú de opciones: Depurar->Iniciar depuración, o presionar la tecla “F5”.
Inmediatamente nos aparece un diálogo que nos invita a modificar el archivo Web.config para que la página se pueda ejecutar en modo depuración (esto nos permite disponer puntos de interrupción o ejecutar paso a paso una aplicación) Seleccionamos el botón “Aceptar” para activar el modo depuración.
Podemos ver que inmediatamente aparece el navegador configurado por defecto con el resultado de la ejecución de la página:
El Visual Studio 2008 instala un servidor web propio que está escuchando en un puerto desocupado. Luego de cerrar la ventana del navegador debemos detener la depuración de nuestra aplicación para poder modificarla, para esto podemos seleccionar desde el menú Depurar -> Detener Depuración o presionar desde la barra de botones el cuadradito azul (luego de esto aparece el “Cuadro de herramientas”)

 





Ajax con ASP.NET

La característica fundamental de AJAX es permitir actualizar parte de una página con información que se encuentra en el servidor sin tener que refrescar completamente la página. De modo similar podemos enviar información al servidor.
Veremos como ASP.Net nos esconde la complejidad de Ajax y nos permite una fácil transición entre aplicaciones web tradicionales y el nuevo modelo.

ASP.NET AJAX

Hay una variedad de formas de aplicar el Ajax en cualquier aplicación Web, incluyendo ASP.NET. Para ponerlo en práctica Ajax sin utilizar librerías, es necesario que se tenga una comprensión profunda de JavaScript, porque es el lenguaje JavaScript el que se ejecuta en el navegador, que solicita la nueva información del servidor web cuando sea necesario y la actualización de la página en consecuencia.
Si bien JavaScript no es terriblemente complejo, es muy difícil de programar correctamente, por dos razones:
- La aplicación de los principales detalles de JavaScript varía de navegador a navegador, que significa que necesita una enorme cantidad de experiencia para escribir una buena página web que se ejecuta igual de bien en todos los navegadores.
- JavaScript es un lenguaje muy laxo que tolera muchos pequeños errores. La captura de estos errores y la eliminación de ellos es un proceso tedioso. Aún peor, el error puede ser fatal en algunos navegadores y dañina en otros, lo que complica la depuración.
En este capítulo, usted NO va a usar JavaScript directamente. Por el contrario, utilizará un modelo de nivel superior llamado ASP.NET AJAX.
ASP.NET AJAX le da un conjunto de componentes del lado del servidor y los controles ASP.NET tradicionales que puede utilizar en el diseño de su página web. Estos componentes hacen automáticamente todo el código JavaScript que necesita para obtener el efecto deseado. El resultado es que puede crear una página con Ajax. Por supuesto, usted no obtendrá el máximo control para personalizar hasta el último detalle de su página, pero usted recibirá una gran funcionalidad con un mínimo de esfuerzo.

Extensiones Ajax

El Visual Studio .Net 2008 agrega una pestaña que agrupa los controles referidos a Ajax:
Para poder utilizar ASP.NET AJAX es necesario un control de tipo ScriptManager. Este control es el cerebro de ASP.NET AJAX, Cuando disponemos un control de tipo ScriptManager en el formulario aparece un cuadro gris, pero cuando ejecutemos dicha página no aparecerá, es decir el control ScriptManager no genera etiquetas HTML.
El control ScriptManager genera todo el código JavaScript necesario para las llamadas asíncronas desde el navegador al servidor web.
Cada página que utiliza ASP.NET AJAX requiere solo una instancia de la clase ScriptManager, indistintamente la cantidad de regiones que vallamos a actualizar posteriormente.

Pero, ¿cuál es la diferencia de ASP.net con el ASP común que conocemos?

Mucha, realmente es mucha. Mientras ASP se escribía en VBScript, ASP.net puede ser escrito en cualquier lenguaje soportado por el .net Framework, es decir: VB.net; C# y JScript.net. Si, como has leído, ya no puedes utilizar VBScript sino que debes utilizar VB.net que es lo que más se aproxima. Otro cambio radical es que ASP.net es un lenguaje totalmente orientado a objetos.

¿Qué mejoras trae ASP.net? ¿Es realmente mejor que ASP?

Sin duda, es mucho mejor que el ASP tradicional, ASP.net trae diversas mejoras entre las cuales se destacan:
  • Rendimiento: la aplicación de compila en una sola vez al lenguaje nativo, y luego, en cada petición tiene una compilación Just In Time, es decir se compila desde el código nativo, lo que permite mucho mejor rendimiento. También permite el almacenamiento del caché en el servidor
  • Rapidez en programación: mediante diversos controles, podemos con unas pocas líneas y en menos de 5 minutos mostrar toda una base de datos y hacer rutinas complejas.
  • Servicios Web: trae herramientas para compartir datos e información entre distintos sitios.
  • Seguridad: tiene diversas herramientas que garantizan la seguridad de nuestras aplicaciones.

¿Qué diferencias de sintaxis hay con respecto de ASP 3.0?

Partiendo de la base de que el lenguaje es otro, muchas, al ser programación orientada a objetos y al ser lenguaje de Visual Basic .net todo es muy diferente. Hay que cambiar el pensamiento y todos los viejos conceptos que teníamos de ASP 3.0.
ASP.net es más bien parecido a Visual Basic, en la página, todos los elementos son objetos, activos de servidor (que se generan ahí) y tienen propiedades y métodos.
Vale aclarar que en ASP.net existen los formularios activos del servidor ¿qué es esto?, son como los formularios tradicionales de HTML, pero se le agrega en el TAG FORM el atributo runat=server, y dentro del formulario se agregan los controles activos de servidor. Cuando ocurre un evento, la página se auto envía a si misma y se procesa el controlador para ese evento. Por ejemplo:
<%@ Page language="VB"%>
<%@ Import Namespace="System.data.oledb" %>
 
<script runat="server">
Sub Nombre_change(sender as object, e as EventArgs)
Mensaje.text = "Buenos días " + Nombre.text
End sub
</script>
 
<html><body>
<font face="verdana" size=2>Esta es la página de Pablo!</font><br><br>
<form runat="server">
Tu nombre: <asp:TextBox id="Nombre" OnTextChanged="Nombre_change" 
            runat="server" autopostback="true"/>
<asp:label id="Mensaje" runat="server" />
</form>
</body></html>



No hay comentarios:

Publicar un comentario