A number of people have written me and asked about what the real point of the Open For Business project is, where it is at, and where it is going.
Open For Business will eventually become an enterprise wide information management system, tracking in package everything that a given business needs to keep track of. With this goal, it is easy to see why it must be in open source.
Now, back to reality. Starting out our goals are much simpler. A data management architecture is a big priority, that comes from using J2EE and entity code generated by entitygen and defined in an XML file.
Other priorities further down the road to make this a world class system include tools such as a rules engine, a workflow engine, a content management package, and constraint engine, analysis tools, and so forth. These add automation to the system making it a great value for those adopting it.
These extra tools also make what exists in the open source project easy to customize into whatever the end user needs. They are for that reason a very important part of the project goal.
Now, a step deeper into reality. What to work on first? E-Commerce is a great place to start. Lots of people know what it is and what it needs to do. It's also something that lots of people want to use, but need to be able to customize. So, let's start there.
After that we can branch off into every part of a business. Accounting, shipping, manufacturing, supply chain/purchasing, and others are great candidates to go for. Once we have a good core, building those around it will go quickly, and can be done by a lot of people working at the same time.
As the project is progressing I hope that companies will adopt it as much as many from the development community already have. I'd like to see projects built on it, and hopefully contribute back to it. It is already something useful to anyone doing a web and EJB/J2EE based program, and will branch out and become even more useful as time goes on.
The current goal is to get the core pieces in place so that we can build applications on them. Once entities are defined, and our architecture is in place in commonapp and entitygen, we can push a few buttons and pop out hundreds of thousands of lines of code which will be all of our entity beans, and most of our administration JSPs.
When that is done, half of the app will be written. The other half is the process half. It will consist of workflows and customized user interfaces more suited to a given task, or use case component in UML terms.
Some applications will benefit greatly from a rules engine or other middle level tools that will become part of the project, and they will be used as they become available.
I hope that clears up my vision for where this project is going, and gives some insight as to where we are now and what we are doing.