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

Desarrollo de aplicaciones empresariales con Java EE

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