Aplicaciones Cliente - Servidor



Documentos relacionados
Ejemplos de Servlet y JSP Web Application Development

NIVEL 16: ESTRUCTURAS N-ARIAS RECURSIVAS Aplicaciones Web, Html y Servlets. ISIS1206 Estructuras de Datos

Servlets. Unidad: 4 Laboratorio de Programación. Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos

USANDO SERVLETS EN UN SERVIDOR WEB RESIN

Figura 7-1 Enlace para instalar el servidor web Apache Jakarta Tomcat

Web Tier en JAVA. Nicolás Troncoso Carrère. Valparaíso, ILI 258 Departamento de Informática Universidad Técnica Federico Santa María

DESARROLLO WEB EN ENTORNO SERVIDOR

Programación con JDBC (Java DataBase Connectivity ), Servlets y JSP (Java Server Pages)

Conexión de Mysql con NetBeans

Laboratorio de Aplicaciones Telemáticas (Curso 2009/2010)

Requisitos. Universidad ORT Arquitectura de Software

Tema 6: Arquitectura Web Multicapa

Desarrollo de Software con

ISJu: Técnicas de Programación Cartilla Teórica-Práctica Instalación del "Eclipse IDE for Java EE Developers" y el servidor "Apache Tomcat"

Desarrollo de Sistemas Software Basados en Servicios y Componentes

Clase. geniería de la Computación. Departamento de Ciencias e Ing. Diego C. Martínez - DCIC-UNS

Introducción a los servlets

Práctica 2: Extensión de un servidor con servlets

Java 2 Enterprise Edition

CURSO DE PROGRAMACIÓN EN JAVA J2EE 7 ÍNDICE

INTRODUCCIÓN N A LAS APLICACIONES WEB Y TECNOLOGÍA A JAVA

JAVA EE 5. Arquitectura, conceptos y ejemplos.

Capitulo 7: Tecnologías de la Capa Media, Lógica del Negocio.

J2EE Java 2 Enterprise Edition

Panorámica de la asignatura

Unidad IV: Servlets. Comprender la estructura básica de los Servlets Crear servlets sencillos Presentar el ciclo de vida de un Servlet.

Quickstart-Webapps-Spring

Un servlet es una clase java que implementa la Servlet interface. Un servlet corre dentro de un contexto denominado Servlet engine.

Sistemas de Información

Arquitectura J2EE para aplicaciones web. Aplicaciones web con JSP. Arquitectura J2EE: Capa de Acceso Web. Arquitectura J2EE: Capa Cliente

Sistemas de Información 12/13 Servlets y JSPs (Java Server Pages)

Escribir código HTML en los servlets es tedioso. que hay que utilizar las instrucciones print, println, etc. Es decir, HTML está dentro de java.

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.

Curso de desarrollo web en entorno de servidor

Tema 4: Tecnologías Web Java

3 PROGRAMACIÓN WEB CON SERVLETS

JAVA ENTERPRISE EDITION (J2EE) ARQUITECTURA TECNOLOGÍAS (1/2) (L1)

HTTP, CGI, Applets y Servlets

JSP JDBC SALVADORES OLAIZOLA,

Curso Desarrollo Java Web con JSP, Servlets y el MVC

GENERACIÓN DINÁMICA DE PÁGINAS

SERVLETS. Aplicaciones Distribuidas

Curso de Java Java para Web

Cursos PROGRAMACIÓN DE APLICACIONES CON JAVA

