The reflexive CHAM and the join-calculus
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
SEDA: an architecture for well-conditioned, scalable internet services
SOSP '01 Proceedings of the eighteenth ACM symposium on Operating systems principles
Cooperative Task Management Without Manual Stack Management
ATEC '02 Proceedings of the General Track of the annual conference on USENIX Annual Technical Conference
The Join Calculus: A Language for Distributed Mobile Programming
Applied Semantics, International Summer School, APPSEM 2000, Caminha, Portugal, September 9-15, 2000, Advanced Lectures
On the duality of operating system structures
ACM SIGOPS Operating Systems Review
Distributed computing in practice: the Condor experience: Research Articles
Concurrency and Computation: Practice & Experience - Grid Performance
Implementing BPEL4WS: the architecture of a BPEL4WS implementation: Research Articles
Concurrency and Computation: Practice & Experience - Workflow in Grid Systems
MapReduce: simplified data processing on large clusters
OSDI'04 Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation - Volume 6
Flash: an efficient and portable web server
ATEC '99 Proceedings of the annual conference on USENIX Annual Technical Conference
Dryad: distributed data-parallel programs from sequential building blocks
Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007
Formal semantics and analysis of control flow in WS-BPEL
Science of Computer Programming
Designing a BPEL Orchestration Engine Based on ReSpecT Tuple Centres
Electronic Notes in Theoretical Computer Science (ENTCS)
International workshop on multicore software engineering (IWMSE 2008)
Companion of the 30th international conference on Software engineering
Developing a Concurrent Service Orchestration Engine Based on Event-Driven Architecture
OTM '08 Proceedings of the OTM 2008 Confederated International Conferences, CoopIS, DOA, GADA, IS, and ODBASE 2008. Part I on On the Move to Meaningful Internet Systems:
Towards scalable service composition on multicores
OTM'10 Proceedings of the 2010 international conference on On the move to meaningful internet systems
A framework for parallel computational physics algorithms on multi-core: SPH in parallel
Advances in Engineering Software
Hi-index | 0.00 |
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.