En esta página:
En la parte anterior vimos un primer grupo de tipos o patrones de arquitectura de software.
Cada tipo de arquitectura es usado para cubrir determinadas necesidades y con el tiempo se mejora o escalan para obtener un mejor rendimiento.
En esta segunda parte y última, continuemos viendo los Tipos de Arquitectura de Software que existen, vamos con ello.
Partes
- Parte 1
- Parte 2 (Final)
Continuemos con los 5 tipos de arquitectura de software restantes a continuación:
6) Arquitectura cliente-servidor
Un patrón de arquitectura cliente-servidor se describe como una estructura de aplicación distribuida que tiene dos componentes principales: un cliente y un servidor.
Esta arquitectura facilita la comunicación entre el cliente y el servidor, que pueden estar o no bajo la misma red.
Un cliente solicita que se obtengan recursos específicos del servidor, que pueden ser en forma de datos, contenido, servicios, archivos, etc. El servidor identifica las solicitudes realizadas y responde al cliente de manera adecuada enviándole los recursos solicitados.
Las características funcionales de un cliente y un servidor son un ejemplo de programas que interactúan entre sí dentro de una aplicación.
La funcionalidad de esta arquitectura es muy flexible ya que un único servidor puede atender a varios clientes o un único cliente puede utilizar varios servidores.
Los servidores se pueden clasificar por los servicios o recursos que proporcionan, independientemente de su rendimiento.
El correo electrónico es un ejemplo destacado de un modelo creado utilizando el patrón cliente-servidor.
Cuando un usuario/cliente busca un correo electrónico en particular, el servidor busca en el grupo de recursos y envía el recurso de correo electrónico solicitado al usuario/cliente. Esto también le ayuda a mejorar la experiencia del usuario.
7) Arquitectura maestro-esclavo
Imagine una única base de datos que reciba varias solicitudes similares al mismo tiempo.
Naturalmente, procesar todas las solicitudes al mismo tiempo puede complicar y ralentizar el proceso de solicitud. Una solución a este problema es un patrón de arquitectura maestro-esclavo que funciona con la base de datos maestra lanzando múltiples componentes esclavos para procesar esas solicitudes rápidamente.
Como sugiere el título, el patrón de arquitectura maestro-esclavo puede representarse como un maestro distribuyendo tareas a sus esclavos.
Una vez que los componentes esclavos finalizan sus tareas, el maestro compila las tareas distribuidas y las muestra como resultado.
Hay que tener en cuenta que el maestro tiene control y poder absoluto sobre los componentes esclavos, determinando su comunicación y prioridades funcionales.
Lo que hace que este patrón sea único es que cada esclavo procesaría las solicitudes simultáneamente y proporcionaría los resultados al mismo tiempo.
Esto también significa que las operaciones del esclavo no se considerarán completas hasta que cada esclavo haya devuelto el resultado al maestro.
Este patrón es muy adecuado para aplicaciones que se pueden dividir en segmentos más pequeños para ejecutar solicitudes similares. Un ejemplo apropiado sería una aplicación de base de datos que requiere una gran multitarea como componente vital.
8) Arquitectura de filtro de tubería
Un patrón de arquitectura de filtro de tubería procesa un flujo de datos en un flujo unidireccional donde los componentes se denominan filtros y las tuberías son las que conectan estos filtros.
La cadena de procesamiento de datos tiene lugar donde las tuberías transmiten datos a los filtros y el resultado de un filtro se convierte en la entrada para el siguiente filtro.
La función de esta arquitectura es dividir componentes/procesos importantes en componentes múltiples e independientes que se pueden procesar simultáneamente.
El patrón de filtro de tubería es más adecuado para aplicaciones que procesan datos en una secuencia utilizando servicios web y pueden crear secuencias simples hasta estructuras complejas.
Los compiladores pueden considerarse un ejemplo apropiado que tiene este patrón de arquitectura, ya que cada filtro realiza análisis léxico, análisis sintáctico, análisis semántico y generación de código.
9) Arquitectura del corredor
Este patrón permite estructurar sistemas distribuidos con componentes desacoplados.
Al invocar servicios remotos, los componentes pueden interactuar con otros en patrones de arquitectura de intermediario. Además, el corredor es responsable de toda la coordinación y comunicación entre los componentes.
Los clientes, servidores y corredores son tres componentes principales del patrón de corredor.
Generalmente, un corredor tendrá acceso a todos los servicios y características relacionadas con un servidor en particular.
Cuando los clientes solicitan un servicio al corredor, el corredor los redirige a una categoría de servicio adecuada para continuar con el proceso.
Uno de los beneficios clave de este patrón de arquitectura es cómo gestiona operaciones, como cambio, adición, eliminación o reubicación, relacionadas con objetos de forma dinámica.
Por último, este patrón de arquitectura separa todo el código relacionado con la comunicación en capas de la aplicación, lo que permite que las aplicaciones se ejecuten en computadoras distribuidas o individuales.
Debido a estas ventajas, la arquitectura de intermediarios ha prevalecido.
10) Arquitectura punto a punto
También llamado peer-to-peer, en este patrón de arquitectura los componentes individuales se denominan pares.
Un par puede actuar como cliente, servidor o ambos y cambiar su función dinámicamente con el tiempo.
Como cliente, un par puede solicitar servicios a otros pares y, como servidor, un par puede proporcionar servicios a otros pares.
La diferencia significativa entre la arquitectura peer-to-peer y cliente-servidor es que cada computadora en la red tiene una autoridad considerable y la ausencia de un servidor centralizado.
Su capacidad aumenta a medida que más y más ordenadores se unen a la red.
Un excelente ejemplo de un patrón de arquitectura peer-to-peer serían las redes de intercambio de archivos como Skype, BitTorrent y Napster.
En BitTorrent, la arquitectura peer-to-peer se utiliza para distribuir datos y archivos en Internet de forma descentralizada.
Al utilizar este protocolo, se pueden transferir archivos de audio y vídeo de gran tamaño con la mayor facilidad.
En Skype, utiliza el patrón de arquitectura VoIP P2P para realizar una llamada de voz y enviar mensajes de texto a otro usuario.
De esta manera, puede utilizar una arquitectura de igual a igual para compartir archivos, enviar mensajes, colaborar, etc.
Conclusión
En este artículo que consta de dos partes, te he compartido 10 Tipos de Arquitectura de Software que son usados actualmente por grandes empresas y proyectos populares, asimismo hay empresas en auge que también las utilizan. Conforme te adentres en este mundo de las arquitecturas de software, las conocerás mejor.
Nota(s)
- No olvides que debemos usar la Tecnología para hacer cosas Buenas por el Mundo.
Síguenos en nuestras Redes Sociales para que no te pierdas nuestros próximos contenidos.