Multiagent systems evolved from a need for knowledge-aware, distributed, problem-solving mechanisms. These systems are formally grounded using theoretical approaches, including those that assume mentalistic notions. As a result, much of this research into multiagent systems has provided formal proofs or proof-of-concept demonstrators (such as example systems or prototypes). It has provided only limited, pragmatic support (systems, software, and tools) for the user community. Research into Web services, in contrast, has focused on the user community, resulting in a pragmatic, bottom-up enabling technology that readily facilitates the robust construction of service-oriented systems. Much of the focus of Web services research has been on developing declarative descriptions that application developers can share and that their tools can use to construct and develop large-scale distributed software. Despite these differing approaches, the inherent component-based structure underlying both agents and Web services raises questions about how exactly they differ and whether they can coexist.