Documentos de Académico
Documentos de Profesional
Documentos de Cultura
necesidades
¿Qué es PATRONES
Evolucionar
DDD? ARQUITECTURA hacia
Expresar Aislar el DDD
objetivos ¿COMO? dominio con
Nuestros pilares
Encapsular
con y Patrones de
Arquitectura
¿Cómo? DDD
Cesar de la Torre
Architect Advisor
Microsoft - DPE
" Blog: http://blogs.msdn.com/cesardelatorre
* Email: cesardl@microsoft.com
Background y Necesidades
| Architecture
2010: Muchas novedades ola „.NET 4.0‟
ADO.NET
Entity Framework V4.0
| Architecture
Novedades ola „.NET 4.0‟
ADO.NET
Entity Framework V4.0
| Architecture
Novedades ola „.NET 4.0‟
Arquitectura
ADO.NET
Entity Framework V4.0
| Architecture
Novedades ola „.NET 4.0‟
Architecture
ADO.NET
Entity Framework V4.0
ADO.NET
Entity Framework V4.0
| Architecture
¿Cómo?
| Architecture
Objetivos de - Guía de Arquitectura -
Estandarización y homogenización
Arquitectura.NET. (Nivel Org./Empresa)
| Architecture
“Libro
Blanco”
Aplicación Ejemplo
Pública en (OSS License)
Colaboración Comunidad
| Architecture
Tipos de Aplicaciones objetivo
Aplicaciones Empresariales Complejas
Áreas: Financiero, Seguros, Telcos, ISVs, Retail, etc.
| Architecture
Site Arquitectura MSDN-España
Documentación Arquitectura (Download libre)
http://msdn.microsoft.com/es-es/architecture/default.aspx
| Architecture
Guía-Libro
„Guía de Arquitectura „N-Layer DDD‟
con .NET 4.0‟
| Architecture
App. Ejemplo en CODEPLEX
http://microsoftnlayerapp.codeplex.com/
| Architecture
Demo de Aplicación Ejemplo
basada en „Arquitectura N-Layer
Orientada al Dominio‟
| 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 está incluido en esta Guía de
Arquitectura.
Arquitectura
y Diseño
Feedback de
Desarrollo
desarrolladores
| Architecture
DDD: Domain Driven Design
80% Arquitectura
20%
(*) En esta Arquitectura solo nos centramos en
este 20%
| Architecture
¿Cuándo DDD (Domain Driven Design)?
| Architecture
Pilares de la Arquitectura Propuesta
| Architecture
Principios „SOLID‟ en Desarrollo
Single Responsability Principle
«Una clase solo debe tener una razón para cambiar»
| Architecture
Tendencias de Arquitectura en DDD
- «Ciertos Aspectos Arquitectura DDD interesantes…»
| Architecture
Patrones originales en DDD
| Architecture
Patrones en DDD
QUERY UNIT
SPECIFICATIONS OF WORK
POCO / IPOCO
IoC IoC
MVVM, MVC, MVP CQRS Containers
Patterns CONTAINERS
| Architecture
DDD Architecture (Eric Evans’ Diagram)
Views
User
Controllers
Interface
Tasks
Applciation Application
Services
Domain
Services
Domain
Domain Entities
CrossCutting CrossCutting
Infrastructure Infrastructure
Infrastructure (Security,
Logging, Data Access
(Security,
Logging,
CrossCutting
etc.) & Persistence etc.) Infrastructure
(Repositories (3D Graph Libs,
etc.)
etc.)
| Architecture
Arquitectura N-Capas Orientada al Dominio – (Versión Simplificada)
Capas de Presentación
Capas Infraestructura Transversal
(Seguridad, Operaciones, etc.)
Capa de Aplicación
Capa de Infraestructura de
Persistencia de Datos, etc.)
Servicios
Externos
Fuentes
| Architecture Datos
Arquitectura N-Capas Orientada al Dominio – (Versión Completa)
Capas Infraestructura
Transversal ‘Cliente Rico’ / RIA Cliente Servidor Web
Vistas UI Vistas UI
Agentes de
Controladores Controladores
Servicios
Operaciones (Logging, Monitorización, etc.)
Presentación
Capa de Aplicación
Seguridad
Servicios de Adaptadores
Workflows
Cache
Servicios
Externos
Fuentes
| Architecture Datos
Diagrama Layer VS.2010
¡Validación de la
Arquitectura contra
código .NET del solution!
| Architecture
No solo Arquitectura...
| Architecture
Servicio Entidad Especificación Repositorio
CustomerService “Customer” Consulta CustomerRepository
Interfaz Repositorio
Del Servicio Entidad Interfaz del
del Repositorio
Dominio Especificación (Contrato)
de Consulta
(Contrato)
¡¡Métodos con
lógica de
negocio de la
entidad!!
Servicio del
Dominio
Capa de
Capa de Aplicación Capa de Dominio Infraestructura de
| Architecture Persistencia de Datos
[LABS]
- Estructura Solution App-Ejemplo
- Unit-Testing y Desacoplamiento
| Architecture
¿N-Layer vs. N-Tier?
Son Complementarias!!..
| Architecture
Patrones de Despliegue
- Arquitectura Física
- Arquitecturas N-Tier
- Seguridad en Tiers
| Architecture
Aspectos Transversales y QoS
-Seguridad
- Orientación a Claims
(WIF: Windows Identity Foundation, aka ‘Geneva’)
- Autenticación, Autorización, Cifrado y Firma Elect.
- Cache
- Windows Server AppFabric (WCF/WF Deployment and
Cache (“Velocity”)
- Gestión de Excepciones
- Validaciones
-Operaciones y Monitorización
-Performace Counters
-Logging y Trazas
-WMI
- Globalización y Localización
| Architecture
Evolución a siguientes versiones
Esta Arquitectura y Aplicación ejemplo es algo vivo y
en constante evolución a nuevos „sabores‟
Convergencia a Cloud-Computing
Aplicaciones escalables en Windows Azure
CQRS Pattern (Command and Query Responsibility Segregation)
Nuevas aplicaciones cliente
HTML5
OBA: VSTO (Excel/Outlook)
Windows Phone 7 (Silverlight)
Seguridad Claims Orientation (WIF + ADFS 2.0)
| Architecture
Próximos pasos en training
| Architecture
¡Gracias!
César de la Torre
Architect Evangelist
Microsoft – DPE
| Architecture