SlideShare uma empresa Scribd logo
1 de 169
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],ARQUITECTURAS DE SOFTWARE
Estilos que definen la Arquitectura  ,[object Object],[object Object],[object Object],[object Object],[object Object]
Estilo - Cliente/Servidor ,[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],Client Server Interface Estilo - Cliente/Servidor
[object Object],[object Object],[object Object],[object Object],Modelo - Cliente/Servidor
Cliente/Servidor Dos Capas Maquina Cliente (UNIX, Windows, Linux,...) Servidor de Base de Datos
Estilo - Cliente/Servidor ,[object Object],[object Object]
[object Object],Modelo - Cliente/Servidor 3 Capas
Interface GUI Servidor  de  datos Servidor de  transacciones Interface Capa datos Capa lógica Capa presentación Modelo - Cliente/Servidor 3 Capas
[object Object],[object Object],[object Object],Modelo - Cliente/Servidor 3 Capas
[object Object],[object Object],[object Object],Modelo - Cliente/Servidor 3 Capas
Cliente/Servidor Tres capas Maquina Cliente (UNIX, Windows, ...) Maquina Servidor Servidor de Base de Datos
Estilo - Cliente/Servidor ,[object Object],[object Object]
Arquitectura Web n-capas BDD Server Applications TCP/IP, HTTP, HTTPS, Socket, Objetos Distribuidos, CORBA, ORBA Capa de Funcionalidades de la Aplicación (2) Repositorio (3) ODBC, JDBC CONECTORES: Proxy n-Capas (4+) Server Applications Server Applications BDD cliente 1 cliente 2 cliente n Capa de Presentación (1) SQL Net
Enfoque Re-Arquitectura ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Programas de análisis Aplicaciones y programas modificados Reportes y Análisis M i d d l e w a r e Bases de datos
EJEMPLO BSC ,[object Object],[object Object],[object Object],Patrones para Manejo de Eventos:   Proactor , The asynchronous Completion Token Patrones de Sincronización  :  Scope Locking C++, Strategized locking Patrones de Concurrencia  :  Active Object, Half Async BDD Server Applications cliente 1 cliente 2 cliente n Capa de Presentación (1) Capa de Funcionalidades de la Aplicación (2) Multi-DB SQL Net Proxy Server Applications Server Applications BDD
Calidad de Software ,[object Object],[object Object]
Calidad de Software  Modelo de Calidad ISO/IEC 9126-1 , 25010, 25030.   ,[object Object]
Calidad de Software  (Modelo de Calidad ISO-9126-1) ,[object Object],[object Object]
[object Object],[object Object],Calidad de Software
CALIDAD DEL PROCESO CALIDAD INTERNA CALIDAD EXTERNA CALIDAD EN USO INFLUENCIA INFLUENCIA INFLUENCIA DEPENDE DEPENDE DEPENDE MEDIDAS DE PROCESO MEDIDAS  INTERNAS MEDIDAS EXTERNAS MEDIDAS DE CALIDAD EN USO PROCESO PRODUCTO DE SOFTWARE EFECTOS DEL PRODUCTO DE SOFTWARE CONTEXTOS DE USO ENFOQUES DE CALIDAD ISO 9126 (1998) )
[object Object],[object Object],[object Object],Calidad de Software
Calidad de Software Atributos observables en Tiempo de Ejecución (Runtime) ,[object Object],[object Object],[object Object],[object Object],[object Object]
Calidad de Software Atributos observables en Tiempo de Ejecución (Runtime) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Calidad de Software Atributos observables en Tiempo de Ejecución (Runtime) ,[object Object],[object Object],[object Object]
Calidad de Software Atributos observables en Tiempo de Ejecución (Runtime) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Calidad de Software Atributos No observables en Tiempo de Ejecución (N-Runtime) ,[object Object],[object Object],[object Object],[object Object]
Calidad de Software Atributos No observables en Tiempo de Ejecución (Runtime) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Calidad de Software Atributos No observables en Tiempo de Ejecución (Runtime) ,[object Object],[object Object],[object Object],[object Object]
Calidad de Software Atributos No observables en Tiempo de Ejecución (Runtime) ,[object Object],[object Object],[object Object],[object Object]
Calidad de Software Atributos No observables en Tiempo de Ejecución (Runtime) ,[object Object],[object Object],[object Object],[object Object]
Modelo de Calidad del software Eficiencia Confiabilidad Usabilidad Mantenibilidad Portabilidad Funcionalidad - Convenienza - Correctitud - Interoperativ. - Seguridad - Conformidad - Madurez - Tol. Fallas - Recuperab. -Conformidad - Entendibilidad - Aprendibilidad - Operatividad - Atracción - Conformidad -  Comporta- miento en tiempo -  Uso de  recursos -  Conformidad Modelo de calidad según ISO 9126  (Calidad externa e interna) - Analizabilidad - Flexibilidad a  cambios - Estabilidad - Prueba - Conformidad - Adaptabilidad - Inestabilidad - Co-existencia - Reemplaza- bilidad - Conformidad
[object Object],[object Object],[object Object],Limitaciones del modelo de calidad de ISO 9126-1
[object Object],[object Object],[object Object],Requisitos No Funcionales   APLICACIONES MOVILES
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Requisitos No Funcionales   APLICACIONES MOVILES
RequisitosArquitecturales Tabla 3. Requisitos no funcionales , propiedad de calidad y solución arquitectural.   -Medida de complejidad  -Boolean -Boolean Middleware  incluyendo   MEDIATOR Maintainability  (changeability) Propiedad cuantitativa -Atributo: Tamaño Reliability  (consistency) propiedad cualitativa  - Atributo: presencia de un mecanismo Portability   (adaptability) propiedad cualitativa  - Atributo: presencia de un mecanismo Reconfiguracion Dinámica de Interfaces Boolean Middleware   incluyendo   MEDIATOR Reliability  (availability ) Propiedad cualitativa -Atributo: presencia de un mecanismo, en este caso el  middleware  soportado por  el patrón agente  MEDIATOR  Solución centralizada, donde la interfaz del dispositivo es distribuida por el  middleware  de la aplicación a través de la red. -Medida de complejidad , es decir numero de componentes dinámicos en un periodo de tiempo -Medida de complejidad Reflection [28] Mecanismo para observar el estado de un componente para permitir cambios dinámicos en la estructura y desempeño  -Maintainability   ( changeability)  Extensibilidad  del ambiente de ejecución; propiedad cuantitativa -Atributo: Tamaño  -Portability  (replaceability) Propiedad cuantitativa  -Atributo: Tamaño Comunicación flexible debe ser flexible a los requisitos de cambios y relaciones entre componentes que pueden ser estáticos y dinámicos.  Porcentaje [0..1] Protocolo de comunicación de redes, Ancho de banda. Medida durante la ejecución Efficiency  (performance )   con respecto al tiempo de respuesta y conexiones; propiedad cuantitativa -Atributo:  latency Tiempo de transmisión limitado. Tiempos de respuesta adecuados a un rango Boolean Middleware  incluyendo  MEDIATOR Reliability  (consistency)   Provee un mecanismo, es decir el manejo de la replica actualizando en cada dispositivo; propiedad cualitativa -Atributo: presencia de mecanismo Los Datos deben ser transmitidos completa, correctamente y consistentes con conexiones transientes. Porcentaje [0..1] Protocolo de comunicación de redes, Ancho de banda. Medida durante la ejecución Efficiency  (performance)  Con respecto a la utilización de recursos ; propiedad cuantitativa -Atributo: consumo de recurso para cada dispositivo  Minimización en el consumo de recursos  (baterías, almacenamiento de datos, tamaño del  display  , entre otros). MÉTRICA SOLUCIÓN ARQUITECTURAL PROPIEDAD DE CALIDAD REQUISITOS NO FUNCIONALES
Tabla 4.  Propiedades de calidad para cada funcionalidad y su solución arquitectural. Tabla 4.  Propiedades de calidad para cada funcionalidad y su solución arquitectural. - Reliability  (availability, consistency) Atributo: presencia de un mecanismo. Métrica :  Boolean Repository  [44] Compartimiento  de  Datos - Maintainability  (changeability) Atributo: Tamaño Métrica: Medida de complejidad  - Reliability  (fault-tolerance) Atributo: presencia de un mecanismo. Métrica :  Boolean -Usability (attractiveness, operability) Atributo: presencia de un mecanismo. Metrica:  Boolean WrapperFaçade [28] Encapsula funciones y datos de no orientados a objetos en APIs concisas, portables, mantenibles y robustas  interfaces  de clases  ComponentConfigurator [28]   Permite al componente reconfigurarse en tiempo de ejecución vaciando, modificando, recompilando o encadenando estáticamente la aplicación. Interceptor [28] Permite transparentemente adicionar servicios cuando ciertos eventos ocurran. Variantes :  Chain-of-responsibility, Publisher/subscriber  y  Subject/observer. Extension Interface [28] Permite exportar múltiples interfaces por un componente. El componente funcionalmente es extendido y modificado. Servicios Centrados al Usuario -  Realiability  (availability, consistency) Atributo: presencia de un mecanismo Métrica:  Boolean -  Efficiency  (performance)  con respecto al limitado espacio y al limitado tiempo de respuesta Atributo: consumo de recursos de cada dispositivo  Métrica: Porcentaje  [0..1] -  Maintainability  (changeability) Propiedad cuantitativa  Atributo :  Tamaño LocalProxy  [17] Una instancia local provee una  interfac e a un servicio local o remoto. Ejemplo :  Ejecutando   localmente  un  web proxy PushObject  [17] Un dispositivo envía un objeto específico con un requisito fuera. Ejemplos  : SMS, OBEX RequestObject  [17] Un dispositivo requiere un objeto especifico (Una pagina  web ) desde otro dispositivo. Ejemplo : WAP CannedCode  [17] Un dispositivo envía código, el cual es ejecutado sobre otro dispositivo. El código no debe ser ejecutado sobre el dispositivo que envió. Ejemplo :  WMLscript, web filters Manejo de Datos PROPIEDADES DE CALIDAD (INTERNA/EXTERNA) SOLUCION  ARQUITECTURAL REQUISITOS FUNCIONALES
Requisitos No Funcionales   APLICACIONES MOVILES Confiabilidad  (confiability) -Disponibilidad (availability) 1. Garantizar la disponibilidad del servicio al conectarse. ,[object Object],Funcionalidad (Functionality) -Adecuada(Suitability) Usabilidad  (usability) -Operabilidad (operability) 1. Ofrecer funcionalidades que respondan a las necesidades de los usuarios. 2. Facilidad en la selección de los servicios  ofrecidos. ,[object Object],Confiabilidad  (confiability) -Disponibilidad (Availability) Eficiencia  (eficiency) -Comportamiento del tiempo (Time Behaviour)  con respecto al tiempo de respuesta y a las  conexiones. 1. Hacer posible los servicios, lo cual implica, ancho de banda apropiado y garantizar las conexiones móviles,  teniéndose que solventar problemas de redes. 2. Tiempo de transmisión apropiado. Tiempos de respuesta adecuados dentro de un rango establecido . ,[object Object],Portabilidad  (Portability) -Adaptabilidad (adaptability) 1. Las funcionalidades deben adaptarse a las características de los Dispositivos. ,[object Object],Procesamiento Funcionalidad  (Functionality) - Conformidad (Compliance) 1. Cumplir con estándares, normativas   con el fin de garantizar el servicio requerido. ,[object Object],Políticas Propiedades de Calidad asociadas a los requisitos no funcionales (Características de Calidad) ISO/IEC 9126-1 [15] Requisitos no funcionales  derivados de las reglas del negocio. Reglas del negocio asociadas al Dominio
Requisitos Funcionales   APLICACIONES MOVILES Confiabilidad  (Confiability) -Disponibilidad (Availability) Funcionalidad  (Functionality) -Interoperabilidad (Interoperability) Compartir Datos: Los dispositivos móviles formarán una red  ad-hoc  que se conecta entre ellos para intercambiar la información y para proporcionar los servicios a los usuarios.  Usabilidad  (Usability) -Atractivo (Atractiveness) - Operabilidad (Operability) Servicios de administración: (defecto, configuración, Bitácora, ejecución y seguridad) Portabilidad  (Portability) -Conformidad (compliance) -Escalabilidad (Scalability) Funcionalidad  (Functionability) -Seguridad (Security) Servicios de comunicación:  comunicación entre usuarios,  transporte de información y establecimiento de conexiones.  Usabilidad  (Usability) -Atractivo (atractiveness) -Operabilidad (Operability) Portabilidad  (Portability) -Adaptabilidad (adaptability) -Escalabilidad (Scalability) Servicios de información: gestiona información al usuario. Confiabilidad  (confiability) -Disponibilidad (availability) Con respecto a lo limitado  del recurso de espacio) Eficiencia  (Efficiency) -Comportamiento  del tiempo (Behaviour time) (con respecto  al  tiempo de respuesta limitado). Funcionalidad  (Functionality) - Precisión (accurancy) En el estándar QoS ISO [17],  la integridad esta  relacionada  con acurrancy.  Manejar Datos: Los datos deben ser transmitidos completa y correctamente. Propiedades de calidad asociadas (Características  de calidad ) ISO/IEC 9126-1  [15] Requisitos  Funcionales
Topología de aplicaciones WEB. Caso De Estudio Desde un web browser, un usuario indica un URL.  Este es un  request  a un server remoto sobre el p rotocolo HTTP. Internet es… … un mecanismo  Request/Response . Workstation Server Web Pages HTTP protocol www.url.com HTML Request   Response El server remoto procesa el request y envia un  HTML  response  que es recibido por el browser y presentado al usuario como una pagina WEB.
Arquitectura para Web   Cliente y Usuario Final Proveedores de Contexto Proveedores de Servicios While World Desarrollo Organizacional Proveedores de Software Ambiente Técnico Heterogéneo Computación Distribuida WWW Experiencia en Arquitecturas Internet y Hipertexto WWW Requerimientos (Calidad) Acceso Remoto Interoperatibilidad Extensibilidad (de software y datos) Escalabilidad Upward Compatibility Architect(s) WWW Consortium Arquitectura libWWW Jigsaw Cliente/Servidor Sistema WWW Influencias de la Arquitectura
Topología - 1era. Generación Zona Abierta Cliente Conversor  de datos Internet IP No seguro ,[object Object],[object Object],[object Object],[object Object],Páginas Estáticas
Topología - 1ra. Generación ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Topología - 2da. Generación ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Topología - 2da. Generación Zona Abierta Cliente Internet IP No seguro ,[object Object],[object Object],[object Object],[object Object],[object Object],Páginas Estáticas Mundo Exterior Red Interna Cookie Aplicación Aplicación Aplicación Aplicación Servidor de BD
Topología - 3era. Generación ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Topología - 3era. Generación ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Topología - 3era. Generación ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Topología - 3era. Generación ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Topología - 3era. Generación Zona Abierta Mundo Exterior Red Interna Cliente Internet IP seguro y No seguro Páginas Estáticas Cookie Directorio Seguridad Sistemas de Gestión Cortafuegos Ligero Nodo de  Integración Aplicación Aplicación Aplicación Nodo de Gestión y Creación de contenidos Cortafuegos del dominio Servidor  de BD ,[object Object],[object Object],[object Object],[object Object],[object Object]
Estilos que definen la Arquitectura WEB ,[object Object],[object Object],[object Object],[object Object],[object Object]
Estilo – Sistemas Distribuidos ,[object Object],requests service returns result Dispatcher locationMap registerService unregisterService locateServer establishChannel getChannel  requests connection receiveRequest registers accepts link establishes connection Client doTask sendRequest Server acceptConnecting runService
Estilo – Sistemas Distribuidos   ,[object Object],Registry (Broker) Objetos distribuidos Client-side WWW browser (Client) Object server Other WWW servers WWW server RMI URL URL RMI RMI URL Server-side
Estilo - Cliente/Servidor ,[object Object],[object Object],[object Object],[object Object],[object Object]
Arquitectura Web n-capas BDD Server Applications TCP/IP, HTTP, HTTPS, Socket, Objetos Distribuidos, CORBA, ORBA Capa de Funcionalidades de la Aplicación (2) Repositorio (3) ODBC, JDBC CONECTORES: Proxy n-Capas (4+) Server Applications Server Applications BDD cliente 1 cliente 2 cliente n Capa de Presentación (1) SQL Net
EJEMPLO BSC ,[object Object],[object Object],[object Object],Patrones para Manejo de Eventos:   Proactor , The asynchronous Completion Token Patrones de Sincronización  :  Scope Locking C++, Strategized locking Patrones de Concurrencia  :  Active Object, Half Async BDD Server Applications cliente 1 cliente 2 cliente n Capa de Presentación (1) Capa de Funcionalidades de la Aplicación (2) Multi-DB SQL Net Proxy Server Applications Server Applications BDD
Tecnología en el Servidor ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Tecnología en el Cliente
Atributos presentes en la Arquitectura WEB ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Calidad de Software en WEB (Modelo de Calidad ISO-9126-1) ,[object Object],[object Object]
Calidad de Software en WEB (Modelo de Calidad ISO-9126-1) ,[object Object]
Calidad de Software Atributos observables en Tiempo de Ejecución (Runtime) ,[object Object],[object Object],[object Object],[object Object],[object Object]
Calidad de Software Atributos observables en Tiempo de Ejecución (Runtime) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Calidad de Software Atributos observables en Tiempo de Ejecución (Runtime) ,[object Object],[object Object],[object Object],[object Object],[object Object]
Calidad de Software Atributos observables en Tiempo de Ejecución (Runtime) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Calidad de Software Atributos observables en Tiempo de Ejecución (Runtime) ,[object Object],[object Object],[object Object],[object Object],[object Object]
Calidad de Software Atributos No observables en Tiempo de Ejecución (N-Runtime) ,[object Object],[object Object],[object Object],[object Object]
Calidad de Software Atributos No observables en Tiempo de Ejecución (Runtime) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Calidad de Software Atributos No observables en Tiempo de Ejecución (Runtime) ,[object Object],[object Object],[object Object],[object Object]
Calidad de Software Atributos No observables en Tiempo de Ejecución (Runtime) ,[object Object],[object Object],[object Object],[object Object]
Calidad de Software Atributos No observables en Tiempo de Ejecución (Runtime) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Calidad de Software en WEB (Modelo de Calidad ISO-9126-1) ,[object Object],[object Object],[object Object],[object Object]
Calidad de Software en WEB (Modelo de Calidad ISO-9126-1) ,[object Object],[object Object],[object Object],[object Object]
Calidad de Software en WEB (Modelo de Calidad ISO-9126-1) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Calidad de Software en WEB (Modelo de Calidad ISO-9126-1) ,[object Object],[object Object],[object Object],[object Object]
Calidad de Software en WEB (Modelo de Calidad ISO-9126-1) ,[object Object],[object Object],[object Object],[object Object]
Calidad de Software en WEB (Modelo de Calidad ISO-9126-1) ,[object Object],[object Object],[object Object],[object Object],[object Object]
Calidad de Software en WEB (Modelo de Calidad ISO-9126-1) MODELO DE CALIDAD PARA  APLICACIONES WEB: VISION EXTERNA CARACTERISTICAS  DE CALIDAD SUB-CARACTERISTICAS FUNCIONALIDAD CONVENIENCIA EXACTITUD INTEROPERABILIDAD SEGURIDAD CONFIABILIDAD MADUREZ ATRACTIVIDAD OPERATIVIDAD USABILIDAD ENTENDIBILIDAD APRENDIZAJE EFICIENCIA COMPORTAMIENTO EN EL TIEMPO UTILIZACION DE RECURSOS
Calidad de Software en WEB (Modelo de Calidad ISO-9126-1) ,[object Object],[object Object],[object Object],[object Object],[object Object]
Calidad de Software en WEB (Modelo de Calidad ISO-9126-1) ,[object Object],[object Object],[object Object]
Calidad de Software en WEB (Modelo de Calidad ISO-9126-1) ,[object Object],[object Object],[object Object],[object Object],[object Object]
Calidad de Software en WEB (Modelo de Calidad ISO-9126-1) MODELO DE CALIDAD PARA  APLICACIONES WEB: VISION INTERNA CARACTERISTICAS  DE CALIDAD SUB-CARACTERISTICAS MANTENIBILIDAD ANALIZABILIDAD CAMBIABILIDAD PORTABILIDAD ADAPTABILIDAD INSTALABILIDAD
Calidad de Software en WEB (Modelo de Calidad ISO-9126-1) ,[object Object],[object Object]
Calidad de Software en WEB (Modelo de Calidad ISO-9126-1) ,[object Object],[object Object],[object Object],[object Object]
Calidad de Software en WEB (Modelo de Calidad ISO-9126-1) ,[object Object],[object Object],[object Object],[object Object]
Calidad de Software en WEB (Modelo de Calidad ISO-9126-1)
Calidad de Software en WEB (Modelo de Calidad ISO-9126-1)
Conclusiones ,[object Object],[object Object],[object Object]
CLASES Siguen … ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Patrones de Aplicaciones  WEB Rodolfo Canelón
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],Patrones de Aplicaciones Web
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Thin Web Client  (Cliente Web Ligero)
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Thin Web Client  (Cliente Web Ligero) (Cte):  Componente  ( Ctor):  Conector
[object Object],Thin Web Client  (Cliente Web Ligero) Browser HTTP Servidor Web Servidor de Aplicaciones Páginas del Servidor Páginas HTML + Cookies + Autenticación +Gestión de Cookies Estado de Sesión + Form +Entrada de Datos + Active Server Pages + Java Servlets + ISAPI + NSAPI + CGI + Java Server Pages
Thin Web Client   (Cliente Web Ligero) ,[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],Thin Web Client   (Cliente Web Ligero) Browser HTTP Servidor Web Servidor de Aplicaciones Páginas del Servidor Páginas HTML Objetos del Negocio   Persistencia Mapping de  Persistencia   Sistema de  Contabilidad  de Mercado Interfaz de  Sistema Heredado + Active SP + Java SP  + Java Servlets + ISAPI + NSAPI + CGI + Form + Elementos de Entrada + Estado de Sesión + Autenticación + Gestión de Cookies + Cookies
Thin Web Client   (Cliente Web Ligero) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Fat Web Client  (Cliente Web Pesado) ,[object Object],[object Object],[object Object],[object Object]
Fat Web Client   (Cliente Web Pesado) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Fat Web Client   (Cliente Web Pesado)
Fat Web Client   (Cliente Web Pesado) ,[object Object],HTTP Objetos del Negocio   Persistencia Mapping de  Persistencia   Sistema de  Contabilidad  de Mercado Interfaz de  Sistema Heredado Páginas del Servidor + Active SP + Java SP  + Java Servlets + ISAPI + NSAPI + CGI Páginas HTML + Form + Elementos de Entrada Servidor de Aplicaciones + Estado de Sesión Servidor Web + Autenticación + Gestión de Cookies Browser + DOM + Cookies Documentos XML + Elemento + Atributo Control ActiveX   Applet Java   Script del  Cliente
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Fat Web Client  (Cliente Web Pesado)
Web Delivery  (Distribución Web) ,[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Web Delivery  (Distribución Web)
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Web Delivery  (Distribución Web)
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Web Delivery  (Distribución Web)
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Web Delivery  (Distribución Web)
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Web Delivery  (Distribución Web)
Web Delivery  (Distribución Web) ,[object Object],Objetos del Negocio   Persistencia Mapping de  Persistencia   Sist. Contabilidad  de Mercado Interfaz de  Sistema Heredado Páginas del Servidor Páginas HTML Servidor de  Aplicaciones Servidor Web Browser ActiveX del Servidor ActiveX del Cliente Applet Java   DCOM RMI Http, Https, CORBA IIOP Enterprise  JavaBeans
Patrones  Arquitectónicos en Web Ejemplo ,[object Object],[object Object],[object Object],Patrones para Manejo de Eventos:   Proactor , The asynchronous Completion Token Patrones de Sincronización  :  Scope Locking C++, Strategized locking Patrones de Concurrencia  :  Active Object, Half Async BDD Server Applications cliente 1 cliente 2 cliente n Capa de Presentación (1) Capa de Funcionalidades de la Aplicación (2) Multi-DB SQL Net Proxy Server Applications Server Applications BDD
Patrones  Arquitectónicos en Web ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Patrones para Acceso y Configuración de Servicio
Patrones  Arquitectónicos en Web (para Acceso y Configuración de Servicio) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Patrones  Arquitectónicos en Web (para Acceso y Configuración de Servicio) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Patrones  Arquitectónicos en Web  (para Acceso y Configuracion de Servicio) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Patrones  Arquitectónicos en Web  (para Acceso y Configuración de Servicio) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Patrones  Arquitectónicos en Web  (para Acceso y Configuración de Servicio) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Patrones  Arquitectónicos en Web  (para Acceso y Configuración de Servicio) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Patrones  Arquitectónicos en Web  (para Acceso y Configuración de Servicio) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Patrones  Arquitectónicos en Web ,[object Object],[object Object],Patrones para Manejo de Eventos
Patrones  Arquitectónicos en Web  (para Manejo de Eventos) ,[object Object],[object Object],[object Object],[object Object]
Patrones  Arquitectónicos en Web  (para Manejo de Eventos) ,[object Object],[object Object],[object Object],[object Object]
Patrones  Arquitectónicos en Web ,[object Object],[object Object],Patrones para Sincronización
Patrones  Arquitectónicos en Web  (para Sincronización) ,[object Object],[object Object],[object Object],[object Object]
Patrones  Arquitectónicos en Web  (para Sincronización) ,[object Object],[object Object],[object Object],[object Object]
Patrones  Arquitectónicos en Web ,[object Object],[object Object],[object Object],Patrones de Concurrencia
Patrones  Arquitectónicos en Web  (para Concurrencia) ,[object Object],[object Object],[object Object],[object Object],[object Object]
Patrones  Arquitectónicos en Web  (para Concurrencia) ,[object Object],[object Object],[object Object],[object Object],[object Object]
Patrones  Arquitectónicos en Web  (para Concurrencia) ,[object Object],[object Object],[object Object],[object Object],[object Object]
Las características más importantes de los ambientes móviles ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],Las características más importantes de los ambientes móviles
Nuevos requisitos que deben ser incorporados en la infraestructura ,[object Object],[object Object],[object Object]
Modelo Conceptual  APLICACIONES MOVILES Servicios Dispositivos móviles Teléfonos inteligentes Pad´s Otros Handhelp Contexto Conectividad Red Usuario Comunicación Administración Información Funciones del dispositivo Ambiente Físico Procesadores Disponibles Tiene_asociado_Un 1..* Se_Ejecutan  1..* 1..* QoS Funciones del Usuario 1..* Influye_en Ambiente del usuario Localización Perfil Iluminación Nivel de ruido Dispositivos I/O Disponibles Recursos Interacción Tiene_Asociado 1..* Tienen 1..* Usa Se_Adaptan Ambiente Computacional 1..*
Componentes de las aplicaciones Servicios y Aplicaciones   GUI /Client Side  MIDDLEWARE Seguridad ) ) ) Figura 2-5. Componentes de las aplicaciones
Componentes de las aplicaciones Servicios y Aplicaciones  GUI cliente Contexto Seguridad ) ) ) Figura 2-5. Componentes de las aplicaciones Mediator )
Requisitos No Funcionales   APLICACIONES MOVILES Confiabilidad  (confiability) -Disponibilidad (availability) 1. Garantizar la disponibilidad del servicio al conectarse. ,[object Object],Funcionalidad (Functionality) -Adecuada(Suitability) Usabilidad  (usability) -Operabilidad (operability) 1. Ofrecer funcionalidades que respondan a las necesidades de los usuarios. 2. Facilidad en la selección de los servicios  ofrecidos. ,[object Object],Confiabilidad  (confiability) -Disponibilidad (Availability) Eficiencia  (eficiency) -Comportamiento del tiempo (Time Behaviour)  con respecto al tiempo de respuesta y a las  conexiones. 1. Hacer posible los servicios, lo cual implica, ancho de banda apropiado y garantizar las conexiones móviles,  teniéndose que solventar problemas de redes. 2. Tiempo de transmisión apropiado. Tiempos de respuesta adecuados dentro de un rango establecido . ,[object Object],Portabilidad  (Portability) -Adaptabilidad (adaptability) 1. Las funcionalidades deben adaptarse a las características de los Dispositivos. ,[object Object],Procesamiento Funcionalidad  (Functionality) - Conformidad (Compliance) 1. Cumplir con estándares, normativas   con el fin de garantizar el servicio requerido. ,[object Object],Políticas Propiedades de Calidad asociadas a los requisitos no funcionales (Características de Calidad) ISO/IEC 9126-1 [15] Requisitos no funcionales  derivados de las reglas del negocio. Reglas del negocio asociadas al Dominio
Requisitos Funcionales   APLICACIONES MOVILES Confiabilidad  (Confiability) -Disponibilidad (Availability) Funcionalidad  (Functionality) -Interoperabilidad (Interoperability) Compartir Datos: Los dispositivos móviles formarán una red  ad-hoc  que se conecta entre ellos para intercambiar la información y para proporcionar los servicios a los usuarios.  Usabilidad  (Usability) -Atractivo (Atractiveness) - Operabilidad (Operability) Servicios de administración: (defecto, configuración, Bitácora, ejecución y seguridad) Portabilidad  (Portability) -Conformidad (compliance) -Escalabilidad (Scalability) Funcionalidad  (Functionability) -Seguridad (Security) Servicios de comunicación:  comunicación entre usuarios,  transporte de información y establecimiento de conexiones.  Usabilidad  (Usability) -Atractivo (atractiveness) -Operabilidad (Operability) Portabilidad  (Portability) -Adaptabilidad (adaptability) -Escalabilidad (Scalability) Servicios de información: gestiona información al usuario. Confiabilidad  (confiability) -Disponibilidad (availability) Con respecto a lo limitado  del recurso de espacio) Eficiencia  (Efficiency) -Comportamiento  del tiempo (Behaviour time) (con respecto  al  tiempo de respuesta limitado). Funcionalidad  (Functionality) - Precisión (accurancy) En el estándar QoS ISO [17],  la integridad esta  relacionada  con acurrancy.  Manejar Datos: Los datos deben ser transmitidos completa y correctamente. Propiedades de calidad asociadas (Características  de calidad ) ISO/IEC 9126-1  [15] Requisitos  Funcionales
Patrones de Interacción Móvil
Problemas en la construcción  de interfaces 1.-  Dificultad para construir software  usable   2.- Se desestima la necesidad de un grupo de desarrollo multidisciplinario  3.- Problemas de comunicación entre los miembros de un grupo multidisciplinario 4.- En la práctica no se reconoce la relevancia del usuario 5.- Falta de  integración  entre la Interacción Humano-Computador y la Ingeniería de Software.  Patrones de Interacción Móvil
Construcción de software  usable ,[object Object],Usabilidad Usuario Patrones de Interacción Móvil
Grupo multidisciplinario de desarrollo Diseñador Gráfico Psicólogo Especialistas en IHC Especialistas en el dominio Usuario ... Para el diseño de Interfaces  de Usuario se requiere un equipo que incluya al  usuario,  especialistas del dominio de la  aplicación y a especialistas de  otras disciplinas Patrones de Interacción Móvil
¿En que se basa el diseño de interfaces?   ,[object Object],[object Object],[object Object],[object Object],[object Object],Patrones de Interacción Móvil
Guías de  Diseño ,[object Object],[object Object],Patrones de Interacción Móvil
Limitaciones de los principios y lineamientos ,[object Object],[object Object],[object Object],[object Object],Patrones de Interacción Móvil
Patrón de Interacción: definición ,[object Object],Patrones de Interacción Móvil
Antecedentes ,[object Object],90’s Patrones en Computación Patrones en IHC Patrones de Interacción Móvil
[object Object],[object Object],[object Object],[object Object],[object Object],Patrones de  Diseño   Un  patrón  de interfaz sirve para: Patrones de Interacción Móvil
Para qué usar patrones? ,[object Object],[object Object],[object Object],[object Object],Patrones de Interacción Móvil
Estructura de un Patrón de  Interfaz Patrones de Interacción Móvil
Ejemplo de un Patrón de Interacción Patrones de Interacción Móvil   Nombre Formatos de datos de fechas  Martijn van Welie Problema El usuario desea introducir datos de fechas y no desea preocuparse por la sintaxis del dato Solución Permitir que el usuario elija la fecha de un calendario tal como se encuentra en el mundo real y que solo realice selección –el usuario no tipea. Contexto Todos los sistemas que requieran que el usuario introduzca fechas (importante en interfaces internacionales)  Fuerzas -     - Los datos de fechas tienen múltiples sintaxis -     Principio  Usabilidad - Guiar al usuario y prevenir errores - Convenciones culturales determinan la  sintaxis esperada Ejemplo
Patrones de Interacción Móvil ,[object Object],[object Object],[object Object],[object Object],¿El Cómo? y la Forma de Interacción de los Usuarios con dispositivos móviles de manera reciproca Diferentes dispositivos Implica Aunado Influencia altamente Diferentes usuarios Diferentes Dispositivos Visualizar la Problemática considerando varias áreas Patrones de Interacción Móvil
EL PROBLEMA – Áreas del Problema   ,[object Object],[object Object],[object Object],[object Object],[object Object],Patrones de Interacción Móvil
EL PROBLEMA – Patrones de Diseño Con frecuencia un diseñador se enfoca sobre un área específica del problema, descuidando otras Fallas completas en el Diseño ,[object Object],Áreas del Problema Patrones de Diseño Aunado Pudiese causar Posible Solución Patrones de Interacción Móvil
Patrones de Diseño Los patrones se derivan del diseño de software exitoso y que pueden ser reutilizados como bloques de construcción para nuevos diseños . Patrones Móviles   Los patrones móviles cubren áreas del problema que los autores  encontraron frecuentemente en los escenarios móviles   Los patrones móviles relacionados  pueden agruparse en patrones de clases, utilizando una  Jerarquía de Patrones. Patrones de Interacción Móvil
Jerarquía de Patrones Patrones de Interacción Móvil
Jerarquía de Patrones Los patrones móviles  no solo son aplicables en los escenarios móviles  Los patrones de diseño que aparecen frecuentemente en escenarios móviles son buenos candidatos para nuevos proyectos Patrones de Interacción Móvil
Descripción de Patrones de Diseño Móviles Para describir los patrones de diseño móviles se utiliza el esquema de descripción de Patrones utilizados por Gamma. ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Patrones de Interacción Móvil
Estructura de un Patrón Móvil Patrones de Interacción Móvil
Proxy ,[object Object],[object Object],[object Object],[object Object],Patrones de Interacción Móvil
Proxy -  Patrón Móvil de Interacción Patrones de Interacción Móvil   ,[object Object],[object Object],[object Object],[object Object],Considere un usuario en un browser Web con un dispositivo handhelp. La resolución de la pantalla del dispositivo es actualmente pobre entonces elementos como gráficos y tablas son dificultosos de mostrar.  Un dispositivo no tiene la capacidad de ejecutar una tarea requerida. Este conecta a otro dispositivo con un alto poder computacional  el cual actúa como un delegado. SINOPSIS CONTEXTO FUERZAS
Proxy -  Patrón Móvil de Interacción Patrones de Interacción Móvil   ,[object Object],[object Object],[object Object],[object Object],[object Object],SOLUCION
Proxy -  Patrón Móvil de Interacción Patrones de Interacción Móvil   ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],CONSECUENCIAS
Proxy -  Patrón Móvil de Interacción Patrones de Interacción Móvil   ServiceUsage, MobileService CLASES PushObject, RequestObject PATRONES RELACIONADOS ProxyWeb (  http://www.intellisync.com ) permite a usuarios handhelp usar browser sin forzar las limitaciones. El proxy preprocesa las paginas , descarga las imágenes y pre calcula el layout apropiado. Como resultado la cantidad de datos transferidos al dispositivo es reducido drásticamente. PocketDreamTeam es la versión PalmOS.  EJEMPLOS
Proxy - Estructura Patrones de Interacción Móvil   Client …… . ... Real Subject ...
Editor de documentos (Ej.) DocumentEditor Graphic ImageProxy Image Draw() GetExtend() Store() Load() Draw() GetExtend() Store() Load() Draw() GetExtend() Store() Load() Image If (Image==0) { Image=LoadImage(Name); } Image->Draw(); If (Image==0) { return extend; }else {  return Image->GetExtend(); } ImageImp extend Name extend Patrones de Interacción Móvil
Ventajas ,[object Object],[object Object],[object Object],Patrones de Interacción Móvil
Análisis Crítico ,[object Object],[object Object],[object Object],Patrones de Interacción Móvil
Conclusiones ,[object Object],[object Object],[object Object],Patrones de Interacción Móvil
Bibliografía  ,[object Object],[object Object],[object Object],[object Object],Patrones de Interacción Móvil

Mais conteúdo relacionado

Mais procurados

Requerimientos Funcionales y no Funcionales
Requerimientos Funcionales y no FuncionalesRequerimientos Funcionales y no Funcionales
Requerimientos Funcionales y no Funcionalessullinsan
 
95878125 sitema-de-farmacia
95878125 sitema-de-farmacia95878125 sitema-de-farmacia
95878125 sitema-de-farmaciaZuri At
 
Requerimiento funcional y no funcional
Requerimiento funcional y no funcional Requerimiento funcional y no funcional
Requerimiento funcional y no funcional CristobalFicaV
 
Ers restaurante automatizado
Ers restaurante automatizadoErs restaurante automatizado
Ers restaurante automatizadoKev' Pacheco
 
Ingeniería de requisitos
Ingeniería de requisitosIngeniería de requisitos
Ingeniería de requisitosZuleima
 
Fundamentos de Pruebas de Software - Capítulo 3
Fundamentos de Pruebas de Software - Capítulo 3Fundamentos de Pruebas de Software - Capítulo 3
Fundamentos de Pruebas de Software - Capítulo 3Professional Testing
 
Requerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No FuncionalesRequerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No FuncionalesCarlos Macallums
 
tipos de requisitos
  tipos de requisitos   tipos de requisitos
tipos de requisitos Juan Henao
 
Taller de requerimientos funcionales modulo 10.2
Taller de requerimientos funcionales modulo 10.2Taller de requerimientos funcionales modulo 10.2
Taller de requerimientos funcionales modulo 10.2Javier Calderon
 
Tema N° 7 Atributos de Calidad del Software según Norma ISO 25010
Tema N° 7 Atributos de Calidad del Software según Norma ISO 25010Tema N° 7 Atributos de Calidad del Software según Norma ISO 25010
Tema N° 7 Atributos de Calidad del Software según Norma ISO 25010SaraEAlcntaraR
 
SRS Ejemplo, Sistema Tarifado de Transito
SRS Ejemplo, Sistema Tarifado de TransitoSRS Ejemplo, Sistema Tarifado de Transito
SRS Ejemplo, Sistema Tarifado de TransitoJuan Jose Lucero
 
Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftChuyito Alvarado
 
2. Casos de uso y diagramas de casos de uso
2. Casos de uso y diagramas de casos de uso2. Casos de uso y diagramas de casos de uso
2. Casos de uso y diagramas de casos de usoSaul Mamani
 
1. modelo entidad relacion ejemplo
1. modelo entidad relacion   ejemplo1. modelo entidad relacion   ejemplo
1. modelo entidad relacion ejemplouniv of pamplona
 

Mais procurados (20)

Diagramas uml
Diagramas umlDiagramas uml
Diagramas uml
 
Requerimientos Funcionales y no Funcionales
Requerimientos Funcionales y no FuncionalesRequerimientos Funcionales y no Funcionales
Requerimientos Funcionales y no Funcionales
 
95878125 sitema-de-farmacia
95878125 sitema-de-farmacia95878125 sitema-de-farmacia
95878125 sitema-de-farmacia
 
Requerimiento funcional y no funcional
Requerimiento funcional y no funcional Requerimiento funcional y no funcional
Requerimiento funcional y no funcional
 
Ers restaurante automatizado
Ers restaurante automatizadoErs restaurante automatizado
Ers restaurante automatizado
 
Casos de uso
Casos de usoCasos de uso
Casos de uso
 
Ingeniería de requisitos
Ingeniería de requisitosIngeniería de requisitos
Ingeniería de requisitos
 
Fundamentos de Pruebas de Software - Capítulo 3
Fundamentos de Pruebas de Software - Capítulo 3Fundamentos de Pruebas de Software - Capítulo 3
Fundamentos de Pruebas de Software - Capítulo 3
 
UML: CASOS DE USO
UML: CASOS DE USOUML: CASOS DE USO
UML: CASOS DE USO
 
Diagrama de casos de usos
Diagrama de casos de usosDiagrama de casos de usos
Diagrama de casos de usos
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Requerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No FuncionalesRequerimientos Funcionales y No Funcionales
Requerimientos Funcionales y No Funcionales
 
tipos de requisitos
  tipos de requisitos   tipos de requisitos
tipos de requisitos
 
Taller de requerimientos funcionales modulo 10.2
Taller de requerimientos funcionales modulo 10.2Taller de requerimientos funcionales modulo 10.2
Taller de requerimientos funcionales modulo 10.2
 
Requisitos funcionales y no funcionales
Requisitos funcionales y no funcionales Requisitos funcionales y no funcionales
Requisitos funcionales y no funcionales
 
Tema N° 7 Atributos de Calidad del Software según Norma ISO 25010
Tema N° 7 Atributos de Calidad del Software según Norma ISO 25010Tema N° 7 Atributos de Calidad del Software según Norma ISO 25010
Tema N° 7 Atributos de Calidad del Software según Norma ISO 25010
 
SRS Ejemplo, Sistema Tarifado de Transito
SRS Ejemplo, Sistema Tarifado de TransitoSRS Ejemplo, Sistema Tarifado de Transito
SRS Ejemplo, Sistema Tarifado de Transito
 
Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoft
 
2. Casos de uso y diagramas de casos de uso
2. Casos de uso y diagramas de casos de uso2. Casos de uso y diagramas de casos de uso
2. Casos de uso y diagramas de casos de uso
 
1. modelo entidad relacion ejemplo
1. modelo entidad relacion   ejemplo1. modelo entidad relacion   ejemplo
1. modelo entidad relacion ejemplo
 

Destaque

Drs u2 ea_alrc Arquitectura de Software
Drs u2 ea_alrc Arquitectura de SoftwareDrs u2 ea_alrc Arquitectura de Software
Drs u2 ea_alrc Arquitectura de SoftwareCRALF
 
Arquitectura N-Capas y ADo.NET
Arquitectura N-Capas y ADo.NETArquitectura N-Capas y ADo.NET
Arquitectura N-Capas y ADo.NETRoberto Taborda
 
1 Introducción a la Arquitectura Empresarial
1  Introducción a la Arquitectura Empresarial1  Introducción a la Arquitectura Empresarial
1 Introducción a la Arquitectura EmpresarialMatersys
 
Especificación de requisitos de un sitio web
Especificación de requisitos de un sitio webEspecificación de requisitos de un sitio web
Especificación de requisitos de un sitio webRafael Pedraza-Jimenez
 

Destaque (7)

Drs u2 ea_alrc Arquitectura de Software
Drs u2 ea_alrc Arquitectura de SoftwareDrs u2 ea_alrc Arquitectura de Software
Drs u2 ea_alrc Arquitectura de Software
 
Arquitectura N-Capas y ADo.NET
Arquitectura N-Capas y ADo.NETArquitectura N-Capas y ADo.NET
Arquitectura N-Capas y ADo.NET
 
Programacion en n capas
Programacion en n capasProgramacion en n capas
Programacion en n capas
 
1 Introducción a la Arquitectura Empresarial
1  Introducción a la Arquitectura Empresarial1  Introducción a la Arquitectura Empresarial
1 Introducción a la Arquitectura Empresarial
 
Arquitectura Empresarial 11.0
Arquitectura Empresarial 11.0Arquitectura Empresarial 11.0
Arquitectura Empresarial 11.0
 
Especificación de requisitos de un sitio web
Especificación de requisitos de un sitio webEspecificación de requisitos de un sitio web
Especificación de requisitos de un sitio web
 
Sistema De Gestion De Notas
Sistema De Gestion De NotasSistema De Gestion De Notas
Sistema De Gestion De Notas
 

Semelhante a Clases 30 05

Unidad 2 - Arquitectura.pptx
Unidad 2 - Arquitectura.pptxUnidad 2 - Arquitectura.pptx
Unidad 2 - Arquitectura.pptxRunayli
 
Sistemas cliente servidor
Sistemas cliente   servidorSistemas cliente   servidor
Sistemas cliente servidorJramos_95
 
Importancia de los Sistemas Cliente Servidor, su arquitectura y describir sus...
Importancia de los Sistemas Cliente Servidor, su arquitectura y describir sus...Importancia de los Sistemas Cliente Servidor, su arquitectura y describir sus...
Importancia de los Sistemas Cliente Servidor, su arquitectura y describir sus...Samhya LLerena
 
3. Sis distribuidos - Arquitectura.pptx
3. Sis distribuidos - Arquitectura.pptx3. Sis distribuidos - Arquitectura.pptx
3. Sis distribuidos - Arquitectura.pptxjarek35
 
Sesion 08 tel202 2010-1
Sesion 08   tel202 2010-1Sesion 08   tel202 2010-1
Sesion 08 tel202 2010-1kevinXD123
 
Modelos de sistemas distribuidos
Modelos de sistemas distribuidosModelos de sistemas distribuidos
Modelos de sistemas distribuidosTensor
 
Modelos de sistemas distribuidos
Modelos de sistemas distribuidosModelos de sistemas distribuidos
Modelos de sistemas distribuidosTensor
 
Modelos de los sistemas distribuidos
Modelos de los sistemas distribuidosModelos de los sistemas distribuidos
Modelos de los sistemas distribuidosMargarita Labastida
 
Fundam servclient
Fundam servclientFundam servclient
Fundam servclienttvazamar
 
Modelos de sistemas distribuidos
Modelos de sistemas distribuidosModelos de sistemas distribuidos
Modelos de sistemas distribuidosTensor
 
cliente servidor de 3 niveles
cliente servidor de 3 nivelescliente servidor de 3 niveles
cliente servidor de 3 nivelesLupitha Mendoza
 
cliente servidor de 3 niveles
cliente servidor de 3 nivelescliente servidor de 3 niveles
cliente servidor de 3 nivelesLupitha Mendoza
 
Conceptos Basicos de Bases de Datos Multiusuario
Conceptos Basicos de Bases de DatosMultiusuarioConceptos Basicos de Bases de DatosMultiusuario
Conceptos Basicos de Bases de Datos Multiusuarioheliozwt
 

Semelhante a Clases 30 05 (20)

Arquitectura cliente
Arquitectura cliente Arquitectura cliente
Arquitectura cliente
 
Unidad 2 - Arquitectura.pptx
Unidad 2 - Arquitectura.pptxUnidad 2 - Arquitectura.pptx
Unidad 2 - Arquitectura.pptx
 
Sistemas cliente servidor
Sistemas cliente   servidorSistemas cliente   servidor
Sistemas cliente servidor
 
Importancia de los Sistemas Cliente Servidor, su arquitectura y describir sus...
Importancia de los Sistemas Cliente Servidor, su arquitectura y describir sus...Importancia de los Sistemas Cliente Servidor, su arquitectura y describir sus...
Importancia de los Sistemas Cliente Servidor, su arquitectura y describir sus...
 
Arquitectura Web
Arquitectura WebArquitectura Web
Arquitectura Web
 
3. Sis distribuidos - Arquitectura.pptx
3. Sis distribuidos - Arquitectura.pptx3. Sis distribuidos - Arquitectura.pptx
3. Sis distribuidos - Arquitectura.pptx
 
Sesion 08 tel202 2010-1
Sesion 08   tel202 2010-1Sesion 08   tel202 2010-1
Sesion 08 tel202 2010-1
 
Cliente servidor1
Cliente servidor1Cliente servidor1
Cliente servidor1
 
Modelos de sistemas distribuidos
Modelos de sistemas distribuidosModelos de sistemas distribuidos
Modelos de sistemas distribuidos
 
Modelos de sistemas distribuidos
Modelos de sistemas distribuidosModelos de sistemas distribuidos
Modelos de sistemas distribuidos
 
Arquitectura de Software
Arquitectura de SoftwareArquitectura de Software
Arquitectura de Software
 
Arquitectura web
Arquitectura webArquitectura web
Arquitectura web
 
Modelos de los sistemas distribuidos
Modelos de los sistemas distribuidosModelos de los sistemas distribuidos
Modelos de los sistemas distribuidos
 
Fundam servclient
Fundam servclientFundam servclient
Fundam servclient
 
Requisitos
RequisitosRequisitos
Requisitos
 
Modelos de sistemas distribuidos
Modelos de sistemas distribuidosModelos de sistemas distribuidos
Modelos de sistemas distribuidos
 
cliente servidor de 3 niveles
cliente servidor de 3 nivelescliente servidor de 3 niveles
cliente servidor de 3 niveles
 
cliente servidor de 3 niveles
cliente servidor de 3 nivelescliente servidor de 3 niveles
cliente servidor de 3 niveles
 
Conceptos Basicos de Bases de Datos Multiusuario
Conceptos Basicos de Bases de DatosMultiusuarioConceptos Basicos de Bases de DatosMultiusuario
Conceptos Basicos de Bases de Datos Multiusuario
 
Arquitectura cliente servidor
Arquitectura cliente servidorArquitectura cliente servidor
Arquitectura cliente servidor
 

Último

TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptxTALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptxMartaChaparro1
 
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxNataliaGonzalez619348
 
historieta materia de ecologías producto
historieta materia de ecologías productohistorieta materia de ecologías producto
historieta materia de ecologías productommartinezmarquez30
 
Cuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdfCuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdflizcortes48
 
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).hebegris04
 