Curso Java Web (JSP's/Servlets)

Contiene código HTML normal junto elementos especiales de JSP. Internamente, el servidor de aplicaciones las compilará a un servlet

Diseño Y Aplicaciones de Sistemas Distribuidos. Servlets. Joan Vila

Implementando nuestro primer servlet

CAPÍTULO 14. DESARROLLO

JSP/SERVLETS ISIS 3710

Arquitectura Web Multicapa. Tema 6.a: Arquitectura sistema en capas. Ventajas de los sistemas. distribuidos. Arquitectura software en capas

javax.servlet.genericservlet javax.servlet.http.httpservlet MiServlet

Framework 1. Web en Java. (solo aplicaciones en mantenimiento)

Introducción al Desarrollo de Aplicaciones Empresariales

FSD Práctica Invocación Remota: JavaRMI. Estudio Previo. Información

Configuración de Tomcat para usar SSL

Servidores Web (II) Contenidos

Diplomado Java. Descripción. Objetivo. A quien está dirigido. Requisitos. Beneficios

JSP Básico. Índice. 2 Traducción de los JSP a servlets Acciones Introducción a JSP... 2

Tema 5: Tecnologías Web

Capitulo III. Diseño del Sistema.

10. Servlets con acceso a bases de datos

[CASI v.0109] Pág. 1

Componentes de una aplicación ASP.NET

Tema 5. Plataforma Java EE

Tema 1. Introducción a JAVA

Arquitectura Cliente/Servidor

4. DESARROLLO WEB CON JAVA JSP & SERVLETS

Características y Beneficios

Tema 4: Servidores Web

Formación a distancia de EXPERTO EN PROGRAMACIÓN EN JAVA

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

Desarrollo y servicios web Sesión 18

Notas técnicas de JAVA Nro. 7 Tip Breve

JAVA: Servlets. Diseño de aplicaciones web.

desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el

Introducción a las aplicaciones WEB

Transacciones: 2PC y 3PC. Aplicaciones de Internet: HTTP/Applets, HTTP/GCI y Java Servlets

Capítulo III. Análisis y diseño.

aplicaciones web: ASP, CFM, JSP y PHP

Tema 1 HTTP y aplicaciones web

1 Índice Introducción Propósito Alcance Modelo Arquitectónico Inicial... 3

1. Introducción 2. Historia 3. Características clave 4. Cuestiones de diseño

Productos para desarrollar aplicaciones web: ASP, CFM, JSP y PHP

Tema 1. Introducción a Java EE

Transcripción:

Aplicaciones Cliente - Cliente Presentación + Lógica aplicación SQL Acceso remoto a información a través de red. Un servidor - múltiples clientes. Almacenamiento datos es esperan peticiones: protocolos de nivel de aplicación petición-respuesta. es tiene colas de peticiones que atender. Dimensionamiento es importante adecuadamente (cuellos de botella: acceso a disco, conexión Inet). 1 Reparto Funcionalidad Repartir procesamiento vs. transferir datos. Ejecución en servidor = Control de aplicación, pero más potencia requerida. Thin Client Fat Server: Aplicación ejecutada en servidor, cliente solo visualiza pantallas. Ej: Mainframes, XWindows, Application Server Providers. Fat Client Thin Server: solo proporciona informacion a cliente, cliente procesa y visualiza. Ej: web, de ficheros, servidor de software, servidor streaming. 2

Arquitecturas Una organización de aplicaciones en distintos módulos y cómo se comunican entre sí. Cliente Cliente p Cliente p2 p1 p1 Cliente Cliente p2 p1 Cliente Cliente Encadenado, recursivo Cliente Referencia, iterativo Cliente Multicast, difusión 3 Variantes Descentralizado ~ Peer to Peer P2P Dispositivos mviles Cli/Ser Cli/Ser Cli/Ser Cli/Ser Cli/Ser Agentes mviles Clientes Thin Cliente + Cliente 4

es Multiple Procesos " "! #$ %&' (' )$%%' **+!& + es MultiThread " "! +(' #$,%% &-. %' )$%(- %-/&01&2# &''

Arquitectura Multinivel Web Presentación: presentación, control flujo. Lógica Negocio: procedimientos aplicación. Almacén Datos: datos aplicación. 7 Separación presentación / lógica aplicación JSP <%@ page import = "num.numberguessbean" %> <jsp:usebean id="numguess" class="num.numberguessbean" scope="session"/> <jsp:setproperty name="numguess" property="*"/> <html> <head><title>number Guess</title></head> <body bgcolor="white"> <font size=4> <% if (numguess.getsuccess()) { %> Congratulations! You got it. And after just <%= numguess.getnumguesses() %> tries.<p> <% numguess.reset(); %> Care to <a href="numguess.jsp">try again</a>? <% } else { %> Good guess, but nope. Try <b> <%= numguess.gethint() %> </b>. You have made <%= numguess.getnumguesses() %> guesses.<p> I'm thinking of a number between 1 and 100.<p> <form method=get> What's your guess? <input type=text name=guess> <input type=submit value="submit"> </form> <% } %> </font> </body> </html> 8 3

Arquitectura Multinivel J2EE Client Tier: HTML, Applets. Web Tier: JSP & Servlets. Business Logic: Java Beans. Enterprise: BBDD. 9 Almacenes Información Sitio Web, Bases de datos relacional, Repositorios XML, Directorio LDAP, Buscadores Web, Almacén Objectos. 10 4

Almacén Sitio Web Colección de documentos multimedia guardados en ficheros. Información sin estructurar relaccionados por enlaces. Ventajas: Facilidad de creación. Desventajas: falta control. 11 12 5

Base de datos relacional Datos muy estructurados requiere integridad y seguridad.(sin informacion presentación) Relacción basados en Algebras: modelos Entidad- Relacción. Ratio escritura / lectura alto. Requieren un complejo programa (un gestor de bases de datos): mantiene consistencia, acceso concurrente,... Ventajas: Control total de información. Desventajas: laborioso estudio previo y diseño. 13 Almacen XML '7$8%83'797%8'/% <?xml version='1.0' encoding='utf-8'?> <tomcat-users> <role rolename="role1"/> <role rolename="tomcat"/> <user username="role1" password="tomcat" roles="role1"/> <user username="tomcat" password="tomcat" roles="tomcat"/> <user username="both" password="tomcat roles="tomcat,role1"/> </tomcat-users> 14 6

Repositorio XML Datos estructurados sin información presentación. Relacción basada estructuras definidas por usuario. Ratio escritura / lectura bajo. Gestor de repositorio a medida: mantiene consistencia, precarga pagina web,... Ventajas: sin BBDD, eficiente, control. Desventajas: programación gestor. 15 Directorios LDAP Datos muy estructurados información usuarios. Relacción según arbol de directorio OIT. Ratio escritura / lectura bajo. Gestores de directorio mantiene consistencia, acceso concurrente,... Ventajas: estructura sencilla, gestores comerciales. Desventajas:Solo para algunos datos. 16 :

Almacen Buscadores Web Datos muy estructurados: palabras, imágenes, URLs... Relacción orden alfabético,..: gigantesca tabla hash: palabra - URLs. Ratio escritura / lectura bajo. Gestor de buscador: encuentra nuevas páginas web, mantiene consistencia, cache,... Ventajas: eficiente, gestor optimizado. Desventajas:Uso especifico. 17 Almacenes de Objetos Todo es un objeto: datos, tablas, documentos. Relacciones entre datos son objetos contenidos en / apuntados por otros objetos. Gestores de almacen con diferentes funcionalidades: OODDBB (complejo gestor, integridad, etc), Objetos serializados Java (gestor simple, ficheros). Ventajas: Facilmente integrables en aplicaciones programadas en lenguaje OO. Desventajas: ineficiencia, no reinventar. 18 ;

CGI / FastCGI Petición 1 a CGI A Web Proceso principal 1 proceso/petición Proc hijo de CGI A Petición 1 a CGI B Proc hijo de CGI B Petición 2 a CGI A Petición 1 a CGI A Web Proceso principal Proc hijo de CGI A (Único) Proc hijo de CGI A Petición 1 a CGI B FastCGI: 1 proceso/cgi Petición 2 a CGI A (Único) Proc hijo de CGI B 19 CGI:Ciclo de Vida = & = %& = $% 7!& = & = %' 20 <

API Petición 1 extensión A Petición 1 extensión B Petición 2 extensión A Web Proceso principal Extensión A Extensiones: parte del proc servidor Extensión B 21 API: Ciclo de Vida ' % (.'! ' *.! 8 $9' 3' >! ' 4'! ' 22

Servlet Web Petición a Servlet A Proceso principal JVM Thread ServletA Petición a Servlet B Petición a Servlet A Thread Thread Servlet: 1 thread/petición ServletB 23 Servlet Hello World import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloWorld extends HttpServlet { } public void doget(httpservletrequest request, HttpServletResponse response) throws IOException, ServletException { response.setcontenttype("text/html"); PrintWriter out = response.getwriter(); out.println("<html>"); out.println("<body>"); out.println("<head>"); out.println("<title>hello World!</title>"); out.println("</head>"); out.println("<body>"); out.println("<h1>hello World!</h1>"); out.println("</body>"); out.println("</html>"); } 24

Servlet:Ciclo de Vida ' % '! 2# &+&$' $' 3' >! ' 4'! ' 25 Separación presentación / lógica aplicación JSP <%@ page import = "num.numberguessbean" %> <jsp:usebean id="numguess" class="num.numberguessbean" scope="session"/> <jsp:setproperty name="numguess" property="*"/> <html> <head><title>number Guess</title></head> <body bgcolor="white"> <font size=4> <% if (numguess.getsuccess()) { %> Congratulations! You got it. And after just <%= numguess.getnumguesses() %> tries.<p> <% numguess.reset(); %> Care to <a href="numguess.jsp">try again</a>? <% } else { %> Good guess, but nope. Try <b> <%= numguess.gethint() %> </b>. You have made <%= numguess.getnumguesses() %> guesses.<p> I'm thinking of a number between 1 and 100.<p> <form method=get> What's your guess? <input type=text name=guess> <input type=submit value="submit"> </form> <% } %> </font> </body> </html> 26

JSP:Ciclo de Vida % &2# &- $' $' ' >! %' 3'! %' 27 3