Web 2.0 Applications: Model-Driven Tools and Design