¿Qué es una pila de software? Definición | Programación

La pila de software o solución describe exactamente qué tecnologías tienen que trabajar juntas en qué combinación para formar una plataforma especializada para aplicaciones específicas. Esto generalmente va desde el sistema operativo hasta los lenguajes de programación requeridos.

Pila de software

Una pila de software o pila de soluciones combina todos los componentes de software que conforman una plataforma específica. Este paquete de programas proporciona una configuración de tecnologías firmemente estructurada que se requiere para ejecutar una aplicación. La pila suele estar compuesta por varios componentes diferentes. Esto puede incluir los siguientes componentes:

  • Sistema operativo
  • (Web) tecnología de servidor
  • Tecnología de base de datos
  • Entorno / marcos de ejecución
  • Lenguajes de programación

En primer lugar, suele estar la capa más baja de la plataforma, sobre la que se construyen todos los demás componentes. A menudo es el sistema operativo, a veces un entorno de ejecución específico o algo similar. A esto le sigue, por ejemplo, una tecnología de servidor web, luego una tecnología de base de datos y luego un entorno de ejecución.

Por lo tanto, una pila siempre proporciona información sobre qué tecnologías necesita al menos una aplicación para funcionar correctamente. El resultado es, por ejemplo, una plataforma en la que se puedes proporcionar un sitio web.

Las pilas establecidas facilitaron la comunicación

Hay algunas pilas de software que han demostrado ser soluciones prácticas y elegantes para ciertos escenarios. Se han establecido como una especie de estándar para determinadas aplicaciones y, en consecuencia, están muy extendidos. Es por eso que ahora hay nombres fijos para estas combinaciones especiales, por ejemplo, XAMPP, LAMP o WINS. Estos nombres suelen ser un acrónimo más o menos exacto de las tecnologías que generalmente están involucradas en la pila respectiva.

Ejemplos de pilas conocidas:

XAMPP

  • Sistema operativo: plataforma cruzada («X»)
  • Servidor web: Apache
  • Base de datos: MariaDB / MySQL
  • Lenguaje de programación: PHP
  • Lenguaje de programación: Perl (o Python)

LAM / WAMP

  • Sistema operativo: Linux (LAMP) / Windows (WAMP)
  • Servidor web: Apache
  • Base de datos: MariaDB / MySQL
  • Lenguajes de programación: PHP / Perl / Python

WINS

  • Sistema operativo: Windows Server
  • Servidor web: Servicios de información de Internet
  • Marco: .NET
  • Base de datos: SQL Server

Entonces, cuando hablamos de WINS, por ejemplo, todo desarrollador sabe, incluso sin una explicación extensa, que este es un proyecto .NET que se ejecuta en un sistema con Windows Server e IIS y usa SQL Server como el DBMS relacional. Es evidente de inmediato qué marcos y software se requieren para ejecutar la aplicación correspondiente.

A menudo se puede estimar implícitamente más información, por ejemplo, qué lenguajes de programación y entornos de desarrollo son adecuados para el proyecto. Dado que WINS usa el marco .NET de Microsoft, podría ser un proyecto creado en Visual Studio y programado en C #, F # o VB.NET.

Compartir tareas a través de la pila de software

Compartir tareas a través de la pila de software
Compartir tareas a través de la pila de software

Especialmente con proyectos más grandes, un solo desarrollador no trabaja con todas las partes de la pila al mismo tiempo, sino que se centra en una parte específica. La mayoría de las veces, se especializa en esta área de responsabilidad y está particularmente familiarizado con las tecnologías y procedimientos asociados. Varios desarrolladores con diferentes competencias trabajan hacia un objetivo común en diferentes áreas de la pila.

Para tales proyectos, el desarrollador individual en teoría solo necesita dominar las tecnologías que caen dentro de su área de responsabilidad. En un equipo, por ejemplo, un desarrollador de base de datos, un desarrollador de backend y un desarrollador de frontend podrían trabajar juntos en las respectivas subáreas de un sitio web.

Si una persona no está especializada exclusivamente en un área, pero podría trabajar completamente en cualquier parte de la pila si es necesario, se habla de un desarrollador de pila completa, comerciante individual o programador de pequeños proyectos, por ejemplo, a menudo tiene que trabajar en gran parte solo en una aplicación y, por lo tanto, cubre todo el paquete de software.

Deja un comentario