SlideShare una empresa de Scribd logo
1 de 40
Descargar para leer sin conexión
ARQUITECTURA Y DISEÑO DE APLICACIONES J2EE
                Andrés Guerrero
             andres.guerrero@coit.es
Objetivos del curso
●   Formar para diseñar los sistemas a nivel corporativo
●   Utilizar J2EE para implantar sistemas multicapa
●   Aprender a utilizar las tecnologías J2EE para
    mejorar la calidad de servicio de los sistemas
    corporativos
Conceptos básicos
●   ¿Qué es arquitectura y qué es diseño?
●   Arquitectura:
       –   Cubre toda la estructura de un sistema
       –   Escalabilidad, seguridad, portabilidad, rendimiento,
           fiabilidad, flexibilidad
       –   Los detalles de implementación están ocultos
●   Diseño:
       –   Opera a un nivel de abstracción más bajo
       –   Trata sobre los detalles de implementación
Problemas de los arquitectos
●   Tiempo
●   Coste
●   Experiencia
●   Habilidades
●   Visibilidad
●   Complejidad
●   Cambios
LA PRISA MATA
Fases en el desarrollo SW
●   Análisis de requisitos / Alcance del problema
       –   HW, SW, topología de la red, desarrollo, testeo,
           entorno de producción
       –   Generar el modelo de dominio: clases, objetos e
           interacciones
●   Análisis OO/Arquitectura
       –   UML
●   Diseño de la arquitectura
       –   Framework, protocolos
●   Implementación
Principios de arquitectura


    “Divide y vencerás”
         Julio César

    “Vamos por partes”
    Jack “El destripador”
Principios de arquitectura - Capas
●   Las capas (layers) es una división lógica de los
    elementos que componen una solución SW
Principios de arquitectura - Niveles
●   Es una división física de la infraestructura de un
    sistema
Características en la arquitectura
●   Disponibilidad
       –   Grado de accesibilidad de un sistema (ej: 24x7)
       –   Relacionado con el rendimiento
●   Fiabilidad
       –   Garantizar la integridad y consistencia de una
           aplicación y sus transacciones
●   Gestionabilidad
       –   Gestionar los recursos de un sistema para garantizar la
           disponibilidad y el rendimiento respecto a otros
           factores (plugins)
Características en la arquitectura

●   Flexibilidad
       –   Acometer cambios en la configuración de la
           arquitectura y el HW sin un gran impacto en el
           sistema
●   Rendimiento
       –   Cumplir las funcionalidades en un tiempo
           razonable
●   Capacidad
       –   Habilidad de un sistema para realizar múltiples
           tareas por unidad de tiempo
Características en la arquitectura

●   Escalabilidad
       –   Capacidad de que ante incrementos de
           transacciones el sistema cumpla con los
           requisitos de rendimiento y disponibilidad
●   Extensibilidad
       –   Capacidad de extender la funcionalidad
●   Validez
       –   Capacidad para predecir o confirmar resultados
           en función de determinadas entradas de usuario
Características en la arquitectura
●   Reusabilidad
      –   Poder utilizar un componente en más de un contexto
          sin modificarlo internamente
●   Seguridad
      –   Garantizar la accesibilidad e integridad de la
          información de acuerdo a la política de la empresa
J2EE - Introducción

●   Define un modelo para desarrollar aplicaciones
    distribuidas
●   Basado en un modelo multicapa
●   Define un conjunto de componentes que pueden
    reutilizarse
●   Destinado para estandarizar y simplificar el
    desarrollo de aplicaciones distribuidas
●   La utilización de componentes es flexible
Desarrollo de aplicaciones
             corporativas J2EE - Retos
●   Productividad
       –   Equipos de desarrollo con medios de estándar
       –   Evitar soluciones específicas y arquitecturas
           propietarias
       –   Facilitar la división del trabajo
●   Integración con sistemas existentes
       –   Legacy systems (CICS, DB2, Mainframes, ...)
Desarrollo de aplicaciones
          corporativas J2EE - Retos
●   Libertad de elección de herramientas,
    componentes (Websphere, Weblogic, Jboss, etc)
