servidores de-aplicacion-1211055568915043-9

54
Servicios Móviles Multimedia Juan C. Dueñas Juan C. Dueñas Profesor Titular Departamento de Ingeniería de Sistemas Telemáticos UPM, ETSIT Desarrollo ágil de servicios móviles

Upload: home

Post on 19-Jun-2015

590 views

Category:

Documents


0 download

TRANSCRIPT

  • 1. Juan C. Dueas Profesor Titular Departamento de Ingeniera de Sistemas Telemticos UPM, ETSIT Desarrollo gil de servicios mviles

2. Contenidos

  • 1.Servicios mviles
  • 2. Arquitectura de servidores
  • 3. Arquitectura de clientes
  • 4. Proceso de desarrollo
  • 5. Mtodo y herramientas

3. Servicio

  • Los usuarios consumen servicios proporcionados por las aplicaciones, que operan sobre servidores de aplicacin y sobre dispositivos clientes
  • Los proveedores de servicios son parte del plano de servicios

4. Conceptos de servicios

  • Servicios de telecomunicacin: capacidades de comunicacin entre usuarios ofrecidas por la red origen y/o por la red visitada.
    • Servicios portadores: servicios que ofrecen la capacidad de transmisin de seales entre puntos de accesos al servicio (capas bajas OSI)
    • Tele-servicios: capacidad completa de comunicacin entre usuarios finales.
    • Suplementarios: modifican a los bsicos 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.

5. Planos de red 3G Aplicaciones aplicaciones IP, e-mail, voice-mail, travel guide Control especfico de red, control llamadas, gestin de movilidad, gestin de sesin Transporte encaminamiento, switching, coding 6. 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 aadir capacidades de red
  • Normalizados OSA
    • Autentificacin, autorizacin, registro, consulta de capacidades de servicio, notificacin
  • No OSA
    • Control de sesin, seguridad y privacidad, traduccin de direcciones, localizacin de usuario, estado del usuario, capacidades del terminal, transferencia de informacin, gestin de perfil de usuario, tarificacin.

7. 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 localizacin Aplicaciones/clientes Interfaz OSA Funcionalidades de Capacidades de servicio Capacidades de servicio predefinidos UMTS, ncleo red 8. Aspectos de OSA

  • Aplicaciones: componentes software que contienen la lgica de los servicios prestados a los usuarios finales usando funcionalidades de red
    • Se construyen sobre SCS
    • Servicios como: soporte a la tarificacin, de notificacin, de seguridad (PKI), geo-navegacin, 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 lgicas que proveen de funcionalidades a las aplicaciones, abstrayendo las funcionalidades y tecnologa de la red.
    • Servicios basados en core network
    • Ofrecen interfaces OSA API-PARLAY
    • gsmSCF (especfico GSM), HLR-GW (gw a informacin HLR-localizacin, estatus de usuario)

9. Entorno de despliegue ASP GSM/GPRS BTS Internet Gateway WAP/Internet Directorio Servidor de Aplicaciones Firewall Firewall Intranets SMSC Redes Acceso IEE802.11b Bluetooth 10. Entornos de aplicacin 11. Servidores de aplicacin

  • Permiten independencia de la plataforma
  • Parte intermedia de una arquitectura 3 niveles
    • Lugar en el que reside y se ejecuta la lgica del servicio o aplicacin para aplicaciones de usuario final
  • Caractersticas
    • Escalabilidad lineal
    • Robustez y redundancia
    • Actualizacin en caliente
    • Soporte multilenguaje

12. Contenidos

  • 1. Servicios mviles
  • 2.Arquitectura de servidores
  • 3. Arquitectura de clientes
  • 4. Proceso de desarrollo
  • 5. Mtodo y herramientas

13. Arquitecturas

  • Arquitectura cliente-servidor
  • Middleware: software (a veces denominado plataforma) que media entre la red y la aplicacin y que permite la comunicacin independientemente, sobre redes heterogneas.

14. Arquitectura en capas 15. Servidor de aplicaciones Concurrencia Persistencia Servicio de nombres

    • Transacciones
    • Distribucin de objetos

