Noticias

Introducción a la plataforma ORO

Desde hace ya algún tiempo, los programadores vamos trabajando con capas de abstracción mayores. Si antes, construíamos una aplicación desde cero, hasta cumplir con todos los requerimientos, hoy en día cada vez más nos ayudamos de frameworks, plugins, módulos o bundles que nos facilitan la taréa.

En mayor medida como si la construcción de una gran figura de lego se tratase, pasamos cada vez más tiempo eligiendo piezas de software, siendo nuestra principal taréa la unión entre las mismas. En ocasiones puede ser necesario que la pieza que necesitas no exista y tengas que crearla, pero con la evolución de la programación, esto es cada vez más extraño.


En esta línea la plataforma Oro, que presento en este post, ofrece una serie de componentes muy interesantes que nos pueden ayudar a mejorar nuestras aplicaciones, o a darle nuevas funcionalidades. Tenemos a Oro Platform, con una serie de componentes dirigidos a la creación de aplicaciones de negocio, Oro Commerce para la venta online y también Oro CRM que nos puede ayudar a extraer información clave para nuestro negocio.

El objetivo de esta entrada es dar una pincelada sobre las posibilidades la la plataforma, en futuros post, y dependiendo del interés que despierte, iremos dedicando entradas exclusivas para cada uno de los componentes.
 

ORO Platform logoDirigido a los desarrolladores, ofrece una serie de componentes enfocados a la construcción de aplicaciones de negocio. Estos son los componentes que se utilizarán en el resto de aplicaciones de ORO, siendo utilizados como un framework de componentes sobre Symfony, algunas de sus características más importantes son:

  • Sistema de búsqueda avanzada.
  • REST y SOAP APIs.
  • Gestión de grupos, usuarios y roles con ACL.
  • Data Grids, para el acceso, modificación y presentación de datos.
  • Gestor de administración.
  • Gestión de informes personalizable.
  • Generación de flujos.

Aparte de los componentes de la plataforma, otros productos han sido construidos con OroPlatform, como:

  • Diamante Desk
  • Marello
  • TimeLap
     

ORO CommerceEs la solución ecommerce que ofrece la plataforma. Concebido con un fuerte enfoque al comercio entre empresas, parte con características como gestión de múltiples organizaciones, sitios web y almacenes, personalización del catálogo desde empresas a clientes individuales, roles de acceso, etc. Este se trata de un producto muy cuidado, no hay que olvidar que Yoav Kutner, uno de los fundadores del proyecto, fue también uno de los fundadores de Magento, con lo que algo tiene que saber del asunto. Y esto se ve en opciones que no están presentes en otras soluciones, como poder gestionar distintas listas de compra, comprar productos agrupados en sets o la posibilidad de introducir un pedido de forma manual.

Detalle precios ORO CommerceCreación de productos
Aquí puedes ver un detalle de la creación del producto, en donde podemos asignarlo a uno de los catálogos y tenemos la posibilidad de programar su activación durante uno o varios periodos de tiempo, pensemos en productos de temporada, o en ofertas puntuales.

Reglas de cálculo de productosCalculo de precios
Aquí podemos ver una opción para el cálculo del precio del producto en base a reglas, con posibilidad de venta por packs, descuentos por cantidad, según la moneda y pudiendo establecer condiciones y prioridades.

 

 

Control Visibilidad Producto ORO CommerceControl de visibilidad
Desde este apartado se permite establecer reglas para controlar bajo que circunstancias serán visualizados nuestros productos. Se pueden segmentar las reglas por país de procedencia de las visitas, catálogo y grupos de clientes. Junto con la posibilidad de tener un producto con diferentes precios, en diferentes sites, aquí podríamos gestionar su visualización también, de manera que podamos venderlo en un mercado y no en otro, o bien que podamos visualizar ofertas gancho a usuarios no autenticados

 

ORO CRMPara la gestión de cuentas, contactos e iteracciones con usuarios y oportunidades de una forma centralizada. Sus puntos fuertes son la capacidad de poder modificarlo y su conexión directa con OroCommerce, la plataforma open source para B2B de la misma compañía. El sistema nos ofrece información sobre los principales indicadores que afectan a nuestras ventas como resutados en campañas, tasas de conversion, etc,  permitiéndonos tomar deciciones en consecuencia. Si además integramos el sistema con nuestro ecommerce, también obtendremos información sobre los pedidos en línea activos, las tasas de abandono, pedidos no finalizados entre otros.

