- 1. Juan C. Dueas Profesor Titular Departamento de Ingeniera de
Sistemas Telemticos UPM, ETSIT Desarrollo gil de servicios
mviles
2. Contenidos
- 2. Arquitectura de servidores
- 3. Arquitectura de clientes
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
-
- Permite que las aplicaciones usen las capacidades de red de
forma normalizada
-
- Permite desarrollo de aplicaciones por terceros
-
- Permite aadir capacidades de red
-
- Autentificacin, autorizacin, registro, consulta de capacidades
de servicio, notificacin
-
- 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
-
- 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
12. Contenidos
- 2.Arquitectura de servidores
- 3. Arquitectura de clientes
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
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 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
-
- 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
-
- Comunicacin basada en mensajes:
-
- Intercambio de documentos XML
-
- Independencia con respecto a protocolo de transporte
20. Tecnologas WS 21. Servicios WEB 22. Documento WSDL 23.
Contenidos
- 2. Arquitectura de servidores
- 3.Arquitectura de clientes
24. Software de terminales
-
- Soporte a la concurrencia
-
- Integracin de comunicaciones-qos, servicios
-
- Rango de dispositivos sobre los que acta
25. Arquitecturas de cliente
- Sin acceso directo a display/sonido
- 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
- 2. Arquitectura de servidores
- 3. Arquitectura de clientes
31. Ciclo de desarrollo en cascada 32. Coste relativo de las
etapas 33. Desarrollo incremental 34. Extreme Programming
- Aumento de calidad: pruebas
- Aceleracin del desarrollo
- Usado en el desarrollo de sistemas Internet
35. Proceso Software XP 36. Proceso software XP 37.
Contenidos
- 2. Arquitectura de clientes
- 3. Arquitectura de servidores
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
- Fiabilidad y tolerancia a fallos
-
- Roles, entradas, proceso, salidas, mecanismos de navegacin,
ayudas a navegacin
- Diseo de la interfaz grfica
42. Componente software
-
- con interfaces especificados por contrato
-
- y dependencias explcitas del contexto
- 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
44. Diseo de aplicaciones-cliente
- Efectos de las interrupciones: soporte a la concurrencia
- Latencia: agrupacin de mensajes
- Robustez: mecanismos sencillos y seguros (generales)
- Eficiencia: pocas transacciones, pocos datos, poca red (HTTP1.1
sobre 1.0), compresin
- Buffering para los grficos
- Rendimiento percibido: usuario informado y con mando
45. Implementacin de aplicaciones cliente
- Compilacin, preverificacin, depuracin
- 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
-
- Rango de dispositivos y servidores y redes
-
- Entorno final no disponible (emuladores)
-
- Carga, rendimiento, fiabilidad, etc
50. Pruebas de usabilidad
- Probar en varios dispositivos-emuladores
- Guas de estilo y usabilidad-accesibilidad
- Navegabilidad/rendimiento
-
- Tamao de textos y diferentes pantallas
-
- Soporte a bibliotecas GUI
51. Pruebas de red
-
- Emulan diferentes condiciones de operacin de red (retardos,
interrupciones, latencia, carga de usuarios)
-
- Interaccin bidireccional aplicacin-red
-
-
- Interrupciones de red con diferente tiempo y sitio
-
-
- Ancho de banda con variaciones fuertes
52. Pruebas de servidor
- Efectos en el rendimiento
-
- 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.