ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Máquinas Virtuales


Enviado por   •  13 de Diciembre de 2012  •  Tutorial  •  2.955 Palabras (12 Páginas)  •  482 Visitas

Página 1 de 12

ESTILOS DE ARQUITECTURAS DE SOFTWARE

1. Filtros y Tuberías

El estilo de arquitectura llamado Filtros y tuberías (Pipelines), se describe como un conjunto de filtros que se encargan en transformar los flujos de datos funcionales [1], cada filtro se encuentra compuesto por 3 elementos principales:

• Puerto de Entrada: recibe los datos a transformar o filtrar

• Componente de filtrado: es el componente que filtra la información.

• Puerto de salida: en el cual se envían los datos filtrados, estos puertos a su vez pueden servir como puertos de entrada para otros filtros.

Este conjunto de filtros y tuberías hace un proceso de forma incremental y local independiente de los filtros que se encuentran situados antes o después. Obteniendo un sistema en el que no se generan ciclos a través de su comportamiento.

Figura 1. Sistema de Filtros y Tuberías

Si el flujo degenera en una única línea de transformación, se denomina secuencia batch. En esta secuencia los componentes son independientes y se ejecutan hasta completarse antes que se inicie el siguiente componente. [2]

Figura 2. Secuencia Batch para filtros y tuberías.

Este estilo de arquitectura plantea características [3], [4]:

• Es simple de entender e implementar.

• Determinar realizar un procesamiento secuencial

• Los filtros se pueden agrupar para realizar el procesamiento de flujo de datos de manera paralela o distribuida.

• Falta de implementación de ciclos, condicionales u otras herramientas lógicas de control de flujo.

• Los filtros al ser independientes pueden generar la duplicación de funcionalidades.

Esta arquitectura presenta las siguientes ventajas:

• Permite entender el sistema global en términos de la combinación de componentes.

• Soporta de buena manera la reutilización. Los filtros son independientes de sus vecinos.

• Facilidad de mantenimiento y mejora.

• Facilidad de diagnóstico (rendimiento, interbloqueos)

• Soportan la ejecución concurrente.

2. N Capas (N-Layer)

Se basa en una distribución jerárquica de los roles y las responsabilidades para proporcionar una división efectiva de los problemas a resolver. Los roles indican el tipo y la forma de la interacción con otras capas y las responsabilidades la funcionalidad que implementan.

Figura 3. Estilo N-Layer

Normalmente esta arquitectura se implementa presentando una capa de presentación, una capa de lógica de negocio y una capa de acceso a datos. Adicionalmente, algunas literaturas agregan capas como: una capa de entidades de negocios y capa de datos.

Figura 4. Estilo clásico N-Layer

Algunas características de esta arquitectura son [5]:

• Descomposición de los servicios de forma que la mayoría de interacciones ocurre solo entre capas vecinas.

• Las capas de una aplicación pueden residir en la misma máquina o pueden estar distribuidos entre varios equipos; en el caso de estar distribuida entre varios equipos la arquitectura pasa a llamar N-Tiers.

• Los componentes de cada capa se comunican con los componentes de otras capas a través de interfaces bien conocidos.

• Cada nivel agrega las responsabilidades y abstracciones del nivel inferior.

• Muestra una vista completa del modelo y a la vez proporciona suficientes detalles para entender las relaciones entre capas.

• No realiza ninguna suposición sobre los tipos de datos, métodos, propiedades y sus implementaciones.

• Separa de forma clara la funcionalidad de cada capa.

3. Representational State Transfer - REST

Este estilo fue definido por Roy Fielding [6]. Es un estilo de arquitectura diseñado para sistemas distribuidos multimedia. REST se caracteriza por:

• Ser una arquitectura sencilla de implementar.

• Tener alta escalabilidad.

• Alto rendimiento debido a que se puede visualizar como un sistema en capas.

• Capacidad de evolucionar.

• Alto nivel de visibilidad al usar los identificadores uniformes de recurso (URI).

• Tiene bajo acoplamiento debido al ser desarrollada de forma cliente / servidor

Una aproximación al estilo arquitectural REST se muestra en la siguiente gráfica:

Figura 5. Transacciones REST

Inicialmente se diseñó como un modelo arquitectónico que explicaba cómo debería funcionar INTERNET, a partir de:

• Un framework guía para el desarrollo de protocolos estándar.

• Identificar problemas existentes, comparar soluciones alternativas, asegurar que las extensiones de los protocolos no violan las restricciones de INTERNET.

• Captura todos los aspectos que cubren los requisitos de comportamiento y rendimiento en INTERNET.

REST se rige a través de los siguientes principios básicos:

• Un recurso es cualquier cosa que tenga identidad y debe estar identificado mediante algún mecanismo. El identificador de un recurso no expone detalles acerca de su implementación.

• Todos los recursos deben compartir la misma interfaz uniforme. Los métodos definidos en esta interfaz deben ser utilizados acorde a la semántica que se les impuso al crearlos.

• El formato de las representaciones debe estar documentado y ser estándar. Las representaciones deben incluir enlaces a otros recursos relacionados.

• La comunicación debe ser auto contenida (stateless)

4. Máquinas Virtuales

La arquitectura de máquinas virtuales se ha llamado también intérpretes basados en tablas [2] [7]. El estilo comprende básicamente dos formas o sub-estilos, que se han llamado intérpretes y sistemas basados en reglas.

Cada intérprete posee por lo general cuatro componentes:

• Una máquina de interpretación, que lleva a cabo la tarea.

• Una memoria que contiene el pseudo-código a interpretar.

• Una representación del estado de control de la máquina de interpretación

• Una representación del estado actual del programa que se simula.

Figura 6. Componentes Máquina Virtual

La arquitectura basada en máquinas virtuales presenta ventajas como:

• Solución software a problemas hardware

• Configuración rápida

• Intercambiable

• Gran uso en redes compartidas

Y también presenta desventajas como:

• Sobre carga de hardware y software

...

Descargar como (para miembros actualizados) txt (22 Kb)
Leer 11 páginas más »
Disponible sólo en Clubensayos.com