Mensajera asncrona 16. Arquitectura servidor de aplicaciones Servlet API JSP API Java XML ... Integracin de Sistemas Contenedor de lgica de Aplicacin 17. Arquitectura servidor de aplicaciones lgica de Presentacin Integracin de Sistemas Balanceo, Mgmt, Tolerancia a Fallos, ... Contenedor EJB JNDI JMS Java Mail JTS RMI/IIOP JavaIDL JDBC J2EE 18. Elementos de la arquitectura EJB

  • Servidor EJB
    • Servidor de aplicaciones genrico que proporciona un entorno de ejecucin que cumple con el estndar EJB.
    • Interacta con los contenedores de EJB
    • Responsable de la gestin y coordinacin de recursos:
      • Threads, procesos, memoria, conexiones a BD
      • servicios: transacciones, nombres, seguridad y persistencia
  • Contenedor EJB
    • Proporciona contexto de ejecucin 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

19. Definicin y objetivos

  • Web Services: es un modelo de negocio que pretende una total integracin entre servicios aplicando una arquitectura de interaccin SOA
  • Independencia de tecnologa
  • WSDL descripcin del servicio, primitiva
  • UDDI registro
  • SOAP envo de mensajes
    • Comunicacin basada en mensajes:
      • Sncronos
      • Asncronos
    • Intercambio de documentos XML
    • Invocacin remota
    • Independencia con respecto a protocolo de transporte

20. Tecnologas WS 21. Servicios WEB 22. Documento WSDL 23. Contenidos

  • 1. Servicios mviles
  • 2. Arquitectura de servidores
  • 3.Arquitectura de clientes
  • 4. Proceso de desarrollo
  • 5. Mtodo y herramientas

24. Software de terminales

  • Caractersticas
    • Soporte a la concurrencia
    • Bajo consumo
    • Integracin de comunicaciones-qos, servicios
    • Estabilidad y robustez
    • Rango de dispositivos sobre los que acta
  • Arquitecturas
    • Basada en navegador
    • Basada en terminal

25. Arquitecturas de cliente

  • Basado en navegador
  • Sin instalacin
  • Sin distribucin
  • Sin ejecucin
  • Sin acceso directo a display/sonido
  • Actualizacin en servidor
  • No virus
  • Control del operador
  • Reside en servidor
  • Exige browser
  • Basado en terminal
  • Ejecucin desechable
  • Necesita distribucin
  • Ejecucin en dispositivo
  • Acceso a hw
  • Difcil actualizacin
  • Virus
  • Poco control operadores
  • Inteligencia repartida
  • Control del desarrollador

26. Ciclo de vida aplicaciones mviles Servicio push Servicio de descubrimiento Servicio de entrega Variabilidad deldispositivo Actualizacin Tarificacin Instalacin Carga y uso Eliminacin 27. Configuraciones y perfiles 28. Modelo de provisionamiento pull Navegador Pginainicial Elegir: - Tetris - Ajedrez 1. El usuario solicita la pgina inicial 2. Navega hasta el ndice Archivo JAD 3. Elige una aplicacin 4. Envo del JAD al navegador AppManager 5. Se pasa el JAD al AppMager Archivo JAR 7. Peticin del JAR 8. El servidor enva el JAR 6. Instalar? 9. Confirmacin de estado de la instalacin 29. Ciclo de vida MIDlet 30. Contenidos

  • 1. Servicios mviles
  • 2. Arquitectura de servidores
  • 3. Arquitectura de clientes
  • 4.Proceso de desarrollo
  • 5. Mtodo y herramientas

31. Ciclo de desarrollo en cascada 32. Coste relativo de las etapas 33. Desarrollo incremental 34. Extreme Programming

  • Mtodo gil de desarrollo
  • Aumento de calidad: pruebas
  • Aceleracin del desarrollo
  • Usado en el desarrollo de sistemas Internet
  • Elimina burocracia
  • Exige personal experto
  • Fomenta la comunicacin

35. Proceso Software XP 36. Proceso software XP 37. Contenidos

  • 1. Servicios mviles
  • 2. Arquitectura de clientes
  • 3. Arquitectura de servidores
  • 4. Proceso de desarrollo
  • 5.Mtodo y herramientas

