jueves, 10 de septiembre de 2015

Arquitectura

Voy a dar unas breves pinceladas de la arquitectura que voy utilizar.
Voy a utilizar una arquitectura N-Capas que me permita desacoplar cada una de ellas y me dé la flexibilidad de utilizar distintos clientes en la parte de presentación.
Un esquema básico sería el de esta imagen:

Como se puede apreciar,cada capa "habla" con la inmediatamente superior o inferior utilizando Business Entitites como "idioma" común a ellas.
1. DAL
Se encarga de la persistencia y acceso a los datos. En este caso, me estoy apoyando en un ORM como EntityFramework v6.0 Code First.
Además, en esta capa se implementan Unit of Work y los repositorios
2. Services
Es la capa que tiene la lógica de la aplicación. Validaciones y reglas de negocio están aqui.
3. WebAPI
Esta capa se "superpone" a la capa de servicios para poder ofrecer una REST API que pueda ser consumida por clientes de terceros. En este caso, será consumida por una aplicación para Windows Phone 8.1
4. UI
Capa que se encarga de interactuar con el usuario. En este caso tendremos dos variables:
4.1 ASP .NET MVC4
4.2 Windows Phone
5. Business Entities
En esta capa se incluyen la entidades que serán usadas por la capa de presentación y que se usan para que ésta "hable" con la capa de servicios.
6. Infraestructura
Aquí incluyo elementos comunes (que pueden ser consumidos por cualquiera de las capas), como por ejemplo, logging, gestión de excepciones, ...

No hay comentarios:

Publicar un comentario