La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

“Un sistema complejo que funciona, casi siempre ha evolucionado a partir de un sistema simple que funciona. Un sistema complejo diseñado desde cero, casi.

Presentaciones similares


Presentación del tema: "“Un sistema complejo que funciona, casi siempre ha evolucionado a partir de un sistema simple que funciona. Un sistema complejo diseñado desde cero, casi."— Transcripción de la presentación:

1 “Un sistema complejo que funciona, casi siempre ha evolucionado a partir de un sistema simple que funciona. Un sistema complejo diseñado desde cero, casi nunca funciona y es imposible de arreglar. En esa situación, debe comenzarse de nuevo con un sistema simple que funciona” - John Gall en Systemantics: How Systems Really Work and How They Fail Patrones: Cuándo y Por qué utilizarlos en la implementación de arquitecturas corporativas Eugenio Pace - Product Manager patterns & practices

2 Agenda Qué es un patrón? Ejemplos Organizando patrones
Patrones para construir una aplicacion More detailed look into MVC Recursos disponibles

3 Construyendo una casa …….
Guías de diseño Planos Patrones Taxonomia Materiales Personas Proceso

4 Construyendo una casa …….
Guías de diseño Planos Taxonomy People Cimientos Techos Pisos Paredes Electricidad Canerias Calefaccion Estructura Cieloraso Zocalos Ceramicas Rebar Concrete Patrones Taxonomy Taxonomia Materiales Personas People Proceso

5 Construyendo una casa …….
Guías de diseño Planos Patrones Taxonomia Materiales Personas Proceso

6 Construyendo una casa …….
Guías de diseño Planos Patrones Taxonomia Materiales Personas Proceso

7 Construyendo una casa …….
Guías de diseño Planos Fir, #2 2”x4”x8’ boards 412 ASTM 4’x8’x ½” placas 120 20 psf load 48’ listones 24 NM 12-2 12” Cable 350’ DWV ½ “ cano cobre 200’ Spec Descripcion Cant Lista de Materiales Patrones Materiales Taxonomia Personas Proceso

8 Construyendo una casa …….
Country Tilt-up Departamentos PH Stick Frame Pre-hung doors Truss Frame Petit Hotel Post and Beam Pre-fab trusses Framing patterns Patrones de cableados Patrones Guías de diseño Planos Patrones Taxonomia Materiales Personas Proceso

9 Construyendo una aplicación …….
Guias de diseño Planos Patrones Taxonomia Elementos Personas Proceso

10 Construyendo una aplicación …….
Guias de diseño Planos Patrones Taxonomia Elementos Personas Proceso

11 Construyendo una aplicacion …….
Guias Guias de diseño Planos Local – dentro de la compañía Industria - principios Patrones Taxonomia Elementos Personas Proceso

12 Construyendo una aplicación …….
Guias de diseño Planos Patrones Taxonomia Elementos Personas Proceso

13 Construyendo una aplicación …….
Guias de diseño Planos Elementos Application Controller (Custom) 1 PAG Data Access Component Microsoft SQL Server Microsoft Windows Server 2003 3 Microsoft ASP.NET Descripción Cant. Patrones Taxonomia Elementos Personas Proceso

14 Construyendo una aplicación …….
Patrones Aplicación en capas Guias de diseño Planos Distribución de componentes Broker Model-View-Controller Patrones Observer Facade Gateway Taxonomia Elementos Implementando MVC con ASP.NET Personas Proceso Implementando Singleton con C#

15 Qué es un patrón? Es una solución A un problema recurrente
En un contexto dado Un patrón describe un problema frecuente que ocurre en un contexto determinado y propone una solución al mismo Es “incompleto” por naturaleza

16 Por qué son importantes?
No “reinventar la rueda”  Mayor eficienca  Reduccion de riesgos

17 Singleton Contexto: Problema:
Controlar el acceso a una clase controlando su instanciación Problema: Ciertos tipos de datos necesitan ser accedidos y mantenidos globalmente Esta información es única a lo largo de todo el sistema Ejemplo: un contador

18 Singleton Solución: public class Counter {
private static Counter _instance = null; private Counter() {} public static Counter getInstance() if (_instance==null) _instance = new Counter(); } return _instance; //... functions provided by Counter

