J2 Ee Para Seres Humanos Slides

Post on 05-Aug-2015

1.296 views 0 download

Transcript of J2 Ee Para Seres Humanos Slides

J2EE(una introducción para seres humanos)

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

– 2009 –

Agenda

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

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.

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.).

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.

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

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

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)

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

¿Por qué tantas cosas?

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.

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

Servidores J2EE

                                              

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.

Algunos Escenarios

Algunos Escenarios

Algunos Escenarios

La Capa Web - Servlets

• 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

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.

• 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

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

<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

Comunicación con un Servlet

Servlet

Req u est

Resp o n se

La Capa WebJava Server Pages (JSP)

Razón de su existencia

Simple

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

SERVLET

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

Hasta ahora:• Servlets• JSP

DirectivasExpresionesScriptlets

• Expression Language• JSTL (Java Standard Tags Library)

¿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

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

¿Todavía hay más cosas?

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

¿Preguntas?

Fuentes

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

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