SAP Commerce Cloud es uno de los frameworks de e-commerce más potentes y flexibles del mercado. En otros artículos hemos repasado sus principales características y ventajas, los retos del e-commerce B2B o cómo gestionar una estrategia de pricing en ecommerce.
Frente a sus multiples ventajas, SAP Commerce tiene el inconveniente de que realizar desarrollos sobre este frame-work puede ser demasiado lento si no sabemos cómo hacerlo. Cuando realizamos un cambio en una de nuestras extensiones, tenemos que compilar todo el proyecto mediante la herramienta ant, y luego reiniciar el servidor, que dependiendo del número de extensiones que tengamos puedo hacer aun más lento el arranque del e-commerce. Además, dependiendo de nuestro cambio, necesitaremos hacer un update de la plataforma y esto nos puede costar unos cuantos minutos más.
A continuación os damos algunos tips o consejos para hacer más ágiles los desarrollos con SAP commerce.
Cómo hacer más ágiles los desarrollos con SAP Commerce
Nuestro ordenador y su sistema operativo
La herramienta principal de nuestro trabajo es la más importante a la hora de conseguir mejores tiempos trabajando con Hybris. Como mínimo se recomiendan 8Gb de RAM, aunque yo personalmente, recomiendo tener 16Gb como mínimo, una CPU potente (i5 al menos) y un disco duro SSD. El sistema operativo debería ser Linux o macOS, comparado con windows los tiempos de compilación pueden llegar a reducirse entre el 50% y 75% y el tiempo de arranque también puede llegar a disminuirse un 50%.
Nuestra base de datos en local
La elección de la base de datos puede darnos algunos minutos extra a la hora de arrancar nuestro tomcat con Hybris en local. SAP commerce viene por defecto con la base de datos de java embebida H2. Es recomendable no usar dicha base de datos y utilizar otro gestor, como por ejemplo mysql. Aunque no sea la misma base de datos que el entorno productivo (quizás por tema de licencias no podemos tener el mismo gestor en nuestro entorno local) no suele dar demasiados problemas y ahorraremos algunos minutos extras muy valiosos a la hora de iniciar el servidor.
Archivos de configuración para ahorrar tiempo en el start up
Para ayudar en los tiempos de arranque de nuestro tomcat aquí van algunos consejos que nos ayudarán a aligerar los tiempos de carga. Estos cambios solo se recomiendan en nuestro entorno local y nunca realizarlos en entornos productivos, pues pueden tener efectos no deseados en el comportamiento de nuestro e-commerce.
1.- Deshabilitar la carga de cronjobs en el arranque
Para ello tenemos que poner a false la siguiente property en nuestro local.properties:
cronjob.timertask.loadonstartup=false
2.-Eliminar los tenants que no usemos
En esta property pondremos los tenants que realmente estemos usando, si no queremos usar ninguno, dejamos la property vacía
installed.tenants=
3.-Excluir algunos jars del escaneo del tomcat
Primero eliminamos el escaneo del servlet 3. Para ellos hay que modificar el catalina.properties y modificar la pro-piedad (por defecto está vacía)
org.apache.catalina.startup.ContextConfig.jarsToSkip=*.jar
Segundo quitar el escaneo de TLD de los jars que sabemos que no tienen tld.
4.-Modificar el número de hilos que usará tomcat al arrancar
Esto dependerá un poco de la CPU que tenga nuestro ordenador, y sería conveniente ir probando a ver cual es la que mejor resultado nos da. Hay que modificar la property con el número de hilos que queremos usar cuando arranque tomcat.
tomcat.startStopThreads = 4
Hay que tener en cuenta que no es seguro el arranque de diferentes procesos en paralelo y puede tener comportamientos no deseados, por ello no recomiendo esta opción en producción.
La elección del IDE y plugins para desarrollar
El IDE con el que estemos acostumbrados a desarrollar también es importante, así como configurarlo adecuadamen-te. En nuestro caso recomendamos usar Intellij Idea en su versión Ultimate, junto con el plugin Integration for SAP Commerce. Con dicho plugin, algunas de las ventajas que obtenemos son: se organizan los módulos del proyecto por extensiones, formatea los impex, no deja modificar los ficheros que son de Hybris y no se deben modificar, etc
JREBEL, DCEVM, HOTSWAP…
Y por último, y la parte más importante de todas, el uso de herramientas externas para poder modificar el código y visualizar los cambios sin tener que realizar un ant build y sin tener que reiniciar nuestro tomcat. Es decir, estas herramientas nos permiten ver los cambios de código en tiempo real.
Una de las mejoras herramientas para esto es JRebel. Esta herramienta es de pago, pero existen otras alternativas gratuitas, como DCEVM y Hotswap.
A continuación se presenta una tabla comparativa de diferentes herramientas:
Trabajar con SAP Commerce Cloud puede ser algo lento y complicado, pero siempre podemos ayudarnos de con-figuraciones y herramientas externas para que dicho proceso sea más amigable y acelerar notablemente el proceso de desarrollo.
En hiberus somos partners de SAP CX y disponemos de un equipo de expertos en SAP Commerce, con el que hemos desarrollado proyectos para el Govern d’Andorra o Pepe Jeans, entre otros. Si estás pensando en implantar SAP Customer Experience o migrar tu solución a SAP, no dudes en contactar con nosotros.
¿Quieres más información sobre nuestros servicios de SAP CX?
Contacta con nuestro equipo de SAP CX