Aplicacionesempresariales Java EE           en la nube       Ing. Fernando Montaño               Director de Tecnología   ...
Agenda                                    Parte I: Java EE                                    •   ¿Qué es Java EE?        ...
Agenda                                    Parte II: Computación en la nube                                    • Computació...
© 2011 Jatun S.R.L. www.jatun.com                                    Parte I                        Java EE 4
¿Qué es Java EE?                                    • Plataforma Java compuesta de máquina                                ...
Arquitectura de Java EE                                    Capa Cliente         Capa Web            Capa de Negocio       ...
Componentes de Java EE                                    • Aplicaciones cliente (lado cliente)                           ...
JavaServer Faces (JSF)                                    • Framework de interfaz de usuario (UI) basado en               ...
JavaServer Faces (JSF) - Ejemplo                                    @ManagedBean                        <html xmlns:h="htt...
Enterprise JavaBeans (EJB)                                    • Componentes del lado del servidor,                        ...
Enterprise JavaBeans (EJB) - Ejemplo                                       @Stateless                                     ...
Java Persistence API (JPA)                                    • Proveen de un mecanismo estándar de ORM                   ...
Java Persistence API (JPA) - Ejemplo                                                  @Entity                             ...
Contexts and Dependency                                    Injection (CDI)                                    • Enlaza cap...
Contexts and Dependency                                    Injection (CDI) - Ejemplo                                      ...
Servicios Web en Java EE                                    • Aplicaciones clientes y servidor comunicados a              ...
Servicio Web RESTful - Ejemplo                                    @Path("/servicioMensaje")                               ...
Despliegue tradicional de                                    una aplicación Java EE                                    • E...
© 2011 Jatun S.R.L. www.jatun.com                                             Parte II                    Computación en l...
Computación en la nube                                    (Cloud computing)                                    • Computaci...
Computación en la nube                                    (Cloud computing) - I                                    • Capas...
Infraestructuras como                                    servicios (IaaS)                                    • Infraestruc...
Plataformas como servicio                                    (PaaS)                                    • Infraestructura p...
Despliegue de una aplicación                                    Java EE en un PaaS                                    • El...
Principales proveedores de                                    PaaS para Java EE                                    • OpenS...
Conéctate con nosotros                                           http://www.jatun.com                                     ...
Upcoming SlideShare
Loading in …5
×

Aplicaciones empresariales Java EE en la nube

4,376 views

Published on

