SlideShare una empresa de Scribd logo
Aplicaciones
empresariales 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
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.
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.
© 2011 Jatun S.R.L. www.jatun.com




                                    Parte I

                        Java EE


 4
¿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.
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
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)
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.
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
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
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
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.
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
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.
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
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.
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
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.
© 2011 Jatun S.R.L. www.jatun.com




                                             Parte II


                    Computación en la nube


 19
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.
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.
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
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.
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.
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.
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

Más contenido relacionado

La actualidad más candente

Introducción a JEE
Introducción a JEEIntroducción a JEE
Introducción a JEE
Iker Canarias
 
Desarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EEDesarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EE
Fernando Montaño
 
Introduccion Aplicaciones Web en java j2ee
Introduccion Aplicaciones Web en java j2ee Introduccion Aplicaciones Web en java j2ee
Introduccion Aplicaciones Web en java j2ee
Rodrigo Zottola Pareja
 
1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML
Juan Carlos Rubio Pineda
 
[ES] Fundamentos de Java Enterprise Edition
[ES] Fundamentos de Java Enterprise Edition [ES] Fundamentos de Java Enterprise Edition
[ES] Fundamentos de Java Enterprise Edition
Eudris Cabrera
 
JEE y Tomcat
JEE y TomcatJEE y Tomcat
Frameworks J2EE
Frameworks J2EEFrameworks J2EE
Frameworks J2EE
Iker Canarias
 
Introdución a aplicaciones web en java
Introdución a aplicaciones web en java Introdución a aplicaciones web en java
Introdución a aplicaciones web en java
Rodrigo Zottola Pareja
 
spring
springspring
spring
Angel Ruiz
 
J2 ee
J2 eeJ2 ee
Arquitectura java web
Arquitectura java webArquitectura java web
Arquitectura java web
Jose Luis Bugarin Peche
 
Java script
Java scriptJava script
Java script
Yesith Valencia
 
Oracle WebLogic Server 11g - Disponibilidad, rendimiento, escalabilidad
Oracle WebLogic Server 11g - Disponibilidad, rendimiento, escalabilidadOracle WebLogic Server 11g - Disponibilidad, rendimiento, escalabilidad
Oracle WebLogic Server 11g - Disponibilidad, rendimiento, escalabilidad
avanttic Consultoría Tecnológica
 
Modernizacion Oracle Forms
Modernizacion Oracle FormsModernizacion Oracle Forms
Modernizacion Oracle Forms
avanttic Consultoría Tecnológica
 
Introducción a Java y BEA (2008)
Introducción a Java y BEA (2008)Introducción a Java y BEA (2008)
Introducción a Java y BEA (2008)
Isidro José López Martínez
 
Evolución a oracle weblogic server 11g
Evolución a oracle weblogic server 11g Evolución a oracle weblogic server 11g
Evolución a oracle weblogic server 11g
OracleIberia
 
Introducción a Spring framework
Introducción a Spring frameworkIntroducción a Spring framework
Introducción a Spring framework
Guillermo Daniel Salazar
 
Introducción JEE
Introducción JEEIntroducción JEE
Introducción Spring Framework
Introducción Spring FrameworkIntroducción Spring Framework
Introducción Spring Framework
econtinua
 
Spring framework
Spring frameworkSpring framework
Spring framework
Isabel Samaniego
 

La actualidad más candente (20)

Introducción a JEE
Introducción a JEEIntroducción a JEE
Introducción a JEE
 
Desarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EEDesarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EE
 
Introduccion Aplicaciones Web en java j2ee
Introduccion Aplicaciones Web en java j2ee Introduccion Aplicaciones Web en java j2ee
Introduccion Aplicaciones Web en java j2ee
 
1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML
 
[ES] Fundamentos de Java Enterprise Edition
[ES] Fundamentos de Java Enterprise Edition [ES] Fundamentos de Java Enterprise Edition
[ES] Fundamentos de Java Enterprise Edition
 
JEE y Tomcat
JEE y TomcatJEE y Tomcat
JEE y Tomcat
 
Frameworks J2EE
Frameworks J2EEFrameworks J2EE
Frameworks J2EE
 
Introdución a aplicaciones web en java
Introdución a aplicaciones web en java Introdución a aplicaciones web en java
Introdución a aplicaciones web en java
 
spring
springspring
spring
 
J2 ee
J2 eeJ2 ee
J2 ee
 
Arquitectura java web
Arquitectura java webArquitectura java web
Arquitectura java web
 
Java script
Java scriptJava script
Java script
 
Oracle WebLogic Server 11g - Disponibilidad, rendimiento, escalabilidad
Oracle WebLogic Server 11g - Disponibilidad, rendimiento, escalabilidadOracle WebLogic Server 11g - Disponibilidad, rendimiento, escalabilidad
Oracle WebLogic Server 11g - Disponibilidad, rendimiento, escalabilidad
 
