5.4 Caso de estudio: diseño e implementación de la capa modelo de MiniBank con EJB

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

Download "5.4 Caso de estudio: diseño e implementación de la capa modelo de MiniBank con EJB"

Transcripción

1 5.4 Caso de estudio: diseño e implementación de la capa modelo de MiniBank con EJB

2 Introducción La arquitectura de la capa modelo de MiniBank es igual que la de MiniPortal Paquetes nuevos en la capa modelo Clases Entidad Account y AccountOperation es.udc.fbellas.j2ee.minibank.model.account.entity es.udc.fbellas.j2ee.minibank.model.accountoperation.entity Implementación de los casos de uso (AccountFacade) es.udc.fbellas.j2ee.minibank.model.accountfacade.ejb y es.udc.fbellas.j2ee.minibank.model.accountfacade.ejb.actions Qué aspectos nuevos aporta el estudio de la capa modelo de MiniBank con respecto a la de MiniPortal? El soporte del API de Persistencia para la generación numérica de identificadores El soporte del API de Persistencia para la implementación del patrón Page-by-Page Iterator Implementación de Stateless Session Beans

3 Generación numérica de identificadores En las clases entidad Account y AccountOperation se han usado anotaciones especiales en la propiedad de la clave primaria para que Los valores se generen mediante una secuencia (si la base de datos proporciona secuencias) Se mapee a una columna contador (si la base de datos ofrece columnas contador) Al igual que en MiniPortal, no se han generado nuevas tablas, sino que se utilizan las mismas que las de la versión JDBC de la capa modelo de MiniBank (inclusive las secuencias)

