Abstract
Correlation sets define a powerful mechanism for routing incoming communications to the correct running session within a server, by inspecting the content of the received messages. We present a language for programming services based on correlation sets taking into account key aspects of service-oriented systems, such as distribution, loose coupling, open-endedness and integration. Distinguishing features of our approach are the notion of correlation aliases and an asynchronous communication model. Our language is equipped with formal syntax, semantics, and a typing system for ensuring desirable properties of programs with respect to correlation sets. We provide an implementation as an extension of the JOLIE language and apply it to a nontrivial real-world example of a fully-functional distributed user authentication system.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Internet Relay Chat Protocol, http://tools.ietf.org/html/rfc1459
On-line appendix, http://www.itu.dk/people/fabr/icsoc2011
OpenID implementation, http://www.jolie-lang.org/files/icsoc2011/openid.zip
Cesari, L., Lapadula, A., Pugliese, R., Tiezzi, F.: A Tool for Rapid Development of WS-BPEL applications. In: SAC, pp. 2438–2442 (2010)
Free Software Foundation (FSF). GNU Lesser General Public License, http://www.gnu.org/licenses/lgpl.html
Guidi, C., Lanese, I., Montesi, F., Zavattaro, G.: Dynamic Error Handling in Service Oriented Applications. Fundamenta Informaticae 95(1), 73–102 (2009)
Guidi, C., Lucchi, R., Gorrieri, R., Busi, N., Zavattaro, G.: SOCK: A Calculus for Service Oriented Computing. In: Dan, A., Lamersdorf, W. (eds.) ICSOC 2006. LNCS, vol. 4294, pp. 327–338. Springer, Heidelberg (2006)
Honda, K., Yoshida, N., Carbone, M.: Multiparty asynchronous session types. In: Proc. of POPL 2008, vol. 43(1), pp. 273–284. ACM Press (2008)
Honda, K., Vasconcelos, V.T., Kubo, M.: Language Primitives and Type Discipline for Structured Communication-Based Programming. In: Hankin, C. (ed.) ESOP 1998. LNCS, vol. 1381, pp. 122–138. Springer, Heidelberg (1998)
Hu, R., Yoshida, N., Honda, K.: Session-based Distributed Programming in Java. In: Ryan, M. (ed.) ECOOP 2008. LNCS, vol. 5142, pp. 516–541. Springer, Heidelberg (2008)
JOLIE. JOLIE: Java Orchestration Language Interpreter Engine, http://www.jolie-lang.org/
Lapadula, A., Pugliese, R., Tiezzi, F.: A calculus for orchestration of web services. In: De Nicola, R. (ed.) ESOP 2007. LNCS, vol. 4421, pp. 33–47. Springer, Heidelberg (2007)
Lapadula, A., Pugliese, R., Tiezzi, F.: A Formal Account of WS-BPEL. In: Wang, A.H., Tennenholtz, M. (eds.) COORDINATION 2008. LNCS, vol. 5052, pp. 199–215. Springer, Heidelberg (2008)
Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes, I and II. Information and Computation 100(1), 1–40, 41–77 (1992)
Montesi, F., Guidi, C., Lanese, I., Zavattaro, G.: Dynamic Fault Handling Mechanisms for Service-Oriented Applications. In: Proceedings of ECOWS 2008, pp. 225–234 (2008)
Montesi, F., Guidi, C., Zavattaro, G.: Composing Services with JOLIE. In: Proceedings of ECOWS 2007, pp. 13–22 (2007)
OASIS. Web Services Business Process Execution Language Version 2.0, http://docs.oasis-open.org/wsbpel/
OpenID. OpenID Specifications, http://openid.net/developers/specs/
World Wide Web Consortium (W3C). SOAP Specifications, http://www.w3.org/TR/soap/
World Wide Web Consortium (W3C). Web Services Description Language. http://www.w3.org/TR/wsdl
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Montesi, F., Carbone, M. (2011). Programming Services with Correlation Sets. In: Kappel, G., Maamar, Z., Motahari-Nezhad, H.R. (eds) Service-Oriented Computing. ICSOC 2011. Lecture Notes in Computer Science, vol 7084. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-25535-9_9
Download citation
DOI: https://doi.org/10.1007/978-3-642-25535-9_9
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-25534-2
Online ISBN: 978-3-642-25535-9
eBook Packages: Computer ScienceComputer Science (R0)