Skip to main content

Combining the Best of Two Worlds: Microservices and Micro Frontends as Basis for a New Plugin Architecture

  • Conference paper
  • First Online:
Service-Oriented Computing (SummerSOC 2022)

Abstract

Plugins can be used to extend applications with new functionality without requiring expensive code changes for the application. To enable users to interact with the new functionality, plugins must be able to contribute new elements to the user interface of the application. However, as plugins are built for specific applications, they are not reusable in other applications. Microservices on the other hand are built with reusability in mind: Applications can invoke microservices to utilize their functionality. However, a developer has to write code and create the corresponding UI for the application to interact with the microservice. To address the shortcomings of both plugins and microservices, we propose a reference architecture that blends concepts of plugins and microservices to allow microservices to provide code and user interfaces to existing applications. Our reference architecture allows the creation of microservices that can be used as plugins and as usual microservices at the same time. To demonstrate the practical feasibility, we also present a prototypical implementation of the architecture and evaluate the approach for a specific use-case.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    https://docs.microsoft.com/azure/quantum/overview-what-is-qsharp-and-qdk.

  2. 2.

    https://qiskit.github.io/openqasm.

  3. 3.

    https://github.com/quil-lang/quil.

  4. 4.

    https://silq.ethz.ch.

  5. 5.

    https://ballerina.io.

  6. 6.

    https://github.com/UST-QuAntiL.