Modernizacion Oracle Forms
Modernizacion Oracle FormsModernizacion Oracle Forms
Modernizacion Oracle Forms
 
Introducción a Java y BEA (2008)
Introducción a Java y BEA (2008)Introducción a Java y BEA (2008)
Introducción a Java y BEA (2008)
 
Evolución a oracle weblogic server 11g
Evolución a oracle weblogic server 11g Evolución a oracle weblogic server 11g
Evolución a oracle weblogic server 11g
 
Introducción a Spring framework
Introducción a Spring frameworkIntroducción a Spring framework
Introducción a Spring framework
 
Introducción JEE
Introducción JEEIntroducción JEE
Introducción JEE
 
Introducción Spring Framework
Introducción Spring FrameworkIntroducción Spring Framework
Introducción Spring Framework
 
Spring framework
Spring frameworkSpring framework
Spring framework
 

Similar a Aplicaciones empresariales Java EE en la nube

01 jee5-componentes
01 jee5-componentes01 jee5-componentes
01 jee5-componentes
UTN
 
5 c arquitecturas_aplicaciones_web
5 c arquitecturas_aplicaciones_web5 c arquitecturas_aplicaciones_web
5 c arquitecturas_aplicaciones_web
Juy JLopez
 
Arquitectura e-sijad
Arquitectura e-sijadArquitectura e-sijad
Arquitectura e-sijad
e-gim
 
Modulo Jee Intro Pos Fp Une
Modulo Jee Intro  Pos Fp UneModulo Jee Intro  Pos Fp Une
Modulo Jee Intro Pos Fp Une
Marcos Jara
 
Jdeveloper 11g
Jdeveloper 11gJdeveloper 11g
Jdeveloper 11g
Julio Pari
 
Oracle Weblogic Server 11g
Oracle Weblogic Server 11gOracle Weblogic Server 11g
Oracle Weblogic Server 11g
avanttic Consultoría Tecnológica
 
Webinar evolución a WebLogic
Webinar evolución a WebLogicWebinar evolución a WebLogic
Webinar evolución a WebLogic
avanttic Consultoría Tecnológica
 
Taller introducción Java EE 7 @UAPA
Taller introducción Java EE 7  @UAPATaller introducción Java EE 7  @UAPA
Taller introducción Java EE 7 @UAPA
Eudris Cabrera
 
Resumen jee
Resumen jeeResumen jee
Exposicion JSF
Exposicion JSFExposicion JSF
Exposicion JSF
castlellanos
 
Expo
ExpoExpo
01_ppt_introduccion_spring_mmmmmmmmm.pdf
01_ppt_introduccion_spring_mmmmmmmmm.pdf01_ppt_introduccion_spring_mmmmmmmmm.pdf
01_ppt_introduccion_spring_mmmmmmmmm.pdf
MarvelNanosoft
 
Curso Ejb3
Curso Ejb3Curso Ejb3
Webinar evolución a Oracle WebLogic Server 11g
Webinar evolución a Oracle WebLogic Server 11gWebinar evolución a Oracle WebLogic Server 11g
Webinar evolución a Oracle WebLogic Server 11g
avanttic Consultoría Tecnológica
 
Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)
Robert Rayco Quiroz
 
J2 Ee Para Seres Humanos Slides
J2 Ee Para Seres Humanos SlidesJ2 Ee Para Seres Humanos Slides
J2 Ee Para Seres Humanos Slides
mundojava
 
Curso Java Avanzado 5 Ejb
Curso Java Avanzado   5 EjbCurso Java Avanzado   5 Ejb
Curso Java Avanzado 5 Ejb
Emilio Aviles Avila
 
Clase ii intro j2 ee resumen
Clase ii   intro j2 ee resumenClase ii   intro j2 ee resumen
Clase ii intro j2 ee resumen
Pablo Andres Cáceres Ferreira
 
Curso Java Avanzado 1 IntroduccióN Al Desarrollo Web
Curso Java Avanzado   1 IntroduccióN Al Desarrollo WebCurso Java Avanzado   1 IntroduccióN Al Desarrollo Web
Curso Java Avanzado 1 IntroduccióN Al Desarrollo Web
Emilio Aviles Avila
 
Jc Web2.0 Java Ee5 Net Beans
Jc Web2.0 Java Ee5 Net BeansJc Web2.0 Java Ee5 Net Beans
Jc Web2.0 Java Ee5 Net Beans
vicosw
 

Similar a Aplicaciones empresariales Java EE en la nube (20)

01 jee5-componentes
01 jee5-componentes01 jee5-componentes
01 jee5-componentes
 
