El configurador de productos es la herramienta usada para gestionar las posibles combinaciones que se pueden dar en el proceso de compra de un producto configurable. Aquellos en los que el cliente puede personalizar el producto según sus necesidades, como por ejemplo, cuando compramos un ordenador podemos elegir la memoria RAM, capacidad almacenamiento, tamaño monitor, etc. De manera que el producto final será una combinación de componentes (subproductos) y atributos.
Sin embargo, dejar el proceso de configuración del producto en manos de usuarios que no tienen porque conocer todas las condiciones que se deben dar para que la venta del producto o servicio sea viable, supone un reto importante para los administradores del sistema. A la hora de vender un producto se debe verificar la compatibilidad con otros productos involucrados, la posibilidad técnica de cumplir con el servicio, bien sea por la zona geográfica, tipo de cliente, acuerdos con clientes específicos, etc.
Para implementar la lógica que combina todo este tipo de variables se usan principalmente Matrices de Compatibilidad y Elegibilidad y Restricciones.
La Matriz de Compatibilidad es una tabla de dos dimensiones en la que se incluye la lista de los productos y su compatibilidad entre sí.
Ejemplo: Internet Prepago EXCLUYE Internet 50mg
En la Matriz de Elegibilidad se define la forma en que se muestran los Productos. El estándar de Siebel permite establecer condiciones de Elegibilidad según algunos campos predefinidos como por ejemplo: Código postal, Línea de Producto, Cliente. Al igual que la de Compatibilidad, es de dos dimensiones. Un ejemplo sería: producto Internet 50 mg NO DISPONIBLE código Postal 28350.
Hay tres opciones, que se configuran a nivel de cfg y que teóricamente pueden ser dinámicas, es decir una u otra según el perfil del usuario (aunque esto es un defecto de Siebel y no funciona correctamente, al menos hasta la 8.1). Las opciones de elegibilidad para un producto No disponible serían: 1) se muestra en modo «Solo Lectura» 2) se muestra todo y se puede seleccionar 3) no se muestra. Además, el configurador tiene una sección que nos va mostrando mensajes indicativos sobre la elegibilidad o no de los productos.
Las Restricciones (Constraint) son reglas más parecidas a lo que es una sentencia SQL, pero que se construyen de forma intuitiva desde la aplicación. La principal diferencia con la Matriz de Compatibilidad es que estas se evalúan dentro del proceso de configuración del producto y añaden mayor funcionalidad al proceso permitiendo construir condiciones basadas en el atributo del producto o en campos de business components. ¡Permiten establecer condiciones muy específicas, pero cuidado! penalizan mucho el rendimiento. Creo recordar que el número recomendable de restricciones por producto no debe ser mayor a 20 o 25.
Las Clases permiten la herencia de objetos. Un producto asociado a una clase heredará la estructura de la clase. Para que un producto tenga atributos debe tener una clase asociada, ya que los atributos se asocian sólo a la clase y el producto heredará los atributos a través de esta. Por tanto, a la hora de crear las clases, lo más sensato es hacer una lista de productos con atributos comunes y crear clases genéricas para asociar a estos productos.
Por razones de rendimiento no es recomendable construir productos de más de tres niveles. Cuando iniciamos la configuración de un producto se lee toda la clase del producto (es decir, la clase y sus subclases, si las hubiere) y cada producto de cada subnivel a su vez puede tener una clase asociada con sus respectivas restricciones, lo que genera un gran volumen de trabajo al componente encargado de gestionar las peticiones del Configurador. Siempre será preferible tener más productos con reglas de compatibilidad y elegibilidad que tener muchos subniveles, que implicarían un mayor número de reglas de Restricción.








