01_Arquitectura de Sistemas

46
Arquitectura de Sistemas M.B.A. Ing. Luis H. Vidal V. [email protected]

Transcript of 01_Arquitectura de Sistemas

Page 1: 01_Arquitectura de Sistemas

Arquitectura de Sistemas

M.B.A. Ing. Luis H. Vidal V.

[email protected]

Page 2: 01_Arquitectura de Sistemas

Aprendizajes/Desempeños esperados

• 1.1 Comprende el concepto de Arquitectura de Sistemas e identifica los principales conceptos asociados.

Page 3: 01_Arquitectura de Sistemas

• La mayor parte de las empresas modernas comienzan asubdividir las antiguas unidades de sistemas en dos gruposde trabajo bien diferenciados: (a) aquellos que se encargande la infraestructura y (b) los que comienzan a denominarsearquitectos de sistemas.

Introducción

Page 4: 01_Arquitectura de Sistemas

Introducción

(a) aquellos que se encargan de la infraestructura.

Page 5: 01_Arquitectura de Sistemas

Introducción

(b) los que comienzan a denominarse arquitectos de sistemas.

Page 6: 01_Arquitectura de Sistemas

¿Qué entendemos por arquitectura en relación a un proyecto informático?

Page 7: 01_Arquitectura de Sistemas

• Entendemos por arquitectura en un proyecto informático ala disposición conjunta y ordenada de elementos software yhardware para cumplir una determinada función.

• No es difícil de comprender que si mezclamos arquitecturasdistintas e inconsistentes sin ningún tipo de orden oplanificación el proyecto se puede convertir fácilmente eningobernable, tanto o más cuanto mayor sea la envergaduradel mismo.

Introducción.

Page 8: 01_Arquitectura de Sistemas

• La mayoría de las organizaciones suelen favorecer (de formaplanificada o no) unas configuraciones concretas.

• La arquitectura de cada empresa debería describir estasconfiguraciones y el entorno que facilite crear nuevasfuncionalidades que encajen en ella, incluyendo directivas,componentes de software reutilizables, herramientas, etc.

Introducción

Page 9: 01_Arquitectura de Sistemas

• Para facilitar que las nuevas funcionalidades de que dotemosa nuestra arquitectura sean consistentes con el sistemaactual y las posibles modificaciones futuras de este,necesitamos conocer dicha arquitectura, pero es mucho masimportante conocer la arquitectura operativa yorganizacional de la empresa.

Introducción

Page 10: 01_Arquitectura de Sistemas

• Una distinción importante es la que existe entre laarquitectura de una simple aplicación (micro arquitectura)y la que existe entre y a través de las distintas aplicaciones(macro arquitectura).

• No hace falta decir que esta última es la mas compleja eimportante.

Introducción

Page 11: 01_Arquitectura de Sistemas

Preguntas del capítulo

• En relación a sus sistemas tecnológicos (arquitecturas), ¿cómo se divide el trabajo en la mayoría de la empresas modernas?.

• ¿Qué entendemos por arquitectura en relación a un proyecto informático?

• Indique al menos 3 ejemplos de configuraciones concretas que empresas empleen en sus desarrollos tecnológicos.

• Describa un ejemplo de directiva de desarrollo de software empleada en empresas.

• Indique diferencias entre microarquitectura y macroarquitectura, contextualice con un ejemplo.

Page 12: 01_Arquitectura de Sistemas

¿Cuál es el papel de la arquitectura en una organización?

Page 13: 01_Arquitectura de Sistemas

• Imaginemos que nuestra organización consta de cuatrocapas.

I. La capa superior está formada por las actividades propias de laorganización en si misma.

II. Debajo se encontrarían las aplicaciones informáticas quesoportan y facilitan esas actividades.

III. Por debajo de las aplicaciones se encuentra la arquitectura quefacilita que estas se desarrollen y ejecuten.

IV. En último lugar, yace la infraestructura como el hardware o lasredes físicas.

La arquitectura en una organización.

Page 14: 01_Arquitectura de Sistemas

• Esta subdivisión en cuatro capas nos facilita determinar elpapel que desempeña la arquitectura dentro de unaorganización.

• Cada capa actúa como cliente de la capa inferior a ella ycomo servidor de la capa superior.

