Abstract: Service-oriented architecture is emerging as a compelling paradigm for developing web-based software applications. According to this architectural style, the functional components of the system are implemented in various programming languages as network-accessible “services” declaratively specified (in WSDL) and hierarchically composed in complex processes (using BPEL4WS). Despite this fundamentally distributed conceptualization of software architecture, most current BPEL4WS execution engines assume that the specification of the process composition is interpreted at run time by a central middleware node. This implies inflexible composition evolution: each time a partner process must be updated, all compositions to which it participates must also be updated to avoid potential failures at run time. This paper presents the WRABBIT project, which associates web services with agents capable of communication and reflective process execution. Through their reflective process execution, agents recognize run-time “conversation” errors, i.e., errors that occur due to changes in the rules of how the partner process should be composed. The agents consult declarative policy specifications to resolve such conversation failures, and they recover when these policies themselves are missing or incongruent. The ability to recover from these types of interaction errors requires an investment in a general web agent architecture that operates on a consistently modeled set of declarative specifications. The benefits and challenges of this approach for distributed services are discussed.
Keywords: Web services, BPEL, web-services composition, intelligent agents