1.1.1  Aplicaciones monolíticas.

mo
En la ingeniería de software, una aplicación monolítica describe una única aplicación de software en niveles en los que la interfaz de usuario y código de acceso a datos se combinan en un solo programa de una plataforma única.

En los días del mainframe o del computador personal de escritorio, cuando una aplicación era almacenada en una única máquina, era común encontrar aplicaciones monolíticas que contenían toda la funcionalidad de la aplicación en una gran y frecuentemente difícilmente mantenible pieza de software.

Todas las entradas de usuario, verificación, lógica de negocio y acceso de datos podrían encontrarse juntas. Esto era apropiado en el mundo del mainframe y centros de datos corporativos porque todo era controlado y los mismos sistemas tendían a evolucionar lentamente.

Sin embargo, cualquier cambio requerido a cualquier parte de la funcionalidad podría potencialmente afectar otras partes. Porque la presentación, negocio, y la lógica de acceso a datos están localizados dentro de la misma pieza de código de aplicación, la recopilación de varias partes del código podría ser necesaria, incrementando la sobrecarga de nueva o cambios de funcionalidad.

Incluso, los cambios en partes del código podría introducir bugs no intencionales en otras partes aparentemente no relacionadas.
Una aplicación monolítica es autónoma, independiente y de las aplicaciones computacionales. La filosofía del diseño es que la aplicación es responsable no sólo de una tarea determinada, pero puede realizar todos los pasos necesarios para completar una función particular. Hoy en día, algunas aplicaciones de finanzas personales son monolíticos en el sentido de que ayudan al usuario realizar una tarea completa, de extremo a extremo, y son «datos privados de los silos» en lugar de partes de un sistema más amplio de aplicaciones que funcionan juntos. Procesadores de texto son un ejemplo de una aplicación monolítica. Estas aplicaciones se asocian a veces con mainframe ordenadores.

Una aplicación monolítica es aquella aplicación que se ha diseñado para solo una función un ejemplo de ello sería un procesador de texto. Una aplicación monolítica es autónoma, independiente de otras aplicaciones computacionales.

Una aplicación monolítica también se le es llamada de una capa y los datos se encuentran mezclados o altamente mezclados lo que indica que no puede hacerse una separación física o lógica para verificar si alguna de las partes puede ser reutilizable.

Un ejemplo de esto también puede ser MS-DOS
Las aplicaciones Cliente- Cliente concentran toda la actividad en los equipos de los usuarios, dejando a los servidores la labor de meros reservorios de datos compartidos.

Así ante cada petición de datos, el servidor devuelve archivos completos que luego son procesados por el equipo cliente, para obtener el resultado.

Por ejemplo, suponiendo que una base de cliente tuviera un tamaño medio de 5Mb y se efectúa una búsqueda muy simple de un cliente en particular, el servidor no efectuará la búsqueda por sí sino que devuelve la tabla de 5Mb completa, luego el equipo del usuario procesa la búsqueda en su equipo para seleccionar 1 registro de digamos unos 1Kb y descarta el resto de la información.

Una aplicación monolítica duplica en cada computadora todos sus elementos: interfaz de usuario, lógica o reglas de negocio y acceso a datos.

mon

VENTAJAS

 

  •  Funcionan más rápido
  •  Fácil de desarrollar 
  •  Precisa cierta potencia de proceso

 

DESVENTAJAS

  • Requiera mayor hardware en las estaciones de trabajo
  • Son infinitamente más lentos en el procesamiento de peticiones sencillas
  • Requiere habilitar el acceso real a la carpeta de datos para todos los usuarios de la aplicación 
  •  Su actualización es más costosa
  • No permite el acceso en línea desde fuera de la red local o requieren de implementaciones de soluciones de conectividad muy costosa.
  • Ocupan mayor ancho de banda, provocando congestionamiento en la Red Local.

 

EJEMPLO: Por ejemplo, suponiendo que una base de cliente tuviera un tamaño medio de 5Mb y se efectúa una búsqueda muy simple de un cliente en particular, el servidor no efectuará la búsqueda por sí sino que devuelve la tabla de 5Mb completa, luego el equipo del usuario procesa la búsqueda en su equipo para seleccionar 1 registro de digamos unos 1Kb y descarta el resto de la información.