Monday, July 5, 2010

Tools i use as a Java EE/Web developer

NetBeans
Okies this is probably not a tool but this is the IDE that I use on a daily basis when I work with Java. Nice integration with the Spring framework which is what I use on a daily basis. Particularly liked the ability to start stop servers, connect and view databases.


SoapUI
Great for testing your SOAP based webservices, have lots of integration to allow you to generate stubs for JAX-WS,AXIS 1,2 and even .NET.


Firebug
Not just great for debugging your javascript, also useful if you want to check out what CSS is being used by which components, you can even change CSS on the fly to see what the changes would look like.


Y!Slow
Analyses your web pages against a set of rules and suggest ways that you can improve your web page’s speed.


Dynatrace Ajax Edition
This has been something that Dynatrace keeps improving and best of all they are giving it for free. Track your web page performance, see where your bottlenecks are, In the new version they even can turn Selenium tests into performance tests.


Selenium
Great Web testing framework, run your tests across many browsers, you can even distribute your tests across many servers. If you haven found a tool for Web UI testing this is it. Look no further.


Paros
Primarily used as a tool for security assessment,  invaluable for actually knowing what data is sent (cookies, http headers, POST/GET data strings) back and forth from your client (either browser or application) to your server. You can also use it for changing the data and see if your application is vulnerable to common attacks. 


If you don’t know things like Sql Injection or Cross site scripting as developer it’s time to start reading OWASP Top 10 list and Building Secure Software.


Notepad++
One of the best and free notepad replacement’s around. Has syntax highlighting, integration with Windows Explorer, indenting and lots of plugins to extend functionality.


Ant and Apache IVY
2 Main tools that I use for writing build scripts and managing dependencies.


VirtualBox
Useful for creating different configurations as well as running linux on my Windows development machine.

Any other useful tool that you use on a regular basis? Post it in the comments below, love to find other useful tools that you guys/gals are using.