●   Respuesta a la demanda
      –   Disponibilidad, flexibilidad, escalabilidad
      –   Evitar la necesidad de rediseño, recodificación
          para conseguir lo anterior
●   Mantenimiento de la seguridad
      –   Conseguir un modelo de seguridad integrado en
          entornos heterogéneos
Plataforma J2EE
Plataforma J2EE
●   Modelo de aplicación distribuida multicapa
      –   Capa cliente (navegador)
      –   Capa de presentación (servlets, JSP)
      –   Capa de lógica de negocio (EJBs)
      –   Capa de datos (BD)
Plataforma J2EE
●   Gestión de componentes basados en contenedor
      –   Los contenedores son entornos de ejecución
          estándares que proveen servicios específicos a
          componentes
      –   Por ejemplo: El contenedor web proporciona
          respuestas a peticiones de clientes (invocando un
          JSP o servlet)
      –   Proporcionan selección de comportamiento en
          tiempo de despliegue
      –   Los contenedores pueden convivir o no en una
          misma plataforma
Plataforma J2EE
●   Soporte para componentes de cliente
      –   Páginas HTML estáticas
      –   HTML generado dinámicamente JSP
      –   Java applets
      –   Aplicaciones autónomas (stand-alone) Java o no
      –   Comunicación con el middle tier por medio de HTTP,
          HTML, XML
Plataforma J2EE
●   Soporte para componentes de negocio
      –   EJB (Enterprise Java Beans)
      –   Permite a los desarrolladores concentrarse en la lógica
          de negocio delegando las complejidades de las
          transacciones al contenedor
Contenidos de una aplicación J2EE
Ventajas de la plataforma J2EE

●   Desarrollo y arquitectura más simples
       –   Funcionalidad más fácil de implementar
       –   Permite especificar comportamientos en tiempo
           de despliegue
       –   Permite la división del trabajo
●   Integración con los sistemas de información
    corporativos
       –   JDBC, JTA, JNDI, JMS, JavaMail, JAXP,
           CORBA
Ventajas de la plataforma J2EE

●   Múltiples servidores, herramientas,
    componentes
       –   Servidores: Glashfish, Websphere, Weblogic,...
       –   Herramientas: Netbeans, Eclipse, Websphere,...
       –   Frameworks: Struts, Spring, Hibernate,...
●   Fácil escalabilidad
       –   Los contenedores implementan mecanismos para
           la escalabilidad de aplicaciones distribuidas
Ventajas de la plataforma J2EE
●   Modelo de seguridad unificado y simplificado
      –   Tanto en los contenedores Web como de EJB la
          seguridad puede definirse en los ficheros descriptores
          de despliegue (flexibilidad)
Modelos de aplicaciones J2EE
●   La arquitectura J2EE es flexible permite la elección
    de los contenedores a utilizar en cada caso
Modelo de aplicación multicapa
Modelo de aplicación centrada en la
               Web
CAPA DE CLIENTE
J2EE – Capa de cliente
●   Desde el punto de vista del usuario el cliente es la
    aplicación
●   Debe ser útil, usable, rápida
●   Dependiendo del tipo de cliente a utilizar hay una
    serie de consideraciones a tener en cuenta
Capa de cliente - Consideraciones
●   Consideraciones de la red
       –   Diferentes tipos de conexión
       –   Latencia
       –   Ancho de banda
       –   La red no siempre es fiable
       –   El cliente ideal se conecta con el servidor sólo lo
           necesario, transmite la información necesaria y
           funciona razonablemente bien cuando no puede
           conectarse
Capa de cliente - Consideraciones
●   Consideraciones de seguridad
      –   Cuando existe un cortafuegos se limita la elección de
          los protocolos (HTTP, HTTPS) para la comunicación
      –   Tipo de red: Internet, Intranet → Afecta a la
          autenticación
Capa de cliente - Consideraciones
●   Consideraciones de la plataforma cliente
       –   Tipo de terminal en el que se visualizará
       –   Periféricos: Tamaño de la pantalla, ratón, teclado
       –   Complejidad de las aplicaciones multiplataforma
Capa de cliente – Directrices
           generales de diseño
