Historia de revisiones



Documentos relacionados
Historia de revisiones

Guía de instalación de la carpeta Datos de IslaWin

CAPÍTULO 3 DISEÑO DE LA ARQUITECTURA

1 Índice Introducción Propósito Alcance Modelo Arquitectónico Inicial... 3

Sistema de Administración de Farmacias Descripción de la Arquitectura Versión 1.4. Historia de revisiones

Historia de revisiones Fecha Versión Descripción Autor 12/11/ Versión final con cambios sobre extensión de ArcGIS Viewer y recorte de alcance

Técnicas de Diseño CRM 1

Ambiente Virtual de Comercio Electrónico B2B para la Comunidad Virtual de Negocios del departamento del Cauca

E-learning: E-learning:

MS_10978 Introduction to Azure for Developers

POSGRADO EXPERTO.NET DESARROLLO DE SOFTWARE

Guía de instalación de la carpeta Datos de ContaWin

Manual del Usuario. Sistema de Help Desk

Anexo 4 Documento de Arquitectura

Parte III. Características del proyecto. Web corporativa. Aplicación gestión. Comandas. Gestión cocina.

Capitulo 5. Implementación del sistema MDM

CORPORACIÓN MEXICANA DE INVESTIGACIÓN EN MATERIALES, S.A. DE CV

Extensión K2B proyectos para Smart Devices

BeatIt! Especificación de Requerimientos de Software para BeatIt! Versión 1.2.2

Despliegue de plataforma Q-flow

MOVILIDAD PARA MICROSOFT DYNAMICS CRM. DOC: Corporate CRM Overview

Elementos requeridos para crearlos (ejemplo: el compilador)

Documento de Arquitectura de Software. KunaySoft. Autores: Juan Camilo González Vargas. Javier Leonardo Parra Laguna

SIGPRE Sistema de Gestión Presupuestaria

Capítulo 5. Cliente-Servidor.

UNIVERSIDAD DE OVIEDO

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS

SISTEMA DE ESPECIICACION DE REQUERIMIENTOS

CAPITULO 8. Planeamiento, Arquitectura e Implementación

UNIDESYS UNIVERSAL BUSINESS SYSTEMS INSTALACIÓN NUEVO PUESTO DE TRABAJO

Workflows? Sí, cuántos quiere?

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable

Instalación del Software Magaya

PROGRAMADOR VISUAL BASIC.NET

5/09/ Agregar cambios en las alertas Matias Herrera

- MANUAL TÉCNICO - Software de diagnóstico de la seguridad de la información y autoimplantación de LOPD. Rev. 01- FEBRERO 2013

SESIÓN 1: POWER POINT 2013

PROPÓSITO... 2 DETERMINANTES PARA UNA BUENA EXPERIENCIA DE USO...

Solución Streaming SIVE

Introducción a la Firma Electrónica en MIDAS

LICITACIÓN N L13045 NUEVO SISTEMA LEY DE TRANSPARENCIA

INTRODUCCIÓN A LA PROGRAMACIÓN WEB UNIDAD. Estructura de contenidos: cisvirtual@ucv.edu.pe. 1.

Ingeniería de Software. Pruebas

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

CONCLUISIONES Y RECOMENDACIONES

ENCUENTA - CONTABILIDAD Net. Definiciones generales

Visión General de GXportal. Última actualización: 2009

Actualización de versión a Bizagi 10.x

RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2013/2014

Manual de usuario Versión: 1.3 Edición: 05/02/2015 1

CAPÍTULO I. Sistemas de Control Distribuido (SCD).

TEMA: DESARROLLO DE APLICACIONES WEB INTERACTIVAS UTILIZANDO LA TÉCNICA AJAX AUTOR: MERY SUSANA ZAMBONINO BAUTISTA

10775 Administering Microsoft SQL Server 2012 Databases

Edición de Ofertas Excel Manual de Usuario

Título: Implementación de un servicio de acceso a Internet por correo electrónico. Navegación total.

CAPITULO V: Contribución Teórica y Práctica

Microsoft SQL Server Conceptos.

3.3.3 Tecnologías Mercados Datos

MANUAL DE USUARIO APLICACIÓN SYSACTIVOS

Denis Leopoldo Espinoza Hernández

Sistema PYMES Ventas e Inventarios H&S

Solución GeoSAS. Módulo Mobile

SBConta.NET Manual de instalación. SBSS Consulting, S.A Barcelona Telf , fax web

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

