Desarrollo de aplicaciones empresariales con Java EE

6,818 views

Published on

Introducción a la plataforma Java EE para el desarollo de aplicaciones empresariales, y motivos por el cual Jatun S.R.L. utiliza la plataforma.

Published in: Technology
1 Comment
9 Likes
Statistics
Notes
No Downloads
Views
Total views
6,818
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
0
Comments
1
Likes
9
Embeds 0
No embeds

No notes for slide

Desarrollo de aplicaciones empresariales con Java EE

  1. 1. Desarrollo de aplicaciones empresariales con Java EE Ing. Fernando Montaño Director de Tecnología Jatun S.R.L.
  2. 2. Agenda <ul><li>¿Qué es Java EE? </li></ul><ul><li>Arquitectura de Java EE. </li></ul><ul><li>Componentes de Java EE. </li></ul><ul><li>Java Servlets. </li></ul><ul><li>JavaServer Faces (JSF). </li></ul><ul><li>Enterprise JavaBeans (EJB). </li></ul><ul><li>Java Persistence API (JPA). </li></ul><ul><li>Contexts and Dependency Injection (CDI). </li></ul><ul><li>Servicios Web. </li></ul><ul><li>Jatun & Java EE ¿Por qué? </li></ul><ul><li>Arquitectura Java EE en Jatun. </li></ul>
  3. 3. ¿Qué es Java EE? <ul><li>Plataforma Java compuesta de máquina virtual (JVM), lenguaje Java y librerías de clases. </li></ul><ul><li>Java desarrollado por Sun MicroSystems, ahora en manos de Oracle Corporation. </li></ul><ul><li>Ediciones de la plataforma Java: </li></ul><ul><ul><li>Java Standard Edition (Java SE). SDK y JRE. </li></ul></ul><ul><ul><li>Java Enterprise Edition (Java EE). Entornos empresariales multi-capa, aplicaciones del lado del servidor. </li></ul></ul><ul><ul><li>Java Micro Edition (Java ME). Dispositivos móviles. </li></ul></ul>
  4. 4. Arquitectura de Java EE
  5. 5. Componentes de Java EE <ul><li>Aplicaciones cliente (lado cliente) </li></ul><ul><ul><li>Web </li></ul></ul><ul><ul><li>Applets </li></ul></ul><ul><ul><li>Aplicaciones de escritorio </li></ul></ul><ul><li>Componentes Web (lado servidor) </li></ul><ul><ul><li>Servlet </li></ul></ul><ul><ul><li>JavaServer Pages (JSP)/Facelets </li></ul></ul><ul><ul><li>JavaServer Faces (JSF), framework para aplicaciones Web. </li></ul></ul><ul><li>Componentes de negocio (lado servidor) </li></ul><ul><ul><li>Enterprise JavaBeans (EJB) </li></ul></ul><ul><ul><ul><li>Session Beans </li></ul></ul></ul><ul><ul><ul><li>Message Driven Beans </li></ul></ul></ul><ul><ul><li>Java Persistence API (JPA) </li></ul></ul>
  6. 6. Java Servlets <ul><li>Clase Java usado en el servidor bajo el modelo de programación solicitud-respuesta (request-response). </li></ul><ul><li>Comúnmente usados para aplicaciones web, en las cuales define clases específicas para HTTP. </li></ul><ul><li>La base de todos los frameworks Web. </li></ul>
  7. 7. JavaServer Faces (JSF) <ul><li>Framework de interfaz de usuario (UI) basado en componentes para creación de aplicaciones Web en JEE. </li></ul><ul><li>Lineamientos del modelo MVC. </li></ul><ul><li>Basado en las tecnologías Java Servlets y JavaServer Pages. </li></ul><ul><li>Separación clara de la lógica de presentación y la de negocio. </li></ul><ul><li>Proveen de mecanismo para enlazar eventos del lado del cliente con código del lado del servidor. </li></ul>
  8. 8. JavaServer Faces (JSF) - Ejemplo <ul><li><html xmlns:h=&quot;http://java.sun.com/jsf/html&quot;> </li></ul><ul><li><h:body> </li></ul><ul><li><h:form> </li></ul><ul><li><h:inputText value=“ #{personaBean.nombre} ”/> </li></ul><ul><li><h:commandButton value=“Guardar” </li></ul><ul><li>action=“ #{personaBean.guardar} ”/> </li></ul><ul><li></h:form> </li></ul><ul><li></h:body> </li></ul><ul><li></html> </li></ul>@ManagedBean @RequestScope public class PersonaBean { private String nombre; public String guardar() { //lógica de guardar } public String getNombre(){…} public void setNombre(String nombre) {…} }
  9. 9. Enterprise JavaBeans (EJB) <ul><li>Componentes del lado del servidor, pertenecientes a la capa de negocio. </li></ul><ul><li>Administración automática de transacciones y seguridad. </li></ul><ul><li>Uso de anotaciones para definir meta-información (meta-data). </li></ul><ul><li>Simplicidad, portabilidad, reusabilidad, despliegue. </li></ul><ul><li>Tipos </li></ul><ul><ul><li>Session Beans </li></ul></ul><ul><ul><li>Message-Driven Beans </li></ul></ul>
  10. 10. Enterprise JavaBeans (EJB) - Ejemplo @Stateless public class ServicioPersona { @TransactionAttribute(REQUIRED) public void guardarPersona(Persona persona){ //realizar la lógica de negocio } }
  11. 11. Java Persistence API (JPA) <ul><li>Proveen de un mecanismo estándar de ORM (Mapeo objeto relacional). </li></ul><ul><li>Abstracción de acceso a datos relacionales. Se trabaja con OBJETOS no con SQL. </li></ul><ul><li>Transacciones automáticas y soporte multi-base de datos. </li></ul><ul><li>Entidades son locales (POJO). </li></ul><ul><li>Definen un SQL orientado a objetos: JPA-QL. </li></ul><ul><li>Definen un conjunto de anotaciones para configuración de la persistencia. </li></ul>
  12. 12. Java Persistence API (JPA) - Ejemplo @Entity public class Persona { @Id private Long id; private String nombre; //getters//setters } @Stateless public class ServicioPersona { @PersistenceContext private EntityManager em; @TransactionAttribute(REQUIRED) public void guardarPersona(Persona persona){ em.persist(persona); } }
  13. 13. Contexts and Dependency Injection (CDI) <ul><li>Enlaza capa transaccional (EJB) y capa de presentación (JSF) en la plataforma Java EE de manera transparente. </li></ul><ul><li>Inyección de dependencia con tipado-seguro. </li></ul><ul><li>Provee un mejorado ciclo de vida contextual para los componentes. </li></ul><ul><li>Tipado-fuerte, permite un diseño con muy bajo acoplamiento </li></ul><ul><ul><li>Eventos. </li></ul></ul><ul><ul><li>Interceptores. </li></ul></ul><ul><ul><li>Decoradores. </li></ul></ul><ul><li>Bajo acoplamiento y tipado-fuerte! </li></ul><ul><li>CDI hace Java EE mas flexible, portable y extensible. </li></ul>
  14. 14. Contexts and Dependency Injection (CDI) - Ejemplo @Named @RequestScope public class PersonaBean { @Inject private ServicioPersona servicio; public String guardar() { servicio.guardarPersona(..); } }
  15. 15. Servicios Web <ul><li>Aplicaciones clientes y servidor comunicados a través de HTTP. </li></ul><ul><li>Java API for XML Web Services (JAX-WS), para comunicación a través del protocolo SOAP, a usando mensajes XML. </li></ul><ul><li>Java API for RESTful Web Services (JAX-RS), para acceso mas simple a través de estándares ( HTTP, XML, URI, MIME) . </li></ul><ul><ul><li>RESTful, transferencia de estado representacional </li></ul></ul>
  16. 16. Servicios Web - Ejemplo @Path(&quot;/servicioPersona&quot;) @Stateless public class ServicioPersona { @PersistenceContext private EntityManager em; @GET @Path(value=“/lista”) @Produces(&quot;text/xml&quot;) public List listarPersonas(){ return em.createQuery(“select p from Persona p”).getResultList(); } } Invocación http://servidor/app /servicioPersona/lista
  17. 17. Jatun & Java EE ¿Por qué? <ul><li>Mas flexible y extensible. </li></ul><ul><li>Mayor reusabilidad (basado en componentes). </li></ul><ul><li>Java EE es un estándar. Libertad de elegir entre soluciones open-source o comerciales (Oracle, JBoss, IBM Websphere…, etc.). </li></ul><ul><li>Soluciones robustas y escalables. </li></ul><ul><li>Madurez. Desde 1999, creciendo y evolucionando. </li></ul>
  18. 18. Arquitectura Java EE en Jatun
  19. 19. Conéctate con nosotros http://www.jatun.com http://www.facebook.com/jatunsrl https://twitter.com/JatunSRL http://www.youtube.com/jatunsrl

×