Aplicaciones Web

  • 1,214 views
Uploaded on

Guía de apoyo para la práctica 3 (aplicaciones web)

Guía de apoyo para la práctica 3 (aplicaciones web)

More in: Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,214
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
21
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Departamento de Electrónica y TelecomunicacionesLaboratorio de Fundamentos de los Ordenadores Ingeniería de Telecomunicaciones Optativa 2º ciclo Guía para la práctica 3: © 2010­2011 Gorka Prieto CGI y ASP.NET Curso 2010 – 2011
  • 2. 1 Introducción Aplicación web • “Aplicación informática accedida via web utilizando un navegador web como cliente ligero” • Independiente del Sistema Operativo del cliente • HTML dinámico Servidor de Internet aplicaciones Navegador web SGBD 2
  • 3. 1 Introducción Páginas dinámicas • Client-Side Scripting o Tecnologías: JavaScript, Applets, Flash, etc. o Navegador web: Firefox, Explorer, Chrome, Opera, Konqueror, etc. • Server-Side Scripting (SSS) o Tecnologías: CGI, JSP, ASP.NET, PHP, etc. o Servidor de aplicaciones: Apache (+mod), XSP, Tomcat, etc. o Generan dinámicamente la página valiéndose de consultas/actualizaciones de una base de datos. 3
  • 4. 2 CGI: Interfaz CGI (Common Gateway Interface) HTTP  (GET/POST) Internet Servidor Web (Apache) HTML/HTTP CGI Aplicación 4
  • 5. 2 CGI: Métodos Servidor web → Aplicación • REQUEST_METHOD o GET  QUERY_STRING o POST  STDIN  CONTENT_LENGTH • Formato: o GET/POST → “variable1=valor1&variable2=valor2” o ej. GET http://www.google.es/search? hl=es&q=google&aq=f&aqi=g10&aql=&oq= 5
  • 6. 2 CGI: Métodos Aplicación → Servidor web • GET/POST o STDOUT • Formato o Cabecera HTTP o Contenido: HTML, TXT, PNG, etc. Content­Type: text/html <html> … </html> 6
  • 7. 2 CGI: Implementación Desde C# • Leer variables de entorno o System.Environment.GetEnvironmentVariable() • E/S Consola o Console.WriteLine() o Console.ReadLine() • Procesar cadenas o string.Split() 7
  • 8. 2 CGI: Implementación HTML <html> <head> <title>...</title> </head> <body> <form action=”/cgi­bin/...” method=”...”> <input type=”text” name=”variable1”/> <input type=”submit” name=”Enviar”/> </form> </body> </html> 8
  • 9. 2 CGI: Apache /etc/apache2/ ... ScriptAlias /cgi­bin/ /usr/lib/cgi­bin/ <Directory "/usr/lib/cgi­bin"> ... Options +ExecCGI </Directory> ... URL http://localhost/cgi-bin/nombre_cgi 9
  • 10. 3 ASP.NET: Introducción ASP.NET (System.Web) • “Marco de programación construido sobre el CLR y que se usa en el servidor para construir aplicaciones web”. Principales componentes • WebForms Mono o Página ASPX + Code behind XSP Apache+ o WebControls mod_mono Crear y reusar controles UI Separar código HTML de código dinámico • WebServices o RPC basado en SOAP o Comunicar aplicaciones remotas a través de HTTP 10
  • 11. 3 ASP.NET: Aplicación Web Definición • “Conjunto de ficheros, páginas, módulos, código ejecutable, etc. que puede ser invocado o ejecutado en el ámbito de un directorio virtual en un servidor de applicaciones web”. Estructura (.NET 2.0) • Default.aspx => Web Form (página web) • Default.aspx.cs => Code behind • bin/ => Caché local de ensambl. • App_Code/ => Código ensamblado • Global.asax => Gestión aplicación, sesión • Web.config => Config. Aplicación (XML) • etc. 11
  • 12. 3 ASP.NET: Páginas ASPX Cabecera <%@ Page Language="C#" ... %> <%@ Page Language="C#" Inherits="LabFO.Appweb" %> <%@ Page Language="C#" CodeFile="Default.aspx.cs" Inherits="LabFO.Appweb" AutoEventWireup="true" %> <%@ Import Namespace="LabFO" %> <%@ Assembly name="dll_sin_extension" %> Código HTML Código dinámico • Página aspx o A nivel local o A nivel de la clase o Web controls • Code behind 12
  • 13. 3 ASP.NET: Páginas ASPX A nivel local A nivel de la clase Web controls Code behind 13
  • 14. 3 ASP.NET: Controles del Servidor Web Atributos • <... id=”nombre” runat=”server” .../> Tipos (System.Web.UI.Control) • HTML server controls o System.Web.UI.HtmlControls o button, image, table, etc. • Web server controls o System.Web.UI.WebControls o Elementos: asp:button, asp:adrotator, asp:datagrid, etc. o Validation controls asp:RequiredFieldValidator, asp:RegularExpressionValidator, etc. • User controls 14
  • 15. 3 ASP.NET: Controles del Servidor Web Mantienen el estado • Al cliente le llega javascript • Los valores intermedios se envían como campos ocultos por POST o <input type=”hidden” ...> Modelo de POO • Objetos, propiedades, métodos, eventos, etc. • Se puede ir interaccionando y modificando dinámicamente la página 15
  • 16. 3 ASP.NET: “Trucos” Objetos persistentes • Application[“NombreVar”]=MiVar; • Session[“NombreVar”]=MiVar; Cookies • new HttpCookie(“nombre”); • Request.Cookies, Response.Cookies Acceso directo a HTTP • Response o Response.Write(“lo que sea <b>en html</b>”) • Request 16
  • 17. Referencias http://www.mono-project.com/ASP.NET http://www.w3schools.com/aspnet/default.asp http://msdn.microsoft.com/en-us/library/fy30at8h.aspx http://www.mono-project.com/Config_system.web 17
  • 18. Licencia Reconocimiento (Attribution): En cualquier explotación de la obra autorizada por la licencia hará falta reconocer la autoría. Compartir Igual (Share alike): La explotación autorizada incluye la creación de obras derivadas siempre que mantengan la misma licencia al ser divulgadas. 18