Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Arquitectura de Microservicios

Arquitectura de Microservicios

More Decks by Geovanny Mendoza Gonzalez

Other Decks in Programming

Transcript

  1. Geovanny Mendoza JUGBAQ ARQUITECTURA MODERNA DE JAVA EE CON MICROSERVICIOS

    Javeroscol #JavaEEMicroservicios www.javeroscol.com @Geovanny0401 @jugbaq
  2. Acerca de mí • JUG Leader • Candidato a Magister

    en Ingeniería de Sistema y Computación • Blog https://geovanny0401.blogspot.com.co/ • 7+ años como Ingeniero de Sistemas. • Especialista en Ingeniería de Software. #JavaEEMicroservicios www.javeroscol.com @Geovanny0401 @jugbaq 2
  3. Introducción a Java EE • Java EE, J2EE y Spring

    Framework • Colecciones de Especificaciones de API • Java Community Process (JCP) #JavaEEMicroservicios www.javeroscol.com @Geovanny0401 @jugbaq 3
  4. Java Community Process (JCP) • Ayuda en el Desarrollo de

    Especificaciones Técnicas • A cada JSR se le asigna un numero unicó. • Convertirse en miembros del JCP • Especificación de Java (JSR) #JavaEEMicroservicios www.javeroscol.com @Geovanny0401 @jugbaq 4
  5. Estándar, Múltiples Implementaciones • Cada API Java EE Tiene Múltiples

    Implementaciones • Desarrolladores se benefician del Estandár Java EE. • JPA, Hibernate, EclipseLink y OpenJPA • Se implementan en un Servidor de Aplicación #JavaEEMicroservicios www.javeroscol.com @Geovanny0401 @jugbaq 5
  6. Java EE, J2EE y Spring Framework • Alternativa a J2EE

    en 2002 • Java EE 2006 • Spring fue creado por “Rod Johnson” #JavaEEMicroservicios www.javeroscol.com @Geovanny0401 @jugbaq 6 • Java 2 Plataforma (J2EE) hasta la versión 1.4 JDK
  7. #JavaEEMicroservicios www.javeroscol.com @Geovanny0401 @jugbaq 7 Java EE 7

  8. Java EE 7 • Nuevo JMS • Concurrency • WebSockert

    • JSON Support #JavaEEMicroservicios www.javeroscol.com @Geovanny0401 @jugbaq 8 • Nuevo JAX-RS • Batch Apps
  9. La Rebelión de los Dukes #JavaEEMicroservicios www.javeroscol.com @Geovanny0401 @jugbaq 9

  10. #JavaEEMicroservicios www.javeroscol.com @Geovanny0401 @jugbaq 10 Java EE 8

  11. Java EE 8 Apis (1/3) #JavaEEMicroservicios www.javeroscol.com @Geovanny0401 @jugbaq 11

    Java EE Apis Descripción JavaServer Faces (JSF) 2.3 JSF es una biblioteca de componentes que simplifica enormemente el desarrollo de aplicaciones web. Java Persistence API (JPA) 2.2 JPA es la API de Object-Relational Mapping estándar (ORM) de Java EE. Hace que sea fácil interactuar con bases de datos relacionales. Enterprise JavaBeans (EJB) 3.2 los EJB nos permiten agregar fácilmente funciones empresariales, como transacciones y escalabilidad, a nuestras aplicaciones Java EE. Contexts and Dependency Injection (CDI) 2.0 CDI nos permite definir fácilmente el ciclo de vida de los objetos Java y proporciona la capacidad de insertar fácilmente dependencias en objetos Java; también proporciona un poderoso mecanismo de evento. Java API for JSON Processing (JSON-P) 1.1 JSON-P es una API que permite trabajar con cadenas JSON en Java
  12. Java EE 8 Apis (2/3) #JavaEEMicroservicios www.javeroscol.com @Geovanny0401 @jugbaq 12

    Java EE Apis Descripción Java API for JSON Binding (JSON-B) 1.0 JSON-B proporciona la capacidad de poblar fácilmente objetos Java a partir de flujos JSON y viceversa. Java API for WebSocket 1.0 WebSocket es una implementación Java EE estándar del protocolo WebSocket del Grupo de trabajo de ingeniería de Internet (IETF), que permite la comunicación dúplex completa a través de una única conexión TCP. Java Message Service (JMS) 2.0 JMS es una API estándar que permite a los desarrolladores de Java EE interactuar con Middleware orientado a mensajes (Message Oriented Middleware, MOM). Java EE Security API 1.0 La API de seguridad de Java EE tiene como objetivo estandarizar y simplificar la tarea de asegurar las aplicaciones Java EE.
  13. Java EE 8 Apis (3/3) #JavaEEMicroservicios www.javeroscol.com @Geovanny0401 @jugbaq 13

    Java EE Apis Descripción Java API for RESTful Web Services (JAX- RS) 2.1 JAX-RS es una API para crear puntos finales y clientes de servicios web RESTful. Java API for XML Web Services (JAX-WS) 2.2 JAX-WS es una API que permite la creación de servicios web de protocolo de acceso de objetos simples (SOAP). Servlet 4.0 la API de servlet es una API de bajo nivel utilizada para implementar lógica de servidor en aplicaciones web.
  14. Microservicios con Java EE • Introducción a Microservicios • Desarrollo

    de Microservicios con Java EE • Ventajas de una arquitectura de Microservicios • Desventajas de una arquitectura de Microservicios #JavaEEMicroservicios www.javeroscol.com @Geovanny0401 @jugbaq 14
  15. Introducción a Microservicios • Estilo Arquitectonico – Modulo pequeños •

    Desarrollado <> Lenguajes Interactua entre sí • Implementan Servicios Web RestFul • Comunicación metodos Http #JavaEEMicroservicios www.javeroscol.com @Geovanny0401 @jugbaq 15
  16. Ventajas de una Arquitectura de Microservicios • Bases de código

    más pequeñas • Escalabilidad • Los Microservicios buena practica en la Codificación • Mayor Resistencia #JavaEEMicroservicios www.javeroscol.com @Geovanny0401 @jugbaq 16
  17. Desventajas de una Arquitectura de Microservicios • Gastos generales y

    Herramientas adicionales • Latencia de Red • Depuracion • Transaccion Distribuidas #JavaEEMicroservicios www.javeroscol.com @Geovanny0401 @jugbaq 17 • Dependencia
  18. Desarrollo de Microservicios con Java EE • Ofrece Servidores Aplicaciones

    Ligeros • Ventajas Implementaciones muy rapidas • Desarrollar Microservicios Implica Java EE • Servidores Aplicaciones Modernos e Integrables #JavaEEMicroservicios www.javeroscol.com @Geovanny0401 @jugbaq 18
  19. Servidor de Aplicaciones de Java EE #JavaEEMicroservicios www.javeroscol.com @Geovanny0401 @jugbaq

    19
  20. Caso Practico - Monolitico #JavaEEMicroservicios www.javeroscol.com @Geovanny0401 @jugbaq 20 HTML,

    CSS, JS JPA Archivo WAR RDBMS UI DataBase EJB, CDI Business Logic REST
  21. WAR/EAR Caso Practico - Monolitico #JavaEEMicroservicios www.javeroscol.com @Geovanny0401 @jugbaq 21

    UI Business Logic Aplicación Server
  22. Caso Practico #JavaEEMicroservicios www.javeroscol.com @Geovanny0401 @jugbaq 22 UI Customers Products

    Orders Payments
  23. Caso Practico #JavaEEMicroservicios www.javeroscol.com @Geovanny0401 @jugbaq 23 UI Customers Products

    Orders Payments HTTP/REST HTTP/REST HTTP/REST HTTP/REST HTTP/REST
  24. Caso Practico #JavaEEMicroservicios www.javeroscol.com @Geovanny0401 @jugbaq 24 UI Customers Products

    Orders Payments HTTP/REST HTTP/REST HTTP/REST HTTP/REST HTTP/REST
  25. Caso Practico #JavaEEMicroservicios www.javeroscol.com @Geovanny0401 @jugbaq 25 UI Customers Products

    Orders Payments HTTP/REST HTTP/REST HTTP/REST HTTP/REST HTTP/REST
  26. Caso Practico #JavaEEMicroservicios www.javeroscol.com @Geovanny0401 @jugbaq 26 UI Customers Products

    Orders Payments X
  27. 27 DEMO

  28. 28 REFERENCIAS • https://github.com/tuxtor/slides • Book: Java EE 8 application

    Development – David Heffelfinger
  29. 29 Geovanny Mendoza @geovanny0401 MUCHAS GRACIAS JAVEROS DE COLOMBIA 2018