skip to main content
10.1145/3106237.3117775acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
research-article

Guidelines for adopting frontend architectures and patterns in microservices-based systems

Published:21 August 2017Publication History

ABSTRACT

Microservice-based systems enable the independent development, deployment, and scalability for separate system components of enterprise applications. A significant aspect during development is the microservice integration in frontends of web, mobile, and desktop applications. One challenge here is the selection of an adequate frontend architecture as well as suitable patterns that satisfy the application requirements. This paper analyses available strategies for organizing and implementing microservices frontends. These approaches are then evaluated based on a quality model and various prototypes of the same application implemented using the distinct approaches. The results of this analysis are generalized to a guideline that supports the selection of a suitable architecture.

References

  1. Angular. 2017. Angular. Online. (2017). https://angular.io/ - Visited 2017-04-25.Google ScholarGoogle Scholar
  2. Richard Attermeyer. 2016. Frontend-Architekturen für Microservice-basierte Systeme. Online. (2016). http://www.sigs-datacom.de/uploads/tx_dmjournals/ attermeyer_OTS_Microservices_Docker_16.pdf - Visited 2017-04-25.Google ScholarGoogle Scholar
  3. Jakob Eyvind Bardram, Henrik Bærbak Christensen, and Klaus Marius Hansen. 2004. Architectural prototyping: An approach for grounding architectural design and learning. In Software Architecture, 2004. WICSA 2004. Proceedings. Fourth Working IEEE/IFIP Conference on. IEEE, 15–24. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Len Bass, Paul Clements, and Rick Kazman. 2013. Software architecture in practice. Addison-Wesley, Upper Saddle River, NJ.Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Varnish HTTP Cache. 2017. Varnish HTTP Cache. Online. (2017). https:// varnish-cache.org/ - Visited 2017-04-25.Google ScholarGoogle Scholar
  6. Docker. 2017. Docker - Build, Ship, and Run Any App, Anywhere. Online. (2017). https://www.docker.com/ - Visited 2017-04-25.Google ScholarGoogle Scholar
  7. Thomas Erl. 2005. Service-oriented architecture: concepts, technology, and design. Pearson Education India. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Viktor Farcic. 2015. Including Front-End Web Components Into Microservices. Online. (Aug. 2015). https://technologyconversations.com/2015/08/09/ including-front-end-web-components-into-microservices/ - Visited 2017-04-25.Google ScholarGoogle Scholar
  9. Roy Fielding. 2000. Representational state transfer. Architectural Styles and the Design of Network-based Software Architecture (2000), 76–85.Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Martin Fowler. 2016. Microservices Resource Guide. Online. (2016). http: //martinfowler.com/microservices/ - Visited 2017-04-25.Google ScholarGoogle Scholar
  11. Bartosz Galek, Walacik Bartosz, and Pawel Wieladek. 2016. Managing Frontend in the Microservices Architecture. Online. (March 2016). http://allegro.tech/ 2016/03/Managing-Frontend-in-the-microservices-architecture.html - Visited 2017-04-25.Google ScholarGoogle Scholar
  12. ISO. 2011. IEC25010: 2011 Systems and software engineering – Systems and software Quality Requirements and Evaluation. Standard. International Organization for Standardization, Geneva, CH. http://iso25000.com/index.php/en/ iso-25000-standards/iso-25010 - Visited 2017-04-25.Google ScholarGoogle Scholar
  13. Apache JMeter. 2016. Apache JMeter. Online. (2016). http://jmeter.apache.org/ - Visited 2017-04-25.Google ScholarGoogle Scholar
  14. James Lewis and Martin Fowler. 2014. Microservices. Online. (March 2014). http://martinfowler.com/articles/microservices.html - Visited 2017-04-25.Google ScholarGoogle Scholar
  15. Suresh Marru, Marlon Pierce, Sudhakar Pamidighantam, and Chathuri Wimalasena. 2015. Apache Airavata as a laboratory: architecture and case study for component-based gateway middleware. In Proceedings of the 1st Workshop on The Science of Cyberinfrastructure: Research, Experience, Applications and Models. ACM, 19–26. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Sam Newman. 2015. Building Microservices. O’Reilly Media, Inc. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Sam Newman. 2015. Pattern: Backends For Frontends. Online. (Nov. 2015). http://samnewman.io/patterns/architectural/bff/ - Visited 2017-04-25.Google ScholarGoogle Scholar
  18. Likasz Plotnicki. 2015. BFF @ SoundCloud. Online. (Dec. 2015). https://www. thoughtworks.com/de/insights/blog/bff-soundcloud - Visited 2017-04-25.Google ScholarGoogle Scholar
  19. Torsten Posch, Klaus Birken, and Michael Gerdom. 2011. Basiswissen Softwarearchitektur: verstehen, entwerfen, wiederverwenden. Dpunkt Verlag GmbH, Heidelberg.Google ScholarGoogle Scholar
  20. Chris Richardson and Floyd Smith. 2016. Microservices: From Design to Deployment. Online. (May 2016). https://www.nginx.com/blog/ microservices-from-design-to-deployment-ebook-nginx/ - Visited 2017-04-25.Google ScholarGoogle Scholar
  21. ROCA. 2016. ROCA – Resource-oriented Client Architecture. Online. (2016). http://roca-style.org/ - Visited 2017-04-25.Google ScholarGoogle Scholar
  22. D.I. Savchenko, G.I. Radchenko, and O. Taipale. 2015. Microservices validation: Mjolnirr platform case study. In Information and Communication Technology, Electronics and Microelectronics (MIPRO), 2015 38th International Convention on. 235–240.Google ScholarGoogle Scholar
  23. SeleniumHQ. 2016. Selenium - Web Browser Automation. Online. (2016). http: //www.seleniumhq.org/ - Visited 2017-04-25.Google ScholarGoogle Scholar
  24. Amazon Web Services. 2017. AWS – Server Hosting & Cloud Services. Online. (2017). https://aws.amazon.com/de/ - Visited 2017-04-25.Google ScholarGoogle Scholar
  25. Pivotal Software. 2017. Spring. Online. (2017). https://spring.io/ - Visited 2017-04-25.Google ScholarGoogle Scholar
  26. Gernot Starke. 2015. Effektive Softwarearchitekturen: Ein praktischer Leitfaden. Carl Hanser Verlag GmbH und Co KG.Google ScholarGoogle ScholarCross RefCross Ref
  27. Guido Steinacker. 2015. On Monoliths and Microservices. Online. (Sept. 2015). https://dev.otto.de/2015/09/30/on-monoliths-and-microservices/ - Visited 2017- 04-25.Google ScholarGoogle Scholar
  28. Roman Stranghöner. 2015. Self-Contained Systems. Online. (March 2015). https: //speakerdeck.com/rstrangh/self-contained-systems-german - Visited 2017-04- 25.Google ScholarGoogle Scholar
  29. TestNG. 2016. TestNG. Online. (2016). http://testng.org/doc/ - Visited 2017-04-25.Google ScholarGoogle Scholar
  30. Johannes Thones. 2015. Microservices. Software, IEEE 32, 1 (Jan. 2015), 113–116.Google ScholarGoogle Scholar
  31. Stefan Tilkov. 2014. Web-based frontend integration. Online. (Nov. 2014). https: //www.innoq.com/blog/st/2014/11/web-based-frontend-integration/ - Visited 2017-04-25.Google ScholarGoogle Scholar
  32. Mark Tsimelzon, Bill Weihl, Joseph Chung, Dan Frantz, John Basso, Chris Newton, Mark Hale, Larry Jacobs, and Conletz O’Connell. 2001. ESI Language Specification 1.0. Online. (Aug. 2001). https://www.w3.org/TR/esi-lang - Visited 2017-04-25.Google ScholarGoogle Scholar
  33. Aad Versteden, Erika Pauwels, and Agis Papantoniou. 2015. An Ecosystem of User-facing Microservices Supported by Semantic Models. In USEWODPROFILES@ ESWC. 12–21.Google ScholarGoogle Scholar
  34. Mario Villamizar, Oscar Garces, Harold Castro, Mauricio Verano, Lorena Salamanca, Rubby Casallas, and Santiago Gil. 2015. Evaluating the monolithic and the microservice architecture pattern to deploy web applications in the cloud. In Computing Colombian Conference (10CCC), 2015 10th. 583–590.Google ScholarGoogle ScholarCross RefCross Ref
  35. Arif Wider and Johannes Mueller. 2016. An Unexpected Solution To Microservices UI Composition. Online. (Jan. 2016). http://inside.autoscout24.com/talks/ 2016/01/13/microservice-ui-composition/ - Visited 2017-04-25.Google ScholarGoogle Scholar
  36. Eberhard Wolff. 2016. Microservices: Grundlagen flexibler Softwarearchitekturen. Dpunkt Verlag GmbH, Heidelberg.Google ScholarGoogle Scholar
  37. zuul. 2016. zuul. Online. (2016). https://github.com/Netflix/zuul - Visited 2017-04-25.Google ScholarGoogle Scholar
  38. Stefan Zörner. 2016. Bring your own Architecture. Entwickler Magazin Spezial 9 (2016), 16–19. Abstract 1 Introduction 2 Related Work 3 Available Frontend Architectures and Patterns 4 Methodical Approach 4.1 Quality Model 4.2 Test Cases 4.3 Prototype Implementations 4.4 Testbed Implementation 5 Results 6 Conclusion ReferencesGoogle ScholarGoogle Scholar

Index Terms

  1. Guidelines for adopting frontend architectures and patterns in microservices-based systems

                Recommendations

                Comments

                Login options

                Check if you have access through your login credentials or your institution to get full access on this article.

                Sign in
                • Published in

                  cover image ACM Conferences
                  ESEC/FSE 2017: Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering
                  August 2017
                  1073 pages
                  ISBN:9781450351058
                  DOI:10.1145/3106237

                  Copyright © 2017 ACM

                  Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

                  Publisher

                  Association for Computing Machinery

                  New York, NY, United States

                  Publication History

                  • Published: 21 August 2017

                  Permissions

                  Request permissions about this article.

                  Request Permissions

                  Check for updates

                  Qualifiers

                  • research-article

                  Acceptance Rates

                  Overall Acceptance Rate112of543submissions,21%

                  Upcoming Conference

                  FSE '24

                PDF Format

                View or Download as a PDF file.

                PDF

                eReader

                View online with eReader.

                eReader