Skip to main content

Pattern-Based Resolution of Integration Mismatches in Enterprise Applications

  • Conference paper
  • First Online:
Service-Oriented and Cloud Computing (ESOCC 2022)

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 79.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 99.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 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. 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. 3.

    https://github.com/di-unipi-socc/MR.

  4. 4.

    https://github.com/di-unipi-socc/MR/UseCase.

References

  1. 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

  2. Apache: Camel. https://camel.apache.org. Accessed 25 Mar 2022

  3. 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

    Article  Google Scholar 

  4. 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

    Chapter  Google Scholar 

  5. Chandrasekaran, D., Mago, V.: Evolution of semantic similarity-a survey. ACM Comput. Surv. 54(2) (2021). https://doi.org/10.1145/3440755

  6. 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

    Chapter  Google Scholar 

  7. 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

  8. 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

    Article  Google Scholar 

  9. 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

    Chapter  Google Scholar 

  10. 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

    Article  MATH  Google Scholar 

  11. Hohpe, G., Woolf, B.: Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions. Addison-Wesley, USA (2003)

    Google Scholar 

  12. 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

    Article  Google Scholar 

  13. 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

    Chapter  Google Scholar 

  14. 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

  15. 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

    Chapter  Google Scholar 

  16. 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

    Chapter  Google Scholar 

  17. OMG: Business process model and notation (BPMN) (2011). http://www.omg.org/spec/BPMN/2.0

  18. Ray, E.T.: Learning XML, 2nd edn. O’Reilly, USA (2003)

    Google Scholar 

  19. 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

    Chapter  Google Scholar 

  20. 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

  21. 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

  22. SmartBear: Swagger. https://swagger.io. Accessed 25 Mar 2022

  23. 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

    Article  Google Scholar 

  24. 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

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jacopo Soldani .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 IFIP International Federation for Information Processing

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics