Slideshow transcript
Slide 1: Desarrollo ágil de servicios móviles Juan C. Dueñas Profesor Titular Departamento de Ingeniería de Sistemas Telemáticos UPM, ETSIT Juan C. Dueñas Servicios Móviles Multimedia
Slide 2: Contenidos 1. Servicios móviles 2. Arquitectura de servidores 3. Arquitectura de clientes 4. Proceso de desarrollo 5. Método y herramientas Juan C. Dueñas Servicios Móviles Multimedia
Slide 3: 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 Juan C. Dueñas Servicios Móviles Multimedia
Slide 4: 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. Juan C. Dueñas Servicios Móviles Multimedia
Slide 5: 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 Juan C. Dueñas Servicios Móviles Multimedia
Slide 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 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. Juan C. Dueñas Servicios Móviles Multimedia
Slide 7: Arquitectura OSA Entorno personalizado de servicio PSE S1 S1 S1 S1 S1 Aplicaciones/clientes Interfaz OSA Capacidades Capacidades Capacidades Funcionalidades de De servicio De servicio De servicio SCS SCS SCS Capacidades de servicio Servidor 1 Servidor 1 Servidor 1 Capacidades de servicio Capacidades Servidores predefinidos HLR, CSE SAT, MEXE portadoras localización UMTS, núcleo red Juan C. Dueñas Servicios Móviles Multimedia
Slide 8: 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) Juan C. Dueñas Servicios Móviles Multimedia
Slide 9: Entorno de despliegue IEE802.11b Bluetooth GSM/GPRS SMSC Redes Interne Acces o t Gateway WAP/Internet Firewall BTS Directorio Intranets Firewall ASP Servidor de Aplicaciones Juan C. Dueñas Servicios Móviles Multimedia
Slide 10: Entornos de aplicación Juan C. Dueñas Servicios Móviles Multimedia
Slide 11: 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 Juan C. Dueñas Servicios Móviles Multimedia
Slide 12: Contenidos 1. Servicios móviles 2. Arquitectura de servidores 3. Arquitectura de clientes 4. Proceso de desarrollo 5. Método y herramientas Juan C. Dueñas Servicios Móviles Multimedia
Slide 13: 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. Juan C. Dueñas Servicios Móviles Multimedia
Slide 14: Arquitectura en capas Juan C. Dueñas Servicios Móviles Multimedia
Slide 15: Servidor de aplicaciones Mensajería asíncrona Distribución Concurrencia de objetos Persistencia Transacciones Servicio de nombres Juan C. Dueñas Servicios Móviles Multimedia
Slide 16: Arquitectura servidor de aplicaciones Servlet API JSP API Java XML ... Integración de Sistemas Contenedor de lógica de Aplicación Juan C. Dueñas Servicios Móviles Multimedia
Slide 17: Arquitectura servidor de aplicaciones Contened lógica de or EJB Presentación J2EE Integración de Sistemas Java Mail RMI/IIOP JavaIDL JDBC JNDI JMS JTS Balanceo, Mgmt, Tolerancia a Fallos, ... Juan C. Dueñas Servicios Móviles Multimedia
Slide 18: 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 Juan C. Dueñas Servicios Móviles Multimedia
Slide 19: 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 WSDLdescripción del servicio, primitiva UDDIregistro SOAPenví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 Juan C. Dueñas Servicios Móviles Multimedia
Slide 20: Tecnologías WS Tecnologia WS Plataforma de WEB Services WSDL SOAP UDDI 1 1 1 (from Tec nología WSDL) (from Tecnología SOAP) (from Tecnología UDDI) 0..1 1..* 0..* 1..* XML WEB Registro UDDI Servidor Service (from Tecnología UDDI) SOAP Juan C. Dueñas Servicios Móviles Multimedia
Slide 21: Servicios WEB 0..* Tipo de <<especifica>> datos Ubicación +describe (URL) WSDL (from Tecnología WSDL) Servicio WEB Primitiva 1..* HTTP Protocolo WSImpl SMTP SOAP MIME (from Tecnología SOAP) XML Juan C. Dueñas Servicios Móviles Multimedia
Slide 22: Documento WSDL Documento Contenedor del servicio. 1 NameSpaces definitions globales ... Provee un identifi... SOAPbinding 0..* 0..* 1..* import message portType binding types HTTPbinding name name <referencia 1..* MIMEbinding 1.. * operation part name Jerarquizaci schema service port address ó... 1..* 0..1 0..1 0..1 documentation input output Fault m : message m : message (from Tecnología SOAP) Definición de tip... El orden en el q... Juan C. Dueñas Servicios Móviles Multimedia
Slide 23: Contenidos 1. Servicios móviles 2. Arquitectura de servidores 3. Arquitectura de clientes 4. Proceso de desarrollo 5. Método y herramientas Juan C. Dueñas Servicios Móviles Multimedia
Slide 24: 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 Juan C. Dueñas Servicios Móviles Multimedia
Slide 25: Arquitecturas de cliente Basado en navegador Basado en terminal Sin instalación Ejecución desechable Sin distribución Necesita distribución Sin ejecución Ejecución en dispositivo Sin acceso directo a Acceso a hw display/sonido Difícil actualización Actualización en servidor Virus No virus Poco control operadores Control del operador Inteligencia repartida Reside en servidor Control del desarrollador Exige browser Juan C. Dueñas Servicios Móviles Multimedia
Slide 26: Ciclo de vida aplicaciones móviles Servicio Variabilidad Servicio de del push entrega dispositivo Actualización Tarificación Instalación Servicio de descubrimiento Carga y Eliminación uso Juan C. Dueñas Servicios Móviles Multimedia
Slide 27: Configuraciones y perfiles Perfil Clases de Extensión 1 * * 1 Configuracion 1 * VM C lases Hardware procesador Núcleo memoria se ejecuta sobre instalado en Sistema Operativo Juan C. Dueñas Servicios Móviles Multimedia
Slide 28: Modelo de provisionamiento pull 1. El usuario 2. Navega solicita la hasta el Elegir: página Página índice - Tetris 3. Elige una inicial inicial - Ajedrez aplicación 4. Envío del JAD al navegador Archivo Navegador JAD 5. Se pasa el JAD al 6. ¿Instalar? AppMager 7. Petición del JAR 8. El servidor envía el JAR Archivo AppManager JAR 9. Confirmación de estado de la instalación Juan C. Dueñas Servicios Móviles Multimedia
Slide 29: Ciclo de vida MIDlet : AMS : Servidor : Usuario petición JAD Reposo archivo JAD aceptación descarga JAR Pausa instalación : MIDlet ejecución constructor() startApp() notifyPaused() Activo pauseApp() resumeRequest() startApp() eliminar aplicación destroyApp() Eliminado Juan C. Dueñas Servicios Móviles Multimedia
Slide 30: Contenidos 1. Servicios móviles 2. Arquitectura de servidores 3. Arquitectura de clientes 4. Proceso de desarrollo 5. Método y herramientas Juan C. Dueñas Servicios Móviles Multimedia
Slide 31: Ciclo de desarrollo en cascada Requirements definition System and software design Implementation and unit testing Integration and system testing Operation and maintenance Juan C. Dueñas Servicios Móviles Multimedia
Slide 32: Coste relativo de las etapas 12% 18% Análisis Diseño Codific 45% Pruebas 25% Juan C. Dueñas Servicios Móviles Multimedia
Slide 33: Desarrollo incremental Define outline Assign requirements Design system requirements to increments architecture Develop system Validate Integrate Validate increment increment increment system Final system Systemincomplete Juan C. Dueñas Servicios Móviles Multimedia
Slide 34: 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 Juan C. Dueñas Servicios Móviles Multimedia
Slide 35: Proceso Software XP Juan C. Dueñas Servicios Móviles Multimedia
Slide 36: Proceso software XP Juan C. Dueñas Servicios Móviles Multimedia
Slide 37: Contenidos 1. Servicios móviles 2. Arquitectura de clientes 3. Arquitectura de servidores 4. Proceso de desarrollo 5. Método y herramientas Juan C. Dueñas Servicios Móviles Multimedia
Slide 38: 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 Juan C. Dueñas Servicios Móviles Multimedia
Slide 39: Desarrollo de aplicaciones-servidor UML Model Commercial IDE App Server Editing Execution Environment Debugging Debugging Deployment Deployment Java Java Rational Rose source IBM VisualAge byte code IBM WebSphere Inprise Jbuilder Inprise App Server Poseidon for UML Together Sun Forte JAR/WAR BEA Weblogic Eclipse iPlanet Jakarta Tomcat Juan C. Dueñas Servicios Móviles Multimedia
Slide 40: Aspecto de las herramientas CASE Juan C. Dueñas Servicios Móviles Multimedia
Slide 41: 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 Juan C. Dueñas Servicios Móviles Multimedia
Slide 42: 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 Juan C. Dueñas Servicios Móviles Multimedia
Slide 43: Modelos de componentes EJB CCM .NET Granularidad Enterprise Bean Component Component Container Container Module Tipo de Entity Services Component componentes Session Session Message driver Entity Process Interfaces Business Facets Attributes Life cycle Receptacles Methods Event sources Events Event sinks Interfaces Juan C. Dueñas Servicios Móviles Multimedia
Slide 44: 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 Juan C. Dueñas Servicios Móviles Multimedia
Slide 45: Implementación de aplicaciones cliente Compilación, preverificación, depuración Empaquetamiento Provisionamiento (OTA) Ajuste de rendimiento Monitorización de memoria y red Juan C. Dueñas Servicios Móviles Multimedia
Slide 46: Entorno de desarrollo Menú Editor Herramientas de texto Perspectivas, vistas rápidas Vista general Vista de navegación de recursos Vista de Vista de marcadores propiedades Área de Estado del mensajes editor Vistas apiladas Vista de tareas Juan C. Dueñas Servicios Móviles Multimedia
Slide 47: Emulación de funcionalidad-cliente Juan C. Dueñas Servicios Móviles Multimedia
Slide 48: Emulación de rendimiento-cliente Juan C. Dueñas Servicios Móviles Multimedia
Slide 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 Juan C. Dueñas Servicios Móviles Multimedia
Slide 50: 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 Juan C. Dueñas Servicios Móviles Multimedia
Slide 51: 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 Juan C. Dueñas Servicios Móviles Multimedia
Slide 52: 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) Juan C. Dueñas Servicios Móviles Multimedia
Slide 53: 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 Juan C. Dueñas Servicios Móviles Multimedia
Slide 54: Juan C. Dueñas Servicios Móviles Multimedia



Add a comment on Slide 1
If you have a SlideShare account, login to comment; else you can comment as a guest- Favorites & Groups
Showing 1-50 of 0 (more)