Articulo de referencia

Pila de soluciones

En informática , una pila de soluciones, también llamada pila de software o pila tecnológica, es un conjunto de subsistemas o componentes de software necesarios para crear una p...

En informática , una pila de soluciones, también llamada pila de software o pila tecnológica, es un conjunto de subsistemas o componentes de software necesarios para crear una plataforma completa , de modo que no se necesite software adicional para dar soporte a las aplicaciones. [ 1 ] Se dice que las aplicaciones “se ejecutan sobre” o “se ejecutan encima” de la plataforma resultante.

Por ejemplo, para desarrollar una aplicación web , el arquitecto define la pila como el sistema operativo , el servidor web , la base de datos y el lenguaje de programación de destino . Otra versión de una pila de software es sistema operativo, middleware , base de datos y aplicaciones. [ 2 ] Habitualmente, los componentes de una pila de software son desarrollados por diferentes desarrolladores de forma independiente.

Algunos componentes/subsistemas de un sistema general se eligen juntos con la suficiente frecuencia como para que el conjunto en particular se denomine con un nombre que represente el todo, en lugar de nombrar las partes. Normalmente, el nombre es un acrónimo que representa los componentes individuales. [ 3 ]

Históricamente, el término “pila de soluciones” ha incluido ocasionalmente componentes de hardware como parte de un producto final, mezclando tanto el hardware como el software en capas de soporte. [ 4 ] [ 5 ]

Se espera que un desarrollador full-stack sea capaz de trabajar en todas las capas de la aplicación ( front-end y back-end ). Un desarrollador full-stack puede definirse como un desarrollador o ingeniero que trabaja tanto en el desarrollo front-end como back-end de un sitio web, aplicación web o aplicación de escritorio. [ 6 ] Esto significa que pueden liderar la creación de plataformas que incluyen bases de datos, sitios web para usuarios y trabajar con clientes durante la fase de planificación de proyectos.

pilas de JavaScript

Una pila de JavaScript es un conjunto de tecnologías que utilizan JavaScript como lenguaje de programación principal en todo el proceso de desarrollo de software, combinando herramientas de front-end y back-end para construir aplicaciones web completas. Con el auge de Node.js, JavaScript ahora se puede ejecutar en el servidor, lo que permite a los desarrolladores usar un único lenguaje tanto para el desarrollo del cliente como del servidor. Esta unificación simplifica el flujo de trabajo de desarrollo, mejora la reutilización del código y aumenta la productividad al permitir una lógica y herramientas consistentes en toda la aplicación. Las pilas de JavaScript suelen ser preferidas por su velocidad, escalabilidad y acceso a un vasto ecosistema de bibliotecas y frameworks disponibles a través de plataformas como npm. La creciente popularidad de estas pilas refleja un cambio más amplio hacia el desarrollo full-stack de JavaScript en la ingeniería web moderna. [ 7 ] [ 8 ] [ 9 ] [ 10 ]

Pilas a nivel del sistema operativo

MLVN [ 11 ]
MongoDB (base de datos)
Linux (sistema operativo)
Varnish (software) (caché de interfaz)
Node.js (entorno de ejecución de JavaScript)
WISAV/WIPAV
Windows Server (sistema operativo)
Servicios de información de Internet (servidor web)
Microsoft SQL Server / PostgreSQL (base de datos)
ASP.NET (framework web de backend)
Vue.js (framework web de frontend)

Pilas web independientes del sistema operativo

GRANDstack [ 12 ]
GraphQL (lenguaje de consulta y manipulación de datos)
React (presentación de aplicación web)
Apollo (Plataforma de gráficos de datos)
Neo4j ( sistemas de gestión de bases de datos )
JAMstack [ 13 ]
JavaScript (lenguaje de programación)
API (Interfaces de programación de aplicaciones)
Marcado (contenido)
MEDIA [ 14 ]
MongoDB (base de datos)
Express.js (capa de controlador de la aplicación)
AngularJS / Angular (presentación de aplicación web)
Node.js (entorno de ejecución de JavaScript)
MERN [ 15 ]
MongoDB (base de datos)
Express.js (capa de controlador de la aplicación)
React.js (presentación de aplicación web)
Node.js (entorno de ejecución de JavaScript)
MEVN [ 16 ]
MongoDB (base de datos)
Express.js (capa de controlador de la aplicación)
Vue.js (presentación de aplicación web)
Node.js (entorno de ejecución de JavaScript)
PERN [ 17 ]
PostgreSQL (base de datos)
Express.js (capa de controlador de la aplicación)
React (biblioteca de JavaScript) (presentación de aplicaciones web)
Node.js (entorno de ejecución de JavaScript)
T-REx [ 18 ]
TerminusDB ( base de datos gráfica escalable )
React ( framework web de JavaScript )
Express.js (framework para Node.js )

Pilas de frameworks específicos

Pila Java-Spring

La pila Java- Spring es una pila tecnológica robusta y de nivel empresarial construida en torno al lenguaje de programación Java y el ecosistema Spring. Su núcleo es el Spring Framework, que proporciona un modelo integral de programación y configuración para aplicaciones Java modernas. Esta pila suele incluir Spring Boot, un proyecto que simplifica la configuración de aplicaciones Spring mediante la convención sobre configuración, servidores integrados y valores predeterminados listos para producción. Componentes adicionales como Spring MVC, Spring Data y Spring Security se utilizan comúnmente para construir aplicaciones web, acceder a bases de datos e implementar autenticación y autorización. La pila Java-Spring se combina frecuentemente con bases de datos relacionales como MySQL o PostgreSQL y se implementa típicamente utilizando contenedores de servlets como Apache Tomcat o plataformas como Spring Cloud para arquitecturas de microservicios. Conocida por su escalabilidad, modularidad y estabilidad a largo plazo, la pila Java-Spring es ampliamente adoptada en entornos empresariales, particularmente en finanzas, telecomunicaciones y plataformas SaaS a gran escala. [ 19 ] [ 20 ] [ 21 ]

pila Python-Django

