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

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

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

Transcripción

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

2 Capa de lógica de negocio Es el núcleo de nuestra aplicación, y lo que la hace distinta del resto Lo que hace que nuestra aplicación sea algo más que un simple CRUD Dos tipos de elementos: Objetos del modelo del dominio: Usuario, Pedido, Producto, Reglas de negocio: Un usuario solo puede hacer un pedido si no tiene pedidos pendientes de pago Tras realizar un pedido con éxito hay que mandar un de confirmación al usuario

3 Servicios de la plataforma Las plataformas de desarrollo de aplicaciones enterprise pueden ofrecer diferentes servicios a nuestros objetos de negocio Acceso remoto transparente, de modo que sea sencillo para el desarrollado distribuir los objetos de negocio y acceder a ellos de modo remoto Seguridad: si se permite el acceso remoto, es necesario contar con mecanismos de autenticación y autorización para el acceso a las operaciones de negocio Transaccionalidad: aunque la implementación de la transaccionalidad es un asunto de la capa de persistencia, el ámbito de las transacciones lo delimitan las operaciones de negocio Ejemplo: en el método de negocio hacerpedido, hacer un rollback del pedido si se descubre que no podemos cobrárselo al usuario

4 Ejemplo: EJBs en Java Enterprise Los EJBs (Enterprise Java Beans) son los objetos de negocio de las registered ) public class OrderServiceBean implements OrderService { private CrudService crudservice; private VatCalculator vatcalculator; private PriceCalculator pc; private OrderProcessor op; private ShipmentService shipmentservice;!

5 Tema 5: Modelo del dominio y persistencia de datos Parte II: Modelo del dominio y lógica de negocio! 2. Capa de negocio orientada a servicios

6 Capa de negocio orientada a servicios Principios Las reglas de negocio se encapsulan en una capa de servicios El modelo del dominio se convierte en un conjunto de objetos solo con estado y sin comportamiento Ventajas: Este modelo se adapta razonablemente a las apps web, en las que no suele haber un modelo del dominio complejo y vivo durante un largo período de tiempo Ya vimos que cada petición/respuesta es un ciclo independiente y que en las apps REST no hay estado Un punto a favor de las apps sin estado es que son más fáciles de escalar Problemas: Esto viola algunos principios básicos de la POO, dando lugar a lo que Fowler llama un modelo anémico del dominio

7 Capa de negocio orientada a servicios Ejemplo: Lean Service Architectures with Java EE 6, Adam Bien Fachada Servicio DAO ORM API / SQL Entidad ORM API BD Negocio Persistencia

8 Presentación En nuestro caso un public class OrderResource OrderService public Response placeorder(bookorder order) { orderservice.orderbook(order.getcustomerid(), order.getbookisbn());...

9 Fachada Punto de entrada, al que hace peticiones la capa de presentación Meta-servicio que engloba @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) public class OrderServiceBean implements OrderService { private CrudService crudservice; private VatCalculator vatcalculator; private PriceCalculator pc; private OrderProcessor op; private ShipmentService shipmentservice; public Shipment orderbook(int customerid, int isbn){ BigDecimal pricenovat = this.pc.computeprice(customerid, isbn); BigDecimal price = this.vatcalculator.computevat(pricenovat); Order o = this.op.processorder(customerid, isbn, price); return this.shipmentservice.deliver(o);

10 Servicio Clase que encapsula reglas de negocio Usa DAOs para la persistencia, o si el ORM es sencillo de usar, lo @TransactionAttribute(TransactionAttributeType.MANDATORY) public class OrderProcessorBean implements OrderProcessor private EntityManager em;! public Order processorder(int customerid, int productid, BigDecimal price) { Order order = new Order(customerId, productid, price); this.em.persist(order); return order;

11 Encapsulación vs. pragmatismo Los DAOs ofrecen beneficios Aíslan contra posibles cambios en la implementación de la persistencia Encapsulan el código repetitivo de acceso a BD pero a cambio introducen complejidad adicional (más capas, public class OrderDAO { public class OrderProcessorBean implements OrderProcessor private OrderDAO orderdao; public Order processorder(int customerid, int productid, BigDecimal price) public Order save(order order) { Order order = new Order(customerId, productid, price); this.em.persist(order); this.orderdao.save(order); return order; return private EntityManager em;

12 Entidad Solo tiene estado, es básicamente un paquete de public class = GenerationType.AUTO) private Long id;! private int customerid; private int productid; private double price; //A continuación solo hay constructores, getters y setters...

13 Servicios independientes Lo anterior es SOA en sentido amplio. Hacer los servicios realmente independientes requiere además de una división de la BD y de infraestructura básica como la autenticación Dan Chak, Enterprise Rails, O Reilly 2009

14 Tema 5: Modelo del dominio y persistencia de datos Parte II: Modelo del dominio y lógica de negocio! Un modelo del dominio realista

15 Ejemplo: Domain Driven Design The goal of domain driven design is to create better software by focusing on a model of the domain rather than the technology! Se basa en construir un modelo del dominio rico y complejo, con estado y comportamiento En realidad es lo que propone la POO de toda la vida Las aplicaciones DDD usan un conjunto de patrones característico

16 La lógica está en el modelo Las reglas de negocio están en los objetos del dominio Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software, Addison Wesley

17 DDD Sample application Cargo app: gestión de una naviera dedicada al transporte de contenedores. La app debe permitir La contratación del envío de un contenedor de un punto A a otro B (con posibles escalas) El seguimiento del estado actual de un envío (como lo que se hace en los servicios de paquetería) El cálculo de la ruta entre A y B, sabiendo los puertos en los que se puede parar Versiones Java: Image courtesy of FreeFoto.com.NET: Ruby: ddd_sample_app_ruby

18 DDD Sample app

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

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

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

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

Técnicas de Diseño

Técnicas de Diseño Técnicas de Diseño - 2011 Introducción Motivación o Algunos puntos claves: qué es? quién lo escribió? qué parte del software es la más compleja? o Metodologías ágiles o Lenguaje ubicuo Patrones propuestos

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

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

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

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

UNIVERSIDAD DE PIURA

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

Experto Universitario Java Enterprise Spring

Experto Universitario Java Enterprise Spring Experto Universitario Java Enterprise Spring Sesión 1: Spring core Puntos a tratar Introducción. Spring vs. JavaEE estándar El contenedor de beans (Spring core) Trabajo con beans Definir beans Instanciar

Más detalles

Desarrollo de Software con

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

Juego multijugador web de simulación social

Juego multijugador web de simulación social Junio de 2013 Índice 1 2 3 4 Crear un juego multijugador web Crear un juego multijugador web Cumplir la planificación Sencillo por fuera, jugable por dentro. Libre, y utilizando solamente herramientas

Más detalles

Introducción a la herramienta para administración de información de especies y especímenes: Ara. María Mora, INBio. Costa Rica mmora@inbio.ac.

Introducción a la herramienta para administración de información de especies y especímenes: Ara. María Mora, INBio. Costa Rica mmora@inbio.ac. Introducción a la herramienta para administración de información de especies y especímenes: Ara María Mora, INBio. Costa Rica mmora@inbio.ac.cr Temario Objetivo del sistema Mecanismos de implementación

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

Desarrollador de Aplicaciones Web con Java

Desarrollador de Aplicaciones Web con Java Desarrollador de Aplicaciones Web con Java El presente programa integral tiene como finalidad el uso de la tecnología Java para el desarrollo de aplicaciones Web empresariales. En los tres módulos se utilizan

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

Diplomado Programming Java (JSE & JEE) with Oracle 10g

Diplomado Programming Java (JSE & JEE) with Oracle 10g Diplomado Programming Java (JSE & JEE) with Oracle 10g Descripción: Nuestro diplomado ofrece un entrenamiento INTEGRAL y el más completo si estás interesado en realmente aprender Java y aplicarlo en tecnologías

Más detalles

El 80% de las compañías desarrollan software de forma a día de hoy obsoleta

El 80% de las compañías desarrollan software de forma a día de hoy obsoleta Imagen Dragon El 80% de las compañías desarrollan software de forma a día de hoy obsoleta Productos que nunca van lentos y nunca se caen El time to market ya no se mide con el calendario, se mide con

Más detalles

5.4 Elaboración de programas de estudio Desarrollo de Aplicaciones empresariales

5.4 Elaboración de programas de estudio Desarrollo de Aplicaciones empresariales 5.4 Elaboración de programas de estudio 5.4.1 Desarrollo de Aplicaciones empresariales 1. Datos Generales de la asignatura Nombre de la asignatura: Clave de la asignatura: SATCA: Carrera: Desarrollo de

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

Propuesta de Arquitectura. Grupo Técnico RedVUCE

Propuesta de Arquitectura. Grupo Técnico RedVUCE + Propuesta de Arquitectura Grupo Técnico RedVUCE + Contenido Plan de Trabajo Normativo: Introducción. Objetivo Arquitectura SOA. Herramientas Propuestas Características de ESB Arquitectura propuesta (Física

Más detalles

TEMA 5. Otras arquitecturas distribuidas III. Otros entornos de objetos distribuidos

TEMA 5. Otras arquitecturas distribuidas III. Otros entornos de objetos distribuidos TEMA 5. Otras arquitecturas distribuidas III. Otros entornos de objetos distribuidos III. Otros entornos de objetos distribuidos 1. Problemas de CORBA 2. Java Enterprise Edition 1. EJB 2. Servidor de aplicaciones

Más detalles

Arquitectura Web Multicapa. Tema 6.a: Arquitectura sistema en capas. Ventajas de los sistemas. distribuidos. Arquitectura software en capas

Arquitectura Web Multicapa. Tema 6.a: Arquitectura sistema en capas. Ventajas de los sistemas. distribuidos. Arquitectura software en capas Tema 6.a: Arquitectura Web Multicapa 46 Arquitectura software en capas Capa Presentación: genera pantallas, crea código formato. Capa Lógica negocio: objetos aplicación que generan, manipulan y organizan

Más detalles

Java y CDI sobre JEE 6 (JSR 330)

Java y CDI sobre JEE 6 (JSR 330) La inyección de dependencia es uno de los conceptos que ya hemos abordado a nivel de EJBs en donde habitualmente un Servlet accede a un EJB vía inyección de dependencia usando la anotación @EJB Vamos a

Más detalles

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

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

Java Session. Usando Java Session en aplicaciones web

Java Session. Usando Java Session en aplicaciones web Uno de los conceptos que más problemas produce cuando comenzamos a trabajar con aplicaciones web en Java es el concepto de java session (HttpSession) que sirve para almacenar información entre diferentes

Más detalles

Curso JAVA EE 7 2016

Curso JAVA EE 7 2016 Curso JAVA EE 7 2016 Curso de Java EE 7 PC CARRIER 29 de marzo de 2016 Autor: Marc Revenga Esquinas Curso JAVA EE 7 2016 Curso de Java EE 7 Clase 1. Aplicaciones web Java EE. Configuración del servidor

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

Universidad Tecnológica Nacional Facultad Regional San Francisco. Ingeniería en Sistemas de Información. Diseño de Sistemas

Universidad Tecnológica Nacional Facultad Regional San Francisco. Ingeniería en Sistemas de Información. Diseño de Sistemas Universidad Tecnológica Nacional Facultad Regional San Francisco Ingeniería en Sistemas de Información PLANIFICACIÓN CICLO LECTIVO 2016 ÍNDICE ÍNDICE... 2 PROFESIONAL DOCENTE A CARGO... 3 UBICACIÓN...

Más detalles

mayo de 2008 Persistencia

mayo de 2008 Persistencia mayo de 2008 Persistencia Mecanismos de Almacenamiento BDO: No se necesita servicios de persistencia. BDR: Se requiere un servicio de correspondencia entre objetos y relaciones. XML, archivos, BD jerárquicas,

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

PARTE 1: INTRODUCCIÓN DE LA PLANIFICACIÓN. Carrera y plan: Analista Programador Universitario Plan 2008.

PARTE 1: INTRODUCCIÓN DE LA PLANIFICACIÓN. Carrera y plan: Analista Programador Universitario Plan 2008. PARTE 1: INTRODUCCIÓN DE LA PLANIFICACIÓN Identificación: Carrera y plan: Analista Programador Universitario Plan 2008. Asignatura: Programación Orientada a Objetos. Condiciones para el desarrollo de la

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

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

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

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

Ejercicio 6. Persistencia con JPA - Sistema SGA. Java EE. Ejercicio 6. Persistencia con JPA Sistema SGA. Curso de Java EE

Ejercicio 6. Persistencia con JPA - Sistema SGA. Java EE. Ejercicio 6. Persistencia con JPA Sistema SGA. Curso de Java EE Java EE Ejercicio 6 Persistencia con JPA Sistema SGA Objetivo del Ejercicio El objetivo del ejercicio agregar persistencia con JPA a nuestro proyecto SGA (Sistema de Gestión de Alumnos). Al finalizar deberemos

Más detalles

Servicios Telemáticos Avanzados. 7.- Capa de Negocio en Java EE. OpenCourseWare 2014

Servicios Telemáticos Avanzados. 7.- Capa de Negocio en Java EE. OpenCourseWare 2014 Servicios Telemáticos Avanzados 7.- Capa de Negocio en Java EE OpenCourseWare 2014 Maider Huarte y Gorka Prieto Escuela Técnica Superior de Ingeniería de Bilbao Departamento de Ingeniería de Comunicaciones

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

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

PLANEACIÓN DEL PROYECTO SIGPLAN (GENERADOR DE ESCENARIOS DE PLANEACIÓN PARA LA GESTIÓN DE UN PROYECTO INFORMÁTICO.)

PLANEACIÓN DEL PROYECTO SIGPLAN (GENERADOR DE ESCENARIOS DE PLANEACIÓN PARA LA GESTIÓN DE UN PROYECTO INFORMÁTICO.) PLANEACIÓN DEL PROYECTO SIGPLAN (GENERADOR DE ESCENARIOS DE PLANEACIÓN PARA LA GESTIÓN DE UN PROYECTO INFORMÁTICO.) Documento de Arquitectura y Diseño Paulo Alexander Chirán Portillo (pchiran@javeriana.edu.co)

Más detalles

Tema 6: Arquitectura Web Multicapa

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

Patrón Façade Patrón Template Method Conclusiones

Patrón Façade Patrón Template Method Conclusiones Tema 3.3.1 Patrones: Façade y Template Method Ingeniería del Software II J. Peña (Teoría) Índice Patrón Façade Patrón Template Method Conclusiones Índice Patrón Façade Patrón Template Method Conclusiones

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

Web Frameworks y patrones de diseño

Web Frameworks y patrones de diseño Web Frameworks y patrones de diseño Ingeniería del software Universidad de Los Andes Nerio Moran, Alvaro Araujo 29 de Enero,2018 Ingenieria del software Universidad de Los Andes 29 de Enero,2018 1 / 26

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

PA JOSÉ MANUEL BURBANO CARVAJAL

PA JOSÉ MANUEL BURBANO CARVAJAL PA121-01 SISTEMA DE GESTIÓN DEL CONOCIMIENTO PARA LA DEFINICIÓN DE ESTRATEGIAS QUE EVITEN LA DESERCIÓN ESCOLAR EN LOS COLEGIOS DE MOCOA PUTUMAYO EN EL NIVEL DE EDUCACIÓN BÁSICA SECUNDARIA JOSÉ MANUEL BURBANO

Más detalles

Tema 5. Plataforma Java EE

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

ESPECIALISTA EN TECNOLOGIAS JAVA

ESPECIALISTA EN TECNOLOGIAS JAVA ESPECIALISTA EN TECNOLOGIAS JAVA Java Standard Edition Java Enterprise Edition Java Server Face Framework JSF MATERIAS Java - Framework Spring Java Framework Hibernate Java Enlace framework Progr. para

Más detalles

PRÁCTICA 3: COMPONENTES. Javier Sánchez Pérez Arquitectura del Software Grado en Informática

PRÁCTICA 3: COMPONENTES. Javier Sánchez Pérez Arquitectura del Software Grado en Informática PRÁCTICA 3: COMPONENTES Javier Sánchez Pérez Arquitectura del Software Grado en Informática Contenidos Java EE Enterprise Java Beans Stateless Session Beans Stateful Session Beans Singleton Session Beans

Más detalles

SÍLABO DE ARQUITECTURA DE SOFTWARE

SÍLABO DE ARQUITECTURA DE SOFTWARE SÍLABO DE ARQUITECTURA DE SOFTWARE I. DATOS GENERALES CÓDIGO CARÁCTER A0010 Electivo CRÉDITOS 5 PERIODO ACADÉMICO 2016 PRERREQUISITO Ninguno HORAS Teóricas: 3 Prácticas: 4 II. SUMILLA DE LA ASIGNATURA

Más detalles

Patrones de Diseño. Ing. Miguel Angel Cedeño Garcidueñas

Patrones de Diseño. Ing. Miguel Angel Cedeño Garcidueñas Patrones de Diseño Ing. Miguel Angel Cedeño Garcidueñas miguelcedega@correo.fie.umich.mx Patrones de Diseño Diseñar software orientado a objetos es difícil, pero diseñar software orientado a objetos reutilizable

Más detalles

A3F. Polimorfismo. Carlos Fontela

A3F. Polimorfismo. Carlos Fontela Polimorfismo Carlos Fontela cfontela@fi.uba.ar Temario Métodos virtuales Métodos abstractos Polimorfismo como concepto Interfaces Clases internas 2c2009 2 Métodos virtuales (1) 2c2009 3 Métodos virtuales

Más detalles

Introducción a la Orientación a Objetos

Introducción a la Orientación a Objetos Introducción a la Orientación a Objetos Breve historia de la OO 1960s. Simula incorpora características propias de la OO. 1970s. Smalltalk. Lenguaje totalmente OO. 1990s. Boom de la OO. 2000-Hoy. Época

Más detalles

Sistemas de Información 12/13 Introducción

Sistemas de Información 12/13 Introducción 12/13 Introducción Departamento Informática e Ingeniería de Sistemas Universidad de Zaragoza (raqueltl@unizar.es) " Guión Aplicaciones Empresariales Características Arquitecturas Tecnologías de desarrollo

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

Experto Universitario Java Enterprise Spring

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

Curso: Patrones de Diseño de Arquitecturas de tipo Enterprise

Curso: Patrones de Diseño de Arquitecturas de tipo Enterprise Curso: Patrones de Diseño de Arquitecturas de tipo Enterprise PATRONES DE DISEÑO DE ARQUITECTURA ENTERPRISE... 1 OBJETIVO...1 AUDIENCIA...1 CONTENIDO...1 BIBLIOGRAFÍA...2 DOCENTE...3 MODALIDAD DEL DESARROLLO...3

Más detalles

Diseño de la Arquitectura Lógica con Patrones. mayo de 2008

Diseño de la Arquitectura Lógica con Patrones. mayo de 2008 Diseño de la Arquitectura Lógica con Patrones mayo de 2008 Agenda Definición de Arquitectura Dimensiones de Arquitectura Categorías de Patrones Patrón de Arquitectura Organización de Paquetes Análisis

Más detalles

Java Interfaces y el concepto de simplicidad

Java Interfaces y el concepto de simplicidad El concepto de Java Interfaces es de sobra conocido por todos. Qué son los Java interfaces?. Esta es una muy buena pregunta.la mayor parte de las veces cuando uno mira la definición de interface suele

Más detalles

Algoritmos y Estructuras de Datos Tema 2: Diseño de Algoritmos

Algoritmos y Estructuras de Datos Tema 2: Diseño de Algoritmos Algoritmos y Estructuras de Datos Tema 2: Diseño de Algoritmos 1! 1. Algoritmos recursivos " 1.1 Algoritmos recursivos. Recursión simple " 1.2 Algoritmos con vuelta atrás y ejemplos! 2. Complejidad de

Más detalles

CLASIFICACIÓN DE SERVICIOS EN SOA CONTENIDO

CLASIFICACIÓN DE SERVICIOS EN SOA CONTENIDO CLASIFICACIÓN DE SERVICIOS EN SOA CONTENIDO Introducción:...1 Descripción:...1 SERVICIOS BASICOS:... 1 Servicios centrados en los datos:... 2 Servicios centrados en la lógica:... 2 SERVICIOS INTERMEDIARIOS:...

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

Conceptos Básicos. Programación Orientada a Objetos 2

Conceptos Básicos. Programación Orientada a Objetos 2 Programación Orientada a Objetos Conceptos Básicos de Objetos Ing. Julio Ernesto Carreño Vargas MsC. Conceptos Básicos Las aproximaciones ADOO y POO, proveen a los objetos como el principal medio para

Más detalles

Patrones de diseño. Patrón básico Handler. Técnicas de Programación - Curso 2007/08

Patrones de diseño. Patrón básico Handler. Técnicas de Programación - Curso 2007/08 Patrones de diseño Patrón básico Handler Técnicas de Programación - Curso 2007/08 Patrones de diseño Introducción Objetivos: Diseño específico para el problema, pero general para poder adecuarse a futuros

Más detalles

Unidad 1: Introducción a las Aplicaciones Enterprise.

Unidad 1: Introducción a las Aplicaciones Enterprise. PATRONES DE ARQUITECTURAS DE SOFTWARE DE APLICACIONES ENTERPRISE Año 2015 Carrera: Licenciatura en Sistemas Plan2003-07 Plan 2012 Plan 2015 Año: Régimen de Cursada: Semestral Carácter: Optativa Correlativas:

Más detalles

PATRONES DE ARQUITECTURAS DE SOFTWARE DE APLICACIONES ENTERPRISE

PATRONES DE ARQUITECTURAS DE SOFTWARE DE APLICACIONES ENTERPRISE PATRONES DE ARQUITECTURAS DE SOFTWARE DE APLICACIONES ENTERPRISE Año 2016 Carrera: Licenciatura en Sistemas Plan2003-07 Plan 2012 Año: Régimen de Cursada: Semestral Carácter: Optativa Correlativas: Proyecto

Más detalles

Dirección de Investigación y Estrategias de Mercado. Evaluación de las Aplicaciones Indicadores y DENUE

Dirección de Investigación y Estrategias de Mercado. Evaluación de las Aplicaciones Indicadores y DENUE Dirección de Investigación y Estrategias de Mercado Evaluación de las Aplicaciones Indicadores y DENUE Mayo 05 INTRODUCCIÓN La interfaz de programación de aplicaciones (IPA), abreviada como API (del inglés:

Más detalles

Java EE 6: Desarrollo de componentes de negocio con JMS y EJBs

Java EE 6: Desarrollo de componentes de negocio con JMS y EJBs Oracle University Contact Us: 001-855-844-3881 Java EE 6: Desarrollo de componentes de negocio con JMS y EJBs Duration: 4 Days What you will learn Esta capacitación Java EE 6: Desarrollo de componentes

Más detalles

Tema 3: MVC en el cliente con Javascript. Parte I: Introducción a MV*

Tema 3: MVC en el cliente con Javascript. Parte I: Introducción a MV* Tema 3: MVC en el cliente con Javascript Parte I: Introducción a MV* Tema 3: MVC en el cliente con Javascript Parte I: Introducción 1. MVW: Model, View, Whatever MVC Patrón de diseño arquitectónico que

Más detalles

Patrones de Diseño. Patrón estructural Composite. Técnicas de Programación - Curso 2007/08

Patrones de Diseño. Patrón estructural Composite. Técnicas de Programación - Curso 2007/08 Patrones de Diseño Patrón estructural Composite Técnicas de Programación - Curso 2007/08 Propósito Componer objetos en estructuras arbóreas para representar jerarquías todo-parte. Manipular todos los objetos

Más detalles

Guía del Curso Especialista TIC en Programación con JAVA 8 SE Standard Edition

Guía del Curso Especialista TIC en Programación con JAVA 8 SE Standard Edition Guía del Curso Especialista TIC en Programación con JAVA 8 SE Standard Edition Modalidad de realización del curso: Titulación: A distancia y Online Diploma acreditativo con las horas del curso OBJETIVOS

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

Persistencia en Sistemas O.O.

Persistencia en Sistemas O.O. Persistencia en Sistemas O.O. Taller de Programación Instituto de Computación Facultad de Ingeniería Universidad de la República Contenido Conceptos básicos Definición y motivación de persistencia Mecanismo

Más detalles

Presentación del Curso Presencial. Programación Web con Java J2EE

Presentación del Curso Presencial. Programación Web con Java J2EE Presentación del Curso Presencial Programación Web con Java J2EE Tabla de contenido Presentación del curso... 3 Objetivos de aprendizaje... 4 Contenidos del curso... 5 Competencias previas... 6 Recursos...

Más detalles

MVC (Model-View-Controller)

MVC (Model-View-Controller) MVC (Model-View-Controller) (...o la forma de traer orden al caos...) (BORRADOR) Universidad de los Andes Demián Gutierrez Diciembre 2010 1 MVC: Modelo Vista Controlador? Desarrollado / Ideado originalmente

Más detalles

Experto en Desarrollo de Componentes de Negocio con Tecnología Empresarial Java Beans

Experto en Desarrollo de Componentes de Negocio con Tecnología Empresarial Java Beans Experto en Desarrollo de Componentes de Negocio con Tecnología Empresarial Java Beans titulación de formación continua bonificada expedida por el instituto europeo de estudios empresariales Experto en

Más detalles

CURSO. Programación web JAVA JEE. Civil, sistemas, diseño

CURSO. Programación web JAVA JEE. Civil, sistemas, diseño CURSO Programación web JAVA JEE Civil, sistemas, diseño Bienvenido, Curso Programación web JAVA JEE Presentación Java es una tecnología para el desarrollo de software que por tener carácter de software

Más detalles

Curso: Desarrollo y Administración de Requerimientos

Curso: Desarrollo y Administración de Requerimientos Curso: Desarrollo y Administración de Requerimientos DESARROLLO Y ADMINISTRACIÓN DE REQUERIMIENTOS... 1 OBJETIVO...1 AUDIENCIA...1 CONTENIDO...1 BIBLIOGRAFÍA...3 DOCENTE...3 MODALIDAD DEL DESARROLLO...3

Más detalles

JavaServer Faces. Sesión 2: MVC en JSF. Experto Universitario Java Enterprise

JavaServer Faces. Sesión 2: MVC en JSF. Experto Universitario Java Enterprise Experto Universitario Java Enterprise JavaServer Faces Sesión 2: MVC en JSF Índice Vista: componentes para la GUI Modelo: beans de respaldo: backing beans Validación, conversión y tratamiento de errores

Más detalles

Empleo Digital_. CURSO FORMATIVO Desarrollo WEB JAVA EE. Telefónica Educación Digital. Coordinador Académico Antonio José Martín Sierra

Empleo Digital_. CURSO FORMATIVO Desarrollo WEB JAVA EE. Telefónica Educación Digital. Coordinador Académico Antonio José Martín Sierra Empleo Digital_ CURSO FORMATIVO Desarrollo WEB JAVA EE Coordinador Académico Antonio José Martín Sierra Contenido desarollado por Telefónica Educación Digital Empleo Digital_ 1.- PRESENTACIÓN Y OBJETIVOS...

Más detalles

POO: Clases y objetos

POO: Clases y objetos POO: Clases y objetos Programación de aplicaciones 1 Introducción En los lenguajes de programación orientados a objetos, tenemos la posibilidad de extender el lenguaje mediante la creación de nuevo tipos,

Más detalles

Introducción al Desarrollo de Aplicaciones Empresariales

Introducción al Desarrollo de Aplicaciones Empresariales Introducción al Desarrollo de Aplicaciones Empresariales Definición Java 2 Enterprise Edition: plataforma de desarrollo de aplicaciones para empresas, basado en EJBs. EJB (Enterprise Java Beans): especificación

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

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

LICENCIA PROFESIONAL EN DESARROLLO DE SOFTWARE PARA APLICACIONES WEB

LICENCIA PROFESIONAL EN DESARROLLO DE SOFTWARE PARA APLICACIONES WEB LICENCIA EN DESARROLLO DE SOFTWARE PARA HOJA DE ASIGNATURA CON DESGLOSE DE UNIDADES TEMÁTICAS 1. Nombre de la asignatura Framework para la persistencia de datos 2. Competencias Desarrollar Aplicaciones

Más detalles

Clave de la asignatura: DWB-1501 SATCA 1 : (1-4-5)

Clave de la asignatura: DWB-1501 SATCA 1 : (1-4-5) 1. Datos Generales de la asignatura Nombre de la asignatura: Desarrollo Web Con Java. Clave de la asignatura: DWB-1501 SATCA 1 : (1-4-5) Carrera: Ingeniería en Sistemas Computacionales. 2. Presentación

Más detalles

Java Generic Repository y JPA

Java Generic Repository y JPA El concepto de Java Generic Repository es muy habitual cuanto trabajamos con tecnologías de persistencia. El concepto de Repository como clase que se encarga de gestionar todas las operaciones de persistencia

Más detalles

TEMA 5. Otras arquitecturas distribuidas IV. Web Services

TEMA 5. Otras arquitecturas distribuidas IV. Web Services TEMA 5. Otras arquitecturas distribuidas IV. Web Services IV. Web Services 1. Qué son los Web Services? 2. Ejemplos de Web Services 3. Tecnologías y arquitectura 3.1. Arquitectura 3.2. Lenguaje de descripción:

Más detalles

Programación Orientada a Objetos en Java

Programación Orientada a Objetos en Java Programación Orientada a Objetos en Java En nuestro post de hoy vamos a tratar el tema la programación orientada a objetos en Java, no todo va a ser.net! En si la POO es bastante amplia y muy necesario

Más detalles

Programación Orientada a Objetos (POO)

Programación Orientada a Objetos (POO) Programación Orientada a Objetos (POO) Introducción La programación orientada a objetos es una técnica de programación en la cual expresamos el código en términos relacionados a como vemos las cosas en

Más detalles

Experto Universitario Java Enterprise Spring

Experto Universitario Java Enterprise Spring Spring Sesión 3: Spring MVC Indice Procesamiento de una petición Configuración básica Caso 1: petición sin entrada de datos Caso 2: petición con datos de entrada y validación 2 Procesamiento de una petición

Más detalles

[CASI v.0109] Pág. 1

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

Patricio Olivares. 25 de abril de 2017

Patricio Olivares. 25 de abril de 2017 : : Entorno 25 de abril de 2017 Table of contents : : Entorno 1 2 3 : 4 : Entorno 5 6 La telefonía móvil ha cambiado radicalmente la forma en que nos comunicamos. Con el creciente uso de los smartphones,

Más detalles

Creación de la base de datos

Creación de la base de datos escuela técnica superior de ingeniería informática Creación de la base de datos Departamento de Lenguajes y Sistemas Informáticos Ingeniería del Software de Gestión III Índice Introducción Modelo de objetos

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

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