Arquitectura JEE

download Arquitectura JEE

of 52

Transcript of Arquitectura JEE

Introduccin a la arquitectura J2EE con ejemplos prcticosLic. Gisela Rodrguez Gmez, UNNE

www.whyfloss.com/conference

Introduccin a la Arquitectura J2EE (Java 2 Enterprise Edition)

Disertante: Lic. Gisela Rodrguez Gmez

29 de Mayo - 2007

Objetivos Descubrir los aspectos nuevos y aquellos ms relevantes de la tecnologa J2EE y su aplicacin al desarrollo de soluciones Web corporativas de todos los tamaos bajo esta plataforma. Cmo y porqu se construyen hoy en da las aplicaciones corporativas.

29 de Mayo - 2007

3

Agenda Introduccin a J2EE. Tecnologas de Servicios. Conectividad JDBC. Tecnologas de Comunicaciones. Tecnologas de Componentes. Arquitectura J2EE. Introduccin a los Servicios Web. Ejemplos de aplicacin.29 de Mayo - 2007 4

Introduccin Internet y la WWW son la base de la economa de la informacin. Una aplicacin accesible desde Internet puede usarse en cualquier momento desde cualquier lugar, (24/7). La meta de J2EE es definir un estndar que ayude a suplir estos retos tecnolgicos. J2EE soporta aplicaciones distribuidas que toman ventajas de las tecnologas existentes y en desarrollo simplificando el proceso a travs de un modelo de aplicaciones basados en componentes.29 de Mayo - 2007 5

Introduccin J2EE soporta aplicaciones corporativas hasta E-Commerce con Web en Internet. Provee soporte tanto para el lado del servidor como para el lado del cliente para aplicaciones corporativas multi-nivel.1. Cliente: Interfase de usuario. 2. Lgica de datos: 1 o ms, servicios al cliente y la lgica de negocios para la aplicacin. 3. Datos: gestin de datos.29 de Mayo - 2007 6

Arquitectura BsicaWeb containerJSP

HTTP(s)

Browser

Datos

HTML, XML

Servlet

29 de Mayo - 2007

7

Existen 3 categoras: Servicios Comunicaciones Componentes

Tecnologas

29 de Mayo - 2007

8

Tecnologas de Servicios Existen varias formas de interactuar con una base de datos: Procedimiento Almacenado: propio de cada SGBD. SQLJ(SQL para Java), estndar pero no totalmente extendido. OC4J(Oracle Components for Java): no estndar pero de gran versatilidad. JDBC(Java Data Base Connectivity): estndar y ampliamente extendido.

29 de Mayo - 2007

9

Tecnologas de Servicios Conectividad JDBC: provee al desarrollador la capacidad de conectarse o unirse de manera independiente a las bases de datos relacionadas. Permite: Ejecutar conexiones y autenticacin a un servidor de BD. Gestionar transacciones. Realizar sentencias SQL sobre el motor de BD. Ejecutar procedimientos almacenados. Inspeccionar y modificar los resultados de una sentencia select. Es independiente de donde se encuentre el cliente y el servidor. Es una API de alto nivel y diferentes drivers cada uno para conectarse a una base de datos distinta.29 de Mayo - 2007 10

Tecnologas de Servicios Paquetes importantes de Java:

29 de Mayo - 2007

11

Tecnologas de Servicios

Una aplicacin se conecta a una base de datos con JDBC realizando las siguientes operaciones:Importacin de paquetes. Carga del driver JDBC. Conexin con la base de datos. Construccin de la sentencia SQL y ejecucin. Procesamiento de resultados, si los hay. Cierre de la sentencia y del cursor, si lo hay. Cierre de la conexin.

29 de Mayo - 2007

12

Tecnologas de Comunicacin Son aquellas que proveen al desarrollador la capacidad de comunicarse con los usuarios de las aplicaciones. A travs de: Java Mail: API de gestin automtica de mensajes, sencillo. JMS: API de servicios de mensajera de Java, potente. Internet Protocol.

29 de Mayo - 2007

13

Tecnologas de Comunicacin Internet Protocol: un cliente muy frecuente es un browser situado en cualquier parte del mundo. La peticin de un cliente y la respuesta de un servidor son comunicadas sobre 3 protocolos principales. HTTP: protocolo de nivel de aplicacin que trabaja en base a peticin/respuesta. TCP/IP: 2 protocolos combinados en uno para transportar los datos a travs de Internet. SSL: utiliza criptografa para encriptar el flujo de informacin entre cliente y el servidor.29 de Mayo - 2007 14

