Top Banner
J2EE (una introducción para seres humanos) Ing. Pablo Frias http:// mundojava.blogspot.com – 2009 –
34

J2 Ee Para Seres Humanos Slides

Aug 05, 2015

Download

Business

mundojava
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: J2 Ee Para Seres Humanos Slides

J2EE(una introducción para seres humanos)

Ing. Pablo Friashttp://mundojava.blogspot.com

– 2009 –

Page 2: J2 Ee Para Seres Humanos Slides

Agenda

Introducción a las aplicaciones J2EE. Tecnologías propuestas por J2EE. Trabajo con páginas web (Servlets - JSP). Todo lo demás

Page 3: J2 Ee Para Seres Humanos Slides

Java Enterprise Edition

Es una especificación creada por Sun Microsystems™.

Es un modelo para el desarrollo de aplicaciones distribuidas y multitier.

Está basado en componentes, contenedores y servicios de plataforma.

Page 4: J2 Ee Para Seres Humanos Slides

Ventajas de J2EE Libertad de elección. Productividad en el desarrollo de herramientas

de arquitectura. Aplicaciones de servidor multiplataforma. Uso de tecnologías estándar (HTTP, XML,

Servicios Web, etc.).

Page 5: J2 Ee Para Seres Humanos Slides

Arquitectura Multicapa

¿Qué es una capa? ¿Por qué multicapa?

Ejemplos: Arquitectura de dos capas: en una de ellas habrá

interfaces y lógica de negocio y en otra objetos reutilizables (muy inestable).

Arquitectura de tres capas: En una capa se ubican las interfaces, en otra la lógica de negocio y en la última todos los componentes reutilizables.

Page 6: J2 Ee Para Seres Humanos Slides

Capas J2EE

CAPA CLIENTE

CAPA WEB

CAPA EJB (Enterprise JavaBeans)

CAPA EIS (EnterpriseInformation System)

Interfaces,componentes de

presentación - Applets

Componentes deNegocio

DBMS

JSP-Servlets

Page 7: J2 Ee Para Seres Humanos Slides

Capas Cliente - Web

En esta capa se agrupan todos las aplicaciones, paquetes y applets que serán utilizados en forma remota por todos los “usuarios” de nuestro sistema. Todo lo que contendrá serán archivos JAR.

En esta capa se agrupan todos las aplicaciones que interactuarán con los usuarios del sistema, pero vía web.Los componentes definidos por J2EE en esta capas son las Java Server Pages y los Java Servlets, HTML, XML. Generalmente los agrupamos en archivos WAR

CAPA CLIENTE

CAPA WEB

Page 8: J2 Ee Para Seres Humanos Slides

Capas EJB - EIS

En esta capa se agrupan todos los componentes que manejan la lógica de negocio en nuestro sistema. Estarán empaquetados en archivos JAR. Esta capa brinda servicios de Seguridad, pooling de conexiones, hilos, protocolos de objetos distribuidos y Persistencia.

Esta capa es la encargada de manejar sistemas de soporte e incluye sistemas de planificación de recursos, manejo de transacciones en mainframe, sistemas legacy y por supuesto, acceso a bases de datos.

CAPA EJB (Enterprise JavaBeans)

CAPA EIS (EnterpriseInformation System)

Page 9: J2 Ee Para Seres Humanos Slides

Elementos de J2EE

Componentes Contenedores Servicios

J2SE

Application Clients

Applets

Servlets, JSP, filtros, webevent listeners

Enterprise Java Beans

HTTP, HTTPS

Java Transaction API (JTA)

RMI, IDL

JDBC

Java Message Service(JMS)

Java Naming and DirectoryInterface (JNDI)

Java Mail, JavaBeansActivation Framework

(JAF)

JAXP, Web Services

Seguridad

Los componentesinteractúan entres sí a

través de contenedores

Soporte en tiempo deejecución a loscomponentes

Interfaz entre componentey bajo nivel

Page 10: J2 Ee Para Seres Humanos Slides

¿Por qué tantas cosas?

Page 11: J2 Ee Para Seres Humanos Slides

Acerca de los contenedores

Son la interfaz entre un componente y una funcionalidad de bajo nivel y específica de una plataforma.

Proveen soporte en tiempo de ejecución de los componentes.

Los componentes interactúan entre sí sólo a través de contenedores.

El soporte que provee en tiempo de ejecución se llama servicios.

Page 12: J2 Ee Para Seres Humanos Slides

Algunos servicios que brindan

HTTP, HTTPS Java Transaction API (JTA) RMI, IDL JDBC API Java Message Service (JMS) Java Naming and Directory Interface (JNDI) Java Mail, JavaBeans Activation Framework (JAF) Procesamiento de XML, Web Services Seguridad

Page 13: J2 Ee Para Seres Humanos Slides

Servidores J2EE

                                              

Page 14: J2 Ee Para Seres Humanos Slides

Ciclo de Vida de Aplicaciones Web

Aplicación J2EE

Servlet JSPHTML

Clases de Negocio

Apache Tomcat

Clientes ServidorRed

