A petri net-based method for compatibility analysis and composition of web services in business process execution language

Wei Tan, Yushun Fan, Mengchu Zhou

Research output: Contribution to journalArticlepeer-review

218 Scopus citations

Abstract

Automatic Web Service composition is gaining momentum as the potential silver bullet in Service Oriented Architecture. The need for interservice compatibility analysis and indirect composition has gone beyond what the existing service composition/verification technologies can handle. Given two services whose interface invocation constraints are described by a Web Services-Business Process Execution Language (WS-BPEL or BPEL), we analyze their compatibility and adopt mediation as a lightweight approach to make them compatible without changing their internal logic. We first transform a BPEL description into a service workflow net, which is a kind of colored Petri net (CPN). Based on this formalism, we analyze the compatibility of two services, and then devise an approach to check whether there exists any message mediator so that their composition does not violate the constraints imposed by either side. The method for mediator generation is finally proposed to assist the automatic composition of partially compatible services. Our approach is validated through a real-life case and further research directions are pointed out.

Original languageEnglish (US)
Article number4459247
Pages (from-to)94-106
Number of pages13
JournalIEEE Transactions on Automation Science and Engineering
Volume6
Issue number1
DOIs
StatePublished - Jan 2009

All Science Journal Classification (ASJC) codes

  • Control and Systems Engineering
  • Electrical and Electronic Engineering

Keywords

  • Business process execution language (BPEL)
  • Mediation
  • Petri nets
  • Web service composition

Fingerprint

Dive into the research topics of 'A petri net-based method for compatibility analysis and composition of web services in business process execution language'. Together they form a unique fingerprint.

Cite this