Además, OroCRM cuenta con un marketplace propio, desde el cual instalar extensiones gratuitas y de pago.


AkeneoOtro de los proyecto interesantes bajo el paraguas de esta compañía es Akeneo
Es una tónica habitual hoy en día que las empresas comercializen sus productos por diferentes canales, por ej, pensemos con una empresa con sede en Madrid y con delegaciones en Valencia y Sevilla. Pensemos también que la empresa comercializa también sus productos a través de su página web y permite visualizarlos a través de una aplicación móvil. Luego cuenta a su vez con un equipo comercial que requiere información impresa en forma de catálogo para mostrar directamente.

Tenemos aquí que el catálogo de productos de la empresa, es consumido en diferentes canales y con diferentes necesidades. Tradicionalmente una solución que se sigue utilizando hoy en día es duplicar la información, esto es, tengo mi catálogo en cada uno de los canales en que lo necesito, y creo algún sistema que me lo sincroniza (altas, bajas, modificaciones, stock...) de forma periódica.

Este sistema presenta varios punto débiles, como por ejemplo:

  1. Duplicidad de datos: al tener la misma información en diferentes sitios, estamos obligados a tener una perfecta gestión de las actualizaciones en nuestro catálogo, para no crear inconsitencias entre los mismos. Pensemos en un cambio de precio, en un esquema como este, desde que cambia el precio en el catálogo maestro es crucial gestionar de forma rápida y efectiva que este cambio se propage al resto de catálogos.
  2. Divergencia de los catálogos: los requisitos del catálogo pueden ser diferentes en función del canal que estemos utilizando. Pensemos por ejemplo en la página web de la empresa y en que quiera traducir los productos a un idioma adicional, o bien que queremos diferenciar entre la información que mostramos de un producto en un catálogo comercial de la mostrada en nuestra app. Entonces nos podemos encontrar con que ahora tenemos un catálogo web con los datos básicos del catálogo máster, más una traducción a un lenguage adicional.

Vistos alguno de los problemas, parece mejor disponer de un catálogo centralizado, sobre el que poder gestionar subcatálogos especializados con toda la información necesaria para cubrir las necesidades de los canales, y que cada uno de los canales, consulte este repositorio centralizado con la información en un único punto, pues es lo que nos propone Akeneo.

Nuestro trabajo consistiría en hacer una importación de los datos enriqueciendo el mismo con toda la información necesaria como categorizaciones, variantes, imágenes, video, idiomás, etc. Para ayudarnos en esta taréa el sistema cuenta con características interesantes:

  • Herramienta avanzada para la importación de nuestros productos.
  • Gestión de usuarios, roles y permisos para la gestión del catálogo.
  • Multiples posibilidades para catalogar nuestros productos: familias, subfamilias, grupos.
  • Permite crear variantes sobre nuestros productos.
  • Manejo de traducciones.

Vistas estas bondades, ¿por qué no empezar a utilizar inmediatamente este herramienta?, bueno, si simplemente necesitas centralizar tu catálogo, enriquecer su información, y tener distintas versiones del mismo, según el contexto donde lo vayas a utilizar, pues podrías empezar a utilizarlo ya, pero si necesitas que es lo usual, sincronizar los datos entre Akeneo y uno o varios sistemas tendrás que ver si existe un conector adecuado o tendrás que programarlo tu mismo.

En fin, como vemos tenemos cada vez más sistemas maduros sobre los que apoyarnos a la hora de realizar nuestros desarrollos, al modo en el que Symfony está construido sobre componentes, también nosotros cada vez contamos con más piezas software que utilizar para nuestros desarrollos. Siempre merece la pena connocer las "piezas de lego" ya creadas, antes de embarcarnos en un desarrollo propio, y esto es lo que he pretendido brindarte ni más ni menos, con la entrada de hoy.


Mas información:


Symfony2


Compartir mola!!