Petición HTTP

Respuesta HTTP

• El cliente envía una petición de servicio a la aplicación por medio de una red con protocolo HTTP.

• El Servidor de aplicaciones verifica la procedencia y la existencia de la aplicación. Si existe, le pasa la responsabilidad de manejar la petición.

• La aplicación retorna un resultado en formato HTTP por medio del Servidor.

Page 15: J2 Ee Para Seres Humanos Slides

Algunos Escenarios

Page 16: J2 Ee Para Seres Humanos Slides

Algunos Escenarios

Page 17: J2 Ee Para Seres Humanos Slides

Algunos Escenarios

Page 18: J2 Ee Para Seres Humanos Slides

La Capa Web - Servlets

Page 19: J2 Ee Para Seres Humanos Slides

• Es una unidad ejecutable de recursos web. • Puede contener imágenes, html, servlets, JSP,

JavaBeans, clases de negocio, applets, clases de acceso a bases de datos, etc.

• Tiene una estructura de directorios específica cuya raíz se denomina document root.

• El módulo puede desplegarse con su estructura de directorios o en un archivo WAR.

Módulo Web

Page 20: J2 Ee Para Seres Humanos Slides

Estructura de directorios

Document root: contiene JSPs, HTML, imágenes, applets, flash, etc.

web.xml: es un descriptor de despliegue. Sirve para que el contenedor pueda “desplegar” la aplicación.

classes: en el se almacenan los servlets, clases de utilidad, JavaBeans con sus respectivas estructuras de directorios simbolizando paquetes.

lib: todos los archivos JAR que necesitemos, como por ejemplo Log4J, drivers JDBC, JARs de negocio, etc.

tags: todos los archivos de etiquetas utilizados en JSPs.

Page 21: J2 Ee Para Seres Humanos Slides

• Son clases de Java que se escriben con el propósito de utilizar las capacidades de servidores de aplicaciones.

• Estas clases deben implementar la interfaz javax.servlet.Servlet

• Si bien no están pensados para un único protocolo, el más usado es HTTP. (clase javax.servlet.http.HttpServlet)

• Su ciclo de vida es controlado por el contenedor.• Son multihilo.

Servlets

Page 22: J2 Ee Para Seres Humanos Slides

Ciclo de vida¿Existe unainstancia del

Servlet?

Se carga laclase delServlet

Se instanciael Servlet

Se inicializallamando a

init()

Se invoca el método deservicio, pasando los objetos

request y response

NO

SI

Contenedor

Peticion HTTP

Respuesta HTTP

Page 23: J2 Ee Para Seres Humanos Slides

<servlet>

<description>

</description>

<display-name>ServletName</display-name>

<servlet-name>ServletName</servlet-name>

<servlet-class>paquete.MiServlet</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>ServletName</servlet-name>

<url-pattern>/ServletName</url-pattern>

</servlet-mapping>

Configuración del Servlet

Page 24: J2 Ee Para Seres Humanos Slides

Comunicación con un Servlet

Servlet

Req u est

Resp o n se

Page 25: J2 Ee Para Seres Humanos Slides

La Capa WebJava Server Pages (JSP)

Page 26: J2 Ee Para Seres Humanos Slides

Razón de su existencia

Simple

¿Se imaginan escribir páginas web reales usando out.write( “...” ); ?

Page 27: J2 Ee Para Seres Humanos Slides

SERVLET

Page 28: J2 Ee Para Seres Humanos Slides

Ciclo de vidaRecib ir Petición

¿Existe el Servlet del JSP?

Ciclo d e vida de Servlet

Procesar JSP

Generar Servlet

Com pilar servlet

Enviar Respuesta

SI

NO

Page 29: J2 Ee Para Seres Humanos Slides

Hasta ahora:• Servlets• JSP

DirectivasExpresionesScriptlets

• Expression Language• JSTL (Java Standard Tags Library)

Page 30: J2 Ee Para Seres Humanos Slides

¿Cómo encaro una aplicación web?

Co ntro lad or M o d eloVista

Aplicación

Applet

jsp

Servlet

Action

Action

Action

Action

Action

O bjeto de N egocio

O bjeto de N egocio

O bjeto de N egocio

O bjeto de N egocio

O bjeto de N egocio

Page 31: J2 Ee Para Seres Humanos Slides

Frameworks - Templates - Herramientas

M o d elo V ista Co n tro lad o r

Stru ts

Sp rin g

JSF

T em p lates

T iles Velo city

F reeM aker

Persisten cia

JPA IBatis

Hib ern ate

Page 32: J2 Ee Para Seres Humanos Slides

¿Todavía hay más cosas?

• EJB• JMS• Web Services• XML• Transactions• Connectors• AJAX

Page 33: J2 Ee Para Seres Humanos Slides

¿Preguntas?

Page 34: J2 Ee Para Seres Humanos Slides

Fuentes

http://www.java.sun.comJavaDocsThe Java TutorialThe JEE Tutorial

http://www.apache.orghttp://www.theserverside.comUn buen libro de patrones de desarrollo