Documente Academic
Documente Profesional
Documente Cultură
Aprendizaje esperado 1.2: Reconoce los distintos tipos y arquitecturas de aplicaciones Web y sus caractersticas asociadas.
Paola A. Cifuentes Berros Ingeniero en Computacin e Informtica paola.cifuentes02@inacapmail.cl Docente Universidad Tecnolgica de Chile INACAP ARICA
Criterios de evaluacin:
Reconoce conceptos propios de la arquitectura cliente servidor y las caractersticas de su funcionamiento. Reconoce los distintos tipos de aplicaciones Web dando ejemplos de cada uno de ellos. Reconoce los distintos tipos arquitecturas de aplicaciones Web ejemplificando las caractersticas de su funcionalidad.
Contenidos
1. La arquitectura cliente Servidor de HTTP Cliente-Servidor, protocolo de comunicacin, URL, estructura de un sitio WEB 2. Aplicaciones Web Qu es la plataforma J2EE Qu es y para qu sirven los programas CGI Qu es y para qu sirven los Java Servlet Qu es y para qu sirven las Java Server Page (jsp) 3. Arquitecturas en aplicaciones Web Arquitectura de 3 Capas Arquitectura MVC (Modelo, Vista, Controlador)
Normalizacin
En los primeros aos las grandes compaas: IBM y Digital, crearon su propio estndar de cmo las computadoras deban conectarse. Estos primeros estndares, sin embargo, no eran enteramente compatibles. En aos posteriores, la Organizacin Internacional de Estandarizacin (ISO) y el Instituto de Ingenieros Elctricos y Electrnicos (IEEE), desarrollaron modelos globalmente reconocidos y aceptados para el diseo de cualquier red de computadoras.
El modelo OSI
Son normas que deben seguir distintos sistemas para poder comunicarse entre s. Un Sistema Abierto es cualquiera que cumple con las normas OSI.
Sem Semntica de datos Representaci Representacin datos Di Dilogo ordenado Extremo a extremo Encaminamiento Punto a Punto El Elctrico/Mec ctrico/Mecnico
El propsito de cada capa es proveer los servicios para la capa superior. Las capas son abstradas de tal manera que cada capa cree que se est comunicando con la capa asociada en la otra computadora, cuando realmente cada capa se comunica slo con las capas adyacentes de las misma computadora.
La interaccin entre capas adyacentes se llama interface. La interface define que servicios la capa inferior ofrece a su capa superior y como estos servicios son accesados. Las reglas que se usan para la comunicacin entre las capas se llama protocolo.
TCP/IP puede ser configurado utilizando herramientas provistas por los sistemas operativos. El Protocolo de control de transporte/Protocolo Internet (TCP/IP, Transport Control Protocol/Internet Protocol) es el protocolo de red ms utilizado y la base de Internet. Una red TCP/IP, tiene que proporcionar direcciones IP a los clientes. Puede que los clientes tambin necesiten un servicio de nombres o un mtodo de resolucin de nombres. TCP/IP incluye las herramientas FTP y Telnet.
RFC
Las solicitudes de comentarios (RFC, Requests for Comments) son un conjunto de informes tcnicos avanzados, propuestas de protocolos y estndares de protocolos que utiliza la comunidad de Internet. Los estndares de enrutamiento estn definidos en los documentos RFC publicados por el grupo de trabajo de ingeniera de internet (IETF, Internet Engineering Task Force) y otros grupos de trabajo.
Caractersticas de TCP/IP
Independencia del fabricante Soporta mltiples tecnologas Puede funcionar en mquinas de cualquier tamao Estndar de EEUU desde 1983
IP
Protocolo de enrutamiento del conjunto de protocolos TCP/IP responsable de la asignacin de direcciones IP, el enrutamiento y la fragmentacin y ensamblaje de paquetes IP.
Enrutamiento: proceso que consiste en reenviar un paquete a travs de redes interconectadas desde un host de origen a un host de destino. El protocolo IP es el elemento que permite integrar distintas redes entre si. El protocolo IP enlaza las diferentes piezas (distintas redes: FDDI, RDSI, X.25, lneas dedicadas, Token Ring, Ethernet, lneas telefnicas,...) de la Internet.
HTTP
Hypertext Transfer Protocol o HTTP (en espaol protocolo de transferencia de hipertexto) es el protocolo usado en cada transaccin de la World Wide Web. HTTP brinda soporte a HTML. Los documentos HTML incluyen enlaces a otros documentos en la red, formularios para traspasar datos del usuario al web server, etc. HTTP puede servir cualquier tipo de documento.
1.4 URL
URL son las siglas de Localizador de Recurso Uniforme (en ingls Uniform Resource Locator), la direccin global de documentos y de otros recursos en la World Wide Web. La primera parte de la direccin indica qu protocolo utilizar, la segunda parte especifica la direccin IP o nombre de dominio donde se localiza el recurso.
Ejemplos:
Las siguientes URLs apuntan a dos archivos diferentes en el dominio tengodeudas.com Especifica un fichero ejecutable que se debe encontrar usando el protocolo FTP: ftp://www.tengodeudas.com/ejemplo.exe Especifica una pgina web que se debe abrir usando el protocolo HTTP: http://www.tengodeudas.com/consejos/debopagar-deudas-con-ahorros
2. Aplicaciones de WEB
Tecnologas de aplicaciones WEB: HTML sobre HTTP Common Gateway Interface (CGI) Servlets JavaServer Pages (JSP) technology JSP Standard Tag Library (JSTL) XML Struts JavaServer Faces
Java EE es tambin considerada informalmente como un estndar debido a que los suministradores deben cumplir ciertos requisitos de conformidad para declarar que sus productos son conformes a Java EE; estandarizado por The Java Community Process /JCP. Java EE es la industria estndar para el desarrollo de aplicaciones Java portables, robustas, escalables y seguras por el lado del servidor. Java EE est construida sobre Java Platform, Standard Edition (Java SE).
Java EE 5 SDK
Java EE es un conjunto tecnologas que incluyen: Java Servlet 2.5 (Java Specification Requests [JSR] 154) JavaServer Pages 2.1 (JSR 245) JavaServer Pages Standard Tag Library (JSR 52) JavaServer Faces 1.2 (JSR 252)
programas CGI?
Interfaz de entrada comn (en ingls Common Gateway Interface, abreviado CGI) es una importante tecnologa de la World Wide Web que permite a un cliente (navegador web) solicitar datos de un programa ejecutado en un servidor web. CGI especifica un estndar para transferir datos entre el cliente y el programa. Es un mecanismo de comunicacin entre el servidor web y una aplicacin externa cuyo resultado final de la ejecucin son objetos MIME. Las aplicaciones que se ejecutan en el servidor reciben el nombre de CGIs.
Las aplicaciones CGI fueron una de las primeras maneras prcticas de crear contenido dinmico para las pginas web. En una aplicacin CGI, el servidor web pasa las solicitudes del cliente a un programa externo. Este programa puede estar escrito en cualquier lenguaje que soporte el servidor, aunque por razones de portabilidad se suelen usar lenguajes script. La salida de dicho programa es enviada al cliente en lugar del archivo esttico tradicional. CGI ha hecho posible la implementacin de funciones nuevas y variadas en las pginas web, de tal manera que esta interfaz rpidamente se volvi un estndar, siendo implementada en todo tipo de servidores web.
Servlet?
Un servlet es un componente de la tecnologa de Java que se ejecuta en el servidor. Los servlets realizan tareas similares a las realizadas por programas CGI, pero los servlets ejecutan en un ambiente diferente. Los servlets realizan el siguiente proceso: Procesan la peticin HTTP Generan la respuesta HTTP dinmicamente
Un web container es una implementacin de la JVM Java responsable de mantener el ciclo vital de los servlets, as como los hilos de cada requerimiento. La palabra servlet deriva de otra anterior, applet, que se refera a pequeos programas que se ejecutan en el contexto de un navegador web. Por contraposicin, un servlet es un programa que se ejecuta en un servidor. El uso ms comn de los servlets es generar pginas web de forma dinmica a partir de los parmetros de la peticin que enve el navegador web.
JSP puede considerarse como una manera alternativa, y simplificada, de construir servlets. Es por ello que una pgina JSP puede hacer todo lo que un servlet puede hacer, y viceversa. El funcionamiento general de la tecnologa JSP es que el Servidor de Aplicaciones interpreta el cdigo contenido en la pgina JSP para construir el cdigo Java del servlet a generar. Este servlet ser el que genere el documento (tpicamente HTML) que se presentar en la pantalla del navegador del usuario.
En una aplicacin web con tecnologa Java, las pginas JSP son de uso frecuente conjuntamente con servlets y objetos de negocio en un patrn Model-View-Controller.
Frameworks
Los Frameworks son implementaciones parciales sobre las cuales es posible construir nuevos componentes. Frameworks model 2 disponibles: Struts del grupo Jakarta JavaServer Faces de Sun Velocity de Apache
Java EE containers
El diseo modular facilita las modificaciones de la lgica de negocios (business logic). Los componentes Enterprise pueden utilizar contenedores (container) que proveen servicios tales como presentacin, seguridad, persistencia y administracin del ciclo de vida.
Arquitectura Java EE
Anlisis de casos 1
1. En una arquitectura "Model 2" los servlet actan como controller? a) Verdadero b) Falso 2. Un contenedor web es: a) Un servidor web que soporta JSP y Servlet b) Un servidor web c) Un servidor de aplicaciones
3. Un jsp es un archivo de texto? a) Verdadero b) Falso 4. Un servlet es: a) Un programa en Java b) Un html mejorado c) Un archivo de texto 5. En una arquitectura "Model 2" los "JSP" actan como: a) View b) Model c) Controller
Anlisis de casos 2
Desarrollar Gua 8 HTML y Tecnologas
Anlisis de casos 3
Lectura complementaria 1 Desarrollar Gua 9 Tecnologas WEB
10
Referencias y recursos
Wikipedia (cgi, servlets, jsp, jee), en http://es.wikipedia.org/wiki/, acceso el 30/03/2010. Web Component Development With Servlet and JSP Technologies, curso SL-314-EE5 Revision C.1, manual de la asignatura.
Anexo
NetBEUI (NetBIOS Extended User Interface, en espaol Interfaz extendida de usuario de NetBIOS), es un protocolo de nivel de red sin encaminamiento y bastante sencillo utilizado como una de las capas en las primeras redes de Microsoft. NetBIOS sobre NetBEUI es utilizado por muchos sistemas operativos desarrollados en los 90, como LAN Manager, LAN Server, Windows 3.x, Windows 95 y Windows NT. REF.: http://es.wikipedia.org/wiki/NetBEUI, acceso 20/03/2011.
Anexo
IPX/SPX (del ingls Internetwork Packet Exchange/Sequenced Packet Exchange), Protocolo Novell o simplemente IPX es una familia de protocolos de red desarrollados por Novell y utilizados por su sistema operativo de red NetWare. REF.: http://es.wikipedia.org/wiki/IPX/SPX, acceso 20/03/2011.
Anexo
El NCSA HTTPd era un Servidor web desarrollado originalmente en el National Center for Supercomputing Applications por Robert McColl y una lista de colaboradores. El desarrollo del NCSA HTTPd se suspendi en 1998, pero el cdigo sobrevivi durante un tiempo en manos del Proyecto Apache, el cual es utilizado actualmente por dos terceras partes de los servidores web de internet. Prcticamente todo el cdigo de NCSA se ha ido reescribiendo progresivamente en versiones de Apache. REF.: http://es.wikipedia.org/wiki/NCSA_HTTPd, acceso 20/03/2011.
Anexo
Multipurpose Internet Mail Extensions o MIME (en espaol "extensiones multipropsito de correo de internet") son una serie de convenciones o especificaciones dirigidas al intercambio a travs de internet de todo tipo de archivos (texto, audio, vdeo, etc.) de forma transparente para el usuario. REF.: http://es.wikipedia.org/wiki/MIME, acceso 20/03/2011.
11