Nothing Special   »   [go: up one dir, main page]

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 2017 Publication 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.
[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.
[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.
[4]
Len Bass, Paul Clements, and Rick Kazman. 2013. Software architecture in practice. Addison-Wesley, Upper Saddle River, NJ.
[5]
Varnish HTTP Cache. 2017. Varnish HTTP Cache. Online. (2017). https:// varnish-cache.org/ - Visited 2017-04-25.
[6]
Docker. 2017. Docker - Build, Ship, and Run Any App, Anywhere. Online. (2017). https://www.docker.com/ - Visited 2017-04-25.
[7]
Thomas Erl. 2005. Service-oriented architecture: concepts, technology, and design. Pearson Education India.
[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.
[9]
Roy Fielding. 2000. Representational state transfer. Architectural Styles and the Design of Network-based Software Architecture (2000), 76–85.
[10]
Martin Fowler. 2016. Microservices Resource Guide. Online. (2016). http: //martinfowler.com/microservices/ - Visited 2017-04-25.
[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.
[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.
[13]
Apache JMeter. 2016. Apache JMeter. Online. (2016). http://jmeter.apache.org/ - Visited 2017-04-25.
[14]
James Lewis and Martin Fowler. 2014. Microservices. Online. (March 2014). http://martinfowler.com/articles/microservices.html - Visited 2017-04-25.
[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.
[16]
Sam Newman. 2015. Building Microservices. O’Reilly Media, Inc.
[17]
Sam Newman. 2015. Pattern: Backends For Frontends. Online. (Nov. 2015). http://samnewman.io/patterns/architectural/bff/ - Visited 2017-04-25.
[18]
Likasz Plotnicki. 2015. BFF @ SoundCloud. Online. (Dec. 2015). https://www. thoughtworks.com/de/insights/blog/bff-soundcloud - Visited 2017-04-25.
[19]
Torsten Posch, Klaus Birken, and Michael Gerdom. 2011. Basiswissen Softwarearchitektur: verstehen, entwerfen, wiederverwenden. Dpunkt Verlag GmbH, Heidelberg.
[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.
[21]
ROCA. 2016. ROCA – Resource-oriented Client Architecture. Online. (2016). http://roca-style.org/ - Visited 2017-04-25.
[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.
[23]
SeleniumHQ. 2016. Selenium - Web Browser Automation. Online. (2016). http: //www.seleniumhq.org/ - Visited 2017-04-25.
[24]
Amazon Web Services. 2017. AWS – Server Hosting & Cloud Services. Online. (2017). https://aws.amazon.com/de/ - Visited 2017-04-25.
[25]
Pivotal Software. 2017. Spring. Online. (2017). https://spring.io/ - Visited 2017-04-25.
[26]
Gernot Starke. 2015. Effektive Softwarearchitekturen: Ein praktischer Leitfaden. Carl Hanser Verlag GmbH und Co KG.
[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.
[28]
Roman Stranghöner. 2015. Self-Contained Systems. Online. (March 2015). https: //speakerdeck.com/rstrangh/self-contained-systems-german - Visited 2017-04- 25.
[29]
TestNG. 2016. TestNG. Online. (2016). http://testng.org/doc/ - Visited 2017-04-25.
[30]
Johannes Thones. 2015. Microservices. Software, IEEE 32, 1 (Jan. 2015), 113–116.
[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.
[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.
[33]
Aad Versteden, Erika Pauwels, and Agis Papantoniou. 2015. An Ecosystem of User-facing Microservices Supported by Semantic Models. In USEWODPROFILES@ ESWC. 12–21.
[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.
[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.
[36]
Eberhard Wolff. 2016. Microservices: Grundlagen flexibler Softwarearchitekturen. Dpunkt Verlag GmbH, Heidelberg.
[37]
zuul. 2016. zuul. Online. (2016). https://github.com/Netflix/zuul - Visited 2017-04-25.
[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 References

Cited By

View all
  • (2024)Exploring the Technologies and Architectures Used to Develop Micro-frontend Applications: a Systematic Mapping and Emerging PerspectivesSSRN Electronic Journal10.2139/ssrn.4750661Online publication date: 2024
  • (2024)The advantages of Micro-Frontend architecture for developing web application2024 13th Mediterranean Conference on Embedded Computing (MECO)10.1109/MECO62516.2024.10577836(1-5)Online publication date: 11-Jun-2024
  • (2023)Experiences on a Frameworkless Micro-Frontend Architecture in a Small Organization2023 IEEE 20th International Conference on Software Architecture Companion (ICSA-C)10.1109/ICSA-C57050.2023.00025(61-67)Online publication date: Mar-2023
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

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

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 21 August 2017

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Design patterns
  2. Frontend architecture
  3. Microservices

Qualifiers

  • Research-article

Conference

ESEC/FSE'17
Sponsor:

Acceptance Rates

Overall Acceptance Rate 112 of 543 submissions, 21%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)120
  • Downloads (Last 6 weeks)19
Reflects downloads up to 26 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Exploring the Technologies and Architectures Used to Develop Micro-frontend Applications: a Systematic Mapping and Emerging PerspectivesSSRN Electronic Journal10.2139/ssrn.4750661Online publication date: 2024
  • (2024)The advantages of Micro-Frontend architecture for developing web application2024 13th Mediterranean Conference on Embedded Computing (MECO)10.1109/MECO62516.2024.10577836(1-5)Online publication date: 11-Jun-2024
  • (2023)Experiences on a Frameworkless Micro-Frontend Architecture in a Small Organization2023 IEEE 20th International Conference on Software Architecture Companion (ICSA-C)10.1109/ICSA-C57050.2023.00025(61-67)Online publication date: Mar-2023
  • (2023)Microusity: A testing tool for Backends for Frontends (BFF) Microservice Systems2023 IEEE/ACM 31st International Conference on Program Comprehension (ICPC)10.1109/ICPC58990.2023.00021(74-78)Online publication date: May-2023
  • (2022) Expert system for automatic microservices identification using API similarity graph Expert Systems10.1111/exsy.1315841:5Online publication date: 11-Oct-2022
  • (2022)Decision Models for Selecting Patterns and Strategies in Microservices Systems and their Evaluation by Practitioners2022 IEEE/ACM 44th International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP)10.1109/ICSE-SEIP55303.2022.9793911(135-144)Online publication date: May-2022
  • (2021)Service Candidate Identification from Monolithic Systems Based on Execution TracesIEEE Transactions on Software Engineering10.1109/TSE.2019.291053147:5(987-1007)Online publication date: 1-May-2021
  • (2021)From monolithic systems to Microservices: An assessment frameworkInformation and Software Technology10.1016/j.infsof.2021.106600137(106600)Online publication date: Sep-2021
  • (2020)Service Load Prediction based on User Knowledge Level Evolution for Software Development Knowledge Base2020 IEEE 13th International Conference on Cloud Computing (CLOUD)10.1109/CLOUD49709.2020.00027(99-106)Online publication date: Oct-2020
  • (2020)A Novel Application of Educational Management Information System based on Micro FrontendsProcedia Computer Science10.1016/j.procs.2020.09.168176(1567-1576)Online publication date: 2020
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media