GlosarioTecnología

Paquete gestionado (managed package)

Término 211 de 314 · Tecnología

En una frase

Un paquete gestionado es un contenedor de código y configuración de Salesforce, versionado y distribuido vía AppExchange, que mantiene su propiedad intelectual oculta y se actualiza de forma controlada en cada org que lo instala.

Definición

Un paquete gestionado (managed package) es la forma estándar en que se empaqueta, distribuye y versiona una aplicación o componente sobre Salesforce. Agrupa código Apex, componentes Lightning, objetos personalizados, flujos y metadatos en una unidad instalable que un cliente puede agregar a su org con unos pocos clics, normalmente desde AppExchange.

Lo que distingue a un paquete gestionado de uno "no gestionado" es el control que retiene el desarrollador (ISV o partner): el código fuente queda oculto, los componentes llevan un prefijo de espacio de nombres reservado y el editor puede publicar versiones actualizables que se propagan sin romper las personalizaciones del cliente. Es el modelo que usan los partners para construir productos comerciales sobre la plataforma, y es parte del trabajo de desarrollo que aborda Vantegrate.

Un paquete gestionado resuelve un problema concreto: cómo entregar software construido sobre Salesforce a muchos clientes manteniendo la capacidad de versionar, proteger y actualizar ese software de forma centralizada. En lugar de copiar y pegar componentes org por org, el desarrollador empaqueta todo (Apex, Lightning Web Components, objetos, campos, flujos, páginas, conjuntos de permisos) en una unidad firmada y publicable.

Cómo funciona en la práctica

El editor desarrolla en una org especial llamada Developer Edition con un espacio de nombres (namespace) registrado, por ejemplo "acme". Todos los componentes del paquete quedan prefijados (acme__Factura__c) para evitar colisiones con los objetos del cliente o de otros paquetes instalados en la misma org. Cuando el paquete está listo, se publica una versión (1.0, 1.1, 2.0) y se obtiene un enlace de instalación o un listado en AppExchange. El cliente instala esa versión en su org; más adelante, cuando el editor publica una mejora, puede enviar una actualización (push o pull) que respeta los datos y las personalizaciones existentes.

Por qué importa

El valor central es el modelo de actualización controlada. En un paquete gestionado, el editor decide qué componentes son modificables por el cliente y cuáles quedan bloqueados; así puede corregir un bug o agregar una función sin que el cliente pierda lo que configuró encima. Para una empresa que compra una app en AppExchange, esto significa que recibe mejoras continuas sin reinstalar nada. Para el partner que la vende, significa proteger su propiedad intelectual y mantener una base de clientes con una sola línea de código.

Gestionado vs no gestionado

La diferencia es decisiva y conviene tenerla clara antes de elegir el formato:

AspectoPaquete gestionadoPaquete no gestionado
Código fuenteOculto y protegidoVisible y editable
Espacio de nombresReservado y fijoSin namespace
ActualizacionesVersionadas y propagablesNo actualizable (es una plantilla)
Uso típicoProductos comerciales en AppExchangePlantillas, ejemplos, código abierto
Quién lo controlaEl editor (ISV/partner)Quien lo instala

En resumen: si el objetivo es distribuir un producto y mantenerlo, se usa gestionado; si es compartir un punto de partida que cada quien va a modificar libremente, se usa no gestionado.

Ejemplo concreto en LATAM

Una empresa argentina de software construye un módulo de facturación electrónica que conecta Salesforce con AFIP. Lo empaqueta como paquete gestionado con el namespace "factarg", lo publica en AppExchange y lo instalan distribuidoras de Córdoba, Rosario y Buenos Aires. Cuando AFIP cambia el esquema de la factura, el editor publica la versión 2.3 del paquete y la actualización llega a las tres distribuidoras sin que ninguna toque su configuración de objetos ni pierda sus reglas de validación propias. Sin el modelo gestionado, cada cambio normativo exigiría una intervención manual cliente por cliente.

