Một số tồn tại chưa được nghiên cứu triển khai trong luận văn bao gồm:
• Với tầng dịch vụ: chưa thử nghiệm cài đặt cơ chế kỹ thuật để quản lý các giao dịch phân tán cũng như giao tiếp bất đồng bộ giữa các microservices.
• Với tầng giao diện: mới thử nghiệm việc tích hợp các micro-frontends theo hướng “build time”, chưa áp dụng cơ chế kiểm thử tự động cho phần giao diện.
Hướng phát triển
Tác giả dự định nghiên cứu và cài đặt một số công nghệ, kỹ thuật nhằm giải quyết các tồn tại đã nêu trên như sau:
• Triển khai áp dụng mẫu thiết kế Saga63 để quản lý giao dịch phân tán.
• Triển khai áp dụng Apache Kafka64 để quản lý giao tiếp bất đồng bộ giữa các microservices.
• Nghiên cứu tích hợp các micro-frontends theo hướng “run-time” và áp dụng kiểm thử tự động cho tầng giao diện.
• Nghiên cứu một số framework như Jasmine65 để viết unit test cho tầng giao diện.
63 https://microservices.io/patterns/data/saga.html 64 https://kafka.apache.org/
78
TÀI LIỆU THAM KHẢO
[1] T. O. Group, “Service-Oriented Architecture – What Is SOA?,” [Online]. Available: https://www.opengroup.org/soa/source-book/soa/p1.htm.
[2] T. Erl, “Understanding Service-Orientation,” in Service-Oriented Architecture: Analysis and Design for Services and Microservices, 2nd ed., Arcitura Education Inc., 2017, pp. 20-58.
[3] MuleSoft, “What is an ESB?,” MuleSoft, [Online]. Available: https://www.mulesoft.com/resources/esb/what-esb.
[4] J. L. a. M. Fowler, “Microservices Guide,” 2014. [Online]. Available: https://martinfowler.com/microservices/.
[5] S. Newman, in Buiding Microservices. Designing Fine-Grained Systems, O’Reilly Media, Inc, 2015, p. 16.
[6] C. Richardson, in Microservices Patterns with examples in Java, Manning Publications Co., 2019, pp. 259-263.
[7] “Pattern: Service registry,” [Online]. Available: https://microservices.io/patterns/service-registry.html.
[8] C. Richardson, “Service Discovery in a Microservices Architecture,” 12 10 2015. [Online]. Available: https://www.nginx.com/blog/service-discovery-in-a- microservices-architecture/.
[9] “Pattern: Client-side service discovery,” [Online]. Available: https://microservices.io/patterns/client-side-discovery.html. [10] “Pattern: Server-side service discovery,” [Online]. Available:
https://microservices.io/patterns/server-side-discovery.html. [11] “Pattern: Database per service,” [Online]. Available:
https://microservices.io/patterns/data/database-per-service.html. [12] “Pattern: Shared database,” [Online]. Available:
https://microservices.io/patterns/data/shared-database.html.
[13] E. Evans, in Domain-Driven Design - Tackling Complexity in the Heart of Software, Addison Wesley, 2003, p. 25.
79
[14] S. Miteva, “The Concept of Domain-Driven Design Explained,” [Online]. Available: https://dzone.com/articles/the-concept-of-domain-driven-design- explained.
[15] “Static Web Page – how it all began,” [Online]. Available: https://webdiy.org/static-web-page/.
[16] Z. Bettenbuk, “Server-Side Rendering Explained,” [Online]. Available:
https://dzone.com/articles/what-is-server-side-rendering-and-why-do-you-need. [17] “What Is Ajax Programming - Explained,” [Online]. Available:
https://www.keycdn.com/support/ajax-programming.
[18] J. M. a. A. Osmani, “Rendering on the Web,” 02 2019. [Online]. Available: https://developers.google.com/web/updates/2019/02/rendering-on-the-web. [19] A. University, “Angular Single Page Applications (SPA): What are the
Benefits?,” 17 12 2020. [Online]. Available: https://blog.angular-
university.io/why-a-single-page-application-what-are-the-benefits-what-is-a- spa/.
[20] ThoughtWorks, “Micro frontends,” 07 11 2016. [Online]. Available: https://www.thoughtworks.com/radar/techniques/micro-frontends.
[21] C. Jackson, “Micro Frontends Build-time Integration,” 19 06 2019. [Online]. Available: https://martinfowler.com/articles/micro-frontends.html#Build- timeIntegration.
[22] G. Michael, in Micro Frontends in Action, Manning Publications Co., 2020, pp. 85-98.
[23] “Web Components,” [Online]. Available: https://developer.mozilla.org/en- US/docs/Web/Web_Components.
[24] G. Michael, “Server-side composition,” in Micro Frontends in Action, Manning Publications Co., 2020, pp. 59-84.
[25] B. Myers, “The Strengths and Benefits of Micro Frontends,” [Online].
Available: https://www.toptal.com/front-end/micro-frontends-strengths-benefits. [26] M. Geers, “Client-side routing and the application shell,” in Micro Frontends in
Action, Manning Publications Co., 2020, pp. 118-144.
[27] M. Geers, “Communication patterns,” in Micro Frontends in Action, Manning Publications Co., 2020, pp. 99-117.
80
[28] “Getting Started with single-spa,” [Online]. Available: https://single- spa.js.org/docs/getting-started-overview/.
[29] C. Herath, “Building Micro Frontends Using Single-SPA Framework,” 07 04 2021. [Online]. Available: https://blog.bitsrc.io/building-microfrontends-using- single-spa-framework-94019ca2fb4d.
[30] “HTTP response status codes,” [Online]. Available:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Status. [31] “Configuring single-spa,” [Online]. Available: https://single-
spa.js.org/docs/configuration/.
[32] J. Denning, “A step-by-step guide to single-spa,” 16 12 2016. [Online]. Available: https://single-spa.js.org/blog/2016/12/16/a-step-by-step-guide-to- single-spa/.
[33] “docker-compose up,” [Online]. Available: https://docs.docker.com/compose/reference/up/.