Está en la página 1de 8

"estilo arquitectnico de software" es un mtodo especfico de construccin,

caracterizado por las caractersticas que lo hacen notable "(estilo arquitectnico)". Un


estilo arquitectnico define: una familia de sistemas en trminos de un patrn de
organizacin estructural; un vocabulario de componentes y conectores, con restricciones
sobre cmo pueden combinarse ". [32] Los estilos arquitectnicos son" paquetes
"reutilizables de decisiones de diseo y restricciones que se aplican a una arquitectura
para inducir cualidades deseadas elegidas"

Cada estilo arquitectnico describe una categora del sistema que contiene: un
conjunto de componentes, que realiza una funcin requerida por el sistema, un conjunto
de conectores que posibilitan la comunicacin, la coordinacin y la cooperacin entre los
componentes; restricciones que definen como se puede integrar los componentes que
forman el sistema; y modelos semnticos que permiten al diseador entender las
propiedades globales de un sistema para analizar las propiedades conocidas de sus
partes constituyentes.

Utilizacin de los estilos arquitectnicos

Sirven para sintetizar estructuras de soluciones.


Pocos estilos abstractos encapsulan una enorme variedad de configuraciones
concretas.
Definen los patrones posibles de las aplicaciones.
Permiten evaluar arquitecturas alternativas con ventajas y desventajas conocidas
ante diferentes conjuntos de requerimientos no funcionales.

Estilos

1. Basado en Compontentes: La ingeniera de software basada en componentes


(CBSE), tambin llamada como desarrollo basado en componentes (CBD), es una
rama de la ingeniera de software que enfatiza la separacin de las
preocupaciones con respecto a la amplia funcionalidad disponible en un sistema
de software dado. Es un enfoque basado en la reutilizacin para definir,
implementar y componer componentes independientes ligeramente acoplados en
sistemas. Esta prctica tiene por objeto lograr un grado igualmente amplio de
beneficios tanto a corto como a largo plazo para el propio software y para las
organizaciones que patrocinan dicho software.

1ER PUNTO CARLOS

2. Arquitectura basada en reglas: se utilizan como una forma de almacenar y


manipular el conocimiento para interpretar la informacin de una manera til. A
menudo se utilizan en aplicaciones de inteligencia artificial y de investigacin.
Normalmente, el trmino "sistema basado en reglas" se aplica a sistemas que
implican conjuntos de reglas creadas por humanos o comisariados. Los sistemas
basados en reglas construidos utilizando la inferencia automtica de reglas, como
el aprendizaje automtico basado en reglas, normalmente estn excluidos de este
tipo de sistema.
Un ejemplo clsico de un sistema basado en reglas es el sistema experto
especfico del dominio que usa reglas para hacer deducciones o elecciones. Por
ejemplo, un sistema experto puede ayudar a un mdico a elegir el diagnstico
correcto basado en un grupo de sntomas o seleccionar movimientos tcticos para
jugar un juego.
Los sistemas basados en reglas pueden ser usados para realizar anlisis lxicos
para compilar o interpretar programas de computadora, o en procesamiento de
lenguaje natural.
3. Pizarra: La arquitectura software en pizarra es un modelo arquitectnico de
software habitualmente utilizado en sistemas expertos, sistemas multiagente y, en
general, sistemas basados en el conocimiento.
La arquitectura en pizarra consta de mltiples elementos funcionales,
denominados agentes, y un instrumento de control denominado pizarra.
Los agentes suelen estar especializados en una tarea concreta o elemental.
Todos ellos cooperan para alcanzar una meta comn, si bien, sus objetivos
individuales no estn aparentemente coordinados.
El comportamiento bsico de cualquier agente consiste en examinar la pizarra,
realizar su tarea y escribir sus conclusiones en la misma pizarra. De esta manera,
otro agente puede trabajar sobre los resultados generados por otro.
La computacin termina cuando se alcanza alguna condicin deseada entre los
resultados escritos en la pizarra.
La pizarra tiene un doble papel. Por una parte, coordina a los distintos agentes y,
por otra, facilita su intercomunicacin. El estado inicial de la pizarra es una
descripcin del problema que resolver y el estado final ser la solucin del
problema.
Los resultados generados por los agentes deben responder a un lenguaje y
semntica comn. En general, se suelen utilizar formalismos lgicos o
matemticos, tales como expresiones lgicas de primer orden.
Aplicaciones
Reconocimiento de voz
Identificacin y seguimiento de vehculos
Identificacin de la estructura proteica
Interpretacin de seales sonares
Ventajas e Incovenientes
Esta arquitectura es tremendamente til cuando el problema a resolver (o
algoritmo a implementar) es extremadamente complejo en trminos cognitivos. Es
decir, cuando el flujo de control del algoritmo es enrevesado, o simplemente, no
se tiene un conocimiento completo del problema a resolver.
Las desventajas de la arquitectura son bastante obvias a priori. Es importante no
generalizar en este aspecto, puesto que cada implementacin en particular puede
solventar estas desventajas en algn mbito limitado:
No existe garanta de que se alcanzar una solucin.
Es una arquitectura ineficiente, puesto que no existe una cota respecto al
tiempo de cmputo necesario para resolver el problema.
Es difcil obtener una traza de los pasos que llevaron a la solucin, es decir,
no ofrece explicaciones.

