Exploiting Agent-Oriented Programming for Building Advanced Web 2.0 Applications