References

  1. Web services for remote portlets specification v2.0 (2008). https://docs.oasis-open.org/wsrp/v2/wsrp-2.0-spec.html

  2. Akram, A., Chohan, D., Wang, X.D., Yang, X., Allan, R.: A service oriented architecture for portals using portlets. In: Uk e-Science All Hands Conference 2005. CCLRC (2005)

    Google Scholar 

  3. Allan, R., Awre, C., Baker, M., Fish, A.: Portals and portlets 2003. In: Proceedings of the NeSC Workshop, pp. 14–17. CCLRC (2004)

    Google Scholar 

  4. Attardi, J.: Basic CSS concepts. In: Modern CSS: Master the Key Concepts of CSS for Modern Web Development, pp. 33–59. Apress (2020). https://doi.org/10.1007/978-1-4842-6294-8_3

  5. Barzen, J.: From digital humanities to quantum humanities: potentials and applications. In: An Introduction to Core Concepts, Theory and Applications, Springer, Cham (2021). https://doi.org/10.1007/978-3-030-95538-0_1

  6. Barzen, J., Leymann, F.: Quantencomputing in den digital humanities: innovativ oder übertrieben? ZfdG - Zeitschrift für digitale Geisteswissenschaften. Fabrikation von Erkenntnis: Experimente in den Digital Humanities, pp. 1–22 (2021). https://doi.org/10.26298/melusina.8f8w-y749-qidd

  7. Birsan, D.: On plug-ins and extensible architectures. Queue 3(2), 40–46 (2005). https://doi.org/10.1145/1053331.1053345

    Article  Google Scholar 

  8. Cerny, T., Donahoo, M.J., Trnka, M.: Contextual understanding of microservice architecture: Current and future directions. SIGAPP Appl. Comput. Rev. 17(4), 29–45 (2018). https://doi.org/10.1145/3183628.3183631

    Article  Google Scholar 

  9. Curbera, F., Duftler, M., Khalaf, R., Nagy, W., Mukhi, N., Weerawarana, S.: Unraveling the web services web: an introduction to SOAP, WSDL, and UDDI. IEEE Internet Comput. 6(2), 86–93 (2002). https://doi.org/10.1109/4236.991449

    Article  Google Scholar 

  10. Dıaz, O., Rodrıguez, J.: Portlets as web components: an introduction. J. Univ. Comput. Sci. 10(4), 454–472 (2004). https://doi.org/10.3217/jucs-010-04-0454

    Article  Google Scholar 

  11. Dragoni, N., et al.: Microservices: yesterday, today, and tomorrow. In: Present and Ulterior Software Engineering, pp. 195–216. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-67425-4_12

    Chapter  Google Scholar 

  12. Dustdar, S., Papazoglou, M.P.: Services and service composition-an introduction. IT-Inf. Technol. 50(2), 86–92 (2008)

    Google Scholar 

  13. Garriga, M.: Towards a taxonomy of microservices architectures. In: Cerone, A., Roveri, M. (eds.) SEFM 2017. LNCS, vol. 10729, pp. 203–218. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-74781-1_15

    Chapter  Google Scholar 

  14. Geer, D.: Eclipse becomes the dominant java IDE. Computer 38(7), 16–18 (2005). https://doi.org/10.1109/MC.2005.228

    Article  Google Scholar 

  15. Havenstein, C., Thomas, D., Chandrasekaran, S.: Comparisons of performance between quantum and classical machine learning. SMU Data Sci. Rev. 1(4), 30 (2018)

    Google Scholar 

  16. Abhijith, J., et al.: Quantum algorithm implementations for beginners (2020). version: 2

    Google Scholar 

  17. Jackson, C.: Micro frontends (2019). https://martinfowler.com/articles/micro-frontends.html#IntegrationApproaches

  18. Jula, A., Sundararajan, E., Othman, Z.: Cloud computing service composition: a systematic literature review. Expert Syst. Appl. 41(8), 3809–3824 (2014). https://doi.org/10.1016/j.eswa.2013.12.017

  19. Krueger, C.W.: Software reuse. ACM Comput. Surv. 24(2), 131–183 (1992). https://doi.org/10.1145/130844.130856

    Article  Google Scholar 

  20. Laskey, K.B., Laskey, K.: Service oriented architecture. Wiley Interdiscipl. Rev. Computat. Stat. 1(1), 101–105 (2009)

    Article  Google Scholar 

  21. Lemos, A.L., Daniel, F., Benatallah, B.: Web service composition: a survey of techniques and tools. ACM Comput. Surv. 48(3), 33:1–33:41. https://doi.org/10.1145/2831270

  22. Lewis, J., Fowler, M.: Microservices: a definition of this new architectural term (2014). https://martinfowler.com/articles/microservices.html

  23. Lin, X., Ilia, P., Polakis, J.: Fill in the Blanks: Empirical Analysis of the Privacy Threats of Browser Form Autofill, pp. 507–519. ACM, New York, NY, USA (2020). https://doi.org/10.1145/3372297.3417271

  24. Majithia, S., Shields, M., Taylor, I., Wang, I.: Triana: a graphical web service composition and execution toolkit. In: Proceedings. IEEE International Conference on Web Services, 2004, pp. 514–521. IEEE (2004). https://doi.org/10.1109/ICWS.2004.1314777

  25. Marquardt, K.: Patterns for plug-ins. In: Proceedings of the Fourth European Conference on Pattern Languages of Programming and Computing (1999)

    Google Scholar 

  26. Mayer, J., Melzer, I., Schweiggert, F.: Lightweight plug-in-based application development. In: Aksit, M., Mezini, M., Unland, R. (eds.) NODe 2002. LNCS, vol. 2591, pp. 87–102. Springer, Heidelberg (2003). https://doi.org/10.1007/3-540-36557-5_9

    Chapter  Google Scholar 

  27. Merkel, D., et al.: Docker: lightweight linux containers for consistent development and deployment. Linux J. 239, 2 (2014)

    Google Scholar 

  28. Méndez, F., et al.: AsyncAPI specification. AsyncAPI, https://www.asyncapi.com/docs/specifications/v2.3.0

  29. Newman, S.: Building Microservices. O’Reilly Media, Inc., Sebastopol (2021)

    Google Scholar 

  30. Nicklous, M.: Jsr 362: Portlet specification 3.0 (2017). https://www.jcp.org/en/jsr/detail?id=362

  31. Pahl, C., Jamshidi, P.: Microservices: A systematic mapping study. In: Proceedings of the 6th International Conference on Cloud Computing and Services Science, pp. 137–146. SCITEPRESS (2016). https://doi.org/10.5220/0005785501370146

  32. Pautasso, C., Alonso, G.: Visual composition of web services. In: 2003 IEEE Symposium on Human Centric Computing Languages and Environments (HCC 2003), 28–31 October 2003, Auckland, New Zealand, pp. 92–99. IEEE Computer Society (2003). https://doi.org/10.1109/HCC.2003.1260208

  33. Pavlenko, A., Askarbekuly, N., Megha, S., Mazzara, M.: Micro-frontends: application of microservices to web front-ends. J. Internet Serv. Inf. Secur. (JISIS) 10(2), 49–66 (2020). https://doi.org/10.22667/JISIS.2020.05.31.049

  34. Peltonen, S., Mezzalira, L., Taibi, D.: Motivations, benefits, and issues for adopting micro-frontends: a multivocal literature review. Inf. Softw. Technol. 136, 106571 (2021). https://doi.org/10.1016/j.infsof.2021.106571

  35. Pölöskei, I., Bub, U.: Enterprise-level migration to micro frontends in a multi-vendor environment. Acta Polytechnica Hungarica 18(8), 7–25 (2021)

    Article  Google Scholar 

  36. Prajwal, Y., Parekh, J.V., Shettar, R.: A brief review of micro-frontends. United Int. J. Res. Technol. 2, 123–126 (2021)

    Google Scholar 

  37. Rao, J., Su, X.: A survey of automated web service composition methods. In: Cardoso, J., Sheth, A. (eds.) SWSWPC 2004. LNCS, vol. 3387, pp. 43–54. Springer, Heidelberg (2005). https://doi.org/10.1007/978-3-540-30581-1_5

    Chapter  Google Scholar 

  38. Rojas, C.: Building Native Web Components: Front-End Development with Polymer and Vue.js. Apress (2021). https://doi.org/10.1007/978-1-4842-5905-4

  39. Scoccia, G.L., Autili, M.: Web frameworks for desktop apps: an exploratory study. In: Proceedings of the 14th ACM / IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM). ESEM 2020, ACM, New York, NY, USA (2020). https://doi.org/10.1145/3382494.3422171

  40. Shor, P.: Algorithms for quantum computation: discrete logarithms and factoring. In: Proceedings 35th Annual Symposium on Foundations of Computer Science, pp. 124–134. IEEE (1994). https://doi.org/10.1109/SFCS.1994.365700

  41. Strunk, A.: QoS-aware service composition: A survey. In: Eighth IEEE European Conference on Web Services, pp. 67–74 (2010). https://doi.org/10.1109/ECOWS.2010.16

  42. Tilak, P.Y., Yadav, V., Dharmendra, S.D., Bolloju, N.: A platform for enhancing application developer productivity using microservices and micro-frontends. In: IEEE-HYDCON, pp. 1–4. IEEE (2020). https://doi.org/10.1109/HYDCON48903.2020.9242913

  43. Triglianos, V., Pautasso, C.: Asqium: a javascript plugin framework for extensible client and server-side components. In: Cimiano, P., Frasincar, F., Houben, G.-J., Schwabe, D. (eds.) ICWE 2015. LNCS, vol. 9114, pp. 81–98. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-19890-3_7

    Chapter  Google Scholar 

  44. Vietz, D., Barzen, J., Leymann, F., Wild, K.: On decision support for quantum application developers: categorization, comparison, and analysis of existing technologies. In: Paszynski, M., Kranzlmüller, D., Krzhizhanovskaya, V.V., Dongarra, J.J., Sloot, P.M.A. (eds.) ICCS 2021. LNCS, vol. 12747, pp. 127–141. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-77980-1_10

    Chapter  Google Scholar 

  45. Wang, D., et al.: A novel application of educational management information system based on micro frontends. Procedia Comput. Sci. 176, 1567–1576 (2020). https://doi.org/10.1016/j.procs.2020.09.168

    Article  Google Scholar 

  46. Wolfinger, R., Dhungana, D., Prähofer, H., Mössenböck, H.: A component plug-in architecture for the .net platform. In: Lightfoot, D.E., Szyperski, C. (eds.) JMLC 2006. LNCS, vol. 4228, pp. 287–305. Springer, Heidelberg (2006). https://doi.org/10.1007/11860990_18

    Chapter  Google Scholar 

  47. Wusteman, J.: The potential of web components for libraries. Library Hi Tech. 37, 713–720 (2019). https://doi.org/10.1108/LHT-06-2019-0125

    Article  Google Scholar 

  48. Yang, C., Liu, C., Su, Z.: Research and application of micro frontends. In: IOP Conference Series: Materials Science and Engineering, p. 490 (2019). https://doi.org/10.1088/1757-899x/490/6/062082

Download references

Acknowledgements

The work was partially funded by the Federal Ministry for Economic Affairs and Climate Action project PlanQK (01MK20005N).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Fabian Bühler .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Bühler, F., Barzen, J., Harzenetter, L., Leymann, F., Wundrack, P. (2022). Combining the Best of Two Worlds: Microservices and Micro Frontends as Basis for a New Plugin Architecture. In: Barzen, J., Leymann, F., Dustdar, S. (eds) Service-Oriented Computing. SummerSOC 2022. Communications in Computer and Information Science, vol 1603. Springer, Cham. https://doi.org/10.1007/978-3-031-18304-1_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-18304-1_1

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-18303-4

  • Online ISBN: 978-3-031-18304-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics