ASP .NET Adrián Hurtado González Cristóbal Miranda Puente Departamento de Ingeniería Telemática Universidad Carlos III de Madrid Software de Comunicaciones 2007-2008 Contenido • Introducción • Descripción • Desarrollo • Uso • Conclusiones • Referencias Software de Comunicaciones 2007-2008 2 1 Introducción ¿Qué es? • Es una Herramienta de desarrollo web comercializado por Microsoft. • Se utiliza para construir sitios aplicaciones web y servicios XML. web dinámicos, • Forma parte de la plataforma .NET de Microsoft. • Es la tecnología sucesora de la tecnología Active Server Pages (ASP). Software de Comunicaciones 2007-2008 3 Introducción Breve Historia Durante la conferencia para desarrolladores de software profesionales llamada PDC (Proffessional Developers Conference) celebrada por Microsoft en Orlando en Julio de 2000, se presentó la nueva apuesta de futuro de esta compañía para el desarrollo de software: la plataforma .NET. Como parte de ella se incluye una nueva versión de la tecnología en el lado cliente de Microsoft denominada ASP.NET. Ésta ofrece unas muy sustanciales mejoras frente a su predecesora ASP 3.0. Software de Comunicaciones 2007-2008 4 2 Introducción ¿Por qué surge? ¿Qué necesidades “direcciona”? • Se pretenden solucionar los puntos débiles de ASP. • Resuelve las limitaciones de ASP y posibilitar la creación de software como servicio. • Proporciona a los desarrolladores los servicios necesarios para crear aplicaciones web empresariales. • Ya no es necesario tanto código. Cuando se carga la página ASP.NET, se instancian los controles listados en la página ASP y es responsabilidad del control emitir código HTML que el navegador pueda entender. Software de Comunicaciones 2007-2008 5 Descripción Características principales • Compilación: Para mejorar el rendimiento se opta por compilar la primera vez que algún cliente lo pida, y así el resto de peticiones del mismo se atienden más rápido. • Programación multilenguaje: Se puede utilizar cualquier lenguaje admitido por la plataforma .NET (Visual C#, Visual Basic.NET, JScript.NET, COBOL.NET, etc). Software de Comunicaciones 2007-2008 6 3 Descripción • Separación lógica-presentación: Mediante una técnica denominada código trasero, se pueden separar en ficheros independientes la presentación y el código de las páginas. • Programación visual: El desarrollo de las interfaces es análogo a la programación con ventanas estándar. Esto permite que el diseño sea tan fácil como arrastrar los componentes sobre la página y hacer doble clic sobre ellos para acceder al código del evento. Software de Comunicaciones 2007-2008 7 Descripción Ventajas y puntos fuertes • Cuando se carga la página ASP.NET, se instancian los controles listados en la página ASP y es responsabilidad del control emitir código HTML que el navegador pueda entender. • Reemplaza la forma tradicional de intercambiar información entre usuarios. Los métodos tradicionales cliente-servidor involucraban la tecnología Common Gateway Interface (CGI), que requiere una aplicación separada desde un documento web para procesar los datos devueltos al servidor. Esto tiene desventajas tanto en la seguridad como en el procesamiento de recursos. Software de Comunicaciones 2007-2008 8 4 Descripción Desventajas y limitaciones • ASP.NET puede ejecutarse side-by-side en la misma aplicación web. Este enfoque permite a los desarrolladores migrar aplicaciones lentamente en lugar de todos a la vez. • En IIS 6,0 y versiones inferiores, las páginas con diferentes versiones del framework pueden no compartir el estado de sesión sin el uso de bibliotecas de terceros. Software de Comunicaciones 2007-2008 • ASP.NET 2,0 produce marcas que cumplen la validación del W3C, pero pueden no funcionar con una semántica XHTML + CSS. 9 Descripción • En algunos casos ASP.NET en tiempo de ejecución se reciclar el proceso en curso con lo que se puede perder el estado de sesión si la aplicación está configurado para usar sesiones en proceso. Si la aplicación se basa en la estado de sesión para almacenar la información de autenticación y la aplicación está configurada para uso de sesiones en el proceso, el usuario puede desconectarse de la sesión si el proceso se recicla. • Las aplicaciones desarrolladas con ASP.NET pueden ocasionar errores al ejecutarse en sistemas operativos distintos de Windows, como por ejemplo en Linux, lo que frena su utilización, especialmente por parte de aquellos desarrolladores de software libre. Software de Comunicaciones 2007-2008 10 5 Descripción Casos de uso • En la actualidad la utilización de ASP.NET se ha extendido ha la gran mayoría de las aplicaciones que utilizan tecnología web en su desarrollo. • Su capacidad para dinamizar aplicaciones web la ha impulsado de forma notable en los últimos años. • Sin embargo no es el único medio para este tipo de aplicaciones, sino que existen otros lenguajes que también están ampliamente difundidos Software de Comunicaciones 2007-2008 11 Desarrollo Sintaxis Muy similar a la empleada con HTML y JSP. Algunas variaciones son: • Extensión de fichero .aspx • Directiva @ Page opcional: <%@ Page attribute="value" [attribute="value"...] %> Algunos atributos importantes: ¾ ¾ ¾ ¾ ¾ Software de Comunicaciones 2007-2008 ¾ ¾ ClassName ClientTarget CodeBehind ContentType Inherits Language ... 12 12 6 Desarrollo Sintaxis • Bloques de declaración de código: <script runat=server><script> • Utilización de controles de servidor (server controls) <asp:label attributes id="identifier" runat="server" /> • Elemento Form necesario para los controles de servidor <form id="identifier" runat="server"></form> • Bloques de representación ASP <% %> Software de Comunicaciones 2007-2008 13 13 Ejemplos: Visual Basic 1/2 <%@ Page Language="VB" %> <html> <script runat="server"> Sub Button1_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Label1.Text = "Welcome, " & TextBox1.Text End Sub </script> <head runat="server"> <title>Basic ASP.NET Web Page</title> </head> ... Software de Comunicaciones 2007-2008 14 7 Ejemplos: Visual Basic Software de Comunicaciones 2007-2008 2/2 ... <head runat="server"> <title>Basic ASP.NET Web Page</title> </head> <body> <form id="form1" runat="server"> <h1>Welcome to ASP.NET</h1> <p>Type your name and click the button.</p> <p> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:Button ID="Button1" runat="server" Text="Click" OnClick="Button1_Click" /> </p> <p> <asp:Label ID="Label1" runat="server"></asp:Label> </p> </form> </body> </html> 15 Ejemplos: Visual C# 1/2 <%@ Page Language="C#" %> <html> <script runat="server"> void Button1_Click(Object sender, EventArgs e) { Label1.Text = "Welcome, " + TextBox1.Text; } </script> <head runat="server"> <title>Basic ASP.NET Web Page</title> </head> ... Software de Comunicaciones 2007-2008 16 8 Ejemplos: Visual C# Software de Comunicaciones 2007-2008 2/2 ... <head runat="server"> <title>Basic ASP.NET Web Page</title> </head> <body> <form id="form1" runat="server"> <h1>Welcome to ASP.NET</h1> <p>Type your name and click the button.</p> <p> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:Button ID="Button1" runat="server" Text="Click" OnClick="Button1_Click" /> </p> <p> <asp:Label ID="Label1" runat="server"></asp:Label> </p> </form> </body> </html> 17 Ejemplos: The Single-File Page Model (Visual C#) 1/2 <%@ Page Language="C#" %> <script runat="server"> void Button1_Click(Object sender, EventArgs e) { Label1.Text = "Clicked at " + DateTime.Now.ToString(); } </script> <html> <head runat="server" > <title>Single-File Page Model</title> </head> ... Software de Comunicaciones 2007-2008 18 9 Ejemplos: The Single-File Page Model (Visual C#) Software de Comunicaciones 2007-2008 2/2 ... <head runat="server" > <title>Single-File Page Model</title> </head> <body> <form runat="server"> <div> <asp:Label id="Label1" runat="server" Text="Label"> </asp:Label> <br /> <asp:Button id="Button1" runat="server" onclick="Button1_Click" Text="Button"> </asp:Button> </div> </form> </body> </html> 19 Ejemplos: The Code-Behind Page Model (Visual C#) 1/3 <%@ Page Language="C#" CodeFile="SamplePage.aspx.cs" Inherits="SamplePage" AutoEventWireup="true" %> (No se incluye el bloque de declaración de código con el atributo runat=”server”) <html> <head runat="server" > <title>Code-Behind Page Model</title> </head> ... Software de Comunicaciones 2007-2008 20 10 Ejemplos: The Code-Behind Page Model (Visual C#) 2/3 Software de Comunicaciones 2007-2008 ... <head runat="server" > <title>Code-Behind Page Model</title> </head> <body> <form id="form1" runat="server"> <div> <asp:Label id="Label1" runat="server" Text="Label" > </asp:Label> <br /> <asp:Button id="Button1" runat="server" onclick="Button1_Click" Text="Button" > </asp:Button> </div> </form> </body> </html> 21 Ejemplos: The Code-Behind Page Model (Visual C#) 3/3 using System; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class SamplePage : System.Web.UI.Page { protected void Button1_Click(object sender, EventArgs e) { Label1.Text = "Clicked at " + DateTime.Now.ToString(); } } Software de Comunicaciones 2007-2008 22 11 Desarrollo Herramientas de desarrollo Existen numerosos paquetes de software para el desarrollo de aplicaciones en ASP.NET: ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ Software de Comunicaciones 2007-2008 ¾ Microsoft Expression Web (forma parte de Microsoft Expression Studio) Visual Studio .NET (para ASP.NET 1.x) Visual Web Developer 2005 Express Edition (libre distribución) Visual Studio 2005 (para ASP.NET 2.0) Visual Studio 2008 (para ASP.NET 3.5) Macromedia HomeSite 5.5 (para ASP Tags) Microsoft SharePoint Designer 12 Delphi 2006 MonoDevelop (libre distribución) SharpDevelop (libre distribución) 23 Uso “Frameworks”/Sitios/Servidores que lo utilizan En la actualidad una aplicación ASP.NET puede ejecutarse de dos formas distintas: • Aplicaciones cliente/servidor: Estas aplicaciones están típicamente en formato de ejecutables compilados. Integran todas las características de una interfaz de usuario, pero no se reúne la lógica de negocio como un recurso que se pueda reutilizar. Además acostumbran ser menos gestionables y escalables que las demás aplicaciones. • Aplicaciones que utilizan el navegador: Dichas aplicaciones están caracterizadas por contar con una interfaz de web muy completa y útil. La interfaz gráfica integra varias tecnologías, como HTML, XHTML y scripting; siempre y cuando el navegador que se esté utilizando soporte dichas tecnologías. Software de Comunicaciones 2007-2008 24 12 Conclusiones Valoración de la tecnología, de su utilidad y del estado actual con respecto a su uso • ASP.Net permite crear rápidamente aplicaciones web, basándose en los controles incluidos en el frameWork o muchos gratuitos que hay en la red, ocultando buena parte de código. • Está respaldado por Microsoft y toda su nueva tecnología .NET • El hecho de que puedan ocurrir errores de ejecución en sistemas operativos distintos a Windows hace que no sea recomendable si se busca universalidad a menos que se conozca el tipo de clientes que accederán al servidor. Software de Comunicaciones 2007-2008 25 Referencias Referencias utilizadas • • • • • • • Software de Comunicaciones 2007-2008 http://es.wikipedia.org/wiki/ASP.NET http://www.ultrasist.com.mx/tecnologias/asp.htm http://www.entraenlared.com/asp http://www.miliuco.net/aspnet/aspnet_intro.html http://es.gotdotnet.com/quickstart/aspplus http://msdn2.microsoft.com/en-us/library/4w3ex9c2.aspx http://www.es-asp.net/Varios/go.aspx?url=http://www.asp.net 26 13