●   Aunque la plataforma J2EE recomienda el uso
    de clientes ligeros la capa cliente puede realizar
    las siguientes funciones:
       –   Presentación del interfaz de usuario
       –   Validar las entradas del usuario
       –   Comunicarse con el servidor
       –   Gestionar el estado de la conversación
●   Cuantas más funciones tenga la capa de cliente
    mayor rapidez de respuesta → RIA
Directrices de diseño para
                    navegadores
●   Ventajas de la utilización de navegadores:
       –   Son los clientes más ligeros
       –   No están afectados por los cambios de la aplicación
       –   Están en todas partes: Pcs, Móviles, Estaciones de
           trabajo
Directrices de diseño para
                  navegadores
●   Presentación del interfaz de usuario
       –   Descargan los documentos del servidor
       –   HTML, XML
       –   Son estáticos o generados dinámicamente (JSP,
           servlets)
       –   Los navegadores ofrecen un entorno familiar al
           usuario
       –   Pero ofrecen una limitada interactividad->
           requiere muchas conexiones con el servidor
       –   Javascript
Directrices de diseño para
                    navegadores
●   Validación de las entradas del usuario
       –   Utilizar Javascript (ECMA) para la validación de los
           campos del formulario
       –   El código de Javascript común debe estar incluido en
           un fichero-> el navegador lo guarda en la caché
       –   No exime la validación en el lado del servidor
       –   La aplicación debe funcionar si se desactiva Javascript
Directrices de diseño para
                 navegadores
●   Comunicación con el servidor
      –   Se realiza a través de HTTP(S)
      –   Métodos GET y POST
      –   Las peticiones para actualizar datos
          generalmente son a través de POST
      –   El API de servlet proporciona el interfaz para
          atender ambos métodos (doGet, doPost)
      –   Una aplicación J2EE debe utilizar JSP para
          generar documentos HTML
Directrices de diseño para
                  navegadores
●   Gestión de la sesión
       –   HTTP es un protocolo de petición-respuesta donde
           cada petición es tratada independientemente
       –   Sesión: Secuencia de peticiones realizadas por un
           usuario utilizando un único cliente
       –   Formas de guardar la sesión:
            ●   Cookies
            ●   Reescritura de URL (URL rewriting)
       –   Identificador de sesión (jsessionid)
       –   Los servidores deben manejar el estado de la sesión
Directrices de diseño para navegadores
●   Accesibilidad web
      –   Capacidad de acceso a la web y a sus contenidos por
          todas las personas independientemente de la
          discapacidad que presenten y del contexto de uso
          (ambientales, tecnológicas)
      –   Validación semántica del contenido (Test W3C)
      –   Herramientas de accesibilidad (TAW)
      –   Relacionado con el posicionamiento en buscadores

Más contenido relacionado

La actualidad más candente (17)

Gestor de Base de Datos
Gestor de Base de DatosGestor de Base de Datos
Gestor de Base de Datos
 
Cuadro comp
Cuadro compCuadro comp
Cuadro comp
 
Gestores de bdd
Gestores de bddGestores de bdd
Gestores de bdd
 
Clase7 unidad1
Clase7 unidad1Clase7 unidad1
Clase7 unidad1
 
Sistemas Gestores de Bases de Datos
Sistemas Gestores de Bases de DatosSistemas Gestores de Bases de Datos
Sistemas Gestores de Bases de Datos
 
Gestión de datos e información 2 santamaria sosa luis
Gestión de datos e información 2   santamaria sosa luisGestión de datos e información 2   santamaria sosa luis
Gestión de datos e información 2 santamaria sosa luis
 
Arquitectura fisica y logica
Arquitectura fisica y logicaArquitectura fisica y logica
Arquitectura fisica y logica
 
Gestores de base de datos
Gestores de base de datosGestores de base de datos
Gestores de base de datos
 
03b arquitectura clienteservidor n capas
03b arquitectura clienteservidor n capas03b arquitectura clienteservidor n capas
03b arquitectura clienteservidor n capas
 
Escalabilidad - Apache y MySQL
Escalabilidad - Apache y MySQLEscalabilidad - Apache y MySQL
Escalabilidad - Apache y MySQL
 
Sgbd comerciales vs libres
Sgbd comerciales vs libresSgbd comerciales vs libres
Sgbd comerciales vs libres
 