2do punto Abraham


4. Modelo Cliente Servidor: El modelo cliente-servidor es una estructura de
aplicacin distribuida que particiona tareas o cargas de trabajo entre los
proveedores de un recurso o servicio, denominados servidores y solicitantes de
servicio, llamados clientes
Los servidores son clasificados por los servicios que proporcionan. Por ejemplo,
un servidor web sirve pginas web y un servidor de archivos sirve archivos de
computadora. Un recurso compartido puede ser cualquiera del software de la
computadora del servidor y componentes electrnicos, desde programas y datos
hasta procesadores y dispositivos de almacenamiento. El intercambio de recursos
de un servidor constituye un servicio.

Cuando un cliente bancario accede a servicios bancarios en lnea con un


navegador web (el cliente), el cliente inicia una solicitud al servidor web del banco.
Las credenciales de inicio de sesin del cliente pueden almacenarse en una base
de datos y el servidor web accede al servidor de base de datos como cliente. Un
servidor de aplicaciones interpreta los datos devueltos aplicando la lgica de
negocio del banco y proporciona la salida al servidor web. Finalmente, el servidor
web devuelve el resultado al navegador web del cliente para su visualizacin.

En cada paso de esta secuencia de intercambios de mensajes cliente-servidor, un


ordenador procesa una solicitud y devuelve datos. Este es el patrn de mensajera
de solicitud y respuesta. Cuando se cumplen todas las solicitudes, la secuencia
se completa y el navegador web presenta los datos al cliente.

3ER PUNTO LARRY

Arquitectura de no compartir: Una arquitectura de nada compartida (SN) es


una arquitectura de computacin distribuida en la que cada nodo es independiente
y autosuficiente, y no hay un nico punto de contencin en todo el sistema. Ms
especficamente, ninguno de los nodos comparte memoria o almacenamiento en
disco. La gente suele contrastar SN con sistemas que mantienen una gran
cantidad de informacin de estado almacenada centralmente, ya sea en una base
de datos, un servidor de aplicaciones o cualquier otro punto de contencin similar.

Las ventajas de la arquitectura SN frente a una entidad central que controla la red
(una arquitectura basada en controlador) incluyen la eliminacin de cualquier
punto nico de error, permitiendo las capacidades de auto-sanacin y
proporcionando una ventaja con la actualizacin-no-perturbadora

Nada compartido es popular para el desarrollo web debido a su escalabilidad.