Indice. .01 Introducci n. .02 Perfiles de usuario. .03 Ingreso al portal Mi Entel PCS Empresas. .04 Activación de los teléfonos móviles de la empresa

- MANUAL TÉCNICO - Implantación de software de Marketing Online

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

11/06/2011. Alumno: José Antonio García Andreu Tutor: Jairo Sarrias Guzman

Instalar GFI WebMonitor

Revendedor administrado en el portal de incentivos del socio. Cómo comenzar: Administración de usuarios

APLICATECA. Guía para la contratación y gestión de. Servidor Cloud

Complejo Deportivo UCA. República Saharaui s/n Puerto Real (Cádiz) Tel Fax

O C T U B R E SOPORTE CLIENTE. Manual de Usuario Versión 1. VERSIÓN 1 P á g i n a 1

JAVA EE 5. Arquitectura, conceptos y ejemplos.

10/09/ Primera versión del documento Federico González. 13/09/ Revisión de SQA Alejandro Tosi

Aspectos Básicos de Networking

INSTALACIÓ N A3ERP. Informática para empresas INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS

Capítulo VI. Estudio de Caso de Aplicación del Integrador de Información Desarrollado

BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN

INSTITUTO POLITÉCNICO NACIONAL COORDINACIÓN GENERAL DE SERVICIOS INFORMÁTICOS

GMF Gestor de incidencias

Resumen ÁREA DE FACTURACIÓN::INFORMES::Pedidos Detalle Resumen ÁREA DE

Manual de iniciación a

INSTALACIÓN A3ERP INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS

Instalación de OPUS PLANET en red

Sistema para Gestión Hotelera Visión

Programa de Ayuda HERES

Acronis License Server. Guía del usuario

WEB PARA PROGRAMADORES

PEEPER PONTIFICIA UNIVERSIDAD JAVERIANA FACULTAD DE INGENIERIA CARRERA DE INGENIERIA DE SISTEMAS. Mayo Versión 2.1 OSCAR IVAN LÓPEZ PULIDO

Capítulo 2. Planteamiento del problema. Capítulo 2 Planteamiento del problema

1 El trabajo expuesto está subvencionado por el proyecto de la URJC PGRAL-2001/14

CIMA. MANUAL DE USUARIO

MANUAL DE INSTALACIÓN

App para realizar consultas al Sistema de Información Estadística de Castilla y León

Catoira Fernando Fullana Pablo Rodriguez Federico [MINERIA DE LA WEB] Proyecto Final - Informe Final

Gestión Dispositivos Móviles Dexon Software

Sistema Tecnológico de Apoyo a la Regulación

CARACTERISTICAS DEL SISTEMA

DESARROLLO DE COMPONENTES PARA LA INTEGRACIÓN DEL PORTAL CORPORATIVO DEL CITI CON LA BPMS BIZAGI

Transcripción:

Herbert Game Descripción de la Arquitectura Versión 1.8 Historia de revisiones Fecha Versión Descripción Autor 29/08/2011 1.0 Creación del documento Juan Pablo Balarini Máximo Mussini 30/08/2011 1.1 Actualización Juan Pablo Balarini 31/08/2011 1.2 Actualización Juan Pablo Balarini 01/09/2011 1.3 Actualización Máximo Mussini 02/09/2011 1.4 Actualización sección Casos de Uso Juan Torres 03/09/2011 1.4 Revisión de Calidad Federico Dadalt 07/09/2011 1.5 Actualización de diagramas Máximo Mussini 14/09/2011 1.6 Corrección de los índices y algunos de los errores encontrados en la última revisión. Diagramas de paquetes Máximo Mussini 07/10/2011 1.7 Manejo de errores Máximo Mussini 08/10/2011 1.8 Revisión de Calidad Federico Dadalt Descripción de la Arquitectura Página 1 de 15

Contenido 1. INTRODUCCIÓN... 4 1.1. PROPÓSITO... 4 1.2. ALCANCE... 4 1.3. DEFINICIONES, SIGLAS Y ABREVIATURAS.... 4 1.4. REFERENCIAS... 4 1.5. VISIÓN GENERAL... 4 2. ESTILO DE LA ARQUITECTURA... 5 3. VISTA DEL MODELO DE CASOS DE USO... 6 3.1. DIAGRAMA DE CASOS DE USO RELEVANTES A LA ARQUITECTURA... 6 3.2. CASOS DE USO RELEVANTES A LA ARQUITECTURA... 6 3.2.1. Crear Pantalla... 6 3.2.2. Modificar Pantalla... 7 3.2.3. Jugar Pantalla... 7 3.2.4. Registrar Usuario... 7 3.2.5. Modificar Usuario... 7 3.2.6. Iniciar Sesión... 7 3.2.7. Cerrar Sesión... 7 3.2.8. Listar Ranking Facebook... 7 4. TRAZABILIDAD DESDE EL MODELO DE CASOS DE USO AL MODELO DE DISEÑO... 8 4.1.1. Crear/Modificar Pantalla... 8 4.1.2. Jugar Pantalla... 8 4.1.3. Registrar / Modificar Usuario... 8 4.1.4. Iniciar Sesión / Cerrar Sesión... 9 4.1.5. Listar Ranking Facebook... 9 5. VISTA DEL MODELO DE DISEÑO... 10 5.1. DIAGRAMA DE COMPONENTES DE LA ARQUITECTURA... 10 5.2. DESCOMPOSICIÓN EN SUBSISTEMAS... 11 5.2.1. SQL Database... 11 5.2.2. ADO.NET Entity Framework... 11 5.2.3. Herbert Data Access... 11 5.2.4. Herbert API... 11 5.2.5. Herbert Services... 11 5.2.6. Herbert Web... 11 5.2.7. Herbert Language... 11 5.2.8. Herbert Win UI... 11 5.2.9. Herbert Web UI... 12 5.2.10. Herbert Windows Phone UI... 12 6. VISTA DEL MODELO DE DISTRIBUCIÓN... 12 6.1. DIAGRAMA DE DISTRIBUCIÓN... 12 6.2. NODOS... 13 6.2.1. Database... 13 6.2.2. Herbert Server... 13 6.2.3. Servidor Facebook... 14 6.2.4. Servidor Windows Live... 14 6.2.5. Windows PC... 14 6.2.6. Windows Phone Device... 14 Descripción de la Arquitectura Página 2 de 15

6.2.7. Web Client... 14 6.3. CONEXIONES... 14 6.3.1. Conexión Herbert - Facebook... 14 6.3.2. Conexión Herbert Windows Live... 14 6.3.3. Conexión Herbert Base de datos... 14 6.3.4. Conexión Windows App - Herbert... 14 6.3.5. Conexión Windows Phone App - Herbert... 15 6.3.6. Conexión Silverlight App - Herbert... 15 6.3.7. Conexión Web Client - Herbert... 15 7. MANEJO DE ERRORES... 15 7.1. BUENAS PRÁCTICAS... 15 Descripción de la Arquitectura Página 3 de 15

1. Introducción El presente documento pretende describir la arquitectura a ser utilizada en el proyecto Herbert. 1.1. Propósito Este documento proporciona una apreciación global y comprensible de la arquitectura del sistema usando diferentes puntos de vista para mostrar distintos aspectos del sistema. Intenta capturar y llegar a las decisiones de arquitectura críticas que han sido hechas en el sistema. 1.2. Alcance Esta descripción asistirá a diseñadores e implementadores, siendo una guía para comenzar su desarrollo. A su vez permitirá que otras personas puedan comprender el proyecto de forma global. 1.3. Definiciones, siglas y abreviaturas. Detalladas en el Glosario. 1.4. Referencias Glosario Modelo de Casos de Uso Especificación de requerimientos 1.5. Visión general Se presentan primero los casos de uso más relevantes respecto a la arquitectura del sistema, luego la vista del modelo de diseño, y finalmente la distribución física del mismo mediante un diagrama de despliegue. Descripción de la Arquitectura Página 4 de 15

2. Estilo de la arquitectura Se utilizará un estilo de arquitectura en capas, adaptada a los servicios que brinda la plataforma.net. El servidor de la aplicación (que podría o no estar ubicado en la plataforma Windows Azure), brindará servicios a tres tipos de clientes distintos: Windows, Web, y Mobile. Cabe notar que las tres aplicaciones cliente siguen el patrón de diseño de cliente grueso, ya que en ellas se encuentra la mayor parte de la lógica relacionada con el juego, más específicamente, con la interpretación del lenguaje h. Esto permite alivianar la carga del servidor y mejorar los tiempos de respuesta para el usuario, lo cual es fundamental para cualquier programa interactivo. El servidor se encargará de brindar servicios a las aplicaciones cliente a través de WCF, así como de ofrecer servicios web a través de ASP.NET MVC. También estará encargado de manejar la conexión con sistemas externos (Windows Live, Facebook). Finalmente, los datos del sistema se almacenarán en una base de datos SQL Server. El acceso a los mismos se realizará utilizando el ADO.NET Entity Framework, y para una mayor abstracción se desarrolló una capa de acceso a datos liviana siguiendo el patrón de diseño Repository. El sistema propone una fuerte división de las responsabilidades, a través de interfaces bien definidas de acceso a datos, servicios, y comunicación. El diagrama en capas a continuación permite apreciar a grandes rasgos cómo está compuesta la aplicación: Descripción de la Arquitectura Página 5 de 15

3. Vista del Modelo de Casos de Uso 3.1. Diagrama de Casos de Uso relevantes a la Arquitectura 3.2. Casos de Uso relevantes a la Arquitectura 3.2.1. Crear Pantalla El caso de uso inicia cuando el usuario selecciona la opción de crear una pantalla. Esta pantalla podrá ser jugada por él y por el resto de los usuarios del sistema. Descripción de la Arquitectura Página 6 de 15

3.2.2. Modificar Pantalla El caso de uso inicia cuando el usuario selecciona la opción de modificar una pantalla existente en el sistema. En este Caso de Uso, un Jugador solamente podrá modificar una pantalla creada por él mismo, para el caso del Administrador podrá modificar pantallas que se encuentren dentro de las 50 iniciales. 3.2.3. Jugar Pantalla El Caso de Uso se inicia cuando el usuario selecciona un nivel para jugar el cual debe estar desbloqueado. Luego escribe el algoritmo y una vez confirmado el mismo, el robot (o el elemento en cuestión) se mueve por la pantalla según el algoritmo ingresado y las variantes de la pantalla. Una vez concluido el movimiento se muestra el puntaje obtenido. En caso de no haber completado todos los puntos el mismo es 0. 3.2.4. Registrar Usuario El Caso de Uso se inicia cuando el usuario desea registrarse en el sistema. Para ello el sistema muestra un formulario donde el usuario debe ingresar los datos necesarios, entre ellos podrá asociar su cuenta a la de Live y/o Facebook. El sistema valida los mismos y en caso exitoso se le mostrará al usuario la página inicial del juego. En caso contrario se mostrará un mensaje acorde. 3.2.5. Modificar Usuario El Caso de Uso se inicia cuando el usuario desea cambiar los datos de su cuenta. Para ello el sistema le muestra los datos y el usuario podrá modificar los mismos. 3.2.6. Iniciar Sesión El Caso de Uso se inicia cuando el usuario desea iniciar sesión en el juego. Para ello el sistema muestra un formulario donde el usuario debe ingresar los datos necesarios. El sistema valida los mismos y en caso exitoso se le mostrará al usuario la página inicial del juego. En caso contrario se mostrará un mensaje acorde. 3.2.7. Cerrar Sesión El Caso de Uso se inicia cuando el usuario selecciona la opción de cerrar la sesión del juego. Luego el sistema le confirma al usuario que ha cerrado sesión y se muestra la pantalla inicial. 3.2.8. Listar Ranking Facebook El Caso de Uso se inicia cuando el usuario selecciona la opción de ver el ranking de sus amigos de Facebook. El sistema lista el ranking mencionado. Descripción de la Arquitectura Página 7 de 15

4. Trazabilidad desde el Modelo de Casos de Uso al Modelo de Diseño 4.1.1. Crear/Modificar Pantalla Herbert Win UI Herbert Services Herbert API Herbert Data Access SQL Database 4.1.2. Jugar Pantalla 4.1.2.1. Cargar Pantalla Herbert Web UI Herbert Services Herbert API Herbert Data Access SQL Database Herbert WP7 UI 4.1.2.2. Ejecutar Programa (en lenguaje h ) Herbert Web UI Herbert WP7 UI Herbert Language 4.1.3. Registrar / Modificar Usuario Herbert Web UI Herbert Services Herbert API Herbert Data Access SQL Database Herbert WP7 UI Descripción de la Arquitectura Página 8 de 15