Descripción del Proceso de corte y soldadura
Descripción del Proceso de corte y soldaduraDescripción del Proceso de corte y soldadura
Descripción del Proceso de corte y soldaduraJose Sanchez
 
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docxMagalyDacostaPea
 
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)jlorentemartos
 
Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxRosabel UA
 
libro grafismo fonético guía de uso para el lenguaje
libro grafismo fonético guía de uso para el lenguajelibro grafismo fonético guía de uso para el lenguaje
libro grafismo fonético guía de uso para el lenguajeKattyMoran3
 
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOCUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOEveliaHernandez8
 
BITÁCORA DE ESTUDIO DE PROBLEMÁTICA. TUTORÍA V. PDF 2 UNIDAD.pdf
BITÁCORA DE ESTUDIO DE PROBLEMÁTICA. TUTORÍA V. PDF 2 UNIDAD.pdfBITÁCORA DE ESTUDIO DE PROBLEMÁTICA. TUTORÍA V. PDF 2 UNIDAD.pdf
BITÁCORA DE ESTUDIO DE PROBLEMÁTICA. TUTORÍA V. PDF 2 UNIDAD.pdfsolidalilaalvaradoro
 
HISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICAHISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICAJesus Gonzalez Losada
 
BOCA Y NARIZ (2).pdf....................
BOCA Y NARIZ (2).pdf....................BOCA Y NARIZ (2).pdf....................
BOCA Y NARIZ (2).pdf....................ScarletMedina4
 
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxEJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxFabianValenciaJabo
 
