Una de las problemáticas que surgen en algún u otro momento en la mayoría de proyectos de venta en internet es la interconexión de nuestra solución e-commerce (sea propietaria, open-source o a medida) con el programa de gestión que utilizamos en la empresa o con las aplicaciones que utilizan nuestros proveedores.

Al iniciar un proyecto de tienda virtual nos podemos encontrarnos con 2 escenarios principales:
1) Nuestra empresa ya vende productos de forma tradicional (offline) o va a venderlos (en el caso de nuevas empresas) por lo cual las funcionalidades relativas a la gestión de clientes, pedidos, facturación etc. suelen tratarse desde una aplicación tipo ERP (véase SAP, Navision, Sage u otras de los millares que existen en el mercado).
2) Nuestra empresa sólo va a vender online. En este caso podríamos llegar a gestionar todo desde la propia tienda online o tal vez interesarnos igualmente utilizar una aplicación específica para las tareas de gestión de los recursos de la empresa.
Además de los casos anteriores, es posible que no solo nos interese enlazar nuestra tienda con un programa tipo ‘facturación’ sino con otras plataformas adicionales a la funcionalidad propia de la tienda online (CRM, gestor documental …).
Primero de todo hay que tener en cuenta que la mayoría de plataformas para crear tu tienda en internet suelen llevar más o menos funcionalidades relativas a la parte de gestión de los pedidos, gestión de los envíos, gestión de los clientes, facturación etc. pero normalmente sólo son aplicables a casos de poca ‘complejidad’ donde el circuito logístico para preparar y entregar un producto esté en gran parte externalizado. En casos en que haya un trabajo administrativo importante, un gran volumen de clientes, una gestión de stock o varias personas implicadas en gestionar todo este proceso lo normal es contar con un programa ‘especializado’. El problema es; como realizamos el enlace entre nuestra tienda virtual y este programa?
INTEGRACIÓN DIRECTA CON LA APLICACIÓN
La mejor opción, a priori, seria que nuestra tienda online pudiera ‘atacar’ directamente a nuestro ERP o aplicación de gestión. Esta solución requeriría trabajar directamente con la base de datos de este programa y ahí está el problema. Por un lado normalmente al ‘proveedor’ de la solución ERP no le gusta que nadie entre directamente a su aplicación, por otro este tipo de acceso directo puede comprometer la seguridad e integridad de los datos de dicha aplicación si no se hacen las cosas muy bien hechas. Además de estos dos puntos, es posible que el lenguaje de programación y el motor de base de datos de la aplicación no se parezca en nada con el utilizando en nuestra tienda virtual por lo que puede llegar a ser muy complicada la integración.
MEDIANTE INTERCAMBIO DE FICHEROS
Básicamente, se establece una estructura de comunicación mediante ficheros de texto o XML. La aplicación A (ERP) escribe en el archivo cada X tiempo y la aplicación B (tienda virtual) lee del mismo cada Y tiempo (o viceversa si la comunicación tiene que ser bidireccional). Se trata de la solución más sencilla de implementar (siempre y cuando tengamos la colaboración del proveedor del programa de gestión) pero a la vez es la solución que puede llevar a más inconsistencias con los datos; como el proceso se realiza a intervalos, entre estos intervalos no hay intercambio de información por lo que si la tienda online consume todo el stock el programa de gestión no se da cuenta y la tienda física sigue vendiendo como si hubiera (por ejemplo). Esta problemática se minimiza o se agrava según el tiempo entre intervalos de escritura y consulta en el archivo.
UTILIZANDO UNA BASE DE DATOS INTERMEDIA
Esta solución es una variante a la solución anterior. Básicamente se crea una base de datos intermedia en un motor de base de datos accesible por las dos partes (tienda virtual y ERP) y todos consultan y escriben en la misma. La única ventaja es trabajar con un modelo de base de datos en lugar de sobre ficheros, hecho que además ayuda a controlar posibles errores ocasionados por el hecho de que dos programas accedan a consultar / escribir información en el mismo sitio a la vez.
UTILIZANDO UN WEBSERVICE
Podríamos decir que se trata de la solución más ‘profesional’ en cuanto a metodología de trabajo y programación. Podríamos definir al webservice como un ‘traductor’ entre las dos aplicaciones; cada una habla su lenguaje (es decir, cada una está programada de una manera diferente) y el webservice nos permite comunicarlos con un lenguaje estandarizado.
Dependiendo de si la comunicación va a ser unidireccional o bidireccional, una o las dos partes implementan un webservice por su lado que permita a la otra aplicación realizar consultas sobre sus datos. Por ejemplo, si la tienda online quiere consultar el stock de un producto en el ERP realizará una llamada al webservice del ERP para pedirle ese valor. Independientemente de cómo esté montado el ERP la tienda virtual sólo necesitará saber el nombre de la llamada (por ejemplo get_stock) y los parámetros que hay que enviar y recibir (por ejemplo enviará id de producto y recibirá como respuesta el stock). El mejor o peor funcionamiento de esta solución estará condicionado también a en qué momento se realizan las consultas.; es diferente consultar el stock cada vez que mostramos un producto en el catalogo (home, listados, ficha etc.) que sólo en el momento de confirmar un pedido.
Hay que tener en cuenta que todas las soluciones anteriores no solo dependen de lo que queramos hacer sino también del presupuesto que tengamos para hacer la integración, de si el software al que queremos enlazar funciona en modo online o de las diferentes organizaciones de productos que tenga ya que esto puede influenciar en que sea viable el intercambio de datos con la plataforma de nuestra tienda virtual.
En GRIDSA realizamos conexiones entre ERPs y tiendas online siguiendo un ciudadoso proceso de estudio totalmente personalizado y adaptado a los requerimientos del proyecto.
Entrada vía : Blog-ecommerce