Aplicaciones En Capas
Aplicaciones En CapasAplicaciones En Capas
Aplicaciones En Capas
 
Gestores de base de datos
Gestores de base de datosGestores de base de datos
Gestores de base de datos
 
Arquitecturas Distribuidas. (Edo Ostertag)
Arquitecturas Distribuidas. (Edo Ostertag)Arquitecturas Distribuidas. (Edo Ostertag)
Arquitecturas Distribuidas. (Edo Ostertag)
 
Apache Servicemix
Apache ServicemixApache Servicemix
Apache Servicemix
 
Sistemas Gestores de Bases de Datos
Sistemas Gestores de Bases de DatosSistemas Gestores de Bases de Datos
Sistemas Gestores de Bases de Datos
 
Conociendo Nuestro Fua interno
Conociendo Nuestro Fua internoConociendo Nuestro Fua interno
Conociendo Nuestro Fua interno
 

Similar a Curso Arquitectura J2 Ee Parte1

Cuadro comparativo de SMBD
Cuadro comparativo de SMBD Cuadro comparativo de SMBD
Cuadro comparativo de SMBD Jazmin Glez.
 
Herramientas CASE
Herramientas CASEHerramientas CASE
Herramientas CASEI R
 
OpenProdoc Visión General
OpenProdoc Visión GeneralOpenProdoc Visión General
OpenProdoc Visión Generaljhierrot
 
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
 
Desarrollo modermo de aplicaciones web
Desarrollo modermo de aplicaciones webDesarrollo modermo de aplicaciones web
Desarrollo modermo de aplicaciones webRoberto Sanz Ciriano
 
Introduccion_a_la_integracion_de_aplicaciones.ppt
Introduccion_a_la_integracion_de_aplicaciones.pptIntroduccion_a_la_integracion_de_aplicaciones.ppt
Introduccion_a_la_integracion_de_aplicaciones.pptIvonneRomero42
 
Tema1 seleccion de_arquitecturas_y_herramientas_de_programacion
Tema1 seleccion de_arquitecturas_y_herramientas_de_programacionTema1 seleccion de_arquitecturas_y_herramientas_de_programacion
Tema1 seleccion de_arquitecturas_y_herramientas_de_programacionJuana Sánchez
 
herramientas tecnológicas
herramientas tecnológicasherramientas tecnológicas
herramientas tecnológicasGerardo Linares
 
Unac Experiencia De Un LíDer De Desarrollo J2 Ee
Unac Experiencia De Un LíDer De Desarrollo J2 EeUnac Experiencia De Un LíDer De Desarrollo J2 Ee
Unac Experiencia De Un LíDer De Desarrollo J2 Eeguestca4f67c4
 
Unac-Experiencia De Un Lider De Desarrollo J2EE
Unac-Experiencia De Un Lider De Desarrollo J2EEUnac-Experiencia De Un Lider De Desarrollo J2EE
Unac-Experiencia De Un Lider De Desarrollo J2EEJose Luis Bugarin Peche
 
Redhat Open Day - JBoss Middleware Portfolio
Redhat Open Day - JBoss Middleware PortfolioRedhat Open Day - JBoss Middleware Portfolio
Redhat Open Day - JBoss Middleware PortfolioAdrian Gigante
 
Desarrollo en Android: Conceptos Básicos
Desarrollo en Android: Conceptos BásicosDesarrollo en Android: Conceptos Básicos
Desarrollo en Android: Conceptos BásicosGabriel Huecas
 
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
 

Similar a Curso Arquitectura J2 Ee Parte1 (20)

Unidad_1.pdf
Unidad_1.pdfUnidad_1.pdf
Unidad_1.pdf
 
Cuadro comparativo de SMBD
Cuadro comparativo de SMBD Cuadro comparativo de SMBD
Cuadro comparativo de SMBD
 
Herramientas CASE
Herramientas CASEHerramientas CASE
Herramientas CASE
 
OpenProdoc Visión General
OpenProdoc Visión GeneralOpenProdoc Visión General
OpenProdoc Visión General
 
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
 