• Los arquitectos no deberían malgastar su tiempo en temasrelacionados con la infraestructura, tales como el sistemaoperativo o los dispositivos de interconexión de redes.

La arquitectura en una organización.

Page 15: 01_Arquitectura de Sistemas

• La mejor forma de separar la arquitectura de lainfraestructura es tener en mente el esquema de cuatrocapas antes mencionado: la infraestructura debe de darsoporte a la arquitectura.

• Mezclar erróneamente conceptos de una y otra capa es unerror muy común en muchas organizaciones.

La arquitectura en una organización.

Page 16: 01_Arquitectura de Sistemas

• Un error en el que no debe de caer un arquitecto desistemas es ser demasiado preceptivo.

• Introducir demasiadas normas que creen una excesivarigidez provocará problemas en el desarrollo de aplicaciones.

La arquitectura en una organización.

Page 17: 01_Arquitectura de Sistemas

• Un buen arquitecto de sistemas debe de tener siempre enmente que su principal finalidad es permitir la creación deaplicaciones, facilitando la creatividad y la innovación de loscreadores de las mismas.

La arquitectura en una organización.

Page 18: 01_Arquitectura de Sistemas

• La arquitectura de sistemas en los tiempos en los que sóloexistían los mainframes era muy sencilla: existía un lugarpara cada cosa y cada cosa tenía su lugar adecuado.

• Con el paso de los años y siempre en busca de una mayorflexibilidad se han ido introduciendo estructuras cada vezmas y mas complejas: arquitectura cliente / servidor,arquitectura a tres capas, data warehouses, objetosdistribuidos, arquitecturas webs y más.

La arquitectura en una organización.

Page 19: 01_Arquitectura de Sistemas

• Un buen arquitecto debería de empezar por recordar que sutrabajo es hacer la vida mas fácil a los desarrolladores, y noal revés...

La arquitectura en una organización.

Page 20: 01_Arquitectura de Sistemas

• Existe otra idea que subyace tras todos los enfoques, laespecialización: dividir los problemas en sus partesconstituyentes y resolverlas separadamente con equipos deespecialistas centrados en un área única.

• La especialización deja dos puntos sin respuesta: (a) comodividir los sistemas para que puedan ser definidosseparadamente y (b) como unirlos posteriormente paraformar un todo homogéneo. Estos son los principales retosde la arquitectura de sistemas.

La arquitectura en una organización.

Page 21: 01_Arquitectura de Sistemas

Preguntas del capítulo

• ¿Cuál es el papel de la arquitectura en una organización?

• Describa las 4 capas propuestas para describir la arquitectura de una organización.

• ¿Cuál es la mejor forma de separar la arquitectura de la infraestructura en una organización?.

• ¿Qué significa y que efectos conlleva que un arquitecto de sistemas sea demasiado preceptivo?.

• ¿Cuáles son los principales retos de la arquitectura de sistemas?.

Page 22: 01_Arquitectura de Sistemas

Pero, y desde el punto de vista de la empresa u organización ¿qué características debería de

reunir la arquitectura de sistemas?

Page 23: 01_Arquitectura de Sistemas

• Si la mejora en los procesos y aplicaciones redunda en un mejor rendimiento de la empresa, y si para mejorar las aplicaciones necesitamos mejorar los sistemas, entonces la arquitectura de sistemas debería de ser el vehículo de desarrollo de ambos.

• En la práctica la arquitectura de los sistemas actuales constituyen, en muchos casos, grandes obstáculos para los dos.

Arquitectura Evolutiva

Page 24: 01_Arquitectura de Sistemas

• A principios de los años 90, la arquitectura de sistemas noiba mas allá de una mera planificación.

• Definimos una arquitectura objetivo e ideamos unaestrategia y una planificación para completarla dentro deunos determinados plazos de tiempo.

Arquitectura Evolutiva

Page 25: 01_Arquitectura de Sistemas

• La principal ventaja de este enfoque es que la hacecomprensible a los ejecutivos, pues es similar a la forma enque tienen en dirigir sus negocios.

• El principal inconveniente es que no funciona. Comienzadefiniendo una arquitectura objetivo y esto es un error.

Arquitectura Evolutiva

Page 26: 01_Arquitectura de Sistemas

