Abstract
Modern applications integrate various heterogeneous software services, typically based on Enterprise Integration Patterns (EIPs). At the same time, such applications can include hundreds of interacting components, being these services or EIPs. This makes it complex to manually check whether the typed messages sent by a component to another are such that the latter can understand and suitably process them. We propose a design-time methodology for automatically identifying type mismatches in the messages exchanged among services and EIPs in a multi-service application. Our methodology also recommends how to refactor the architecture of a multi-service application to resolve the type mismatches therein. We assess the practical applicability of our methodology by presenting a proof-of-concept implementation, which we used to run a case study based on an existing, third-party application.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
A type name is semantically compatible with another if it represents the same concept or a sub-concept. We here rely on existing approaches to determine semantic compatibility between, like those surveyed in [5], for instance.
- 2.
\(\pi \) may be implemented by asking the developer to explicitly make the choices, or by picking the “most suited” simple type in \(t_o\) for each simple type in \(t_i\) based on some heuristics, e.g., based on the semantic similarity approaches surveyed in [5].
- 3.
- 4.
References
Al-Mosawi, A., Zhao, L., Macaulay, L.A.: A model driven architecture for enterprise application integration. In: Proceedings of the 39th Annual Hawaii International Conference on System Sciences (HICSS), vol. 8, pp. 181c–181c (2006). https://doi.org/10.1109/HICSS.2006.18
Apache: Camel. https://camel.apache.org. Accessed 25 Mar 2022
Bogo, M., Soldani, J., Neri, D., Brogi, A.: Component-aware orchestration of cloud-based enterprise applications, from TOSCA to docker and kubernetes. Softw. Pract. Experience 50(9), 1793–1821 (2020). https://doi.org/10.1002/spe.2848
Calvanese, D., Montali, M., Patrizi, F., Rivkin, A.: Modeling and in-database management of relational, data-aware processes. In: Giorgini, P., Weber, B. (eds.) CAiSE 2019. LNCS, vol. 11483, pp. 328–345. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-21290-2_21
Chandrasekaran, D., Mago, V.: Evolution of semantic similarity-a survey. ACM Comput. Surv. 54(2) (2021). https://doi.org/10.1145/3440755
Fahland, D., Gierds, C.: Analyzing and completing middleware designs for enterprise integration using coloured petri nets. In: Salinesi, C., Norrie, M.C., Pastor, Ó. (eds.) CAiSE 2013. LNCS, vol. 7908, pp. 400–416. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-38709-8_26
Foster, J.N., Greenwald, M.B., Moore, J.T., Pierce, B.C., Schmitt, A.: Combinators for bidirectional tree transformations: a linguistic approach to the view-update problem. ACM Trans. Program. Lang. Syst. 29(3), 17-es (2007). https://doi.org/10.1145/1232420.1232424
Frantz, R.Z., Reina Quintero, A.M., Corchuelo, R.: A domain-specific language to design enterprise application integration solutions. Int. J. Coop. Inf. Syst. 20(02), 143–176 (2011). https://doi.org/10.1142/S0218843011002225
Gécseg, F., Steinby, M.: Tree languages. In: Rozenberg, G., Salomaa, A. (eds.) Handbook of Formal Languages, pp. 1–68. Springer, Heidelberg (1997). https://doi.org/10.1007/978-3-642-59126-6_1
Gil, J., Lenz, K.: Simple and safe SQL queries with c++ templates. Sci. Comput. Program. 75(7), 573–595 (2010). https://doi.org/10.1016/j.scico.2010.01.004
Hohpe, G., Woolf, B.: Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions. Addison-Wesley, USA (2003)
Hosoya, H., Pierce, B.C.: Xduce: a statically typed xml processing language. ACM Trans. Internet Technol. 3(2), 117–148 (2003). https://doi.org/10.1145/767193.767195
Mederly, P., Lekavý, M., Závodský, M., Návrat, P.: Construction of messaging-based enterprise integration solutions using AI planning. In: Szmuc, T., Szpyrka, M., Zendulka, J. (eds.) CEE-SET 2009. LNCS, vol. 7054, pp. 16–29. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-28038-2_2
Miller, D., Whitlock, J., Gardiner, M., Ralphson, M., Ratovsky, R., Sarid, U.: Openapi specification v3.1.0. https://spec.openapis.org/oas/v3.1.0. Accessed 25 Mar 2022
Montali, M., Rivkin, A.: DB-nets: on the marriage of colored petri nets and relational databases. In: Koutny, M., Kleijn, J., Penczek, W. (eds.) Transactions on Petri Nets and Other Models of Concurrency XII. LNCS, vol. 10470, pp. 91–118. Springer, Heidelberg (2017). https://doi.org/10.1007/978-3-662-55862-1_5
Quoc Viet Nguyen, H., Luong, X.H., Miklós, Z., Quan, T.T., Aberer, K.: Collaborative schema matching reconciliation. In: Meersman, R., et al. (eds.) OTM 2013. LNCS, vol. 8185, pp. 222–240. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-41030-7_14
OMG: Business process model and notation (BPMN) (2011). http://www.omg.org/spec/BPMN/2.0
Ray, E.T.: Learning XML, 2nd edn. O’Reilly, USA (2003)
Ritter, D.: Experiences with business process model and notation for modeling integration patterns. In: Cabot, J., Rubin, J. (eds.) ECMFA 2014. LNCS, vol. 8569, pp. 254–266. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-09195-2_17
Ritter, D., May, N., Forsberg, F.N., Rinderle-Ma, S.: Optimization strategies for integration pattern compositions. In: Proceedings of the 12th ACM International Conference on Distributed and Event-Based Systems, pp. 88–99. ACM (2018). https://doi.org/10.1145/3210284.3210295
Ritter, D., Rinderle-Ma, S., Montali, M., Rivkin, A., Sinha, A.: Formalizing application integration patterns. In: 2018 IEEE 22nd International Enterprise Distributed Object Computing Conference (EDOC), pp. 11–20. IEEE (2018). https://doi.org/10.1109/EDOC.2018.00012
SmartBear: Swagger. https://swagger.io. Accessed 25 Mar 2022
Soldani, J., Tamburri, D.A., Van Den Heuvel, W.J.: The pains and gains of microservices: a systematic grey literature review. J. Syst. Softw. 146, 215–232 (2018). https://doi.org/10.1016/j.jss.2018.09.082
Yussupov, V., Breitenbücher, U., Krieger, C., Leymann, F., Soldani, J., Wurster, M.: Pattern-based modelling, integration, and deployment of microservice architectures. In: 2020 IEEE 24th International Enterprise Distributed Object Computing Conference (EDOC), pp. 40–50 (2020). https://doi.org/10.1109/EDOC49727.2020.00015
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 IFIP International Federation for Information Processing
About this paper
Cite this paper
Soldani, J., Paoletti, R., Brogi, A. (2022). Pattern-Based Resolution of Integration Mismatches in Enterprise Applications. In: Montesi, F., Papadopoulos, G.A., Zimmermann, W. (eds) Service-Oriented and Cloud Computing. ESOCC 2022. Lecture Notes in Computer Science, vol 13226. Springer, Cham. https://doi.org/10.1007/978-3-031-04718-3_6
Download citation
DOI: https://doi.org/10.1007/978-3-031-04718-3_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-04717-6
Online ISBN: 978-3-031-04718-3
eBook Packages: Computer ScienceComputer Science (R0)