La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Red Social: “Un millón de Amigos”.

Presentaciones similares


Presentación del tema: "Red Social: “Un millón de Amigos”."— Transcripción de la presentación:

1 Red Social: “Un millón de Amigos”

2 Contenidos Descripción del negocio Solución propuesta Demo
Requerimientos funcionales Requerimientos no funcionales Solución propuesta Arquitectura propuesta Técnicas de diseño aplicadas a cada capa Demo

3 Funcionalidades requeridas
Buscar amigos en la red. Hacer amigos. Sugerir amigos Por afinidad o transitividad. Visitar amigos. Notificar eventos. Aplicaciones. Mensajería Mensajes públicos y privados. Seguridad.

4 Arquitectura Propuesta
Considerando la escalabilidad horizontal de los servidores de la aplicación: Utilizamos Ncache: que resolvería de forma transparente (sin la necesidad de modificar código) la replicación de la cache del ORM entre aplication servers y las sesiones que se resolverán a través del almacenamiento de las mismas en la base de datos. Utilizamos un balanceador de carga (para los application servers) implementado con LVS. Utilizamos un cluster de servidores PostgreSQL con pgpool-II. servidor de base de datos, y sólo en el caso de ser necesario,

5 Diagrama de Despliegue

6 Capas de nuestra arquitectura

7 UnMillonDeAmigos.Web: Contiene las páginas web de la aplicación, que constituyen las vistas (presentación) UnMillonDeAmigos.Presentacion: Contiene los presenters y las interfaces para cada una de las vistas del proyecto web. UnMillonDeAmigos.ContratosDeAplicacion: Este proyecto publica los servicios que contienen la funcionalidad que es necesaria desde la presentación. UnMillonDeAmigos.Aplicacion: Define las interfaces de los servicios que son implementados en el proyecto de aplicación. UnMillonDeAmigos.AccesoADatos: Aquí se encapsulan todas las clases que implementan el acceso a Datos mediante NHibernate. UnMillonDeAmigos. Dominio: Aquí se encuentran las clases de negocio, procesos y reglas de negocio.

8 Justificación de su uso
Permite la descomposición del sistema en componentes más pequeños; Facilita el análisis, la comprensión y el diseño del sistema; Permite obtener implementaciones más sencillas. Aislamiento de código; Facilita los cambios en los componentes sin impactar en otros módulos; Permite el desarrollo en paralelo del equipo de programadores; Agrupamiento de funcionalidad similar; Facilita el mantenimiento del sistema.

9 Diagrama de clases general

10 Diagrama de clases completo

11 Diagrama de Casos de Uso

12

13 Diagrama de Componentes
Permite modelar la vista estática del sistema. Muestra la organización y las dependencias entre un conjunto de componentes. No necesariamente un diagrama incluye todos los componentes del sistema, normalmente se realizan por partes. Cada diagrama describe un apartado del sistema.

14 Diagrama de Componentes

15 Diagrama de Paquetes. Permite visualizar cómo el sistema está dividido en agrupaciones lógicas mostrando las dependencias entre esas agrupaciones. Dado que normalmente un paquete está pensado como un directorio, un diagrama de paquetes suministra una descomposición de la jerarquía lógica del sistema.

16 Diagrama de Paquetes

17 Diagrama de Procesos Representa los aspectos de concurrencia y procesos de ejecución del sistema. Nos permite ver cómo se comunican los procesos.

18 Diagrama de Procesos

19 Modelo 4 + 1 Vista de Despliegue Vista Física Vista Lógica
Vista de Procesos Vista de Casos de Uso

20 Técnicas de Diseños aplicadas en cada capa
Strategy Aplicación: Se lo utilizó para resolver tema de sugerencia de amigos por afinidad. Factory Method Se lo utilizó en la creación de aplicaciones. Definimos una interfaz para instanciar la aplicación Calendario, explicitando el tipo de objeto que se creará en base a los parámetros recibidos.

21 Iterator: Flyweigth: Composite:
Aplicación: Usuario que consulta el EspacioVisita recorre sus mensajes y notificaciones por medio de iteradores que muestran únicamente los que son visibles según el perfil asociado. Flyweigth: Aplicación: Evitamos tener una gran cantidad de instancias de perfiles con un estado interno idéntico. Composite: Aplicación: Se lo aplicó en la creación de aplicaciones.

22 Adapter: Aplicación: Implementamos una interfaz para poder pasar datos entre distintas vistas en forma genérica. En la práctica la vista origen sabe cual es la vista destino y puede hacer un pasaje explícito accediendo a las propiedades de la página y establecer una referencia strongly type entre las páginas. Observer: Aplicación: Se lo aplicó en la implementación de las Notificaciones de la aplicación.

23 Persistencia Para la persistencia, encapsulamos las clases que participan del acceso a Datos mediante NHibernate. Hibernate Es una herramienta de Mapeo objeto-relacional que facilita el mapeo de atributos entre una base de datos relacional tradicional y el modelo de objetos de una aplicación. Como todas las herramientas de su tipo, hibernate busca solucionar el problema de la diferencia entre los dos modelos de datos coexistentes en una aplicación: el usado en la memoria y el usado en las bases de datos. Para lograr esto permite al desarrollador detallar cómo es su modelo de datos, qué relaciones existen y qué forma tienen. Justificación de su uso A través de la utilización del framework hibernate, se implementó la persistencia de los objetos del sistema; herramienta que nos permitió el mapeo de los objetos necesarios, en una base de datos relacional, mediante la configuración de archivos XML, evitándose el manejo manual de los datos y permitiendo la portabilidad del código.

24 Demo…


Descargar ppt "Red Social: “Un millón de Amigos”."

Presentaciones similares


Anuncios Google