Tecnologas de Componentes La gestin de componentes se basa en el modelo de Contenedores. Un contenedor provee un ambiente estandarizado de ejecucin que provee servicios especficos a componentes, como acceso a las APIs. Los contenedores tambin poseen acceso a sistemas de informacin empresarial (RDBMS, JDBC).

29 de Mayo - 2007

15

Gestin de Componentes

Componentes del cliente:Web browsers con HTML estndar. HTML dinmico como JSP. Applets. Java stand-alone apps

Componentes de la lgica de negocios:La forma ms estndar de acceder un cliente a la siguiente capa es a travs de: http, html, xml. Interfaces ms complejas son: Servlets.

Componentes de los datos:EJB: Enterprise JavaBeans. El modelo de componentes EJB es el backbone del modelo de programacin J2EE.29 de Mayo - 2007 16

Cliente

Ambiente

Datos

29 de Mayo - 2007

17

Componentes Web Proveen respuesta a requerimientos. Genera interfaces de usuario para apps basadas en Web. J2EE especifica 2 tipos de componentes Web1. 2. Servlets. Java Server Pages

Todos los componentes Web proveen soporte para requerimientos de clientes, realizar un procesamiento y retornar los resultados.29 de Mayo - 2007 18

Servlets Programa que extiende la funcionalidad de un servidor Web. Recibe un requerimiento de un cliente, dinmicamente generan las respuestas y luego la mandan en documento HTML o XML al cliente.

Servlts

29 de Mayo - 2007

19

Servlets Servicios:Iniciar y finalizar servlets. Acceso al ambiente servlets. Recibir requerimientos y enviar respuestas. Mantener informacin de sesin. Interactuar con otros servlets o componentes.

Son programas del lado del servidor que permiten a la lgica de aplicacin ser integrada en el proceso de respuesta de peticin HTTP.

29 de Mayo - 2007

20

Servlets

29 de Mayo - 2007

21

Java Server Pages JSP Provee una forma de generar contenido dinmico para un cliente Web. Es un documento de texto que describe como procesar un requerimiento para crear una respuesta.

JSP

29 de Mayo - 2007

22

Java Server Pages JSP Contiene:Una plantilla de datos para formatear un documento Web (HTML, XML). Separa la presentacin del procesamiento dinmico. Elementos y scriptles JSP generan contenido dinmico. Una pgina JSP puede usar componentes JB o EJB.

Proveen una manera de integrar componentes dinmicos dentro de una pgina esttica como HTML, el cdigo se incluye dentro de las etiquetas:

Scriptlet29 de Mayo - 2007 23

Java Server Pages JSP

29 de Mayo - 2007

24

Servicios Web XML: (Extensible Markup Language) es uno de los formatos de informacin ms aceptados, por la flexibilidad y uniformidad que brinda para intercambiar informacin variando desde transacciones financieras, aplicaciones inalmbricas hasta aplicaciones de servidor; todo partiendo de un solo documento maestro con la confiabilidad de que el formato sea aceptable ampliamente. XML TECNOLOGA DE VANGUARDIA.Ejemplo del uso de esta tecnologa: Google Search29 de Mayo - 2007 25

Servicios WebCrear un servicio Web: Crear una clase Java con un mtodo por cada servicio web a publicar. Depositar la clase java en un archivo .jar y ubicar ste en un contenedor J2EE. Crear un servicio web (fichero.wsdl) y asociarlo con la clase java anterior. Publicar el servicio web en un servidor de aplicaciones. Crear un cliente que acceda a dicho servicio web.

29 de Mayo - 2007

26

Servicios Web

29 de Mayo - 2007

27

Contenedores de Componentes Web Los componentes Web son hospedados por contenedores servlets, JSP y Web. Un contenedor servlet provee servicios de red, decodificacin de requerimientos y formato de respuestas. Todos los contenedores servlets tienen que soportar HTTP as como protocolo para requerimientos y respuestas. Un contenedor JSP provee los mismos servicios que uno de servlets adems de un motor de interpretacin y procesamiento de pginas JSP dentro de un servlet. Un contenedor Web provee los mismos servicios que un JSP adems de servicios J2EE y API.

29 de Mayo - 2007

28

Componentes EJB La arquitectura EJB es una tecnologa del lado del servidor para desarrollo y ejecucin de componentes para lgica de negocio de una aplicacin empresarial. EJB son escalables, transaccionales y multiusuario.

