Developing a concurrent service orchestration engine in ccr

  • Authors:
  • Wei Lu;Thilina Gunarathne;Dennis Gannon

  • Affiliations:
  • Indiana University, Bloomington, IN, USA;Indiana University, Bloomington, IN, USA;Indiana University, Bloomington, IN, USA

  • Venue:
  • Proceedings of the 1st international workshop on Multicore software engineering
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

As the Grid application models move towardsWeb services and the service oriented architecture (SOA), the service orchestration is becoming the key to build the large-scale system. With the significant attention, WS-BPEL is widely adopted as the standard web service orchestration language. As a concurrent workflow language WSBPEL introduces a set of complex and sophisticated concurrent and coordination semantics. Meanwhile the centralized architecture makes the orchestration engine be the inherent candidate for the performance bottleneck. Therefore implementing a correct and highly concurrent WS-BPEL engine presents significant challenge. The conventional thread based concurrent programming model is inadequate here. Instead, we believe an alternative model, namely the event-driven programming model aided with the high level coordination constructs such as join patterns, is more suitable for this case, from the perspective of system performance as well as the programmability. In this paper we present the implementation of a high performance WS-BPEL engine prototype, which is built upon the event-driven architecture and join patterns provided by the Microsoft Concurrent Coordination Runtime(CCR). We focus on how to interpret the concurrency semantics in WS-BPEL by using the event and join patterns, and how to drive the execution of a workflow in a reactive manner. Also our experience shows that the event driven architecture enables the orchestration engine to efficiently handle the massive concurrency on the multicore machine.