Desarrollo modermo de aplicaciones web
Desarrollo modermo de aplicaciones webDesarrollo modermo de aplicaciones web
Desarrollo modermo de aplicaciones web
 
Introduccion_a_la_integracion_de_aplicaciones.ppt
Introduccion_a_la_integracion_de_aplicaciones.pptIntroduccion_a_la_integracion_de_aplicaciones.ppt
Introduccion_a_la_integracion_de_aplicaciones.ppt
 
Tema1 seleccion de_arquitecturas_y_herramientas_de_programacion
Tema1 seleccion de_arquitecturas_y_herramientas_de_programacionTema1 seleccion de_arquitecturas_y_herramientas_de_programacion
Tema1 seleccion de_arquitecturas_y_herramientas_de_programacion
 
SOA Open Source
SOA Open SourceSOA Open Source
SOA Open Source
 
herramientas tecnológicas
herramientas tecnológicasherramientas tecnológicas
herramientas tecnológicas
 
Clases 30 05
Clases 30 05Clases 30 05
Clases 30 05
 
Unac Experiencia De Un LíDer De Desarrollo J2 Ee
Unac Experiencia De Un LíDer De Desarrollo J2 EeUnac Experiencia De Un LíDer De Desarrollo J2 Ee
Unac Experiencia De Un LíDer De Desarrollo J2 Ee
 
Unac-Experiencia De Un Lider De Desarrollo J2EE
Unac-Experiencia De Un Lider De Desarrollo J2EEUnac-Experiencia De Un Lider De Desarrollo J2EE
Unac-Experiencia De Un Lider De Desarrollo J2EE
 
Gwt IV -mvp
Gwt IV -mvpGwt IV -mvp
Gwt IV -mvp
 
Redhat Open Day - JBoss Middleware Portfolio
Redhat Open Day - JBoss Middleware PortfolioRedhat Open Day - JBoss Middleware Portfolio
Redhat Open Day - JBoss Middleware Portfolio
 
Herramientas Digitales
Herramientas DigitalesHerramientas Digitales
Herramientas Digitales
 
Desarrollo en Android: Conceptos Básicos
Desarrollo en Android: Conceptos BásicosDesarrollo en Android: Conceptos Básicos
Desarrollo en Android: Conceptos Básicos
 
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)
 
Cliente servidor
Cliente servidorCliente servidor
Cliente servidor
 
Cap2 funcionalidad de cliente servidor
Cap2 funcionalidad de cliente servidorCap2 funcionalidad de cliente servidor
Cap2 funcionalidad de cliente servidor
 

Último

tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..RobertoGumucio2
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 

Último (20)

tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 

