With the advent of more and more services available on the Web, a user can have a difficult job of assembling the various pieces of a complex task to arrive at a final solution. Not only would the user need to access each web-based resource through its individual client-side interface, but she would also need to interpret its response to her request, and to manually combine the multiple responses from the different resources to accomplish the complex task. In this paper, we discuss a multiagent, XML-based framework that supports the development of aggregate applications that rely on semantic-based reflective monitoring and collaboration among several agents to complete the user’s task. Our framework makes use of declarative models of the domain information, the task-specific information, and the semantic constraints of this information. Each agent uses these models to interact with the user, to coordinate the information exchange with the various web resources, to monitor and control the execution of the applications, and to take action when a failure is detected. When an agent detects a failure, it collaborates with other agents by distributing the tasks to those agents which are capable of completing the task, thus ensuring successful completion of the user’s request. We illustrate our approach and the architecture of the aggregate applications that it produces using a book-buying assistant as an example.