(D2) Practicas y componentes para el desarrollo con.NET : PAG y Application Blocks Diego González -...

17
(D2) Practicas y (D2) Practicas y componentes para el componentes para el desarrollo con .NET : desarrollo con .NET : PAG y Application PAG y Application Blocks Blocks Diego González - CTO Diego González - CTO [email protected] [email protected]

Transcript of (D2) Practicas y componentes para el desarrollo con.NET : PAG y Application Blocks Diego González -...

Page 1: (D2) Practicas y componentes para el desarrollo con.NET : PAG y Application Blocks Diego González - CTO diegog@lagash.com.

(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

Page 2: (D2) Practicas y componentes para el desarrollo con.NET : PAG y Application Blocks Diego González - CTO diegog@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

Page 3: (D2) Practicas y componentes para el desarrollo con.NET : PAG y Application Blocks Diego González - CTO diegog@lagash.com.

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

Page 4: (D2) Practicas y componentes para el desarrollo con.NET : PAG y Application Blocks Diego González - CTO diegog@lagash.com.

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

Page 5: (D2) Practicas y componentes para el desarrollo con.NET : PAG y Application Blocks Diego González - CTO diegog@lagash.com.

¿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

……

Page 6: (D2) Practicas y componentes para el desarrollo con.NET : PAG y Application Blocks Diego González - CTO diegog@lagash.com.

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…

Page 7: (D2) Practicas y componentes para el desarrollo con.NET : PAG y Application Blocks Diego González - CTO diegog@lagash.com.

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

Page 8: (D2) Practicas y componentes para el desarrollo con.NET : PAG y Application Blocks Diego González - CTO diegog@lagash.com.

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

Page 9: (D2) Practicas y componentes para el desarrollo con.NET : PAG y Application Blocks Diego González - CTO diegog@lagash.com.

CódigoCódigo

Page 10: (D2) Practicas y componentes para el desarrollo con.NET : PAG y Application Blocks Diego González - CTO diegog@lagash.com.

Futuro de los app blocksFuturo de los app blocks

Page 11: (D2) Practicas y componentes para el desarrollo con.NET : PAG y Application Blocks Diego González - CTO diegog@lagash.com.

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

Page 12: (D2) Practicas y componentes para el desarrollo con.NET : PAG y Application Blocks Diego González - CTO diegog@lagash.com.

SecuritySecurity

CryptoCrypto

ConfigConfigRun-TimeRun-Time

ConfigConfigToolingTooling

Data Data AccessAccess

LoggingLoggingCachingCaching

ExceptionsExceptions

Block Library v1Block Library v1

Page 13: (D2) Practicas y componentes para el desarrollo con.NET : PAG y Application Blocks Diego González - CTO diegog@lagash.com.

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

Page 14: (D2) Practicas y componentes para el desarrollo con.NET : PAG y Application Blocks Diego González - CTO diegog@lagash.com.

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

Page 15: (D2) Practicas y componentes para el desarrollo con.NET : PAG y Application Blocks Diego González - CTO diegog@lagash.com.

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

Page 16: (D2) Practicas y componentes para el desarrollo con.NET : PAG y Application Blocks Diego González - CTO diegog@lagash.com.

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

Page 17: (D2) Practicas y componentes para el desarrollo con.NET : PAG y Application Blocks Diego González - CTO diegog@lagash.com.

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