5.4 Caso de estudio: diseño e implementación de la capa modelo de MiniPortal con EJB. Tipos de EJBs y patrones usados
|
|
- Isabel Pérez Plaza
- hace 8 años
- Vistas:
Transcripción
1 5.4 Caso de estudio: diseño e implementación de la capa modelo de MiniPortal con EJB. Tipos de EJBs y patrones usados
2 Introducción Qué tipos de EJBs ilustra MiniPortal? Entity Beans CMP (UserProfile) SLSBs (UserFacade) Ambos tipos de EJBs se estudian viendo las diferencias con sus contrapartidas Qué patrones de diseño ilustra MiniPortal? Algunos de los estudiados en MiniBank Value Object Session Facade Business Delegate Service Locator
3 Estructura de paquetes Se han añadido los siguientes paquetes al modelo de MiniPortal es.udc.fbellas.j2ee.miniportal.model.userprofile.ejb es.udc.fbellas.j2ee.miniportal.model.userfacade.ejb es.udc.fbellas.j2ee.miniportal.model.userfacade.ejb.actio ns
4 es.udc.fbellas.j2ee.miniportal.model.userprofile.ejb (1) <<Interface>> EJBHome (from ejb) <<Interface>> UserProfileHome + create(userprofilevo : UserProfileVO) : UserProfile + findbyprimarykey(loginname : String) : UserProfile <<instantiate>> <<Interface>> EJBObject (from ejb) <<Interface>> UserProfile + getuserprofilevo() : UserProfileVO + setuserprofiledetailsvo(userprofiledetailsvo : UserProfileDetailsVO) : void + setencryptedpassword(encryptedpassword : String) : void
5 es.udc.fbellas.j2ee.miniportal.model.userprofile.ejb (y 2) <<Interface>> EntityBean (from ejb) UserProfileEJB + loginname : String + encryptedpassword : String + firstname : String + surname : String + String + language : String + country : String
6 es.udc.fbellas.j2ee.miniportal.model.userprofile.ejb.userprofileejb (1) public class UserProfileEJB implements EntityBean { public String loginname; public String encryptedpassword; public String firstname; public String surname; public String ; public String language; public String country; public String ejbcreate (UserProfileVO userprofilevo) { loginname = userprofilevo.getloginname(); encryptedpassword = userprofilevo.getencryptedpassword(); setuserprofiledetailsvo(userprofilevo. getuserprofiledetailsvo()); return null; // The returned value is ignored by the container. }
7 es.udc.fbellas.j2ee.miniportal.model.userprofile.ejb.userprofileejb (2) public void ejbpostcreate(userprofilevo userprofilevo) {} public void ejbremove() {} public void setentitycontext(entitycontext entitycontext) {} public void unsetentitycontext() {} public void ejbload() {} public void ejbstore() {} public void ejbactivate() {} public void ejbpassivate() {} public UserProfileVO getuserprofilevo() { return new UserProfileVO(loginName, encryptedpassword, new UserProfileDetailsVO(firstName, surname, , language, country)); }
8 es.udc.fbellas.j2ee.miniportal.model.userprofile.ejb.userprofileejb (y 3) public void setuserprofiledetailsvo( UserProfileDetailsVO userprofiledetailsvo) { firstname = userprofiledetailsvo.getfirstname(); surname = userprofiledetailsvo.getsurname(); = userprofiledetailsvo.get (); language = userprofiledetailsvo.getlanguage(); country = userprofiledetailsvo.getcountry(); } public void setencryptedpassword(string encryptedpassword) { this.encryptedpassword = encryptedpassword; } }
9 Comentarios (1) Mismo ciclo de vida que un Entity Bean BMP Atributos gestionados por el contenedor En UserProfileEJB loginname, encryptedpassword, firstname, surname, , language y country Restricciones Tipos básicos Tipos serializables Referencias a interfaces Home o remotos de EJBs Deben ser públicos
10 Comentarios (2) Cómo gestiona la persistencia el contenedor? Depende del fabricante Una estrategia sería usar la serialización de Java, pero ello impide hacer consultas eficientemente La mayor parte son capaces de mapear entity beans a tablas de una BD relacional Algunos sólo permiten usar atributos de tipos que tienen correspondencia directa con los de JDBC (los básicos, String, java.util.date, etc.) y que corresponden a una columna de una tabla Otros implementan una estrategia más compleja o soportan integración con herramientas de mapeo objeto/relacional, con lo que permiten automatizar la persistencia de Entity Beans muy complejos (ej.: con propiedades multivaluadas, con propiedades estructuradas multivaluadas, etc.) En el caso de una BD relacional, el estado del Entity Bean se almacena en varias filas de varias tablas Algunos también también admiten integración con bases de datos objetuales Requiere configuración en deployment
11 ejbcreate Comentarios (3) El contenedor lo llama antes de que inserte la instancia en BD El programador es responsable de inicializar correctamente los atributos gestionados por el contenedor El contenedor usará estos valores para insertar la instancia en BD Debe devolver null ejbpostcreate El contenedor lo llama después de insertar la instancia en BD
12 ejbremove Comentarios (y 4) El contenedor lo llama antes de que elimine la instancia de BD ejbload El contenedor lo llama después de que haya leído el valor de los atributos de BD ejbstore El contenedor lo llama antes de que vaya a guardar el valor de los atributos en BD Métodos ejbfindxxx El programador no implementa estos métodos
13 es.udc.fbellas.j2ee.miniportal.model.userfacade.ejb (1) <<Interface>> EJBHome (from ejb) <<Interface>> EJBObject (from ejb) <<Interface>> UserFacadeHome + create() : UserFacade <<instantiate>> <<Interface>> UserFacade + registeruser(loginname : String, clearpassword : String, userprofiledetailsvo : UserProfileDetailsVO) : void + login(loginname : String, password : String, passwordisencrypted : boolean) : LoginResultVO + finduserprofile() : UserProfile + updateuserprofiledetails(userprofiledetailsvo : UserProfileDetailsVO) : void + changepassword(oldclearpassword : String, newclearpassword : String) : void
14 es.udc.fbellas.j2ee.miniportal.model.userfacade.ejb (2) <<Interface>> SessionBean (from ejb) <<Interface>> Serializable (from io) UserFacadeEJB - userfacadestate : UserFacadeState 1 UserFacadeState - userprofile : UserProfile + getuserprofile() : UserProfile + setuserprofile(userprofile : UserProfile) : void <<use>> actions
15 es.udc.fbellas.j2ee.miniportal.model.userfacade.ejb (y 3) <<Interface>> UserFacadeDelegate (from delegate) EJBUserFacadeDelegate <<static>> - userfacadehomejndiname : String - userfacade : UserFacade + EJBPortalFacadeDelegate() <<use>> <<use>> <<use>> <<Interface>> UserFacadeHome <<Interface>> UserFacade EJBHomeLocator (from ejb)
16 es.udc.fbellas.j2ee.miniportal.model.userfacade.ejb.actions (1) UserFacadeHelper - UserFacadeHelper() <<static>> + getuserprofile(loginname : String) : UserProfile <<static>> + getuserprofilehome() : UserProfileHome <<use>> EJBHomeLocator (from ejb)
17 es.udc.fbellas.j2ee.miniportal.model.userfacade.ejb.actions (y 2) LoginAction - userfacadestate : UserFacadeState - loginname : String - encryptedpassword : String + LoginAction(userFacadeState : UserFacadeState, loginname : String, password : String, passwordisencrypted : boolean) + execute() : LoginResultVO - userfacadestate : UserFacadeState - userprofilevo : UserProfileVO RegisterUserAction + RegisterUserAction(userFacadeState : UserFacadeState, loginname : String, clearpassword : String, userprofiledetailsvo : UserProfileDetailsVO) + execute() : void ChangePasswordAction - userfacadestate : UserFacadeState - oldencryptedpassword : String - newencryptedpassword : String + ChangePasswordAction(userFacadeState : UserFacadeState, oldclearpassword : String, newclearpassword : String) + execute() : void Las accciones se implementan en términos de "UserFacadeHelper", el EJB "UserProfile" y "PasswordEncrypter".
18 es.udc.fbellas.j2ee.miniportal.model.userfacade.ejb.userfacadeejb (1) public class UserFacadeEJB implements SessionBean { private UserFacadeState userfacadestate; public void setsessioncontext(sessioncontext sc) {} public void ejbcreate() { userfacadestate = new UserFacadeState(); } public void ejbremove() {} public void ejbactivate() {} public void ejbpassivate() {}
19 es.udc.fbellas.j2ee.miniportal.model.userfacade.ejb.userfacadeejb (y 2) public void registeruser(string loginname, String clearpassword, UserProfileDetailsVO userprofiledetailsvo) throws DuplicateInstanceException { } RegisterUserAction registeruseraction = new RegisterUserAction( userfacadestate, loginname, clearpassword, userprofiledetailsvo); registeruseraction.execute(); public UserProfileVO finduserprofile() { try { return userfacadestate.getuserprofile().getuserprofilevo(); } catch (RemoteException e) { throw new EJBException(e); } } } //...
20 Comentarios (1) A diferencia de SLSB, un SFSB puede guardar estado UserFacadeEJB guarda una referencia al UserProfile de su usuario Cada invocación de una operación create sobre el interfaz Home crea una instancia única del SFSB En el servidor, existen tantos SFSBs como instancias se han creado El ciclo de vida de un SFSB es más complejo que el de un SLSB, sin embargo, para la mayor parte de los usos basta tener en cuenta que El contenedor mantiene una caché de instancias de SFSBs Cuando la caché se llena, invoca a ejbpassivate sobre algunas de los SFSBs y los guarda en disco Cuando un cliente invoca una operación de un SFSB que existe pero no está en la caché, crea una instancia e invoca a ejbactivate Para mayor parte de las situaciones, basta proporcionar una implementación vacía de ejbpassivate y ejbactivate
21 Comentarios (y 2) Para que el contenedor puede implementar la caché de SFSBs, impone ciertas restricciones sobre los tipos de los atributos que representan el estado del SFSB Entre otros, los tipos pueden ser Tipos serializables Referencias a interfaces Home o remotos de EJBs
22 Caídas del contenedor Qué ocurre si el contenedor se cae? En principio, las instancias de los Session Beans (sean SF o SL) se pierden, dado que representan objetos temporales, a diferencia de los Entity Beans (persistentes) Sin embargo, los contenedores normalmente proporcionan soporte para clustering y tolerancia a fallos, y pueden hacer transparente las caídas de un contenedor al programador Ej.: replican los SFSBs en varias máquinas, de manera que si cae una, redirigen las peticiones a otra máquina
23 ejb-jar.xml (1) <ejb-jar> <description>miniportal Enterprise JavaBeans</description> <enterprise-beans> <entity> <description>entity bean modeling a user profile</description> <ejb-name>userprofile</ejb-name> <home>es.udc.fbellas.j2ee.miniportal.model.userprofile.ejb. UserProfileHome</home> <remote>es.udc.fbellas.j2ee.miniportal.model.userprofile. ejb.userprofile</remote> <ejb-class>es.udc.fbellas.j2ee.miniportal.model. userprofile.ejb.userprofileejb</ejb-class> <persistence-type>container</persistence-type> <prim-key-class>java.lang.string</prim-key-class> <reentrant>false</reentrant>
24 ejb-jar.xml (2) <cmp-field> <field-name>loginname</field-name> </cmp-field> <cmp-field> <field-name>encryptedpassword</field-name> </cmp-field> <cmp-field> <field-name>firstname</field-name> </cmp-field> <cmp-field> <field-name>surname</field-name> </cmp-field> <cmp-field> <field-name> </field-name> </cmp-field> <cmp-field> <field-name>language</field-name> </cmp-field> <cmp-field> <field-name>country</field-name> </cmp-field> <primkey-field>loginname</primkey-field>
25 Comentarios persistence-type = Container Entity Bean de tipo CMP cmp-field Permite declarar los atributos gestionados por el contenedor Además de las restricciones vistas en 5.3, las claves primarias han de cumplir Claves que corresponden a uno de los atributos gestionados por el servidor Se debe usar el tag primkey-field para especificar qué atributo es la clave Claves que corresponden a varios atributos gestionados por el servidor Su clase debe tener Un constructor público sin argumentos Sus atributos deben ser públicos y con el mismo nombre que los correspondientes de la clase de implementación del Entity Bean No se usa el tag primkey-field
26 ejb-jar.xml (3) <!-- Environment entries for configuring persistence in JRun. --> <!-- "ejbcreate" methods. --> <env-entry> <env-entry-name>ejipt.createsql</env-entry-name> <env-entry-type>java.lang.string</env-entry-type> <env-entry-value>insert INTO UserProfile (loginname, enpassword, firstname, surname, , language, country) VALUES (?,?,?,?,?,?,?)</env-entry-value> </env-entry> <env-entry> <env-entry-name>ejipt.createsql.source</env-entry-name> <env-entry-type>java.lang.string</env-entry-type> <env-entry-value>miniportaldatasource</env-entry-value> </env-entry> <env-entry> <env-entry-name>ejipt.createsql.params</env-entry-name> <env-entry-type>java.lang.string</env-entry-type> <env-entry-value>loginname, encryptedpassword, firstname, surname, , language, country</env-entry-value> </env-entry>
27 ejb-jar.xml (4) <env-entry> <env-entry-name>ejipt.createsql.paramtypes </env-entry-name> <env-entry-type>java.lang.string</env-entry-type> <env-entry-value>varchar, VARCHAR, VARCHAR, VARCHAR, VARCHAR, VARCHAR, VARCHAR</env-entry-value> </env-entry>... Otras env-entry s para ejbload, ejbstore, ejbremove y ejbfindbyprimarykey... </entity>
28 Comentarios Configuración de la persistencia Depende de la implementación del contenedor y puede ser más o menos potente Configuración de la persistencia en JRun con una BD relacional Los tipos de los atributos gestionados por el contenedor tienen que tener una correspondencia directa con tipos JDBC Cada instancia de un Entity Bean se guarda en una fila de una o varias tablas Se usan entradas env-entry en ejb-jar.xml para especificar las queries que tiene que lanzar el contenedor para hacer un create, load, store, remove y findxxx Más información en la documentación de JRun Developing Applications with JRun => Developing Enterprise JavaBeans => Container-Managed Persistence
29 ejb-jar.xml (5) <session> <description>session Facade that provides operations modeling the interaction between the user and the portal</description> <ejb-name>userfacade</ejb-name> <home>es.udc.fbellas.j2ee.miniportal.model.userfacade.ejb. UserFacadeHome</home> <remote>es.udc.fbellas.j2ee.miniportal.model.userfacade. ejb.userfacade</remote> <ejb-class>es.udc.fbellas.j2ee.miniportal.model.userfacade. ejb.userfacadeejb</ejb-class> <session-type>stateful</session-type> <transaction-type>container</transaction-type> <ejb-ref> <ejb-ref-name>ejb/userprofilehome</ejb-ref-name> <ejb-ref-type>entity</ejb-ref-type> <home>es.udc.fbellas.j2ee.miniportal.model.userprofile. ejb.userprofilehome</home> <remote>es.udc.fbellas.j2ee.miniportal.model. userprofile.ejb.userprofile</remote> </ejb-ref> </session> </enterprise-beans>
30 ejb-jar.xml (y 6) <assembly-descriptor> <container-transaction> <method> <ejb-name>userprofile</ejb-name> <method-name>*</method-name> </method> <trans-attribute>required</trans-attribute> </container-transaction> <container-transaction> <method> <ejb-name>userfacade</ejb-name> <method-name>*</method-name> </method> <trans-attribute>required</trans-attribute> </container-transaction> </assembly-descriptor> </ejb-jar>
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 detalles5.6.3 Session Facade
5.6.3 Session Facade Session Facade (1) Intención Proporcionar una interfaz sencilla que soporta un conjunto de casos de uso relacionados Motivación La explicada en el tema 2: proporcionar una interfaz
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.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 detalles3.9 Patrón Distributed callback
3.9 Patrón Distributed callback Motivación (1) Queremos que la aplicación de administración de los termostatos Monitorize la temperatura de algunos termostatos, avisándonos si ésta baja o sube por encima
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 detallesRESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA
UNED Centro Asociado de Cádiz RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA 1. OBJETOS Cualquier elemento del programa es un objeto. Un programa es un conjunto de objetos que se comunican entre sí
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 detallesArquitectura y Diseño de Sistemas Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Primer Cuatrimestre de 2015
Trabajo Práctico N 3 DOO Principios SOLID 1. Mencione cuáles son los principios denominados SOLID y describa brevemente sus características. 2. Supongamos que en una organización, cuando se realizan transferencias
Más detallesDesarrollo de Software con
Desarrollo de Software con Antonio J. Vélez Q. Universidad del Valle Sede Palmira Contenido Definición de Enterprise Bean Cuando usar Enterprise Beans Tipos de Enterprise Beans Enterprise Bean Con componentes
Más detallesIngeniería del Software Arquitectura Física en 3 niveles
Introducción En este laboratorio desplegaremos en 3 niveles físicos una aplicación que verifica si una cuenta y un password son correctos, basada en la que fue presentada en el laboratorio Separación entre
Más detallesPráctica sobre compartición de instancias remotas.
Práctica sobre compartición de instancias remotas. Para esta práctica se ha construido un pequeño sistema cliente-servidor que permite la resolución de Sudokus entre varios jugadores. El servidor consta
Más detallesValue Object (1) Agrupar un conjunto de atributos procedentes de uno o varios objetos del dominio. Data Transfer Object, Replicate Object
2.3.1 Value Object Value Object (1) Intención Agrupar un conjunto de atributos procedentes de uno o varios objetos del dominio También conocido como Data Transfer Object, Replicate Object Motivación En
Más detallesEnterprise 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 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 detallesEnterprise JavaBeans
Enterprise Java Beans y JBoss Enterprise JavaBeans Es una de las API que forman parte del estándar de construcción de aplicaciones empresariales J2EE (ahora JEE 5.0) de Oracle Corporation (inicialmente
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 detallesEXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011
EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011 1. (0,75 PUNTOS) Identificad a continuación las sentencias que son ciertas, descartando
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 detallesPatrones para persistencia (I) Ingeniería del Software II
Patrones para persistencia (I) Ingeniería del Software II 1 Patrones para la construcción del esquema relacional En todos los ejemplos realizaremos transformaciones del siguiente diagrama de clases: Figura
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 detallesJAVA EE 5. Arquitectura, conceptos y ejemplos.
JAVA EE 5. Arquitectura, conceptos y ejemplos. INTRODUCCIÓN. MODELO DE LA APLICACIÓN JEE5. El modelo de aplicación Java EE define una arquitectura para implementar servicios como lo hacen las aplicaciones
Más detallesCurso de JavaServer Faces
1 Una JavaBean es una clase Java que sigue las siguientes convenciones: Constructor vacío Atributos de clase privados Por cada atributo, se crean los métodos getters y setters El Objetivo de los Managed
Más detallesFUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005
Dpto. de Ingeniería de Sistemas Telemáticos E.T.S.I. Telecomunicación Universidad Politécnica de Madrid FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005 Normas de examen: Con libros y apuntes Duración: 2 horas
Más detalles1 Índice... 1. 2 Introducción... 2. 2.1 Propósito... 2. 2.2 Alcance... 2. 3 Modelo Arquitectónico Inicial... 3
1 Índice 1 Índice... 1 2 Introducción... 2 2.1 Propósito... 2 2.2 Alcance... 2 3 Modelo Arquitectónico Inicial... 3 3.1 Diagrama de alto nivel de la arquitectura... 3 3.2 Vista de Casos de Uso... 5 3.2.1
Más detallesProgramación Orientada a Objetos con Java
Programación Orientada a Objetos con Java M.C. Jorge Eduardo Ibarra Esquer jorgeeie@uabc.mx Sobrecarga de métodos Java permite la definición de dos o más métodos que tengan el mismo nombre, dentro de la
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 detallesCONTENIDO. Serialización. Carga dinamica de stubs RMI AVANZADO. Callbacks. Carga dinámica de Stubs
CONTENIDO RMI AVANZADO Carga dinamica de stubs Callbacks Carga dinámica de Stubs Para tener acceso a un objeto remoto mediante RMI, el cliente debe recibir un stub serializado y deserializarlo. El stub
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 detalles'HVDUUROORGH$SOLFDFLRQHV
'HVDUUROORGH$SOLFDFLRQHV FRQ-(( $SOLFDFLRQHV'LVWULEXLGDV0XOWLFDSD &RQWHQLGR Plataforma J2EE Aplicaciones Distribuidas multicapa Arquitectura Multicapa Componentes J2EE Componentes de Clientes: aplicaciones
Más detallesIntroducción a Java LSUB. 15 de enero de 2015 GSYC
Introducción a LSUB GSYC 15 de enero de 2015 (cc) 2014 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial - SinObraDerivada
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 detallesUso de excepciones en Java
Uso de excepciones en Java En Java, cuando se produce un error en un método, se lanza un objeto Throwable. Cualquier método que haya llamado al método puede capturar la excepción y tomar las medidas que
Más detallesProgramación Orientada a Objetos en Java
Programación Orientada a Objetos en Java Curso 2006-2007 Tema 4 Herencia y Polimorfismo Gonzalo Méndez Pozo Dpto. de Ingeniería de Software e Inteligencia Artificial Universidad Complutense de Madrid Herencia
Más detallesProgramación Avanzada para Sistemas de Telecomunicación. Objetos y clases. J.C. Cruellas. Objetos y clases
Programación Avanzada para Sistemas de Telecomunicación Objetos y clases Juan Carlos Cruellas cruellas@ac.upc.es Objetos y clases Concepto de objeto. Concepto de clase. Clases, objetos y programas. Clases
Más detallesValue Object (1) Agrupar un conjunto de atributos procedentes de uno o varios objetos del dominio
2.3.1 Value Object Value Object (1) Intención Agrupar un conjunto de atributos procedentes de uno o varios objetos del dominio También conocido como Recientemente se le ha cambiado el nombre a Transfer
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 detallesInstrucciones para el despliegue de EJBs
Apuntes de J2EE Instrucciones para el despliegue de EJBs Uploaded by Ingteleco http://ingteleco.webcindario.com ingtelecoweb@hotmail.com La dirección URL puede sufrir modificaciones en el futuro. Si no
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 detallesProgramación en Java. Programación en OO
Programación en OO Lección 4:Programación en OO 1. Herencia 2. Modificadores de Acceso 3. Interfaces Herencia Es la acción en la que una clase obtiene los métodos y propiedades definidos en otra clase,
Más detallesProgramación Orientada a Objetos Analista Programador Universitario Plan 2008 Año 2010
INTRODUCCION Los objetos usados en aplicaciones JAVA mantienen su estado y comportamiento mientras la aplicación se halle en ejecución. Generalmente se necesita mantener el estado y comportamiento de los
Más detallesQuées EJB? (1) EJB (Enterprise JavaBean) es una tecnología J2EE para la implementación de la capa modelo de una aplicación
Introducción a EJB Quées EJB? (1) EJB (Enterprise JavaBean) es una tecnología J2EE para la implementación de la capa modelo de una aplicación Soporte para persistencia Soporte para implementación de fachadas
Más detallesCurso de Spring Framework
Todos los Derechos Reservados Global Mentoring 2012 Experiencia y Conocimiento para tu Vida 1 Spring es un proyecto de código abierto (open source), originalmente creado por Rod Johnson y descrito en su
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 detallesSolución al Examen de Prácticas de Programación (Ingeniería Informática)
Solución al Examen de Prácticas de Programación (Ingeniería Informática) Junio 2006 Parte I. Cuestiones (3 puntos=50% nota del examen) 1) Se desea crear un conjunto de clases para representar en un programa
Más detalles1. Definición. Open Source. Escalable. Alto desempeño. Arquitectura Modular. Producto de licencia de código abierto sin coste adicional.
1. Definición JBoss es un proyecto de código abierto, con el que se consigue un servidor de aplicaciones basado en J2EE, e implementado al 100% en Java. Por lo tanto al estar basado en Java, JBoss puede
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 detallesCAPITULO 3 ARQUITECTURA DE COMPONENTES GIS EN INTERNET
CAPITULO 3 ARQUITECTURA DE COMPONENTES GIS EN INTERNET 3.1- ARQUITECTURA DE COMPONENTES GIS La presente tesis trata del diseño y desarrollo de una aplicación basado en el Web para servir datos geográficos
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 detallesLenguajes de Programación Curso 04-05. Práctica 4. Herencia. Utilización de interfaces y clases abstractas. 1. Interfaces 1. 2. Clases abstractas 2
Objetivos Herencia. Utilización de interfaces y clases abstractas. Índice 1. Interfaces 1 2. Clases abstractas 2 3. Collections Framework 3 3.1. Collection........................................... 3
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 detallesPráctica 4: Java Remote Method Invocation (RMI)
Práctica 4: Java Remote Method Invocation (RMI) Aplicaciones Telemáticas II Introducción Hasta el momento hemos visto aplicaciones remotas donde un cliente utiliza un objeto remoto que ha sido publicado
Más detallesTema 5. Plataforma Java EE
Tema 5. Plataforma Java EE SCS Sistemas Cliente/Servidor 4 o informática http://ccia.ei.uvigo.es/docencia/scs enero 2009 FJRP, FMBR 2008/09 ccia SCS 5.1 Introducción a Java EE Java EE (Java Enterprise
Más detallesTEMA 3. CLASES. EJERCICIOS
TEMA 3. CLASES. EJERCICIOS EJERCICIO 1 Considere la siguiente clase: public class IdentifyMyParts { public static int x = 7; public int y = 3; a. Cuáles son las variables de clase? b. Cuáles son las variables
Más detallesPatrones de diseño. Patrón básico Handler. Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez)
Patrones de diseño Patrón básico Handler Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez) Patrones de diseño Introducción Objetivos: Diseño específico para el problema, pero general para
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 detallesATLAS MANUAL DE INTEGRACIÓN Cliente del Servicio de SMS
ATLAS MANUAL DE INTEGRACIÓN Cliente del Servicio de SMS Versión 1.0 Arquitectura de Software Hoja de Control Título Documento de Referencia Responsable Servicio de SMS Cliente NORMATIVA ATLAS Arquitectura
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 detalles[CASI v.0109] Pág. 1
I. DATOS INFORMATIVOS Carrera Especialidad Curso Código Ciclo : Quinto Requisitos Duración Horas Semana : 08 horas Versión : v.0109 II. SUMILLA : COMPUTACIÓN E INFORMATICA : Ingeniería de Software : Lenguaje
Más detallesPatrones Creacionales Builder. Patrones Creacionales Abstract Factory. Patrones Creacionales Singleton. Patrones Creacionales Prototype
Temario Patrones de Diseño de Software Fundamentos de Ingeniería de SW Jocelyn Simmonds GOF: Patrones Creacionales Patrones Estructurales ILI-236 (JS) Patrones II 1 / 31 ILI-236 (JS) Patrones II 2 / 31
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 detallesTema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle
Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Tipos de herencia Herencia y niveles de visibilidad Herencia y creación Redefinición de métodos Conversión
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 detallesBASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN
BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN 3.3 Aplicaciones Definición de Aplicación (Application). Programa informático que permite a un usuario utilizar una computadora con un fin específico. Las
Más detallesPatrones de Diseño. Patrón estructural Composite. Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez)
Patrones de Diseño Patrón estructural Composite Técnicas de Programación - Curso 2008/09 (Esther Guerra Sánchez) Propósito Componer objetos en estructuras arbóreas para representar jerarquías todo-parte.
Más detallesExperto Universitario Java Enterprise Spring
Spring Sesión 6: Acceso remoto. Pruebas Indice Spring para acceso remoto Spring vs. EJB Comparación de los protocolos disponibles Acceso remoto con HttpInvoker Pruebas Acceso remoto. Pruebas 2012-2013
Más detallesTema 6: Arquitectura Web Multicapa
Arquitectura software en capas Tema 6: Arquitectura Web Multicapa 1 (Dibujo de arquitectura de Ebay) Capa Presentación: genera pantallas, crea código formato. Capa Lógica negocio: objetos aplicación que
Más detallesCurso de Java POO: Programación orientada a objetos
Curso de Java POO: Programación orientada a objetos Luis Guerra Velasco Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Introducción a la POO 2 Herencia y polimorfismo 3 Empaquetado de proyectos
Más detallesProgramación orientada a objetos
Repaso Programación orientada a objetos Curso INEM. Programación en Java Santiago Muelas Pascual smuelas@fi.upm.es! Clase! Objeto! Atributo o variable de instancia! Método! Instanciar/crear un objeto!
Más detallesDISEÑO DE UNA ARQUITECTURA CLIENTE/SERVIDOR MEDIANTE OBJETOS DISTRIBUIDOS EN JAVA
DISEÑO DE UNA ARQUITECTURA CLIENTE/SERVIDOR MEDIANTE OBJETOS DISTRIBUIDOS EN JAVA José Luis Pastrana Brincones (pastrana@lcc.uma.es) Dpto. Lenguajes y Ciencias de la Computación. Universidad de Málaga
Más detallesSeguridad de la aplicación para servlets y JSP (página activas java)
Seguridad de la aplicación para servlets y JSP (página activas java) Autenticación de Servlets (java) Usuarios y roles. Autenticación declarativa. Portabilidad Tipos de autenticación Básica. Digest. Basada
Más detallesPráctica 2: Instalación de un gestor de bases de datos relacionales y desarrollo de una aplicación Web con persistencia de datos
Práctica 2: Instalación de un gestor de bases de datos relacionales y desarrollo de una aplicación Web con persistencia de datos Sistemas de Información Grado de Informática Dpto. de Informática e Ingeniería
Más detallesEnunciado Práctica Java EE Iteración 1: aplicación web con JSF
Enunciado Práctica Java EE Iteración 1: aplicación web con JSF SCS, 2011/12 11 de octubre de 2011 Índice 1. Descripción del problema 1 2. Especificaciones 4 2.1. Capa de negocio: Entidades JPA....................................
Más detallesTitulación: Ingeniero Técnico en Informática de Gestión Curso: 2º
1. Ejercicio (1 punto) Dado el array A={8, 3, 7, 1, 4, 9, 5, 2, 6 Describir cual es el estado del array A después de cada paso principal del algoritmo: InsertionSort. {8, 3, 7, 1, 4, 9, 5, 2, 6 {3, 8,
Más detallesLaboratorio de Aplicaciones Telemáticas
Java Server Pages (JSP) Laboratorio de plicaciones Telemáticas Jesús rias Fisteus jaf@it.uc3m.es Curso 2007/2008 Edited with emacs + LT E X+ prosper Universidad Carlos de adrid V E S E Java Server Pages
Más detalles03.04 Unity. Integración de Sistemas. Parte II. Diseño e implementación de aplicaciones Web con.net
03.04 Unity Integración de Sistemas Parte II. Diseño e implementación de aplicaciones Web con.net Contenido Conocer y saber utilizar el contenedor Unity Aprender a registrar tipos desde código y desde
Más detallesen otra máquina exactamente de la misma manera que si se encontrará en la misma máquina
Máquina A Máquina B Máquina C Lo ideal sería tener un sistema distribuido orientado a objetos que permita: 1)Invocar un método de un objeto que se localiza en otra máquina exactamente de la misma manera
Más detallesBases de datos relacionales y el modelo entidad-relación
Bases de datos relacionales y el modelo entidad-relación Qué es una base de datos relacional? El sistema gestor de bases de datos El modelo entidad-relación entidad, atributos y elementos (tablas, columnas
Más detallesEjercicios - Persistencia en Android: ficheros y SQLite
Ejercicios - Persistencia en Android: ficheros y SQLite Índice 1 Uso de ficheros (0.5 puntos)...2 2 Persistencia con ficheros (0.5 puntos)...3 3 Base de datos: SQLiteOpenHelper (0.5 puntos)... 3 4 Base
Más detallesCapitulo III. Diseño del Sistema.
Capitulo III. Diseño del Sistema. Para el desarrollo del sistema en la presente tesis se utilizo el paradigma orientado a objetos utilizando el lenguaje Java en su versión 1.2. Por medio de este lenguaje
Más detallesProcedimientos Almacenados con InterBase
Procedimientos Almacenados con InterBase Por Alfonso Ricaño Bringas Los Procedimientos Almacenados son otra característica interesante con la que cuenta InterBase. En este artículo muestro una introducción
Más detallesIII. ADMINISTRACIÓN DE ORACLE.
III. ADMINISTRACIÓN DE ORACLE. 1.- Qué es Oracle? Qué hace un Administrador? 2.- Herramientas de ORACLE. 3.- Características. 4.- Arquitectura. 4.1.- Componentes de la BD. 4.2.- Estructura de la memoria.
Más detallesArquitectura de sistema de alta disponibilidad
Mysql Introducción MySQL Cluster esta diseñado para tener una arquitectura distribuida de nodos sin punto único de fallo. MySQL Cluster consiste en 3 tipos de nodos: 1. Nodos de almacenamiento, son los
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 detallesPruebas de unidad con JUnit
Pruebas de unidad con JUnit Cuando se implementa software, resulta recomendable comprobar que el código que hemos escrito funciona correctamente. Para ello, implementamos pruebas que verifican que nuestro
Más detalles%& %)& '$!%*+ $, %%%&$ %%
OBJETIVO!!"#$$ %& '(%"#% (% %& %)& '$!%*+ $, %%%&$ %% REQUERIMIENTOS SOFTWARE VERSIÓN LINK Java Development Kit (JDK) 6 http://java.sun.com NetBeans 6.1 http://www.netbeans.org MySQL 5.0 http://dev.mysql.com/
Más detallesJava RMI. las RPC de Java. Parte I. Luis Fernando Llana Díaz. Departamento de Sistemas Informáticos y ProgramaciónUniversidad Complutense de Madrid
las RPC de Java. Parte I Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid de marzo de 006 RMI y RPC RPC: Remote Procedure Call. RMI y RPC RPC: Remote Procedure Call.
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 detallesEjercicio 1 (3 puntos).-
URJC Ingeniería Técnica de Gestión Abril 2011 Asignatura: SOFTWARE AVANZADO Normas: La prueba consta de 2 ejercicios. La máxima nota del examen es un 8. Siendo la práctica la que añade los 2 puntos que
Más detallesPrimera Escuela de la Red Temática SVO. Madrid, 27-28 Noviembre, 2006 JAVA BÁSICO. Raúl Gutiérrez Sánchez LAEFF - INTA raul@laeff.inta.
Primera Escuela de la Red Temática SVO. Madrid, 27-28 Noviembre, 2006 JAVA BÁSICO LAEFF - INTA raul@laeff.inta.es Qué es Java? Java es un lenguaje de programación orientado a objetos desarrollado por Sun
Más detallesJSF 2.0 (Java Server Faces) Yadira Jarvio Hernández
JSF 2.0 (Java Server Faces) Yadira Jarvio Hernández Aportaciones de Jsf: Unión entre los cliente Web actuales y el modelo tradicional de componentes. Separa la renderización del componente. Desplazar la
Más detallesUNIVERSIDAD DE PIURA
ESPECIALIZACIÓN EN DESARROLLO DE APLICACIONES EMPRESARIALES CON JAVA EE Ofrecer al alumno los conocimientos necesarios para la construcción de sistemas informáticos bajo una arquitectura cliente servidor
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 detallesTema 2. El lenguaje de programación Java (Parte 1)
Programación en Java Tema 2. El lenguaje de programación Java (Parte 1) Luis Rodríguez Baena Facultad de Informática Elementos del lenguaje (I) El juego de caracteres. No utiliza ASCII, sino Unicode de
Más detallesINTRODUCCION. entidades. Modelo lógico de la base de datos. Matricula. carne. codigo_curso. año semestre nota. propiedades
INTRODUCCION Uno de los objetivos del curso es modelar a través de un diagrama las estructuras lógicas requeridas para almacenar los datos y resolver las consultas del sistema información que requiera
Más detalles2.2.- Paradigmas de la POO
2.2.- Paradigmas de la POO Los principios propios de la orientación a objetos son: 2.2.1.- Abstracción de Datos 2.2.2.- Encapsulamiento 2.2.3.- Ocultamiento 2.2.4.- Herencia 2.2.5.- Polimorfismo Cualquier
Más detallesProyecto ELO-330 Administración Salas del Departamento de Electrónica RC1. Gerardo Lecaros Felipe Díaz
Proyecto ELO-330 Administración Salas del Departamento de Electrónica RC1 Gerardo Lecaros Felipe Díaz Problemática Petición de salas de forma tradicional Solución J2EE Java 2 Platform, Enterprise Edition
Más detallesNotas técnicas de JAVA Nro. 7 Tip Breve
Notas técnicas de JAVA Nro. 7 Tip Breve (Lo nuevo, lo escondido, o simplemente lo de siempre pero bien explicado) Tema: JAVA Basics: Diferencias conceptuales entre JavaBeans y Enterprise JavaBeans (EJB)
Más detalles4.4 Caso de Estudio: Diseño e Implementación de la Capa Web de MiniPortal
4.4 Caso de Estudio: Diseño e Implementación de la Capa Web de MiniPortal Introducción y Objetivo Qué es MiniPortal? Un portal con registro de usuarios y sin contenidos Arquitectura reusable para implementar
Más detalles