• El único objetivo que debe de tener en mente el arquitectode sistemas es el de la organización para la que trabaja, si notarde o temprano entrara en conflicto con el.

• La arquitectura del sistema debe de ser lo suficientementeflexible como para acomodarse a los cambios de objetivos dela organización. Esta es la clave principal para asegurar sulongevidad.

Arquitectura Evolutiva

Page 27: 01_Arquitectura de Sistemas

• La segunda clave a tener en cuenta es la que nosproporciona la mejor forma de medir la bondad de unaarquitectura: la forma en que sustenta a las aplicaciones quesustentan a la organización.

• La mejor forma de verlo es estudiar, dada una nuevafuncionalidad necesaria para nuestra empresa, como laarquitectura del sistema facilita su desarrollo e integracióncon el resto de las aplicaciones.

Arquitectura Evolutiva

Page 28: 01_Arquitectura de Sistemas

• Los elementos claves que debe de cumplir nuestraarquitectura para facilitar el desarrollo de nuevasaplicaciones son: (a)tener unas directivas claramentedefinidas pero no rígidas en exceso ni dictatoriales en cuantoal uso de determinadas tecnologías o fabricantes,(b)favorecer el uso de aplicaciones que posean unafuncionalidad base y sean personalizables por el usuario y(c)facilitar el uso y desarrollo de componentes y plug-ins yaplicaciones que los admiten.

Arquitectura Evolutiva

Page 29: 01_Arquitectura de Sistemas

• Este enfoque nos permite en la mayoría de los casosencontrar la forma mas rápida y sencilla de desarrollar unanueva funcionalidad para nuestro sistema en los casos en losque lo mas importante es tener una aplicación que nos hagalo que queremos y no tener la mejor aplicación que haga loque queremos.

• Hoy en día, en la práctica, esta es la solución quenecesitamos en la mayoría de los casos. Estos son losprincipios del enfoque que se conoce como evolutivo.

Arquitectura Evolutiva

Page 30: 01_Arquitectura de Sistemas

• El modelo evolutivo, en el cual la arquitectura del sistema vaadaptándose paso a paso, cada uno de ellos basado en losanteriores y siendo el mejor de todos los posibles quepodemos dar en cada momento y no siguiendo un planmaestro tiene un poderoso antecedente, este es la evoluciónnatural. Esta posee dos elementos cruciales: (a)un métodode producir variantes (la reproducción) y (b)un método deelegir la mejor entre estas (la supervivencia de los masfuertes).

Arquitectura Evolutiva

Page 31: 01_Arquitectura de Sistemas

• Los métodos evolutivos son también muy populares en eldesarrollo de software a medida, debido principalmente aque las aplicaciones suelen construirse mediante una seriede pasos consecutivos y no de una sola vez, reduciendo asíconsiderablemente el riesgo de fallos y el costo dedesarrollo.

• Estrictamente hablando, en este caso el termino evoluciónno está bien usado puesto que no existe ni variación niselección. Un termino mas adecuado sería desarrolloincremental.

Arquitectura Evolutiva

Page 32: 01_Arquitectura de Sistemas

• Al igual que en la evolución natural, las variantes en elmundo de la informática son abundantes y sólo los sistemasmas abiertos sobreviven.

• Es fundamental crear un entorno que propicie la tecno-diversidad en la arquitectura de sistemas.

Arquitectura Evolutiva

Page 33: 01_Arquitectura de Sistemas

• Una excepción a esta teoría la constituyen, en si mismos, losmainframes, los cuales han resistido mas de lo que se podíaesperar a pesar, incluso, de la epidemia del año 2000.

• El problema es como crear un entorno que faciliten la tecno-diversidad, donde las arquitecturas preestablecidassobrevivan donde sea necesario pero sin bloquear el paso delos nuevos esquemas.

Arquitectura Evolutiva

Page 34: 01_Arquitectura de Sistemas

Preguntas del capítulo

• Cómo se trataba la arquitectura de sistemas en los años 90 y cuál era suprincipal error.

• Cuál es el objetivo de tener una arquitectura de sistemas flexible.

• Cuál es la mejor forma de medir la bondad de una arquitectura.

• Identifique los elementos claves que debe de cumplir una arquitecturapara facilitar el desarrollo de nuevas aplicaciones.

• Cuales son los principios del enfoque evolutivo (en relación a laarquitectura de sistemas).

