Slideshare.net (beta)

 
Post To TwitterPost to Twitter
Post: 
Myspace Hi5 Friendster Xanga LiveJournal Facebook Blogger Tagged Typepad Freewebs BlackPlanet gigya icons

All comments

Add a comment on Slide 1

If you have a SlideShare account, login to comment; else you can comment as a guest


Showing 1-50 of 0 (more)

Servidores De Aplicacion

From javier.luna, 3 months ago

395 views  |  0 comments  |  0 favorites  |  11 downloads
 

Categories

Add Category
 
 

Tags

redes

 
 

Groups / Events

 

 
Embed
options

More Info

This slideshow is Public
Total Views: 395
on Slideshare: 395
from embeds: 0

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  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 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