01_Arquitectura de Sistemas
-
Upload
luis-hernan-vidal-vidal -
Category
Documents
-
view
21 -
download
0
Transcript of 01_Arquitectura de Sistemas
![Page 2: 01_Arquitectura de Sistemas](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/2.jpg)
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](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/3.jpg)
• 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](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/4.jpg)
Introducción
(a) aquellos que se encargan de la infraestructura.
![Page 5: 01_Arquitectura de Sistemas](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/5.jpg)
Introducción
(b) los que comienzan a denominarse arquitectos de sistemas.
![Page 6: 01_Arquitectura de Sistemas](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/6.jpg)
¿Qué entendemos por arquitectura en relación a un proyecto informático?
![Page 7: 01_Arquitectura de Sistemas](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/7.jpg)
• 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](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/8.jpg)
• 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](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/9.jpg)
• 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](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/10.jpg)
• 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](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/11.jpg)
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](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/12.jpg)
¿Cuál es el papel de la arquitectura en una organización?
![Page 13: 01_Arquitectura de Sistemas](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/13.jpg)
• 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](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/14.jpg)
• 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](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/15.jpg)
• 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](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/16.jpg)
• 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](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/17.jpg)
• 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](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/18.jpg)
• 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](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/19.jpg)
• 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](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/20.jpg)
• 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](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/21.jpg)
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](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/22.jpg)
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](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/23.jpg)
• 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](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/24.jpg)
• 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](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/25.jpg)
• 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](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/26.jpg)
• 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](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/27.jpg)
• 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](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/28.jpg)
• 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](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/29.jpg)
• 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](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/30.jpg)
• 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](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/31.jpg)
• 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](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/32.jpg)
• 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](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/33.jpg)
• 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](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/34.jpg)
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](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/35.jpg)
Las organizaciones con arquitecturas evolutivas poseen ciertos rasgos en común:
Arquitectura Evolutiva – Características.
![Page 36: 01_Arquitectura de Sistemas](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/36.jpg)
(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](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/37.jpg)
• 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](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/38.jpg)
(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](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/39.jpg)
(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](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/40.jpg)
(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](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/41.jpg)
(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](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/42.jpg)
(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](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/43.jpg)
• 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](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/44.jpg)
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](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/45.jpg)
• 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](https://reader034.fdocuments.es/reader034/viewer/2022042717/55cf9af6550346d033a43165/html5/thumbnails/46.jpg)
• Fuente:
[1] http://www.morales-vazquez.com/pdfs/arquitectura.pdf