• Describa un ejemplo de tecno-diversidad y su impacto en unaorganización.

• Indique la diferencia entre desarrollo evolutivo y desarrollo incremental.

Page 35: 01_Arquitectura de Sistemas

Las organizaciones con arquitecturas evolutivas poseen ciertos rasgos en común:

Arquitectura Evolutiva – Características.

Page 36: 01_Arquitectura de Sistemas

(1) Prefieren las directivas a los estándares. Los estándaresreales son minimalistas y usualmente ‘de hecho’ comoWindows.

• Las directivas pueden pasarse por alto si existe una razón losuficientemente buena.

Arquitectura Evolutiva – Características.

Page 37: 01_Arquitectura de Sistemas

• La mayoría de las organizaciones mantienen demasiadosestándares motivados por la reducción de costos (porejemplo, mantienen UNIX en el back-end para minimizar elcosto de reeducación) pero fallan al ignorar el costo quesupone forzar a determinadas aplicaciones que necesitanrealmente tomar una línea diferente.

• La flexibilidad es una necesidad fundamental en laarquitectura de los sistemas modernos.

Arquitectura Evolutiva – Características.

Page 38: 01_Arquitectura de Sistemas

(2) Usan tecnología orientada a componentes.

• La historia de la informática describe un viaje inexorablehacia la especialización.

• Los componentes nos traen, por fin, la flexibilidad yposibilidad de reutilización del software que la orientación aobjetos nos prometía desde hace tiempo

Arquitectura Evolutiva – Características.

Page 39: 01_Arquitectura de Sistemas

(3) Juzgan la arquitectura del sistema desde el punto de vista del usuario.

(4) Invierten en infraestructura. Ahorrar gastos en hardware o comunicaciones es, a menudo, un falso ahorro: un efecto de los días en que estas cosas eran caras. Ahorrar dinero ahora nos costará mucho mas dinero mas adelante.

Arquitectura Evolutiva – Características.

Page 40: 01_Arquitectura de Sistemas

(5) Reflejan la arquitectura de su organización en la arquitectura del sistema.

• Por ejemplo, organizaciones centralizadas necesitan un sistema centralizado mientras que organizaciones descentralizadas se adaptan mejor a sistemas distribuidos. Esto es una directiva mas que una regla.

Arquitectura Evolutiva – Características.

Page 41: 01_Arquitectura de Sistemas

(6) A la hora de elegir entre distintas aplicaciones toman comoprincipales criterios la facilidad de uso y el impacto en elnegocio.

(7) Eliminan los proyectos fallidos o débiles rápidamente. Cadapeseta invertida en un proyecto débil o fallido es un dineromalgastado dos veces: aprende la lección, evitarecriminaciones y corrige el problema.

Arquitectura Evolutiva – Características.

Page 42: 01_Arquitectura de Sistemas

(8) Valoran el capital intelectual. El principal activo de undepartamento de arquitectura de sistemas son sus personas ylos procedimientos que ellos conocen o han desarrollado.

(9) Evitan innovaciones.

Arquitectura Evolutiva – Características.

Page 43: 01_Arquitectura de Sistemas

• Estos puntos no pretenden ser una línea de actuación para beneficiarnos de una arquitectura evolutiva.

• Son una lista de observaciones procedente de organizaciones que manejan arquitecturas de estas características [1].

Arquitectura Evolutiva – Características.

Page 44: 01_Arquitectura de Sistemas

Preguntas del capítulo

• Desarrolle un mapa mental con los 9 tipos de rasgos en común que presentan las arquitecturas evolutivas, asocie conceptos relevantes y relacione al menos un ejemplo para cada una, si algún rasgo no se vio con un ejemplo en clase, realice un proceso de búsqueda en Internet y/o bibliografía entregada como parte de la asignatura y complete su mapa.

Page 45: 01_Arquitectura de Sistemas

• Dos décadas después de comenzar a andar elcamino, por fin tenemos la tecnología suficiente paracrear y ensamblar componentes que otras ramas dela ingeniería disfrutan desde hace mucho tiempo…

Próxima clase.

La Revolución de los Componentes

Page 46: 01_Arquitectura de Sistemas

• Fuente:

[1] http://www.morales-vazquez.com/pdfs/arquitectura.pdf