View
6.803
Download
0
Category
Preview:
Citation preview
Servicios Móviles MultimediaJuan C. Dueñas
Juan C. DueñasProfesor Titular
Departamento de Ingeniería de Sistemas TelemáticosUPM, ETSIT
Desarrollo ágil deservicios móviles
Servicios Móviles MultimediaJuan C. Dueñas
Contenidos
1. Servicios móvilesServicios móviles2. Arquitectura de servidores3. Arquitectura de clientes4. Proceso de desarrollo5. Método y herramientas
Servicios Móviles MultimediaJuan C. Dueñas
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
Servicios Móviles MultimediaJuan C. Dueñas
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.
Servicios Móviles MultimediaJuan C. Dueñas
Planos de red 3G
AplicacionesAplicacionesaplicaciones IP, e-mail, voice-mail, travel guideaplicaciones IP, e-mail, voice-mail, travel guide
ControlControlespecífico de red, control llamadas,específico de red, control llamadas,
gestión de movilidad, gestión de sesióngestión de movilidad, gestión de sesión
TransporteTransporteencaminamiento, switching, codingencaminamiento, switching, coding
Servicios Móviles MultimediaJuan C. Dueñas
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.
Servicios Móviles MultimediaJuan C. Dueñas
Arquitectura OSA
Entorno personalizado de servicio PSEEntorno personalizado de servicio PSE
S1S1 S1S1 S1S1 S1S1 S1S1
CapacidadesCapacidadesDe servicioDe servicio
SCSSCSServidor 1Servidor 1
CapacidadesCapacidadesDe servicioDe servicio
SCSSCSServidor 1Servidor 1
CapacidadesCapacidadesDe servicioDe servicio
SCSSCSServidor 1Servidor 1
HLR, CSEHLR, CSECapacidadesCapacidadesportadorasportadoras
ServidoresServidoresSAT, MEXESAT, MEXElocalizaciónlocalización
Aplicaciones/clientesInterfaz OSA
Funcionalidades deCapacidades de servicio
Capacidades de serviciopredefinidos
UMTS, núcleo red
Servicios Móviles MultimediaJuan C. Dueñas
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)
Servicios Móviles MultimediaJuan C. Dueñas
ASPASP
GSM/GPRS
BTS
Internet
Internet Gateway
WAP/Internet
Directorio
Servidor de Aplicaciones
Firewall
Firewall
IntranetsIntranets
SMSCRedesAcces
o
RedesAcces
o
IEE802.11b
Bluetooth
Entorno de despliegue
Servicios Móviles MultimediaJuan C. Dueñas
Entornos de aplicación
Servicios Móviles MultimediaJuan C. Dueñas
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
Servicios Móviles MultimediaJuan C. Dueñas
Contenidos
1. Servicios móviles2. Arquitectura de servidoresArquitectura de servidores3. Arquitectura de clientes4. Proceso de desarrollo5. Método y herramientas
Servicios Móviles MultimediaJuan C. Dueñas
Arquitecturas
Arquitectura cliente-servidorMiddleware: 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.
Servicios Móviles MultimediaJuan C. Dueñas
Arquitectura en capas
Servicios Móviles MultimediaJuan C. Dueñas
Servidor de aplicaciones
ConcurrenciaConcurrencia
PersistenciaPersistencia
Servicio de Servicio de nombresnombres
TransaccionesTransacciones
Distribución Distribución de objetosde objetos
Mensajería Mensajería asíncronaasíncrona
Servicios Móviles MultimediaJuan C. Dueñas
Arquitectura servidor de aplicaciones
Servlet APIServlet API JSP APIJSP API
Java XMLJava XML ......
Integración de Sistemas
Integración de Sistemas
Contenedor de lógica de Aplicación
Servicios Móviles MultimediaJuan C. Dueñas
Arquitectura servidor de aplicaciones
lógica de Presentación
lógica de Presentación
Integración de Sistemas
Integración de Sistemas
ContenedorEJB
ContenedorEJB
JND
IJN
DI
JMS
JMS
Java M
ail
Java M
ail
JTS
JTS
RM
I/IIO
PR
MI/
IIO
P
JavaID
LJa
vaID
L
JDB
CJD
BC
Balanceo, Mgmt, Tolerancia a Fallos, ...Balanceo, Mgmt, Tolerancia a Fallos, ...J2
EE
Servicios Móviles MultimediaJuan C. Dueñas
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
Servicios Móviles MultimediaJuan C. Dueñas
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
Servicios Móviles MultimediaJuan C. Dueñas
Tecnologías WS
WEB Service
Servidor SOAP
Registro UDDI(from Tecnología UDDI)
Plataforma de WEB Services
1..*
1
1..*
1
1..*
1
1..*
1
0..*
1
0..*
1
Tecnologia WS
XML
SOAP(from Tecnología SOAP)
UDDI(from Tecnología UDDI)
WSDL(from Tecnología WSDL)
0..10..1
Servicios Móviles MultimediaJuan C. Dueñas
Servicios WEB
WSImpl
HTTP
SMTP
Tipo de datos
Ubicación(URL)
Primitiva
WSDL(from Tecnología WSDL)
Servicio WEB
0..*0..*
1..*1..*
<<especifica>>
+describe
Protocolo
MIME
XML
SOAP(from Tecnología SOAP)
Servicios Móviles MultimediaJuan C. Dueñas
Documento WSDL
Contenedor del servicio. NameSpaces globales ...
Jerarquizació...
Definición de tip...
Provee un identifi...
El orden en el q...
SOAPbinding
HTTPbinding
MIMEbinding
Fault(from Tecnología SOAP)
outputm : message
inputm : message
schema partoperation
name
0..10..10..10..1
Documento
import types
1..*1..*
messagename
1..*1..*<referencia
portTypename
definitions
11
0..*0..* 0..*0..* 1..*1..*
documentation
binding
service
0..10..1
addressport1..*1..*
Servicios Móviles MultimediaJuan C. Dueñas
Contenidos
1. Servicios móviles2. Arquitectura de servidores3. Arquitectura de clientesArquitectura de clientes4. Proceso de desarrollo5. Método y herramientas
Servicios Móviles MultimediaJuan C. Dueñas
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
Servicios Móviles MultimediaJuan C. Dueñas
Arquitecturas de cliente
Basado en navegadorBasado 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 terminalBasado 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
Servicios Móviles MultimediaJuan C. Dueñas
Ciclo de vida aplicaciones móviles
Serviciopush
Serviciode
descubrimiento
Serviciode
entrega
Variabilidaddel
dispositivo
Actualización Tarificación Instalación
Carga yuso
Eliminación
Servicios Móviles MultimediaJuan C. Dueñas
Configuraciones y perfiles
Clases de Extensión
Perfil
1 *1 *
Hardwareprocesadormemoria
Clases Núcleo
Configuracion1
*
1
*
1
*
1
*
Sistema Operativo
instalado en
VM
se ejecuta sobre
Servicios Móviles MultimediaJuan C. Dueñas
Modelo de provisionamiento pull
Navegador
Página inicial
Elegir:- Tetris- Ajedrez
1. El usuario solicita la
página inicial
2. Navega hasta el índice
ArchivoJAD
3. Elige una aplicación
4. Envío del JAD al navegador
AppManager
5. Se pasa el JAD al AppMager
ArchivoJAR
7. Petición del JAR
8. El servidor envía el JAR
6. ¿Instalar?
9. Confirmación de estado de la instalación
Servicios Móviles MultimediaJuan C. Dueñas
Ciclo de vida MIDlet
Activo
Pausa
Eliminado
Reposo
: Servidor : Usuario : AMS
: MIDlet
petición JAD
archivo JAD
aceptación
descarga JAR
ejecución
constructor()
startApp()
eliminar aplicacióndestroyApp()
pauseApp()
notifyPaused()
resumeRequest()
startApp()
instalación
Servicios Móviles MultimediaJuan C. Dueñas
Contenidos
1. Servicios móviles2. Arquitectura de servidores3. Arquitectura de clientes4. Proceso de desarrolloProceso de desarrollo5. Método y herramientas
Servicios Móviles MultimediaJuan C. Dueñas
Ciclo de desarrollo en cascada
Requirementsdefinition
System andsoftware design
Implementationand unit testing
Integration andsystem testing
Operation andmaintenance
Servicios Móviles MultimediaJuan C. Dueñas
25%
18%
12%
45%
AnálisisDiseñoCodificPruebas
Coste relativo de las etapas
Servicios Móviles MultimediaJuan C. Dueñas
Desarrollo incremental
Valida teincrement
Develop systemincrement
Design systemarchitecture
Integrateincrement
Valida tesystem
Define outline requirements
Assign requirements to increments
System incomplete
Finalsystem
Servicios Móviles MultimediaJuan C. Dueñas
Extreme Programming
Método ágil de desarrolloAumento de calidad: pruebasAceleración del desarrolloUsado en el desarrollo de sistemas
InternetElimina burocraciaExige personal expertoFomenta la comunicación
Servicios Móviles MultimediaJuan C. Dueñas
Proceso Software XP
Servicios Móviles MultimediaJuan C. Dueñas
Proceso software XP
Servicios Móviles MultimediaJuan C. Dueñas
Contenidos
1. Servicios móviles2. Arquitectura de clientes3. Arquitectura de servidores4. Proceso de desarrollo5. Método y herramientasMétodo y herramientas
Servicios Móviles MultimediaJuan C. Dueñas
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
Servicios Móviles MultimediaJuan C. Dueñas
Desarrollo de aplicaciones-servidor
UML ModelUML Model
Commercial IDECommercial IDE
EditingEditing
DebuggingDebugging
DeploymentDeployment
App ServerApp Server
ExecutionEnvironment
ExecutionEnvironment
DebuggingDebugging
DeploymentDeployment
JavasourceJava
source
Javabyte code
JAR/WAR
Javabyte code
JAR/WAR
IBM VisualAge Inprise JbuilderSun ForteEclipse
IBM VisualAge Inprise JbuilderSun ForteEclipse
IBM WebSphere Inprise App ServerBEA WeblogiciPlanetJakarta Tomcat
IBM WebSphere Inprise App ServerBEA WeblogiciPlanetJakarta Tomcat
Rational Rose
Poseidon for UML
Together
Rational Rose
Poseidon for UML
Together
Servicios Móviles MultimediaJuan C. Dueñas
Aspecto de las herramientas CASE
Servicios Móviles MultimediaJuan C. Dueñas
Diseño de aplicaciones-servidor
División en tres nivelesRespuesta a cargaFiabilidad y tolerancia a fallosPatrones de diseñoDiseño de la navegación
• Roles, entradas, proceso, salidas, mecanismos de navegación, ayudas a navegación
Diseño de la interfaz gráfica
Servicios Móviles MultimediaJuan C. Dueñas
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
Servicios Móviles MultimediaJuan C. Dueñas
Modelos de componentes
EJB CCM .NET
Granularidad Enterprise Bean
Container
Component
Container
Component
Module
Tipo de componentes
Entity
Session
Message driver
Services
Session
Entity
Process
Component
Interfaces Business
Life cycle
Facets
Receptacles
Event sources
Event sinks
Attributes
Methods
Events
Interfaces
Servicios Móviles MultimediaJuan C. Dueñas
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
Servicios Móviles MultimediaJuan C. Dueñas
Implementación de aplicaciones cliente
Compilación, preverificación, depuraciónEmpaquetamientoProvisionamiento (OTA)Ajuste de rendimientoMonitorización de memoria y red
Servicios Móviles MultimediaJuan C. Dueñas
Entorno de desarrollo
Herramientas
Perspectivas,vistas rápidas
Vista denavegaciónde recursos
Vistas apiladas
Menú
Área demensajes
Estado deleditor
Editorde texto
Vista depropiedades
Vista de tareas
Vistageneral
Vista demarcadores
Servicios Móviles MultimediaJuan C. Dueñas
Emulación de funcionalidad-cliente
Servicios Móviles MultimediaJuan C. Dueñas
Emulación de rendimiento-cliente
Servicios Móviles MultimediaJuan C. Dueñas
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
Servicios Móviles MultimediaJuan C. Dueñas
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
Servicios Móviles MultimediaJuan C. Dueñas
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
Servicios Móviles MultimediaJuan C. Dueñas
Pruebas de servidor
Efectos en el rendimientoServidor 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)
Servicios Móviles MultimediaJuan C. Dueñas
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
Servicios Móviles MultimediaJuan C. Dueñas
Recommended