|
|
Web Application Load Simulator -- Acknowledgements
LoadSim has taken great advantage of the open source development process. Basically, if I had to write all of the components to make LoadSim possible it wouldn't exist. Like many programmers I am basically lazy and if something exists that will do the job I need done I will use it (and, of course, the developer of the software I need has given me the legal right to do so). Here is the list of projects that I have used to aid in the development of LoadSim:
- SnapHire, formerly Spin Software. LoadSim began life as an internal load testing tool at Spin Software. After it had matured to a point of being usable they decided to release it under the current MIT license. Without the generosity of Spin LoadSim would not exist as a free load testing tool today.
- HTTPClient. This provides the basic client side HTTP implementation. I used this in place of the Sun's version 1.1.x of the JDK HTTP support. But, under high load HTTPClient wasn't up to the task and I have since reverted to using Sun's implementation in version 1.3 of the JDK. I still wanted to thank the authors of HTTPClient.
- JAS. Sometime back I was experimenting with dynamic class generation. As part of this experimentation I wrote a (very) basic ORB that uses dynamic remote proxy generation. JAS provides an API for creating class files (without having to use a Java compiler). To support the remote management of simulations I decided to see if my little ORB worked. Well, it did, so that is the ORB I am using.
- JMeter. About a year ago I used JMeter for some basic load testing. I found the core engine to be good but JMeter didn't support the complex form data and querystring data that I needed for doing load testing of complex web applications. So, like the lazy programmer that I am I used the JMeter code as a starting point for LoadSim. I have tried to keep the copyrights in the relevant code, but if I have left one out it is inadvertent, and if anyone is aware of any transgressions along these legal lines please let me know.
- Jacl. The original design and implementation of LoadSim used Tcl (Jacl is the 100% Java implementation of Tcl) quite extensively for both the specification and control of simulations. Basically, I didn't want to write my own scripting languages, so I used Jacl, which is quite easy to extend with new commands. The current version of LoadSim uses XML to define the simulations.
- Xerces Java. I switched from specifying simulations using a Tcl to using an XML-based file. This change was made so that it would be easier to write a GUI based frontend to LoadSim. LoadSim uses Xerces to parse the XML file and to create the DOM tree.
- Muffin. Muffin is a filtering proxy server used to record a browser session for use by LoadSim. The addition of this functionality to LoadSim has made it a much more usable load testing tool. Many thanks. As with the JMeter code I've used if someone could inform me as to the legal implications of distributing Muffin with LoadSim (Muffin is GPL'ed and LoadSim uses the MIT/X license) I would appreciate it. While I am not going to change the LoadSim license, I could ship LoadSim without Muffin, though it is much more convenient for the end user to distribute them together. I would, in fact, like to integrate them more completely to make it even easier on the end user.
|
|
|