Abstract
Over the years, organizations acquired disparate software systems, each answering one specific need. Currently, the desirable outcomes of integrating these systems (higher degrees of automation and better system consistency) are often outbalanced by the complexity of mitigating their discrepancies. These problems are magnified in the decentralized setting (e.g., cross-organizational cases) where the integration is usually dealt with ad-hoc “glue” connectors, each integrating two or more systems. Since the overall logic of the integration is spread among many glue connectors, these solutions are difficult to program correctly (making them prone to misbehaviors and system blocks), maintain, and evolve. In response to these problems, we propose ChIP, an integration process advocating choreographic programs as intermediate artifacts to refine high-level global specifications (e.g., UML Sequence Diagrams), defined by the domain experts of each partner, into concrete, distributed implementations. In ChIP, once the stakeholders agree upon a choreographic integration design, they can automatically generate the respective local connectors, which are guaranteed to faithfully implement the described distributed logic. In the paper, we illustrate ChIP with a pilot from the EU EIT Digital project SMAll, aimed at integrating pre-existing systems from government, university, and transport industry.
The original version of this chapter was revised: An acknowledgment has been added. The correction to this chapter is available at https://doi.org/10.1007/978-3-030-02671-4_39
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Change history
05 December 2018
The chapter was inadvertently published with error and the same has been corrected later.
Notes
- 1.
Project description: https://forumvirium.fi/en/small-develops-mobility-as-a-service/.
- 2.
Deployable platform: https://hub.docker.com/u/smallproject/ Documentation: https://github.com/small-dev/SMAll.Wiki/wiki.
- 3.
The compiled connectors are available at http://www.cs.unibo.it/projects/jolie/aiocj_examples/ChIP_example/ChIP_example.zip.
- 4.
References
van der Aalst, W.M.P., Weske, M.: The P2P approach to interorganizational workflows. In: Dittrich, K.R., Geppert, A., Norrie, M.C. (eds.) CAiSE 2001. LNCS, vol. 2068, pp. 140–156. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-45341-5_10
AIOCJ website. http://www.cs.unibo.it/projects/jolie/aiocj.html
Allweyer, T.: BPMN 2.0: introduction to the standard for business process modeling. BoD-Books on Demand (2016)
Arbab, F.: Reo: a channel-based coordination model for component composition. MSCS 14(3), 329–366 (2004)
Autili, M., Inverardi, P., Tivoli, M.: CHOREOS: large scale choreographies for the future Internet. In: CSMR-WCRE, pp. 391–394. IEEE (2014)
Autili, M., Di Ruscio, D., Di Salle, A., Inverardi, P., Tivoli, M.: A model-based synthesis process for choreography realizability enforcement. In: Cortellessa, V., Varró, D. (eds.) FASE 2013. LNCS, vol. 7793, pp. 37–52. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-37057-1_4
Basu, A., et al.: Rigorous component-based system design using the BIP framework. IEEE Softw. 28(3), 41–48 (2011)
Basu, S., Bultan, T.: Automated choreography repair. In: Stevens, P., Wąsowski, A. (eds.) FASE 2016. LNCS, vol. 9633, pp. 13–30. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-49665-7_2
Basu, S., Bultan, T., Ouederni, M.: Deciding choreography realizability. In: POPL, pp. 191–202. ACM (2012)
Bhargavan, K., et al.: Cryptographic protocol synthesis and verification for multiparty sessions. In: CSF, pp. 124–140. IEEE Computer Society (2009)
Bocchi, L., et al.: Monitoring networks through multiparty session types. Theor. Comput. Sci. 669, 33–58 (2017)
Booch, G.: The Unified Modeling Language User Guide. Pearson Education, New Delhi (2005)
Callegati, F., et al.: Smart mobility for all: a global federated market for mobility-as-a-service operators. In: ITSC, pp. 1–8. IEEE (2017)
Carbone, M., Montesi, F.: Deadlock-freedom-by-design: multiparty asynchronous global programming. In: POPL, pp. 263–274. ACM (2013)
Dalla Preda, M., Giallorenzo, S., Lanese, I., Mauro, J., Gabbrielli, M.: AIOCJ: a choreographic framework for safe adaptive distributed applications. In: Combemale, B., Pearce, D.J., Barais, O., Vinju, J.J. (eds.) SLE 2014. LNCS, vol. 8706, pp. 161–170. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-11245-9_9
Dalla Preda, M., et al.: Dynamic choreographies: theory and implementation. Log. Methods Comput. Sci. 13(2) (2017)
Decker, G., Zaha, J.M., Dumas, M.: Execution semantics for service choreographies. In: Bravetti, M., Núñez, M., Zavattaro, G. (eds.) WS-FM 2006. LNCS, vol. 4184, pp. 163–177. Springer, Heidelberg (2006). https://doi.org/10.1007/11841197_11
Endres, A., Rombach, H.D.: A Handbook of Software and Systems Engineering: Empirical Observations, Laws, and Theories. Pearson Education, London (2003)
Evans, P.C., Basole, R.C.: Revealing the API ecosystem and enterprise strategy via visual analytics. Commun. ACM 59(2), 26–28 (2016)
Garlan, D., Allen, R., Ockerbloom, J.: Architectural mismatch or why it’s hard to build systems out of existing parts. In: ICSE, pp. 179–185. ACM/IEEE (1995)
Hasselbring, W.: Information system integration: introduction. Commun. ACM 43(6), 32–38 (2000)
He, W., Da Xu, L.: Integration of distributed enterprise applications: a survey. IEEE Trans. Ind. Informat. 10(1), 35–42 (2014)
Hildebrandt, T., Mukkamala, R.R., Slaats, T.: Nested dynamic condition response graphs. In: Arbab, F., Sirjani, M. (eds.) FSEN 2011. LNCS, vol. 7141, pp. 343–350. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-29320-7_23
Hitt, L.M., Wu, D., Zhou, X.: Investment in enterprise resource planning: business impact and productivity measures. JMIS 19(1), 71–98 (2002)
Honda, K., Yoshida, N., Carbone, M.: Multiparty asynchronous session types. J. ACM 63(1), 9:1–9:67 (2016)
Humble, J., Farley, D.: Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation. Pearson Education, London (2010)
Hüttel, H., et al.: Foundations of session types and behavioural contracts. ACM Comput. Surv. 49(1), 3 (2016)
International Telecommunication Union: Message Sequence Chart (MSC). Series Z: Languages and General Software Aspects for Telecommunication Systems (2011)
Jolie website. http://www.jolie-lang.org/
Jongmans, S., Arbab, F.: Global consensus through local synchronization: a formal basis for partially-distributed coordination. SCP 115, 199–224 (2016)
Lanese, I., Montesi, F., Zavattaro, G.: Amending choreographies. In: WWV. EPTCS, vol. 123, pp. 34–48 (2013)
Leesatapornwongsa, T., et al.: TaxDC: a taxonomy of non-deterministic concurrency bugs in datacenter distributed systems. ACM SIGPLAN Not. 51(4), 517–530 (2016)
McIlvenna, S., Dumas, M., Wynn, M.T.: Synthesis of orchestrators from service choreographies. In: APCCM. CRPIT, vol. 96, pp. 129–138. Australian Computer Society (2009)
Montesi, F.: Kickstarting choreographic programming. In: Hildebrandt, T., Ravara, A., van der Werf, J.M., Weidlich, M. (eds.) WS-FM 2014-2015. LNCS, vol. 9421, pp. 3–10. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-33612-1_1
Montesi, F., Guidi, C., Zavattaro, G.: Service-oriented programming with Jolie. In: Bouguettaya, A., Sheng, Q., Daniel, F. (eds.) Web Services Foundations, pp. 81–107. Springer, New York (2014). https://doi.org/10.1007/978-1-4614-7518-7_4
Montesi, F., Yoshida, N.: Compositional choreographies. In: D’Argenio, P.R., Melgratti, H. (eds.) CONCUR 2013. LNCS, vol. 8052, pp. 425–439. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-40184-8_30
Peterson, D., et al.: W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes. W3C (2012)
Qiu, Z., Zhao, X., Cai, C., Yang, H.: Towards the theoretical foundation of choreography. In: WWW, pp. 973–982. ACM (2007)
Rodríguez, P., et al.: Continuous deployment of software intensive products and services: a systematic mapping study. JSS 123, 263–291 (2017)
Russo, D., et al.: Software quality concerns in the Italian bank sector: the emergence of a meta-quality dimension. In: ICSE, pp. 63–72. ACM/IEEE (2017)
Scribble website. http://www.jboss.org/scribble
Seiifzadeh, H., et al.: A survey of dynamic software updating. J. Softw.: Evol. Process 25(5), 535–568 (2013)
Zaha, J.M., Barros, A., Dumas, M., ter Hofstede, A.: Let’s dance: a language for service behavior modeling. In: Meersman, R., Tari, Z. (eds.) OTM 2006. LNCS, vol. 4275, pp. 145–162. Springer, Heidelberg (2006). https://doi.org/10.1007/11914853_10
Acknowledgements
This work was partially supported by the Independent Research Fund Denmark, grant no. DFF-7014-00041.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer Nature Switzerland AG
About this paper
Cite this paper
Giallorenzo, S., Lanese, I., Russo, D. (2018). ChIP: A Choreographic Integration Process. In: Panetto, H., Debruyne, C., Proper, H., Ardagna, C., Roman, D., Meersman, R. (eds) On the Move to Meaningful Internet Systems. OTM 2018 Conferences. OTM 2018. Lecture Notes in Computer Science(), vol 11230. Springer, Cham. https://doi.org/10.1007/978-3-030-02671-4_2
Download citation
DOI: https://doi.org/10.1007/978-3-030-02671-4_2
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-02670-7
Online ISBN: 978-3-030-02671-4
eBook Packages: Computer ScienceComputer Science (R0)