Adaptivity and autonomy improve the user experience by dynamically changing both the client and the server side, through capabilities such as self-configuration and self-healing. Some key technologies that contribute to the development of future web applications are the semantic web [45], web 2.0[32], and RIA applications [20].