4 Ejemplo: public class AccountOperation { private Long accountoperationidentifier; private Long accountidentifier; private Calendar date; private byte type; private double amount; public AccountOperation() { public AccountOperation(Long accountidentifier, Calendar date, byte type, double amount) { this.accountidentifier = accountidentifier; this.date = date; this.type = type; this.amount = amount;

5 Ejemplo: // It only takes effect name="accountoperationidentifiergenerator", // for databases provi- // ding intentifier sequencename="accountopseq") generator="accountoperationidentifiergenerator") public Long getaccountoperationidentifier() { return accountoperationidentifier; public void setaccountoperationidentifier( Long accountoperationidentifier) { this.accountoperationidentifier = public Long getaccountidentifier() { return accountidentifier; public void setaccountidentifier(long accountidentifier) { this.accountidentifier = accountidentifier;

6 Ejemplo: AccountOperation (y 3) public Calendar getdate() { return date; public void setdate(calendar date) { this.date = date; public byte gettype() { return type; public void settype(byte type) { this.type = type; public double getamount() { return amount; public void setamount(double amount) { this.amount = amount;

7 Anotaciones para generación de identificadores numéricos stategy Especifica la estrategia de generación de identificadores numéricos Es de tipo GenerationType (enumerado) SEQUENCE: usar una secuencia IDENTITY: mapear la clave a una columna contador TABLE: usar una tabla para emular un conjunto de secuencias (cada fila es una secuencia para una entidad particular) AUTO: la implementación del API de Persistencia decide la estrategia en función de la BD que se esté usando generator Especifica el nombre del generador que se usará en el caso de las estrategias TABLE o SEQUENCE

8 Anotaciones para generación de identificadores numéricos Especifica información de mapeo para un generador que se puede usar con la estrategia SEQUENCE name: nombre del generador sequencename: nombre de la Especifica información de mapeo para un generador que se puede usar con la estrategia TABLE La estrategia SEQUENCE es más eficiente Los atributos/propiedades anotadas tienen que ser de tipo entero (short, int, long y sus contrapartidas objetuales)

9 Anotaciones para generación de identificadores numéricos (y 3) Cómo se puede especificar que la implementación del API de Persistencia utilice secuencias o columnas contador para la propiedad accountoperationidentifier? En el ejemplo se ha generator="accountoperationidentifiergenerator") JBoss utiliza la estrategia IDENTITY para MySQL y SEQUENCE para PostgreSQL (utiliza la información del generador especificado) Si la implementación del API de Persistencia no es tan inteligente, habría que especificar (dependiendo del tipo de generator="accountoperationidentifiergenerator")

10 Otros aspectos (1) El constructor con argumentos deja el atributo accountoperationidentifier sin inicializar La implementación de los casos de uso invoca este constructor cuando tiene que crear una instancia de AccountOperation No puede dar valor al atributo accountoperationidentifier: es la implementación del API de Persistencia la que le asignará valor tras la invocación de EntityManager.persist (invocando el método setaccountoperationidentifier) AccountOperation accountoperation = new AccountOperation(...); // "accountoperationidentifier" todavía no tiene valor asignado. entitymanager.persist(accountoperation); // "accountoperationidentifier" ya tiene valor asignado. Se ha usado la para especificar que la entidad AccountOperation se mapea a la tabla AccountOp

11 Otros aspectos (y 2) Los atributos/propiedades de tipo Calendar se mapean por defecto al tipo SQL TIMESTAMP Si alternativamente se desea usar DATE o TIME se puede usa la No se ha incluido una propiedad anotada dado que las instancias de AccountOperation no son modificables (y en consecuencia, no es útil)

12 Page-by-Page Iterator (1) En MiniBank se hace uso del lenguaje de consultas EJB-QL para la implementación de los caso de uso Encontrar las cuentas de un usuario Encontrar las operaciones bancarias realizadas sobre una cuenta entre dos fechas El lenguaje EJB-QL se estudia en el apartado 5.5 El API de Persistencia permite lanzar una consulta de búsqueda y obtener Todos los resultados, o Un rango de resultados (Page-by-Page Iterator)

13 Page-by-Page Iterator (2) Ejemplo: en la implementación del caso de uso findaccountoperationsbydate (cont) /* * Find count+1 account operations to determine if there exist more * account operations above the specified range. */ List<AccountOperation> accountoperations = entitymanager.createquery( "SELECT o FROM AccountOperation o " + "WHERE o.accountidentifier = :accountidentifier AND " + "o.date >= :startdate AND o.date <= :enddate ORDER BY o.date"). setparameter("accountidentifier", accountidentifier). setparameter("startdate", startdate, TemporalType.TIMESTAMP). setparameter("enddate", enddate, TemporalType.TIMESTAMP). setmaxresults(count+1). setfirstresult(startindex-1). getresultlist(); boolean existmoreaccountoperations = accountoperations.size() == (count+1);

14 Page-by-Page Iterator (3) Ejemplo: en la implementación del caso de uso findaccountoperationsbydate (cont) /* * Remove the last account operation from the returned list if there * exist more account operations above the specified range. */ if (existmoreaccountoperations) { accountoperations.remove(accountoperations.size()-1); /* Return AccountOperationChunkVO. */ return new AccountOperationChunkVO( AccountFacadeHelper.toAccountOperationVOs(accountOperations), existmoreaccountoperations);

15 Page-by-Page Iterator (y 4) Ejemplo: en la implementación del caso de uso findaccountoperationsbydate (cont) El método createquery devuelve un objeto Query Las cadenas :XXX son parámetros nombrados y se les puede dar valor con los métodos setparameter Devuelven el propio objeto Query otra vez, para permitir escribir de manera compacta la construcción de la consulta y su ejecución En el caso de fechas, hay que usar la variante que recibe un parámetro que especifica si el valor pasado es un DATE, TIME o TIMESTAMP Page-by-Page Iterator setmaxresults permite especificar el número máximo de resultados setfirstresult permite especificar el índice del primer resultado (de 0 en adelante) Ambos métodos devuelven otra vez el objeto Query getresultlist permite ejecutar una consulta de lectura y devuelve una lista con los resultados

16 SLSBs (1) Los SLSBs (Stateless Session Beans) son fachadas sin estado Al igual que en MiniPortal, en MiniBank se han definido los interfaces AccountFacade LocalAccountFacade y RemoteAccountFacade La clase de implementación de un SLSB Se anota (definida en javax.ejb) Tiene que tener un constructor público sin argumentos No puede ser final Tiene que implementar los interfaces definidos Ejemplo en MiniBank: AccountFacadeEJB

17 SLSBs (2) public class AccountFacadeEJB implements LocalAccountFacade, RemoteAccountFacade (unitname=globalnames.persistence_unit) private EntityManager entitymanager; public AccountFacadeEJB() { public AccountVO createaccount(accountvo accountvo) { //... //...

18 Pool de instancias SLSBs (y 3) La implementación de EJB crea un pool de instancias por cada SLSB Cuando una clase cliente busca un SLSB por JNDI, la implementación de EJB no crea una instancia asociada al Proxy devuelto Cada vez que la clase cliente realiza una invocación sobre el Proxy de un SLSB, la petición se redirige a una de las instancias del pool que no esté siendo utilizada en ese momento En consecuencia Un SLSB no puede tener atributos que definan estado propiamente dicho No puede tener atributos cuyo valor haya que recordar entre invocaciones (e.g. no podría tener un atributo tipo loginname como en el caso de UserFacadeEJB en MiniPortal) NOTA: el atributo entitymanager en AccountFacadeEJB sólo tiene un valor útil durante la ejecución de cada método de la fachada Recuérdese que la implementación de EJB inicializa un atributo anotado antes de ejecutar cualquier método del Session Bean

Quées EJB? (1) EJB (Enterprise JavaBean) es una tecnología J2EE para la implementación de la capa modelo de una aplicación

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

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

Persistencia en BD. Instituto de Computación Facultad de Ingeniería Universidad de la República

Persistencia en BD. Instituto de Computación Facultad de Ingeniería Universidad de la República Persistencia en BD Instituto de Computación Facultad de Ingeniería Universidad de la República Agenda Destinos y mecanismos de persistencia Acceso directo a la BD Java Data Base Connectivity (JDBC) Impedance

Más detalles

3.3 Implementación de la Persistencia con Hibernate

3.3 Implementación de la Persistencia con Hibernate 3.3 Implementación de la Persistencia con Hibernate Índice Introducción Mapping objeto/relacional Anotación de entidades Modelado de relaciones Gestión de la Persistencia API de Persistencia de Hibernate

Más detalles

2.3.4 Estrategias de generación de claves primarias

2.3.4 Estrategias de generación de claves primarias 2.3.4 Estrategias de generación de claves primarias Estrategia 1 (1) Usar el mecanismo de generación de identificadores numéricos que proporciona la BD, en caso de que disponga de él; en otro caso, permitir

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

3.2 Diseño de la Capa Modelo

3.2 Diseño de la Capa Modelo 3.2 Diseño de la Capa Modelo Objetivo Aprender un método para diseñar sistemáticamente la capa modelo de una aplicación El método se apoya en prácticas de diseño consolidadas El método es independiente

Más detalles

2.2 Caso de estudio: diseño e implementación de la capa modelo de MiniBank con JDBC. Patrones usados

2.2 Caso de estudio: diseño e implementación de la capa modelo de MiniBank con JDBC. Patrones usados 2.2 Caso de estudio: diseño e implementación de la capa modelo de MiniBank con JDBC. Patrones usados Qué es MiniBank? Un sencillo ejemplo de una aplicación bancaria con los siguientes casos de uso Crear

Más detalles

5.6.3 Session Facade

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

Consultas en JPA-QL. Sistemas de Persistencia de Objetos

Consultas en JPA-QL. Sistemas de Persistencia de Objetos Consultas en JPA-QL Sistemas de Persistencia de Objetos Contenidos nov-08 Alberto MFA alb@uniovi.es 2 Preparación y ejecución nov-08 Alberto MFA alb@uniovi.es 3 Creación HQL y JPA QL QBC y QBE (Query By

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

Tema 5: Modelo del dominio y persistencia de datos. Parte II: Modelo del dominio y Lógica de negocio

Tema 5: Modelo del dominio y persistencia de datos. Parte II: Modelo del dominio y Lógica de negocio Tema 5: Modelo del dominio y persistencia de datos! Parte II: Modelo del dominio y Lógica de negocio Capa de lógica de negocio Es el núcleo de nuestra aplicación, y lo que la hace distinta del resto Lo

Más detalles

Tutorial de EJB avanzado

Tutorial de EJB avanzado Tutorial de EJB avanzado Introducción Este apartado se da un tutorial sobre Relaciones entre entidades Herencia de entidades EJB-QL El tutorial gira entorno a la capa modelo de una aplicación PSA (Professional

Más detalles

APELLIDOS, Nombre: // Resto de s e r v i c i o s p ú b l i c o s e n t r e l o s que s e e n c u e n t r a n i n s e r t a r y // b o r r a r //...

APELLIDOS, Nombre: // Resto de s e r v i c i o s p ú b l i c o s e n t r e l o s que s e e n c u e n t r a n i n s e r t a r y // b o r r a r //... APELLIDOS, Nombre: N o Matrícula: U.P.M. E.T.S.I.Inf Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software. Examen de Programación II. 27 de Marzo de 2014. Primer parcial. Realización:

Más detalles

2.2 Caso de estudio: diseño e implementación de la capa modelo de MiniBank con JDBC. Patrones usados

2.2 Caso de estudio: diseño e implementación de la capa modelo de MiniBank con JDBC. Patrones usados 2.2 Caso de estudio: diseño e implementación de la capa modelo de MiniBank con JDBC. Patrones usados Qué es MiniBank? Un sencillo ejemplo de una aplicación bancaria con los siguientes casos de uso Crear

Más detalles

Acceso a bases de datos desde Java: JDBC

Acceso a bases de datos desde Java: JDBC Acceso a bases de datos desde Java: JDBC Jesús Arias Fisteus Aplicaciones Web (2016/17) Aplicaciones Web (2016/17) Acceso a bases de datos desde Java: JDBC 1 Parte I JDBC Aplicaciones Web (2016/17) Acceso

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

Unidad II Tema 3: Tratamiento de arreglos y cadenas en Java

Unidad II Tema 3: Tratamiento de arreglos y cadenas en Java Unidad II Tema 3: Tratamiento de arreglos y cadenas en Java Profesor: Jorge Escalona / Tobías Bolívar Email: escaljorge@gmail.com / tobiasbolivar@gmail.com Web: http://estructuradatos.tripod.com 1 Qué

Más detalles

Java Hibernate. Programa de Estudio.

Java Hibernate. Programa de Estudio. Java Hibernate Programa de Estudio Java Hibernate Aprende el framework más utilizado del mercado JAVA para trabajar con Base de Datos, y convierte tus aplicaciones JAVA en multi plataforma y multi base

Más detalles

MANUAL BÁSICO DE MYSQL

MANUAL BÁSICO DE MYSQL MANUAL BÁSICO DE MYSQL ESCUELA COLOMBIANA DE INGENIERÍA JULIO GARAVITO LABORATORIO DE INFORMÁTICA BOGOTÁ D. C. 2007-2 TABLA DE CONTENIDO MANUAL BÁSICO DE MYSQL... 1 INTRODUCCIÓN... 3 1. CONECTARSE CON

Más detalles

Acceso a bases de datos desde Java: JDBC

Acceso a bases de datos desde Java: JDBC Acceso a bases de datos desde Java: JDBC Jesús Arias Fisteus Computación Web (2017/18) Computación Web (2017/18) Acceso a bases de datos desde Java: JDBC 1 Parte I JDBC Computación Web (2017/18) Acceso

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

Tema 6 Patrones de Diseño. Programación Orientada a Objetos Curso 2010/2011

Tema 6 Patrones de Diseño. Programación Orientada a Objetos Curso 2010/2011 Tema 6 Patrones de Diseño Programación Orientada a Objetos Curso 2010/2011 Contenido Introducción a los patrones de diseño. Patrón del Método plantilla. Patrón Composición. Patrón Estrategia. Clases anónimas

Más detalles

Instructivo de Persistencia Utilizando Hibernate

Instructivo de Persistencia Utilizando Hibernate UdeChile :: DCC CC3002 @ 2009 Metodologías de Diseño y Programación CC3002 @ 2009 Instructivo de Persistencia Utilizando Hibernate Daniel Perovich Andrés Vignaga dperovic, avignaga@dcc.uchile.cl Diploma

Más detalles

Informática Lección 5. Arreglos (vectores) Curso Pedro Álvarez y José Ángel Bañares 2/11/2010. Dpto. Informática e Ingeniería de Sistemas.

Informática Lección 5. Arreglos (vectores) Curso Pedro Álvarez y José Ángel Bañares 2/11/2010. Dpto. Informática e Ingeniería de Sistemas. Fundamentos de Informática Lección 5. Arreglos (vectores) Curso 2010-2011 Pedro Álvarez y José Ángel Bañares 2/11/2010. Dpto. Informática e Ingeniería de Sistemas. Índice de contenidos Arreglos: Concepto

Más detalles

Unidad IV. Este tipo de codificación nos es permitido gracias a la sobrecarga, la cual se aplica a métodos y constructores.

Unidad IV. Este tipo de codificación nos es permitido gracias a la sobrecarga, la cual se aplica a métodos y constructores. Unidad IV Métodos. 4.1 Definición de un método. El polimorfismo, en programación orientada a objetos, se refiere a la posibilidad de acceder a un variado rango de funciones distintas a través del mismo

Más detalles

TIPOS DE DATOS POSTGRESQL 8.4.8

TIPOS DE DATOS POSTGRESQL 8.4.8 TIPOS DE DATOS POSTGRESQL 8.4.8 Información tomada del sitio oficial de PostgreSQL http://www.postgresql.org/docs/8.4/static/index.html, traducción realizada a español por Boris Guevara. Esta información

Más detalles

Unidad IV. Aplicaciones sobre Base de Datos

Unidad IV. Aplicaciones sobre Base de Datos Clase:013 1 Unidad IV Aplicaciones sobre Base de Datos 2 Agenda PROGRAMA DE MANIPULACION DE BASE ANDROID SQLITE SQLITE OpenHelper SQLITE Database Cursor Ejemplos Agregar controles según campo Usar query

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

Tema 2: Programación basada en Objetos

Tema 2: Programación basada en Objetos Tema 2: Programación basada en Objetos Programación Orientada a Objetos Marcos López Sanz Máster en Informática Gráfica, Juegos y Realidad Virtual Índice Objetivos Introducción Vista Pública Clases Objetos

Más detalles

Tema 6: Clases. Índice

Tema 6: Clases. Índice Tema 6: Clases Antonio J. Sierra Índice 1. Fundamentos. 2. Declaración de objetos. 3. Asignación de objetos a variables referencia. 4. Métodos. 5. Constructores. 6. this. 7. Recogida de basura. 8. Modelado

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

Laboratorio de Programación III

Laboratorio de Programación III Laboratorio de Programación III Profesor René Sandoval Ingeniero (E) Informática rene2160@gmail.com Qué es JDBC? JDBC es el acrónimo de Java DataBase Conectivity Es una especificación de un conjunto de

Más detalles

Value Object (1) Agrupar un conjunto de atributos procedentes de uno o varios objetos del dominio. Data Transfer Object, Replicate Object

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

Algoritmos y Estructuras de Datos Iteradores. Guillermo Román Díez

Algoritmos y Estructuras de Datos Iteradores. Guillermo Román Díez Algoritmos y Estructuras de Datos Iteradores Guillermo Román Díez groman@fi.upm.es Universidad Politécnica de Madrid Curso 2015-2016 Guillermo Román, UPM AED: Introducción 1/26 Iteradores Es muy común

Más detalles

EJERCICIO Y EJEMPLO RESUELTO: USO DE LA INTERFAZ CLONEABLE DE JAVA. MÉTODO CLONE() PARA CLONAR OBJETOS. (CU00912C)

EJERCICIO Y EJEMPLO RESUELTO: USO DE LA INTERFAZ CLONEABLE DE JAVA. MÉTODO CLONE() PARA CLONAR OBJETOS. (CU00912C) APRENDERAPROGRAMAR.COM EJERCICIO Y EJEMPLO RESUELTO: USO DE LA INTERFAZ CLONEABLE DE JAVA. MÉTODO CLONE() PARA CLONAR OBJETOS. (CU00912C) Sección: Cursos Categoría: Lenguaje de programación Java nivel

Más detalles

Unidad V. Ya veremos qué poner en "algunas_palabras" y "algo_más", por ahora sigamos un poco más.

Unidad V. Ya veremos qué poner en algunas_palabras y algo_más, por ahora sigamos un poco más. Implementación Orientada a Objetos. Unidad V 5.1 Estructura de una clase. Una clase consiste en: algunas_palabras class nombre_de_la_clase [algo_más] { [lista_de_atributos] [lista_de_métodos] Lo que está

Más detalles

EJEMPLO 02 JPA Departamentos y Empleados Desarrollo de aplicación de empleados por departamento

EJEMPLO 02 JPA Departamentos y Empleados Desarrollo de aplicación de empleados por departamento EJEMPLO 02 JPA Departamentos y Empleados Desarrollo de aplicación de empleados por departamento Contenido 1. Base de datos SQL Server (BD_Empleados_USS)... 2 2. Proyectos y paquetes necesarios... 3 3.

Más detalles

3.2 Mapping de IDL a Java

3.2 Mapping de IDL a Java 3.2 Mapping de IDL a Java Tipos predefinidos (1) Tipo IDL short long long long unsigned short unsigned long unsigned long long float double long double Tipo Java short int long short int long float double

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

Computación Web (Curso 2015/2016)

Computación Web (Curso 2015/2016) Bases de Datos (I) Computación Web (Curso 2015/2016) Jesús Arias Fisteus // jaf@it.uc3m.es Bases de Datos (I) p. 1 Bases de datos relacionales Colección de datos almacenados en una o más tablas. Las tablas

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

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

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

ALGORITMICA Y PROGRAMACION POR OBJETOS I

ALGORITMICA Y PROGRAMACION POR OBJETOS I ALGORITMICA Y PROGRAMACION POR OBJETOS I Nivel 1 Problemas, Soluciones y Programas Marcela Hernández Hoyos Solucionar un Problema = Construir un Programa Problema Programador Herramientas y Lenguajes Análisis

Más detalles

5.3 Caso de estudio: diseño e implementación de la capa modelo de MiniPortal con EJB

5.3 Caso de estudio: diseño e implementación de la capa modelo de MiniPortal con EJB 5.3 Caso de estudio: diseño e implementación de la capa modelo de MiniPortal con EJB Estructura de paquetes Se han añadido los siguientes paquetes al modelo de MiniPortal Clase entidad UserProfile es.udc.fbellas.j2ee.miniportal.model.userprofile.entity

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

Capacitación Tecnológica Científica para Bolivia. Programación Orientada a Objetos en Java

Capacitación Tecnológica Científica para Bolivia. Programación Orientada a Objetos en Java Catecbol Capacitación Tecnológica Científica para Bolivia www.catecbol.com facebook.com/catecbol @catecbol catecbol@gmail.com Programación Orientada a Objetos en Java Saúl Medrano Estados Unidos La unión

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

Value Object (1) Agrupar un conjunto de atributos procedentes de uno o varios objetos del dominio

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

Laboratorio de Aplicaciones Telemáticas (Curso 2009/2010)

Laboratorio de Aplicaciones Telemáticas (Curso 2009/2010) Java Server Pages (JSP) Laboratorio de Aplicaciones Telemáticas (Curso 2009/2010) Jesús Arias Fisteus jaf@it.uc3m.es Java Server Pages (JSP) p. 1 Introducción Un servlet no resulta adecuado para presentación

Más detalles

Laboratorio de Aplicaciones Telemáticas (Curso 2009/2010)

Laboratorio de Aplicaciones Telemáticas (Curso 2009/2010) Java Server Pages (JSP) Laboratorio de Aplicaciones Telemáticas (Curso 2009/2010) Jesús Arias Fisteus jaf@it.uc3m.es Java Server Pages (JSP) p. 1 Introducción Un servlet no resulta adecuado para presentación

Más detalles

HIBERNATE. Universidad Nacional de Jujuy Analista Programador Universitario JTP Jorge R. Mendoza Año 2010

HIBERNATE. Universidad Nacional de Jujuy Analista Programador Universitario JTP Jorge R. Mendoza Año 2010 HIBERNATE Universidad Nacional de Jujuy Analista Programador Universitario JTP Jorge R. Mendoza Año 2010 HIBERNATE El trabajar con software orientado a objetos y con una base de datos relacional puede

Más detalles

Modulo I: Introducción Gestores de Bases De Datos

Modulo I: Introducción Gestores de Bases De Datos Modulo I: Introducción Gestores de Bases De Datos El SQL El SQL (Lenguaje de Consulta Estructurado Structure Query Language), es un lenguaje de consulta estructurado establecido claramente como el lenguaje

Más detalles

Conexiones a BD. Juan Manuel Espinoza Marquez CFT San Agustín Linares -2012

Conexiones a BD. Juan Manuel Espinoza Marquez CFT San Agustín Linares -2012 Conexiones a BD Juan Manuel Espinoza Marquez juanmanuel.espinoza@gmail.com CFT San Agustín Linares -2012 Bases de datos en la Web Las bases de datos permiten almacenar de una forma estructurada y eficiente

Más detalles

IMPLEMENTACIÓN DE CONCEPTOS P.O.O. EN JAVA

IMPLEMENTACIÓN DE CONCEPTOS P.O.O. EN JAVA IMPLEMENTACIÓN DE CONCEPTOS P.O.O. EN JAVA Implementación de conceptos P.O.O. en Java Temario 2. Conceptos de Programación Orientada a Objetos 1. Conceptos de P.O.O. 2. Implementación de conceptos P.O.O

Más detalles

Enterprise JavaBeans 3.0 con Eclipse y JBoss Libro práctico y referencias

Enterprise JavaBeans 3.0 con Eclipse y JBoss Libro práctico y referencias Uwe Rozanski Enterprise JavaBeans 3.0 con Eclipse y JBoss Libro práctico y referencias Introducción...17 1 Principios básicos de Java EE...20 1.1 Visión general...20 1.2 Stateless bean...22 1.2.1 Clase

Más detalles

Aplicaciones Web (Curso 2014/2015)

Aplicaciones Web (Curso 2014/2015) Bases de Datos (III) Aplicaciones Web (Curso 2014/2015) Jesús Arias Fisteus // jaf@it.uc3m.es Bases de Datos (III) p. 1 JDBC: Acceso a bases de datos relacionales en Java Bases de Datos (III) p. 2 JDBC

Más detalles

Unidad Didáctica 1. Introducción a la Programación Orientada a Objetos (POO) Conceptos de clase, objeto e interfaz. Atributos y métodos

Unidad Didáctica 1. Introducción a la Programación Orientada a Objetos (POO) Conceptos de clase, objeto e interfaz. Atributos y métodos Unidad Didáctica 1 Introducción a la Programación Orientada a Objetos (POO) Conceptos de clase, objeto e interfaz. Atributos y métodos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos

Más detalles

Computación Web (Curso 2015/2016)

Computación Web (Curso 2015/2016) Bases de Datos (III) Computación Web (Curso 2015/2016) Jesús Arias Fisteus // jaf@it.uc3m.es Bases de Datos (III) p. 1 JDBC: Acceso a bases de datos relacionales en Java Bases de Datos (III) p. 2 JDBC

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

TRABAJO FIN DE CARRERA EL CUADERNO DEL ASTRÓNOMO. Área J2EE Autor: Manuel Luis Ortiz Rojas (ITIG) Coordinador: Juan José Rodríguez

TRABAJO FIN DE CARRERA EL CUADERNO DEL ASTRÓNOMO. Área J2EE Autor: Manuel Luis Ortiz Rojas (ITIG) Coordinador: Juan José Rodríguez Área J2EE Autor: Manuel Luis Ortiz Rojas (ITIG) Coordinador: Juan José Rodríguez Universitat Oberta de Catalunya Junio 2012 TRABAJO FIN DE CARRERA EL CUADERNO DEL ASTRÓNOMO ÍNDICE 1. Introducción página

Más detalles

Plantillas (Templates) Agustín J. González ELO-329

Plantillas (Templates) Agustín J. González ELO-329 Plantillas (Templates) Agustín J. González ELO-329 Definición Una plantilla (template) es un patrón para crear funciones o clases usando tipos de datos como parámetros. Hay dos tipos de templates: Funciones

Más detalles

IMPORTAR Y USAR CLASES DEL API DE JAVA. EJEMPLO CLASE MATH Y MÉTODO POW. CONSTRUCTORES PRIVADOS. (CU00647B)

IMPORTAR Y USAR CLASES DEL API DE JAVA. EJEMPLO CLASE MATH Y MÉTODO POW. CONSTRUCTORES PRIVADOS. (CU00647B) APRENDERAPROGRAMAR.COM IMPORTAR Y USAR CLASES DEL API DE JAVA. EJEMPLO CLASE MATH Y MÉTODO POW. CONSTRUCTORES PRIVADOS. (CU00647B) Sección: Cursos Categoría: Curso Aprender programación Java desde cero

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

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

Bloque II. Elementos del lenguaje de programación Java

Bloque II. Elementos del lenguaje de programación Java Bloque II. Elementos del lenguaje de programación Java 1.Introducción a los lenguajes de programación 2. Estructura de un programa 3. Datos y expresiones simples 4. Instrucciones de control 5. Entrada/salida

Más detalles

LA PALABRA CLAVE THIS EN JAVA. CONTENIDO NULL POR DEFECTO DE UN OBJETO. SOBRECARGA DE NOMBRES. EJEMPLOS (CU00654B)

LA PALABRA CLAVE THIS EN JAVA. CONTENIDO NULL POR DEFECTO DE UN OBJETO. SOBRECARGA DE NOMBRES. EJEMPLOS (CU00654B) APRENDERAPROGRAMAR.COM LA PALABRA CLAVE THIS EN JAVA. CONTENIDO NULL POR DEFECTO DE UN OBJETO. SOBRECARGA DE NOMBRES. EJEMPLOS (CU00654B) Sección: Cursos Categoría: Curso Aprender programación Java desde

Más detalles

Programación Orientada a Objetos en C++

Programación Orientada a Objetos en C++ Unidad I Programación Orientada a Objetos en C++ Programación Orientada a Objetos en C++ Programación I - 0416202 Contenido Esta lección abarca los siguientes temas: Estructura y declaración de una clase

Más detalles

Vamos a ver un ejemplo y profundizar un poco en su funcionamiento. Para ello vamos a definir las dependencias del proyecto vía Maven:

Vamos a ver un ejemplo y profundizar un poco en su funcionamiento. Para ello vamos a definir las dependencias del proyecto vía Maven: Usar la anotacion @GeneratedValue con JPA es algo bastante habitual ya que existen muchas tablas cuyas claves primarias preferimos que sean autoincrementales. Así pues solemos configurar las entidades

Más detalles

APÉNDICE A: ACCESO A UNA BASE DE DATOS CON JDBC

APÉNDICE A: ACCESO A UNA BASE DE DATOS CON JDBC APÉNDICE A: ACCESO A UNA BASE DE DATOS CON JDBC Lo primero que hay que saber es que la manera más conveniente de acceder a una base de datos utilizando el lenguaje de programación JAVA, es a través del

Más detalles

En Java, un arreglo es un grupo de variables (llamados elementos o componentes) que contienen valores, todos del mismo tipo.

En Java, un arreglo es un grupo de variables (llamados elementos o componentes) que contienen valores, todos del mismo tipo. Arreglos Los arreglos son estructuras de datos que consisten de elementos de datos relacionados, del mismo tipo. Los arreglos son entidades son entidades de longitud fija: conservan la misma longitud una

Más detalles

INTERACCION ENTRE OBJETOS

INTERACCION ENTRE OBJETOS INTERACCION ENTRE OBJETOS Corina Flores Villarroel UMSS - Contenido Este capítulo se discutirán conceptos relacionados con: Abstracción y encapsulamiento, Modularización, composición Creación de objetos,

Más detalles

Diseño e Implementación con J2EE

Diseño e Implementación con J2EE Diseño e Implementación con J2EE Fernando Bellas Permuy Departamento de Tecnologías de la Información y las Comunicaciones (TIC) Universidad de A Coruña http://www.tic.udc.es/~fbellas fbellas@udc.es Objetivos

Más detalles

Introducción a Java LSUB. 30 de enero de 2013 GSYC

Introducción a Java LSUB. 30 de enero de 2013 GSYC Introducción a Java LSUB GSYC 30 de enero de 2013 (cc) 2013 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial

Más detalles

API Java de persistencia

API Java de persistencia API Java de persistencia Aplicaciones web y Bases de datos Normalmente las aplicaciones web guardan datos de distintos tipos, tanto datos producidos durante la interacción de los usuarios con la aplicación

Más detalles

Tema 2. El lenguaje de programación Java (Parte 1)

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

Soluciones al Examen de Fundamentos de Computadores y Lenguajes

Soluciones al Examen de Fundamentos de Computadores y Lenguajes Soluciones al Examen de Fundamentos de Computadores y Lenguajes Cuestiones (5 cuestiones, 5 puntos en total) Examen Final. Septiembre 2003 1) Se dispone del siguiente array de números reales ya creado.

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

Estructura de Datos Unidad 1: Repaso del Lenguaje Java

Estructura de Datos Unidad 1: Repaso del Lenguaje Java Estructura de Datos Unidad 1: Repaso del Lenguaje Java Introducción Java es un lenguaje de programación orientado a objetos, desarrollado por Sun Microsystems a principios de 1991, con el que se van a

Más detalles

Forma Básica Clase Java

Forma Básica Clase Java Programación Orientada a Objetos Conceptos Básicos de Objetos en Java Ing. Julio Ernesto Carreño Vargas MsC. Forma básica de una clase en Java Especifica que la clase forma parte del paquete conceptos

Más detalles

Ejercicios de Acceso a datos en Spring

Ejercicios de Acceso a datos en Spring Ejercicios de Acceso a datos en Spring Índice 1 Uso de JDBC en Spring (1 punto)...2 2 Transaccionalidad declarativa (1 punto)... 2 3 Uso de JPA en Spring (1 punto)...4 Continuaremos en esta sesión con

Más detalles

Experto Universitario Java Enterprise Spring

Experto Universitario Java Enterprise Spring Sesión 2: 1 Puntos a tratar Por qué usar para acceso a datos Problemas típicos de JDBC JDBC con JPA con Transaccionalidad declarativa 2 Por qué usar el acceso a datos de no nos obliga a usar su módulo

Más detalles

Introducción a Java. Dr. (c) Noé Alejandro Castro Sánchez

Introducción a Java. Dr. (c) Noé Alejandro Castro Sánchez Introducción a Java Dr. (c) Noé Alejandro Castro Sánchez Programas Java Applets Pueden correr en navegadores Web Agregan funcionalidad a páginas Web Se llega a restringir su funcionalidad (e. g., no pueden:

Más detalles

Datos Elementales y formato de un programa en Java

Datos Elementales y formato de un programa en Java Datos Elementales y formato de un programa en Java PROGRAMACION I Grado en Matematicas Informática Programación I - 2015/2016 Datos, variables y mi primer programa 1 Introducción a la programación o Programa:

Más detalles

CAPÍTULO 2 DISEÑO E IMPLEMENTACIÓN DE MÉTODOS EN C#

CAPÍTULO 2 DISEÑO E IMPLEMENTACIÓN DE MÉTODOS EN C# CAPÍTULO 2 DISEÑO E IMPLEMENTACIÓN DE MÉTODOS EN C# 2 http://www.itnuevolaredo.edu.mx/takeyas 1 Preguntas detonadoras Qué es un método? Cuáles son los tipos de métodos? En qué se parecen? En qué difieren?

Más detalles

Métodos CON valor de retorno

Métodos CON valor de retorno Métodos Estáticos C# Fundamentos de Programación. Objetivos del tema: Qué es un método? Qué métodos conoces? Métodos que NO devuelven valor. Métodos que SI devuelven un valor. Paso de parámetros. Variables

Más detalles

Computación Web (Curso 2013/2014)

Computación Web (Curso 2013/2014) Aplicaciones Web con Servlets y JSP (II) Computación Web (Curso 2013/2014) Jesús Arias Fisteus // jaf@it.uc3m.es Aplicaciones Web con Servlets y JSP (II) p. 1 Java Server Pages (JSP) Aplicaciones Web con

Más detalles

INTERFACE ITERATOR DEL API JAVA. MÉTODO REMOVE PARA BORRAR OBJETOS EN COLECCIONES. EJERCICIOS Y EJEMPLO RESUELTO. (CU00919C)

INTERFACE ITERATOR DEL API JAVA. MÉTODO REMOVE PARA BORRAR OBJETOS EN COLECCIONES. EJERCICIOS Y EJEMPLO RESUELTO. (CU00919C) APRENDERAPROGRAMAR.COM INTERFACE ITERATOR DEL API JAVA. MÉTODO REMOVE PARA BORRAR OBJETOS EN COLECCIONES. EJERCICIOS Y EJEMPLO RESUELTO. (CU00919C) Sección: Cursos Categoría: Lenguaje de programación Java

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

- Compilar y ejecutar programas en Java - Estructura básica de una clase - El comando javac - El comando java - Introducción al IDE de desarrollo

- Compilar y ejecutar programas en Java - Estructura básica de una clase - El comando javac - El comando java - Introducción al IDE de desarrollo - Introdución a Java - Breve historia de Java - Características del lenguaje Java - Estructura del JDK 1.6 - Documentación del API (JavaDoc) - Instalar y configurar el ambiente de desarrollo - La variable

Más detalles