
Allow me some comments here ( read : IMHO ), as the thread is quite interesting. :-) - 1) *All that Open Source and FreeSoftware, na mambo bado?!* I share the annoyance with @Moses and @Wanjiru, fortunately these days when it comes to this sector I tend to just laugh it off. The essence of my age old argument on software development is the first lines in this point. How dare we disturb the holy balance of nature between being shown what to do and teaching what to do? :-) - 2) Obviously the demands placed on the system very high and really very few times a year but this does not mean the CAPEX is not worth it. The issue of a stand alone system is where the problem lies, why is the system not being used during the year to host e-education, schools management, provide access to teachers for reading materials, enable useful activities on the platform etc. The list can go on and on. BTW, by mid next year I'll have a simple schools management system running purely for code practise, so blame yourselves if it becomes popular purely by luck. :-) - 3) Db or no Db? Is it just a matter of indexing convenience as in the case of read only data it matters not whether thread safe or not. I'm still considering what to use on my current test project and am happy with using split flat files. The argument here is this : If the server can feed 1000s of http requests and responses to an html document, then why the DB dependencies? This is my amateur input here, so corrections welcome. -4) Tests. This is find quite interesting that no one has developed a testing platform for enterprise solutions. So how do people benchmark enterprise setups without even developing test tools to push the response/request/sessions? Am blank here. -5) Solution time : I think KNEC will need another approach, if they don't do as yet. What they need to do is for all those searching online for their results is to implement a registration system. So any student checking online on the results day will need to register their student ID and SMS number/Email account and will have a wait time of around 1 hour or so. Behind the processes, this ID will be matched to the result and put in an output queue. Once the queue is ready with the student data, it can send an alert on what page the student can find the results at. As @Peter already mentioned, splitting the files will ease up on the load. Rgds.