Session Beans y Entity Beans. Contenido

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Session Beans y Entity Beans. Contenido"

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

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 detalles

Sistemas de Operación 3

Sistemas 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 detalles

Session Beans y Entity Beans Avanzado. Caso de estudio: Entity Bean

Session 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 detalles

Componentes Distribuidos EJBs. Ing. Cesar Julio Bustacara Medina

Componentes 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 detalles

Programación con EJBs: Entity Beans y Session Beans

Programació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 detalles

Reutilización de software

Reutilizació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

Í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 detalles

5.2 Introducción a EJB

5.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 detalles

Software de Comunicaciones I.T.T. Especialidad Telemática Escuela Politécnica Superior Universidad Carlos III de Madrid

Software 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 detalles

5.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 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 detalles

4 Encuentro Internacional de Computación Aplicada

4 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 detalles

5.6.8 Estrategias de generación de claves primarias

5.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 detalles

Parte II: Java 2 Enterprise Edition. Enterprise JavaBeans. Ignacio Ramos Zapata

Parte 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 detalles

Aplicaciones Web Servidor

Aplicaciones 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 detalles

Curso de Sistemas Distribuidos Facultad de Informática

Curso 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 detalles

Servlets. Contenedor EJB JSP. Enterprise Beans. Enterprise Beans. Enterprise Beans. Messaging (EJB 2.0: JMS, EJB 2.1: +JAXM, )

Servlets. 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 'HVDUUROORGH$SOLFDFLRQHV FRQ-(( $SOLFDFLRQHV'LVWULEXLGDV0XOWLFDSD &RQWHQLGR Plataforma J2EE Aplicaciones Distribuidas multicapa Arquitectura Multicapa Componentes J2EE Componentes de Clientes: aplicaciones

Más detalles

Enterprise JavaBeans

Enterprise 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 detalles

Universidad ORT - Arquitectura de Software. Requisitos

Universidad 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 detalles

Desarrollo de Sistemas Software Basados en Servicios y Componentes

Desarrollo 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 detalles

Java EE Enterprise Beans (EJB)

Java 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 detalles

5.5 Tutorial de CMP avanzado

5.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 detalles

Enterprise JavaBeans 2.x. Aplicaciones Distribuidas

Enterprise 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 detalles

Creación de una aplicación para JBOSS

Creació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 detalles

Unidad 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 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 detalles

5.3 Diseño por capas con Servicios Web

5.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 detalles

JAVA RMI: ESTRUCTURA INTERNA RMI

JAVA 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 detalles

Introducción a los EJBs

Introducció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 detalles

Invocación de métodos remotos en Java: JAVA - RMI

Invocació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 detalles

PROGRAMACIÓN EN JAVA. { una línea para definir, crear o ejecutar ; }

PROGRAMACIÓ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 detalles

Java RMI. Sistemas distribuidos

Java 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 detalles

Construcciones del Lenguaje Java

Construcciones 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 detalles

RMI. Aplicaciones Distribuidas

RMI. 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 detalles

Nivel de negocio en J2EE: Enterprise Java Beans

Nivel 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 detalles

Ejercicio 4. EJB Sesión - Sistema SGA. Java EE. Ejercicio 4. EJB Sesión Sistema SGA. Curso de Java EE

Ejercicio 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 detalles

Enterprise JavaBeans 3. Aplicaciones Distribuidas

Enterprise 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 detalles

PROGRAMACIÓN ORIENTADA A OBJETOS 1/7/2009. Examen de Java. Nombre: DNI: Titulación:

PROGRAMACIÓ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 detalles

Diseño de tipos Igualdad, representación, código, copia y relación de orden

Diseñ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 detalles

Invocación de Métodos Remotos: Prácticas de Laboratorio

Invocació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 detalles

Java 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 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 detalles

Sistemas 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 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 detalles

Magister en Ingeniería de Software

Magister 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 detalles

APLICACIONES EMPRESARIALES CON JEE. Profesores: Andrés Farías

APLICACIONES 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 detalles

Qué ofrece Autentia Real Business Solutions S.L?

Qué 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 detalles

5.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 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 detalles

PROGRAMACION DISTRIBUIDA MobileTracker: Ejemplo de implementación con RMI

PROGRAMACION 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 detalles

FRAMEWORK 2 Recepción de SMS

FRAMEWORK 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 detalles

Clases abstractas e interfaces en Java

Clases 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 detalles

Objetos Distribuidos

Objetos 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 detalles

El primer paso a realizar es crear la referencia JNDI para el origen de datos en el servidor local TomCat.