Buenas Practicas de Manufactura para Industria Farmaceutica
Buenas Practicas de Manufactura para Industria FarmaceuticaBuenas Practicas de Manufactura para Industria Farmaceutica
Buenas Practicas de Manufactura para Industria FarmaceuticaMarco Camacho
 
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...Carol Andrea Eraso Guerrero
 
Amor o egoísmo, esa es la cuestión por definir.pdf
Amor o egoísmo, esa es la cuestión por definir.pdfAmor o egoísmo, esa es la cuestión por definir.pdf
Amor o egoísmo, esa es la cuestión por definir.pdfAlejandrino Halire Ccahuana
 

Último (20)

TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptxTALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
 
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
 
Acuerdo segundo periodo - Grado Septimo.pptx
Acuerdo segundo periodo - Grado Septimo.pptxAcuerdo segundo periodo - Grado Septimo.pptx
Acuerdo segundo periodo - Grado Septimo.pptx
 
historieta materia de ecologías producto
historieta materia de ecologías productohistorieta materia de ecologías producto
historieta materia de ecologías producto
 
Cuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdfCuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdf
 
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
 
Descripción del Proceso de corte y soldadura
Descripción del Proceso de corte y soldaduraDescripción del Proceso de corte y soldadura
Descripción del Proceso de corte y soldadura
 
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
4° UNIDAD 2 SALUD,ALIMENTACIÓN Y DÍA DE LA MADRE 933623393 PROF YESSENIA CN.docx
 
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)
 
Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptx
 