Todos los contenedores EJB proveen soporte para gestin de transacciones, ciclo de vida, localizacin, y otros servicios.

29 de Mayo - 2007

29

Componentes EJB

Existen dos tipos de EJB:Session Bean: provee algn servicio detrs de un cliente y usualmente durante una nica sesin. Ejecuta operaciones como clculos o accesos a DB para el cliente. El contenedor EJB administra el estado si el estado tiene que ser removido de memoria, pero el mismo objeto session bean tiene que gestionar sus datos persistentes

29 de Mayo - 2007

30

Componentes EJB Entity Bean: un bean de entidad es un objeto persistente que representa el mantenimiento de los datos en un almacenamiento. Es decir es una envoltura de objeto para los datos ya que est centrado en los datos. Puede vivir tanto como los datos que este representa.

29 de Mayo - 2007

31

Contenedores de componentes EJB EJB son hospedados por un contenedor EJB. Adems de un contenedor estndar de servicios, uno de EJB provee un rango de servicios de transacciones y persistencia y acceso a servicios J2EE y APIs de comunicaciones.

29 de Mayo - 2007

32

Entorno de desarrollo de una aplicacin Web bajo la plataforma J2EE Utilizando el software: WebSphere de IBM. Simplificando el trabajo mediante la utilizacin de Wizards para el desarrollo de las aplicaciones. Proporciona cdigo preconstruido y pretesteado. Facilita el mantenimiento. Permite customizar el rea de trabajo.

29 de Mayo - 2007

33

Perspectivas del workbench:

29 de Mayo - 2007

34

Perspectiva J2EE:

29 de Mayo - 2007

35

Perspectiva Web:

29 de Mayo - 2007

36

Perspectiva Java:

29 de Mayo - 2007

37

Vistas de las perspectivas:Vista Simple

Vista Apilada

29 de Mayo - 2007

38

Toolbars:Workbench Toolbar

Acceso Directo Toolbar

Vista Toolbar

29 de Mayo - 2007

39

Creando un nuevo proyecto:Se puede crear cualquier tipo de proyecto en cualquier perspectiva.

29 de Mayo - 2007

40

Importando o creando paquetes Java:Proyecto creado desde la vista Package Explorer de la perspectiva Java

29 de Mayo - 2007

41

Construyendo el cdigo y manejo de errores:Vista Problemas Vista Editor Vista Outline

Vista Package Explorer

29 de Mayo - 2007

42

Arquitectura de una aplicacin J2EE:Contenedores por default

Vista Navegador

29 de Mayo - 2007

43

Arquitectura de una aplicacin J2EE:

Creando HTML

29 de Mayo - 2007

44

Arquitectura de una aplicacin J2EE:

Editando HTML Vista Editor Perspectiva Web

29 de Mayo - 2007

45

Creando Servidor

Servidores:

Vista Servidor

29 de Mayo - 2007

46

Ejecutando la aplicacin J2EE:

Corriendo el Servidor

29 de Mayo - 2007

47

Ejecutando la aplicacin J2EE:

Web browser

Servidor Corriendo

29 de Mayo - 2007

Resumen Crear y trabajar en un proyecto J2EE. Crear paquetes o importarlos. Crear clases. Crear pginas. Localizar errores de compilacin en el cdigo. Crear y correr el servidor. Ejecutar la aplicacin.

29 de Mayo - 2007

Conclusiones Conceptos ms relevantes sobre J2EE. Ventajas y desventajas de la tecnologa J2EE. Software para el desarrollo de una aplicacin J2EE. Aplicaciones corporativas solucionan problemas de escalabilidad, mantenimiento, fiabilidad, seguridad y velocidad de desarrollo. Tendencia a los Servicios Web: la flexibilidad es importante para poder construir grandes aplicaciones a partir de componentes distribuidos mas pequeos. Hoy comercio-e, gobierno-e, aprendizaje-e, pagos-e, tramitaciones-e.

29 de Mayo - 2007

Direcciones de Inters

http://www.sun.com http://java.sun.com/docs/books/tutorial http://java.sun.com/javase/downloads/index.jsp http://java.sun.com/javase/technologies/database.jsp http://www.informit.com/articles/article.asp?p=31568& http://java.sun.com/

29 de Mayo - 2007

MUCHAS GRACIAS

29 de Mayo - 2007