Errores comunes

  • Confundir un paquete gestionado con una simple exportación de metadatos: el gestionado implica registrar un namespace, lo cual es irreversible una vez asociado a la org de desarrollo.
  • Pensar que el cliente puede editar el código instalado: en un gestionado, el Apex queda protegido y solo es modificable lo que el editor expone como configurable.
  • Olvidar las pruebas: Salesforce exige cobertura de tests de Apex para poder empaquetar, y los governor limits del cliente siguen aplicando al código del paquete.
  • Subestimar la revisión de seguridad: publicar en AppExchange requiere pasar el Security Review de Salesforce, que puede tardar semanas.

Hoy conviven dos generaciones de empaquetado: los paquetes gestionados de primera generación (1GP, atados a una org de empaquetado) y los unlocked/second-generation (2GP), basados en código fuente y mejor integrados con control de versiones moderno. Para productos comerciales nuevos, el camino recomendado por Salesforce es el de segunda generación.

Compartir
Preguntas frecuentes

Preguntas frecuentes sobre Paquete gestionado (managed package)

¿Qué es un paquete gestionado en Salesforce?

Un paquete gestionado (managed package) es un contenedor instalable que agrupa código, objetos, flujos y metadatos de Salesforce en una unidad versionada y distribuible. A diferencia de un paquete no gestionado, mantiene el código fuente oculto, usa un espacio de nombres reservado y permite publicar actualizaciones que se propagan a las orgs que lo instalaron sin romper sus personalizaciones. Es el formato que usan los partners para vender aplicaciones en AppExchange.

¿Cuál es la diferencia entre un paquete gestionado y uno no gestionado?

En un paquete gestionado el código fuente está oculto, los componentes llevan un espacio de nombres fijo y el editor puede publicar versiones actualizables; se usa para distribuir productos comerciales. En uno no gestionado el código es visible y editable, no tiene namespace y no se puede actualizar de forma centralizada: funciona como plantilla o punto de partida que cada quien modifica libremente. La elección depende de si querés mantener y proteger el producto o solo compartir un ejemplo.

¿Para qué sirve un paquete gestionado?

Sirve para empaquetar una aplicación construida sobre Salesforce y distribuirla a muchos clientes manteniendo el control sobre su código y sus versiones. Permite proteger la propiedad intelectual, evitar colisiones con otros componentes mediante un espacio de nombres y, sobre todo, entregar mejoras y correcciones de forma continua a través de actualizaciones versionadas, sin que cada cliente tenga que reinstalar ni reconfigurar nada.

¿Cómo se publica un paquete gestionado en AppExchange?

El desarrollador trabaja en una org con un espacio de nombres registrado, agrupa los componentes en el paquete y asegura la cobertura de pruebas de Apex que Salesforce exige. Luego crea una versión del paquete, la somete al Security Review de Salesforce y, una vez aprobada, la lista en AppExchange con un enlace de instalación. A partir de ahí los clientes la instalan en su org y reciben las nuevas versiones que el editor publique.

¿Qué es el espacio de nombres en un paquete gestionado?

El espacio de nombres (namespace) es un prefijo único reservado por el editor, por ejemplo acme, que se antepone a todos los componentes del paquete (acme__Objeto__c). Evita que esos componentes choquen con los objetos del cliente o de otros paquetes instalados en la misma org. Es obligatorio en los paquetes gestionados y, una vez asociado a la org de desarrollo, es irreversible, por eso conviene elegirlo con cuidado.

Herramienta gratuita
Champions

Generador de Business Case

Tu caso de negocio con tus números, listo para el directorio.

Abrir la herramienta

Lo llevamos a tu Salesforce

Implementación, integración y soporte de Salesforce para empresas de LatAm, con foco en que el equipo lo use de verdad y no vuelva al Excel. Contanos en qué punto está tu org.

El glosario completo (más de 290 definiciones de IA, Salesforce y datos) en un PDF con hipervínculos.

Seguí explorando

Términos relacionados

Del glosario

Preguntas relacionadas

Lo resolvemos con

Salesforce

Implementación, integración y soporte de Salesforce para empresas de LatAm, con foco en la adopción real del equipo.

Así lo resuelve Salesforce
La suite completa

Ahora que sabés qué es, mirá cómo se resuelve

Cinco productos de IA que trabajan sobre el CRM que ya usás. No reemplazan tu sistema: le agregan la capa que hoy hacés a mano.