Digital

¿Tus desarrollos con SAP Commerce son lentos? Cómo hacer SAP Commerce más ágil

3 Mins de lectura

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:

 

sap lento

 

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.

 

Miguel Lahoz
2 posts

Sobre el autor
Responsable Tecnico area ecommerce Hybris en Hiberus Tecnología
Artículos

Somos líderes en desarrollo de ecommerce como partners de SAP Customer Experience

Somos partner y proveedor certificado en la solución ecommerce SAP- Customer Experience. Con SAP Hybris las empresas pueden contar con la mejor suite de soluciones integradas con su ecosistema SAP. En Hiberus contamos con expertos certificados en los distintos módulos de la suite SAP Hybris (B2C, B2B, Marketing, Customer 4 Sales).

¿Te ayudamos?

Artículos relacionados
Digital

Tendencias del ecommerce: personalización y omnicanalidad, claves de éxito seguro

3 Mins de lectura
¿Cuánto dinero gastamos online? ¿Quién compra más? ¿Cuándo? ¿En qué tipo de dispositivos? Estas son preguntas que suelen responder todo tipo de…
Digital

Cómo excluir tu tráfico de pruebas en Google Analytics

4 Mins de lectura
“No es más limpio quien más limpia sino quien menos ensucia” Mi madre Qué sabias son las madres. ¿Verdad?. Pozos sin fondo…
Digital

La importancia del linkbuilding para mejorar tu autoridad de dominio

6 Mins de lectura
Estás leyendo una noticia patrocinada en un medio de comunicación digital nacional y, de repente, te encuentras con una noticia patrocinada desde…

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *