von Felipe Tachiquin Vor 5 Jahren
726
Mehr dazu
Arquitecturas basadas en recursos
Simplicidad
Comunicación fácil entre los elementos
Conocimientos técnicos mínimos
Identificador uniforme de recurso (URI) para cada recurso
Obedece un protocolo
Cada recursos sabe como autodestruirse
Cada recursos sabe como hacer una transición de un estado a otro
Cada recurso conoce como se representa así mismo al consumidor
Considera que los recursos son componentes de la web
Arquitecturas orientadas a servicios (SOA)
Aumenta la eficiencia en los procesos. Amortiza la inversión realizada en sistemas. Reduce costes de mantenimiento. Fomenta la innovación orientada al desarrollo de servicios. Simplifica el diseño, optimizando la capacidad de organización
permite la reutilización de activos existentes para nuevos servicios que se pueden crear a partir de una infraestructura de TI que ya se había diseñado.
se ocupa del diseño y desarrollo de sistemas distribuidos y es un potente aliado a la hora de llevar a cabo la gestión de grandes volúmenes de datos, datos en la nube y jerarquías de datos.
aportar flexibilidad, desde la automatización de las infraestructura y herramientas necesarias consiguiendo
Arquitecturas basadas en eventos (invocación implícita/broadcast)
Cuando un componente anuncia un evento, no tiene idea sobre qué otros componentes están interesados en él, ni el orden en que serán invocados
Un componente no puede utilizar los datos o el estado de otro componente para efectuar su tarea
No permite construir respuestas complejas
Se pueden reemplazar componentes
Es agnóstica en lo que respecta a si las implementaciones corren sincrónica o asincrónicamente
Alienta el desarrollo en paralelo
Optimiza el mantenimiento haciendo que procesos de negocios que no están relacionados sean independientes
un componente puede anunciar mediante difusión uno o más eventos
se basa con sistemas basados en actores, daemons y redes de conmutación de paquetes
También de invocación implícita, En términos de patrones de diseño corresponde al "observer" (modelo de delegación de eventos).
Arquitecturas basadas en atributos (ABAS)
Trata de lograr que la arquitectura de software estuviera más cerca de ser una disciplina de ingeniería, aportando el beneficio esencial de la ingeniería (predictibilidad) al diseño arquitectónico.
asociar a la definición del estilo arquitectónico un framework de razonamiento (ya sea cuantitativo o cualitativo) basado en modelos de atributos específicos.
Sistemas de control de procesos
La ventaja señalada para este estilo radica en su elasticidad ante perturbaciones externas
Su objetivo es mantener ciertos valores dentro de ciertos rangos especificados, llamados puntos fijos o valores de calibración
Caracterizados por la relación que se mantiene entre sus componentes.
Arquitectura de máquinas virtuales
Numerosos lenguajes y ambientes de scripting utilizan máquinas virtuales: Perl, Javascript, Windows Script Host (WSH), Python, PHP, Pascal.
Todo intérprete involucra una máquina virtual implementada en software. Para ello un intérprete incluye un pseudoprograma a interpretar y una máquina de interpretación, y este pseudoprograma incluye el programa mismo y el análogo.
un intérprete posee por lo general cuatro componentes: (1) Una máquina de interpretación que lleva a cabo la tarea (2) Una memoria que contiene el pseudocódigo a interpretar (3) Una representación del estado de control de la máquina de interpretación (4) Una representación del estado actual del programa que se simula.
También llamada intérpretes basados en tablas
Arquitecturas basadas en componentes
Se basan en principios definidos por una ingeniería de software específica (CBSE)
La unidad de composición no es preciso confeccionarla, se puede comprar hecha, o se puede producir en casa para que otras aplicaciones de la empresa la utilicen en sus propias composiciones.
Es un unidad de composición con interfaces especificadas contractualmente y dependencias de contexto explícitas
Arquitecturas orientadas/basadas a objetos
Desventajas
Para poder interactuar con otro objeto a través de una invocación de procedimiento, se debe conocer su identidad. Al modificar un objeto se deben modificar también todos los objetos que lo invocan. se presentan problemas de efectos colaterales en cascada
Ventajas
Se puede modificar la implementación de un objeto sin afectar a sus clientes. Es posible descomponer problemas en colecciones de agentes en interacción. Un objeto es reutilizable en el entorno de desarrollo.
Las unidades de modelado, diseño e implementación, y los objetos y sus interacciones son el centro de las incumbencias en el diseño de la arquitectura y en la estructura de la aplicación.
Los componentes se basan en principios Orientados a Objetos: encapsulamiento, herencia y polimorfismo.
Los componentes de este estilo son los objetos / instancias de los tipos de dato abstractos.
Atrquitecturas en capas
ventajas
Soporta un diseño basado en niveles de abstracción crecientes Admite optimizaciones y refinamientos Proporciona amplia reutilización
las capas suelen ser entidades complejas, compuestas de varios paquetes o subsistemas.
Es una organización jerárquica tal que cada capa proporciona servicios a la capa inmediatamente superior y se sirve de las prestaciones que le brinda la inmediatamente inferior.
Model-View-Controller
Entre sus desventajas encontramos complejidad y costo de las actualizaciones frecuentes.
Se caracteriza por ventajas como el soporte de vistas múltiples y adaptación al cambio.
separa el modelado del dominio, la presentación y las acciones basadas en datos ingresados por el usuario en tres clases diferentes.
Controlador
Interpreta las acciones del ratón y el teclado, informando al modelo y/o a la vista para que cambien según resulte apropiado.
Vista
Maneja la visualización de la información.
Modelo
Administra el comportamiento y los datos del dominio de aplicación, responde a requerimientos de información sobre su estado (usualmente formulados desde la vista) y responde a instrucciones de cambiar el estado
Repositorios / Arquitecturas de pizarra
Consiste en 3 partes
Una estrategia, que regula el orden en que operan las fuentes.
Una pizarra que representa el estado actual de la resolución del problema.
Fuentes de conocimiento, necesarias para resolver el problema.
Los estilos de pizarra son utilizados en exploraciones de inteligencia artificial distribuida/cooperativa, robótica, programación evolutiva, etc.
Usado en aplicaciones que requieren complejas interpretaciones de proceso de señales (reconocimiento de patrones, reconocimiento de habla, etc), o en sistemas que involucran acceso compartido a datos con agentes débilmente acoplados.
Si el estado actual de la estructura de datos dispara los procesos a ejecutar, el repositorio es lo que se llama una pizarra pura o un tablero de control.
Si las transacciones en el flujo de entrada definen los procesos a ejecutar, el repositorio puede ser una base de datos tradicional.
Cuenta con dos componentes principales.
Colección de componentes independientes que operan sobre él.
Estructura de datos que representa el estado actual.
Proceso secuencia en lote
Los componentes son programas independientes; el supuesto es que cada paso se ejecuta hasta completarse antes que se inicie el paso siguiente
Tubería y filtros
Los componentes computaciones se ejecutan a la manera de un flujo, mientras que los datos se transportan a través de las tuberías entre los filtros, transformando gradualmente las entradas en salidas.
Una tubería (pipeline) es una popular arquitectura que conecta componentes computacionales (filtros) a través de conectores (pipes)
No realizan forzosamente tareas de filtrado
Ejecutan formas variables de transformación