5 c arquitecturas_aplicaciones_web
5 c arquitecturas_aplicaciones_web5 c arquitecturas_aplicaciones_web
5 c arquitecturas_aplicaciones_web
 
Arquitectura e-sijad
Arquitectura e-sijadArquitectura e-sijad
Arquitectura e-sijad
 
Modulo Jee Intro Pos Fp Une
Modulo Jee Intro  Pos Fp UneModulo Jee Intro  Pos Fp Une
Modulo Jee Intro Pos Fp Une
 
Jdeveloper 11g
Jdeveloper 11gJdeveloper 11g
Jdeveloper 11g
 
Oracle Weblogic Server 11g
Oracle Weblogic Server 11gOracle Weblogic Server 11g
Oracle Weblogic Server 11g
 
Webinar evolución a WebLogic
Webinar evolución a WebLogicWebinar evolución a WebLogic
Webinar evolución a WebLogic
 
Taller introducción Java EE 7 @UAPA
Taller introducción Java EE 7  @UAPATaller introducción Java EE 7  @UAPA
Taller introducción Java EE 7 @UAPA
 
Resumen jee
Resumen jeeResumen jee
Resumen jee
 
Exposicion JSF
Exposicion JSFExposicion JSF
Exposicion JSF
 
Expo
ExpoExpo
Expo
 
01_ppt_introduccion_spring_mmmmmmmmm.pdf
01_ppt_introduccion_spring_mmmmmmmmm.pdf01_ppt_introduccion_spring_mmmmmmmmm.pdf
01_ppt_introduccion_spring_mmmmmmmmm.pdf
 
Curso Ejb3
Curso Ejb3Curso Ejb3
Curso Ejb3
 
Webinar evolución a Oracle WebLogic Server 11g
Webinar evolución a Oracle WebLogic Server 11gWebinar evolución a Oracle WebLogic Server 11g
Webinar evolución a Oracle WebLogic Server 11g
 
Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)
 
J2 Ee Para Seres Humanos Slides
J2 Ee Para Seres Humanos SlidesJ2 Ee Para Seres Humanos Slides
J2 Ee Para Seres Humanos Slides
 
Curso Java Avanzado 5 Ejb
Curso Java Avanzado   5 EjbCurso Java Avanzado   5 Ejb
Curso Java Avanzado 5 Ejb
 
Clase ii intro j2 ee resumen
Clase ii   intro j2 ee resumenClase ii   intro j2 ee resumen
Clase ii intro j2 ee resumen
 
Curso Java Avanzado 1 IntroduccióN Al Desarrollo Web
Curso Java Avanzado   1 IntroduccióN Al Desarrollo WebCurso Java Avanzado   1 IntroduccióN Al Desarrollo Web
Curso Java Avanzado 1 IntroduccióN Al Desarrollo Web
 
Jc Web2.0 Java Ee5 Net Beans
Jc Web2.0 Java Ee5 Net BeansJc Web2.0 Java Ee5 Net Beans
Jc Web2.0 Java Ee5 Net Beans
 

Último

Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
larapalaciosmonzon28
 
SISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsxSISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsx
tamarita881
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
sofiahuarancabellido
 
Presentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre bloggerPresentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre blogger
larapalaciosmonzon28
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
AMADO SALVADOR
 
Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
Festibity
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
AMADO SALVADOR
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
LilibethEstupian
 
HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
maralache30
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
NajwaNimri1
 
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
bendezuperezjimena
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
KukiiSanchez
 
Gabinete, puertos y dispositivos que se conectan al case
Gabinete,  puertos y  dispositivos que se conectan al caseGabinete,  puertos y  dispositivos que se conectan al case
Gabinete, puertos y dispositivos que se conectan al case
JuanaNT7
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
gisellearanguren1
 
Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
paulroyal74
 
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
AMADO SALVADOR
 
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
AMADO SALVADOR
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
larapalaciosmonzon28
 
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdfInformació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Festibity
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
YashiraPaye
 

Último (20)

Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
 
SISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsxSISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsx
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
 
Presentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre bloggerPresentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre blogger
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
 
Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
 
HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
 
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
 
Gabinete, puertos y dispositivos que se conectan al case
Gabinete,  puertos y  dispositivos que se conectan al caseGabinete,  puertos y  dispositivos que se conectan al case
Gabinete, puertos y dispositivos que se conectan al case
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
 
Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
 
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
 
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
 
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdfInformació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
 

Aplicaciones empresariales Java EE en la nube

  • 1. Aplicaciones empresariales 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. 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. 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. © 2011 Jatun S.R.L. www.jatun.com Parte I Java EE 4
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. © 2011 Jatun S.R.L. www.jatun.com Parte II Computación en la nube 19
  • 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. 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. 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. 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. 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. 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. 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