Still no performance testing results from the project I have been developing. Not only am I keen to see how my design performs, its especially important when delivering the product to the client with guarantees on its capability and meeting the clients initial requirements.
On another note, our organisation recently stated its intention of using .Net as its central strategy for enterprise development and client deals, a move away from Java/J2EE. While we still also develop J2EE without any intention of stopping this (we would develop apps using QBasic if it made enough money) , the focus has moved from J2EE to .Net (which to me is a good thing being a .Net advocate). Why? I guess we can all jump to conclusions that Java/J2EE is dying but I dont think thats the case at all. We are finding the number of opportunities in J2EE dwindling (for whatever reason), but more importantly, the cost of development, cost of maintenance, ability of current resources to up-skill considerably easier/cheaper. For example, consider a bunch of ASP programmers. Not much OO/Component type development. Going to .Net, although a jump, is still easier (or at least seems easier to them), than going to Java/J2EE. The Java/J2EE jump seems more significant than the .Net jump for many reasons, and I think this is one of the reasons the management is keen to go the .Net path in a more "balls and all" fashion (excuse the crudeness).
Again, we still have Java/J2EE work in our org but the number of .Net opportunities are increasing much more than J2EE , so much so that some Java/J2EE developers are being forced into the .Net camp to keep "billable" <-- a favourite term among our managers.
I am not attempting to draw any conclusions, but simply state observations from my small corner of the world. I hope Java/J2EE stays for a long time around as at the very least, it will drive MS to make a better .Net.
I would welcome any comments and/or observations from your own organisations/companies. I'd be interested to see if there is any trend or is just specific to our market and skillbase.
Well, as you may know from the previous entries, we were due to enter performance testing for a project I have been designing and working on. Unfortunately, what was once a nice and harmonious relationship with the client has now turned a bit sour as we did not enter UAT (User acceptance testing) by the due date. Initially we missed by one day with some known problems in the system that we were working to fix. Unfortunately, the client has used this as leverage to put the pressure on and now we are backtracking to get everything requested and have been falling further behind (we are now almost a week behind). Performance testing has been shelved for the time being not only because we were behind, but also due to infrastructure and other issues beyond our direct control. So I can't report to you how wonderfully stable and resilient our application is at hundreds of concurrent users :(
It has been -extremely- stressfull and all of the developers and testers are doing extremely long hours and whipping out work at a very fast pace. Without the use of .Net in this instance, I have absolutely no doubt that we would be in an extremely dire position in terms of meeting deadlines, not too mention we have been able to build a very fast and complex application in a short period of time. However, even the best technology in the world (which I consider .Net to be), cannot help a project that is affected by a number of other governing factors such as estimates that are far too small, reliance on external groups/divisions that fail to meet obligations, very demanding clients and a host of others.
During all the hassle, it has become evident though, that the application is fast (given the huge amount of data involved in some requests), stable and very resilient. One example of this happended purely by chance where a tester was using the system and was in the middle of a process (was on about page 4 of 9). The tester went away from their desk, and in the meantime, I was compiling a new build of the development system with which the tester was using. I had performed a recompile, updated the web server with new DLL's, unregistered the COM+ packages on the app server, updated the DLL's on the app server (remoting part and the COM+ packages) and re-registered the COM+ packages. The tester returned to their desk and continued to work with the application without any loss of information or state, and no loss of productivity, apart from a minor slowdown as the new "build" was linked/compiled/loaded into the newly created appDomains on the web and app server. The tester was totally unaware of the process and things continued smoothly.
So there are some positives out of all this confusion. I am still very keen on performance testing as this is integral in meeting obligations, especially contractually where the client expects the application to be able to handle a particular load now, and the projected loads in the future.
As usual, I will keep you posted....