19 Arquitectura en capas Contexto: Problema:
Diseño de una aplicación de negocios compleja, con multiples componentes y numerosos niveles de abstracción Problema: Como estructurar dicha solución para que cumpla con requerimientos de mantenibilidad, escalabilidad, seguridad y reusabilidad demandados?

20 Data Access Components
Arquitectura en capas Users Operational Management Security Communication UI Components UI Process Components Service Interfaces Business Workflows Business Components Business Entities Data Access Components Service Agents Data Sources Services

21 Solución de ingeniería
Patrones y soluciones Requirimientos Packaged Software Custom Software Hardware Patterns Solución de ingeniería Packaged Software Custom Software Hardware

22 Organizando el pensamiento

23 Organizando el pensamiento

24 Organizando el pensamiento
Arquitectura Diseño Implementación

25 Organizando el pensamiento
Datos Apl. Deploy Infraestructura Arquitectura Diseño Implementación

26 Patrones Datos Aplicación Deployment Infraestructura Arquitectura
Diseño Implementación

27 Patrones –Languaje de soluciones
Aplicación en capas Aplicación en 3 capas Aplicación con capas de servicio

28 Patrones –Languaje de soluciones
Datos Aplicación Deployment Infraestructura Aplicación en capas Arquitectura Diseño Implementación Aplicación en 3 capas Aplicación con capas de servicio

29 Patrones –Languaje de soluciones
Datos Aplicación Deployment Infraestructura Aplicacion en capas Distribución en n-nodos Arquitectura Diseño Implementación Aplicación en 3 capas Aplicación con capas de servicio 3-nodos 4-Tier

30 Patrones –Languaje de soluciones
Datos Aplicación Deployment Infraestructura Layered Application 4-Tier 3-Tier Tiered Distribution Arquitectura Diseño Implementación Three Layered Application Layered Services Application Simple Web Complex Web Rich Client Ext. Enterprise

31 Arquitectura Deployment Aplicación Infraestructura Complex Web App
Seguridad Reuso de componentes Administrabilidad Performance Discrete Logical Layers Data & Functional Analysis Flexibilidad Administrabilidad Bajo acoplamiento Tiered Distribution Escalabilidad Disponibilidad Performance Seguridad

32 Diseño Deployment Aplicación Infraestructura Diseño de clases:
Dependencias Mapeo de Procesos a Procesadores Diseño de clases: Seguridad Comunicaciones Acceso a datos Excepciones Logging Clusters Zonas Policies Protocolos Enlaces

33 Implementación Deployment Aplicación Infraestructura
Dependencias de configuración Distribución – Componentes, Maquinas, Files… Implementación de Clases & Mecanismos Product usage – eg: .NET Web Services Spec de Hardware y Configuración IP Addresses Ports Nombres de Servers & Files

34 Patrones - Clusters Datos Arquitectura Diseño Implementación
Aplicación Deployment Infraestructura Arquitectura Diseño Implementación

35 Patrones - Clusters Componentes Datos Arquitectura Diseno
Aplicacion Deployment Infraestructura Arquitectura Diseno Implementacion Componentes

36 Patrones - Clusters Componentes Framework de presentacion Datos
Aplicacion Deployment Infraestructura Arquitectura Diseno Implementacion Componentes Framework de presentacion

37 Patrones - Clusters Components Seguridad Presentation Framework Datos
Aplicación Deployment Infraestructura Arquitectura Diseño Implementación Components Seguridad Presentation Framework

38

39 Arquitectura de base

40 Implementación

41 Infraestructura

42 Patrones de Aplicacion

43 Patrones de Integración

44 Recursos adicionales Las guias de Patterns & practices, son la recomendacion de Microsoft a arqitectos, desarrolldores, y profesinales de IT responsables por la produccion y operacion de soluciones corporativas con tecnologia Microsoft Eugenio Pace

45 © 2004 Microsoft Corporation. All rights reserved
© 2004 Microsoft Corporation. All rights reserved. MICROSOFT CONFIDENTIAL. INTERNAL USE ONLY.


Descargar ppt "“Un sistema complejo que funciona, casi siempre ha evolucionado a partir de un sistema simple que funciona. Un sistema complejo diseñado desde cero, casi."

Presentaciones similares


Anuncios Google