“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.

Slides:



Advertisements
Presentaciones similares
Descripción general de la presentación
Advertisements

Desarrollo de aplicaciones en n- capas
U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.
INGENIERÍA DE SOFTWARE Introducción Arquitectura de Software
BizTalk Server 2006: Sistemas Distribuidos Kabel Sistemas S.L.
3/24/2017 3:59 PM © Microsoft Corporation. All rights reserved.
Managed Services Consultant
Diseño de Aplicaciones SOA usando Visual Studio Team System
Administración de actualizaciones de seguridad
Los objetivos de esta presentación
Descripción técnica de Microsoft Virtual Server 2005 R2.
Octubre 2004 Soluciones de Hosting y Outsourcing sobre Plataforma Microsoft Soluciones de Outsourcing Fernando Andrés Director Desarrollo de Negocio Communication.
Microsoft Office Sharepoint Server Business Intelligence Rubén Alonso Cebrián Código: HOL-SPS07.
2011Integración de Aplicaciones Desarrollo Basado en Componentes.
Confidencial Enero, 2013 Nologin Consulting Corus Server Appliance & Authentication Broker.
BASES DE DATOS CLIENTE SERVIDOR Y DISTRIBUIDAS
Arquitectura del sistema
Arquitectura Orientada a Servicios (SOA)
MI PROGRAMA DE FORMACION
Haga clic para modificar el Nombre del autor Puesto del autor Aplicaciones colaborativas Oferta.
Solución tecnológica en Petrobras Energía S. A
Tecnología Cliente Servidor
Diseño e implementación de un ambiente virtualizado para un Sistema de Administración de Contenidos usando Microsoft SharePoint con cada uno de sus componentes.
Arquitectura de la Aplicación
Acceso a datos y paso de datos entre capas
WINDOWS AZURE CONNECT.
(D2) Practicas y componentes para el desarrollo con.NET : PAG y Application Blocks Diego González - CTO
Ventajas y Soportes para los ISVs
Comparación entre la implementación de aplicaciones PHP y ASP.NET 2.0
XI Forum Arquitectos de Software .NET Innovación y Empresa
Características Técnicas
ACIS Desarrollar proyectos de software y “evitar” el fracaso ?
Características Técnicas
Características Técnicas
VPN de Banda Ancha como alternativa a la Red de Datos dedicados Soluciones Integrales de Internet para empresas.
Un ejemplo de uso de Web Services Hay veces en las que aprendemos algo y nos preguntamos: ¿cómo se usará esto en la práctica? ¿Cómo las aplicaciones clientes.
Principios y Patrones de Diseño
Contexto: Aplicación gráfica.  Siempre que se piensa en separar la funcionalidad de una aplicación de su interacción con el usuario, bien sea una aplicación.
Remoting.Net Michel Rener. TEMARIO ¿Qué es una Aplicación Distribuida? ¿Qué es una Aplicación basada en Cliente/Servidor? ¿Qué es la Tecnología de Objetos.
Debido a la persecución de la obtención de la excelencia en la cadena de valor de las organizaciones mediante la optimización de procesos de negocio (BPM),
Patrones Creacionales
ANDRES FELIPE BORRERO SALAZAR COD ALEXANDRA CARREÑO SALAS COD LUCIO ANIBAL CRIOLLO COD ALEJANDRO RUIZ IDROBO COD
Reduciendo el espacio entre Tecnología y Negocio: Arquitecturas de Referencia Carlos Oramas (Microsoft) Alberto Ruiz (IECISA) Julio Bravo (FCC)
Lenguajes de Programación Tema 3
Tutor: Ing. Juan E. Talavera Horn 2010 GWT – EJB Patrones de diseño e integración.
Windows Azure Desde el punto de vista de un IT Pro.
Desarrollo de aplicaciones para ambientes distribuidos
¿QUE NO ES? COMPUTADORES EN LAS NUBES Es un paradigma que permite ofrecer servicios de computación a través de Internet. Los usuarios puedan acceder.
Enterprise Java Beans. EJBs Beans gestionados por un contenedor del servidor de aplicaciones para gestionar el acceso a recursos (bases de datos, colas.
Cloud Computing. ¿Qué es Cloud Computing? Definiciones Refers to the bigger picture…basically the broad concept of using the internet to allow people.
SOFTWARE PARA PAGOS DE SUELDOS Patrones de Diseño
ACIS Desarrollar proyectos de software y “evitar” el fracaso ? Por Bernardo Díaz Arias Arquitectura.
FRAMEWORK VS Código fuente
Load Balancing Azure David Rendón. Agenda Demo FAQS ¿Qué es Load Balancing? ¿Por qué Load Balancing?
Adaptandonos al cambio Martin Vivas BUSINESS MODEL.
Implementación de la Arquitectura Empresarial
Abdelahad, Yanina Zoraida Abdelahad, Corina Natalia Perez, Norma Beatriz Abril de 2003.
1. Introducción a los Sistemas de Internet Gestión de Sistemas en Internet Universidad Antonio de Nebrija 2003/04 Justo N. Hidalgo Sanz.
CONTRATOS DE CLIENTES Orlando Sedamano Cornejo Marco Bustinza
DISEÑO CURRICULAR Presentado por: Cesar Augusto Sáenz María Alejandra Hernández 1.contenidos curriculares de competencia.
Cómo crear tu primer MVC WebPart en Sharepoint 2010 Ing. Randall Barnett Villalobos, Mci DBA / Developer Instituto Costarricense de Electricidad.
Taller de Inteligencia de Negocios SQL Server Integration Services SSIS Semana 2.
• SQL Server Integration Services SSIS
• SQL Server Integration Services SSIS
Patrones de Diseño Agustín J. González ElO329.
Arquitectura de aplicaciones
MODELAMIENTO VISUAL Y UML
Keynote IBM Rational Software Development Conference 2008 © 2008 IBM Corporation ® Estrategia IBM Software Habilitando la innovación en un mundo complejo.
Definición: Es un estilo de programación, su objetivo primordial es la separación de la capa de presentación, capa de negocio y la capa de datos. ARQUITECTURA.
Taller de Inteligencia de Negocios SQL Server Integration Services SSIS Sesión 2.
Transcripción de la presentación:

“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 - eugeniop@microsoft.com Product Manager patterns & practices

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

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

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

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

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

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

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

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

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

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

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

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

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#

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

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

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

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

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?

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

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

Organizando el pensamiento

Organizando el pensamiento

Organizando el pensamiento Arquitectura Diseño Implementación

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

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

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

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

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

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

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

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

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

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

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

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

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

Arquitectura de base

Implementación

Infraestructura

Patrones de Aplicacion

Patrones de Integración

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 http://msdn.microsoft.com/practices Eugenio Pace email: eugeniop@microsoft.com

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