SuiteCloud Development Framework (SDF) es un framework de desarrollo destinado a la implementación de personalizaciones para NetSuite. Es una herramienta realmente útil que agiliza la organización e implementación de cualquier proyecto.
Se puede emplear para desarrollos en cuentas individuales, así como para empaquetar personalizaciones de una organización como SuiteApps y de este modo distribuirlas a diferentes cuentas.
Resulta muy común desarrollar personalizaciones en NetSuite sin necesidad de emplear SDF, sin embargo, cuenta con numerosas ventajas que pueden llegar a conseguir que nos replanteemos este comportamiento:
- Complejidad escalable
- Permite administrar la robustez de cada personalización y sus dependencias.
- Es compatible con control de versiones de las personalizaciones
- Aporta facilidad de migración
- Resulta completamente personalizable
- Compatible con la automatización de procesos
- Posee soporte para proteger, comercializar y distribuir personalizaciones.
Cualquier desarrollador, a cualquier nivel, apreciará todas estas características, más aún si ha invertido tiempo en customizaciones de un sistema de Planificación de Recursos Empresariales. Estas resultan suficientes razones para implementar una utilidad como SDF en tu ERP, pero es cierto que requiere del tiempo y aprendizaje necesario de un equipo para adoptarlo, hasta refinar la fórmula, para así alcanzar una metodología de trabajo realmente eficiente.
Vamos a detallar alguna de estas ventajas más relevantes:
CONTROL DE VERSIONES
SDF almacena una representación XML de cada objeto custom. Precisamente por tratarse de un archivo XML, tiene todas las propiedades de cualquier otro archivo de texto.
Por ejemplo, se puede almacenar en un disco duro local, se puede hacer una copia de seguridad empleando almacenamiento en la nube y, lo más importante, es compatible con herramientas de control de versiones como git.
Esto significa que permite realizar un seguimiento de los cambios y mantener múltiples versiones de nuestros objetos personalizados.
En la actualidad casi todos los objetos personalizados de NetSuite, (campos, registros, listas, búsquedas guardadas, etc.), tienen una representación XML, aunque aún no se cubre el 100% de los objetos y configuraciones. Es de esperar que esta brecha se cierre en un futuro próximo.
FACILIDAD DE MIGRACIÓN
Es muy probable que todo usuario de NetSuite se haya planteado en alguna ocasión cómo distribuir sus personalizaciones entre cuentas. SDF nos aporta una solución al respecto.
Ya sea empleando la interfaz de línea de comandos de SDF o uno de sus complementos para IDE (actualmente Eclipse & WebStorm), es muy simple cambiar de cuenta e implementar personalizaciones seleccionadas con tan solo unos pocos clics o un simple switch.
Un archivo de configuración XML simple administra qué archivos, objetos y configuraciones se implementan en la cuenta, por lo que siempre tenemos un control detallado sobre lo que se implementa sin tener que crear y administrar múltiples versiones de paquetes.
Además, SDF también aprovecha la autenticación basada en token, por lo que no es necesario si quiera preocuparse por almacenar contraseñas.
PERSONALIZABLE
Debido a que SDF representa objetos personalizados como archivos XML, no es necesario iniciar sesión en la interfaz de usuario de NetSuite para crear o editar objetos personalizados.
Simplemente, podemos abrir el archivo XML de un objeto, realizar las modificaciones adecuadas, guardar e implementarlo.
Es más, para aquellos casos en que precisamos crear varios campos personalizados similares, también podemos aprovechar SDF. Tenemos la posibilidad de crear un campo desde la interfaz de usuario, descargar su archivo XML y disponer de una plantilla para crear nuevos campos.
COMPATIBLE CON AUTOMATIZACIÓN
Muchos equipos de desarrollo aprovechan las herramientas y los sistemas de compilación para automatizar gran parte de su trabajo, y SDF permite que dichos sistemas interactúen con objetos personalizados.
Una vez más, SDF convierte objetos personalizados de NetSuite en archivos XML, por lo que cualquier cosa que una pipeline de integración continua pueda hacer con un archivo XML, puede hacerlo con un objeto personalizado de NetSuite.
Algunos ejemplos son:
- Implementar automáticamente objetos custom cuando se combinen nuevos cambios en su rama principal.
- Validar que todos estos objetos tengan un Script ID adecuado antes de la implementación.
- Generar y publicar automáticamente documentación a partir de detalles de sus campos personalizados.
- Supervisar nuestro proyecto local para detectar cambios en los archivos e implementarlos automáticamente cuando cambien.
Estas son tan solo algunas características que nos ayudan a comprender el gran abanico de posibilidades del que disponemos empleando una solución como SDF en nuestro entorno NetSuite.
Desde mi punto de vista, es comprensible que sin profundizar con detalle en su implementación pueda resultar en una primera instancia, algo complejo y quizá esto se convierta en una barrera de entrada.
No obstante, espero que este artículo te haya sido de utilidad para comprender qué enormes ventajas puede ofrecer este framework sobre NetSuite, y en el caso de trabajar con dicho ERP, que también sirva para replantear si merecería la pena implementarlo en vuestros proyectos de equipo.
Para una información más detallada sobre la herramienta, así como su relación con SuiteCommerce, y su empleo con ejemplos prácticos, puedes consultar este post .
Rubén Rubio Perucha
Technical consultant ACEVEDO