sábado, 28 de mayo de 2016

3.3 ARQUITECTURAS DE DOMINIO ESPECIFICO

Al igual que los modelos generales, también pueden usarse los modelos arquitectónicos que son específicos para un dominio particular de aplicación. Si bien las instancias de estos sistemas difieren en los detalles, la estructura arquitectónica común puede realizarse cuando se desarrollan nuevos sistemas.
El reto para es diseñar el software y hardware para proporcionar características deseables a los sistemas distribuidos y, al mismo tiempo, minimizar los problemas propios a estos sistemas. Es necesario comprender las ventajas y desventajas de las diferentes arquitecturas de sistemas distribuidos. (identificado, s.f.)

 Existen dos modelos de dominio específico:
  1. Modelos genéricos que son abstracciones de varios sistemas reales. Estos son abstracciones de un número de sistemas reales y que encapsulan las características principales de estos sistemas. (Ian Sommerville, s.f.)
  2. Modelos de referencia que son modelos abstractos y describen a una clase mayor de sistemas. Estos son más abstractos, son modelos idealistas. Proporcionan un significado de información con respecto a sistemas de clases y comparación de diversas arquitecturas.



Modelo genérico
Flujo de datos de un compilador. Un modelo de Compilador es un ejemplo conocido a través de otros modelos que existen en dominios de aplicaciones especializadas:
  • Analizador Léxico
  • Tabla de Símbolos
  • Analizador de Sintáxis
  • Analizador Semántico
  • Generador/Optimizador de Código
  • Un modelo de compilador genérico puede ser organizado de acuerdo a diversos modelos de arquitectura.



Modelo de Referencia
Los modelos de referencias son derivados del estudio del dominio de una aplicación, en lugar del estudio de sistemas existentes. Pueden ser utilizados como una base para… la implementación de un sistema o para comparar sistemas diversos. Actúan como un estándar, contra el cual los sistemas que pueden ser evaluados.

El modelo OSI es un modelo en capas para sistemas de comunicación, y además, es un modelo de referencia. La arquitectura de software es la responsable de la derivación de un modelo de sistema estructural, un modelo de control y un modelo de descomposición en subsistemas. Los sistemas grandes rara vez conforman un modelo simple de arquitectura.
Los modelos de estructuración de un sistema incluyen modelos repositorios, los modelos cliente-servidor y los modelos de máquina abstracta. Los modelos de control incluyen control centralizado y modelos manejadores de eventos.Los modelos de descomposición modular incluyen los modelos orientados aobjetos y los modelos de flujo de datos.

Aquí se tratan dos tipos genéricos de arquitecturas de sistemas distribuidos:

  • Arquitectura cliente-servidor: En este caso el sistema puede ser visto como un conjunto de servicios que se proporcionan a los clientes que hacen uso de dichos servicios. Los servidores y los clientes se tratan de forma diferente en estos sistemas. Arquitecturas de objetos distribuidos.

  • Para esta arquitectura no hay distinción entre servidores y clientes, y el sistema puede ser visto como un conjunto de objetos que interaccionan cuya localización es irrelevante. No hay distinción entre un proveedor de servicios y el usuario de estos servicios. Ambas arquitecturas se usan ampliamente en la industria, pero la distribución de las aplicaciones generalmente tiene lugar dentro de una única organización. La distribución soportada es, por lo tanto, intraorganizacional. 


  • Los sistemas peer-to-peer: han sido usados principalmente para sistemas personales, pero están comenzando a usarse para aplicaciones de empresa. Los componentes en un sistema distribuido pueden implementarse en diferentes lenguajes de programación y pueden ejecutarse en tipos de procesadores completamente diferentes.



Los modelos de datos, la representación de la información y los protocolos de comunicación pueden ser todos diferentes. Un sistema distribuido, por lo tanto, requiere software que pueda gestionar estas partes distintas, y asegurar que dichas partes se puedan comunicar e intercambiar datos. El término middleware se usa para hacer referencia a ese software; se ubica en medio de los diferentes componentes distribuidos del sistema. Bernstein (Bernstein, 1996) resume los tipos de middleware disponibles para soportar computación distribuida. El middleware es un software de propósito general que normalmente se compra como un componente comercial más que escribirse especialmente por los desarrolladores de la aplicación. Ejemplos de middleware son software para gestionar comunicaciones con bases de datos, administradores de transacciones, convertidores de datos y controladores de comunicación. Los sistemas distribuidos se desarrollan normalmente utilizando una aproximación orientada a objetos.


Bibliografía:

Ian Sommerville, M. I. (s.f.). google book. Obtenido de https://books.google.com.mx/books?id=gQWd49zSut4C&pg=PA237&dq=arquitectura+de+dominio+especifico&hl=es&sa=X&ved=0ahUKEwjozbWBzP3MAhVlyoMKHVv5CvEQ6AEILTAA#v=onepage&q=arquitectura%20de%20dominio%20especifico&f=false

identificado, n. (s.f.). Olmcas2´s blog. Obtenido de https://olmcas2.wordpress.com/6-2-arquitectura-de-dominio-especifico/

No hay comentarios:

Publicar un comentario