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.
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:
| Aspecto | Paquete gestionado | Paquete no gestionado |
|---|---|---|
| Código fuente | Oculto y protegido | Visible y editable |
| Espacio de nombres | Reservado y fijo | Sin namespace |
| Actualizaciones | Versionadas y propagables | No actualizable (es una plantilla) |
| Uso típico | Productos comerciales en AppExchange | Plantillas, ejemplos, código abierto |
| Quién lo controla | El 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.
Preguntas frecuentes sobre Paquete gestionado (managed package)
¿Qué es un paquete gestionado en Salesforce?
¿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?
¿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?
¿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?
¿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?
¿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.
Generador de Business Case
Tu caso de negocio con tus números, listo para el directorio.
Abrir la herramientaLo 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.
Términos relacionados
- AppExchangeAppExchange es el marketplace oficial de Salesforce: una tienda en línea con aplicaciones, componentes y consultoras certificadas que extienden la plataforma. Permite instalar soluciones listas para usar, gratuitas o pagas, sin programar desde cero.
- ApexApex es el lenguaje de programación propietario de Salesforce, orientado a objetos y similar a Java, que corre en sus servidores. Permite agregar lógica de negocio personalizada (triggers, clases e integraciones) cuando las herramientas declarativas como Flow no alcanzan.
- Governor limitsLos governor limits son los límites de ejecución que Salesforce impone a cada transacción (consultas, registros procesados, llamadas API, CPU) para proteger los recursos compartidos de su arquitectura multitenant, donde muchos clientes corren sobre la misma infraestructura.
- Sandbox (Salesforce)Un sandbox de Salesforce es una copia aislada de tu org de producción donde podés desarrollar, configurar y probar cambios sin afectar a los usuarios reales ni a los datos en vivo, antes de subir esos cambios de forma controlada.
- Rate limitingEl rate limiting es una técnica que limita cuántas peticiones puede hacer un cliente a una API en un período definido. Protege los servidores de sobrecarga, abuso y caídas, devolviendo un error 429 cuando se supera el cupo permitido.
- Regla de validaciónUna regla de validación es una condición de Salesforce que evalúa los datos de un registro al guardar y bloquea el guardado con un mensaje de error si no cumplen un criterio, garantizando calidad y consistencia de la información.
Preguntas relacionadas
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 SalesforceAhora 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.