Transcript Capitulo 1

Introducción al
Desarrollo de
Aplicaciones Web
Miguel Ángel Niño Zambrano
Temas
• Conceptos Básicos de la Web
• Historia del Desarrollo de Aplicaciones Web
– Historia de Internet y la Web.
– Historia del diseño Web.
– Historia de la programación Web.
• El Internet
– Protocolo TCP / IP.
– Aplicaciones: DNS, FTP, SMTP, etc.
• World Wide Web (HTTP, URLs, Unicode, HTML).
• Servidores Web
– Arquitectura Cliente / Servidor.
– Páginas estáticas/dinámicas
• Servidor de Aplicaciones
– Servicios
Conceptos Básicos de la Web
• Web*: El sistema de documentos
interconectados por enlaces de hipertexto, que
se ejecutan en Internet.
• Internet*:
Internet
es
un
conjunto
descentralizado de redes de comunicación
interconectadas, que utilizan la familia de
protocolos TCP/IP, garantizando que las redes
físicas heterogéneas que la componen
funcionen como una red lógica única, de
alcance mundial.
*http://es.wikipedia.org/wiki/Web
Historia de la Web
Militar
1960: ARPANET
1972: 37 PC & Mail
1973: 1ª Conexión Internacional
Leonard Kleinrock y el
primer IMP. fuente:
http://www.lk.cs.ucla.edu/
personal_history.html
1983: TCP / IP
1986: NSFNET
Académica
1989: 10.000 PC. & WWW
WWW
1990: 1er Servidor & Cliente Web .
1994: W3C & CERN.
Tim Berners-Lee. Fuente: http://www.zator.com/Internet/A5_1.htm
Historia de la Web
Comercial
1996: 1ª Recomendación (PNG) 1.0 & CSS Nivel 1
1997: El HTML 4.0
1998: XML 1.0
Crisis .COM
2000: (SVG) 1.0
2001: El Esquema XML
2002: Servicios Web
2003: Patente Libre DA
Fuente: http://es.wikipedia.org/wiki/CERN
Consejo Europeo para la Investigación Nuclear –
CERN – W3C
2004: El RDF y el OWL
2005: Modelo Único Caracteres
C. Ubicua & Web Sem.
2005: Web Móvil
Historia Del Desarrollo de Diseño
de Aplicaciones Web
•
•
David Siegel, Libro: “Creating Killer Web
Sites: The Art of Third-Generacion Site
Desing”, establece tres generaciones de
Sitios Web. (1996).
Se puede añadir otras dos generaciones.
1ª Generación de
Sitios Web
– Ancho de banda de
Modem 2,4 Kbps.
– Tiempo carga rápido
(texto).
– Navegación poco
estructurada.
– Texto escrito del
ancho del monitor,
saltos de línea, líneas
horizontales, listas,
etc.
– Aparece al Final las
páginas con Common
Gateway Interface –
CGI.
1992 - 1994
2ª Generación de
Sitios Web
1994 - 1995
– Iconos que sustituyen
las palabras y fondos.
– Banners para
encabezados y pies.
– Listas con gráficos
animados.
– Tiempo de carga lento.
– Uso de Tablas.
– Navegación
Jerárquica.
– Aparecen multimedia
que solicitan la
instalación de un plugin para su ejecución.
– CGI acceso a datos.
3ª Generación de
Sitios Web
1996 - 1998
– Tiempo de Carga rápido.
– Uso de Cascading Style
Sheets – CSS.
– Se limitan a visualización en
una sola página.
– Diseño enfocado al usuario.
– Pocos enlaces y desde una
página principal.
– Principios tipográficos y
empleo de metáforas.
– Principios de usabilidad y
amigabilidad.
– Identidad corporativa con
uso adecuado de colores.
– Consolidación de generación
de páginas Web dinámicas.
– CGI extendido, aparece IDC
y luego ASP,
ColdFusion,PHP, JSP.
4ª Generación de
Sitios Web
1999 - 2005
– Empleo de recursos gráficos
en exceso.
– Páginas con mucha
información al tiempo.
– Aparece el DHTML haciendo
las páginas más dinámicas.
– Tecnologías multimedia
como Macromedia Flash.
– Principios de diseño de
CDROM interactivos se
aplican en la Web.
– Empleo de equipo
interdisciplinar (informático,
experto en contenidos,
diseñador gráfico, etc.)
– Streaming de video y audio.
– Gran parte de páginas
acceden a BD.
5ª Generación de Sitios Web
– Páginas de Televisión, o TV IP.
2005 - 2008
Historia de la Programación Web
Páginas Estáticas
SGML (Standard Generalized Markup Language)
llamado HTML (HyperText Markup Language)
HTML 4.0.1 & XHTML 2.0
NAV
Programación del Cliente
DHTML : Scripts
RUN
Programación del Servidor
CGI (Common Gateway Interface)
DLL
Páginas Dinámicas
ISAPI (Information Server
Application Program Interface)
JSP, ColdFusion, PHP o JTHML, J2EE, JSF, ASP, ASPNET.
Internet
Protocolo TCP / IP
• ¿Qué?: Se encarga de llevar a cabo la
conmutación de paquetes
– Transmission Control Protocol (TCP)
– Internet Protocol (IP)
• Protocolo: Es un conjunto de reglas para
formatear, ordenar y comprimir mensajes,
comprobar errores, etc.
• Pueden implementarse en hardware o
software
Capas del TCP / IP
Capa de Aplicación HTTP, Telnet, FTP, SMTP,
IRC, DNS
Capa de Transporte TCP
Capa de Internet
IP
Capa de Red
Ethernet, Token Ring,
Frame Relay, ATM
Encaminamiento de Paquetes
TCP / IP
Direcciones IP: Estáticas & Dinámicas.
Ej: 200.10.25.100
Versión Nueva: IPv6.
DNS: Asocia un nombre a una IP
Ej: http://atenea.unicauca.edu.co
Se asocia a: 10.200.1.129
World Wide Web
• Permite
conectar y
compartir
información a
cualquier PC
conectado a
Internet.
• Arquitectura
Cliente /
Servidor.
Elementos Web
• HTTP: (HyperText Transform Protocol) es el protocolo usado para
transferir páginas Web. Protocolo sin estado.
• Tipos de peticiones
– GET, HEAD, POST, PUT, DELETE, …
• Define códigos de respuestas
–
–
–
–
–
200 – OK
400 – Bad Request
401 – Unauthorized
403 – Forbidden
404 – Not Found
• Unicode: Consorcio de empresas que define restricciones sobre la
implementación de ISO-10646
– ASCII: 7 bits Þ (0 – 127) (A)merican (S)tandard (C)ode for (I)nformation
(I)nterchange.
– ISO-8859-1 (iso-latin-1), ISO-8859-15 (iso-latin-9), ISO-10646 (31 bits),
UTF-8, UTF-16, UTF-32.
• URI: Uniform Resource Identifier
– URL: Uniform Resource Locator
– URN: Uniform Resource Name
Elementos Web
• Protocolo: Un protocolo define el modo
en que se comunican dos ordenadores
para llevar a cabo alguna tarea Protocolo
del Web.
– FILE, FTP, HTTP, /, etc.
• Puerto: Canales que se habilitan en la
tarjeta de red para escuchar y enviar
información. HTTP tiene defecto: 80.
Servidores Web
• Un programa que atiende las peticiones HTTP
llegadas a un puerto determinado de la máquina.
También se denomina así, por extensión, a la
máquina que cuenta con uno de tales programas.
• Ejemplos de servidores Web:
– Apache HTTP Server Project
– Internet Information Server (IIS)
– TomCat Server.
• Tipos de páginas Web:
– Estáticas (htm, html).
– Dinámicas. (CGIs, ASP, JSP, Servlets, etc.)
• En el siguiente capitulo se tratarán las plataformas de
desarrollo de aplicaciones Web
Servidor de Aplicaciones
¿Qué es?
• Es un programa que provee la infraestructura
necesaria para las aplicaciones Web empresariales
¿Qué quiere decir esto?
• Que los programadores van a poder dedicarse casi en
exclusiva a implementar la lógica del dominio, ya que
servicios de uso común, como transacciones, seguridad,
persistencia, etc. ya son proporcionados por el servidor
Web
• Se ha convertido en una pieza de software clave para
cualquier empresa dedicada al comercio electrónico
• Es una capa intermedia (middleware) que se sitúa entre
el servidor Web y las aplicaciones y bases de datos
subyacentes
Esquema de Interacción con el
Servidor de Aplicaciones
• Clientes
Pesados vs.
Servidores.
• Centralizan el
acceso a los
recursos del
negocio.
• Proveedores de
Servicios.
Servicios Proporcionados por los
Servidores de Aplicaciones
• Gestión de la Sesión: El servidor debe mantener la
información del usuario entre llamados http.
• Gestión automática de la carga: El servidor se
encarga de llamar a otros servidores si es necesario.
• Gestión y Acceso a datos: Permite conexiones con
diversas BD con la lógica de componentes. Permite
acceso a otros tipos de datos como ERP, XML,etc.
• Permiten la integración de sistemas heredados.
• Manejo del Polling de Conexiones.
• Gestión Transaccional: Indispensable para las
aplicaciones comerciales.
• Aprovechamiento de Plataformas Tecnológicas de
punta: J2EE y .NET.
Bibliografía
• http://html.rincondelvago.com/arpanet.html.
• http://es.wikipedia.org/wiki/Historia_de_Internet.
• http://www.w3c.es/consorcio/historia, consultado
25/08/2008.
• Sergio Lujan Mora. Programación de Aplicaciones Web:
historia, principios básicos y clientes Web. Octubre de
2002.
• CiberAula.
http://www.ciberaula.com/curso/aspnet/que_es/.
• Carlos Alberto Cobos. Curso de Desarrollo de Cliente
Inteligente.
http://www.spar.unicauca.edu.co/ccobos/asignaturas/dac
i.
• Curso de Java Script.
http://www.webestilo.com/javascript/js07.phtml.