4.1.4. Iniciar Sesión / Cerrar Sesión 4.1.4.1. Cuenta del sistema Herbert Win UI Herbert Web UI Herbert Services Herbert API Herbert Data Access SQL Database Herbert WP7 UI 4.1.4.2. Cuenta de Facebook Herbert Web UI Facebook API Herbert Services Herbert API Herbert WP7 UI Herbert Data Access SQL Database 4.1.4.3. Cuenta de Windows Live Herbert Web UI Windows Live API Herbert Services Herbert API Herbert WP7 UI Herbert Data Access SQL Database 4.1.5. Listar Ranking Facebook Herbert Web UI Facebook API Herbert Services Herbert API Herbert WP7 UI Herbert Data Access SQL Database Descripción de la Arquitectura Página 9 de 15

5. Vista del Modelo de Diseño 5.1. Diagrama de Componentes de la Arquitectura Descripción de la Arquitectura Página 10 de 15

5.2. Descomposición en Subsistemas 5.2.1. SQL Database Base de datos relacional, en principio ubicada en un servidor web, aunque también podría estar ubicada en la nube (SQL Azure). En donde se persistirá toda la información necesaria para el funcionamiento del sistema, tanto la información global como usuarios, niveles, y puntajes, como información personal de cada usuario (user settings). 5.2.2. ADO.NET Entity Framework Se utiliza para facilitar la transición del modelo de base de datos relacional al modelo orientado a objetos. Encapsula el acceso a la base de datos, de forma que en lugar de programar sentencias SQL se obtienen las entidades a través de containers. 5.2.3. Herbert Data Access Encapsula el acceso a datos utilizando el patrón Repository, lo cual permite un acceso uniforme a los datos del sistema y permite una mayor modularidad en el diseño. 5.2.4. Herbert API Es responsable de proveer una interfaz uniforme para acceder a los servicios del sistema, los cuáles serán reutilizados luego tanto en la plataforma Web como en la plataforma de servicios WCF que brinda el sistema. Define los modelos de datos a utilizar y realiza la conversión entre las entidades y los modelos utilizando una herramienta llamada AutoMapper (ver Glosario). Además, encapsula el acceso a datos obtenidos de sistemas externos (Facebook, Windows Live). 5.2.5. Herbert Services Consume algunos de los servicios de la API, exponiendo su funcionalidad a través de servicios WCF de modo que puedan ser consumidos por las aplicaciones cliente. Dichos servicios son la principal forma de comunicación entre el juego y el sistema. 5.2.6. Herbert Web Esta aplicación ASP.NET es el sitio web de Herbert, dónde se expone en línea información como puntaje global y otros. Permite al usuario jugar a través de una aplicación Silverlight embebida en el sitio, así como crear sus propios niveles de juego. Consume los servicios provistos por la API. 5.2.7. Herbert Language Básicamente es el motor lógico del juego. Este subsistema es el responsable de interpretar el lenguaje h. También es responsable de calcular el puntaje obtenido por el jugador. Los módulos de presentación (Windows, Web, y Mobile) le suministran los datos necesarios, los cuales procesa, devolviendo información en una forma que resulte útil a los mismos. 5.2.8. Herbert Win UI Es una aplicación Windows Forms que provee una interfaz gráfica que permite a un administrador acceder a la creación y edición de escenarios. Toda comunicación con el servidor se realiza mediante servicios WCF que consume del módulo de servicios del sistema. Descripción de la Arquitectura Página 11 de 15

5.2.9. Herbert Web UI Es la aplicación Silverlight que se encuentra embebida en el sitio web de Herbert, la cual permite jugar al juego Herbert accediendo mediante una cuenta de Facebook o Live (o una cuenta del sistema). Interactúa con el módulo de lenguaje para procesar la entrada del usuario, y representa el resultado de forma gráfica mediante movimientos del personaje, sonidos, y animaciones. Toda comunicación con el servidor se realiza mediante servicios WCF que consume del módulo de servicios del sistema. 5.2.10. Herbert Windows Phone UI Es la aplicación del juego para Windows Phone. Provee la misma funcionalidad que la aplicación Silverlight. Toda la comunicación con el sistema se realiza a través de servicios WCF. 6. Vista del Modelo de Distribución 6.1. Diagrama de Distribución Descripción de la Arquitectura Página 12 de 15

6.2. Nodos 6.2.1. Database Es el nodo que aloja la base de datos relacional del sistema. Que esté alojada en un nodo físico distinto permitiría una mejor distribución del sistema, y si se combina con la técnica de granjas de servidores una mejor escalabilidad. Podría ser un servidor de SQL Azure. 6.2.2. Herbert Server Es el nodo donde ejecutará el servidor del sistema, que contiene a los subsistemas. Aloja tanto la aplicación Web, como la aplicación de servicios WCF. Una alternativa si se cuentan con suficientes recursos es separar ambas aplicaciones, de forma que corran en servidores independientes. Descripción de la Arquitectura Página 13 de 15

