Desarrollo de Aplicaciones APIS Y FRAMEWORKS

39
UNIDAD III SPRING

description

Spring introduccion

Transcript of Desarrollo de Aplicaciones APIS Y FRAMEWORKS

Presentacin de PowerPoint

Unidad IIISpring

1Introduccin a Spring Framework Simplifica J2EE Administra las dependencias entre componentes Framework Liviano Inyeccin de Dependencias (DI) Orientado a Aspectos (AOP) Contenedor Framework a la Carta

Una de sus principales ventajas es la facilidad de integracin con los estndares de Java y con las herramientas comerciales existentes, encargndose del acoplamiento entre objetos de la aplicacin pero sin llegar a formar dependencias con el framework.

La forma de obtener un API que no invada el cdigo es basndose en interfaces en lugar de clases.

Definicin3Cuenta con una infraestructura ligera que permite desarrollar los componentes como POJOs, conteniendo slo la lgica de negocio y escondiendo del programador la complejidad de la arquitectura.

Se ha popularizado al considerarlo como un sustituto de los Enterprise JavaBeans (EJBs).

4Misin de SpringJ2EE debera ser fcil de usarEs mejor programar utilizando interfaces en un lugar de clases. Spring reduce la complejidad a cero utilizando interfacesUtilizar javaBeans es la eleccin perfecta para configurar aplicaciones El diseo OO es mas importante que cualquier implementacin tecnolgica, como J2EE Testing es esencial. Asi que una plataforma como Spring debera facilitarte el desarrollo utilizando testsExcepciones chequeadas son sobreusadas en Java. Una plataforma no te deberia forzar a atrapar Excepciones, cuando es poco probable que se puede uno recuperar de una de ellasSPRING :AOP,DAO,ORMConceptos Bsicos para entrar al mundo de Spring6Spring AOP (Programacin Orientada al Aspecto)

Nos permite separar las funcionalidades transversales del resto de la aplicacinComo el manejo de transacciones

Nos permite construir aspectos personalizados y configurarlos declarativamente

7Spring DAOLas aplicaciones Java EE utilizan el API JDBC para acceder a RDBMS

Esto implica codificar:Obtencin de la conexinInstanciar PreparedStatementEnviar parmetros a la sentencia SQLEjecutar el PreparedStatementObtener la informacin del ResultSet y poblar DTOsLiberar los recursos utilizados

8Spring DAOCon Spring JDBC/DAO se remueve el cdigo comn y lo coloca en templates.

Implementando el patrn template methodAgregamos el cdigo personalizado a templates pre-establecidosSpring se encarga de liberar los recursos de base de datos

9ORM

Elmapeo objeto-relacional(ms conocido por su nombre en ingls, Object-Relational mapping, o sus siglas O/RM, ORM, y O/R mapping)

Es una tcnica de programacin para convertir datos entre elsistema de tiposutilizado en unlenguaje de programacin orientado a objetos y el utilizado en una base de datos relacional.10Spring ORM Persistencia para objetos POJO en RDBMSExtensin de Spring DAOSe integra con los principales productos ORMHibernateJPATopLink

11Aplicacin en capas con SpringPresentacin:Spring MVC permite implementar el controladorProvee una capa de administracin de vistas

Lgica de negocioLos componentes de negocio son clases Java planasEjecutan lgica de negocio y manipulan datos mediante los componente de la capa de integracinCon Spring AOP se puede manejar transacciones, seguridad y auditoraSe pueden exponer los objetos de negocio mediante servicios web

IntegracinInteracta con el RDBMS mediante el API JDBC a travs de objetos DAONos podemos apoyar en Spring DAO y/o Spring ORMTambin puede interactuar con ERPs, mainframes o sistemas CRM12El Framework Spring13Spring es una coleccin de subframeworks que resuelven problemas especficos y que estn agrupados en mdulos que pueden usarse de forma separada.

Inversion of Control Container:crea y configura objetos en una aplicacin y los entrelaza. Los recursos son provedos a los objetos, para que ellos no tengan que buscarlos.

Aspect-Oriented Programming framework:trata con funcionalidad una aplicacin, invocando mtodos especficos en objetos especficos, para dar solucin a un problema que se usa en mltiples lugares. Data Access framework:evita la complejidad de utilizar el API de persistencia.

Transaction Management framework:provee funcionalidad para la administracin de transacciones sin tener que afectar el cdigo base.14 Resource Abstraction framework:localiza archivos al configurar una aplicacin.

Validation framework:valida objetos en aplicaciones web y se encarga de la internacionalizacin.

Spring Web MVC:provee un framework MVC que maneja el mapeo de peticiones a controladores y de controladores a vistas. Excelente tratamiento de formularios y capacidades de validacin. Spring Web Flow:implementa flujos de proceso complejos y secuencias de ayuda de forma fcil y directa. Es un framework MVC basado en conversaciones.

Acegi Security System:agrega funciones de autenticacin y autorizacin a objetos en una aplicacin usando programacin orientada a aspectos.15Remote Access framework:provee capacidades cliente-servidor a las aplicaciones por configuracin. Objetos en el servidor pueden ser exportados como servicios remotos.

Spring Web Services:toma una aproximacin por capas y separa el transporte de la implementacin del servicio web tratndolo como un mecanismo de mensajes.16Porqu es importante Spring?La plataforma Java EE estandariz las aplicaciones empresariales

Pero no le dio importancia a un modelo simple de programacinConstruir aplicaciones de n-niveles requera demasiado esfuerzoLocalizar objetos EJB mediante JNDIManejo de Data Transfer ObjectsUsar EJBs para soporte de transacciones implicaba crear una aplicacn distribuidaEl API de Beans de Entidad era sumamente complejo

17Porqu Spring es importante?Los desarrolladores buscaron otras alternativas:Apache Struts: MVC mediante el API ServletHibernate: Persistencia mediante POJOs con configuracin mnima

Spring es un framework multi-nivelSe integra con los mejores frameworks de un nivelProvee un modelo de programacin simple basado en POJOsCon Spring AOP podemos implementar seguridad y transaccionesCon Spring JDBC-ORM nos permite una interaccin simple con la Base de Datos

18Mdulos de Spring

20Contenedor de los IOCInversin de Control21Inversion de ControlEs la Tcnica que externaliza la creacin y manejo de dependencias de componentes

Ioc tambien es conocido como Inyeccion de dependencia

La implementacin de DI (inyeccin de dependencias )de spring esta basada en java beans e interfaces22Inversion de Control,IoCEs un mtodo de programacin en el que el flujo de ejecucin de un programa se invierte respecto a los mtodos de programacin tradicionales, en los que la interaccin se expresa de forma imperativa haciendo llamadas a procedimientos (procedure calls) o funciones.23Spring CoreColumna vertebral de todo el frameworkTodos los mdulos de Spring dependen de l

Tambin se le conoce como el contenedor IOCInversin del Control (IOC)Registramos objetos en el frameworkEl framework invoca los mtodos de los objetos cuando sea necesarioEl control se ha invertido: Aplicacin