Como lo ha demostrado Google, un sistema SN puro puede escalar enormemente
simplemente agregando nodos en forma de computadoras de bajo costo, ya que
no hay un cuello de botella para reducir el sistema. Google llama a este sharding.
Un sistema SN normalmente divide sus datos entre muchos nodos en diferentes
bases de datos (asignando diferentes equipos para tratar con diferentes usuarios
o consultas), o puede requerir que cada nodo mantenga su propia copia de los
datos de la aplicacin, usando algn tipo de protocolo de coordinacin. Esto se
conoce a menudo como sharding de base de datos.

Existe cierta duda sobre si una aplicacin web con muchos nodos web
independientes pero una sola base de datos compartida (agrupada o no) debe
contarse como SN. Uno de los enfoques para lograr la arquitectura SN para
aplicaciones con estado (que tpicamente mantiene el estado en una base de
datos centralizada) es el uso de una cuadrcula de datos, tambin conocida como
almacenamiento en cach distribuido. Esto todava deja la base de datos
centralizada como un solo punto de falla.

Las arquitecturas de nada compartido se han vuelto frecuentes en el espacio de


data warehousing. Hay mucho debate acerca de si el enfoque de nada compartido
es superior al disco compartido [6] con argumentos vlidos presentados por
ambos campos. Las arquitecturas de nada compartido ciertamente tardan ms
tiempo en responder a las consultas que implican uniones sobre grandes
conjuntos de datos de diferentes particiones (mquinas). Sin embargo, el potencial
de escalamiento es enorme.
4TO Punto Alfredo

5. Arquitectura Orientada A Servicios: Una arquitectura orientada a servicios


(SOA) es un estilo de diseo de software donde los servicios son proporcionados
a los otros componentes por componentes de aplicacin, a travs de un protocolo
de comunicacin a travs de una red. Los principios bsicos de la arquitectura
orientada al servicio son independientes de los proveedores, productos y
tecnologas
Un servicio tiene cuatro propiedades de acuerdo con una de muchas definiciones
de SOA:
Representa lgicamente una actividad comercial con un resultado
especfico.
Es autosuficiente.
Es una caja negra para sus consumidores.
Puede consistir en otros servicios subyacentes.

En SOA, los servicios utilizan protocolos que describen cmo pasan y analizan
mensajes utilizando metadatos de descripcin. Este metadato describe tanto las
caractersticas funcionales del servicio como las caractersticas de calidad de
servicio. La arquitectura orientada a servicios pretende permitir a los usuarios
combinar grandes trozos de funcionalidad para formar aplicaciones que se
construyen exclusivamente a partir de servicios existentes y combinan

Ventajas

Bajo acoplamiento: Estar en una pila SOA significa que su infraestructura y


arquitectura se dividen en varios servicios. Como consecuencia, se escribe un
software que tiende a ser poco acoplado (o menos dependientes entre s).
Flexibilidad: SOA le ofrece la flexibilidad de escribir varios componentes de
su arquitectura en cualquier idioma y plataforma que elija. Por lo tanto, esto
significa que podra escribir el lado del cliente en un lenguaje ms dinmico y
productivo como Python / Ruby / Javascript y escribir los componentes crticos de
rendimiento en lenguajes de bajo nivel como Java o C.

Pruebas y depuracin ms sencillas: Tener sus componentes aislados en


varios servicios hace que sea fcil de probar y depurar individualmente. Muchas
organizaciones tienen equipos separados para desarrollar, probar y mantener
estos componentes.

Escalabilidad: Esto va a la par con la flexibilidad. Tener componentes


separados lo hace mucho ms simple y libre de estrs para ampliar su
arquitectura. Tambin puede escalar un componente en particular y probarlo de
forma aislada, sin afectar a los dems. Esto facilita la adicin de servidores sin
tiempo de inactividad.

Reutilizacin: Dado que varios componentes se construyen por separado, se


vuelve mucho ms fcil reutilizarlos ms tarde. Por ejemplo, servicios como Netfilx
abren varios componentes de su arquitectura, para que otros los aprendan, usen
y modifiquen segn sus requerimientos.

5to punto Gabriel

También podría gustarte