An Agent-Oriented Programming Model for SOA & Web Services - Ricci, A.; Buda, C.; Zaghini, N. (2007 5th IEEE International Conference on Industrial Informatics, 2007)
More and more Service-Oriented Architecture (SOA) is recognized by the industries as the reference blueprint for building interoperable and flexible distributed Enterprise applications, based on open standards such as Web Services (WS). In the state-of-the-art, the programming models for engineering SOA systems proposed by leading industries are essentially component-based, typically based upon object-oriented abstractions and technologies. In this paper we argue that such a choice-which benefits indeed from the well-know advantages of component-based software engineering and from the maturity of the available technologies-does not provide, however, the suitable level of abstraction for modelling as first-class concepts some fundamental aspects in SOA, such as autonomy, control-uncoupling, data-driven interaction, to cite some. Such features instead can be modelled quite naturally by adopting an agent-oriented perspective. Accordingly, we introduce here a programming model for SOA and Web Services called SA&A (Service Agents and Artifacts-based Architecture), based on a general-purpose conceptual model called A&A (Agents and Artifacts). The approach makes it possible to conceive, design and program services (and applications using services) as workspaces where ensemble of proactive activity-oriented entities (agents) work together exploiting different kinds of passive function-oriented entities (artifacts) used as resources and tools to support their business activities.