We're living in a golden age. The Lego blocks generation has arrived. I am starting new work on an application to expand a prototype I built for a client. We have the basic idea where all the data is coming from. We have the ideas for a data model and reports that are built on top of that. I drew out an architecture diagram in Visio yesterday. Now, how to I fill in the rest? Well, my client wants a configurable web based menu system for laying out the reports. I put the prototype together manually. Well, a popular choice is Microsoft Sharepoint but it costs upwards of $5000 and there is no outwardly available piece of documentation on how you would redistribute this with your own application. It is also a pretty heavy system that ties in with the Microsoft Windows operating system. There are open source alternatives - Joomla, Plone, and Drupal. I'm most familiar with Joomla so I'm trying that now.
Also, to get data back and forth with minimal coding, I could use an ETL tool. I spent the last 6 or 7 years using one called Sagent. Sagent goes for like $30K or more. The brand names like Informatica go for even more. Plus, there's a lot of features I will never end up using for what I need to do. There's also a lot of $$ in total cost of ownership I'd have to add to the application if I were to bundle an commercial ETL tool with this. I may need to do this down the road if the open source tools I choose prove not ready for prime time but for now, I can build an application out at a reasonable cost and get the proof of concept out there.
Today, you have options and I am very excited that I can with little or no money build a proof of concept without starting from scratch. I too plan to componentize my offering. My client has a product in mind but the different pieces configured in a different way may produce a marketable product on their own that he may not have thought about.
Get the most out of limited resources. Don't start from scratch. The most important component of all of this is your imagination.


