Contacta un Servlet o un JSP

Slides:



Advertisements
Presentaciones similares
2010Ing. de Sistemas II Persistencia en EJB3 Pasos para crear entity beans.
Advertisements

JEE (EJB3) Configuración Ambiente de Desarrollo
JEE Introducción a Java Enterprise Edition (JEE) y el modelo Enterprise Java Beans (EJB)
Web Services.
Curso de Java “Java para Web” Rogelio Ferreira Escutia.
Servicios Web XML 03 de Junio de 2004 Fernando Alonso Blázquez.
Empaquetado de Entity Beans
Programación Orientada a Objeto 1
III - Gestión de memoria
J2EE – Java 2 Enterprise Edition
Servicios Web.
Arquitectura, conceptos y ejemplos
Especialista en Business Intelligence Integration Services SSIS (Sesión 7) Microsoft SQL Server 2008 R2 (2013) Suscribase a o escríbanos.
SQL Server Integration Services SSIS
"java del lado del servidor" Servlet y JSP Java Server Pages.
Unidad 6: EJB 3.0 David Rodríguez 1.
JSP Copyright ISIPE – Instituto de Servicios Informáticos para Empresas – Universidad Siglo 21 – Cualquier copia u otro uso debe ser autorizado expresamente.
Desarrollando y consumiendo Web Services con Visual FoxPro
RMI Remote Method Invocation
Java 2 Platform Enterprise Edition
RMI (Remote Method Invocation)
Introducción XML y WebServices.
PROGRAMACION ORIENTADA A OBJETOS
JAVA Persistence API (JPA)
Programación por capas: Capa de Clases
Sesión en Servlets 31 de Marzo de Índice ¿Por qué seguir la trayectoria de usuarios? Formas de seguir la trayectoria de usuarios –Cookies –Reescritura.
Enterprise Java Beans Rubén Trujillo Sept-Dic 2008.
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Tema 6: Clases Antonio J. Sierra.
Sistemas Operativos Centralizados y Distribuidos Carlos David Zepeda.
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Sincronización de Objectos Compartidos usando MatchMaker a través de Web Services Thomas Pieper DCC, Universidad de Chile.
Propósito: * Mostrar indicativos porcentuales de los diversos microorganismos con los que se alimentan el camarón en un manejo semi-intensivo aplicado.
Sistemas Distribuidos basados en la web
Servicios Web. Servicios web Son programas con funcionalidad accesible a través de protocolo http que permiten la ejecución remota de métodos y funciones.
SPRING MVC.
Tutor: Ing. Juan E. Talavera Horn 2010 GWT – EJB Patrones de diseño e integración.
J2EE – Java 2 Enterprise Edition
“SERVLETS”. Paola Rojas Contreras Juan Villarroel Leiva José Miguel Perez V. Departamento de Electrónica.
Sistemas Cliente-Servidor Introducción. Sistemas cliente-servidor Servidor Cliente Petición Respuesta.
Enterprise Java Beans. EJBs Beans gestionados por un contenedor del servidor de aplicaciones para gestionar el acceso a recursos (bases de datos, colas.
J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.
Aplicaciones Web M.C. Jorge Eduardo Ibarra Esquer
JDBC Java Database Connectivity CC52N - Computación para el trabajo grupal Profesor: Nélson Baloian Por: Edgard Pineda.
Constructor  Un constructor es un método que inicia un objeto inmediatamente después de su creación. De esta forma nos evitamos el tener que iniciar.
Enterprise JavaBeans Arvelo, Yolife Ascanio, Eduardo Chacón, Johnny Quintana, Susana Unversidad Simón Bolívar Departamento de Computación y T.I Sistemas.
1 Web Services. 2 Definición de XML Web Services Los servicios XML Web Services son los elementos fundamentales en la evolución hacia la computación distribuida.
Comunicaciones basadas en la web Cc52n 2005/1. Web-based communication Se basan en el esque ma cliente servidor que implementa la web usa protocolos web.
Servlets Servlets son módulos que extienden a servidores “java-enabled” orientados a request/response, como por ejemplo Servidores Web Un servlet puede.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Borland User Group - Guatemala Introducción a WebServices y ejemplos de interoperabilidad entre Win32,.Net y Java Axel Canteo – Banco de Comercio Juan.
UNIVERSIDAD LATINA BASES DE DATOS ADMINISTRACIÓN.
Sun Microsystems. Los servlets son objetos que corren dentro del contexto de un contenedor de servlets y extienden su funcionalidad. También podrían correr.
Introducción a los Webservices. Contenidos Definición Definición Protocolos que hacen posible la existencia de los Webservices Protocolos que hacen posible.
EQUIPO:#3 GRUPO:304 NOMBRES: Lizbeth Nava Barón y Erick Ali Mejía.
File Transfer Protocol.
TEMA: SERVICIOS WEB INTEGRANTES DEL EQUIPO: CELESTE ROMANO PEDRO VELAZQUEZ PEDRO MONTESINOS.
Unidad 2: Tareas básicas de InfoPath 2010
Capítulo 12. Tecnología y herramientas. Ricardo García Mataix
Colegio de Bachilleres Plantel 13 Xochimilco - Tepepan
Your Logo ING. FREDY ALEXANDER MARTINEZ. Here comes your footer  Page 2 Este patrón fue descrito por primera vez por Trygve Reenskaug en 1979, y la implementación.
API JDBC Java Database Connectivity. Conceptos básicos API de Conectividad a Bases de Datos Emplea SQL Standard Ventaja: los programas desarrollados en.
Acceso a Datos Erick López Ovando Licenciado en Informática.
Arquitecturas de Integración Mensajería
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
ENTERPRISE JAVA BEANS (EJB) DAVID VIRGIL NARANJO PROGRAMACIÓN AVANZADA INGENIERIA INFORMÁTICA.
Temario Java 2 Enterprise Edition Arquitectura Especificación Servlets Contenedores Cookies Sesiones.
1.  Tomcat es un contenedor web basado en el lenguaje Java que actúa como motor de servlets y JSPs.  Se ha convertido en la implementación de referencia.
ENTERPRISE JAVA BEANS. ACCESO AL EJB EJB_HOME. Accesible mediante JNDI. Permite crear y destruir EJB. EJB_OBJECT Expone los métodos del negocio del EJB.
Contacta un Servlet o un JSP
Transcripción de la presentación:

Contacta un Servlet o un JSP Esquema J2EE Servidor de Aplicaciones DBMS J2EE Bean Servlet JSP respuesta Servidor web Contacta un Servlet o un JSP

Los Enterprise Java Beans son como los Servlets Son trozos de código que extienden un servidor “Viven” en un contenedor apropiado El contenedor decide cuándo se crean y se destruyen No son contactados directamente por el cliente NOTAS

Existen 3 Clases principales Session Beans: Implementan procesos, orientados a acciones (cálculo de un valor) Entity Beans: Están asociados a datos persistentes. Representan una instancia de un dato almacenado Message Driven Beans: Parecidos a Session beans pero son “despertados” o contactados por mensajes que pueden incluso ser asínctonos NOTAS

Refinando la clasificación Session Beans: Sin estado: son contactados una vez por los clientes, ejecutan una acción y no queda traza de lo que se hizo Con estado: en una “sesión” pueden ser contactados varias veces por el mismo cliente para desarrollar una “conversación”. Será necesario mantener algún tipo de información para recordar lo que va haciendo el cliente Entity Beans: Persistencia controlada por el Bean: el programador debe incluir código de modo de asegurarse que el enttity bean represente a un dato en una tabla Persistencia controlada por el container: el container se preocupa de asociar el bean a un dato de una tabla NOTAS

Cómo administra el container el cliclo de vida de los beans Los beans son creados y destruidos por el container. Cuando un bean se levanta con el container (el bean debe estar ahí cuando se echa a andar el server) se crean instancias del bean (bean pool) las cuales son “asignadas” a los clientes. Qué bean es entregado a qué cliente lo decide el container Si se necesitan más beans estos son creados por el container (create) Si hay demasiados estos son destruidos (Remove) El container puede decidir además hacer “dormir” o “despertar” a los beans según las necesidades (activate, passivate) para NOTAS

Para crear un EJB se necesitan 3 clases El ejbHome, el ejbHome y el elb propiamente tal Normalmente uno crea el ejb, el resto lo hace el sistema Cuando un cliente desea contactar a un bean localiza un un ejbHome Object que correspoda al de un bean deseado. Una vez que tiene una referencia a este lo usa para fabricar un objeto EJB, al cual le aplica los métodos El EJBObjet se contactará con un bean adecuado para que dé el servicio (esto lo hace el contenedor) NOTAS

El papel de cada uno de las 3 clases de objetos Un applet, servlet, Jsp o stand alone Bean Pool 3 contacta home ejbHome cliente 5- retorna referencia 4 crea ejbObject 6 invoca método 1-ubicar 2 retorna referencia ejbObject 7 contacta bean NOTAS Naming

Estados de un Bean Cliente invoca create en un home Interface Cliente llama a remove() en el ejbObject o se le da un timeout al cliente No existe El container llega a un límite de su capacidad: swapping 1- Class.newInstance() 2- setSessionContext() 3- ejbCreate(...) ejbRemove() Timeout del cleinte ejbPasivate() Activo Pasivo ejbActiivate() Liente llama a un método del Bean pasivado

Los Entity beans Un bean representa a un dato (fila) en una base de datos Hay que pensar en ellos como si fueran uno solo con el dato en memoria secundaria Debe existir un mecanismo para automáticamente transferir los datos de la memoria secundaria al EJB y vice-versa Esto se hace a través de llamadas a los métodos ejbLoad() y ejbStore() Estos métodos son llamados por el container cuando estima que es necesario distintos beans pueden representar al mismo dato en disco ejbActivate() y ejbPassivate() se llaman cuando un entity bean es puesto/sacado de un pool de beans, por lo que hay que programas la adquisición y liberación de reucursos Como además se debe guardar el estado del bean en memoria secundaria, por lo cual se llama siempre a ejbStore abtes de pasivar y a ejbLoad antes de activar NOTAS

Las 2 maneras de lograr persistencia de los beans En un bean-manajed persistence entity bean el programador debe escribir las instrucciones para que las variables del entity bean sean las correspondientes a un dato en una base de datos (saving, loading, and finding) Estas instrucciones van en los métodos de creación (ejbCreate(...)), destrucción (ejbRemove()), localización (ejbFind(...)), carga (ejbload()) y almacenamiento (ejbStore()) Esto generalmente se hace via instrucciones JDBC En los container-managed persistence beans de esto se encarga el container, sólo basta dar algunas directrices para la localización de los datos en un archivo especial (según yo, esto sería una de las gracias más grandes de j2ee) NOTAS

Esquema de creación de un entity bean 1- create() 2- ejbCreate() cliente Home 4- retorna una referencia al EJB object Bean 4- retorna un objeto que representa la clave primaria del ejb creado 5- creación del objeto EJB 3- se crea el dato en la base de datos EJB Object Base de Datos CONTAINER

Webservices Es un protocolo para intercambiar datos/servicios a través de la web Mensajes Basados en XML en formato SOAP simple object access protocol SOAP originalmente desarrollado por microsoft !!!

Webservices Los servicios Web proporcionan una manera de crear aplicaciones que pueden ser accedidas y utilizadas por diferentes clientes utilizando diferentes plataformas. Permite invocar funciones de otras aplicaciones independientemente de cómo se hayan creado las aplicaciones Permite integración de aplicaciones

Web Services: nada más simple Servidor Web Servicio web Mensaje SOAP Mensaje SOAP Programa Cliente

Implementación en java Se debe escribir una clase que contenga métodos que serán los servicios Según el servidor que se use, basta con desplegarlos en una forma adecuada (deployment) Esto generalmente se usa automáticamente En el cliente basta con “ubicar” el servicio por medio de una URL y llamarlo

Ejemplo deploy simple Cálculo raíz cuadrada public class Raiz { public double raizCuadrada(String i1) return Math.sqrt(Integer.parseInt(i1)); } Guardamos clase con extensión .jws en directorio de Axis

Ejemplo deploy simple XML SOAP generado <?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <raizCuadradaResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/> <raizCuadradaReturn xsi:type="xsd:double">2.0</raizCuadradaReturn> </raizCuadradaResponse> </soapenv:Body> </soapenv:Envelope>

Ejemplo deploy simple Cliente que utiliza este Webservice String numero ="465"; Service service = new Service(); Call call = (Call)service.createCall(); call.setTargetEndpointAddress(new URL("http://localhost:8080/axis/Raiz.jws")); call.setOperationName(new QName("http://soapinterop.org/", "RaizCuadrada")); Double returnValue = (Double)call.invoke(new Object[]{numero}); System.out.println("La raiz de "+numero +" es "+returnValue);