servidores de aplicacion

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: compufix-soluciones-integrales

Post on 14-Jun-2015

6.799 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Servidores De Aplicacion

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

Page 2: Servidores De Aplicacion

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

Page 3: Servidores De Aplicacion

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

Page 4: Servidores De Aplicacion

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.

Page 5: Servidores De Aplicacion

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

Page 6: Servidores De Aplicacion

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.

Page 7: Servidores De Aplicacion

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

Page 8: Servidores De Aplicacion

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)

Page 9: Servidores De Aplicacion

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

Page 10: Servidores De Aplicacion

Servicios Móviles MultimediaJuan C. Dueñas

Entornos de aplicación

Page 11: Servidores De Aplicacion

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

Page 12: Servidores De Aplicacion

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

Page 13: Servidores De Aplicacion

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.

Page 14: Servidores De Aplicacion

Servicios Móviles MultimediaJuan C. Dueñas

Arquitectura en capas

Page 15: Servidores De Aplicacion

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

Page 16: Servidores De Aplicacion

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

Page 17: Servidores De Aplicacion

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

Page 18: Servidores De Aplicacion

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

Page 19: Servidores De Aplicacion

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

Page 20: Servidores De Aplicacion

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

Page 21: Servidores De Aplicacion

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)

Page 22: Servidores De Aplicacion

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..*

Page 23: Servidores De Aplicacion

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

Page 24: Servidores De Aplicacion

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

Page 25: Servidores De Aplicacion

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

Page 26: Servidores De Aplicacion

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

Page 27: Servidores De Aplicacion

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

Page 28: Servidores De Aplicacion

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

Page 29: Servidores De Aplicacion

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

Page 30: Servidores De Aplicacion

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

Page 31: Servidores De Aplicacion

Servicios Móviles MultimediaJuan C. Dueñas

Ciclo de desarrollo en cascada

Requirementsdefinition

System andsoftware design

Implementationand unit testing

Integration andsystem testing

Operation andmaintenance

Page 32: Servidores De Aplicacion

Servicios Móviles MultimediaJuan C. Dueñas

25%

18%

12%

45%

AnálisisDiseñoCodificPruebas

Coste relativo de las etapas

Page 33: Servidores De Aplicacion

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

Page 34: Servidores De Aplicacion

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

Page 35: Servidores De Aplicacion

Servicios Móviles MultimediaJuan C. Dueñas

Proceso Software XP

Page 36: Servidores De Aplicacion

Servicios Móviles MultimediaJuan C. Dueñas

Proceso software XP

Page 37: Servidores De Aplicacion

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

Page 38: Servidores De Aplicacion

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

Page 39: Servidores De Aplicacion

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

Page 40: Servidores De Aplicacion

Servicios Móviles MultimediaJuan C. Dueñas

Aspecto de las herramientas CASE

Page 41: Servidores De Aplicacion

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

Page 42: Servidores De Aplicacion

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

Page 43: Servidores De Aplicacion

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

Page 44: Servidores De Aplicacion

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

Page 45: Servidores De Aplicacion

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

Page 46: Servidores De Aplicacion

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

Page 47: Servidores De Aplicacion

Servicios Móviles MultimediaJuan C. Dueñas

Emulación de funcionalidad-cliente

Page 48: Servidores De Aplicacion

Servicios Móviles MultimediaJuan C. Dueñas

Emulación de rendimiento-cliente

Page 49: Servidores De Aplicacion

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

Page 50: Servidores De Aplicacion

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

Page 51: Servidores De Aplicacion

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

Page 52: Servidores De Aplicacion

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)

Page 53: Servidores De Aplicacion

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

Page 54: Servidores De Aplicacion

Servicios Móviles MultimediaJuan C. Dueñas