SlideShare ist ein Scribd-Unternehmen logo
1 von 26
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

Weitere ähnliche Inhalte

Was ist angesagt?

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 EEFernando 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 XMLJuan 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
 
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
 
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, escalabilidadavanttic Consultoría Tecnológica
 
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 Spring Framework
Introducción Spring FrameworkIntroducción Spring Framework
Introducción Spring Frameworkecontinua
 

Was ist angesagt? (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
 

Ähnlich wie Aplicaciones empresariales Java EE en la nube

Ähnlich wie 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
 
Expo
ExpoExpo
Expo
 
Exposicion JSF
Exposicion JSFExposicion JSF
Exposicion JSF
 
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
 

Kürzlich hochgeladen

International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 

Kürzlich hochgeladen (13)

International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 

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