Una breve introducción a la plataforma Java EE como primera parte, y a continuación una descripción de los conceptos básicos de computación en la nube, explorando términos como IaaS, SaaS y PaaS y su relación con Java EE.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,376
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Aplicaciones empresariales Java EE en la nube

  1. 1. Aplicacionesempresariales Java EE en la nube Ing. Fernando Montaño Director de Tecnología Jatun S.R.L. Jatun S.R.L. Innovación & Desarrollo www.jatun.com Av. República 1457 Cochabamba - Bolivia
  2. 2. Agenda Parte I: Java EE • ¿Qué es Java EE? • Arquitectura de Java EE. • Componentes principales de Java EE. • JavaServer Faces (JSF). • Enterprise JavaBeans (EJB).© 2011 Jatun S.R.L. www.jatun.com • Java Persistence API (JPA). • Contexts and Dependency Injection (CDI). • Servicios Web en Java EE. • Despliegue de una aplicación Java EE tradicional.
  3. 3. Agenda Parte II: Computación en la nube • Computación en la nube (Cloud Computing). • Infraestructuras como servicio (IaaS). • Plataformas como servicio (PaaS). • Despliegue de una aplicación Java EE en un PaaS.© 2011 Jatun S.R.L. www.jatun.com • Principales proveedores de PaaS para Java EE.
  4. 4. © 2011 Jatun S.R.L. www.jatun.com Parte I Java EE 4
  5. 5. ¿Qué es Java EE? • Plataforma Java compuesta de máquina virtual (JVM), lenguaje Java y librerías de clases. • Java desarrollado por Oracle Corporation. • Ediciones de la plataforma Java:© 2011 Jatun S.R.L. www.jatun.com – 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.
  6. 6. Arquitectura de Java EE Capa Cliente Capa Web Capa de Negocio Capa de datos Navegador Contenedor Web Contenedor EJB RDBMS HTML JavaServer Faces Applet EJB Sistemas© 2011 Jatun S.R.L. www.jatun.com legados Desktop JSP/Facelets Aplicación Java EJB Java Servlet ERP Otro dispositivo Cliente JEE Plataforma Java EE Plataforma Java EE
  7. 7. Componentes de Java EE • Aplicaciones cliente (lado cliente) – Web – Applets – Aplicaciones de escritorio • Componentes Web (lado servidor) – Servlet – JavaServer Pages (JSP)/Facelets© 2011 Jatun S.R.L. www.jatun.com – JavaServer Faces (JSF), framework para aplicaciones Web. • Componentes de negocio (lado servidor) – Enterprise JavaBeans (EJB) • Session Beans • Message Driven Beans – Java Persistence API (JPA)
  8. 8. 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© 2011 Jatun S.R.L. www.jatun.com 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.
  9. 9. JavaServer Faces (JSF) - Ejemplo @ManagedBean <html xmlns:h="http://java.sun.com/jsf/html"> @RequestScoped <h:body> public class ControladorMensaje { <h:form> private Mensaje mensaje; <h:inputText public String guardar() { value=“#{controladorMensaje.mensaje.autor}”/ //lógica de guardar > } <h:commandButton value=“Guardar”© 2011 Jatun S.R.L. www.jatun.com public Mensaje getMensaje() { action=“#{controladorMensaje.guardar}”/> return mensaje; </h:form> } </h:body> } </html> 9
  10. 10. 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).© 2011 Jatun S.R.L. www.jatun.com • Simplicidad, portabilidad, reusabilidad, despliegue. • Tipos – Session Beans – Message-Driven Beans
  11. 11. Enterprise JavaBeans (EJB) - Ejemplo @Stateless public class ServicioMensaje { @TransactionAttribute(REQUIRED) public void crear(Mensaje mensaje){ //lógica de negocio }© 2011 Jatun S.R.L. www.jatun.com } 11
  12. 12. 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.© 2011 Jatun S.R.L. www.jatun.com • Entidades son locales (POJO). • Definen un SQL orientado a objetos: JPA-QL. • Definen un conjunto de anotaciones para configuración de la persistencia.
  13. 13. Java Persistence API (JPA) - Ejemplo @Entity public class Mensaje { @Id private Long id; private String autor; … //getters//setters }© 2011 Jatun S.R.L. www.jatun.com @Stateless public class ServicioMensaje { @PersistenceContext private EntityManager em; @TransactionAttribute(REQUIRED) public void crear(Mensaje mensaje){ em.persist(mensaje); } } 13
  14. 14. Contexts and Dependency Injection (CDI) • Enlaza capa transaccional (EJB) y capa de presentación (JSF). • 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© 2011 Jatun S.R.L. www.jatun.com acoplamiento: – Eventos. – Interceptores. – Decoradores. • Bajo acoplamiento y tipado-fuerte! • CDI hace Java EE mas flexible, portable y extensible.
  15. 15. Contexts and Dependency Injection (CDI) - Ejemplo @Named @RequestScoped public class ControladorMensaje { @Inject private ServicioMensaje servicio;© 2011 Jatun S.R.L. www.jatun.com private Mensaje mensaje; public String guardar() { servicio.crear(mensaje); return “/index”; } } 15
  16. 16. Servicios Web en Java EE • 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),© 2011 Jatun S.R.L. www.jatun.com para acceso mas simple a través de estándares (HTTP, XML, URI, MIME). – RESTful, transferencia de estado representacional.
  17. 17. Servicio Web RESTful - Ejemplo @Path("/servicioMensaje") @Stateless public class ServicioMensaje { @PersistenceContext private EntityManager em; @GET @Path(value=“/mensajes”) @Produces(“application/xml") public List<Mensaje> getMensajes(){© 2011 Jatun S.R.L. www.jatun.com return em.createQuery(“select m from Mensaje m”, Mensaje.class).getResultList(); } } Invocación desde aplicación cliente http://localhost:8080/app/servicioMensaje/mensajes 17
  18. 18. Despliegue tradicional de una aplicación Java EE • Evaluación, compra, instalación de hardware y software en uno o mas servidores. • Instalación y configuración de servidor de aplicaciones, ej.: Jboss, Glassfish, Tomcat, Weblogic, etc. • Se requiere personal IT pendiente de la© 2011 Jatun S.R.L. www.jatun.com infraestructura. • Hosting Java, resuelve algunos puntos. • Escalabilidad vertical es común en este modelo. • Modelo complejo, caro y arriesgado.
  19. 19. © 2011 Jatun S.R.L. www.jatun.com Parte II Computación en la nube 19
  20. 20. Computación en la nube (Cloud computing) • Computación como servicio. Hardware y software rentado a través de internet. • Recursos escalables. • Elimina costos y complejidad de evaluar, comprar, configurar y administrar hardware y software. • Características principales:© 2011 Jatun S.R.L. www.jatun.com – Pagas por lo usado. – Elasticidad. – Escalabilidad. – Performance. – Tolerancia a fallas. – Facilidad de administración.
  21. 21. Computación en la nube (Cloud computing) - I • Capas principales: – IaaS, infraestructura como servicio. – PaaS, plataforma como servicio. – SaaS, software como servicio. • Tipos:© 2011 Jatun S.R.L. www.jatun.com – Nubes públicas. – Nubes privadas. – Nubes híbridas.
  22. 22. Infraestructuras como servicios (IaaS) • Infraestructuras de servidores, almacenamiento, redes como servicio externalizado (CPU, Disco, Tráfico, etc.) • Plataformas virtualizadas (ej. vSphere), instancias de servidores ilimitadas. • Pagar por los recursos consumidos.© 2011 Jatun S.R.L. www.jatun.com • Algunos proveedores: – Amazon EC2 – IBM SmartCloud – Oracle Exalogic Elastic Cloud – RackSpace
  23. 23. Plataformas como servicio (PaaS) • Infraestructura para ejecutar aplicaciones sobre Internet. • Modelo de subscripción, solo paga por lo usado. • Facilidad de despliegue de aplicaciones. • Facilidad para ejecutar, desarrollar y testear© 2011 Jatun S.R.L. www.jatun.com aplicaciones. • Algunos proveedores generan dependencia a su PaaS (ej. App Engine). • Elasticidad. • Escalabilidad.
  24. 24. Despliegue de una aplicación Java EE en un PaaS • El proveedor debe proveer un servidor de aplicaciones Java EE. JBoss, Glassfish, Tomcat, Oracle Weblogic, etc. • Escalabilidad horizontal. Múltiples instancias a demanda. • Permite el despliegue de una aplicación Java© 2011 Jatun S.R.L. www.jatun.com EE, sin limitaciones y restricciones en el código. • Consola de administración o SDK para administración fácil.
  25. 25. Principales proveedores de PaaS para Java EE • OpenShift, https://openshift.redhat.com, JBoss. • CloudBees, www.cloudbees.com, Tomcat, JBoss. • Google AppEngine, http://code.google.com/intl/es- ES/appengine/, Jetty, (JPA-limitado). • Oracle Java Cloud, http://cloud.oracle.com/mycloud/f?p=service:java:0:::::, WebLogic.© 2011 Jatun S.R.L. www.jatun.com • Jelastic, http://jelastic.com, Tomcat, Jetty y Glasfish. • Elastic Beanstalk, http://aws.amazon.com/es/elasticbeanstalk, Tomcat. • VMWare Cloud Foundry, http://www.cloudfoundry.com/ , Tomcat. • GigaSpaces Cloudify, http://www.gigaspaces.com, JBoss, Tomcat.
  26. 26. Conéctate con nosotros http://www.jatun.com http://www.facebook.com/jatunsrl© 2011 Jatun S.R.L. www.jatun.com https://twitter.com/JatunSRL http://www.youtube.com/jatunsrl 26

×