6.2.3. Servidor Facebook El servidor Facebook es quien provee la interfaz que permite a Herbert obtener información del perfil del usuario y de sus amigos. Este servidor es externo y solo se consumen servicios del mismo. 6.2.4. Servidor Windows Live El servidor Windows Live es quien proveerá, al igual que en el servidor Facebook, la interfaz que permite a Herbert obtener información del usuario. Este servidor es externo y solo se consumen servicios del mismo. 6.2.5. Windows PC Corresponde a una computadora ejecutando un sistema operativo Windows, este nodo es el anfitrión de la aplicación Herbert para Windows (conformada por el módulo de lenguaje y el módulo de interfaz Windows). Es necesario contar con conexión a Internet para acceder a la mayor parte de la funcionalidad de la aplicación. 6.2.6. Windows Phone Device Corresponde a un dispositivo móvil ejecutando un sistema operativo Windows Phone, este nodo es el anfitrión de la aplicación Herbert para Windows Phone (conformada por el módulo de lenguaje y el módulo de interfaz Windows Phone). Es necesario que el dispositivo tenga acceso a Internet para poder funcionar correctamente. 6.2.7. Web Client El nodo especifica un cliente Web, que es un dispositivo que cuenta con una conexión a Internet y un navegador que soporte Silverlight. El navegador es el encargado de descargar y ejecutar la aplicación Herbert para Silverlight. 6.3. Conexiones 6.3.1. Conexión Herbert - Facebook La conexión con la API de Facebook se va a realizar por un canal https sobre TCP. Dicha conexión va a consumir servicios web provistos por Facebook. Se asume que el servidor de Facebook siempre va a estar en línea, y que el servidor de Herbert siempre va a estar disponible. 6.3.2. Conexión Herbert Windows Live La conexión con la API de Windows Live se va a realizar pon un canal https sobre TCP. Se puede asumir la misma disponibilidad del servicio que en el caso de la conexión con Facebook y con la conexión a Internet. 6.3.3. Conexión Herbert Base de datos Esta conexión se realiza por https sobre TCP. Se asume que la base de datos siempre estará disponible (si se decide utilizar SQL Azure esto estaría garantizado por las políticas de confiabilidad de servicio que brindan los data-centers de Microsoft). 6.3.4. Conexión Windows App - Herbert Se realiza mediante servicios WCF, y es la única vía de comunicación entre Herbert y la aplicación Windows. Se controlan problemas en la comunicación mediante manejo de errores dentro de la aplicación. Descripción de la Arquitectura Página 14 de 15

6.3.5. Conexión Windows Phone App - Herbert Se realiza mediante servicios WCF, y es la única vía de comunicación entre Herbert y la aplicación Windows Phone. Se controlan problemas en la comunicación mediante manejo de errores dentro de la aplicación. 6.3.6. Conexión Silverlight App - Herbert Se realiza mediante servicios WCF, y es la única vía de comunicación entre Herbert y la aplicación Silverlight. Se controlan problemas en la comunicación mediante manejo de errores dentro de la aplicación. 6.3.7. Conexión Web Client - Herbert Se realiza por un canal https sobre TCP, y tiene como objetivo acceder al sitio web de Herbert para, entre otros, acceder a la aplicación Silverlight en línea que permite jugar al juego desde el navegador. 7. Manejo de Errores 7.1. Buenas Prácticas Para el manejo de errores se seguirán las siguientes prácticas: Encapsulamiento: En caso de que una excepción viaje a través de las capas del sistema y se cree alguna otra a partir de la primera generada, se guarda toda la información del primer error a través del encapsulamiento en el momento de la creación de la nueva excepción. De esta forma, no se pierde información debido a la propagación de la excepción o de la sustitución a través de las capas del sistema, lo cual facilita la corrección de defectos. Lanzar temprano: Las excepciones son lanzadas en el preciso instante en el que ocurre el error. Así se tiene un mejor control a la hora de depurar y de buscar el origen de la falla. Presentación del error: Todo error ocurrido en el sistema por el cual se deba notificar al usuario, debe tener una redacción adecuada, apta para el usuario. No se deberían exponer aspectos internos del sistema, esto podría confundir al usuario o resultarle poco amigable. Descripción de la Arquitectura Página 15 de 15