La pila Python- Django utiliza Python como lenguaje de programación principal y Django como framework web. Django está diseñado para fomentar un diseño limpio y pragmático, siguiendo el principio DRY (Don't Repeat Yourself, No te repitas). Incluye una amplia gama de funcionalidades integradas, como autenticación de usuarios, una interfaz de administración, gestión de formularios y un potente ORM. Estas herramientas integradas hacen que Django sea especialmente eficaz para aplicaciones web con gran cantidad de contenido o bases de datos. La pila suele combinar Django con PostgreSQL o SQLite como base de datos y se ejecuta en servidores web como Gunicorn detrás de Nginx. Gracias a la legibilidad de Python y la completa documentación de Django, esta pila se utiliza ampliamente en plataformas educativas, aplicaciones científicas y sistemas de gestión de contenido. [ 22 ] [ 23 ]

pila Ruby on Rails

La pila Ruby on Rails se basa en el lenguaje de programación Ruby y el framework web Rails. Enfatiza el principio de convención sobre configuración , lo que permite a los desarrolladores crear aplicaciones rápidamente al reducir la necesidad de código repetitivo y configuración manual. Ruby on Rails incluye un conjunto integrado de herramientas, como un sistema de mapeo objeto-relacional (ORM), andamiaje para la generación de código y una estructura de directorios, lo que la hace ideal para el desarrollo rápido de aplicaciones. Su enfoque en la simplicidad y la satisfacción del desarrollador la ha convertido en una opción popular entre startups y equipos pequeños. La pila generalmente incluye una base de datos PostgreSQL o MySQL, un servidor web como Puma o Nginx y herramientas de despliegue como Capistrano o Heroku. [ 24 ] [ 25 ]

Otras pilas

Pilas a nivel del sistema operativo

BCHS [ 26 ]
OpenBSD (sistema operativo)
C (lenguaje de programación)
httpd (servidor web)
SQLite (base de datos)
Ganeti [ 27 ]
Xen o KVM ( hipervisor )
Linux con LVM (gestión de dispositivos de almacenamiento masivo)
Dispositivo de bloques replicado distribuido ( replicación de almacenamiento )
Ganeti ( herramienta de gestión de clústeres de máquinas virtuales )
Administrador web de Ganeti (interfaz web)
VIDRIO [ 28 ]
GemStone (base de datos y servidor de aplicaciones)
Linux (sistema operativo)
Apache (servidor web)
Smalltalk (lenguaje de programación)
Costa (marco web)
LÁMPARA [ 14 ]
Linux (sistema operativo)
Apache (servidor web)
MySQL o MariaDB ( sistemas de gestión de bases de datos )
Perl , PHP o Python ( lenguajes de scripting )
SALTO [ 29 ]
Linux (sistema operativo)
Eucalipto (alternativa gratuita y de código abierto a Amazon Elastic Compute Cloud )
AppScale ( marco de computación en la nube y alternativa gratuita y de código abierto a Google App Engine )
Python (lenguaje de programación)
LEMP/LNMP [ 30 ]
Linux (sistema operativo)
Nginx (servidor web)
MySQL o MariaDB (sistemas de gestión de bases de datos)
Perl , PHP o Python (lenguajes de scripting)
LLMP [ 31 ]
Linux (sistema operativo)
Lighttpd (servidor web)
MySQL o MariaDB (sistemas de gestión de bases de datos)
Perl , PHP o Python (lenguajes de scripting)
LYME y LIC [ 32 ]
Linux (sistema operativo)
Yaws (servidor web, escrito en Erlang )
Mnesia o CouchDB (base de datos, escrita en Erlang )
Erlang (lenguaje de programación funcional)
MAMP [ 33 ]
Mac OS X (sistema operativo)
Apache (servidor web)
MySQL o MariaDB (base de datos)
PHP , Perl o Python (lenguajes de programación)
LAPP [ 34 ]
Linux (sistema operativo)
Apache (servidor web)
PostgreSQL (sistemas de gestión de bases de datos)
Perl , PHP o Python (lenguajes de scripting)
WAMP [ 35 ]
Windows (sistema operativo)
Apache (servidor web)
MySQL o MariaDB (base de datos)
PHP , Perl o Python (lenguaje de programación)
WIMP [ 36 ]
Windows (sistema operativo)
Servicios de información de Internet (servidor web)
MySQL o MariaDB (base de datos)
PHP , Perl o Python (lenguaje de programación)
VICTORIAS [ 37 ]
Windows Server (sistema operativo)
Servicios de información de Internet (servidor web)
.NET ( marco de software )
Servidor SQL (base de datos)
WISA [ 38 ]
Windows Server (sistema operativo)
Servicios de información de Internet (servidor web)
Servidor SQL (base de datos)
ASP.NET (marco de desarrollo web)

Pilas web independientes del sistema operativo

ALCE [ 39 ]
Elasticsearch ( motor de búsqueda )
Logstash (herramienta de gestión de eventos y registros )
Kibana ( visualización de datos )
MARQS [ 14 ]
Apache Mesos (inicio/apagado del nodo)
Akka (kit de herramientas) (implementación de actores)
Riak (almacén de datos)
Apache Kafka (mensajería)
Apache Spark (big data y MapReduce)
NMP [ 40 ]
Nginx (servidor web)
MySQL o MariaDB (base de datos)
PHP (lenguaje de programación)
OpenACS [ 41 ]
NaviServer (servidor web)
OpenACS ( marco de trabajo para aplicaciones web )
Base de datos PostgreSQL u Oracle
Tcl (lenguaje de scripting)
MORAPIO
Prometeo (métricas y series temporales)
Linkerd (malla de servicios)
OpenFaaS (gestión y autoescalado de la computación)
NATS (bus/cola de mensajes asíncronos)
Kubernetes (agrupación declarativa, extensible, escalable horizontalmente y con capacidad de autorreparación)
SMACK [ 14 ]
Apache Spark (big data y MapReduce)
Apache Mesos ( inicio/apagado del nodo )
Akka (kit de herramientas) ( implementación de actor )
Apache Cassandra (base de datos)
Apache Kafka ( mensajería )
XAMPP [ 42 ]
multiplataforma (sistema operativo)
Apache (servidor web)
MariaDB o MySQL (base de datos)
PHP (lenguaje de programación)
Perl (lenguaje de programación)
XRX [ 43 ]
Base de datos XML (bases de datos como BaseX , eXist , MarkLogic Server )
XQuery (lenguaje de consulta)
REST ( interfaz de cliente )
XForms (cliente)

Véase también

Referencias

  1. "Pila de soluciones" . Enciclopedia de escritorio de computadoras . The Computer Language Company. 2015. Consultado el 5 de julio de 2018 .
  2. Mimoso, Michael S. (24 de febrero de 2003). "Red Hat: Linux servido en las mesas de cena de los centros de datos verticales" . SearchEnterpriseLinux.com . Recuperado el 9 de agosto de 2009 .
  3. Beal, V. (7 de septiembre de 2007). "Guía de acrónimos para pilas web" . Webopedia . Quinstreet, Inc. Recuperado el 5 de julio de 2018 .
  4. Ferguson, R. (2002). Uso de Microsoft SharePoint Portal Server . Que Publishing. pág. 616. ISBN  9780789725707.
  5. Anderson, GW (2003). SAP Planning: Best Practices in Implementation . Sams. p. 13. ISBN  9780789728753.
  6. Amir, Masroor. "Desarrollador Full Stack - Hoja de ruta completa | Tecnologías en 2023" . The Geeks Bot | Un sitio de informática para geeks . Consultado el 27 de abril de 2023 .
  7. Tilkov, Stefan y Steve Vinoski. «Node.js: Uso de JavaScript para crear programas de red de alto rendimiento». IEEE Internet Computing , vol. 14, n.º 6, 2010, págs. 80-83. DOI: 10.1109/MIC.2010.145
  8. Pimentel, Jon. Proyectos Full-Stack React . Packt Publishing, 2018.
  9. "Node.js — Acerca de Node.js®" . nodejs.org . Consultado el 18 de junio de 2025 .
  10. bin Uzayr, Sufyan (2023-08-09), "JavaScript para uso móvil" , Conquering JavaScript , Boca Raton: CRC Press, pp. 371–402 , doi : 10.1201/9781003356578-7 , ISBN  978-1-003-35657-8, consultado el 18 de junio de 2025
  11. Sharma, A. (2018). «Capítulo 2: Introducción a MEVN» . Desarrollo web full-stack con Vue.js y Node . Packt Publishing Ltd. pp. 6–30 . ISBN  9781788830775.
  12. "GRANDStack" . Consultado el 24 de diciembre de 2019 .
  13. "JAMstack" . Consultado el 5 de julio de 2018 .
  14. 1 2 3 4 Frampton, M. (2018). Guía completa de la pila de Big Data de código abierto . Apress. pág. 7. ISBN  9781484221495.
  15. Wilson, E. (2018). «Capítulo 1: Introducción a la pila MERN» . Guía de inicio rápido de MERN . Packt Publishing Ltd. págs. 7–13 . ISBN  9781787280045.
  16. Sharma, A. (2018). «Capítulo 1: Introducción a MEVN» . Desarrollo web full-stack con Vue.js y Node . Packt Publishing Ltd. pp. 6–30 . ISBN  9781788830775.
  17. "Aprende la pila PERN creando una aplicación web - Curso completo en vídeo" . freeCodeCamp.org . 2020-03-20 . Consultado el 2021-06-19 .
  18. "TerminusDB en Twitter" . Twitter . Consultado el 14 de octubre de 2020 .
  19. Walls, Craig. Primavera en acción . Manning Publications, 2022.
  20. Deinum, Marten; Cosmina, Iuliana (2021), "Fundamentos del Spring Framework" , Pro Spring MVC con WebFlux , Berkeley, CA: Apress, pp. 21–54 , doi : 10.1007/978-1-4842-5666-4_2 , ISBN  978-1-4842-5665-7, consultado el 18 de junio de 2025
  21. Gutiérrez, Felipe (2016), "Primavera con bota de primavera" , Pro Spring Boot , Berkeley, CA: Apress, pp. 89–105 , doi : 10.1007/978-1-4842-1431-2_5 , ISBN  978-1-4842-1432-9, consultado el 18 de junio de 2025
  22. Holovaty, Adrian y Jacob Kaplan-Moss. El libro de Django . Versión 2.0.
  23. "Django" . Proyecto Django . Consultado el 18 de junio de 2025 .
  24. Hinze, Annika (julio de 2008). "Reseña de "RailsSpace: Building a Social Networking Website with Ruby on Rails (Addison-Wesley Professional Ruby Series) de Michael Hartl, Aurelius Prochazka", Addison-Wesley Professional, 2007, $44.99, ISBN 0321480791" . ACM Queue . 6 (4): 53. doi : 10.1145/1413254.1413266 . ISSN 1542-7730 . 
  25. "Guías de Ruby on Rails" . Guías de Ruby on Rails . Consultado el 18 de junio de 2025 .
  26. Dzonsons, K. "BCHS Stack" . Consultado el 5 de julio de 2018 .
  27. "Tutorial de instalación de Ganeti" . Documentación de Ganeti . Google, Inc. Consultado el 5 de julio de 2018 .
  28. Glynn, A. (3 de junio de 2015). "Guía para principiantes sobre la instalación y configuración de GLASS: Gemstone 64/S Smalltalk / Seaside / Application Server / Object Database Server Environment" . Horizons of Identity . Consultado el 5 de julio de 2018 .
  29. Kaisler, SH; Amour, F.; Espinosa, A.; Money, WH (2015). Obtención de valor a partir de macrodatos para la prestación de servicios . Business Expert Press. pág. PT69. ISBN  9781631572234.
  30. "Información de la pila LEMP" . LEMP.io. Consultado el 6 de julio de 2018 .
  31. Johnston, C. (18 de febrero de 2009). "Configuración de una pila LLMP (Linux, Lighttpd, MySQL, PHP5) en Ubuntu 8.10" . ChrisJohnston.org . Archivado del original el 5 de febrero de 2019. Recuperado el 6 de julio de 2018 .
  32. "Solution Stack" . Conocimiento idiosincrásico . 9 de julio de 2016. Consultado el 9 de julio de 2016 .
  33. Coucouvanis, N. (2007). "Get Your Wiki On" . Mac Life (5): 83–86 . Recuperado el 6 de julio de 2018 .
  34. Rittinghouse, JW; Ransome, JF (2017). Computación en la nube: implementación, gestión y seguridad . CRC Press. pág. PT184. ISBN  9781351615365.
  35. "WAMP" . Softaculous Ltd. Consultado el 6 de julio de 2018 .
  36. "Tutorial: Instalación de un servidor WIMP en una instancia de Amazon EC2 con Windows Server" . Documentación de AWS . Amazon Web Services, Inc. Consultado el 6 de julio de 2018 .
  37. Evgen (28 de enero de 2018). "Cómo elegir tu pila tecnológica para el desarrollo web" . Blog de GBKSOFT . GBKSOFT Dev LLC . Consultado el 6 de julio de 2018 .
  38. Sachdeva, B. (27 de mayo de 2009). "¿Qué pila de aplicaciones web es la mejor para mí?" . developer.com . QuinStreet, Inc . Recuperado el 6 de julio de 2018 .
  39. Chhajed, S. (2015). «Capítulo 1: Introducción a ELK Stack» . Aprendiendo ELK Stack . Packt Publishing Ltd. págs. 1–22 . ISBN  9781785886706.
  40. Luna, F. (2017). Programador Web Full Stack: Desarrollo frontend y backend . RedUSUARIOS. págs. 17 y 18. 
  41. "OpenACS: Qué es y por qué usarlo" . OpenACS.org . Comunidad OpenACS . Consultado el 6 de julio de 2018 .
  42. "XAMPP Apache + MariaDB + PHP + Perl" . Apache Friends . Consultado el 6 de julio de 2018 .
  43. McCreary, D. "XRX" . danmccreary.com . Consultado el 6 de julio de 2018 .