Thursday, December 08, 2005

Is is time for an Opensource ERP?

Oracle is starting from their ERP from scratch - so is Microsoft with their project code name "Project Green", well if the opensource movement is for real can an opensource equivalent be built and delivered before the Oracle or Microsoft's versions are out?

Enterprise Resource Planning systems are the next thing up the stack  for opensource to move to.

Planned obsolescence by vendors has to be controlled where a purchase running into the millions of dollars is deliberately deprecated to forcibly drive repeat sales. The faster you can force customers to upgrade the better your revenue? This is a mantra that seems to be what is causing the shift in the software landscape. The natural tendency is for one to assume lasting ownership for what you buy.

Compiere, ofBiz are examples of opensource variants but how widely they are used and what size businesses they support is still up in the air.

Compiere has the short coming of relying on specific databases namely Oracle and Sybase. A more open choice would be preferable in this case Postgresql, Firebird or Mysql being prefered choices.

Ofbiz feels like it is a framework on which ERP can be built an example of this is the Sequoia ERP which is built on an ofbiz infrastructure.

Can opensource ERP come out on top or should this be structured via a governing body like the Apache Foundation?

Fo one I think business likes things that are structured and a structure opensource ERP much like  the  Apache Foundation or the Eclipse foundation is  necessary.

Wednesday, December 07, 2005

Query by example with hibernate and spring

I did this to get hibernate's query by example to work from spring 

Bibliography - David Carter - http://www.jroller.com/page/ddcarter/20051013

import org.springframework.orm.hibernate3.HibernateCallback;
import org.hibernate.Session;
import org.hibernate.criterion.Example;
import org.hibernate.criterion.MatchMode;
import org.hibernate.HibernateException ;

public
List getCats(final Cat cat) {
if (cat == null) {
return getHibernateTemplate().find("from Cat");
} else {
// filter on properties set in the cat
HibernateCallback callback = new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException {
Example ex = Example.create(cat).ignoreCase()
.enableLike(MatchMode.ANYWHERE)
.excludeZeroes();
return session.createCriteria(Cat.class).add(ex).list();
}
};
return (List) getHibernateTemplate().execute(callback);
}
}