7/21/2019 01 Guia Arquitectura N Layer DDD Microsoft NET 4 0 Vision Global 1h 18-05-13
1/33
| Architecture
Presentacin Global
Csar de la TorreArchitect [email protected] Divisin de Desarrolladores y Plataforma
Gua Arquitectura Microsoft .NET 4.0Arquitectura N-Capas DDD
- Presentacin Global -
7/21/2019 01 Guia Arquitectura N Layer DDD Microsoft NET 4 0 Vision Global 1h 18-05-13
2/33
AGENDA13/05/2010Hora Descripcin Ponente
9:30-10:00 - Inicio del evento, agenda y METRO (Early-Adopters) Cesar de la TorreMicrosoft
10:00-10:40
(40 minutos)
- Novedades .NET 4.0 Wave y relacin con Arquitecturas
- Presentacin Arquitectura Referencia .NET- Iniciativa Microsoft Ibrica- Introduccin Arch. DDD (Domain Driven Design)- Introduccin global aArquitectura Marco N-Layer-Domain Orientedy Aplicacin ejemplo
Cesar de la Torre
Microsoft
10:40 11:30(50 minutos)
Capa de Infraestructura de Persistencia y Acceso a Datos- Introduccin a EF 4.0 (Novedades vs. EF 1.0)- Implementacin de patrones Repository, Unit of Work, etc. con EF 4.0
- Mapeo a Arquitectura N-Layer Marco y App ejemplo
Unai ZorrillaPlain-Concepts
11:30 12:00 Coffee
12:00 -12:55
(55 minutos)
Desacoplamiento entre componentes de arquitectura: IoC & DI
- Por qu desacoplamiento e Inyeccin de Dependencias?.- Importancia en Diseo (SOLID), Pruebas Unitarias y Mocking.- Introduccin a Unity
Hadi Hariri
JetBrains
13:00-13:50(50 minutos)
Capa de Dominio y Filosofa DDD- Filosofa DDD e importancia del Modelo de Dominio- Implementacin de Patrones en Capa de Dominio
- Entities. Aggregate, Object-Value, Services, etc.- Transacciones (System.Transactions)- Introd. Capa de Aplicacin
Cesar de la TorreMicrosoft
14:00-15:00 Comida (Catering)
15:00-15:45(45 minutos)
Capa de Servicios Distribuidos- Novedades en WCF 4.0- Decisiones de Diseo de Capa Servicios (Tipos de datos, etc.)
Jos Miguel TorresMVP
15:50-16:35(45 minutos)
Capa de Presentacin- Patrones de Arquitectura en Capa de Presentacin- Novedades en Silverlight 4.0 y WPF 4.0
Miguel Angel RamosMicrosoft
16:40-17:10(30 minutos)
Seguridad Orientada a claims y WIF- Introduccin a Seguridad Orientada a Claims- Introduccin a WIF(Windows Identity Foundation) yADFS 2.0
Cesar de la TorreMicrosoft
17:15-18:00(45 minutos) Aspectos Transversales y Windows Server AppFabric- Introduccin a Aspectos Transversales y QoS- AppFabric Cache- AppFabric Hosting de Servicios
Cesar de la TorreMicrosoft
7/21/2019 01 Guia Arquitectura N Layer DDD Microsoft NET 4 0 Vision Global 1h 18-05-13
3/33
Novedades .NET 4.0 Wave
ADO.NETEntity Framework V4.0
7/21/2019 01 Guia Arquitectura N Layer DDD Microsoft NET 4 0 Vision Global 1h 18-05-13
4/33
Novedades .NET 4.0 Wave
ADO.NETEntity Framework V4.0
7/21/2019 01 Guia Arquitectura N Layer DDD Microsoft NET 4 0 Vision Global 1h 18-05-13
5/33
Novedades .NET 4.0 Wave
ADO.NETEntity Framework V4.0
ADO.NETEntity Framework V4.0
Arquitectura
7/21/2019 01 Guia Arquitectura N Layer DDD Microsoft NET 4 0 Vision Global 1h 18-05-13
6/33
| Architecture
Objetivos de - Gua de Arquitectura -
Proponer tendencias y patronesactuales para appscomplejas
Estandarizacin y homogenizacinArquitectura.NET. (Nivel Org./Empresa)
Facilitar adopcin Plataforma .NET enescenarios complejos empresariales
7/21/2019 01 Guia Arquitectura N Layer DDD Microsoft NET 4 0 Vision Global 1h 18-05-13
7/33| Architecture
Cmo?
Elaborar Gua Arquitectura Referenciaen Espaol
Mapeo de Patrones a Tecnologas .NET
7/21/2019 01 Guia Arquitectura N Layer DDD Microsoft NET 4 0 Vision Global 1h 18-05-13
8/33| Architecture
Libro
Blanco
Documentacinen dos niveles:1.- Nivel lgico (Arquitectura y patrones)
2.- Implementacin (Mapeo a .NET 4.0wave)
Aplicacin Ejemplo
Pblica en (OSS License)
Colaboracin Comunidad
http://www.codeplex.com/http://www.codeplex.com/http://www.codeplex.com/http://www.codeplex.com/7/21/2019 01 Guia Arquitectura N Layer DDD Microsoft NET 4 0 Vision Global 1h 18-05-13
9/33
Nuevo siteArquitectura MSDN-EspaaDocumentacin Arquitectura
http://msdn.microsoft.com/es-es/architecture/default.aspx
7/21/2019 01 Guia Arquitectura N Layer DDD Microsoft NET 4 0 Vision Global 1h 18-05-13
10/33
Documentacin-LibroGua de Arquitectura N-Layer
DDD e Implementacin .NET 4.0
7/21/2019 01 Guia Arquitectura N Layer DDD Microsoft NET 4 0 Vision Global 1h 18-05-13
11/33
App. Ejemplo en CODEPLEXhttp://microsoftnlayerapp.codeplex.com/
7/21/2019 01 Guia Arquitectura N Layer DDD Microsoft NET 4 0 Vision Global 1h 18-05-13
12/33
Demo de Aplicacin Ejemplobasada en Arquitectura N-Layer
Orientada al Dominio
7/21/2019 01 Guia Arquitectura N Layer DDD Microsoft NET 4 0 Vision Global 1h 18-05-13
13/33
| Architecture
Tipos de Aplicaciones objetivo
Aplicaciones Empresariales Complejas
Gran volumen Lgica Negocio
Requerimientos QoS empresariales SeguridadCorporativa (heterogenea) Rendimiento y Escalabilidad
Gran Volumen Pruebas Unitarias
App con viday evolucin larga No apps-RAD en este contexto
7/21/2019 01 Guia Arquitectura N Layer DDD Microsoft NET 4 0 Vision Global 1h 18-05-13
14/33
| Architecture
Pilares de la Arquitectura Propuesta
Arquitectura N-Capas Orientada al Dominio
Estilos Arquitecturales DDD
(Domain Driven Design)
El Modelo del Dominioes el corazn del software Aislar el Dominio de la Infraestructura
Principios base del Desarrollo: SOLID Desacoplamiento entre objetos es crucial (DI, IoC, etc.)
7/21/2019 01 Guia Arquitectura N Layer DDD Microsoft NET 4 0 Vision Global 1h 18-05-13
15/33
| Architecture
Principios SOLID en Desarrollo
Single Responsability Principle Una clase solo debe tener una razn para cambiar
Open Close Principle Una clase debe estar abierta a la extensin pero cerrada a cambios
Liskov Substitution Principle Los sub-tipos o clases hijas deben ser sustituibles por sus propios tipos base relacionados (clases
base o interfaces)
Interface Segregation Principle
Los Consumidores no deben estar obligados a implementar interfaces que no usan
Dependency Inversion Principle (*) Las Capas de alto nivel no deben depender de Capas de bajo nivel. Ambos deben depender de
abstracciones
7/21/2019 01 Guia Arquitectura N Layer DDD Microsoft NET 4 0 Vision Global 1h 18-05-13
16/33
| Architecture
DDD: Ciclo de vida en el desarrollo
-DDD es, sobre todo, una forma de trabajar y afrontar el
proyecto- Este proceso de trabajo NO estar incluido en esta Guade Arquitectura.
Arquitecturay Diseo
Aceleradesarrollocorrecto
DesarrolloFeedbackde
desarrolladores
Mejora delDiseo y
Arquitectura Comunicacincon Expertosdel Dominio
(*) Para conocer elproceso de trabajo enDDD, leer libro DDD deEric Evans, patronesrelacionadosdocumentados por Martin
Fowler y otros libros DDD
7/21/2019 01 Guia Arquitectura N Layer DDD Microsoft NET 4 0 Vision Global 1h 18-05-13
17/33
| Architecture
DDD: Domain Driven Design
Proceso y Ciclo de Vida delProyecto- Ciclo de Vida del proyecto- Relacin del equipo desarrollo, expertos negociodel cliente, etc.- Lenguaje ubicuo
80%
20%
Arquitectura
(*) En esta Arquitectura solo nos centramos en
este 20%
7/21/2019 01 Guia Arquitectura N Layer DDD Microsoft NET 4 0 Vision Global 1h 18-05-13
18/33
| Architecture
Cundo DDD (Domain Driven Design)?
Aplicaciones Complejas? DDD
Gran volumen Lgica Negocio/Dominio
Entendimiento del Dominio
Lenguaje Ubicuo
Foco en Dominios complejos
7/21/2019 01 Guia Arquitectura N Layer DDD Microsoft NET 4 0 Vision Global 1h 18-05-13
19/33
| Architecture
Tendencias de Arquitectura en DDD
- Ciertos Aspectos Arquitectura DDD interesantes
Aislar la Capa del Dominio (Core)
Encaja con Principio de Inversin de
Dependencias y con DI Capas de Infraestructura
desacopladas del Dominio!
Patrones Arquitectura DDD
7/21/2019 01 Guia Arquitectura N Layer DDD Microsoft NET 4 0 Vision Global 1h 18-05-13
20/33
| Architecture
Patrones en DDD
IoCContainers
7/21/2019 01 Guia Arquitectura N Layer DDD Microsoft NET 4 0 Vision Global 1h 18-05-13
21/33
Arquitectura DDD(Diagrama Eric Evans)
InterfazUsuario
Aplicacin
Dominio
Infraestructura
Vistas
Controladores
Tareas
ServiciosAplicacin
ServiciosDominio
EntidadesDominio
PersistenciaDatos(Repositorioetc.)
InfraestructuraTransversal(Seguridad,Logging,etc.)
InfraestructuraTransversal(Libs. 3D, etc.)
InfraestructuraTransversal(Seguridad,Logging,etc.)
Arquitectura N Capas Orientada al Dominio (SIMPLIFICADO)
7/21/2019 01 Guia Arquitectura N Layer DDD Microsoft NET 4 0 Vision Global 1h 18-05-13
22/33
| Architecture
Fuentes
de Datos
Arquitectura N-Capas Orientada al Dominio (SIMPLIFICADO)
Servicios
Externos
Capa de Presentacin
Capa del Modelo deDominio/Negocio
Capa de Infraestructura dePersistenciade Datos, etc.)
Cap
asInfraestru
ctura
Transv
ersal
(S
eguridad,Op
eraciones,etc.)
Capa Servicios Distribuidos (Servicios-Web)
Capa de Aplicacin
Arquitectura N Capas con Orientacin al Dominio (DDD)
7/21/2019 01 Guia Arquitectura N Layer DDD Microsoft NET 4 0 Vision Global 1h 18-05-13
23/33
| Architecture
Presentacin
ComponentesServidor deAplicacin
Capa de Infraestructura de Persistencia de Datos
Repositorios(Implementacin)
Servicios del Dominio
Capa de Dominio
Capa Servicios Distribuidos (Servicios-Web)
Cliente Rico / RIA Cliente Web ASP.NET
Vistas IU
ControladoresAgentes
Servicio
Vistas IU
Controladores
Se
guridad
O
peraciones(Logg
ing,Monitorizaci
n,etc.)
Gestin
deExcepciones
FuentesDatos
PC
ClienteServidor Web
Arquitectura N-Capas con Orientacin al Dominio (DDD)
ServiciosExternos
Agentes Servicio
Bases (SuperTypes)
Modelo de DatosPersistencia
(ORMs: EF, NHibernate)
Entidadesdel
Dominio
Capa de Aplicacin
Contratos de Repositorios
Tareas Serviciosde App. DriversCasos Uso
Capas InfraestructuraTransversal
Bases (SuperTypes)
Workflows
Especificaciones de Consultas
ADO.NETEntity Framework V4.0
Cache
Hosting Service Bus
Access Control
Di L VS 2010
7/21/2019 01 Guia Arquitectura N Layer DDD Microsoft NET 4 0 Vision Global 1h 18-05-13
24/33
Diagrama LayerVS.2010
Relacin y mapeo con
proyectos y cdigo .NET
Validacin de la
Arquitectura contracdigo .NET del solution!
7/21/2019 01 Guia Arquitectura N Layer DDD Microsoft NET 4 0 Vision Global 1h 18-05-13
25/33
No solo Arquitectura...
Tambin proponemos
Diseo e implementacin en .NET 4.0...
(Entity Framework 4.0, Unity, WCF, WF, WPF,Silverlight, etc.)
7/21/2019 01 Guia Arquitectura N Layer DDD Microsoft NET 4 0 Vision Global 1h 18-05-13
26/33
Servicio
CustomerService
RepositorioCustomerRepository
Entidaddel
Dominio
Servicio delDominio
InterfazDel Servicio
EntidadCustomer
Capa de Dominio
Capa de
Infraestructura dePersistencia de Datos
Especificacinde Consulta(Contrato)
RepositorioInterfaz delRepositorio
(Contrato)
EspecificacinConsulta
7/21/2019 01 Guia Arquitectura N Layer DDD Microsoft NET 4 0 Vision Global 1h 18-05-13
27/33
- Estructura Solution App-Ejemplo- Unit-Testing y Desacoplamiento
7/21/2019 01 Guia Arquitectura N Layer DDD Microsoft NET 4 0 Vision Global 1h 18-05-13
28/33
N-Layer vs. N-Tier?
Capas Lgicas Niveles Fsicos
Son Complementarias!!..
(*) Detalles en sesin de Servicios Distribuidos
7/21/2019 01 Guia Arquitectura N Layer DDD Microsoft NET 4 0 Vision Global 1h 18-05-13
29/33
| Architecture
Patrones de Despliegue
- Arquitectura Fsica
- Arquitecturas N-Tier- Seguridad en Tiers
(*) Detalles en sesin de Servicios Distribuidos
7/21/2019 01 Guia Arquitectura N Layer DDD Microsoft NET 4 0 Vision Global 1h 18-05-13
30/33
| Architecture
Aspectos Transversales y QoS
-Seguridad
- Orientacin a Claims(WIF: Windows Identity Foundation, aka Geneva)
- Autenticacin, Autorizacin, Cifrado y Firma Elect.
- Cache- Windows Server AppFabric(WCF/WF Deployment andCache(Velocity)
- Gestin de Excepciones- Validaciones-Operacionesy Monitorizacin
-Performace Counters-Logging y Trazas-WMI
- Globalizaciny Localizacin
A D l l D t
7/21/2019 01 Guia Arquitectura N Layer DDD Microsoft NET 4 0 Vision Global 1h 18-05-13
31/33
| Architecture
Acceso Dual a los Datos
Presentacin
Infraestructura
ORM
Dominio
Vistas IU
Controladores
B.D. Tx.
Consultas(Informes, etc.)
Componentes Servidor Aplicaciones
LibreraAcceso Datos
Datawarehouse misma B.D.
7/21/2019 01 Guia Arquitectura N Layer DDD Microsoft NET 4 0 Vision Global 1h 18-05-13
32/33
A continuacin profundizamos!!
Sesion Capa Persistencia
Sesion Capa Dominio y App.
Sesion Capa Servicios-Distrib.
Sesion Capa Presentacin
Sesion Seguridad
Sesion Cache y A. Transversales
Sesion Desacoplamiento y SOLID
7/21/2019 01 Guia Arquitectura N Layer DDD Microsoft NET 4 0 Vision Global 1h 18-05-13
33/33
Csar de la TorreArchitect Advisor
Microsoft Divisin de Desarrolladores y Plataforma
" Blog: http://blogs.msdn.com/cesardelatorre
* Email: [email protected]
Contacto
Top Related