La arquitectura de software es el proceso de planeamiento e ideación y construcción de un software. La programación no es suficiente al momento de hacer una creación informática, antes de programar se debe pensar entre todos los tipos de arquitectura de software cual será la mejor para nuestro proyecto.
La arquitectura de software es sencillamente todo el marco lógico desarrollado en lenguaje de alto nivel; esta técnica es la encarga de hacer funcionar todas las programaciones y de aprovechar al máximo el hardware. Una mala arquitectura acabará siendo un software mal diseñado, concebido y no funcional.
Tipos de arquitectura de software
En su inicio, programar y diseñar con elementos informáticos era más considerado un arte que una ciencia, por lo que algunos autores también le llaman estilos de arquitectura de software.
- Arquitectura de 3 capas: Especial para programas de tipo cliente-servidor. En cada capa hay un estadio del proceso; datos, procesamiento y presentación.
- Cliente-servidor: también llamada de dos capas, es la predecesora de la anteriormente nombrada. Carece de un elemento para procesar datos, por lo que se utiliza para comunicación lineal.
- Pipeline: Un tipo de arquitectura ideal para programas con muchos comandos que pueden ser ejecutados a la vez.
- SOA: Arquitectura Orientada a Servicios en español. Es un modelo sencillo, ya que solo se basa n mostrar información al cliente, el cual solicita unos pocos datos de una base de datos muy extensa.
Paradigmas arquitectónicos de diseño
Existen diversas maneras de imaginar, y por ende de diseñar y programar, un software. Según la visión que tenga el ingeniero será hecho el diseño, allí radica la importancia de la arquitectura de software.
Las visiones o paradigmas pueden basarse en los componente del mismo, en ese caso serían estáticos, ya que sólo aprecian las partes. Por otro lado, la visión dinámica describe la interacción de los componentes. Mientras que existe una visión funcional, cuyo paradigma describe lo que hacen las partes y su suma final.
Sin importar cuál de los tipos de arquitectura de software se escoja, la clave para un diseño excelente radica en conocerlas todas y escoger la que mejor se adapte al producto final.