(D2) Practicas y componentes para el desarrollo con.NET : PAG y Application Blocks Diego González -...
-
Upload
fermin-baria -
Category
Documents
-
view
2 -
download
0
Transcript of (D2) Practicas y componentes para el desarrollo con.NET : PAG y Application Blocks Diego González -...
(D2) Practicas y (D2) Practicas y componentes para el componentes para el desarrollo con .NET : PAG desarrollo con .NET : PAG y Application Blocks y Application Blocks
Diego González - CTODiego González - [email protected]@lagash.com
AgendaAgenda
PAG y los Application BlocksPAG y los Application Blocks
Código !!!!Código !!!!
El futuro de los Application BlocksEl futuro de los Application Blocks
patterns & practicespatterns & practices
Recomendaciones específicas Recomendaciones específicas demostrando como diseñar, demostrando como diseñar, construir, implementar y operar construir, implementar y operar soluciones en entornos tecnicos y soluciones en entornos tecnicos y de negocios.de negocios.
Creado para arquitectos y desarrolladores; Creado para arquitectos y desarrolladores; Arquitectura diseño, desarrollo,Arquitectura diseño, desarrollo,
Implementación y operaciones de Implementación y operaciones de Aplicaciones propietarias.Aplicaciones propietarias.
Platform Architecture Guidance (PAG) teamPlatform Architecture Guidance (PAG) team
Application PlatformApplication Platform
Esta presentación se enfoca en el trabajo de PAG relacionado Esta presentación se enfoca en el trabajo de PAG relacionado conconApplication PlatformApplication Platform
Creado para profesionales de IT; Arquitectura, Creado para profesionales de IT; Arquitectura, diseño, implementación, y operaciones diseño, implementación, y operaciones
De la Infrastructura de IT incluyendoDe la Infrastructura de IT incluyendohardware de redeshardware de redes, y , y softwaresoftware
Core Infrastructure Solutions (CIS) teamCore Infrastructure Solutions (CIS) team
IT InfrastructureIT Infrastructure
Arquitecturas deArquitecturas deReferenciaReferencia
ApplicationApplicationBlocks Blocks
Guias sobre principios de arquitectura y solucionesGuias sobre principios de arquitectura y solucionescross-cutting como seguridad y performance cross-cutting como seguridad y performance
Formas de ayudarFormas de ayudar
PatronesPatrones
Soluciones atomicasSoluciones atomicasPara promlematicasPara promlematicas
recurrentesrecurrentes
Sub-sistemas para Sub-sistemas para servicios comunes.servicios comunes.
Sistemas para Sistemas para escenarios comunes escenarios comunes
en clientesen clientes
GuíasGuías
¿Cuántas veces…¿Cuántas veces…
……Alguna vez se preguntó? Alguna vez se preguntó? Muchas aplicaciones necesitan algo asíMuchas aplicaciones necesitan algo así
Los desarrolladores han escrito esto Los desarrolladores han escrito esto cientos de vecescientos de veces
Desearía encontrar una solución para Desearía encontrar una solución para esto que pueda reutilizaresto que pueda reutilizar
……
Application Block = “Esto”Application Block = “Esto”
Reusable, extensible, modificableReusable, extensible, modificableMecanismos comunes Mecanismos comunes
LoggingLogging
CachingCaching
Administración de configuraciónAdministración de configuración
Fragmentos reutilizables de arquitecturaFragmentos reutilizables de arquitectura
User interface process managementUser interface process management
Smart disconnected clientSmart disconnected clientService aggregation…Service aggregation…
Block = Componente Block = Componente o o FrameworkFramework
APIs para implementar soluciones APIs para implementar soluciones Al nivel de abstracción que se ajuste para su Al nivel de abstracción que se ajuste para su aplicaciónaplicación
Comportamiento configurableComportamiento configurableReduce la necesidad de modificarReduce la necesidad de modificar
Plug-ins o ProveedoresPlug-ins o ProveedoresPermite seleccionar la estrategia y reducir Permite seleccionar la estrategia y reducir dependencias opcionalesdependencias opcionales
Resuelve fragmentos de la arquitectura de Resuelve fragmentos de la arquitectura de su aplicaciónsu aplicación
Classes base, interfaces, patronesClasses base, interfaces, patrones
Bloques actualesBloques actuales
`
UI ComponentsUI Components
UI Process ComponentsUI Process Components
Service GatewaysService Gateways
Service InterfaceService Interface
Business ComponentsBusiness Components
Data AccessData AccessComponentsComponents
ServiceServiceGatewaysGateways
`
Application Updater
Asynch InvocationAsynch Invocation
Authorization & Profile
Caching
Config Management
Data AccessData Access
Exception Management
Logging
Service AggregationService Aggregation
Smart Client OfflineSmart Client Offline
UIPUIP
Op
era
tion
al M
an
ag
em
en
t
Se
cu
rity
Co
mm
un
ica
tion
CódigoCódigo
Futuro de los app blocksFuturo de los app blocks
Application Blocks LibraryApplication Blocks Library
Desarrollados siguiendo un patrón Desarrollados siguiendo un patrón consistente y principios únicos de consistente y principios únicos de desarrollodesarrollo
Desarrollados para incentivar a la Desarrollados para incentivar a la comunidad a participarcomunidad a participar
Desarrollados por partners de PAGDesarrollados por partners de PAG
SecuritySecurity
CryptoCrypto
ConfigConfigRun-TimeRun-Time
ConfigConfigToolingTooling
Data Data AccessAccess
LoggingLoggingCachingCaching
ExceptionsExceptions
Block Library v1Block Library v1
Consistencia Consistencia
Principios de diseño e Principios de diseño e implementaciónimplementación
ConfiguraciónConfiguración
DocumentaciónDocumentación
Tests Tests
HerramientasHerramientas
EjemplosEjemplos
Requerimientos operacionalesRequerimientos operacionales
Procedimientos de instalaciónProcedimientos de instalación
Facilidad de UsoFacilidad de Uso
Herramientas de configuraciónHerramientas de configuración
Instalación e implementación Instalación e implementación simplificada simplificada
Documentación y ejemplos Documentación y ejemplos mejoradosmejorados
IntegraciónIntegración
Distribuidos como Distribuidos como assembliesassemblies integradosintegrados
La configuración ayuda a utilizar La configuración ayuda a utilizar todos los bloques en una aplicacióntodos los bloques en una aplicación
Muchos bloques se usan como Muchos bloques se usan como proveedores para otros bloquesproveedores para otros bloques
ExtensibilidadExtensibilidad
Plug-InsPlug-Ins
Implementaciones de bloques Implementaciones de bloques reemplazablesreemplazables
Guias sobre como crear nuevos bloquesGuias sobre como crear nuevos bloquesPrincipios y patrones Principios y patrones de diseñode diseño
Utilización de la Utilización de la herramienta de herramienta de configuraciónconfiguración
Guías de Guías de documentación documentación y templatesy templates
Requerimientos Requerimientos de de testingtesting
SecuritySecurity
CryptoCrypto
ConfigConfigRun-TimeRun-Time
ConfigConfigToolingTooling
Data Data AccessAccess
LoggingLoggingCachingCaching
ExceptionsExceptions
Mas informaciónMas información
http://msdn.microsoft.com/http://msdn.microsoft.com/architecturearchitecture
http://msdn.microsoft.com/practiceshttp://msdn.microsoft.com/practices
http://msdn.microsoft.com/http://msdn.microsoft.com/webserviceswebservices