Vita Rara: A Life Uncommon

A View Inside a Large Java Project


Categories: | |

Over the next six months I am going to be implementing a large scale ERP like system. This is a replacement for a system containing about 90,000 lines of code, written in Java, using a lot of stuff that was current circa 2000.

It is my intention to write about the process here. It's been some time for me since I've taken on a lead role in a development project of this scope. My duties within my company have moved me away from direct hands on development toward a more managerial hands off mentoring role. This is going to be changing with this project. I will back in the thick of things, analyzing, coding, designing architecture, whatever it takes to deliver the project.

The resultant system, or a derivative of it, will eventually released as an open source system, and expanded into an ongoing open source development project. This has been a dream of mine for some time. I have worked in the closed source world for other employers, and when I began my own business I did not want to continue in that path.

All of the work my company has done for clients to date has been delivered under open source licenses, but they were not projects that lent themselves to being turned into large community driven open source projects. Finally we have a client who's needs are basic and universal and the project will become the basis for an ongoing community development project.

Why?!?

Some would say, "why another open source business application, aren't Open for Business, Compiere and other are already doing that?"

The answer for me is fairly simple. I have a client who needs a new system. I thoroughly enjoy business software development. I believe in the open source model, both its benefit to software development, and to a growing company. Most importantly to do this in the manner I want to it is going to be a challenge.

Completing the project will involve a lot of thought and innovation. It is my goal that the resultant system will become a platform used by many developers to solve their business problems. That it will be simple, straight forward, and easy to extend. We are already working out how we will implement a module based extension system that will support multiple Java web frameworks, such as Apache Struts, JaveServer Faces, and Apache Tapestry for the front end, and dynamic extensions to back end business code.

So, stop back from time to time as we work on what I think is going to become an interesting development project.

Take care,

Mark