• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Servidores De Aplicacion
 

Servidores De Aplicacion

on

  • 9,566 views

 

Statistics

Views

Total Views
9,566
Views on SlideShare
9,530
Embed Views
36

Actions

Likes
1
Downloads
185
Comments
0

3 Embeds 36

http://www.slideshare.net 29
http://umgvirtual.umg.edu.gt 4
http://javierlunamarzola.blogspot.com 3

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Servidores De Aplicacion Servidores De Aplicacion Presentation Transcript

  • Juan C. Dueñas Profesor Titular Departamento de Ingeniería de Sistemas Telemáticos UPM, ETSIT Desarrollo ágil de servicios móviles
  • Contenidos
    • 1. Servicios móviles
    • 2. Arquitectura de servidores
    • 3. Arquitectura de clientes
    • 4. Proceso de desarrollo
    • 5. Método y herramientas
  • Servicio
    • Los usuarios consumen servicios proporcionados por las aplicaciones, que operan sobre servidores de aplicación y sobre dispositivos clientes
    • Los proveedores de servicios son parte del plano de servicios
  • Conceptos de servicios
    • Servicios de telecomunicación: capacidades de comunicación entre usuarios ofrecidas por la red origen y/o por la red visitada.
      • Servicios portadores: servicios que ofrecen la capacidad de transmisión de señales entre puntos de accesos al servicio (capas bajas OSI)
      • Tele-servicios: capacidad completa de comunicación entre usuarios finales.
      • Suplementarios: modifican a los básicos pero no se ofrecen directamente a los usuarios.
      • De usuario final: los que percibe el usuario ofrecidos por el operador como aplicaciones de terminal. No estandarizados.
  • Planos de red 3G Aplicaciones aplicaciones IP, e-mail, voice-mail, travel guide Control específico de red, control llamadas, gestión de movilidad, gestión de sesión Transporte encaminamiento, switching, coding
  • La interfaz OSA
    • Arquitectura abierta OSA
      • Permite que las aplicaciones usen las capacidades de red de forma normalizada
      • Permite desarrollo de aplicaciones por terceros
      • Permite añadir capacidades de red
    • Normalizados OSA
      • Autentificación, autorización, registro, consulta de capacidades de servicio, notificación
    • No OSA
      • Control de sesión, seguridad y privacidad, traducción de direcciones, localización de usuario, estado del usuario, capacidades del terminal, transferencia de información, gestión de perfil de usuario, tarificación.
  • Arquitectura OSA Entorno personalizado de servicio PSE S1 S1 S1 S1 S1 Capacidades De servicio SCS Servidor 1 Capacidades De servicio SCS Servidor 1 Capacidades De servicio SCS Servidor 1 HLR, CSE Capacidades portadoras Servidores SAT, MEXE localización Aplicaciones/clientes Interfaz OSA Funcionalidades de Capacidades de servicio Capacidades de servicio predefinidos UMTS, núcleo red
  • Aspectos de OSA
    • Aplicaciones: componentes software que contienen la lógica de los servicios prestados a los usuarios finales usando funcionalidades de red
      • Se construyen sobre SCS
      • Servicios como: soporte a la tarificación, de notificación, de seguridad (PKI), geo-navegación, directorios
    • Marco (framework): conjunto de mecanismos que permiten a las aplicaciones usar las capacidades de red independientes del tipo de servicio.
    • Servidores de capacidades de servicio (SCS): entidades lógicas que proveen de funcionalidades a las aplicaciones, abstrayendo las funcionalidades y tecnología de la red.
      • Servicios basados en “core network”
      • Ofrecen interfaces OSA API-PARLAY
      • gsmSCF (específico GSM), HLR-GW (gw a información HLR-localización, estatus de usuario)
  • Entorno de despliegue ASP GSM/GPRS BTS Internet Gateway WAP/Internet Directorio Servidor de Aplicaciones Firewall Firewall Intranets SMSC Redes Acceso IEE802.11b Bluetooth
  • Entornos de aplicación
  • Servidores de aplicación
    • Permiten independencia de la plataforma
    • Parte intermedia de una arquitectura 3 niveles
      • Lugar en el que reside y se ejecuta la lógica del servicio o aplicación para aplicaciones de usuario final
    • Características
      • Escalabilidad lineal
      • Robustez y redundancia
      • Actualización en caliente
      • Soporte multilenguaje
  • Contenidos
    • 1. Servicios móviles
    • 2. Arquitectura de servidores
    • 3. Arquitectura de clientes
    • 4. Proceso de desarrollo
    • 5. Método y herramientas
  • Arquitecturas
    • Arquitectura cliente-servidor
    • Middleware: software (a veces denominado plataforma) que media entre la red y la aplicación y que permite la comunicación independientemente, sobre redes heterogéneas.
  • Arquitectura en capas
  • Servidor de aplicaciones Concurrencia Persistencia Servicio de nombres
      • Transacciones
      • Distribución de objetos
    Mensajería asíncrona
  • Arquitectura servidor de aplicaciones Servlet API JSP API Java XML ... Integración de Sistemas Contenedor de lógica de Aplicación
  • Arquitectura servidor de aplicaciones lógica de Presentación Integración de Sistemas Balanceo, Mgmt, Tolerancia a Fallos, ... Contenedor EJB JNDI JMS Java Mail JTS RMI/IIOP JavaIDL JDBC J2EE
  • Elementos de la arquitectura EJB
    • Servidor EJB
      • Servidor de aplicaciones genérico que proporciona un entorno de ejecución que cumple con el estándar EJB.
      • Interactúa con los contenedores de EJB
      • Responsable de la gestión y coordinación de recursos:
        • Threads, procesos, memoria, conexiones a BD
        • servicios: transacciones, nombres, seguridad y persistencia
    • Contenedor EJB
      • Proporciona contexto de ejecución y caracter transaccional a los componentes
      • Registra a los componentes contra el servidor de nombres, crea y destruye instancias
      • Provee de interfaces remotas para el componente
      • Gestiona transacciones, estado y persistencia
  • Definición y objetivos
    • Web Services: es un modelo de negocio que pretende una total integración entre servicios aplicando una arquitectura de interacción SOA
    • Independencia de tecnología
    • WSDL  descripción del servicio, primitiva
    • UDDI  registro
    • SOAP  envío de mensajes
      • Comunicación basada en mensajes:
        • Síncronos
        • Asíncronos
      • Intercambio de documentos XML
      • Invocación remota
      • Independencia con respecto a protocolo de transporte
  • Tecnologías WS
  • Servicios WEB
  • Documento WSDL
  • Contenidos
    • 1. Servicios móviles
    • 2. Arquitectura de servidores
    • 3. Arquitectura de clientes
    • 4. Proceso de desarrollo
    • 5. Método y herramientas
  • Software de terminales
    • Características
      • Soporte a la concurrencia
      • Bajo consumo
      • Integración de comunicaciones-qos, servicios
      • Estabilidad y robustez
      • Rango de dispositivos sobre los que actúa
    • Arquitecturas
      • Basada en navegador
      • Basada en terminal
  • Arquitecturas de cliente
    • Basado en navegador
    • Sin instalación
    • Sin distribución
    • Sin ejecución
    • Sin acceso directo a display/sonido
    • Actualización en servidor
    • No virus
    • Control del operador
    • Reside en servidor
    • Exige browser
    • Basado en terminal
    • Ejecución desechable
    • Necesita distribución
    • Ejecución en dispositivo
    • Acceso a hw
    • Difícil actualización
    • Virus
    • Poco control operadores
    • Inteligencia repartida
    • Control del desarrollador
  • Ciclo de vida aplicaciones móviles Servicio push Servicio de descubrimiento Servicio de entrega Variabilidad del dispositivo Actualización Tarificación Instalación Carga y uso Eliminación
  • Configuraciones y perfiles
  • Modelo de provisionamiento pull Navegador Página inicial Elegir: - Tetris - Ajedrez 1. El usuario solicita la página inicial 2. Navega hasta el índice Archivo JAD 3. Elige una aplicación 4. Envío del JAD al navegador AppManager 5. Se pasa el JAD al AppMager Archivo JAR 7. Petición del JAR 8. El servidor envía el JAR 6. ¿Instalar? 9. Confirmación de estado de la instalación
  • Ciclo de vida MIDlet
  • Contenidos
    • 1. Servicios móviles
    • 2. Arquitectura de servidores
    • 3. Arquitectura de clientes
    • 4. Proceso de desarrollo
    • 5. Método y herramientas
  • Ciclo de desarrollo en cascada
  • Coste relativo de las etapas
  • Desarrollo incremental
  • Extreme Programming
    • Método ágil de desarrollo
    • Aumento de calidad: pruebas
    • Aceleración del desarrollo
    • Usado en el desarrollo de sistemas Internet
    • Elimina burocracia
    • Exige personal experto
    • Fomenta la comunicación
  • Proceso Software XP
  • Proceso software XP
  • Contenidos
    • 1. Servicios móviles
    • 2. Arquitectura de clientes
    • 3. Arquitectura de servidores
    • 4. Proceso de desarrollo
    • 5. Método y herramientas
  • Requisitos de calidad
    • Inmediatez: tiempo de desarrollo mínimo.
    • Seguridad: en la infraestructura y en la aplicación.
    • Usabilidad: navegación entendible, ayuda y realimentación online, estética.
    • Funcionalidad: búsquedas, navegación.
    • Fiabilidad: enlaces, errores.
    • Eficiencia: tiempo de respuesta.
    • Mantenibilidad: facilidad de corrección, adaptabilidad a terminales, extensibilidad
  • Desarrollo de aplicaciones-servidor IBM VisualAge Inprise Jbuilder Sun Forte Eclipse IBM WebSphere Inprise App Server BEA Weblogic iPlanet Jakarta Tomcat Rational Rose Poseidon for UML Together UML Model Commercial IDE Editing Debugging Deployment App Server Execution Environment Debugging Deployment Java source Java byte code JAR/WAR
  • Aspecto de las herramientas CASE
  • Diseño de aplicaciones-servidor
    • División en tres niveles
    • Respuesta a carga
    • Fiabilidad y tolerancia a fallos
    • Patrones de diseño
    • Diseño de la navegación
      • Roles, entradas, proceso, salidas, mecanismos de navegación, ayudas a navegación
    • Diseño de la interfaz gráfica
  • Componente software
    • Unidad de composición
      • con interfaces especificados por contrato
      • y dependencias explícitas del contexto
    • de entrega independiente
    • sujeto a composición por terceros
    • Parte no trivial de un sistema
      • casi independiente y reemplazable
      • cumple una función en el contexto de una arquitectura
      • proporciona una realización física
      • cumple un conjunto de interfaces
  • Modelos de componentes Attributes Methods Events Interfaces Facets Receptacles Event sources Event sinks Business Life cycle Interfaces Component Services Session Entity Process Entity Session Message driver Tipo de componentes Component Module Component Container Enterprise Bean Container Granularidad .NET CCM
      • EJB
  • Diseño de aplicaciones-cliente
    • Efectos de las interrupciones: soporte a la concurrencia
    • Latencia: agrupación de mensajes
    • Pérdidas: retransmisiones
    • Robustez: mecanismos sencillos y seguros (generales)
    • Eficiencia: pocas transacciones, pocos datos, poca red (HTTP1.1 sobre 1.0), compresión
    • Política de “caching”
    • “ Buffering” para los gráficos
    • Rendimiento percibido: usuario informado y con mando
  • Implementación de aplicaciones cliente
    • Compilación, preverificación, depuración
    • Empaquetamiento
    • Provisionamiento (OTA)
    • Ajuste de rendimiento
    • Monitorización de memoria y red
  • Entorno de desarrollo Herramientas Perspectivas, vistas rápidas Vista de navegación de recursos Vistas apiladas Menú Área de mensajes Estado del editor Editor de texto Vista de propiedades Vista de tareas Vista general Vista de marcadores
  • Emulación de funcionalidad-cliente
  • Emulación de rendimiento-cliente
  • Pruebas
    • Dificultades
      • Rango de dispositivos y servidores y redes
      • Entorno final no disponible (emuladores)
      • Carga, rendimiento, fiabilidad, etc
    • Tipos de pruebas
      • De usabilidad gui
      • De rendimiento de red
      • De servidor
  • Pruebas de usabilidad
    • Probar en varios dispositivos-emuladores
    • Lleva tiempo
    • Guías de estilo y usabilidad-accesibilidad
    • Navegabilidad/rendimiento
      • Impaciencia
      • Tamaño de textos y diferentes pantallas
      • Introducción de datos
      • Animaciones y barridos
      • Soporte a bibliotecas GUI
      • Internacionalización
  • Pruebas de red
    • Emuladores de red
      • Emulan diferentes condiciones de operación de red (retardos, interrupciones, latencia, carga de usuarios)
    • Casos y escenarios
      • Interacción bidireccional aplicación-red
      • Escenarios típicos
        • Ancho de banda reducido
        • Interrupciones de red con diferente tiempo y sitio
        • Ancho de banda con variaciones fuertes
  • Pruebas de servidor
    • Efectos en el rendimiento
    • Servidor de aplicación
      • Comportamiento frente a actualizaciones hw
      • Interrupciones de servicio, actualizaciones sw
      • Independencia de aplicaciones en el servidor
      • Servidor si corta comunicación
      • Tiempo de servidor frente a carga
    • Necesidad de hacer pruebas de sistema
      • Aunque son difíciles (maquetas de red)
  • Bibliografía
    • Java Tools for Extreme Programming, R: Hightower, N. Leisecki, John Wiley, 2002
    • GPRS and 3G Wireless Applications, C. Andersson, John Wiley, 2001
    • Java 2 Micro Edition, E. Giguere, John Wiley, 2000
    • Comunicaciones móviles de 3ª generación, J. M. Hernando, C. Lluch (editores), Telefónica Móviles España, 2000, Volumen 2
    • Software Engineering, A practitioner’s approach, R. Pressman, 5ª edición, McGrawHill, 2001
  •