Tipos de Arquitectura

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 17

TIPOS DE ARQUITECTURA

S.O.A
Es un concepto de arquitectura de software que

da forma a los  procedimientos para crear y usar

diversos procesos, herramientas y modelos, 

reunidos en forma de servicios (componentes)

independientes y reutilizables con  interfaces

invocables bien definidas (independientes del

hardware, sistema  operativo y del lenguaje de

programación), para dar soporte TI a los

requisitos y  necesidades de un negocio. 


Beneficios
• Aumento de la eficiencia en los procesos.
• Amortización de la inversión realizada en sistemas.
• Reducción de costes de mantenimiento.
• Facilita la adaptación al cambio, con la integración con
sistemas heredados.
• Fomento de la innovación orientada al desarrollo de servicios,
acordes con el dinamismo de mercado. Se modernizan los
sistemas obsoletos por razones económicas, funcionales o
técnicas.
• Simplificación del diseño, optimizando la capacidad de
organización.
Ejemplos
Un ejemplo típico de arquitectura SOA son los
Web Services (Servicios Web) que proporcionan
una interfaz de acceso a un servicio escondiendo
las particularidades de dicho servicio de modo
que sea accesible desde cualquier tipo de cliente
a través de protocolos estándar.
Micro servicios
 

Es un método de desarrollo de

aplicaciones  software que funciona

como un conjunto de pequeños

servicios que se ejecutan de  manera

independiente y autónoma,

proporcionando una funcionalidad de

negocio  completa.
Beneficios
• Equipo de trabajo mínimo.
• Escalabilidad.
• Funcionalidad modular, módulos
independientes.
• Libertad del desarrollador de desarrollar y
desplegar servicios de forma independiente.
• Uso de contenedores permitiendo el despliegue
y el desarrollo de la aplicación rápidamente.
Cliente servidor

Es un modelo de diseño de software

en el que  las tareas se reparten entre

los proveedores de recursos o

servicios, llamados  servidores, y los

demandantes, llamados clientes. Un

cliente realiza peticiones a  otro

programa, el servidor, quien le da

respuesta.
Monolítica
Consiste en crear una aplicación

 autosuficiente que contenga

absolutamente toda la funcionalidad

necesaria para  realizar la tarea para la

cual fue diseñada, sin contar con

dependencias externas  que

complementen su funcionalidad. En este

sentido, sus componentes trabajan

 juntos, compartiendo los mismos

recursos y memoria. En pocas palabras,

una  aplicación monolítica es una unidad

cohesiva de código.
Beneficios
• Fácil de desarrollar: Debido a que solo existe
un componente, es muy fácil para un equipo
pequeño de desarrollo iniciar un nuevo
proyecto y ponerlo en producción
rápidamente.
• Fácil de escalar: Solo es necesario instalar la
aplicación en varios servidores y ponerlo
detrás de un balanceador de cargar.
Distribuido
Se define como sistema distribuido a un conjunto o grupo de
equipos que son  independientes entre sí y que actúan como un
único equipo de forma transparente  y que tienen como objetivo la
descentralización del procesamiento o el  almacenamiento de
información.
Beneficios
Concurrencia. Una arquitectura distribuida permite que sea utilizada por
todos los usuarios que interactúan en la red.

Modularidad. Esta característica permite que los sistemas distribuidos sean


escalables, teniendo capacidad para crecer de forma simple y eficiente.

Transparencia. Proporcionando a los usuarios y las aplicaciones una visión de


los recursos del sistema como si se tratase de una única máquina o equipo.

No depende de los componentes. Un sistema distribuido no depende de los


distintos componentes hardware que lo forman, ya que, si alguno falla, los
demás continúan con los procesos sin que el sistema se vea interrumpido o
sufra pérdidas de datos.
Apertura. La arquitectura distribuida permite añadir nuevos
servicios que compartan los recursos existentes sin perjudicar
los servicios que ya se están ejecutando. Por eso deben estar
diseñados sobre protocolos estándar que permitan utilizar
hardware y software de distintos fabricantes o desarrolladores.

Carencia de reloj global. Las coordinaciones para la


transferencia de mensajes entre los diferentes equipos para la
resolución de una o varias tareas, no tienen una temporización
general, es decir, se encuentra distribuida a los componentes.
Ejemplos

StackPath

Utiliza un sistema distribuido particularmente grande para impulsar su


servicio de red de entrega de contenido. Cada uno de sus puntos de
presencia (PoP) tiene nodos, formando un sistema distribuido a nivel
mundial.

StackPath almacena el contenido solicitado más recientemente y con más


frecuencia en las ubicaciones más cercanas al sitio que se está utilizando.

Al interconectar computadoras virtuales, además de aprovechar la velocidad


y agilidad de una informática de punta, el sistema puede manejar muy
rápidamente miles de solicitudes simultáneas.
Internet

• Es el mayor sistema distribuido del mundo. Cualquier


usuario siente como si fuera un solo sistema, aunque está
compuesto por millones de computadoras.
• Mediante el concepto de abstracción no se tiene idea sobre
dónde están almacenados los datos, cuántos servidores
están involucrados o cómo llega la información al navegador.
El navegador disuelve la complejidad de Internet.
• Esto se aplica también a aplicaciones tales como el correo
electrónico Gmail o cualquier otra aplicación que se pueda
usar. Todas las personas interactúan diariamente con
aplicaciones distribuidas.
Capas
La arquitectura en capas es una de las más utilizadas, no solo

por su  simplicidad, sino porque también es utilizada por

defecto cuando no estamos  seguros que arquitectura

debemos de utilizar para nuestra aplicación. 

La arquitectura en capas consta en dividir la aplicación en

capas, con la  intención de que cada capa tenga un rol muy

definido, como podría ser, una  capa de presentación (UI),

una capa de reglas de negocio (servicios) y una capa  de

acceso a datos (DAO), sin embargo, este estilo arquitectónico

no define  cuantas capas debe de tener la aplicación, sino

más bien, se centra en la  separación de la aplicación en

capas (Aplica el principio Separación de  preocupaciones

(SoC)).
Beneficios
• Mejoras en las posibilidades de mantenimiento. Debido a que cada capa es
independiente de la otra los cambios o actualizaciones pueden ser realizados sin
afectar la aplicación como un todo.

• Escalabilidad. Como las capas están basadas en diferentes maquinas, el


escalamiento de la aplicación hacia afuera es razonablemente sencillo.

• Flexibilidad. Como cada capa puede ser manejada y escalada de forma


independiente, la flexibilidad se incrementa.

• Disponibilidad. Las aplicaciones pueden aprovechar la arquitectura modular de


los sistemas habilitados usado componentes que escalan fácilmente lo que
incrementa la disponibilidad.
Ejemplos
• Una aplicación Web Financiera donde la
seguridad es importante y la capa de negocios
necesita estar instalada detrás de un Firewall, lo
que obliga la instalación de la capa de
presentación en una capa separada del perímetro.
• Una aplicación de cliente rico conectada, donde
la capa de presentación esta en las maquinas
cliente y las capas de negocios y datos están
instaladas en el servidor.

También podría gustarte