View source | View content page | Page history | Printable version   

Projects:EHub/Functional Specification


My Project - Functional Specifications

This is a draft document, a preliminary set of thoughts to outline the functionality and facilitate the discussion.


Openbravo provides today all the building blocks to support a multi-channel operation but it requires a relevant implementation effort. The solution can be better generalized, integrated and completed to make it much easier to implement. There are two main areas within this theme:

The purpose of this project is to define and implement a general interface and with that facilitate the connection with multiple sales channels, multiple payment methods and multiple fullfilment channels, while in parallel guarantee the consistency of the communication, both on functional and on technical level, with the Openbravo Order Management System (OMS).

Relation with eHUB project

The "eHUB" project defines how the communication with the relevant channel is structured, while the “Configurable cross-channel scenarios” project define the steps, conditions and content of the order scenario. The document that describe the functional requirements for this is found here: Cross Channel Functional Specification

This document is to describe the functional requirements for the general interface mentioned here.


The eHUB is the software component that interacts between front-end channels and the central Openbravo Order Management System (OMS) by the means of services. Part of this eHUB is the standardization, structure and mapping of these services.

The definition of a channel in this project is “a type of end-point that requests information from and sends information to the central Openbravo OMS, via the eHUB". The structure of these requests are defined in the channel definition as part of the eHUB.

Courtesy SiM/GMA

As logical extention to this, and as separate projects, we foresee to adapt the existing connectors with the e-Commerce solution leaders (Magento, Prestashop and others) to the new standard interface and to facilitate the Openbravo partners to base their development of future connectors on this eHub. With this approach of a general interface from the sales channels with the central OMS, we will enforce consistency in the operation with all different e-commerce solutions, both on functional and on technical level, and allow quicker and easier development for new e-commerce solutions.


When talking about cross-channel scenarios, we limit the scope for now to those channels inside a scenario, that all belong to organizations of the same legal entity. Hence, a scenario where the order is placed in an organization belonging to entity A and delivered from a warehouse that belongs to organization in legal entity B (drop-shipment) is part of the Advanced Order Scenarios project.

The eHUB is seen as a pool of services available to Sales Channels to process Cross Channel Scenarios. Each channel will declare, in its definition, its capacities to handle -or not- specific steps of the sales process. This will have consequences in the behavior of the eHUB, for example pushing events.

As a result, the eHUB should be flexible enough to allow the implementation of any Cross-Channel Scenario.



User roles & profiles

Use Cases Studies

Integration with a Stand-Alone E-Commerce

Describes the Interactions to integrate with a Self-Operated Platform such as a Magento Deployment, where the organization is in charge of the full delivery chain.

Integration with a MarketPlace

Describes the integration with a MarketPlace ( example T-Mall in China, Amazon, eBay in the rest of the world )


Stock reservation for the Market Place The Market Place owns Stock Deliveries orchestrated by the Market Place or not

Integration with a Call Center or a Customer Support System

Describes the interactions in the case where orders and customer data has to be accessed, edited and created through a Call Center. (And in particular when the software supporting the call center is not Openbravo)

Integration with a Shopping Mall

Describes the interactions in the case of using a third Party POS System

Integration with an ERP

Describes the case when orders are coming from an ERP.

Solution Design


Window Design: Configuration of Services

Before defining a channel and the interactions/services that it allows/uses and how these are mapped, the services themselves must be defined.

Within these services we include:

Most of these services have to be available in two versions : a PULL option allows the Channel to actively retrieve the data while a PUSH option will let the eHUB actively communicate information to the Channel.

In the case where a service is implemented as PUSH, the related configuration will include more details such as the endpoint to use, the authorization supported, etc..

Additionally to Services the other important function of the eHUB is to allow Declaration of a Sales Channels.

Window Design: Configuration of Channels

Once the service are defined, we can define the channel(s) and within them the service and how they are used. The channel configuration allows for each service to define whether the channel uses the standard service, or a custom service overriding the default one. The configuration of the channel will then offer additional fields (/Subtabs ...) to provide the necessary configuration.

The configuration is described in the listing below. When no type is defined, we understand the configuration as a checkbox.

Note : Keeping all configuration at their defaults should be a workable configuration

Process Design: Order Processing

Process Design: Product Listing/Synchronization

Process Design: Customer Synchronization

Process Design: Master Data Listings

Design Considerations


Integration Plan Structure

Open Discussion Items

Closed Discussion Items


Retrieved from ""

This page has been accessed 6,121 times. This page was last modified on 18 January 2016, at 07:12. Content is available under Creative Commons Attribution-ShareAlike 2.5 Spain License.