Play framework là một công cụ xây dựng web application với Java và Scala (nhưng trong luận , tôi chỉ sử dụng để xây dựng server với Java) một cách dễ dàng. Play được thiết kế với khuynh hướng phát triển những web nhẹ và thân thiện với người dùng.
Framework này được xây dựng dựa trên Akka, Play cung cấp công cụ để có thể dự đoán và giảm thiểu tối đa việc sử dụng tài nguyên phần cứng (CPU, bộ nhớđệm, thread…), giúp cho ứng dụng có thể mở rộng được một cách tối đa.
42
Hình 20: Vòng đời Play framework
Hình trên mô tả vòng đời của một request gửi lên server. Khi có một request được nhận, phần route sẽ tìm kiếm xem request đó thuộc action nào để thực thi. Và sau đó tùy vào mục đích của hàm để hệ thống có thể cập nhật dữ liệu trong cơ sở dữ liệu hoặc là tạo ra một view để trả về với HTTP response.
43
Hình 21: Bố cục của ứng dụng Play
Bố cục của một Play application một số thành phần chính như sau:
- Thư mục /app : Chứa tất cả các file thực thi logic với các mã nguồn java, scala, các mẫu html. Trong thư mục này thường được chia nhỏ ra làm 3 thành phần chính:
o app/controller: chứa các giao thức giao tiếp bên ngoài
o app/model: chứa các thực thể (có thể là thực thể tương ứng với các bảng trong cơ sở dữ liệu)
o app/view: chứa các mã lệnh html để sinh ra giao diện trả về
- Thư mục /conf : Chứa các file cấu hình của hệ thống, và sẽ có 2 file cấu hình chính là application.conf và routes.conf
- Thư mục /lib : Chứa các mã nguồn mà ứng dụng sử dụng đến. - File build.sbt : Nơi khai báo cấu hình build chính của ứng dụng.
- Thư mục /target : Chứa mọi file được sinh ra bởi phần mềm sau khi được compile.