Curso Arquitectura J2 Ee Parte1

  • 1. ARQUITECTURA Y DISEÑO DE APLICACIONES J2EE Andrés Guerrero andres.guerrero@coit.es
  • 2. Objetivos del curso ● Formar para diseñar los sistemas a nivel corporativo ● Utilizar J2EE para implantar sistemas multicapa ● Aprender a utilizar las tecnologías J2EE para mejorar la calidad de servicio de los sistemas corporativos
  • 3. Conceptos básicos ● ¿Qué es arquitectura y qué es diseño? ● Arquitectura: – Cubre toda la estructura de un sistema – Escalabilidad, seguridad, portabilidad, rendimiento, fiabilidad, flexibilidad – Los detalles de implementación están ocultos ● Diseño: – Opera a un nivel de abstracción más bajo – Trata sobre los detalles de implementación
  • 4. Problemas de los arquitectos ● Tiempo ● Coste ● Experiencia ● Habilidades ● Visibilidad ● Complejidad ● Cambios
  • 6. Fases en el desarrollo SW ● Análisis de requisitos / Alcance del problema – HW, SW, topología de la red, desarrollo, testeo, entorno de producción – Generar el modelo de dominio: clases, objetos e interacciones ● Análisis OO/Arquitectura – UML ● Diseño de la arquitectura – Framework, protocolos ● Implementación
  • 7. Principios de arquitectura “Divide y vencerás” Julio César “Vamos por partes” Jack “El destripador”
  • 8. Principios de arquitectura - Capas ● Las capas (layers) es una división lógica de los elementos que componen una solución SW
  • 9. Principios de arquitectura - Niveles ● Es una división física de la infraestructura de un sistema
  • 10. Características en la arquitectura ● Disponibilidad – Grado de accesibilidad de un sistema (ej: 24x7) – Relacionado con el rendimiento ● Fiabilidad – Garantizar la integridad y consistencia de una aplicación y sus transacciones ● Gestionabilidad – Gestionar los recursos de un sistema para garantizar la disponibilidad y el rendimiento respecto a otros factores (plugins)
  • 11. Características en la arquitectura ● Flexibilidad – Acometer cambios en la configuración de la arquitectura y el HW sin un gran impacto en el sistema ● Rendimiento – Cumplir las funcionalidades en un tiempo razonable ● Capacidad – Habilidad de un sistema para realizar múltiples tareas por unidad de tiempo
  • 12. Características en la arquitectura ● Escalabilidad – Capacidad de que ante incrementos de transacciones el sistema cumpla con los requisitos de rendimiento y disponibilidad ● Extensibilidad – Capacidad de extender la funcionalidad ● Validez – Capacidad para predecir o confirmar resultados en función de determinadas entradas de usuario
  • 13. Características en la arquitectura ● Reusabilidad – Poder utilizar un componente en más de un contexto sin modificarlo internamente ● Seguridad – Garantizar la accesibilidad e integridad de la información de acuerdo a la política de la empresa
  • 14. J2EE - Introducción ● Define un modelo para desarrollar aplicaciones distribuidas ● Basado en un modelo multicapa ● Define un conjunto de componentes que pueden reutilizarse ● Destinado para estandarizar y simplificar el desarrollo de aplicaciones distribuidas ● La utilización de componentes es flexible
  • 15. Desarrollo de aplicaciones corporativas J2EE - Retos ● Productividad – Equipos de desarrollo con medios de estándar – Evitar soluciones específicas y arquitecturas propietarias – Facilitar la división del trabajo ● Integración con sistemas existentes – Legacy systems (CICS, DB2, Mainframes, ...)
  • 16. Desarrollo de aplicaciones corporativas J2EE - Retos ● Libertad de elección de herramientas, componentes (Websphere, Weblogic, Jboss, etc) ● Respuesta a la demanda – Disponibilidad, flexibilidad, escalabilidad – Evitar la necesidad de rediseño, recodificación para conseguir lo anterior ● Mantenimiento de la seguridad – Conseguir un modelo de seguridad integrado en entornos heterogéneos
  • 18. Plataforma J2EE ● Modelo de aplicación distribuida multicapa – Capa cliente (navegador) – Capa de presentación (servlets, JSP) – Capa de lógica de negocio (EJBs) – Capa de datos (BD)
  • 19. Plataforma J2EE ● Gestión de componentes basados en contenedor – Los contenedores son entornos de ejecución estándares que proveen servicios específicos a componentes – Por ejemplo: El contenedor web proporciona respuestas a peticiones de clientes (invocando un JSP o servlet) – Proporcionan selección de comportamiento en tiempo de despliegue – Los contenedores pueden convivir o no en una misma plataforma
  • 20. Plataforma J2EE ● Soporte para componentes de cliente – Páginas HTML estáticas – HTML generado dinámicamente JSP – Java applets – Aplicaciones autónomas (stand-alone) Java o no – Comunicación con el middle tier por medio de HTTP, HTML, XML
  • 21. Plataforma J2EE ● Soporte para componentes de negocio – EJB (Enterprise Java Beans) – Permite a los desarrolladores concentrarse en la lógica de negocio delegando las complejidades de las transacciones al contenedor
  • 22. Contenidos de una aplicación J2EE
  • 23. Ventajas de la plataforma J2EE ● Desarrollo y arquitectura más simples – Funcionalidad más fácil de implementar – Permite especificar comportamientos en tiempo de despliegue – Permite la división del trabajo ● Integración con los sistemas de información corporativos – JDBC, JTA, JNDI, JMS, JavaMail, JAXP, CORBA
  • 24. Ventajas de la plataforma J2EE ● Múltiples servidores, herramientas, componentes – Servidores: Glashfish, Websphere, Weblogic,... – Herramientas: Netbeans, Eclipse, Websphere,... – Frameworks: Struts, Spring, Hibernate,... ● Fácil escalabilidad – Los contenedores implementan mecanismos para la escalabilidad de aplicaciones distribuidas
  • 25. Ventajas de la plataforma J2EE ● Modelo de seguridad unificado y simplificado – Tanto en los contenedores Web como de EJB la seguridad puede definirse en los ficheros descriptores de despliegue (flexibilidad)
  • 26. Modelos de aplicaciones J2EE ● La arquitectura J2EE es flexible permite la elección de los contenedores a utilizar en cada caso
  • 28. Modelo de aplicación centrada en la Web
  • 30. J2EE – Capa de cliente ● Desde el punto de vista del usuario el cliente es la aplicación ● Debe ser útil, usable, rápida ● Dependiendo del tipo de cliente a utilizar hay una serie de consideraciones a tener en cuenta
  • 31. Capa de cliente - Consideraciones ● Consideraciones de la red – Diferentes tipos de conexión – Latencia – Ancho de banda – La red no siempre es fiable – El cliente ideal se conecta con el servidor sólo lo necesario, transmite la información necesaria y funciona razonablemente bien cuando no puede conectarse
  • 32. Capa de cliente - Consideraciones ● Consideraciones de seguridad – Cuando existe un cortafuegos se limita la elección de los protocolos (HTTP, HTTPS) para la comunicación – Tipo de red: Internet, Intranet → Afecta a la autenticación
  • 33. Capa de cliente - Consideraciones ● Consideraciones de la plataforma cliente – Tipo de terminal en el que se visualizará – Periféricos: Tamaño de la pantalla, ratón, teclado – Complejidad de las aplicaciones multiplataforma
  • 34. Capa de cliente – Directrices generales de diseño ● Aunque la plataforma J2EE recomienda el uso de clientes ligeros la capa cliente puede realizar las siguientes funciones: – Presentación del interfaz de usuario – Validar las entradas del usuario – Comunicarse con el servidor – Gestionar el estado de la conversación ● Cuantas más funciones tenga la capa de cliente mayor rapidez de respuesta → RIA
  • 35. Directrices de diseño para navegadores ● Ventajas de la utilización de navegadores: – Son los clientes más ligeros – No están afectados por los cambios de la aplicación – Están en todas partes: Pcs, Móviles, Estaciones de trabajo
  • 36. Directrices de diseño para navegadores ● Presentación del interfaz de usuario – Descargan los documentos del servidor – HTML, XML – Son estáticos o generados dinámicamente (JSP, servlets) – Los navegadores ofrecen un entorno familiar al usuario – Pero ofrecen una limitada interactividad-> requiere muchas conexiones con el servidor – Javascript
  • 37. Directrices de diseño para navegadores ● Validación de las entradas del usuario – Utilizar Javascript (ECMA) para la validación de los campos del formulario – El código de Javascript común debe estar incluido en un fichero-> el navegador lo guarda en la caché – No exime la validación en el lado del servidor – La aplicación debe funcionar si se desactiva Javascript
  • 38. Directrices de diseño para navegadores ● Comunicación con el servidor – Se realiza a través de HTTP(S) – Métodos GET y POST – Las peticiones para actualizar datos generalmente son a través de POST – El API de servlet proporciona el interfaz para atender ambos métodos (doGet, doPost) – Una aplicación J2EE debe utilizar JSP para generar documentos HTML
  • 39. Directrices de diseño para navegadores ● Gestión de la sesión – HTTP es un protocolo de petición-respuesta donde cada petición es tratada independientemente – Sesión: Secuencia de peticiones realizadas por un usuario utilizando un único cliente – Formas de guardar la sesión: ● Cookies ● Reescritura de URL (URL rewriting) – Identificador de sesión (jsessionid) – Los servidores deben manejar el estado de la sesión
  • 40. Directrices de diseño para navegadores ● Accesibilidad web – Capacidad de acceso a la web y a sus contenidos por todas las personas independientemente de la discapacidad que presenten y del contexto de uso (ambientales, tecnológicas) – Validación semántica del contenido (Test W3C) – Herramientas de accesibilidad (TAW) – Relacionado con el posicionamiento en buscadores