There is a discussion going on right now on TheServerSide.com that was started by Peter Yared who was the former CTO of Sun, discussing the possibility that Java EE may lose out to Open Source based alternatives, and alternative development technologies and platforms, such as LAMP based technologies like PHP.
Case study: Become.com – a massively scaled Java application
Become.com’s system is a massive web search engine that crawls the web for goods being sold and offers comparisons between like products. The crawler engine is written in Java and indexes more than 3 billion web pages and generates index data of over 8 terrabytes of data over 30 distributed servers during a 7 day run.
The crawler code is written in 39,000 thousand lines of code running over 40 to 50 machines, with 180Gb of total allocated memory and running upto 5000 threads.
JSF verses Apache Tapestry
Phil Zoio has a great, very detailed article on TheServerSide.com comparing two web framework alternatives to Struts, JSF and Apache Tapestry.
Struts has long been the de facto standard web application framework, but over the past couple of years there have been many alternatives attempting to improve over some of the limitations of Struts.
One of the largest changes is many of the newer frameworks such as JSF and Tapestry are event driven and give more flexibility over Struts Actions. This allows you to tie client side events, such as value changes, validation results, form submits to server-side processing. JSF is also the Java EE 5.0 spec for ‘the’ web framework, and so will be supported on all the EE 5.0 application servers when they come out.
There has been a lot of noise over whether JSF may replace Struts – David Geary in his blog (author of Core Java Server Faces) gives a good set of reasons for why you should be considering using JSF instead of Struts for new projects.
Linguine Maps – visualization of software relationships
When working on large projects, its often difficult to get the large picture in terms of relationships between different entities.
Software Secret Weapons have put together a utility called Linguine Maps that parses certain input files and builds a graphical display of the relationships between them. Currently it can handle ANT build files, DTDs, Apache OJB mapping files, and Hibernate mapping files.