Wednesday, August 17, 2005

Open Source ERP for Small Enterprises

We needed an Open Source ERP solution for small enterprises.

As I am personally inclined towards Java and XML (I love Dot Net architecture too! I co-authored a C# Web Services Book with Wrox.com); So I googled with the keywords "Open Source Java ERP", and up comes compiere everytime. Tiny ERP (www.tinyERP.org) also popped up and so did some wierd site have 5th Gen affiliations (I thought 5G was dead with Japanese AI initiative in mid and late 80's)!

I thus have zeroed on to compiere.org and www.tinyERP.org

TinyERP site tempted me by their FAQ, which says that it takes a few minutes to install their ERP! Though indeed it took me less than a minute to download, they forgot to mention in the FAQ that it also needs Python runtime and postgreSQL.

TinyErp is implemented in Python . Hope the snake loves Java! There is indeed a Java implementation available for Python called Jython. Netbeans, my favourite IDE, also seems to support Python coyote.dev.java.net!

Though TinyERP is less than a meg, PostgreSQL 8.03 is about 17 MB and Python runtime is about 10 MB.

Having said that, its been more than an hour since my temptation to try tinyERP and I am yet to see it running. I have since then downloaded and installed Python and PostgreSQL. The server setup script now wants psycopg (PostgreSQL module),libxml2 (libxml2 python bindings), libxslt (libxslt python bindings).

I feel like being crushed by a python! But, having gone this far, might as well download and install these as well. For all the tinyERP dependencies click here

After some two hours and addtional 8 to 10 MB downloads later,(thanks to broadband, downloads take no time), I was finally able to run the TinyERP client and server setup without any ugly Error messages.

But, I am yet to see any screens!

After a few false starts, I was finally been able to run the TinyERP server. It uses XML-RPC and serves at port 8069 by default. XML-RPC, hmmm..., its a good idea!


But I am yet to see any screens! so let me try and start the client. Yes! I could do it! The screens are pretty neat. Now in next few days I shall be exploring its features.

Earlier on, I had ignored GNU Enterprise GNUe, probably because it was not written in Java, but now that I have installed Python and have to certain extent overcome my ophidiophobia. I am in a good mind to try GNUe as well.

On the other hand, Compiere (Release 2.5.2e) runtime is about 27 MB and the source is about 33 MB.
Though they claim to be DB independent they have listed Oracle 10g as their requirement! The site however claims to be database independent in design, it also says : "At this point, only Oracle is fully supported. The installation on Sybase is Beta and currently requires good knowledge of Sybase and Compiere. Other databases will follow."

In contrast to TinyERP, installing Compiere was relatively smoother. This may be because we are native to Java. The biggest hurdle in Compiere installation is Oracle 10g installation. This beast needs 1GB of RAM, but we had a 512MB physical memory, so we increased the swap area and then increased the virtual memory to 4GB. If the virtual memory is less than a GB, Oracle gives out a warning and installs. But thereafter it haunts you with all sorts of problems. My colleagues at SIPL , Amit Goel and Shalendra Joshi installed Compiere and Oracle 10g. It took about 2 days to tame the dragon called 10g. Thereafter, following the instruction, Amit had a text book installation that took about an hour. Now we are off to explore its functionality.



Ashish Banerjee (www.Ashish.Banerjee.name)