Socially Orchestrated SOA

TL;DR: Explore a feasible model for social trust amongst autonomous agents in service-oriented architectures.

Abstract

The core philosophy of Service Oriented Architecture is to empower consumer clients with the ability to dynamically select the most suitable provider service from a pool of available services. In this project, we demonstrate a workable model built on social trust. Consultations with peer clients are held to build consensus about the reputation of a given provider service. Deliberations on peer opinions along with other assurances made by the provider service enable consumer client to make an informed decision in selecting the appropriate service.

The course of development takes us through various artefacts that are used during simulation which are also encountered in real world implementation. Alternatives for algorithms concerning peer trust and service selection are explored and appropriate suggestions are put forth.

Introduction

The aspects of interpersonal relationships among humans and their interaction with worldly entities has been the primal study interest in the field of computing science. Such natural processes are replicated through machinery to reduce human effort. In this dissertation, we look into one such interpersonal model which accommodates and realizes the true potential of service oriented architecture.

Within Context

Before any further discussion occurs, it is essential to grasp the concept of software delivered as service. The influx of several programming paradigms over a period of time often raised the question of interoperability and ease of use. Computational units designed and developed by a programmer was required to be operational across the barriers of commercial frameworks.

Several models emerged as solutions to this dilemma and through a conglomeration of experts in the field; the Service Oriented Architecture (SOA) emerged. At its core, the architecture professes the need for simplicity in software publishing so that operational units are loosely bound to their parent software.

Objective

Current models of service distribution across organizational boundaries show us the need to provide abstract implementation of functionalities. This encourages modular approach of software development by outsourcing certain functionalities to other hosts.

Hypothesis: To promote an environment where client consumers can socially adapt to the variations of projected QoS by provider services. Selection decisions taken by client consumers should be validated through trust-based evaluation among peers. Provider services must enter into competition while trying to improve their selection ratio.

Evolution of Middleware Technologies

Service Oriented Architecture

Figure: Service Oriented Architecture Model

The progress through middleware technologies has been substantial in achieving pervasive computing with ease. The key models include:

  1. Client-Server Architecture - Provided the background to middleware components
  2. Distributed Objects - The ability of a program to see an object from a remote machine as its own
  3. Transactional Middleware - Ensuring transactions are not lost, corrupted or damaged
  4. Component-based Middleware - Integration of non-functional properties (security, reliability, availability, scalability)
  5. Service-oriented Middleware - Event notifications over asynchronous communication channels

Social Trust in Computing

Trust is often referred to as a social phenomenon of symbiotic functioning such that the parties involved mutually benefit while the trust incurs a positive effect on the relationship.

Trust Properties

Given a group of agents, the following properties are observed:

  1. Cooperation: Combined work by agents, with equal benefit sharing
  2. Collaboration: Joint task performance, with benefits not necessarily equally distributed
  3. Coordination: Sequential and orderly execution handled by several agents

Reputation

The concept of Reputation provides the basis for suggestive trust. As defined by The Oxford Modern English Dictionary:

“What is generally said or believed about a person’s or thing’s character or standing”

Implementation

The SOSOA Simulator was developed as a Windows Forms Application implementing:

  • Data Access Layer (DAL) - Repository pattern for data management
  • Domain Models - Agent and service representations
  • Discovery Proxy Host - Service registry and discovery
  • Service Host - Dynamic instantiation and merchant/agent services

Agent Behaviour

Agent Architecture

Figure: Agent Behavioural Architecture

Each agent consists of:

  • Decision Engine - Selection algorithm implementation
  • Trust Assessment - Peer reputation evaluation
  • QoS Sampler - Quality metrics monitoring
  • Agent Repository - Local knowledge store

Evaluation

The evaluation methodology tested various scenarios:

  1. Evaluation 1: Baseline trust establishment
  2. Evaluation 2: QoS variation response
  3. Evaluation 3: Peer consultation effectiveness
  4. Evaluation 4: Competition dynamics

Conclusions

Accomplishments

  • Demonstrated a working model of social trust in SOA
  • Implemented peer consultation mechanisms
  • Validated trust-based service selection
  • Established competitive provider dynamics

Future Work

  • Extended peer network topologies
  • Real-world deployment considerations
  • Enhanced reputation algorithms
  • Mobile agent implementations

This is a summary of the full MSc Dissertation. The complete document with all figures, tables, and detailed analysis is available upon request.

References

  • Abdul-Rahman, A. (2005). A Framework for Decentralised Trust Reasoning. PhD thesis.
  • Christensen et al. (2001). Web Services Description Language (WSDL) 1.1. W3C.
  • Gudgin et al. (2007). SOAP Version 1.2. W3C Recommendation.
  • Marsh, S. (1994). Formalising Trust as a Computational Concept. PhD thesis, University of Stirling.
  • Papazoglou, M.P. (2003). Service-Oriented Computing: Concepts, Characteristics and Directions.