Arquitectura SoftwareLaura M. Castrolcastro@udc.es D4.15www.madsgroup.org/staff/laura
(2) Modelos y arquitecturasde referencia
(2) Modelos y arquitecturasde referencia1) Tipos de arquitecturasa) Arquitecturas no distribuidasb) Arquitecturas distribuidasc) Otras arquitecturas
Tipos de arquitecturas El diseño de la arquitectura trata de entendercómo organizar globalmente un sistemaEs el primer paso en el diseño de softwareProduce un modelo de arquitectura quedescribe cómo se organiza el sistema (conjuntode componentes que se comunican)Es el enlace crítico entre la ingeniería derequisitos y el diseño software, ya que identificalos principales componentes en los que seestructura un sistema y las relaciones entre ellos
Tipos de arquitecturas Incluso en desarrollo ágil, se reconoce que unaprimera etapa debe ocuparse de establecer unaarquitectura general para el sistemaEl desarrollo incremental de una arquitectura nosuele tener éxito–La refactorización de componentes es habitualy relativamente sencilla–La refactorización de la arquitectura de unsistema es normalmente muy complejo ycostoso
Tipos de arquitecturas Idealmente, la especificación de un sistema nodebe incluir ninguna información de diseño– Esto no es realista, salvo para sistemas muypequeñosSe necesita diseñar la arquitectura paraestructurar y organizar la especificación
Tipos de arquitecturas Podemos hablar de arquitectura software a dosniveles de abstracción:–Arquitectura interna, que se ocupa de laestructura y organización de programasindividuales–Arquitectura externa, que estructura y organizavarios sistemas, programas o componentes
Tipos de arquitecturas Podemos hablar de arquitectura software a dosniveles de abstracción:–Arquitectura interna, que se ocupa de laestructura y organización de programasindividuales–Arquitectura externa, que estructura y organizavarios sistemas, programas o componenteslos modelos y patronesque veremosaplican muchas vecesa ambos niveles
Tipos de arquitecturas Como ya sabemos, los componentes de unsistema implementan los requisitosfuncionalesLos requisitos no funcionales (disponibilidad,flexibilidad al cambio, rendimiento, seguridad,facilidad de prueba, usabilidad.) dependen dela arquitectura del sistema, de la manera enque los componentes se organizan y comunican
Tipos de arquitecturas La arquitectura puede:–Favorecer la disponibilidad–Favorecer el rendimiento–Favorecer la seguridad–Favorecer los cambios
Tipos de arquitecturas La arquitectura puede:–Para favorecer la disponibilidad, debenincluirse componentes redundantes de maneraque sea posible reemplazarlos y actualizarlossin detener el sistema–Favorecer el rendimiento–Favorecer la seguridad–Favorecer los cambios
Tipos de arquitecturas La arquitectura puede:–Favorecer la disponibilidad–Para favorecer el rendimiento, lasoperaciones críticas deben concentrarse en unnúmero limitado de componentes, que seubiquen preferiblemente en la mismalocalización–Favorecer la seguridad–Favorecer los cambios
Tipos de arquitecturas La arquitectura puede:–Favorecer la disponibilidad–Favorecer el rendimiento–Para favorecer la seguridad, los elementos aproteger (datos, procesos) deberían estardetrás de una serie de barreras según sucriticidad–Favorecer los cambios
Tipos de arquitecturas La arquitectura puede:–Favorecer la disponibilidad–Favorecer el rendimiento–Favorecer la seguridad–Para favorecer los cambios, los componentesdeben ser auto-contenidos, los productores dedatos deben separarse de los consumidores,debe evitarse la compartición de estructuras
Tipos de arquitecturas El diseño de la arquitectura de un sistema es unproceso creativo– Las actividades a realizar dependen de laexperiencia, entorno tecnológico y de negocioEs más adecuado pensar en el diseño de laarquitectura como una serie de decisiones enlugar de una secuencia de actividadesLas decisiones de arquitectura son decisionesestructurales que afectan profundamente elsistema que se va a desarrollar
Tipos de arquitecturas El arquitecto/a (según sus influencias sociales,técnicas y de negocio) debe responder:–¿Qué organización es más adecuada paragarantizar los requisitos no funcionales?–¿Hay una arquitectura genérica/patronesque puedan servir de “plantilla”?–¿Cómo evaluaremos la arquitectura?–¿Cómo documentaremos la arquitectura?
Tipos de arquitecturas El arquitecto/a (según sus influencias sociales,técnicas y de negocio) debe responder:–¿Qué organización es más adecuada paragarantizar los requisitos no funcionales? ¿Cómo se van a descomponer loscomponentes en sub-componentes?¿Cómo se van a distribuir físicamente loscomponentes del sistema?¿Qué estrategia vamos a usar paracontrolar/comunicar los componentes?–¿Hay una arquitectura genérica/patronesque puedan servir de “plantilla”?–¿Cómo documentaremos la arquitectura?
Arquitectura en capas
Arquitectura en capasDescripciónOrganiza el sistema en capasCada capa agrupa funcionalidadesCada capa inferior proporciona serviciosa la capa superiorAplicabilidad Construcción de sistemas a partir deotros ya existentesDivisión de responsabilidades por capasSe requieren varios niveles de seguridadSe quiere dar una visión centrada en laorganización conceptual del sistema
Arquitectura en capasDescripciónVentajasOrganiza el sistema en capasCada capa agrupa funcionalidadesCada capa inferior proporciona serviciosa la capa superiorPermite que aislar los cambios a nivelde capa, o a capas adyacentesPermite sustituir capas completassiempre que se mantenga su interfazPermite introducir redundancia porniveles para incrementar la fiabilidadPermite fácilmente la portabilidad y elsoporte multi-plataforma/protocolo
Arquitectura en capasDescripciónDesventajasOrganiza el sistema en capasCada capa agrupa funcionalidadesCada capa inferior proporciona serviciosa la capa superiorPuede ser difícil realizar una división“limpia” en capasPuede ser necesaria comunicación entrecapas no adyacentesPuede haber problemas de rendimientodebido a los múltiples niveles quedebe atravesar una petición
Arquitectura en capasDescripciónOrganiza el sistema en capasCada capa agrupa funcionalidadesCada capa inferior proporciona serviciosa la capa superior
Arquitectura en capasDescripciónOrganiza el sistema en capasCada capa agrupa funcionalidadesCada capa inferior proporciona serviciosa la capa superior¿naturalezade los elementos?
Arquitectura en capasDescripciónOrganiza el sistema en capasCada capa agrupa funcionalidadesCada capa inferior proporciona serviciosa la capa superior¿responsabilidadesde los elementos?
Arquitectura en capasDescripciónOrganiza el sistema en capasCada capa agrupa funcionalidadesCada capa inferior proporciona serviciosa la capa superior¿significado delas conexiones?
Arquitectura en capasDescripciónOrganiza el sistema en capasCada capa agrupa funcionalidadesCada capa inferior proporciona serviciosa la capa superior¿colocaciónde los elementos?
Arquitectura en capasDescripciónOrganiza el sistema en capasCada capa agrupa funcionalidadesCada capa inferior proporciona serviciosa la capa superior
Arquitectura en capasDescripciónOrganiza el sistema en capasCada capa agrupa funcionalidadesCada capa inferior proporciona serviciosa la capa superior
Arquitectura en capasDescripciónOrganiza el sistema en capasCada capa agrupa funcionalidadesCada capa inferior proporciona serviciosa la capa superior
Arquitectura en capasDescripciónOrganiza el sistema en capasCada capa agrupa funcionalidadesCada capa inferior proporciona serviciosa la capa superior
Arquitectura en capasDescripciónOrganiza el sistema en capasCada capa agrupa funcionalidadesCada capa inferior proporciona serviciosa la capa superior
Arquitectura en capasDescripciónOrganiza el sistema en capasCada capa agrupa funcionalidadesCada capa inferior proporciona serviciosa la capa superior
Arquitectura en capasDescripciónOrganiza el sistema en capasCada capa agrupa funcionalidadesCada capa inferior proporciona serviciosa la capa superior
re.htmlworkflowmanagementsystem
http://docs.oracle.com/cd/E21764 01/core.1111/e10043/underjps.htmOracle PlatformSecurity Services
o-power-architecture-technologyAndroid
Arquitectura de repositorio
Arquitectura de repositorioDescripciónOrganiza el sistema en torno a unalmacenamiento de datos centralizadoEl almacenamiento de datos es accesiblea todos los componentesLos componentes no interactúan entre sídirectamente, sino que lo hacen através del repositorio de datosAplicabilidad Construcción de sistemas que gestionangran cantidad de datos persistentesConstrucción de sistemas en los que lainserción/modificación/eliminación deinformación desencadena accionesSe quiere dar una visión centrada en lagestión de datos
Arquitectura de repositorioDescripciónOrganiza el sistema en torno a unalmacenamiento de datos centralizadoEl almacenamiento de datos es accesiblea todos los componentesLos componentes no interactúan entre sídirectamente, sino que lo hacen através del repositorio de datosAplicabilidad Construcción de sistemas que gestionangran cantidad de datos persistentesConstrucción de sistemas en los que lainserción/modificación/eliminación deproductores/información desencadena accionesconsumidores Se quiere dar una visión centrada en lagestión de datos
Arquitectura de repositorioDescripciónVentajasOrganiza el sistema en torno a unalmacenamiento de datos centralizadoEl almacenamiento de datos es accesiblea todos los componentesLos componentes no interactúan entre sídirectamente, sino que lo hacen através del repositorio de datosLos componentes pueden sercompletamente independientesLos cambios en los datos soninmediatamente visibles a los demásToda la información se puede gestionaruniforme y consistentemente (porejemplo, copias de seguridad)
Arquitectura de repositorioDescripciónVentajasperfectopara divisióndel trabajoOrganiza el sistema en torno a unalmacenamiento de datos centralizadoEl almacenamiento de datos es accesiblea todos los componentesLos componentes no interactúan entre sídirectamente, sino que lo hacen através del repositorio de datosLos componentes pueden sercompletamente independientesLos cambios en los datos soninmediatamente visibles a los demásToda la información se puede gestionaruniforme y consistentemente (porejemplo, copias de seguridad)
Arquitectura de repositorioDescripciónVentajasno haynecesidadde transmitirdatosOrganiza el sistema en torno a unalmacenamiento de datos centralizadoEl almacenamiento de datos es accesiblea todos los componentesLos componentes no interactúan entre sídirectamente, sino que lo hacen através del repositorio de datosLos componentes pueden sercompletamente independientesLos cambios en los datos soninmediatamente visibles a los demásToda la información se puede gestionaruniforme y consistentemente (porejemplo, copias de seguridad)
Arquitectura de repositorioDescripciónDesventajasOrganiza el sistema en torno a unalmacenamiento de datos centralizadoEl almacenamiento de datos es accesiblea todos los componentesLos componentes no interactúan entre sídirectamente, sino que lo hacen através del repositorio de datosEl repositorio es un punto único de fallo,un problema en el repositorio afecta atodos los componentesModelo de datos comúnProblemática distribución del repositorioEficiencia crítica de acceso al repositorio
Arquitectura de repositorioDescripciónOrganiza el sistema en torno a un almacenamientode datos centralizadoEl almacenamiento de datos es accesible a todoslos componentesLos componentes no interactúan entre sí, sino quelo hacen a través del repositorio de datos
rpriseContentManagementSystem
uiteStorepage.aspx?SuiteGuid 097ef4a4-32054f5d-95c3-021c60145aef
http://starlet.deltatel.ru/ora doc/10/appdev 101/b10790/xdb01int.htmORACLEXML DB
Arquitectura pipe & filter
Arquitectura pipe & filterDescripciónOrganiza el procesado de los datos enun sistema en pasos discretosCada paso es realizado por uncomponente diferente (filter)Los datos fluyen de un componente aotro (pipe)Aplicabilidad Construcción de sistemas dedicados alprocesado de información, donde laentrada se procesa por etapas paraproducir la salida deseadaNomenclatura Arquitectura basada en componentesArquitectura pipeline
Arquitectura pipe & filterDescripciónVentajasOrganiza el procesado de los datos enun sistema en pasos discretosCada paso es realizado por uncomponente diferente (filter)Los datos fluyen de un componente aotro (pipe)Facilidad de comprensión del procesadoReutilización de componentesCorrespondencia con flujos de negocioFacilidad de evolución (incorporación deetapas, sustitución de etapas)Los distintos pasos pueden ejecutarsesecuencial o concurrentemente
Arquitectura pipe & filterDescripciónVentajashoy,muy frecuenteen embebidosOrganiza el procesado de los datos enun sistema en pasos discretosCada paso es realizado por uncomponente diferente (filter)Los datos fluyen de un componente aotro (pipe)Facilidad de comprensión del procesadoReutilización de componentesCorrespondencia con flujos de negocioFacilidad de evolución (incorporación deetapas, sustitución de etapas)Los distintos pasos pueden ejecutarsesecuencial o concurrentemente
Arquitectura pipe & filterDescripciónDesventajasOrganiza el procesado de los datos enun sistema en pasos discretosCada paso es realizado por uncomponente diferente (filter)Los datos fluyen de un componente aotro (pipe)El formato y modo de transferencia delos datos debe acordarse entre cadapar de componentesPuede ser difícil reusar componentes siel formato de datos no es compatible
Arquitectura pipe & filterDescripciónOrganiza el procesado de los datos enun sistema en pasos discretosCada paso es realizado por uncomponente diferente (filter)Los datos fluyen de un componente aotro (pipe)Desventajas El formato y modo de transferencia delos datos debe acordarse entre cadapar de componentescada componente Puede ser difícil reusar componentes siel formato de datos no es compatiblerealiza un procesadoa la entrada y otroa la salida
Arquitectura pipe & filterDescripciónDesventajaspuede suponeruna barrera a laeficienciaOrganiza el procesado de los datos enun sistema en pasos discretosCada paso es realizado por uncomponente diferente (filter)Los datos fluyen de un componente aotro (pipe)El formato y modo de transferencia delos datos debe acordarse entre cadapar de componentesPuede ser difícil reusar componentes siel formato de datos no es compatible
Arquitectura pipe & filterDescripciónDesventajasno es adecuadopara sistemasinteractivosOrganiza el procesado de los datos enun sistema en pasos discretosCada paso es realizado por uncomponente diferente (filter)Los datos fluyen de un componente aotro (pipe)El formato y modo de transferencia delos datos debe acordarse entre cadapar de componentesPuede ser difícil reusar componentes siel formato de datos no es compatible
Arquitectura pipe & filterDescripciónOrganiza el procesado de los datos enun sistema en pasos discretosCada paso es realizado por uncomponente diferente (filter)Los datos fluyen de un componente aotro (pipe)
Arquitectura pipe & filterDescripciónOrganiza el procesado de los datos enun sistema en pasos discretosCada paso es realizado por uncomponente diferente (filter)Los datos fluyen de un componente aotro (pipe)
ework
.html#fig-ie-architectureNaturalLanguageToolkit
Streamer
Arquitectura cliente/servidor
Arquitectura cliente/servidorDescripciónOrganiza la funcionalidad del sistema enservicios, cada uno proporcionado porun servidor diferenteLos clientes son usuarios de los serviciosy sus servidores correspondientesAplicabilidad Construcción de sistemas en los que senecesita acceder a la informacióndesde diferentes perspectivasConstrucción de sistemas con cargavariableNomenclatura Arquitectura orientada a servicios
Arquitectura cliente/servidorDescripciónVentajasOrganiza la funcionalidad del sistema enservicios, cada uno proporcionado porun servidor diferenteLos clientes son usuarios de los serviciosy sus servidores correspondientesLos servicios pueden ponerse adisposición de todos/algunos clientesLos servidores son independientesLos servidores pueden distribuirseLos servidores pueden replicarseSe potencia la interoperabilidad con eluso de protocolos estándar (RPC, HTTP)
Arquitectura cliente/servidorDescripciónDesventajasOrganiza la funcionalidad del sistema enservicios, cada uno proporcionado porun servidor diferenteLos clientes son usuarios de los serviciosy sus servidores correspondientesCada servidor es un punto único de falloEl rendimiento es difícil de predecirporque también depende de la redPuede presentar problemas de gestiónde los diferentes servidoresLos clientes necesitan una “guía” o“directorio”
Arquitectura garse enuna únicamáquinaOrganiza la funcionalidad del sistema enservicios, cada uno proporcionado porun servidor diferenteLos clientes son usuarios de los serviciosy sus servidores correspondientesCada servidor es un punto único de falloEl rendimiento es difícil de predecirporque también depende de la redPuede presentar problemas de gestiónde los diferentes servidoresLos clientes necesitan una “guía” o“directorio”
Arquitectura garse enuna únicamáquinaOrganiza la funcionalidad del sistema enservicios, cada uno proporcionado porun servidor diferenteLos clientes son usuarios de los serviciosy sus servidores correspondientesCada servidor es un punto único de falloEl rendimiento es difícil de predecirporque también depende de la redPuede presentar problemas de gestiónde los diferentes servidoresLos clientes necesitan una “guía” o“directorio”
Arquitectura cliente/servidorDescripciónOrganiza la funcionalidad del sistema enservicios, cada uno proporcionado porun servidor diferenteLos clientes son usuarios de los serviciosy sus servidores correspondientes
ManagementSystem
htmlIndustrialAutomation
Tipos de arquitecturas El diseño de la arquitectura trata de entender cómo organizar globalmente un sistema Es el primer paso en el diseño de software Produce un modelo de arquitectura que describe cómo se organiza el sistema (conjunto de componentes que se comunican) Es el enlace crítico entre la ingenie
ARQUITECTURA MODERNA Y CONTEMPORANEA: MINIMALISMO . UNIVERSIDAD CENTROAMERICANA UCA FACULTAD DE CIENCIA, TECNOLOGIA Y AMBIENTE DEPARTAMENTO DE DISEÑO Y ARQUITECTURA AREA DE ARQUITECTURA ANALISIS HISTÓRICO 4 ARQUITECTURA MODERNA Y CONTEMPORANEA: MINIMALISMO TERCER AÑO . reducción racionalista promovida por las nuevas tendencias del arte .
2 El Dr. Ramón Vargas Salguero en Historia de la arquitectura y el urbanismo mexicanos: Arquitectura de la Revolución y Revolución de la arquitectura describe al eclecticismo en la arquitectura como un periodo que tendió a renovarse mediante el rescate formal de todos los estilos del pasado y
Revista de Arquitectura e Ingeniería E-ISSN: 1990-8830 melena-torrensp@empai.co.cu Empresa de Proyectos de Arquitectura e Ingeniería de Matanzas Cuba Leonard Brizuela, Eric Ismael; Castro Blanco, Yudi Metodologías para desarrollar Almacén de Datos. Revista de Arquitectura
científico.La arquitectura también es un campo con visión de futuro y en constante evolución, con una amplia gama de aplicaciones y teorías. Comienza a desarrollar tu potencial en la arquitectura con cursos online gratis. Como arte, la arquitectura es un estudio muy particular porque también tiene un carácter funcional y científico.
Gracias a los esfuerzos que los grandes pensadores de la arquitectura hicieron, que hoy podemos decir que nuestra arquitectura tiene un lugar dentro de . arquitectónica se forjó con las ideas artísticas que surgen en Europa durante los siglos XVIII y XIX y que se difunden a nivel mundial a lo largo del siglo XX. En
Revista Legado de Arquitectura y Diseño ISSN: 2007-3615 legado_fad@yahoo.com.mx Universidad Autónoma del Estado de México México Dueñas del Río, Alejandra REFLEXIONES SOBRE LA ARQUITECTURA SUSTENTABLE EN MÉXICO Revista Legado de Arquitectura y Diseño, núm. 14, julio-diciembre, 2013, pp. 77-91 Universidad Autónoma del Estado de México
CUADERNO DE NOTAS ARTE EGIPCIO Y ARQUITECTURA OCCIDENTAL . referente a arquitectura funeraria. Tal debió ser su . crítico, sobre la superabundancia de emblemas paganos en los cementerios .
Keywords: Korean, heritage language, multiliteracies, university-level language classroom, multimodal reading response Journal of Language and Literacy Education Vol. 11 Issue 2—Fall 2015 117 eritage language (HL) learners1 who are exposed to and speak a language other than English exclusively in their homes and communities exhibit relatively lower reading and writing skills compared to .