When I was in Cornell, I developed and maintained a Ruby on Rails web app for a team of technicians on campus. The app was a lot of custom Ruby code. We had to design and develop custom user and role management, work order management interface, reporting interface, and search functionality. It occurs to me, Share Point and SQL Server 2005 seems to be geared for this exact functionality.
I imagine the following solution: a top site collection as the main site with two child sites: The Work Order Management site and the Reporting Site. The top site collection would contain lists of all the different entities that existed in the database, such as, departments and customers. It would also include a Form Library to store the work orders themselves. The technicians could use InfoPath to submit work orders and possibly modify them. But, wouldn't it be cooler if the actual work orders could be items in a List on the server and users could add/modify items using InfoPath forms? (More importantly, is this even possible?).
With regards to reporting, SQL Server 2005 reporting should be enough. Share Point could be used as a dashboard to display these reports. (Edit: By using the Reporting Services Web Parts see: http://msdn2.microsoft.com/en-us/library/ms159772.aspx)
The breakdowns that are needed are by month, by department and by other categories. A few questions come to mind:
1. Is SQL Server 2005 overkill for smaller amounts of data? This app may get at most 10 new work orders per day.
2. If all this data is in a Share Point list, is there an easy way for the reporting services to leverage this fact or should the data to be reported on be replicated to a separate SQL database and then run the reports on?
User and role management could be simple. One could create Share Point groups representing the relevant groups of individuals in this application. The users would be added on the server and, afterwards, into Share Point. Customers could only see the work orders related to them. Would it be possible to provide reporting services for the customer about only the work associated with them? Would that be smart?
Search is also built into Share Point and would provide everything we need.
So overall, this sounds like it could be done in a short amount of time and a working prototype without reporting could be up and running within a few days, without any coding. Now that's power.