Chapter

Service-Oriented Computing – ICSOC 2008

Volume 5364 of the series Lecture Notes in Computer Science pp 162-179

Automatic Realization of SOA Deployment Patterns in Distributed Environments

  • William ArnoldAffiliated withIBM T.J. Watson Research Center, Hawthorne
  • , Tamar EilamAffiliated withIBM T.J. Watson Research Center, Hawthorne
  • , Michael KalantarAffiliated withIBM T.J. Watson Research Center, Hawthorne
  • , Alexander V. KonstantinouAffiliated withIBM T.J. Watson Research Center, Hawthorne
  • , Alexander A. TotokAffiliated withIBM T.J. Watson Research Center, Hawthorne

* Final gross prices may vary according to local VAT.

Get Access

Abstract

Deployment patterns have been proposed as a mechanism to support the provisioning of SOA-based services. Deployment patterns represent the structure and constraints of composite solutions, including non-functional properties, such as performance, availability, and security, without binding to specific resource instances. In previous work [1], we have presented a formal mechanism for capturing such service deployment patterns using models. Our pattern models define abstract connectivity and configuration requirements which are then realized by an existing or planned infrastructure. Realization mapping is used to enforce policies, and is materialized at deployment time. In this paper we extend that work to address the problem of automatic pattern realization over a given infrastructure. We first formalize the problem and present three variations of increasing power and complexity. We then present a variation of a search-based graph isomorphism algorithm with extensions for our pattern model semantics. Next, we show that our worst-case exponential complexity algorithm performs well in practice, over a number of pattern and infrastructure combinations. We speculate that this is because deployment topologies represent heavily labeled and sparse graphs. We present a number of heuristics which we have compared experimentally, and have identified one which performs best across most scenarios. Our algorithm has been incorporated into a large deployment modeling platform, now part of the IBM Rational Software Architect (RSA) tool [2].