Java EE es una plataforma para aplicaciones empresariales que incluye servlets, JavaServer Faces (JSF), Enterprise JavaBeans (EJB), Java Persistence API (JPA) y Contexts and Dependency Injection (CDI). Jatun usa Java EE porque provee una arquitectura flexible, escalable y madura basada en componentes que permite el desarrollo de aplicaciones robustas.
1. . Desarrollo de aplicaciones empresariales con Java EE Ing. Fernando Montaño Director
de Tecnología Jatun S.R.L.
2. 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.
3. ¿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.
4. Arquitectura de Java EE
5. 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)
6. 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.
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="http://java.sun.com/jsf/html"> <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
2. { @PersistenceContext private EntityManager em; @TransactionAttribute(REQUIRED)
public void guardarPersona(Persona persona){ em.persist(persona); } }
13. 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.
14. Contexts and Dependency Injection (CDI) - Ejemplo @Named @RequestScope
public class PersonaBean { @Inject private ServicioPersona servicio; public String
guardar() { servicio.guardarPersona(..); } }
15. 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
16. Servicios Web - Ejemplo @Path("/servicioPersona") @Stateless public
class ServicioPersona { @PersistenceContext private EntityManager em; @GET
@Path(value=“/lista”) @Produces("text/xml") public List listarPersonas(){
return em.createQuery(“select p from Persona p”).getResultList(); } } Invocación
http://servidor/app /servicioPersona/lista
17. 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.
18. Arquitectura Java EE en Jatun
19. Conéctate con nosotros http://www.jatun.com http://www.facebook.com/jatunsrl
https://twitter.com/JatunSRL http://www.youtube.com/jatunsrl