On the other hand, the FMC pattern requires only
the change for the business microservice, which pro-
vides the required attributes for the corresponding
client types. Although that adds extra responsibil-
ity on the microservices and their developers, it does
not impact the microservices’ cohesion property. The
FMC pattern embeds a set of adapters for customiz-
ing responses. Therefore, it encourages the embed-
ded adapters to follow the wish list pattern. Thus, it is
only the wish list parameters that would be changed
for customizing responses to clients.
Regarding the business inconsistency perspective,
assume a business change has been requested, such
that it should impact the business microservices and
the data format for all frontend clients. Therefore,
inconsistency happens when the developer forgets to
change any of the BFF-related components for a spe-
cific client. The business would be inconsistent for
that missed client. On the other hand, the FMC pat-
tern emphasizes that the business is concentrated in
the business microservices layer. There are no mod-
ifications to the original response until it reaches the
frontend that is responsible for combining and ren-
dering it. Thus, this pattern prevents the risks of these
business inconsistencies.
In conclusion, the proposed FMC pattern shows
multi-aspect enhancements compared with the com-
mon BFF pattern. Moreover, these results encourage
a potential fit for the FMC pattern with the evolution
of micro-frontend architecture and its integration with
microservices distributed architecture.
8 CONCLUSION
This paper is motivated by current gaps for frontend
integration in microservice systems. These gaps lead
to challenges in the development process and business
inconsistency over system modifications. In compar-
ison with the BFF, the proposed FMC pattern offers
better-fitted integration with the microservice devel-
opment process and reduced team coupling. It also
leads to reduce the overall data and time consump-
tion. Although FMC presents liabilities for apply-
ing the pattern, they are scattered through the cloud-
native components. In contrast to the BFF, the FMC
avoids adding extra layers to the architecture.
Our future work includes applying FMC to a large
benchmark, converting a BFF-based system to FMC
for performance comparison, and conducting a user
study with microservice experts to evaluate FMC’s
development process enhancement.
ACKNOWLEDGEMENTS
This material is based upon work supported by
the National Science Foundation under Grant No.
1854049 and a grant from Red Hat Research,
https://research.redhat.com.
REFERENCES
Brown, K. and Woolf, B. (2016). Implementation patterns
for microservices architectures. In Proceedings of the
23rd Conference on Pattern Languages of Programs,
pages 1–35.
Carnell, J. and S
´
anchez, I. (2021). Spring Microservices in
Action, Second Edition. Manning.
Cerny, T., Donahoo, M. J., and Trnka, M. (2018). Contex-
tual understanding of microservice architecture: cur-
rent and future directions. ACM SIGAPP Applied
Computing Review, 17(4):29–45.
Fowler, M. (2006). Consumer-driven contracts: A service
evolution pattern.
Fowler, M. (2019). Micro frontends.
Harms, H., Rogowski, C., and Lo Iacono, L. (2017). Guide-
lines for adopting frontend architectures and patterns
in microservices-based systems. In Proceedings of the
2017 11th Joint Meeting on Foundations of Software
Engineering, pages 902–907.
M
´
arquez, G. and Astudillo, H. (2018). Actual use of archi-
tectural patterns in microservices-based open source
projects. In 2018 25th Asia-Pacific Software Engi-
neering Conference (APSEC), pages 31–40. Ieee.
Newman, S. (2015). Backends for frontends.
Osses, F., M
´
arquez, G., and Astudillo, H. (2018). An ex-
ploratory study of academic architectural tactics and
patterns in microservices: A systematic literature re-
view. Avances en Ingenieria de Software a Nivel
Iberoamericano, CIbSE, 2018:71–84.
Peltonen, S., Mezzalira, L., and Taibi, D. (2021). Mo-
tivations, benefits, and issues for adopting micro-
frontends: a multivocal literature review. Information
and Software Technology, 136:106571.
Stocker, M., Zimmermann, O., Zdun, U., L
¨
ubke, D., and
Pautasso, C. (2018). Interface quality patterns: Com-
municating and improving the quality of microser-
vices apis. In Proceedings of the 23rd European Con-
ference on Pattern Languages of Programs, pages 1–
16.
Valdivia, J. A., Lim
´
on, X., and Cortes-Verdin, K. (2019).
Quality attributes in patterns related to microservice
architecture: a systematic literature review. In 2019
7th International Conference in Software Engineering
Research and Innovation (CONISOFT), pages 181–
190. IEEE.
Wellhausen, T. and Fießer, A. (2011). How to write a pat-
tern? a rough guide for first-time pattern authors. In
Proceedings of the 16th European Conference on Pat-
tern Languages of Programs, pages 1–9.
Filling The Gaps in Microservice Frontend Communication: Case for New Frontend Patterns
193