libro grafismo fonético guía de uso para el lenguaje
libro grafismo fonético guía de uso para el lenguajelibro grafismo fonético guía de uso para el lenguaje
libro grafismo fonético guía de uso para el lenguaje
 
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOCUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
 
BITÁCORA DE ESTUDIO DE PROBLEMÁTICA. TUTORÍA V. PDF 2 UNIDAD.pdf
BITÁCORA DE ESTUDIO DE PROBLEMÁTICA. TUTORÍA V. PDF 2 UNIDAD.pdfBITÁCORA DE ESTUDIO DE PROBLEMÁTICA. TUTORÍA V. PDF 2 UNIDAD.pdf
BITÁCORA DE ESTUDIO DE PROBLEMÁTICA. TUTORÍA V. PDF 2 UNIDAD.pdf
 
HISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICAHISPANIDAD - La cultura común de la HISPANOAMERICA
HISPANIDAD - La cultura común de la HISPANOAMERICA
 
BOCA Y NARIZ (2).pdf....................
BOCA Y NARIZ (2).pdf....................BOCA Y NARIZ (2).pdf....................
BOCA Y NARIZ (2).pdf....................
 
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxEJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
 
Acuerdo segundo periodo - Grado Noveno.pptx
Acuerdo segundo periodo - Grado Noveno.pptxAcuerdo segundo periodo - Grado Noveno.pptx
Acuerdo segundo periodo - Grado Noveno.pptx
 
