Entradas

¿Qué es la arquitectura de software?

Imagen
       Este concepto surge en los años 60's y básicamente explica la planificación que se basa en modelos, patrones y abstracciones teóricas para asi tener una guía teórica detallada que nos permite entender por medio de estas como   es la estructura, el  funcionamiento y la  interacción entre cada una de las partes del software. (Huet, 2023) Para mayor informacion puedes ver el siguiente video:

Modelo Vista Presentador MVP

Imagen
 El patrón de diseño Modelo-Vista-Presentador (MVP) es una variante del patrón Modelo-Vista-Controlador (MVC), utilizado comúnmente en el desarrollo de aplicaciones de interfaz de usuario. En MVP, la lógica de presentación (Presentador) se separa de la lógica de la interfaz de usuario (Vista), y la comunicación entre ambas se realiza a través de interfaces. El Modelo representa los datos y la lógica de negocio de la aplicación. Este modelo es similar al MVC que explicare a continuacion con sus caracteristicas y diferencias de cada uno. El patrón de diseño Modelo-Vista-Controlador (MVC) es un enfoque arquitectónico utilizado en el desarrollo de software para separar las responsabilidades en una aplicación. Este patrón consta de tres componentes principales: el Modelo, la Vista y el Controlador. A continuación, se detallan las características y diferencias clave del MVC: El patrón Modelo-Vista-Presentador (MVP) es una variante del patrón Modelo-Vista-Controlador (MVC) y se utiliza pa...

WebMl

Imagen
  El enfoque de la metodología WebML combina componentes tradicionales bien conocidos por los desarrolladores, como el diseño conceptual  de datos usando el modelo Entidad- Relación y la especificación de los casos de usos usando UML, con nuevos conceptos y métodos para el diseño de hipertextos, que son fundamentales para el desarrollo web. WebML se fundamenta en tres modelos esenciales: Modelo de datos: Define la estructura de los datos empleados en la aplicación web. Modelo de navegación: Describe la manera en que los usuarios interactuarán y navegarán por la aplicación web. Modelo de presentación: Detalla cómo se exhibirán los datos a los usuarios. WebML presenta diversas ventajas con respecto a otros enfoques de diseño web: Eficiencia: Facilita a los desarrolladores la creación ágil y eficaz de aplicaciones web complejas. Reusabilidad: Permite a los desarrolladores aprovechar código y componentes preexistentes, optimizando tiempo y esfuerzo. Mantenibilidad: Genera aplicaci...

Arquitectura monolítica

Imagen
 "C onsiste en crear una aplicación autosuficiente que contenga absolutamente toda la funcionalidad necesaria para realizar la tarea para la cual fue diseñada"  ( Arquitectura de monolítico , s. f.)        Algunas caracteristicas son que no debe contar con dependencias externas que complementen su funcionalidad, ya que sus compontentes trabajan juntos de manera que estos comparten recursos y memoria. Con esto podemos decir que u na aplicación monolítica es un conjunto de código que se mantiene como una entidad única y cohesiva. Información recabada desde:  Arquitectura de monolítico . (s. f.). https://reactiveprogramming.io/blog/es/estilos-arquitectonicos/monolitico

Arquitectura de microservicios

Imagen
 Se conforma por una colección de servicios autónomos y pequeños los cuales son independientes y debe implementar una funcionalidad de negocio individual dentro de un contexto delimitado. Con lo cual se refiere a una división natural de una empresa y proporciona un límite explícito dentro del cual existe un modelo de dominio. Cada de estos servicios son un código base independiente, que puede administrarse  por un equipo de desarrollo pequeño. Por lo cual hace que se puedan implementar de manera independiente y esto facilita a algun equipo que pueda actualizar un servicio existente sin tener que volver a generar e implementar toda una aplicación.  Estos servicios son responsables de almacenar sus propios datos lo cual difiere del modelo tradicional, donde las capas de datos son independientes y controla la persistencia de los datos. Información recaba desde  Martinekuan. (s. f.). Estilo de arquitectura de microservicios - Azure Architecture Center . Microsoft Le...

Arquitectura Orientada a Servicios

Imagen
 Esta arqutectura se define como un método de desarollo de software que utiliza componentes llamados servicios para crear aplicaciones empresariales que ademas puedan comunicarse con el resto de servicios a través de plataformas y lenguajes. Algunos de sus beneficios son: Reducción del plazo de comercialización. Mantenimiento eficiente. Excelente capacidad de adaptación. Los principios de esta arquitectura son:  La INTEROPERABILIDAD que se caracteriza por incluir documentos descriptivos que especifican la funcionalidad del servicio, asi mismo explica las condiciones y términos relacionados. Siguiendo por el ACOPLAMIENTO FLEXIBLE ya que tienen poca depedencia de recursos externos como lo son modelos de datos o sistemas de información. La ABSTRACCIÓN se refiere al tamaño y alcance adecuados; deben contaron con una funcion empresarial discreta por servicio. Por esto los desarrolladores pueden utilizar varios servicios para crear servicios compuestos para asi llevar a cabo tareas ...

Arquitectura en Capas

Imagen
La base de esta arquitectura es la separación de las distintas funcionalidades del sistema en capas o niveles, donde cada nivel se escarga de tareas especificas y se comunican entre si por medio de interfaces.  Los elementos de esta arquitectura son: Capas:  Una capa es un conjunto de componentes de software que se encanrgan de realizar una función especifica dentro del sistema. Interfaces: Son un conjunto de definciones de métodos y propiedades que proporcionan una forma estandarizada de comunicación entre dos capas adyacentes.  Servicios: Es una unidad lógica de funcionalidad que se proporciona a través de una interfaz y puede ser invocado por medio de diferentes de capas o compontentes del sistema. En resúmen permiten reutilizar la logica de negocio y la separación de responsabiliades por lo que pueden ser probado de manera independiente en otras partes del sistema. Funciones:  Son unidades lógicas de código que se utilizan para realizar una tarea especifica dentr...

Arquitectura Cliente-Servidor

Imagen
      Esta arquitectura esta compuesta por dos componentes, uno es el proveedor y otro el consumidor. El proveedor es el servidor y el consumidor es el clientes, de cual pueden ser varios, tantos como el servidor soporte. Las partes se programan como aplicaciones totalmente independientes, por lo que pueden ser desarrolladas en diferentes tecnologias, siempre y cuando respeten el protocolo de comunicacion que por lo regular es TCP/IP.   (Blancarte, s. f.) Ventajas Centralización: Permite la centralizacion debido a que el servidor es el que almacena toda la información y simplemente es modificada a traves del cliente el cual le envia peticiones. Seguridad: El servidor suele estar protegido por medio de firewalls para que los atacantes no puedan acceder a la base de datos sin pasar por el servidor.  Fácil instalación: El cliente es una aplicacion simple de bajos recursos, no ocupa depedencias y por esto es sencilla de instalar.  Portabilidad: Podemo...