PATRONES DE ARQUITECTURA

 Patrones de arquitectura

Por otra parte, también existen los patrones arquitectónicos o arquetipos, los cuales tienen un nivel superior de abstracción, es decir, no especifican cómo escribir el código, pero sí cómo debe estar organizado y que elementos son importantes en la aplicación. Estos al igual que los patrones de diseño, solucionan problemas recurrentes de una forma reutilizable.

 Los patrones de arquitectura más usados son: 

1.- Programación por capas: Utilizada para estructurar programas que pueden descomponerse en subtareas. Normalmente cuenta con tres capas, en una de ellas se implementa la lógica de negocio, en otra los datos y en otra la presentación de los datos ya tratados. Es uno de los arquetipos más usados hoy en día.

2.- Cliente-Servidor: Este patrón consta de dos partes: un servidor y múltiples clientes, el servidor será el que dé servicio a diversos componentes del cliente y los clientes solicitarán servicio al servidor. En esta arquitectura se separan las capas en varias máquinas físicas, normalmente se utiliza 2 o 3 niveles. Si utilizáramos dos niveles tendríamos la capa de presentación en una máquina del cliente y el tratado de lo datos con la base de datos en otra máquina. En la de 3 niveles se pondría cada capa en un servidor diferente con la mejora de la escalabilidad.

3.- Arquitectura orientada a servicios (SOA): Es la que da soporte a los requerimientos del negocio mediante la creación de servicios. Un servicio corresponde a un requerimiento funcional del negocio, por ejemplo: Un cliente necesita saber el stock de un determinado producto, por lo que se crea un servicio que consulte en la base de datos la cantidad de producto disponible.

4.- Arquitectura de microservicios: Utilizada para crear aplicaciones usando un conjunto de pequeños servicios, los cuales se comunican entre sí, pero se ejecutan de forma individual.

5.- Pipeline: Utilizado para organizar sistemas que procesan una sucesión de datos. Estos datos pasan a través de tuberías (que son una combinación de comandos que se ejecutan de forma simultánea, donde el resultado de la primera se envía de entrada para el siguiente). Las tuberías se usan para almacenar datos en un buffer o para la sincronización de estos.

6.- Arquitectura en pizarra: Se utiliza para la resolución de problemas de los cuales se desconoce su estrategia. Está formado por tres componentes:

1.- Pizarra: memoria que contiene todos los objetos.

2.- Fuente de conocimiento: son módulos especializados.

3.- Componente de control: encargado de seleccionar y ejecutar los módulos.

7.- Arquitectura dirigida por eventos: Maneja principalmente los eventos y está formado por cuatro componentes que son: fuente de evento, escucha de evento, canal y bus de evento.

8.- Peer-to-peer: Se llama pares a las componentes individuales y estos pueden funcionar como servidor, dando servicio a otros pares, o como cliente, pidiendo servicio a otros países.

9.- Modelo Vista Controlador: Divide un programa interactivo en tres partes:

1.- Modelo: está formado por los datos básicos y contiene la funcionalidad del programa.

2.- Vista: maneja la visualización de la información.

3.- Controlador: encargado de controlar la entrada (teclado y ratón) del usuario e informar al modelo y la vista de los cambios de acuerdo a los requerimientos.

Permite desacoplar los componentes y reutilizar el código más eficientemente. Siempre que se desarrolla un servicio web es necesario establecer un protocolo de comunicación con la aplicación, las dos más importantes son SOAP y REST. SOAP es un protocolo que establece que el intercambio de mensajes se va a realizar por medio de XML. REST es un protocolo basado en HTTP que para el intercambio de mensajería utiliza JSON o XML, aunque es más habitual con JSON ya que es más rápido.






No hay comentarios:

Publicar un comentario

Contenido desarrollo de software - Arquitectura Software

ENUM en JAVA