ASP.NET - Departamento de Ingeniería Telemática

Anuncio
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
Descargar