Sandbox (desarrollo de software)

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar

Un sandbox es un entorno de prueba que aísla los cambios de código no probados y la experimentación directa del entorno de producción o repositorio en el contexto del desarrollo de software, incluido el desarrollo web, la automatización, el control de revisiones, la gestión de configuración (ver también gestión de cambios) y la gestión de parches.

El sandboxing protege a los servidores "activos" y sus datos, distribuciones de código fuente verificadas y otras colecciones de código, datos y/o contenido, de propiedad privada o pública, de cambios que podrían dañar un sistema de misión crítica o que podrían ser simplemente difíciles de revertir, independientemente de la intención del autor de esos cambios. Los sandboxes replican al menos la funcionalidad mínima necesaria para probar con precisión los programas u otro código en desarrollo (por ejemplo, el uso de las mismas variables de entorno que la implementación previa estable que se pretende modificar o el acceso a una base de datos idéntica a la utilizada por ella; existen muchas otras posibilidades, ya que las necesidades de funcionalidad específicas varían ampliamente con la naturaleza del código y la aplicación(es) para las que está destinado).

El concepto de sandbox está integrado en software de control de versiones como Git, CVS y Subversion (SVN), en el que los desarrolladores "extraen" una copia del árbol de código fuente, o una rama del mismo, para examinarla y trabajar en ella. Una vez que el desarrollador ha probado completamente los cambios del código en su propio sandbox, los cambios se vuelven a incluir en el repositorio y se fusionan con él, poniéndose así a disposición de otros desarrolladores o usuarios finales del software.

Por analogía adicional, el término "sandbox" también se puede aplicar en informática y redes a otras áreas de aislamiento temporales o indefinidas, como los sandboxes de seguridad y los sandboxes de motores de búsqueda (ambos con significados muy específicos), que impiden que los datos entrantes afecten a un sistema "activo" (o aspectos del mismo) a menos que se cumplan requisitos o criterios definidos.

El uso de un entorno aislado (ver también "lanzamiento suave") suele considerarse una buena práctica cuando se realizan cambios en un sistema, independientemente de si el cambio se considera "desarrollo", una modificación del estado de configuración o una actualización del sistema.

En servicios web

El término sandbox se utiliza comúnmente para el desarrollo de servicios web para referirse a un entorno de producción reflejado para uso de desarrolladores externos. Normalmente, un desarrollador externo desarrollará y creará una aplicación que utilizará un servicio web del sandbox, que se utiliza para permitir que un equipo externo valide su código antes de migrarlo al entorno de producción. Microsoft, Google, Amazon, Salesforce, PayPal, eBay y Yahoo, entre otros, brindan dichos servicios.

En wikis

Los wikis también suelen emplear un modelo de prueba de sandbox compartido, aunque su finalidad principal es el aprendizaje y la experimentación directa con las características, más que la prueba de modificaciones del contenido existente (el análogo wiki del código fuente). En cambio, se suele utilizar un modo de vista previa de edición para probar cambios específicos realizados en los textos o el diseño de las páginas wiki.

Véase también

  • Comparación de juegos de código fuente en línea
  • virtualización a nivel de OS
  • Pastebin
  • Sandbox (seguridad del ordenador)
  • Efecto Sandbox (motores de búsqueda)
  • Sandbox (redactor videojuego)
  • Sandbox juego

Referencias

  1. ^ "Sandbox". TechTarget. Retrieved 15 de julio 2024.
  2. ^ Vivek Venugopalan, "Developer Sandbox" capítulo 4, CVS Buenas prácticas, Proyecto Documentación Linux, 2005.
  3. ^ "¿Qué es la gestión de parches?". Retrieved 15 de julio 2024.
  4. ^ "Microsoft UDDI Business Registry (UBR) nodo". Archivado desde el original el 11 de septiembre de 2005. Retrieved 27 de julio 2012.
  5. ^ "Amazon Mechanical Turk Developer Sandbox". Retrieved 27 de julio 2012.
  6. ^ "Salesforce Sandboxes". salesforce.com. Retrieved 29 de agosto 2016.
  7. ^ "PayPal Sandbox Guía de usuario" (PDF)Paypal.com. Archivado desde el original (PDF) el 28 de enero de 2007. Retrieved 27 de julio 2012.
  8. ^ "EBay Developer's Sandbox". ebay.com. Retrieved 27 de julio 2012.
  9. ^ "Enterprise Web Services: Sandbox". yahoo.com. Archivado desde el original el 19 de diciembre de 2008. Retrieved 27 de julio 2012.
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save