Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Aplicaciones Web

1,484 views

Published on

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

Published in: Education
  • Be the first to comment

  • Be the first to like this

Aplicaciones Web

  1. 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. 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. 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. 4. 2 CGI: Interfaz CGI (Common Gateway Interface) HTTP  (GET/POST) Internet Servidor Web (Apache) HTML/HTTP CGI Aplicación 4
  5. 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. 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. 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. 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. 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. 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. 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. 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. 13. 3 ASP.NET: Páginas ASPX A nivel local A nivel de la clase Web controls Code behind 13
  14. 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. 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. 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. 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. 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

×