El 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 detalles

Oracle 10g: Creación de Aplicaciones J2EE

Oracle 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 detalles

TESIS QUE PRESENTAN LOS ALUMNOS

TESIS 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 detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro 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 detalles

Desarrollo de Componentes de Negocio con Tecnología

Desarrollo 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 detalles

Java RMI. Sistemas Distribuidos Rodrigo Santamaría

Java 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 detalles

JavaBeans Enterprise Construir Nuestro Primer Bean de Sesión sin Estado

JavaBeans 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 detalles

PROGRAMACIÓN ORIENTADA A OBJETOS 10/02/2009. Examen de Java. Nombre: DNI: Titulación:

PROGRAMACIÓ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 detalles

Instituto 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 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 detalles

Excepciones. Excepciones

Excepciones. 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 detalles

Guía del Curso Analista Programador Java: Business Apps Expert

Guí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 detalles

Examen Teórico Convocatoria de Junio de 2012

Examen 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 detalles

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

Carlos 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 detalles

1. Visión general de RMI

1. 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 detalles

1. Posicionarse en la vista Services y seleccionar el ítem Servers. En el menú contextual del Mouse seleccionar la opción Add Server

1. 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 detalles

JEE Enterprise Java Beans

JEE 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 detalles

Introducción a Java. Fernando Cerezal López. 24 Noviembre 2005

Introducció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 detalles

Qué 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 + +.

Qué 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 detalles

Introducción. 50,SURSRUFLRQDFRPXQLFDFLyQUHPRWDHQWUHSURJUDPDVHVFULWRVHQHOOHQJXDMHGH SURJUDPDFLyQ-DYD

Introducció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 detalles

3.8 Patrón Default servant. Políticas del POA asociadas

3.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 detalles

La capa de Negocio de la Arquitectura Java EE

La 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 detalles

Examen parcial Convocatoria de junio de 2005 FUNDAMENTOS DE LA PROGRAMACIÓN

Examen 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 detalles

Unidad 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 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 detalles

Ingeniería del Software Separación entre Presentación y Lógica del Negocio

Ingenierí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 detalles

Examen Teórico. Convocatoria de Julio de 2015

Examen 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 detalles

Remote Method Invocation (RMI)

Remote 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 detalles

JAVA RMI (REMOTE METHOD INVOCATION)

JAVA 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 detalles

Llamada a procedimientos remotos. Programación en Red, Tema 3: RMI

Llamada 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 detalles

Tema 2: Programación en Red, RMI

Tema 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 detalles

HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA

HOJA 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 detalles

Interfaces. Amparo López Gaona. Septiembre de Amparo López Gaona () Interfaces Septiembre de / 1

Interfaces. 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 detalles

JAVA ENTERPRISE EDITION (J2EE) ARQUITECTURA TECNOLOGÍAS (1/2) (L1)

JAVA 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 detalles

Práctica 5: Common Object Request Broker Architecture CORBA

Prá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 detalles

Examen Teórico. Convocatoria de Febrero de 2015

Examen 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 detalles

Modelo de Objetos Distribuidos

Modelo 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 detalles

Variables. 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: 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 detalles

Examen Teórico. Convocatoria de Febrero de 2016

Examen 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 detalles

Código Fuente. Creamos en C:\ una carpeta para ubicar el código fuente del servidor. En mi caso, he creado una carpeta denominada rmi4

Có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 detalles

5.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 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 detalles

COMPONENTES Y CONTENEDORES. Ingeniería de Software II

COMPONENTES 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 detalles

18. Interfaces Declaración de una interfaz

18. 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 detalles

Llamada a métodos remotos (RMI). Curso 04/05. Tema 9. Departament d Informàtica. Universitat de València. 1. Introducción 2

Llamada 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 detalles

RMI [Remote Method Invocation]

RMI [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 detalles

Práctica 2: Java Remote Method Invocation (RMI)

Prá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 detalles

Implementación de clientes con CORBA y Java

Implementació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:

(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 detalles

Arquitectura Cliente/Servidor. Invocación de Métodos Remotos RMI: Remote Method Invocation. Llamadas a Métodos Remotos

Arquitectura 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 detalles

Programación en Red, Tema 4: RMI. Llamada a procedimientos remotos. Automatización Ventas ebay. Llamada a procedimientos remotos. Server.

Programació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 detalles

A. Goñi, J. Ibáñez, J. Iturrioz, J.A. Vadillo OCW 2013

A. 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 detalles

Estructuras de control selectivas

Estructuras 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