Buenas Practicas de Manufactura para Industria Farmaceutica
Buenas Practicas de Manufactura para Industria FarmaceuticaBuenas Practicas de Manufactura para Industria Farmaceutica
Buenas Practicas de Manufactura para Industria Farmaceutica
 
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...
 
Amor o egoísmo, esa es la cuestión por definir.pdf
Amor o egoísmo, esa es la cuestión por definir.pdfAmor o egoísmo, esa es la cuestión por definir.pdf
Amor o egoísmo, esa es la cuestión por definir.pdf
 

Clases 30 05

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6. Cliente/Servidor Dos Capas Maquina Cliente (UNIX, Windows, Linux,...) Servidor de Base de Datos
  • 7.
  • 8.
  • 9. Interface GUI Servidor de datos Servidor de transacciones Interface Capa datos Capa lógica Capa presentación Modelo - Cliente/Servidor 3 Capas
  • 10.
  • 11.
  • 12. Cliente/Servidor Tres capas Maquina Cliente (UNIX, Windows, ...) Maquina Servidor Servidor de Base de Datos
  • 13.
  • 14. Arquitectura Web n-capas BDD Server Applications TCP/IP, HTTP, HTTPS, Socket, Objetos Distribuidos, CORBA, ORBA Capa de Funcionalidades de la Aplicación (2) Repositorio (3) ODBC, JDBC CONECTORES: Proxy n-Capas (4+) Server Applications Server Applications BDD cliente 1 cliente 2 cliente n Capa de Presentación (1) SQL Net
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21. CALIDAD DEL PROCESO CALIDAD INTERNA CALIDAD EXTERNA CALIDAD EN USO INFLUENCIA INFLUENCIA INFLUENCIA DEPENDE DEPENDE DEPENDE MEDIDAS DE PROCESO MEDIDAS INTERNAS MEDIDAS EXTERNAS MEDIDAS DE CALIDAD EN USO PROCESO PRODUCTO DE SOFTWARE EFECTOS DEL PRODUCTO DE SOFTWARE CONTEXTOS DE USO ENFOQUES DE CALIDAD ISO 9126 (1998) )
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32. Modelo de Calidad del software Eficiencia Confiabilidad Usabilidad Mantenibilidad Portabilidad Funcionalidad - Convenienza - Correctitud - Interoperativ. - Seguridad - Conformidad - Madurez - Tol. Fallas - Recuperab. -Conformidad - Entendibilidad - Aprendibilidad - Operatividad - Atracción - Conformidad - Comporta- miento en tiempo - Uso de recursos - Conformidad Modelo de calidad según ISO 9126 (Calidad externa e interna) - Analizabilidad - Flexibilidad a cambios - Estabilidad - Prueba - Conformidad - Adaptabilidad - Inestabilidad - Co-existencia - Reemplaza- bilidad - Conformidad
  • 33.
  • 34.
  • 35.
  • 36. RequisitosArquitecturales Tabla 3. Requisitos no funcionales , propiedad de calidad y solución arquitectural. -Medida de complejidad -Boolean -Boolean Middleware incluyendo MEDIATOR Maintainability (changeability) Propiedad cuantitativa -Atributo: Tamaño Reliability (consistency) propiedad cualitativa - Atributo: presencia de un mecanismo Portability (adaptability) propiedad cualitativa - Atributo: presencia de un mecanismo Reconfiguracion Dinámica de Interfaces Boolean Middleware incluyendo MEDIATOR Reliability (availability ) Propiedad cualitativa -Atributo: presencia de un mecanismo, en este caso el middleware soportado por el patrón agente MEDIATOR Solución centralizada, donde la interfaz del dispositivo es distribuida por el middleware de la aplicación a través de la red. -Medida de complejidad , es decir numero de componentes dinámicos en un periodo de tiempo -Medida de complejidad Reflection [28] Mecanismo para observar el estado de un componente para permitir cambios dinámicos en la estructura y desempeño -Maintainability ( changeability) Extensibilidad del ambiente de ejecución; propiedad cuantitativa -Atributo: Tamaño -Portability (replaceability) Propiedad cuantitativa -Atributo: Tamaño Comunicación flexible debe ser flexible a los requisitos de cambios y relaciones entre componentes que pueden ser estáticos y dinámicos. Porcentaje [0..1] Protocolo de comunicación de redes, Ancho de banda. Medida durante la ejecución Efficiency (performance ) con respecto al tiempo de respuesta y conexiones; propiedad cuantitativa -Atributo: latency Tiempo de transmisión limitado. Tiempos de respuesta adecuados a un rango Boolean Middleware incluyendo MEDIATOR Reliability (consistency) Provee un mecanismo, es decir el manejo de la replica actualizando en cada dispositivo; propiedad cualitativa -Atributo: presencia de mecanismo Los Datos deben ser transmitidos completa, correctamente y consistentes con conexiones transientes. Porcentaje [0..1] Protocolo de comunicación de redes, Ancho de banda. Medida durante la ejecución Efficiency (performance) Con respecto a la utilización de recursos ; propiedad cuantitativa -Atributo: consumo de recurso para cada dispositivo Minimización en el consumo de recursos (baterías, almacenamiento de datos, tamaño del display , entre otros). MÉTRICA SOLUCIÓN ARQUITECTURAL PROPIEDAD DE CALIDAD REQUISITOS NO FUNCIONALES
  • 37. Tabla 4. Propiedades de calidad para cada funcionalidad y su solución arquitectural. Tabla 4. Propiedades de calidad para cada funcionalidad y su solución arquitectural. - Reliability (availability, consistency) Atributo: presencia de un mecanismo. Métrica : Boolean Repository [44] Compartimiento de Datos - Maintainability (changeability) Atributo: Tamaño Métrica: Medida de complejidad - Reliability (fault-tolerance) Atributo: presencia de un mecanismo. Métrica : Boolean -Usability (attractiveness, operability) Atributo: presencia de un mecanismo. Metrica: Boolean WrapperFaçade [28] Encapsula funciones y datos de no orientados a objetos en APIs concisas, portables, mantenibles y robustas interfaces de clases ComponentConfigurator [28] Permite al componente reconfigurarse en tiempo de ejecución vaciando, modificando, recompilando o encadenando estáticamente la aplicación. Interceptor [28] Permite transparentemente adicionar servicios cuando ciertos eventos ocurran. Variantes : Chain-of-responsibility, Publisher/subscriber y Subject/observer. Extension Interface [28] Permite exportar múltiples interfaces por un componente. El componente funcionalmente es extendido y modificado. Servicios Centrados al Usuario - Realiability (availability, consistency) Atributo: presencia de un mecanismo Métrica: Boolean - Efficiency (performance) con respecto al limitado espacio y al limitado tiempo de respuesta Atributo: consumo de recursos de cada dispositivo Métrica: Porcentaje [0..1] - Maintainability (changeability) Propiedad cuantitativa Atributo : Tamaño LocalProxy [17] Una instancia local provee una interfac e a un servicio local o remoto. Ejemplo : Ejecutando localmente un web proxy PushObject [17] Un dispositivo envía un objeto específico con un requisito fuera. Ejemplos : SMS, OBEX RequestObject [17] Un dispositivo requiere un objeto especifico (Una pagina web ) desde otro dispositivo. Ejemplo : WAP CannedCode [17] Un dispositivo envía código, el cual es ejecutado sobre otro dispositivo. El código no debe ser ejecutado sobre el dispositivo que envió. Ejemplo : WMLscript, web filters Manejo de Datos PROPIEDADES DE CALIDAD (INTERNA/EXTERNA) SOLUCION ARQUITECTURAL REQUISITOS FUNCIONALES
  • 38.
  • 39. Requisitos Funcionales APLICACIONES MOVILES Confiabilidad (Confiability) -Disponibilidad (Availability) Funcionalidad (Functionality) -Interoperabilidad (Interoperability) Compartir Datos: Los dispositivos móviles formarán una red ad-hoc que se conecta entre ellos para intercambiar la información y para proporcionar los servicios a los usuarios. Usabilidad (Usability) -Atractivo (Atractiveness) - Operabilidad (Operability) Servicios de administración: (defecto, configuración, Bitácora, ejecución y seguridad) Portabilidad (Portability) -Conformidad (compliance) -Escalabilidad (Scalability) Funcionalidad (Functionability) -Seguridad (Security) Servicios de comunicación: comunicación entre usuarios, transporte de información y establecimiento de conexiones. Usabilidad (Usability) -Atractivo (atractiveness) -Operabilidad (Operability) Portabilidad (Portability) -Adaptabilidad (adaptability) -Escalabilidad (Scalability) Servicios de información: gestiona información al usuario. Confiabilidad (confiability) -Disponibilidad (availability) Con respecto a lo limitado del recurso de espacio) Eficiencia (Efficiency) -Comportamiento del tiempo (Behaviour time) (con respecto al tiempo de respuesta limitado). Funcionalidad (Functionality) - Precisión (accurancy) En el estándar QoS ISO [17], la integridad esta relacionada con acurrancy. Manejar Datos: Los datos deben ser transmitidos completa y correctamente. Propiedades de calidad asociadas (Características de calidad ) ISO/IEC 9126-1 [15] Requisitos Funcionales
  • 40. Topología de aplicaciones WEB. Caso De Estudio Desde un web browser, un usuario indica un URL. Este es un request a un server remoto sobre el p rotocolo HTTP. Internet es… … un mecanismo Request/Response . Workstation Server Web Pages HTTP protocol www.url.com HTML Request Response El server remoto procesa el request y envia un HTML response que es recibido por el browser y presentado al usuario como una pagina WEB.
  • 41. Arquitectura para Web Cliente y Usuario Final Proveedores de Contexto Proveedores de Servicios While World Desarrollo Organizacional Proveedores de Software Ambiente Técnico Heterogéneo Computación Distribuida WWW Experiencia en Arquitecturas Internet y Hipertexto WWW Requerimientos (Calidad) Acceso Remoto Interoperatibilidad Extensibilidad (de software y datos) Escalabilidad Upward Compatibility Architect(s) WWW Consortium Arquitectura libWWW Jigsaw Cliente/Servidor Sistema WWW Influencias de la Arquitectura
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55. Arquitectura Web n-capas BDD Server Applications TCP/IP, HTTP, HTTPS, Socket, Objetos Distribuidos, CORBA, ORBA Capa de Funcionalidades de la Aplicación (2) Repositorio (3) ODBC, JDBC CONECTORES: Proxy n-Capas (4+) Server Applications Server Applications BDD cliente 1 cliente 2 cliente n Capa de Presentación (1) SQL Net
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77.
  • 78. Calidad de Software en WEB (Modelo de Calidad ISO-9126-1) MODELO DE CALIDAD PARA APLICACIONES WEB: VISION EXTERNA CARACTERISTICAS DE CALIDAD SUB-CARACTERISTICAS FUNCIONALIDAD CONVENIENCIA EXACTITUD INTEROPERABILIDAD SEGURIDAD CONFIABILIDAD MADUREZ ATRACTIVIDAD OPERATIVIDAD USABILIDAD ENTENDIBILIDAD APRENDIZAJE EFICIENCIA COMPORTAMIENTO EN EL TIEMPO UTILIZACION DE RECURSOS
  • 79.
  • 80.
  • 81.
  • 82. Calidad de Software en WEB (Modelo de Calidad ISO-9126-1) MODELO DE CALIDAD PARA APLICACIONES WEB: VISION INTERNA CARACTERISTICAS DE CALIDAD SUB-CARACTERISTICAS MANTENIBILIDAD ANALIZABILIDAD CAMBIABILIDAD PORTABILIDAD ADAPTABILIDAD INSTALABILIDAD
  • 83.
  • 84.
  • 85.
  • 86. Calidad de Software en WEB (Modelo de Calidad ISO-9126-1)
  • 87. Calidad de Software en WEB (Modelo de Calidad ISO-9126-1)
  • 88.
  • 89.
  • 90. Patrones de Aplicaciones WEB Rodolfo Canelón
  • 91.
  • 92.
  • 93.
  • 94.
  • 95.
  • 96.
  • 97.
  • 98.
  • 99.
  • 100.
  • 101.
  • 102.
  • 103.
  • 104.
  • 105.
  • 106.
  • 107.
  • 108.
  • 109.
  • 110.
  • 111.
  • 112.
  • 113.
  • 114.
  • 115.
  • 116.
  • 117.
  • 118.
  • 119.
  • 120.
  • 121.
  • 122.
  • 123.
  • 124.
  • 125.
  • 126.
  • 127.
  • 128.
  • 129.
  • 130.
  • 131.
  • 132.
  • 133. Modelo Conceptual APLICACIONES MOVILES Servicios Dispositivos móviles Teléfonos inteligentes Pad´s Otros Handhelp Contexto Conectividad Red Usuario Comunicación Administración Información Funciones del dispositivo Ambiente Físico Procesadores Disponibles Tiene_asociado_Un 1..* Se_Ejecutan 1..* 1..* QoS Funciones del Usuario 1..* Influye_en Ambiente del usuario Localización Perfil Iluminación Nivel de ruido Dispositivos I/O Disponibles Recursos Interacción Tiene_Asociado 1..* Tienen 1..* Usa Se_Adaptan Ambiente Computacional 1..*
  • 134. Componentes de las aplicaciones Servicios y Aplicaciones GUI /Client Side MIDDLEWARE Seguridad ) ) ) Figura 2-5. Componentes de las aplicaciones
  • 135. Componentes de las aplicaciones Servicios y Aplicaciones GUI cliente Contexto Seguridad ) ) ) Figura 2-5. Componentes de las aplicaciones Mediator )
  • 136.
  • 137. Requisitos Funcionales APLICACIONES MOVILES Confiabilidad (Confiability) -Disponibilidad (Availability) Funcionalidad (Functionality) -Interoperabilidad (Interoperability) Compartir Datos: Los dispositivos móviles formarán una red ad-hoc que se conecta entre ellos para intercambiar la información y para proporcionar los servicios a los usuarios. Usabilidad (Usability) -Atractivo (Atractiveness) - Operabilidad (Operability) Servicios de administración: (defecto, configuración, Bitácora, ejecución y seguridad) Portabilidad (Portability) -Conformidad (compliance) -Escalabilidad (Scalability) Funcionalidad (Functionability) -Seguridad (Security) Servicios de comunicación: comunicación entre usuarios, transporte de información y establecimiento de conexiones. Usabilidad (Usability) -Atractivo (atractiveness) -Operabilidad (Operability) Portabilidad (Portability) -Adaptabilidad (adaptability) -Escalabilidad (Scalability) Servicios de información: gestiona información al usuario. Confiabilidad (confiability) -Disponibilidad (availability) Con respecto a lo limitado del recurso de espacio) Eficiencia (Efficiency) -Comportamiento del tiempo (Behaviour time) (con respecto al tiempo de respuesta limitado). Funcionalidad (Functionality) - Precisión (accurancy) En el estándar QoS ISO [17], la integridad esta relacionada con acurrancy. Manejar Datos: Los datos deben ser transmitidos completa y correctamente. Propiedades de calidad asociadas (Características de calidad ) ISO/IEC 9126-1 [15] Requisitos Funcionales
  • 139. Problemas en la construcción de interfaces 1.- Dificultad para construir software usable 2.- Se desestima la necesidad de un grupo de desarrollo multidisciplinario 3.- Problemas de comunicación entre los miembros de un grupo multidisciplinario 4.- En la práctica no se reconoce la relevancia del usuario 5.- Falta de integración entre la Interacción Humano-Computador y la Ingeniería de Software. Patrones de Interacción Móvil
  • 140.
  • 141. Grupo multidisciplinario de desarrollo Diseñador Gráfico Psicólogo Especialistas en IHC Especialistas en el dominio Usuario ... Para el diseño de Interfaces de Usuario se requiere un equipo que incluya al usuario, especialistas del dominio de la aplicación y a especialistas de otras disciplinas Patrones de Interacción Móvil
  • 142.
  • 143.
  • 144.
  • 145.
  • 146.
  • 147.
  • 148.
  • 149. Estructura de un Patrón de Interfaz Patrones de Interacción Móvil
  • 150. Ejemplo de un Patrón de Interacción Patrones de Interacción Móvil Nombre Formatos de datos de fechas Martijn van Welie Problema El usuario desea introducir datos de fechas y no desea preocuparse por la sintaxis del dato Solución Permitir que el usuario elija la fecha de un calendario tal como se encuentra en el mundo real y que solo realice selección –el usuario no tipea. Contexto Todos los sistemas que requieran que el usuario introduzca fechas (importante en interfaces internacionales) Fuerzas -     - Los datos de fechas tienen múltiples sintaxis -     Principio Usabilidad - Guiar al usuario y prevenir errores - Convenciones culturales determinan la sintaxis esperada Ejemplo
  • 151.
  • 152.
  • 153.
  • 154. Patrones de Diseño Los patrones se derivan del diseño de software exitoso y que pueden ser reutilizados como bloques de construcción para nuevos diseños . Patrones Móviles Los patrones móviles cubren áreas del problema que los autores encontraron frecuentemente en los escenarios móviles Los patrones móviles relacionados pueden agruparse en patrones de clases, utilizando una Jerarquía de Patrones. Patrones de Interacción Móvil
  • 155. Jerarquía de Patrones Patrones de Interacción Móvil
  • 156. Jerarquía de Patrones Los patrones móviles no solo son aplicables en los escenarios móviles Los patrones de diseño que aparecen frecuentemente en escenarios móviles son buenos candidatos para nuevos proyectos Patrones de Interacción Móvil
  • 157.
  • 158. Estructura de un Patrón Móvil Patrones de Interacción Móvil
  • 159.
  • 160.
  • 161.
  • 162.
  • 163. Proxy - Patrón Móvil de Interacción Patrones de Interacción Móvil ServiceUsage, MobileService CLASES PushObject, RequestObject PATRONES RELACIONADOS ProxyWeb ( http://www.intellisync.com ) permite a usuarios handhelp usar browser sin forzar las limitaciones. El proxy preprocesa las paginas , descarga las imágenes y pre calcula el layout apropiado. Como resultado la cantidad de datos transferidos al dispositivo es reducido drásticamente. PocketDreamTeam es la versión PalmOS. EJEMPLOS
  • 164. Proxy - Estructura Patrones de Interacción Móvil Client …… . ... Real Subject ...
  • 165. Editor de documentos (Ej.) DocumentEditor Graphic ImageProxy Image Draw() GetExtend() Store() Load() Draw() GetExtend() Store() Load() Draw() GetExtend() Store() Load() Image If (Image==0) { Image=LoadImage(Name); } Image->Draw(); If (Image==0) { return extend; }else { return Image->GetExtend(); } ImageImp extend Name extend Patrones de Interacción Móvil
  • 166.
  • 167.
  • 168.
  • 169.

Notas do Editor

  1. Este tercer enfoque es rearquitectar los sistemas tal que una capa intermedia se crea entre las aplicaciones y las bases de datos. Este enfoque usa tecnología off-the-shell llamadas middleware y enterprise application integration o EAI. Las aplicaciones se modifican para que “llamen” al middleware el cual a su vez llama a los servidores (otras aplicaciones o bases de datos). Este enfoque permite cambiar las aplicaciones sin modificar las bases de datos. Tambien reduce el tiempo de mantenimiento. Este enfoque no exige mucho cambio organizacional. Pero requiere de una amplia experticia técnica. Markus, 2000
  2. En este tipo de arquitectura, el cliente sólo tiene capacidades de ‘presentación’, pues toda la lógica del negocio tiene lugar en el lado del servidor.
  3. Browser del cliente (Browser HTML estándar con soporte para forms) El browser es utilizado por el usuario de la aplicación para solicitar páginas Web (HTML o del servidor) y muestra las páginas html devueltas por el servidor Web. Sus Funciones/Servicios son 1.- Actuar como interfaz de usuario generalizada : toda interacción usuario/sistema se realiza a través del browser. La organización y apariencia de las páginas web es lo que conforma la interfaz de usuario de una aplicación Web . En estas aplicaciones, el browser actúa como un contenedor de interfaces de usuario generalizado, pues cada interfaz de usuario específica está definida por el contenido de una página Web (texto y controles de entrada). 2.- Aceptar y devolver ‘cookies’ Servidor Web (Punto de acceso principal al sistema para los browsers cliente) Sus Funciones/Servicios son: 1.- Aceptar peticiones de páginas Web, y según el tipo de petición... Iniciar procesamiento en el lado del servidor Delegar el procesamiento en un intérprete de scripts o un módulo ejecutable 2.- Devolver páginas HTML al browser Conexión HTTP (Protocolo de comunicación entre browsers cliente y servidores Web) Tipo de Comunicación SIN CONEXIÓN, puesto que cada vez que cliente y servidor intercambian información, se establece una conexión nueva y separada. La conexión sólo existe durante el procesamiento de una petición de página. Una vez que la petición ha sido satisfecha, la conexión finaliza. Toda actividad sobre el servidor (debida al usuario) ocurre durante la petición de página. Esto representa una muy importante diferencia con las aplicaciones cliente/servidor tradicionales . Secure Sockets Layer (SSL) es una variación de HTML que permite el intercambio de información encriptada.
  4. Esta arquitectura mínima carece de algunos componentes opcionales que son encontrados normalmente en aplicaciones Web.
  5. La persistencia se explica en la transparencia siguiente. -- Otra opción añadida a la arquitectura de cliente web ligero es la integración con sistemas heredados y, para aplicaciones de comercio electrónicos, con sistemas de contabilidad de mercado. Integración con Sistemas Heredados y Sistemas de Contabilidad de Mercado Se accede a estos componentes a través de los objetos del negocio, si existe, y si no, vía el Servidor de Aplicaciones. Sistemas heredados: Sistema de contabilidad o Sistemas de programación de producción Sistema de contabilidad de mercado permite que una aplicación Web para Internet, acepte y procese pagos con tarjetas de crédito para empresas más grandes, puede ser una interfaz con un sistema existente que procese solicitudes de dichos pagos
  6. Explicar con pág. 103 ¡¡ corregido del libro, pues estoy convencida de que en la figura hay un par de flechas que no están en su sitio!!
  7. Si los procesos ejecutados en el servidor tardan mucho, entonces este patrón puede no ser adecuado, sería necesario quizá descargar algo al servidor... Por otro lado, el browser es el único mecanismo de entrega de interfaces de usuario. Por tanto, las capacidades de dichas interfaces están limitadas a lo que soporte el browser y la versión de html utilizada.
  8. Uno de los componentes más utilizados en Internet relacionado con la interfaz de usuario es el control y plug-in Shockwave ActiveX. Permite animaciones interactivas y se usa sobre todo para condimentar sitios de Internet con gráficos atractivos, así como para mostrar simulaciones y monitorizar eventos deportivos.
  9. * Puesto que la comunicación entre cliente y servidor se realiza vía HTTP, la mayor parte del tiempo NO EXISTE conexión abierta entre ellos. Esto significa que los scripts del cliente, controles ActiveX y applets Java sólo pueden interactuar con objetos del cliente. * El patrón Cliente Web Pesado utiliza ciertas capacidades del browser : 1) Controles ActiveX o Applets de Java para i)ejecutar lógica del negocio en el cliente o ii)tratar aspectos de interfaz de usuario . Un control ActiveX es código binario ejecutable compilado que puede ser descargado al cliente vía HTTP e invocado por el browser. 2) Scripts del cliente. Las páginas HTML pueden contener scripts escritos en JavaScript o VBScript. Esta capacidad permite al browser interpretar código que puede ser i)parte de la lógica del negocio del sistema o ii)tratar aspectos de interfaz de usuario . Estos scripts son elementos que potencialmente son significativos para la arquitectura del sistema.
  10. Una cuestión importante del diseño de aplicaciones Web es comprender este paradigma de interacción cliente-servidor. Los objetos de negocio no siempre están accesibles cuando se manejan peticiones de IU individuales. Por ejemplo, una característica común de interfaz de usuario (y del negocio) en muchas aplicaciones cliente/servidor es el rellenado automático de los campos de “ciudad” y “estado” en una dirección postal de USA, cuando se introduce un código zip. Asumiendo que esos tres campos están localizados en la misma página en un browser, esta característica requeriría una solicitud adicional de una página del servidor inmediatamente después de la introducción del valor en el campo “código zip”. Para la amplia mayoría de aplicaciones Web esto supondría una pérdida de rendimiento inaceptable, pues las peticiones de páginas suelen ser satisfechas en un tiempo del orden de segundos y no de milisegundos.
  11. Cuando se utilizan scripts del cliente, applets o controles, el equipo de pruebas debe realizar un conjunto completo de escenarios de prueba para cada configuración de cliente que deba ser soportada. Puesto que se está ejecutando lógica del negocio crítica en el cliente, es importante que se comporte de forma correcta y consistente en todos los browsers involucrados Una desventaja del uso de applets es que cada browser implementa su propia versión de Java (máquina virtual Java). Y además, van muy por detrás de Sun (creador de Java). Todo esto implica que un applet puede no ejecutarse correctamente o igual en browsers diferentes.
  12. El Web es utilizado sobre todo como un mecanismo de entrega para un sistema cliente/servidor de objetos distribuidos diferente del tradicional. Son aplicaciones cliente/servidor de objetos distribuidos que incluyen un servidor Web y un browser de cliente como elementos significativos para su arquitectura. Puede verse como una aplicación Web con objetos distribuidos o un sistema de objetos distribuidos con elementos Web.
  13. El Web es utilizado sobre todo como un mecanismo de entrega para un sistema cliente/servidor de objetos distribuidos diferente del tradicional Aplicaciones cliente/servidor de objetos distribuidos que sólo incluyen un servidor Web y un browser de cliente como elementos significativos para su arquitectura. La mayor fortaleza de esta arquitectura es la capacidad de distribuir objetos de negocio existentes en el contexto de una aplicación Web. Con la comunicación directa y persistente entre cliente y servidor, se evitan las limitaciones de las anteriores arquitecturas. El cliente puede realizar lógica del negocio importante hasta un grado mucho mayor. No suele utilizarse en aislado, sino en combinación con alguno de los otros. Lo más típico es usar uno o ambos de los patrones anteriores para aquellas partes del sistema que no requieren una IU sofisticada o donde las configuraciones del cliente no son lo bastante fuertes como para soportar una aplicación cliente grande.
  14. La mayor diferencia con los otros patrones: el protocolo de comunicación entre cliente y servidor. Si antes era HTTP, ahora se utiliza protocolos DCOM o RMI/IIOP.
  15. Lo principal es el uso de un browser que contiene la interfaz de usuario y algunos objetos del negocio que se comunican independientemente del browser, con objetos del servidor (vía IIOP, RMI o DCOM) Ventaja principal: El browser tiene capacidades nativas para descargar automáticamente los componentes necesarios desde el servidor . Un nuevo equipo sólo necesita de un browser Web compatible para comenzar a utilizar la aplicación. No se necesita la instalación de software manual en el cliente, porque el browser se encarga de ello por el usuario. Los componentes son distribuidos e instalados en el cliente según se necesitan. Tanto applets Java como controles ActiveX pueden ser enviados automáticamente y metidos en la caché del cliente. Cuando esos componentes son activados, como resultado de la carga de la página Web apropiada, pueden interconectarse en una comunicación asíncrona con objetos del servidor.
  16. Ejemplos: aplicaciones que requieren soportar diferentes sistemas de software. Componentes: Microkernel, Internal Server, External Server, Client, Adapter. Conectores: Interfaces de programación del Microkernel (para Internal Server, External Server, Adapter), Interfaces de programación del Servidor Externo (para Client)
  17. Ejemplos: CLOS y Java. Componentes: A un meta nivel (provee información sobre las propiedades del sistema) y a un nivel base (contiene la lógica de la aplicación) Conectores: Protocolos que comunican los dos niveles.
  18. Ejemplos: Java Virtual Machine, Java Class Libraries (AWT, Swing), Microsoft Foundation Classes (MFC). Componentes: aplicación componente, Wrapper Fa çade, funciones API. Conectores: Mecanismos de comunicación de las clases.
  19. Ejemplos: Java Virtual Machine, Java Class Libraries (AWT, Swing), Microsoft Foundation Classes (MFC). Componentes: aplicación componente, Wrapper Fa çade, funciones API. Conectores: Mecanismos y protocolos de comunicación entre los componentes.
  20. Ejemplos: Component-Based Application Servers, implementaciones de CORBA (COM), Web browsers, reflective ORB. Componentes: Context, concrete framework dispatcher, application, interceptor, concrete interceptor . Conectores: Mecanismos y protocolos de comunicación entre los componentes.
  21. Ejemplos: Implementaciones de CORBA, COM/COM+, CCM, Enterprise Java Beans. Componentes: Root interface, extension interface, component, component factory, client. Conectores: Mecanismos y protocolos de comunicación entre los componentes.
  22. Ejemplos: Implementaciones de CORBA, ODBC, SQL-Net. Componentes: Repositorio de datos centrales y agentes. Conectores: Mecanismos y protocolos de comunicación entre los componentes.