Session Beans y Entity Beans. Contenido
|
|
- Valentín Salazar Castro
- hace 5 años
- Vistas:
Transcripción
1 Session Beans y Entity Beans Ignacio Ramos Zapata Departamento de Ingeniería Telemática Universidad Carlos III de Madrid irzapata@it.uc3m.es Contenido Caso de estudio Gestión de recursos Pooling de instancias Activación/pasivación
2 Caso de estudio: Entity Bean Ejemplo entity bean: Cabin modela un camarote en un barco crucero Interfaz component: CabinRemote Interfaz home: CabinHomeRemote Clase: CabinBean la palabra Remote se suele añadir a los nombres de los interfaces remotos para distinguirlos de interfaces locales (que se introdujeron en la especificación 2.0 de los EJB) CMP Entity Bean Cabin es un entity bean CMP, la persistencia por tanto está gestionada por el contenedor La clase bean ha de proporcionar la implementación de los métodos que gestionan el ciclo de vida del bean Determinados por la interfaz javax.ejb.entitybean Es necesario especificar en el deployment descriptor los campos cuya persistencia va a gestionar el container Dicha persistencia es independiente de la base de datos (los hace muy portables)
3 Home Interface: CabinHomeRemote package com.titan.cabin; import java.rmi.remoteexception; import javax.ejb.createexception; import javax.ejb.finderexception; public interface CabinHomeRemote extends javax.ejb.ejbhome { public CabinRemote create(integer id) throws CreateException, RemoteException; public CabinRemote findbyprimarykey(integer pk) throws FinderException, RemoteException; CreateException, FinderException -> excepciones que el Objeto Home lanza cuando no puede crear una instancia cuando dada una clave, no puede encontrar la instancia del EJB Primary Key Class Identifica de manera a una instancia de un bean Tiene que implementar el interfaz java.io.serializable Tiene que ser una clase Se puede usar el tipo String No sirven atributos primitivos como int o float, en su lugar hay que usar wrappers Java tales como Double o Integer
4 Component Interface: CabinRemote package com.titan.cabin; import java.rmi.remoteexception; public interface CabinRemote extends javax.ejb.ejbobject { public String getname()throws RemoteException; public void setname(string str)throws RemoteException; public int getdecklevel()throws RemoteException; public void setdecklevel(int level)throws RemoteException; public int getshipid()throws RemoteException; public void setshipid(int sp)throws RemoteException; public int getbedcount()throws RemoteException; public void setbedcount(int bc)throws RemoteException; [ ] Clase bean: CabinBean (I) package com.titan.cabin; import javax.ejb.entitycontext; import javax.ejb.createexception; public abstract class CabinBean implements javax.ejb.entitybean { public Integer ejbcreate(integer id) throws CreateException { this.setid(id); return id; public void ejbpostcreate(integer id) throws CreateException { El container extiende esta clase (abstracta) y se encarga de proporcionar el código necesario para asegurar la persistencia
5 [ ] Clase bean: CabinBean (II) public abstract void setid(integer id); public abstract Integer getid(); public abstract void setshipid(int ship); public abstract int getshipid( ); public abstract void setname(string name); public abstract String getname( ); public abstract void setbedcount(int count); public abstract int getbedcount( ); public abstract void setdecklevel(int level); public abstract int getdecklevel( ); [ ] El container es responsable de salvar el estado de aquellos campos especificados en el deployment descriptor Hay que proporcionar setters y getters como métodos abstractos (que el container se encarga de implementar) Clase bean: CabinBean (III) public void setentitycontext(entitycontext ctx) { // Not implemented. public void unsetentitycontext() { // Not implemented. public void ejbactivate() { // Not implemented. public void ejbpassivate() { // Not implemented. public void ejbload() { // Not implemented. public void ejbstore() { // Not implemented. public void ejbremove() { // Not implemented. ejbactivate/ejbposivate asociados al proceso de activación/pasivación ejbload/ejbstore se invocan cuando el EJB se carga o se almacena su estado en la DB ejbremove se invoca antes de destruir el EJB
6 Comentarios sobre el Cabin Bean El método ejbcreate debe tener un método create en el Home interface con la misma signatura El Home de entity beans siempre debe definir al menos el método findbyprimarykey En entity beans con persistencia manejada por contendor no necesitan implementarlo (lo hace el contenedor) Los métodos de acceso a atributos persistentes los implementa directamente el contendor Deployment descriptor CabinEJB (I) <!DOCTYPE ejb-jar PUBLIC...> <ejb-jar>- <enterprise-beans> <entity> <ejb-name>cabinejb</ejb-name> <home>com.titan.cabin.cabinhomeremote</home> <remote>com.titan.cabin.cabinremote</remote> <ejb-class>com.titan.cabin.cabinbean</ejb-class> <persistence-type>container</persistence-type> <prim-key-class>java.lang.integer</prim-key-class> <reentrant>false</reentrant> <abstract-schema-name>cabin</abstract-schema-name>
7 Deployment descriptor CabinEJB (II) <cmp-field><field-name>shipid</field-name></cmp-field> <cmp-field><field-name>name</field-name></cmp-field> <cmp-field><field-name>decklevel</field-name></cmp-field> <cmp-field><field-name>bedcount</field-name></cmp-field> <cmp-field><field-name>id</field-name></cmp-field> <primkey-field>id</primkey-field>... </entity> </enterprise-beans> <assembly-descriptor>... </assembly-descriptor> </ejb-jar> Creación de una tabla Cabin en la BD Con la herramienta de instalación (deployment) create table CABIN ( ID int tprimary key NOT NULL, SHIP_ID int, BED_COUNT int, NAME char(30), DECK_LEVEL INT ) Se utiliza para mantener la persistencia. Se suele definir una tabla por cada clase y una columna por cada variable
8 Mapping entre Objetos y DB Relacionales Pool de Conexiones Los entity beans requieren frecuentes pero cortas interacciones con la DB El acceso a los campos cuya persistencia es gestionada por el contenedor No suele ser gran cantidad de información Usar un pool de conexiones puede mejorar el rendimiento Minimiza el tiempo necesario para abrir y la conexión con la DB Permite controlar el número de conexiones abiertas
9 Cliente de CabinEJB (I) package com.titan.clients; import com.titan.cabin.cabinhomeremote; import com.titan.cabin.cabinremote; import javax.naming.initialcontext; import javax.naming.context; import javax.naming.namingexception; import javax.rmi.portableremoteobject; import java.rmi.remoteexception; import java.util.properties; Cliente de CabinEJB (I) // imports public class Client1 { public static void main(string [] args) { try { Context jndicontext = getinitialcontext(); Object ref = jndicontext.lookup("cabinhomeremote"); CabinHomeRemote home = (CabinHomeRemote) PortableRemoteObject. narrow(ref,cabinhomeremote.class); if ( ref!= null ) { System.out.println("Found Cabin Home"); CabinRemote cabin_1=home.create(new Integer(1)); cabin_1.setname("master Suite"); cabin_1.setdecklevel(1); cabin_1.setshipid(1); cabin_1.setbedcount(3);
10 Cliente de CabinEJB (II) Integer pk = new Integer(1); CabinRemote cabin_2 = home.findbyprimarykey(pk); System.out.println(cabin_2.getName()); System.out.println(cabin_2.getDeckLevel()); System.out.println(cabin_2.getShipId()); System.out.println(cabin_2.getBedCount()); catch (java.rmi.remoteexception re) {re.printstacktrace(); catch (javax.naming.namingexception ne) {ne.printstacktrace(); catch (javax.ejb.createexception ce) {ce.printstacktrace(); catch (javax.ejb.finderexception fe) {fe.printstacktrace(); Cliente de CabinEJB (III) public static Context getinitialcontext() throws javax.naming.namingexception{ Properties p = new Properties(); //... specify the JNDI Properties specific to the vendor p.put(context.initial_context_factory, weblogic.jndi.wlinitialcontextfactory ); p.put(context.provider_url, t3://localhost:7001 ); return new javax.naming.initialcontext(p);
11 Pasos del cliente 1. Obtención de una conexión de directorio al contenedor (mediante el servicio JNDI) 2. Hacer un lookup en ese directorio (espacio de nombres) del bean buscado 3. Hacer un narrow de la referencia obtenida 4. Hacer un casting del resultado al objeto de tipo HomeRemote 5. Llamar a create sobre el objeto HomeRemote y obtener el objeto EJB Obtención de una conexión de directorio al contenedor (mediante el servicio JNDI) El objeto InitialContext recibe un objeto Properties que le indica: dónde está el servidor EJB Utility class para crear el InitialContext (dependiente del JNDI service provider) El contexto inicial es como la raíz del sistema de ficheros JNDI permite que el cliente vea los elementos del servidor EJB como directorios en un sistema de ficheros común El proceso de obtención es parecido a obtener una conexión al driver de JDBC Los parámetros concretos del Properties dependen de la implementación Lo practicaréis en la práctica (J2EE 1.3 SDK Reference Implementation)
12 Lookup en el espacio de nombres del bean buscado Object ref = jndicontext.lookup("cabinhomeremote"); El cliente da el nombre del objeto HomeRemote buscado (en el JNDI Global Environment) Veremos que cuando un beanactúa como cliente de otro bean, busca su Home en su JNDI Environment Naming Context (ENC) (un directorio creado al instalar el bean): java:com/env (inicial) java:comp/env/ejb (para los beans a los que accede) También se puede acceder mediante el JNDI a propiedades y otros recursos del contenedor, paso de parámetros en inicialización, etc Narrow y casting CabinHomeRemote home = (CabinHomeRemote) PortableRemoteObject. narrow(ref,cabinhomeremote.class); El narrowes una especie de casting para objetos remotos (RMI sobre IIOP) Comprueba si se puede hacer el casting del objeto a la clase indicada y devuelve la referencia al Object el protocolo se originó en CORBA, como CORBA admite muchos lenguajes, no todos tienen un casting nativo No hace falta hacer narrow si la referencia devuelta tiene directamente el tipo adecuado p.ej. create devuelve un objeto CabinRemote (no necesita narrow)
13 Caso de estudio: Session Bean Ejemplo de session bean: TravelAgent Component Interface: TravelAgentRemote package com.titan.travelagent; import java.rmi.remoteexception; import javax.ejb.finderexception; public interface TravelAgentRemote extends javax.ejb.ejbobject { // String elements follow the format // "id, name, deck level" public String [] listcabins(int shipid, int bedcount) throws RemoteException;
14 Home Interface: TravelAgentHomeRemote package com.titan.travelagent; import java.rmi.remoteexception; import javax.ejb.createexception; public interface TravelAgentHomeRemote extends javax.ejb.ejbhome { public TravelAgentRemote create() throws RemoteException, CreateException; Clase bean: TravelAgentBean (I) public class TravelAgentBean implements javax.ejb.sessionbean { public void ejbcreate()throws CreateException { // Do nothing. public String [] listcabins(int shipid, int bedcount) { try { javax.naming.context jndicontext = new InitialContext(); Object obj = jndicontext.lookup("java:comp/env/ejb/cabinhomeremote"); CabinHomeRemote home = (CabinHomeRemote) javax.rmi.portableremoteobject. narrow(obj,cabinhomeremote.class);
15 Clase bean: TravelAgentBean (II) [...] Vector vect = new Vector(); for (int i = 1; ; i++) { Integer pk = new Integer(i); CabinRemote cabin = null; try { cabin = home.findbyprimarykey(pk); catch(javax.ejb.finderexception fe) { break; // Check to see if the bed count and ship ID match. if (cabin!= null && cabin.getshipid() == shipid && cabin.getbedcount() == bedcount) { String details = i+","+cabin.getname()+","+cabin.getdecklevel(); vect.addelement(details); [...] Clase bean: TravelAgentBean (III) [...] String [] list = new String[vect.size()]; vect.copyinto(list); return list; catch(exception e) {throw new EJBException(e); private javax.naming.context getinitialcontext() throws javax.naming.namingexception { Properties p = new Properties(); //... Specify the JNDI properties specific to the vendor. return new javax.naming.initialcontext(p); [...]
16 Clase bean: TravelAgentBean (IV) [...] public void ejbremove(){ public void ejbactivate(){ public void ejbpassivate(){ public void setsessioncontext (javax.ejb.sessioncontext cntx){ Cliente de TravelAgentEJB (I) public class Client_3 { public static int SHIP_ID = 1; public static int BED_COUNT = 3; public static void main(string [] args) { try { Context jndicontext = getinitialcontext(); Object ref = jndicontext.lookup("travelagenthome"); TravelAgentHomeRemote home = (TravelAgentHomeRemote) PortableRemoteObject. narrow(ref,travelagenthomeremote.class); [...] TravelAgentRemote travelagent = home.create();
17 Cliente de TravelAgentEJB (II) [...] // Get a list of all cabins on ship 1 with a bed count of 3. String list [] = travelagent.listcabins(ship_id,bed_count); for(int i = 0; i < list.length; i++){ System.out.println(list[i]); catch(java.rmi.remoteexception re){re.printstacktrace(); catch(throwable t){t.printstacktrace(); System.exit(0); static public Context getinitialcontext() throws Exception { Properties p = new Properties(); //specify the JNDI properties specific to thevendor return new InitialContext(p); Patrón FAÇADE Esconde al cliente la complejidad del modelo de EJBs
18 Excepciones RemoteException: (RMI) problemas de comunicación remota NamingException: (JNDI) problemas en el servicio de nombres (p.ej. no se encuentra el nombre buscado) Y otras Además, la aplicación debería definir sus propias excepciones, que se lanzan cuando hay problemas en el ejecución en la lógica de negocio Contenido Caso de estudio Gestión de recursos Pooling de instancias Activación/pasivación
19 Pooling de instancias Los clientes no acceden a las instancias directamente, sino a través de objetos EJB (implementación del component interface) El servidor mantiene un pool de instancias, que se asocian a los objetos EJB cuando se requiere Manejo de recursos más eficiente Se aplica a entity beans y a stateless session beans Ciclo de vida de la instancia
20 Asignación de una instancia del pool Swapping de instancias Los stateless session beans no mantienen ningún estado cada cliente puede usar para cada invocación a un método del objeto EJB una instancia distinta Los stateless session beans se declaran como tales en el deployment descriptor (pero se codifican de la misma forma que los stateful)
21 Ejemplo swapping Activación/pasivación Los stateful sessionbeans no participan en pooling de instancias el estado de la conversación con el cliente debe mantenerse durante toda la vida del servicio al cliente El servidor usa activación/pasivaciónpara optimizar la gestión de recursos: Pasivación: disociación del objeto EJB y la instancia del bean, y serialización del estado de la instancia a almacenamiento secundario Activación: restauración del estado de la instancia relativa al objeto EJB Mecanismo transparente al usuario
22 Proceso activación/pasivación
Enterprise JavaBeans Sesión 1: Características básicas de EJB
Especialista en Aplicaciones y Servicios Web con Java Enterprise Enterprise JavaBeans Sesión 1: Características básicas de EJB Enterprise JavaBeans 2003-2004 Depto. Ciencia Computación e IA Características
Más detallesSistemas de Operación 3
Sistemas de Operación 3 Los EJBs proporcionan un modelo de componentes distribuido estándar del lado del servidor. El objetivo de los EJBs es dotar al programador de un modelo que le permita abstraerse
Más detallesSession Beans y Entity Beans Avanzado. Caso de estudio: Entity Bean
Session Beans y Entity Beans Avanzado Ignacio Ramos Zapata Departamento de Ingeniería Telemática Universidad Carlos III de Madrid irzapata@it.uc3m.es Caso de estudio: Entity Bean Ciclo de vida Ejemplos
Más detallesComponentes Distribuidos EJBs. Ing. Cesar Julio Bustacara Medina
Componentes Distribuidos EJBs Ing. Cesar Julio Bustacara Medina Introducción La Clase del Bean Contiene la lógica del Enterprise Bean. Es una clase Java pública, que implementa los métodos de negocios
Más detallesProgramación con EJBs: Entity Beans y Session Beans
UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INGENIERÍA TELEMÁTICA SOFTWARE DE COMUNICACIONES (I.T.T.T) Programación con EJBs: Entity Beans y Session Beans Pablo Basanta Val Florina Almenares Mendoza
Más detallesReutilización de software
Reutilización de software A nivel de clase: Clases y algoritmos JGL A nivel de diseño Patrones de diseño A nivel de arquitectura Arquitectura J2EE 1 Aplicaciones Web Servidor Introducción a la arquitectura
Más detallesÍndice del tema. Entity yy y Session EJBs) Mario Muñoz Organero Departamento de Ingeniería Telemática
EJBs (comprendiendo las Entity yy y Session EJBs) Mario Muñoz Organero Departamento de Ingeniería Telemática http://www.it.uc3m.es/mario Índice del tema Recordatorio: Qué son los Enterprise Java Beans?
Más detalles5.2 Introducción a EJB
5.2 Introducción a EJB Java RMI como tecnología para la construcción de aplicaciones empresariales (1) Aspectos positivos Permite separar físicamente la vista y el controlador del modelo de manera sencilla
Más detallesSoftware de Comunicaciones I.T.T. Especialidad Telemática Escuela Politécnica Superior Universidad Carlos III de Madrid
Duración de los problemas: 1 hora 30 minutos. Duración total del examen: 2 horas 30 minutos. Software de Comunicaciones I.T.T. Especialidad Telemática Escuela Politécnica Superior Universidad Carlos III
Más detalles5.4 Caso de estudio: diseño e implementación de la capa modelo de MiniPortal con EJB. Tipos de EJBs y patrones usados
5.4 Caso de estudio: diseño e implementación de la capa modelo de MiniPortal con EJB. Tipos de EJBs y patrones usados Introducción Qué tipos de EJBs ilustra MiniPortal? Entity Beans CMP (UserProfile) SLSBs
Más detalles4 Encuentro Internacional de Computación Aplicada
4 Encuentro Internacional de Computación Aplicada Arquitectura de Objetos Distribuidos utilizando EJBs Omar Gómez omar@cuci.udg.mx Agenda Arquitectura de Objetos Distribuidos Arquitectura J2EE Componentes
Más detalles5.6.8 Estrategias de generación de claves primarias
5.6.8 Estrategias de generación de claves primarias Estrategias de generación de claves primarias (1) En el apartado 2.3.4 se estudiaron varias estrategias de generación de claves primarias Usar el mecanismo
Más detallesParte II: Java 2 Enterprise Edition. Enterprise JavaBeans. Ignacio Ramos Zapata
Parte II: Java 2 Enterprise Edition Enterprise JavaBeans Ignacio Ramos Zapata Departamento de Ingeniería Telemática Universidad Carlos III de Madrid irzapata@it.uc3m.es Introducción a Enterprise JavaBeans
Más detallesAplicaciones Web Servidor
Reutilización de software A nivel de clase: Clases y algoritmos JGL A nivel de diseño Patrones de diseño A nivel de arquitectura Arquitectura J2EE 2 Aplicaciones Web Servidor Introducción a la arquitectura
Más detallesCurso de Sistemas Distribuidos Facultad de Informática
Componentes en J2EE Curso de Sistemas Distribuidos Facultad de Informática Juan Pavón Mestras Dep. Sistemas Informáticos y Programación Universidad Complutense Madrid Componentes software Se habla de ellos
Más detallesServlets. Contenedor EJB JSP. Enterprise Beans. Enterprise Beans. Enterprise Beans. Messaging (EJB 2.0: JMS, EJB 2.1: +JAXM, )
Introducción a los EJBs Mario Muñoz Organero Departamento de Ingeniería Telemática http://www.it.uc3m.es/mario Panorámica JEE Contenedor Web EIS Cliente Web Browser Cliente Servicios Aplicac. Applet, Cliente
Más detalles'HVDUUROORGH$SOLFDFLRQHV
'HVDUUROORGH$SOLFDFLRQHV FRQ-(( $SOLFDFLRQHV'LVWULEXLGDV0XOWLFDSD &RQWHQLGR Plataforma J2EE Aplicaciones Distribuidas multicapa Arquitectura Multicapa Componentes J2EE Componentes de Clientes: aplicaciones
Más detallesEnterprise JavaBeans
EJBs Enterprise JavaBeans Que son los EJBs? Enterprise JavaBeans (EJB) es una arquitectura de componentes de servidor que simplifica el proceso de construcción de aplicaciones de componentes empresariales
Más detallesUniversidad ORT - Arquitectura de Software. Requisitos
Requisitos Versión 1.5 (o superior) de la JDK de Java NetBeans 6.5 como IDE de desarrollo JBoss 4.2.x como Application Server Variable de entorno de Windows JAVA_HOME apuntando al directorio de instalación
Más detallesDesarrollo de Sistemas Software Basados en Servicios y Componentes
Desarrollo de Sistemas Software Basados en Servicios y Componentes Bloque Docente SERVICIOS WEB Parte 2 Portada Escuela Superior de Ingeniería (ESI) Universidad de Almería Índice Visualización WSDL (servicios
Más detallesJava EE Enterprise Beans (EJB)
Java EE Enterprise Beans (EJB) Aplicaciones Web/Sistemas Web Juan Pavón Mestras Dep. Ingeniería del Software e Inteligencia Artificial Facultad de Informática Universidad Complutense Madrid Material bajo
Más detalles5.5 Tutorial de CMP avanzado
5.5 Tutorial de CMP avanzado Introducción En este apartado constituye un tutorial sobre Soporte para relaciones entre Entity Beans CMP EJB-QL El tutorial gira entorno a la capa modelo de una aplicación
Más detallesEnterprise JavaBeans 2.x. Aplicaciones Distribuidas
Enterprise JavaBeans 2.x Aplicaciones Distribuidas Contenido Motivación. Alternativas implantación del Modelo. Modelado de entidades en EJB. Persistencia BMP. Persistencia CMP 1.x Persistencia CMP 2.x
Más detallesCreación de una aplicación para JBOSS
Creación de una aplicación para JBOSS Requerimientos: Se debe instalar JBOSS junto con Tomcat, JBuilder 5 Personal y MagicDraw UML 5.0 beta con la conexión a JBuilder. JBOSS con Tomcat se puede bajar de
Más detallesUnidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones
Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice
Más detalles5.3 Diseño por capas con Servicios Web
5.3 Diseño por capas con Servicios Web Diseño por capas Misma idea que en CORBA Interfaz de usuario (no WS) Capa de traducción y delegación (WS) Capa de traducción y delegación (WS) IDL Capa de lógica
Más detallesJAVA RMI: ESTRUCTURA INTERNA RMI
Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas Desarrollo de Aplicaciones Distribuidas AUTORES: Alejandro Calderón Mateos Javier García Blas David Expósito Singh Laura Prada Camacho Departamento
Más detallesIntroducción a los EJBs
Introducción a los EJBs Mario Muñoz Organero Departamento de Ingeniería Telemática http://www.it.uc3m.es/mario Panorámica de un Servidor de Información El modelo de aplicaciones J2EE se basa en una arquitectura
Más detallesInvocación de métodos remotos en Java: JAVA - RMI
Diseño Y Aplicaciones de Sistemas Distribuidos Invocación de métodos remotos en Java: JAVA - RMI Joan Vila DISCA / UPV Departament d Informàtica de Sistemes i Computadors Universitat Politècnica de València
Más detallesPROGRAMACIÓN EN JAVA. { una línea para definir, crear o ejecutar ; }
PROGRAMACIÓN EN JAVA { una línea para definir, crear o ejecutar ; } JFC Y API SPECIFICATIONS OBJECT INTERFACE ABSTRACT IMPLEMENTS EXTENDS NEW EXTENDS (Hasta que una clase derivada deje de ser ABSTRACT)
Más detallesJava RMI. Sistemas distribuidos
Java RMI Sistemas distribuidos Entornos orientados a objetos Tendencia actual hacia sistemas compuestos por un conjunto de objetos que interactúan entre sí. Un programa solicita servicios invocando los
Más detallesConstrucciones del Lenguaje Java
Construcciones del Lenguaje Java Autor: Juan Alberto López Cavallotti Versión de Java: 5 / 6 Comentarios Comentario de Línea Comentario Multilínea //Esto es un comentario. /* Esto comenta varias lineas.
Más detallesRMI. Aplicaciones Distribuidas
RMI Aplicaciones Distribuidas Contenido Objetos Distribuidos y RMI. Interface Remota. Clase Implementación. Referencias Remotas. Registro RMI. Paso de parámetros. Descarga dinámica de código. Desarrollo
Más detallesNivel de negocio en J2EE: Enterprise Java Beans
UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INGENIERÍA TELEMÁTICA SOFTWARE DE COMUNICACIONES (I.T.T.T) Nivel de negocio en J2EE: Enterprise Java Beans Pablo Basanta Val Florina Almenares Mendoza Basado
Más detallesEjercicio 4. EJB Sesión - Sistema SGA. Java EE. Ejercicio 4. EJB Sesión Sistema SGA. Curso de Java EE
Java EE Ejercicio 4 EJB Sesión Sistema SGA Objetivo del Ejercicio El objetivo del ejercicio es agregar un EJB de Sesión a nuestro proyecto SGA (Sistema de Gestión de Alumnos), el cual desarrollaremos a
Más detallesEnterprise JavaBeans 3. Aplicaciones Distribuidas
Enterprise JavaBeans 3 Aplicaciones Distribuidas Contenido Introducción Motivación Características básicas Servicios integrados en EJB 3 Ejemplo Hola Mundo Inyección de dependencia Tipos de EJB 3 Conclusiones
Más detallesPROGRAMACIÓN ORIENTADA A OBJETOS 1/7/2009. Examen de Java. Nombre: DNI: Titulación:
Examen de Java Nombre: DNI: Titulación: 1. Sea una aplicación Java donde todas las clases están compiladas y empaquetas en un solo fichero JAR (programa.jar). Qué sería necesario para conseguir ejecutar
Más detallesDiseño de tipos Igualdad, representación, código, copia y relación de orden
Práctica 4 Diseño de tipos Igualdad, representación, código, copia y relación de orden Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.1 Índice Gestión de excepciones
Más detallesInvocación de Métodos Remotos: Prácticas de Laboratorio
Invocación de Métodos Remotos: Prácticas de Laboratorio XIII Jornadas de Enseñanza Universitaria de la Informática Teruel, 16-18 de julio de 2007 Coromoto León Hernández, Gara Miranda Valladares (cleon
Más detallesJava RMI Remote Method Invocation. Invocación Remota de Métodos en Java
Java RMI Remote Method Invocation Invocación Remota de Métodos en Java Contenido Introducción Implementación Diseño de la interfaz remota. Implementación de la interfaz remota. Obtención de las clases
Más detallesSistemas Distribuidos Java RMI (Remote Method Invocation) Alberto Lafuente Mikel Larrea Dpto. ATC, UPV/EHU
Sistemas Distribuidos Java RMI (Remote Method Invocation) Alberto Lafuente Mikel Larrea Dpto. ATC, UPV/EHU Contenido Interfaz Implementación Servidor Cliente Puesta en marcha de la aplicación: Compilador
Más detallesMagister en Ingeniería de Software
Magister en Ingeniería de Software Universidad Nacional de La Plata Facultad de Informática Tesis Migración hacia un modelo de persistencia orientado a objetos Desarrollada por Nelson O. Di Grazia Dirigida
Más detallesAPLICACIONES EMPRESARIALES CON JEE. Profesores: Andrés Farías
APLICACIONES EMPRESARIALES CON JEE Profesores: Andrés Farías Agenda INTRODUCCIÓN REACH Introducción Evolución de las aplicaciones Global WEB APPLICATIONS 2004 RICH INTERNET APPLICATIONS (RIAs) 1998 Local
Más detallesQué ofrece Autentia Real Business Solutions S.L?
Avenida de Castilla,1 - Edificio Best Point - Oficina 21B 28830 San Fernando de Henares (Madrid) tel./fax: +34 91 675 33 06 info@autentia.com - www.autentia.com Qué ofrece Autentia Real Business Solutions
Más detalles5.1 Introducción a las tecnologías de objetos distribuidos con Java RMI
5.1 Introducción a las tecnologías de objetos distribuidos con Java RMI Contenidos Tutorial de Java RMI Caso de estudio: diseño e implementación de la capa modelo de MiniBank con Java RMI Arquitectura
Más detallesPROGRAMACION DISTRIBUIDA MobileTracker: Ejemplo de implementación con RMI
PROGRAMACION DISTRIBUIDA MobileTracker: Ejemplo de implementación con RMI Héctor Pérez 2 MobileTracker: Especificación El computador de la torre de control ejecuta el servicio Follower que registra los
Más detallesFRAMEWORK 2 Recepción de SMS
FRAMEWORK 2 Versión 1.1 Área de Integración y Arquitectura de Aplicaciones Hoja de Control Título Documento de Referencia Responsable FW2_MUS_Recepcion_SMS Área de Integración y Arquitectura de Aplicaciones
Más detallesClases abstractas e interfaces en Java
Clases abstractas e interfaces en Java Clases abstractas public abstract class Figura { private String _nombre; public Figura (string nombre) { _nombre = nombre; final public boolean mayor_que (Figura
Más detallesObjetos Distribuidos
Objetos Distribuidos Objetos Distribuidos Conceptos Estado: encapsula los datos Métodos: operaciones sobre los datos Interfaz: se utiliza para la disponibilidad de los métodos El Estado y la Interfaz se
Más detallesEl primer paso a realizar es crear la referencia JNDI para el origen de datos en el servidor local TomCat.
Conectar Base de Datos MySQL con JSF El primer paso a realizar es crear la referencia JNDI para el origen de datos en el servidor local TomCat. Comentar que antes, tenemos que crear la Base de Datos Wiki
Más detallesOracle 10g: Creación de Aplicaciones J2EE
Oracle University Contacte con nosotros: 902 302 302 Oracle 10g: Creación de Aplicaciones J2EE Duración: 5 Días Lo que aprenderá Este curso enseña a los desarrolladores a crear aplicaciones J2EE mediante
Más detallesTESIS QUE PRESENTAN LOS ALUMNOS
UNIDAD IZTAPALAPA DIVISION DE CIENCIAS BASICAS E INGENIERIA TESIS QUE PRESENTAN LOS ALUMNOS GALICIA ORTEGA ROSALBA MATRICULA 97215457 MUJICA MOTA CARLOS MATRICULA 97219515 PARA LA OBTENCION DEL GRADO DE
Más detallesCentro Asociado Palma de Mallorca. Antonio Rivero Cuesta
Centro Asociado Palma de Mallorca Antonio Rivero Cuesta La Sintaxis de Java I... 5 Tipos de datos... 6 Tipos de datos simples... 7 Operadores... 11 Operadores Aritméticos... 12 Operadores relacionales...
Más detallesDesarrollo de Componentes de Negocio con Tecnología
Desarrollo de Componentes de Negocio con Tecnología Empresarial Java Beans Modalidad Online Horario Flexible Descuento Alumnos Duración 180 horas Nivel Superior Subvención Empresas Descripción Detallada
Más detallesJava RMI. Sistemas Distribuidos Rodrigo Santamaría
+ Java RMI Sistemas Distribuidos Rodrigo Santamaría RMI Java RMI 2 + RMI 3 Remote Method Invocation: middleware para que un objeto que se ejecuta en una JVM use métodos de otro objeto que se ejecuta en
Más detallesJavaBeans Enterprise Construir Nuestro Primer Bean de Sesión sin Estado
JavaBeans Enterprise Construir Nuestro Primer Bean de Sesión sin Estado Sobre este Tutorial Sobre el Ejemplo Introducción a los JavaBeans Enterprise Construir Nuestro Pimer Bean de Sesión sin Estado Paso
Más detallesPROGRAMACIÓN ORIENTADA A OBJETOS 10/02/2009. Examen de Java. Nombre: DNI: Titulación:
Examen de Java Nombre: DNI: Titulación: 1. Cómo podemos compilar desde la línea de comandos la clase Java A que utiliza una librería empaquetada bd.jar? 2. Indica si es correcto el siguiente código. Justifica
Más detallesInstituto Tecnológico de Costa Rica Sede Regional San Carlos Escuela de Ingeniería en Computación
Instituto Tecnológico de Costa Rica Sede Regional San Carlos Escuela de Ingeniería en Computación Desarrollo de Funcionalidades para el Sistema de Intermediación de Valores para Fondos de Inversión y Puestos
Más detallesExcepciones. Excepciones
Excepciones FJP Unidad 12 Excepciones Una excepción es la representación de una condición de error o cualquier situación no esperada en el resultado de un método. Son instancias de subclases de la clase
Más detallesGuía del Curso Analista Programador Java: Business Apps Expert
Guía del Curso Analista Programador Java: Business Apps Expert Modalidad de realización del curso: Número de Horas: Titulación: Online 600 Horas Diploma acreditativo con las horas del curso OBJETIVOS UML
Más detallesExamen Teórico Convocatoria de Junio de 2012
Examen Teórico Convocatoria de Junio de 2012 Nombre: DNI: Titulación: 1. Sobre el control de errores en Java: a) El siguiente método contiene un error de compilación debido al uso de excepciones. Explica
Más detallesCarlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas
2 - Introducción al lenguaje Java, identificadores y comentarios. Carlos Montenegro Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 1. Introducción: Java tiene como todos
Más detalles1. Visión general de RMI
1. Visión general de RMI Java RMI permite al programador ejecutar métodos de objetos remotos utilizando la misma semántica que si fueran invocaciones locales (Véase Figura 1). Máquina Local (Cliente) Máquina
Más detalles1. Posicionarse en la vista Services y seleccionar el ítem Servers. En el menú contextual del Mouse seleccionar la opción Add Server
Requisitos Versión 1.5 (o superior) de la JDK de Java NetBeans 6 como IDE de desarrollo JBoss 4.2.x como Application Server Variable de entorno de Windows JAVA_HOME apuntando al directorio de instalación
Más detallesJEE Enterprise Java Beans
JEE Enterprise Java Beans Sistemas Distribuidos Reny Alvarado. Caracas, Febrero 2007 Aspectos a tratar Java. JEE Java Platform, Enterprise Edition Modelo de Aplicación de JavaEE Arquitectura multicapas
Más detallesIntroducción a Java. Fernando Cerezal López. 24 Noviembre 2005
24 Noviembre 2005 disponibles de acceso public private protected de tipo static abstract final modificadores más avanzados que no vamos a ver... Clase Sintaxis modificadores class nombreclase{} Tipos primitivos
Más detallesQué es Java? Un lenguaje de programación Un entorno de desarrollo Un entorno de aplicación Un entorno de despliegue Es similar en sintaxis de C + +.
APUNTES DE JAVA Agenda Bienvenida Conociendo Java La Maquina Virtual Descargar e instalar el compilador El entorno de trabajo El paradigma de la programación orientada a objetos Qué es Java? Un lenguaje
Más detallesIntroducción. 50,SURSRUFLRQDFRPXQLFDFLyQUHPRWDHQWUHSURJUDPDVHVFULWRVHQHOOHQJXDMHGH SURJUDPDFLyQ-DYD
6LVWHPDV'LVWULEXLGRV 5HPRWH0HWKRG,QYRFDWLRQ $UWXUR'tD]3pUH] Sección de Computación Departamento de Ingeniería Eléctrica CINVESTAV-IPN Av. Instituto Politécnico Nacional No. 2508 Col. San Pedro Zacatenco
Más detalles3.8 Patrón Default servant. Políticas del POA asociadas
3.8 Patrón Default servant. Políticas del POA asociadas Introducción Cómo minimizar la cantidad de memoria que necesita un servidor para soportar un gran número de objetos? Servant por defecto => permite
Más detallesLa capa de Negocio de la Arquitectura Java EE
La capa de Negocio de la Arquitectura Java EE Autores: Dirección: Simon Pickin Florina Almenárez Mendoza Natividad Martínez Madrid Pablo Basanta Val Departamento de Ingeniería Telemática Universidad Carlos
Más detallesExamen parcial Convocatoria de junio de 2005 FUNDAMENTOS DE LA PROGRAMACIÓN
EJERCICIO 1 (1.5 puntos) Diseñe un conjunto de casos de prueba adecuado para comprobar el funcionamiento de un método encargado de calcular la duración de una llamada telefónica. Entradas Hora de inicio
Más detallesUnidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos
Unidad Didáctica 3 Tipos genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Definición de tipo genérico Hablamos de un tipo genérico cuando el tipo en cuestión depende
Más detallesIngeniería del Software Separación entre Presentación y Lógica del Negocio
Introducción En este laboratorio desarrollaremos una aplicación que verifica si una cuenta y un password son correctos. En dicha aplicación la presentación y la lógica del negocio se definirán en dos capas
Más detallesExamen Teórico. Convocatoria de Julio de 2015
Examen Teórico Convocatoria de Julio de 2015 Nombre: DNI: Grupo: 1. Sobre la ejecución de aplicaciones Java desde la línea de comandos: a) Explica el significado y uso del parámetro cp. b) Indica si la
Más detallesRemote Method Invocation (RMI)
Remote Method Invocation (RMI) Metas La meta principal de los diseñadores de RMI fue la de permitir a los programadores el desarrollo de programas distribuidos en JAVA, usando la misma sintáxis y semántica
Más detallesJAVA RMI (REMOTE METHOD INVOCATION)
JAVA RMI (REMOTE METHOD INVOCATION) RMI RMI (Remote Method Invocation) Mecanismo RPC de Mecanismo mediante el cual los procesos cliente y servidor en una aplicación distribuida se comunican Una aplicación
Más detallesLlamada a procedimientos remotos. Programación en Red, Tema 3: RMI
Tema 3: Programación en Red, RMI 1 Llamada a procedimientos remotos 2 Previo: Objetos e interfaces en JAVA Object 1 Object 2 Interface 1 Data m1 m2 m3 implementation { of methods public class Client {
Más detallesTema 2: Programación en Red, RMI
Llamada a procedimientos remotos Tema 2: Programación en Red, RMI 1 2 Previo: Objetos e interfaces en JAVA Object 1 public class Client { private Client() { public static void main(string[] args) { Hello
Más detallesHOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA
Estructura de la Información en Programación I.T.I.G., Matemáticas. Curso 2008/2009 Nombre:... Fecha: / 01 / 2009 HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA Esta hoja de ejercicios nos servirá
Más detallesInterfaces. Amparo López Gaona. Septiembre de Amparo López Gaona () Interfaces Septiembre de / 1
Interfaces Amparo López Gaona Septiembre de 2008 Amparo López Gaona () Interfaces Septiembre de 2008 1 / 1 Interfaces Las interfaces Java permiten al diseñador de clases establecer su forma definiendo
Más detallesJAVA ENTERPRISE EDITION (J2EE) ARQUITECTURA TECNOLOGÍAS (1/2) (L1)
TECNOLOGÍAS (1/2) (L1) EJB ( Enterprise Java Beans ) JSP ( Java Server Pages ) JNDI ( Java Naming and Directory Interface ) JDBC ( Java Data Base Connectivity ) Java Mail JSF ( Java Server Faces ) TECNOLOGÍAS
Más detallesPráctica 5: Common Object Request Broker Architecture CORBA
Práctica 5: Common Object Request Broker Architecture CORBA Aplicaciones Telemáticas II Introducción El objetivo de esta práctica es entender mejor el funcionamiento de CORBA (Common Object Request Broker
Más detallesExamen Teórico. Convocatoria de Febrero de 2015
Examen Teórico Convocatoria de Febrero de 2015 Nombre: DNI: Grupo: 1. Contesta de forma razonada a las siguientes cuestiones relacionadas con los ficheros.jar: a) Para qué se utilizan los ficheros con
Más detallesModelo de Objetos Distribuidos
Remote Method Invocation Modelo de Objetos Distribuidos Un objeto remoto es un objeto cuyos métodos pueden ser invocados desde otra máquina virtual de java, potencialmente en un host diferente. Modelo
Más detallesVariables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.
Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1
Más detallesExamen Teórico. Convocatoria de Febrero de 2016
Examen Teórico Convocatoria de Febrero de 2016 Nombre: DNI: Grupo: 1. Responde a las siguientes cuestiones: a) Un programador Java empaqueta el código de un proyecto en el fichero videojuego.jar cuya clase
Más detallesCódigo Fuente. Creamos en C:\ una carpeta para ubicar el código fuente del servidor. En mi caso, he creado una carpeta denominada rmi4
EL EJEMPLO El proceso servidor provoca un eco de la entrada de teclado enviada por el proceso cliente. Por sencillez, ejecutaremos tanto el servidor como el cliente en la máquina local. El sistema operativo
Más detalles5.4 Caso de estudio: diseño e implementación de la capa modelo de MiniBank con EJB
5.4 Caso de estudio: diseño e implementación de la capa modelo de MiniBank con EJB Introducción La arquitectura de la capa modelo de MiniBank es igual que la de MiniPortal Paquetes nuevos en la capa modelo
Más detallesCOMPONENTES Y CONTENEDORES. Ingeniería de Software II
COMPONENTES Y CONTENEDORES Ingeniería de Software II Motivación Los componentes son paquetes de software o módulos que encapsulan un conjunto de funciones similares. Estos componentes viven dentro de un
Más detalles18. Interfaces Declaración de una interfaz
Programación orientada a objetos con Java 191 18. Interfaces Objetivos: a) Definir el concepto de interfaz b) Interpretar el código fuente de una aplicación Java donde aparecen interfaces c) Construir
Más detallesLlamada a métodos remotos (RMI). Curso 04/05. Tema 9. Departament d Informàtica. Universitat de València. 1. Introducción 2
Tema 9 Llamada a métodos remotos (RMI). Departament d Informàtica. Índice 1. Introducción 2 1.1. Cómo funciona RMI?.......................................... 2 2. Usando RMI 4 2.1. Fase de desarrollo:
Más detallesRMI [Remote Method Invocation]
RMI [Remote Method Invocation] Cuando utilizamos sockets, hemos de preocuparnos de cómo se transmiten físicamente los datos entre los extremos de una conexión (a nivel de bytes, ya que usamos los streams
Más detallesPráctica 2: Java Remote Method Invocation (RMI)
Práctica 2: Java Remote Method Invocation (RMI) Aplicaciones Telemáticas II Introducción El objetivo de esta práctica es conocer un poco más sobre el paradigma de objetos remotos. La idea principal es
Más detallesImplementación de clientes con CORBA y Java
Implementación de clientes con CORBA y Java Sistemas Distribuidos: Programación con CORBA Juan Pavón Mestras Dep. Sistemas Informáticos y Programación Universidad Complutense Madrid Facultad de Informática,
Más detalles(Dibujo de arquitectura de Ebay) Arquitectura software en capas. Arquitectura Web Multicapa. Tema 6: datos: ficheros o bbdd. 2. Capa Presentación:
Tema 6: Arquitectura Web Multicapa 1 Arquitectura software en capas (Dibujo de arquitectura de Ebay) Capa Presentación: genera pantallas, crea código formato. Capa Lógica negocio: objetos aplicación que
Más detallesArquitectura Cliente/Servidor. Invocación de Métodos Remotos RMI: Remote Method Invocation. Llamadas a Métodos Remotos
Invocación de Métodos Remotos RMI: Remote Method Invocation Prof Wílmer Pereira Universidad Simón Bolívar Arquitectura Cliente/Servidor Cliente Request Reply Servidor Cómo permitir comunicación entre objetos
Más detallesProgramación en Red, Tema 4: RMI. Llamada a procedimientos remotos. Automatización Ventas ebay. Llamada a procedimientos remotos. Server.
Tema 4: Programación en Red, RMI 22 Llamada a procedimientos remotos 24 Automatización Ventas ebay Envio(..), NuevaCompra(..),. Tienda Abierta 24*7 SOAP / RMI Actualiza(..), Comprador GET.. POST.. HTTP
Más detallesA. Goñi, J. Ibáñez, J. Iturrioz, J.A. Vadillo OCW 2013
4.3: Computación distribuida: Java RMI A. Goñi, J. Ibáñez, J. Iturrioz, J.A. Vadillo OCW 2013 Indice RMI: Introducción Construcción de aplicaciones RMI Dfii Definir Interfaz remota Implementar interfaz
Más detallesEstructuras de control selectivas
Práctica 3 Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 2.0.2 Concepto de sentencia y estructura de control El cuerpo de los métodos
Más detalles