Skip to main content

Analysing Openbravo as a platform

The future of the Enterprise solutions industry belongs to micro services and in fact nano services. Gone are the days when Enterprise applications were the ones that contained huge gigantic databases and middle ware and a crappy User Interface. In the current era where mobile first (or app first) strategy is driving businesses, the key to choosing an Enterprise solution is not just to use it as an application but also use it as a platform where you can keep on adding your solutions at least for the next decade. Openbravo being a company founded to develop Enterprise applications based on latest technologies has embraced this approach right from its early days. 

Here is a small figure on a small subset of modules present in Openbravo.


Let us see here why Openbravo is even more powerful as a platform

  • Modularity

As you can see from the figure above Openbravo embraced modularity or segregation of individual business processes that are interconnected through extension points. In essence you can keep on adding or removing new business processes (verticals as it is usually referred) without having any tight coupling with the other business processes. For example a manufacturing vertical can be used on the same Openbravo setup and also a CRM vertical completely unrelated to the management vertical can reside in the same solution. The beauty here is since each vertical or module can operate independently there is no real need for security concerns or load concerns. But of course there is some underlying data that has to be shared across the System like financials or customer data. This is the next strength of Openbravo.
  • Master data management
A key module of Openbravo solution is the Master Data Management. Some of the business features dealt within this module are:
  • Company information
  • Organization hierarchy
  • Financial Information
  • Users and Roles
  • Security
The advantage here is that this information is usually generic to most of the business process and so instead of repeating the same information across services, the same service can be linked to other solutions. Also since the security of the data is handled here, data abstraction for the various processes can be handled quite easily.

  • Ease of development

This has to be done as a whole article altogether but I will provide a small brief of it. Openbravo uses something called the Application Dictionary model, which enables developers to create windows and artifacts without coding. In essence with simple data such as the SQL tables, any user can create windows in no time. This provides us with multiple benefits like

    • The same user interface standard is maintained across various solutions. 
    • Go live time is hugely reduced and spent more on polishing the business process instead of focussing on trivial elements. 
    • Resources required to complete a module is very lean compared to creating solutions from the scratch.

  • Open source
This is probably the biggest advantage of using Openbravo as a platform. Openbravo was one of the pioneers in open source ERP and one of the very few to still stay that way. Since Openbravo is entirely built on an open source software stack, we have the freedom to use it judiciously without the fear of future updates and legal constraints. And with Openbravo exchange there are hundreds of modules available which can be used to develop your business process in a very little time. For eg, Integrations are provided with various other solutions like SugarCRM, Magento, Pentaho Business Intelligence.

These are some of the key benefits of using Openbravo as a platform. There are whole lot more benefits like centralized deployment and reduced maintenance overhead, but I think once you understand the power of the platform these things are trivial. Would like to hear from you all about the cases in which you have utilized Openbravo as a platform and also as always suggestions and comments are welcome.



Popular posts from this blog

My 10 years in Application Development

It's been around 10 years since I started programming. May be a bit more, if I have to include my first attempts at C programming in school. But it would be a grave insult to call remembering ten lines of code and just replicating it to put a star on the screen. I also did a course on Visual basic, but it was more gimmicks that Application development. But it was truly in the year 2007 when I started my Master in Computer Applications that I found a new flare for developing applications. 
I was very late to computers in general and even when I joined my Masters, computers were not really accessible to me. But when I joined my Masters where one is actually expected to hone the skills which they already have, but in case it was were I was learning the skills, initially it was very difficult. I was not sure what computers had for me nor I had a natural flair for programming. But the thing about computers that attracted me was the visual medium it gave. Initially it was just a door t…

Changing Timezone in Postgresql, Ubuntu

Timezone and locale are integral concepts that one should be aware of when implementing a System. For example. if you create a database in PostgreSql, it will use the default System settings for the database. Lets say you have a server in UK and your client is US. If the client tries to retrieve the current date or time, it is going to show the UK time and not the US one.
Today I encountered a different issue in our client place where the Ubuntu timezone and PostgreSql timezone were showing a incorrect values. Instead of Indian Standard Time (IST) it was showing Pacific Daylight Time(PDT). These are the steps that I followed to change the timezone to IST in PostgreSql and Ubuntu.
Changing timezone in Ubuntu:
sudo dpkg-reconfigure tzdataYou will be prompted to choose the continent and then the area. Provided screen shots where we configure the location.
Use TAB key to navigate to the OK button and then press Enter.

The changes will get reflected immediately. To check it you can open a n…

Dissecting Openbravo 3.0 UI Architecture

Having been worked on Openbravo 3.0 UI for more than a year now (right from RC1) , Openbravo has leaped ahead of most contemporary ERP's in terms of UX design and usability. And a part of the credit has to go to the community too as they were actively involved in finalizing the UX and also involved enthusiastically in tested out the RC versions and providing their feedback.

In this post, I have tried to draw limelight on the basic UI components that are being used in Openbravo and their corresponding smartclient components. This is just to provide a very high level idea on how the entire architecture is coupled together. I have tried to use a single screen shot of Openbravo interface and tried to map the base components here.

The hierarchy can be visualized in simple terms as follows:

Exhaustive information on these components are provided in the Openbravo Wiki here.

Most of these components are defined and managed from individual files (or code) thereby making it really easy to …