O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Arquitectura y diseño de aplicaciones Java EE

56.855 visualizações

Publicada em

Arquitectura de aplicaciones Java EE con Spring Framework

Publicada em: Carreiras, Tecnologia, Educação
  • DOWNLOAD THAT BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book that can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer that is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story That Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money That the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths that Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes ,Download or read Ebooks here ... ......................................................................................................................... Download FULL PDF EBOOK here { http://bit.ly/2m6jJ5M }
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • DOWNLOAD THI5 BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • DOWNLOAD THI5 BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • Excelente documento Carlos aunque estaría perfecto poder guardarlo para consultarlo en cualquier momento.
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui

Arquitectura y diseño de aplicaciones Java EE

  1. 1. Arquitectura y Diseño de Aplicaciones Java EE<br />Carlos G. Gavidia<br />Avances Tecnológicos SRL<br />
  2. 2. Agenda<br />Evolución de la computación distribuida<br />Arquitectura Java EE<br />Spring Framework<br />Aplicaciones en capas con Spring Framework<br />
  3. 3. Evolución de la Computación Distribuida<br />Computación distribuida: Dividir una aplicación en partes que se ejecutan simultáneamente en computadoras diferentes<br />Cada una de estas partes se denomina “nivel” (tier)<br />Cada nivel brinda servicios a otras niveles cliente<br />Cada nivel puede dividirse a su vez en “capas” (layers)<br />La mayoría de aplicaciones posee tres capas<br />Capa de presentación<br />Capa de negocio<br />Capa de acceso a datos<br />
  4. 4. Arquitecturas de un nivel<br />Mainframes accedidos mediante terminales<br />Las interfaces de usuario, la lógica de negocio y la data estaban es una sola computadora<br />Los usuarios accedían mediante terminales o consolas<br />
  5. 5. Arquitectura de dos niveles<br />También conocida como “cliente-servidor”<br />Los clientes ejecutan los programas de interfaz de usuario<br />Los servidores administran la lógica de negocio y la data<br />Ejemplo: Aplicaciones Oracle Forms<br />En algunos casos, la lógica de negocio estaba contenida en el cliente<br />Clientes gruesos/gordos<br />
  6. 6. Arquitectura de tres niveles<br />Clientes “delgados” (Browser)<br />El servidor maneja la presentación, la lógica de negocio y la lógica de acceso a datos<br />La data de la aplicación se encuentra en un sistema de información empresarial (EIS)<br />Como un DBMS<br />La lógica de negocio es accesible de manera remota<br />Servidor = Servidor de Aplicaciones = Middleware<br />
  7. 7. Arquitectura de n-niveles<br />Los servidores Web se encargan de la presentación del contenido<br />Los servidores de aplicaciones contienen componentes de negocio accesibles remotamente<br />
  8. 8. Arquitecturas Java EE<br />Hacer aplicaciones de n-niveles tiene sus ventajas<br />Mejor utilización de recursos<br />Asignar expertos a cada nivel<br />También tiene sus dificultades<br />Los niveles se deben integrar eficientemente<br />Requiere servicios: Transacciones, seguridad<br />Administrar conexiones costosas con:<br />DBMS<br />Middleware orientado a mensajes<br />El uso de API’s del servidor middleware dificulta la mantenibilidad y limita la portabilidad<br />
  9. 9. Arquitectura J2EE<br />En 1999, Sun Microsystems lanza la plataforma J2EE para solucionar estos problemas<br />Basada en la edición estándar de la plataforma Java<br />“Programa una vez, despliega y ejecuta donde quieras”<br />Apoyada por la comunidad Open Source, IBM, Oracle, BEA, etc<br />Actualmente, nos encontramos en Java EE 5.<br />
  10. 10. Contenedores Java EE<br />Los contenedores proveen un entorno de ejecución para componentes Java.<br />También brindan los servicios de seguridad, transacciones, administración del ciclo de vida, caching, persistencia, comunicación en la red<br />Existen dos tipos de contenedores:<br />Contenedores Web: Almacenan componentes de presentación (JSP, Servlets)<br />Contenedores EJB: Administran la ejecución de componentes EJB<br />
  11. 11. Contenedores Java EE<br />
  12. 12. Contenedores Java EE<br />Los contenedores brindan servicios a las aplicaciones<br />Se accede a los servicios a través de API’s Java EE:<br />Java Transaccion API<br />Java MessageService<br />Java Naming and Directory Interface<br />Java Persistence API<br />Java Transaction API<br />Gracias a esto se reducen los tiempos de desarrollo, y se simplifica el mantenimiento<br />
  13. 13. El modelo MVC<br />Propuesto por TrygveReenskaug en 1979<br />“Applications Programming in Smalltalk-80: How to use Model-View-Controller.”<br />Divide a la aplicación en 3 componentes:<br />El modeloadministra la data y aplica la lógica de negocio<br />La vista muestra la data de la aplicación y permite al usuariointeractuar con el sistema<br />El controladorsirve de mediador entre la vista y el modelo<br />
  14. 14. El modelo MVC<br />
  15. 15. Arquitectura Java EE y MVC<br />La tecnología Servlet sirve para la construcción de componentes controlador<br />Los controladores Servlet pueden invocar a componentes EJB del modelo<br />La data obtenida o modificada se puede mostrar en pantalla mediante páginas JSP<br />Podemos tener especialistas en cada tecnologías<br />Menos riesgos, mayor productividad<br />Los componentes de cada capa son fácilmente manipulables<br />
  16. 16. Arquitectura Java EE y MVC<br />
  17. 17. Capas en una Aplicación Java EE<br />Una arquitectura multi-capas es una extensión de una arquitectura MVC<br />En MVC: La capa de negocio contiene la capa de acceso a datos<br />En Java EE: La capa de acceso a datos es una capa independiente<br />Muchos orígenes de datos: DBMS, ERP’s, Mainframes<br />La capa de negocio se centra en la lógica de negocio<br />
  18. 18. Arquitectura y diseño de aplicaciones Java EE<br />Aplicaciones Java EE y Spring framework<br />
  19. 19. Spring Framework<br />Framework open-sourcepara aplicaciones Java<br />Ya lo puede usar .NET también<br />Fue descrito por Rod Johnson en Expert One-on-One J2EE Design and Development el 2002<br />
  20. 20. ¿Porqué es importante?<br />La plataforma Java EE estandarizó las aplicaciones empresariales<br />Pero no le dio importancia a un modelo simple de programación<br />Construir aplicaciones de n-niveles requería demasiado esfuerzo<br />Localizar objetos EJB mediante JNDI<br />Manejo de Data Transfer Objects<br />Usar EJB’s para soporte de transacciones implicaba crear una aplicacíón distribuida<br />El API de Beans de Entidad era sumamente complejo<br />
  21. 21. ¿Porqué Spring es importante?<br />Los desarrolladores buscaron otras alternativas:<br />Apache Struts: MVC mediante el API Servlet<br />Hibernate: Persistencia mediante POJO’s con configuración mínima<br />Spring es un frameworkmulti-nivel<br />Se integra con los mejores frameworks de un nivel<br />Provee un modelo de programación simple basado en POJO’s<br />Con Spring AOP podemos implementar seguridad y transacciones<br />Con Spring JDBC-ORM nos permite una interacción simple con la Base de Datos<br />
  22. 22. Estructura de Spring Framework<br />Está dividido en varios módulos independientes<br />Provee puntos de integración con otros frameworks<br />
  23. 23. Spring Core<br />“Columna vertebral” de todo el framework<br />Todos los módulos de Spring dependen de él<br />También se le conoce como el contenedor IOC<br />Inversión del Control (IOC)<br />Registramos objetos en el framework<br />El framework invoca los métodos de los objetos cuando sea necesario<br />El control se ha invertido: Aplicación<-Framework<br />IOC no es un concepto nuevo. Ejemplo: EJB’s<br />
  24. 24. Spring Core<br />También da soporte a la inyección de dependencias (DI)<br />Cómo un objeto encuentra a los objetos que necesita<br />Podemos lograr DI a través de IOC<br />Estrategias DI<br />Instanciación directa<br />FactoryHelper<br />Servicio de registro<br />
  25. 25. Inyección de dependencias<br />
  26. 26. Fábrica de Beans<br />Implementación sofisticada del patrón factorymethod (GoF)<br />Crea y administra los objetos de la aplicación<br />Permite configurar las clases de la aplicación y sus dependencias en archivos XML<br />Para acceder a un bean:<br />Lo registramos en el archivo de configuración XML<br />Iniciamos el contenedor IOC<br />Obtenemos el Bean de la fábrica de beans<br />
  27. 27. Fábrica de beans<br />
  28. 28. Inyección por setters<br />
  29. 29. Inyección por constructores<br />
  30. 30. Contexto de aplicación<br />Fábrica de beans: Pool donde los objetos son creados y administrados por archivos de configuración.<br />Un contexto de aplicación se la fábrica de beans más algunos servicios adicionales:<br />Archivos properties para I18N<br />Soporte AOP: Transacciones declarativas y seguridad<br />Para aplicaciones Web (También se puede registrar un servletlistenerpara inicializar el contexto)<br />
  31. 31. Spring AOP<br />Nos permite separar las funcionalidades transversales del resto de la aplicación<br />Como el manejo de transacciones<br />Nos permite construir aspectos personalizados y configurarlos declarativamente<br />
  32. 32. Spring DAO<br />Las aplicaciones Java EE utilizan el API JDBC para acceder a RDBMS<br />Esto implica codificar:<br />Obtención de la conexión<br />Instanciar PreparedStatement<br />Enviar parámetros a la sentencia SQL<br />Ejecutar el PreparedStatement<br />Obtener la información del ResultSet y poblar DTO’s<br />Liberar los recursos utilizados<br />Con Spring JDBC/DAO se remueve el código común y lo coloca en templates.<br />Implementando el patrón templatemethod<br />Agregamos el código personalizado a templatespre-establecidos<br />Spring se encarga de liberar los recursos de base de datos<br />
  33. 33. Spring ORM<br />Persistencia para objetos POJO en RDBMS<br />Extensión de Spring DAO<br />Se integra con los principales productos ORM<br />Hibernate<br />JPA<br />TopLink<br />IBatis<br />
  34. 34. Web MVC<br />Basado en el patrón arquitectónico MVC<br />Integrado con el API Servlet<br />Soporta diversas tecnologías de vista:<br />JSP<br />Velocity<br />Adobe Flex<br />Si no se desea trabajar con Spring MVC, se puede optar por:<br />Struts<br />JSF<br />
  35. 35. Aplicación en capas con Spring<br />Presentación:<br />Spring MVC permite implementar el controlador<br />Provee una capa de administración de vistas<br />Lógica de negocio<br />Los componentes de negocio son clases Java planas<br />Sin depender de un framework específico<br />Ejecutan lógica de negocio y manipulan data mediante los componente de la capa de integración<br />Con Spring AOP se puede manejar transacciones, seguridad y auditoría<br />Se pueden exponer los objetos de negocio mediante servicios web<br />Integración<br />Interactúa con el RDBMS mediante el API JDBC a través de objetos DAO<br />Nos podemos apoyar en Spring DAO y/o Spring ORM<br />También puede interactuar con ERP’s, mainframes o sistemas CRM<br />
  36. 36. Arquitectura de aplicaciones con Spring<br />
  37. 37. Bibliografía<br />Pro Java™ EE Spring Patterns: Best Practices and Design Strategies Implementing Java EE Patterns with the Spring Framework<br />De DhrubojyotiKayal<br />

×