Softlogia S.R.L. Formación de Recursos Humanos Spring Instructor: Martin R. Baspineiro.

Slides:



Advertisements
Presentaciones similares
JEE (EJB3) Configuración Ambiente de Desarrollo
Advertisements

JEE Introducción a Java Enterprise Edition (JEE) y el modelo Enterprise Java Beans (EJB)
U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.
I. Sesión 2 Noviembre 2010 Claudio Chaucca Umana
Red Social: “Un millón de Amigos”.
Técnicas de Diseño Red Social.
Curso de java básico (scjp)
Red Social: “Un millón de Amigos”.
Introducción a HIBERNATE
Curso de Java Capitulo 7: Conceptos sobre poo Profesor:
Lenguaje de programación Java
Prof. César Luza Montero
Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.
Spring Framework v2.5.
Ddd PATTERNS JAVA
JSP Copyright ISIPE – Instituto de Servicios Informáticos para Empresas – Universidad Siglo 21 – Cualquier copia u otro uso debe ser autorizado expresamente.
Teoría de los lenguajes Proyecto SIGU Equipo Nº3 Universidad Argentina J. F. Kennedy Sede: Don Bosco Integrantes: Irene Arias Fernández Mariana Pacheco.
Curso de Java y Aplicaciones Web
RMI Remote Method Invocation
Java 2 Platform Enterprise Edition
Algoritmos y Estructuras de Datos
Encapsulamiento y Abstracción
JAVA Persistence API (JPA)
Programación Orientada a Objetos en Java
Enterprise Java Beans Rubén Trujillo Sept-Dic 2008.
Abstracción de los datos y Orientación a Objeto Clase 13.
Universidad Autónoma del Estado de Hidalgo Instituto de Ciencias Básicas e Ingeniería Área Académica de Computación y Electrónica Licenciatura en Ciencias.
Contexto: Aplicación gráfica.  Siempre que se piensa en separar la funcionalidad de una aplicación de su interacción con el usuario, bien sea una aplicación.
Persistencia de Objetos. Definicion Persistencia : El la capacidad de un objecto to continuar existiendo despues que su creador (programa que crea este)
UNIDAD 2 CLASES Y OBJETOS. CLASE Elementos cabecera y cuerpo de la clase. Cabecera: aporta información fundamental sobre la clase en sí y constituye de.
Desarrollo de Aplicaciones Utilizando Java Edición Empresarial – JEE6
(c) P. Gomez-Gil, INAOE DISEÑO DE COMPONENTES DE SOFTWARE * NOTAS DEL CURSO Ingeniería de Software I DRA. MARIA DEL PILAR GÓMEZ GIL INAOEP.
Servicios Web. Servicios web Son programas con funcionalidad accesible a través de protocolo http que permiten la ejecución remota de métodos y funciones.
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
SPRING MVC.
Lenguajes de Programación Tema 3
ScrumMe Integrantes: Gabriel Centurión Maximiliano Félix.
Tutor: Ing. Juan E. Talavera Horn 2010 GWT – EJB Patrones de diseño e integración.
CURSO STRUTS 2 RESUMEN Resumen de lo visto en este primer módulo de INTRODUCCIÓN al framework Struts 2 Debes tener los conceptos muy claros sobre: Framework.
Enterprise Java Beans. EJBs Beans gestionados por un contenedor del servidor de aplicaciones para gestionar el acceso a recursos (bases de datos, colas.
Spring Framework. Contenedor ligero de aplicaciones
Módulo 7: Programación Orientada a Objetos en Visual Basic 2005.
FRAMEWORK VS Código fuente
Aplicaciones Web de Servidor
Herencia. Introducción La idea básica es poder crear clases basadas en clases ya existentes. Cuando heredamos de una clase existente, estamos re-usando.
Construcción de Sistemas Colaborativos (Arquitectura y construcción)
Manual Desarrollo Flex – J2EE. Contenidos Análisis y Diseño 1 Implementación 2 J2EE 3 Pruebas 4.
Eugenia Parodi Eugenia Parodi Lazaro Ruiz Lazaro Ruiz Juan Achucarro Juan Achucarro Sebastian Castellanos Sebastian Castellanos.
© Softtek Internal. Introducción a Spring Sesión 1: Introducción y teoría Juan Irungaray
Guice Java Injection Framework
Luis Ponce Cabello.  Primera Parte : JSF  Segunda Parte : Facelets  Tercera Parte : Icefaces.
Guadalupe Andrade Mociño.  Significa Modelo Vista Controlador  Es un patrón de diseño  Esta compuesto por tres grandes capas: modelo, vista y controlador.
Centro Universitario UAEM Zumpango Ingeniería en Computación Agosto 2015.
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos.
Temario Java 2 Enterprise Edition Arquitectura Especificación Servlets Contenedores Cookies Sesiones.
Prof. Manuel B. Sánchez. La parte ingenieril de un proceso de desarrollo de software, comprende realizar un diseño del sistema antes de empezar a escribir.
Arquitectura de Software Propuesta SIGEP
Softlogia S.R.L. Formación de Recursos Humanos Java Server Faces Instructor: Martin R. Baspineiro.
CENTRO UNIVERSITARIO UAEM TEXCOCO INGENIERÍA EN COMPUTACIÓN DISEÑO DE SISTEMAS M. En C.C. Ma. Dolores Arévalo Zenteno.
Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones Fundamentos de Programación Departamento.
Métodos en Java. Estructura de un programa en Java ► La relación con la vida misma la podemos ver en el siguiente comentario: Imaginemos que dos clases.
SIGEP Presentación de Resultados SIGEP. SIGEP Ambiente de Desarrollo  Plataforma Java ( J2EE,JRE,JDK,JVM ).  Contenedor Web ( Tomcat 5 )  Control de.
Programación I Clases. Paradigma POO La programación Orientada a objetos (POO) es una forma programar, más cercana a como expresaríamos las cosas en la.
JSF Simplificando nuestro trabajo. JSF – Java Server Faces Celula Creative SUN 2 La principal intención es liberar al programador de aspectos Web Pretende.
Softlogia S.R.L. Formación de Recursos Humanos Hibernate Core Instructor: Martin R. Baspineiro.
Tipos genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 3.
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.
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA2006.
Transcripción de la presentación:

Softlogia S.R.L. Formación de Recursos Humanos Spring Instructor: Martin R. Baspineiro

Spring – Clase 1 Porque debemos conocer Spring? Conceptos necesarios Módulos de Spring Escenarios de uso Modulo Core Container  El Contenedor  Los Beans Practica

Spring – Clase 1 Porque debemos conocer Spring?  Para aumentar nuestra productividad en el desarrollo de aplicaciones empresariales.  Para implementar patrones de diseño automáticamente.  Es un framework modular. Nos permite usar solo los módulos que necesitamos.  Esta diseñado para no ser invasivo. Nos permite mantener nuestros clases de negocio sin necesidad de cambios.

Spring – Clase 1 Conceptos necesarios  Inversión de Control (IoC): es un patrón de diseño pensado para permitir un menor acoplamiento entre componentes de una aplicación y fomentar así el reuso de los mismos.

Spring – Clase 1 Conceptos necesarios  Inversión de control (IoC): la solución pasa por delegar la función de seleccionar una implementación concreta de las dependencias a un componente externo. El control de cómo un objeto A obtiene la referencia de un objeto B es invertido. El objeto A no es responsable de obtener una referencia al objeto B sino que es el Componente Externo el responsable de esto. Esta es la base del patrón IoC. Este patrón puede implementarse usando un Service Locator o Inyección de dependencia.

Spring – Clase 1 Conceptos necesarios  Inversión de control (IoC)‏

Spring – Clase 1 Conceptos necesarios  Inyección de dependencia: Una dependencia entre un componente y otro, puede establecerse estáticamente o en tiempo de compilación, o bien, dinámicamente o en tiempo de ejecución. Es en éste ultimo escenario es donde cabe el concepto de inyección, y para que esto fuera posible, debemos referenciar interfaces y no implementaciones directas. La esencia de la inyección de las dependencias es contar con un componente capaz de obtener instancias validas de las dependencias del objeto y pasárselas durante la creación o inicialización del objeto.

Spring – Clase 1 Conceptos necesarios  Portlet: es un componente de software de interfaz de usuario pluggeable que es manejado y mostrado en un portal web.

Spring – Clase 1 Módulos

Spring – Clase 1 Modulo Core Container  Core and Beans: provee las bases del framework, implementa el patrón de diseño IoC con la Inyección de dependencia en cualquiera de sus 2 formas.  Context: se sustenta sobre Core and Beans y agrega soporte para internacionalización, propagación de eventos y carga de recursos.  Expression Language: provee un lenguaje de expresión poderoso para consulta y manipulación de objetos. Es una extensión de Unified EL

Spring – Clase 1 Modulo Data Access/Integration  JDBC: provee una capa de abstracción para realizar operaciones JDBC  ORM: provee una capa de integración para frameworks de persistencia ORM, como por ejemplo: Hibernate, JPA, IBatis.  OXM: provee una capa de abstracción que soporta implementaciones de mapeo Objeto XML, como por ejemplo XMLBeans.  JMS: provee funcionalidades para producir y consumir mensajes  Transaction: soporta el manejo de transacciones declarativas y programaticas.

Spring – Clase 1 Modulo Web  Web: provee funcionalidades de integración orientadas a web, como por ejemplo la inicialización de IoC Containers usando Servlet listeners.  Web-Servlet: provee una implementación del patrón de arquitectura MVC para aplicaciones web.  Web-Struts: provee las clases de soporte para integrar struts. No aplica Struts 2.0  Web-Portlet: provee una implementación del patrón de arquitectura MVC para ser usado en un entorno de portlets.

Spring – Clase 1 Modulo AOP and Instrumentation  Provee una implementación de la programación orientada a aspectos.  Aspect: este módulo separado permite la integración con AspectJ.  Instrumentation: este módulo provee implementaciones de carga de clases y soporte de instrumentación para ser usado en ciertos servidores de aplicaciones.

Spring – Clase 1 Modulo Test  Provee soporte para el testing de componentes de Spring con JUnit y TestNG

Spring – Clase 1 Escenarios

Spring – Clase 1 Escenarios

Spring – Clase 1 Escenarios

Spring – Clase 1 Modulo Core Container  Es una implementación del patrón IoC  Los paquetes org.springframework.beans org.springframework.context contienen las clases que implementan el patrón IoC.  Sus principales componentes son: El contenedor. Los beans.  En el contexto de una aplicación que implementa Spring los objetos que constituyen la aplicación y que son manejados por el contenedor se denominan beans.

Spring – Clase 1 Modulo Core Container  El contenedor La interface org.springframework.context.ApplicationContext representa el contenedor IoC de Spring. Es el responsable de la instanciación, configuración y ensamblaje de los beans. Obtiene la información acerca de que objetos instancias confirar y ensamblar a partir de metadatos de configuración. Estos metados pueden encontrarse en:  Un archivo xml.  Anotaciones java  Codigo java Existen diferentes implementaciones de esta interface.

Spring – Clase 1 Modulo Core Container  El contenedor

Spring – Clase 1 Modulo Core Container  Metadatos de configuración en un archivo xml <beans xmlns=" xmlns:xsi=" xsi:schemaLocation="

Spring – Clase 1 Modulo Core Container  Usando el contenedor // create and configure beans ApplicationContext context = new ClassPathXmlApplicationContext(new String[] {"services.xml", "daos.xml"}); // retrieve configured instance PetStoreServiceImpl service = context.getBean("petStore", PetStoreServiceImpl.class); // use configured instance List userList service.getUsernameList();

Spring – Clase 1 Module Core Container  Los Beans El contenedor maneja uno o mas beans. Estos beans son creados con los metadatos de configuración. Podemos agrupar los metadatos de configuración de un bean en los siguientes grupos:  package-qualified class name: la clase de implementación del bean definido.  Elementos de configuración de comportamiento, que definen el estado con el cual debe estar asociado al contenedor(scope, lifecycle callbacks,...).  Referencias a otros beans que son necesarios para que el bean realice su trabajo. Estas referencias son llamadas colaboraciones o dependencias.  Otras configuraciones para el nuevo objeto creado, por ejemplo el numero de conexiones a usar por un bean usa un pool de conexiones, o el limite máximo del pool

Spring – Clase 1 Module Core Container  Los beans Los metadatos de configuración que definen a un bean son definidos un conjunto de propiedades:  class  name  scope  constructor arguments  properties  autowiring mode  dependency checking mode  lazy-initialization mode  initialization method  destruction method

Spring – Clase 1 Module Core Container  Los beans class: propiedad para definir la clase a partir de la cual se instanciara el bean. Name: propiedad para identificar al bean. Cada nombre debe ser unico dentro de su contenedor.

Spring – Clase 1 Module Core Container  Los Beans Scope: propiedad para definir el scope del bean ScopeDescripción ================================================================================ singleton (Default) Scopes a single bean definition to a single object instance per Spring IoC container. prototype Scopes a single bean definition to any number of object instances. request Scopes a single bean definition to the lifecycle of a single HTTP request; that is, each HTTP request has its own instance of a bean created off the back of a single bean definition. Only valid in the context of a web-aware Spring ApplicationContext. session Scopes a single bean definition to the lifecycle of an HTTP Session. Only valid in the context of a web-aware Spring ApplicationContext. global session Scopes a single bean definition to the lifecycle of a global HTTP Session. Typically only valid when used in a portlet context. Only valid in the context of a web-aware Spring ApplicationContext.

Spring – Clase 1 Module Core Container  Los Beans constructor arguments: propiedad para definir los argumentos del constructor (dependencias del bean) que se usara para inyectar la dependencia. package x.y; public class Foo { public Foo(Bar bar, Baz baz) { //... }

Spring – Clase 1 Module Core Container  Los Beans constructor arguments:

Spring – Clase 1 Module Core Container  Los Beans property: propiedad para definir las dependencias del bean, que se usaran para inyectar la dependencia. element -->

Spring – Clase 1 Module Core Container  Los Beans Property: public class ExampleBean { private AnotherBean beanOne; private YetAnotherBean beanTwo; private int i; public void setBeanOne(AnotherBean beanOne) { this.beanOne = beanOne; } public void setBeanTwo(YetAnotherBean beanTwo) { this.beanTwo = beanTwo; } public void setIntegerProperty(int i) { this.i = i; }

Spring – Clase 1 Module Core Container  Los Beans autowiring: propiedad para auto enlazar beans colaboradores dependency cheking mode: propiedad para checkear las dependencias de un bean. lazy-initialization mode: propiedad para crear el bean la primera vez que se solicita y no cuando se inicia la aplicación. initialization method: propiedad para definir el método que inicializa el bean luego de que todas las propiedades del bean fueron seteadas. destruction method: propiedad para definir el método que destruye el bean luego de que el contenedor es eliminado.

Spring – Clase 1 Practica