38. Requisitos de calidad

  • Inmediatez: tiempo de desarrollo mnimo.
  • Seguridad: en la infraestructura y en la aplicacin.
  • Usabilidad: navegacin entendible, ayuda y realimentacin online, esttica.
  • Funcionalidad: bsquedas, navegacin.
  • Fiabilidad: enlaces, errores.
  • Eficiencia: tiempo de respuesta.
  • Mantenibilidad: facilidad de correccin, adaptabilidad a terminales, extensibilidad

39. Desarrollo de aplicaciones-servidor IBM VisualAgeInprise Jbuilder Sun Forte Eclipse IBM WebSphereInprise 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 40. Aspecto de las herramientas CASE 41. Diseo de aplicaciones-servidor

  • Divisin en tres niveles
  • Respuesta a carga
  • Fiabilidad y tolerancia a fallos
  • Patrones de diseo
  • Diseo de la navegacin
    • Roles, entradas, proceso, salidas, mecanismos de navegacin, ayudas a navegacin
  • Diseo de la interfaz grfica

42. Componente software

  • Unidad de composicin
    • con interfaces especificados por contrato
    • y dependencias explcitas del contexto
  • de entrega independiente
  • sujeto a composicin por terceros
  • Parte no trivial de un sistema
    • casi independiente y reemplazable
    • cumple una funcin en el contexto de una arquitectura
    • proporciona una realizacin fsica
    • cumple un conjunto de interfaces

43. Modelos de componentes Attributes Methods Events Interfaces Facets Receptacles Event sources Event sinks Business Life cycle Interfaces Component Services Session Entity Process Entity SessionMessage driver Tipo de componentes Component Module Component Container Enterprise Bean Container Granularidad .NET CCM

    • EJB

44. Diseo de aplicaciones-cliente

  • Efectos de las interrupciones: soporte a la concurrencia
  • Latencia: agrupacin de mensajes
  • Prdidas: retransmisiones
  • Robustez: mecanismos sencillos y seguros (generales)
  • Eficiencia: pocas transacciones, pocos datos, poca red (HTTP1.1 sobre 1.0), compresin
  • Poltica de caching
  • Buffering para los grficos
  • Rendimiento percibido: usuario informado y con mando

45. Implementacin de aplicaciones cliente

  • Compilacin, preverificacin, depuracin
  • Empaquetamiento
  • Provisionamiento (OTA)
  • Ajuste de rendimiento
  • Monitorizacin de memoria y red

46. Entorno de desarrollo Herramientas Perspectivas, vistas rpidas Vista de navegacin 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 47. Emulacin de funcionalidad-cliente 48. Emulacin de rendimiento-cliente 49. 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

50. Pruebas de usabilidad

  • Probar en varios dispositivos-emuladores
  • Lleva tiempo
  • Guas de estilo y usabilidad-accesibilidad
  • Navegabilidad/rendimiento
    • Impaciencia
    • Tamao de textos y diferentes pantallas
    • Introduccin de datos
    • Animaciones y barridos
    • Soporte a bibliotecas GUI
    • Internacionalizacin

51. Pruebas de red

  • Emuladores de red
    • Emulan diferentes condiciones de operacin de red (retardos, interrupciones, latencia, carga de usuarios)
  • Casos y escenarios
    • Interaccin bidireccional aplicacin-red
    • Escenarios tpicos
      • Ancho de banda reducido
      • Interrupciones de red con diferente tiempo y sitio
      • Ancho de banda con variaciones fuertes

52. Pruebas de servidor

  • Efectos en el rendimiento
  • Servidor de aplicacin
    • Comportamiento frente a actualizaciones hw
    • Interrupciones de servicio, actualizaciones sw
    • Independencia de aplicaciones en el servidor
    • Servidor si corta comunicacin
    • Tiempo de servidor frente a carga
  • Necesidad de hacer pruebas de sistema
    • Aunque son difciles (maquetas de red)

53. Bibliografa

  • 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 mviles de 3 generacin, J. M. Hernando, C. Lluch (editores), Telefnica Mviles Espaa, 2000, Volumen 2
  • Software Engineering, A practitioners approach, R. Pressman, 5 edicin, McGrawHill, 2001

54.