El desarrollo de software busca resolver distintas problemáticas con ayuda de la tecnología. Pero estas problemáticas suelen ser variadas y distintas, por lo que nuestro producto tiene que ser acorde al problema a resolver. O sea, no es lo mismo resolver la gestión de finanzas de una empresa que resolver la integración de un sistema con la AFIP.
Como tenemos distintos problemas que resolver debemos suponer que no todos los problemas se resuelven de la misma manera. Pero ¿Por dónde empiezo para saber que estrategia usar para resolverlo?
Es ahí donde debemos emplear una de las primeras herramientas a tener en cuenta en el desarrollo de software. “La arquitectura de software”.
¿Qué es la arquitectura de software?
La arquitectura de software es el diseño de los cimientos de mi aplicación. Es decir, el marco que establecemos en la que todos los diseños de nuestra aplicación deben moverse, también establecemos como actuara nuestro sistema y como se comunicarán los componentes para pasarse información entre ellos.
¿Por qué es importante la arquitectura de mi software?
La arquitectura es muy importante ya que son los cimientos donde todo el desarrollo estará montado. Como en la construcción de un edificio si los cimientos no son buenos la construcción de todo el edificio se puede dificultar demasiado hasta el punto de ser imposible terminar el edificio. Elegir la mejor arquitectura para solucionar el problema de nuestro cliente puede garantizar un desarrollo ágil y mantenible y un producto duradero en el tiempo.
¿Qué tipos de arquitectura existen?
Existen muchas arquitecturas para aplicar a nuestro proyecto y como toda la tecnología e ideas avanzan la arquitectura también así que siguen saliendo nuevas formas e ideas de arquitectura todo el tiempo.
Aquí les voy a mencionar algunas de las arquitecturas más conocidas y en siguientes posts explicaremos algunas de ellas en detalle, para que sirven, cuáles son sus ventajas y cuales sus desventajas.
Tipos de arquitectura de software
- Arquitectura de capas
- Arquitectura guiada por eventos
- Microkernel
- Microservicios
- Tuberías y filtros
- Batch
- Cliente servidor
- Maestro esclavo
Esto fue una pequeña introducción a para poder entender lo que hablaremos en siguientes posts que los invito a seguir.