Abstract
We describe a middleware solution for automatic run-time process versioning in Business Process Execution Language (BPEL) and then analyse its impact in terms of scalability and performance. Business processes change in response to business needs, but the deployment of new versions to a BPEL engine must ensure that running instances are not disrupted and can conclude following their original workflows. Our solution is implemented as a standalone component that manages versioning transparently to the process editor, the orchestration engine, the web services used by the process, and the end-user. We have tested it for almost 1 year in the production environment of a telecommunications company, without significant overhead in terms of process invocation time.
Similar content being viewed by others
Notes
As the number of concurrent versions of a process present on the versioning manager for each invocation was unavailable, it is assumed to be the number of different versions of the process launched on the same day. While this metric may be incorrect in the case of very long or very short running processes, in this case it was considered a plausible approximation.
All correlation tables are shown presenting only the results where a significance level of at least 0.05 (after applying the Dunn-Šidák correction) is found. A dot is shown where not enough valid data were available to ascertain a significant correlation.
References
Andrikopoulos V, Benbernou S, Papazoglou MP (2012) On the evolution of services. IEEE Trans Softw Eng 38(3):609–628
Aria (2017) About ARIA TOSCA. http://ariatosca.org/about
Baresi L, Guinea S, Manna VPL (2014) Consistent runtime evolution of service-based business processes. In: 2014 IEEE/IFIP conference on software architecture. Institute of Electrical and Electronics Engineers (IEEE), pp 77–86
Baresi L, Guinea S, Pasquale L (2012) Service-oriented dynamic software product lines. Computer 45(10):42–48
Becker K, Pruyne J, Singhal S, Lopes A, Milojičić D (2011) Automatic determination of compatibility in evolving services. Int J Web Serv Res 8(1):21–40
Brahm M, Fletcher AN, Pargmann H (2003) Workflow management with SAP\(\textregistered \) WebFlow\(\textregistered \). Springer, Heidelberg
Brown K, Ellis M (2004) Best practices for web services versioning. http://www.ibm.com/developerworks/webservices/library/ws-version/
Fang R, Chen Y, Fong L, Lam L, Frank D, Vignola C, Du N (2007) A version-aware approach for web service client application. IEEE, New York
Frank D, Fong L, Lam L (2010) A continuous long running batch orchestration model for workflow instance migration. In: 2010 IEEE international conference on services computing. Institute of Electrical and Electronics Engineers (IEEE), pp 226–233
Frank D, Lam L, Fong L, Fang R, Vignola C (2007) An approach to hosting versioned web services. IEEE, New York
Harrer S, Lenhard J, Wirtz G, Lessen TV (2014) Towards uniform BPEL engine management in the cloud. In: Proceedings of the CloudCycle14 workshop, Stuttgart, Germany, September 22nd 2014. Gesellschaft für Informatik, pp 259–270
Ibrahim DHA (2009) The concept of web service versioning in provenance. IEEE, New York
Juric MB, Šaša A (2010) Version management of BPEL processes in SOA. In: SERVICES, 2010, IEEE 2010 6th world congress on services, Los Alamitos, CA, USA. Institute of Electrical and Electronics Engineers (IEEE), pp 146–147
Juric MB, Šaša A, Rozman I (2009) WS-BPEL extensions for versioning. Inf Softw Technol 51(8):1261–1274
Kramer J, Magee J (1990) The evolving philosophers problem: dynamic change management. IEEE Trans Softw Eng 16(11):1293–1306
Louridas P (2008) Orchestrating web services with BPEL. IEEE Softw 25(2):85–87
Michlmayr A, Rosenberg F, Leitner P, Dustdar S (2010) Selective service provenance in the VRESCo runtime. Int J Web Serv Res 7(2):65–86
MuleSoft (2016) Mule user guide: proxying web services. https://docs.mulesoft.com/mule-user-guide/v/3.8/proxying-web-services
Neth J, Smolny M, Zentner C (2008) Versioning business processes and human tasks in WebSphere Process Server. http://www.ibm.com/developerworks/websphere/library/techarticles/0808_smolny/0808_smolny.html
OASIS Topology and Orchestration Specification for Cloud Applications (TOSCA) TC (2013) Topology and orchestration specification for cloud applications version 1.0. OASIS Standard, OASIS. http://docs.oasis-open.org/tosca/TOSCA/v1.0/os/TOSCA-v1.0-os.pdf
O’Hanlon B (2005) Create a simple HTTP web services gateway service with WebSphere application server V6. http://www.ibm.com/developerworks/websphere/library/techarticles/0502_ohanlon/0502_ohanlon.html
Oracle (2007) Oracle BPEL Process Manager Developer’s Guide 10g (10.1.3.1.0) Part Number B28981-03. Technical report, Oracle Corporation
Oracle Corporation (2016) Oracle fusion middleware developing SOA applications with Oracle SOA Suite, 12c (12.2.1.2.0). Technical report, Oracle Corporation. http://docs.oracle.com/middleware/12212/soasuite/docs.htm
Vandewoude Y, Ebraert P, Berbers Y, D’Hondt T (2007) Tranquility: a low disruptive alternative to quiescence for ensuring safe dynamic updates. IEEE Trans Softw Eng 33(12):856–868
Wessels D (2004) Squid the definitive guide. O’Reilly Media, Sebastopol
Widrow B, Kollar I, Liu M-C (1996) Statistical theory of quantization. IEEE Trans Instrum Meas 45(2):353–361
Acknowledgements
The authors acknowledge the valuable comments and suggestions by the editor and anonymous reviewers. Partly financed by national funding via the Foundation for Science and Technology and by the European Regional Development Fund (FEDER), through the COMPETE 2020 – Operational Program for Competitiveness and Internationalization (POCI).
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Melo, P., da Cunha, P.R., da Silva, C.F. et al. Automatic run-time versioning for BPEL processes. SOCA 11, 315–327 (2017). https://doi.org/10.1007/s11761-017-0211-3
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11761-017-0211-3