1.1.Java – Spring Boot
- Java là một trong những ngôn ngữ lập trình hướng đối tượng phổ biến.
- Java là ngôn ngữ được tạo ra để “viết một lần, chạy mọi nơi” - nói theo lối kỹ thuật nghĩa là nó có thể chạy tốt trên bất kỳ thiết bị nào hiện có.
1.1.1. Spring Boot [6]
- Spring Boot là một bước tiếp theo của Spring, để làm cho Spring dễ dàng hơn trong việc thiết lập và phát triển ứng dụng.
- Một số lợi ích của Spring Boot:
o Giảm thiểu thời gian phát triển và tăng năng xuất
o Đóng gói ứng dụng Spring dưới dạng một file JAR (stand- alone application). Chúng ta có thể dễ dàng start ứng dụng Spring chỉ với câu lệnh quen thuộc java -jar.
o Dễ dàng để bạn tương tác các ứng dụng Spring Boot với các hệ sinh thái của Spring như Spring JDBC, Spring ORM, Spring Data, Spring Security…
o Đi theo cách tiếp cận “Nguyên tắc cấu hình mặc định” để giảm thiểu thời gian và nỗ lực cần thiết để phát triển ứng dụng.
o Cung cấp các Server nhúng (Embedded HTTP servers) như là Tomcat, Jetty .... để phát triển và test các ứng dụng web nhanh chóng và dễ dàng.
1.1.2. Spring Security – Spring Sercurity Oauth2 [7]
- Spring Security là một framework tập trung vào việc cung cấp khả năng xác thực và phân quyền cho ứng dụng Java.
- Lợi ích lớn nhất của Spring Security là giúp bạn tích hợp tính năng xác thực và phân quyền một cách dễ dàng vào ứng dụng
- Spring Sercurity Oauth2 giúp ứng dụng có thể xác thực qua một số mạng xã hội (như Google, Facebook, Github, ..)
129 - Spring Cloud là một công nghệ phần mềm sử dụng để phát triển các
ứng dụng phân tán. Một ứng dụng được gọi là phân tán (Distributed application) khi các phần của nó có thể được phát triển trên các ngôn ngữ khác nhau, và được triển khai trên các máy chủ khác nhau. Vì vậy mục tiêu của Spring Cloud là làm sao để các thành phần của ứng dụng có thể giao tiếp với nhau.
- Công nghệ sử dụng:
o Eureka Server là nơi để các service có thể đăng ký thông tin của mình để các service khác có thể discovery và gọi tới. Đăng ký thông tin các service với Eureka Server sử dụng Eureka Client.
o Sử dụng thư viện Ribbon cho việc cân bằng tải. o Zuul Proxy để tạo ra API Gssateway cho ứng dụngsss
1.2.Javascript – ReactJs
Lợi ích của Reactjs [9]: - Cực kì hiệu quả
- Giúp việc viết các đoạn code JS dễ dàng hơn - Có nhiều công cụ phát triển
- Render tầng server
- Làm việc với vấn đề test giao diện
- Hiệu năng cao đối với các ứng dụng có dữ liệu thay đổi liên tục, dễ dàng cho bảo trì và sửa lỗi.