Spring framework

27
TRƯỜNG ĐẠI HỌC AN GIANG KHOA KỸ THUẬT – CÔNG NGHỆ - MÔI TRƯỜNG Sinh viên: Nguyễn Thiện An – DH114081 GVHD: Th.S Huỳnh Lý Thanh Nhàn BÁO CÁO KHÓA LUẬN TỐT NGHIỆP Đề tài: TÌM HIỂU FRAMEWORK SPRING VÀ XÂY DỰNG ỨNG DỤNG QUẢN LÝ NHẠC PHÍA CLIENT

Transcript of Spring framework

Page 1: Spring framework

TRƯỜNG ĐẠI HỌC AN GIANG

KHOA KỸ THUẬT – CÔNG NGHỆ - MÔI TRƯỜNG

Sinh viên: Nguyễn Thiện An – DH114081

GVHD: Th.S Huỳnh Lý Thanh Nhàn

BÁO CÁO KHÓA LUẬN TỐT NGHIỆP

Đề tài: TÌM HIỂU FRAMEWORK SPRING

VÀ XÂY DỰNG ỨNG DỤNG QUẢN LÝ NHẠC PHÍA CLIENT

Page 2: Spring framework

2

Nội dung

• Lý do thực hiện đề

tài

• Cơ sở lý thuyết:

• Spring framework

• AngularJS

• Cài đặt ứng dụng

• Kết luận

Page 3: Spring framework

3

Lý do thực hiện đề tài

- 16.2% dự án là hoàn thành đúng hạn và nằm

trong giới hạn ngân sách.

- Và hơn 83.8% dự án thất bại hoặc không đáp ứng

được những yêu cầu ban đầu

Þ Do các thành phần quá phụ thuộc lẫn nhau,

chồng chéo, không có tính sử dụng lại.

- Ngoài ra chi phí cho việc bảo trì và mở rộng hệ

thống luôn lớn hơn nhiều lần so với các pha khác.

3 35

7

15

67

Xác định yêu cầu Đặt tả

Thiết kế Lập trình

Kiểm thử Bảo trì

Page 4: Spring framework

4

Lý do thực hiện đề tài (tt)

- Hầu hết các hệ thống đều được phát triển

trên nền web.

- Công nghệ di động đang ngày càng trở nên

phổ biến, số lượng người sử dụng và truy cập

qua các thiết bị di động tăng một cách nhanh

chóng.=> Do đó chúng tôi thực hiện đề tài “Tìm hiểu Framework Spring

và xây dựng ứng dụng quản lý nhạc phía client”.

Page 5: Spring framework

5

Spring framework

- Là framework Java mã nguồn

mở được sử dụng nhiều nhất

hiện nay.

- Spring có cách tạo và liên kết

các thành phần rất riêng và hữu

ích nhờ vào IoC container và

Dependencies Injection (DI).

- Được giới thương mại công nhận

như một framework có tầm

quan trọng trong chiến lược kiến

tạo phần mềm

Page 6: Spring framework

6

Spring framework (tt)

Spring được sử dụng rộng rãi nhờ:

- Đơn giản: Spring framework thực sự rất đơn giản vì nó áp dụng

mô hình POJO (Plain Old Java Objects) và POJI (Plain Old Java

Interfaces).

- Dễ dàng kiểm soát lỗi: Môi trường giả lập đơn giản. Có thể sử

dụng Console để kiểm thử các thành phần riêng lẽ.

- Ít phụ thuộc: Trong Spring các đối tượng ít phụ thuộc lẫn nhau, đây

là vấn đề cốt lõi của Spring framework -> dễ sửa đổi, nâng cấp bảo

trì.

Page 7: Spring framework

7

Spring MVC

- Spring MVC cung cấp kiến trúc

Model – View - Controller và các

components săn có để sử dụng

và phát triển ứng dụng web một

cách nhanh chóng và linh hoạt.

- Spring MVC được thiết kế xung

quanh Dispatcher Servlet để xử

lý tất cả các HTTP request và

HTTP response.

Page 8: Spring framework

8

Spring MVC (tt)

Mô hình MVC là kết quả của việc tách các khía cạnh khác nhau của ứng

dụng (logic đầu vào, các xử lý logic, UI) trong khi đó cung cấp một sự kết

hợp giữa các thành phần đó một cách “long leo”.

- Model: đóng gói dữ liệu ứng dụng và bao gồm các POJO.

- View: Chịu trách nhiệm nhận giá trị của model và vẽ ra trang HTML mà

trình duyệt có thể hiển thị được.

- Controller: Chịu trách nhiệm nhận và xử lý các yêu cầu tư người dung

và tạo các model phu hợp và trả về cho view

Page 9: Spring framework

Spring MVC (tt)

9Mô hình Spring MVC và sơ đồ luồng xử lý

Page 10: Spring framework

10

Spring Security

- Spring Security cung cấp các giải pháp để bảo vệ một ứng dụng được

phát triển bằng Spring framework.

- Thực hiện 2 nhiệm vụ chính của việc bảo mật ứng dụng là "xác thực"

(authentication) và "ủy quyền" (authorization) hay "kiểm soát truy cập"

(access - Scontrol)

• Xác thực là quá trình xác nhận và chứng thực một principal.

• Uỷ quyền đề cập đến quá trình quyết định có một principal được

phép thực hiện những hành động gì trong phạm vi ứng dụng của

chúng ta.

Page 11: Spring framework

11

Spring Security (tt)

Sơ đồ cơ chế bảo

vệ ứng dụng REST

API với Spring

Security

Page 12: Spring framework

AngularJS

12

Ngày nay các ứng

dụng web hiện đại

thường được xây

dựng như một

Single Page

Application (SPA)

và AngularJS là một

framework tuyệt

vời để xây dựng 1

SPA

Page 13: Spring framework

AngularJS (tt)

13

Những đặc trưng

nổi bật tạo nên

sức mạnh cho

AngularJS

Page 14: Spring framework

AngularJS (tt)

14

Đối với Angular, View sẽ là DOM, Controller là các hàm JavaScript, còn

Model sẽ là dữ liệu được lưu ở thuộc tính của các đối tượng trong

JavaScript.

MVC giúp chúng ta tách ứng dụng thành 3 thành phần khác nhau. Model

(xử lý, truy xuất database), View (giao diện) và Controller (điều hướng yêu

cầu tư người dung)

Page 15: Spring framework

AngularJS (tt)

15

One-way binding và Two-way binding

Page 16: Spring framework

AngularJS (tt)

16

Directives thực sự là đặc điểm tạo nên một khoảng cách lớn giữa Angular

và bất kỳ framework JavaScript khác.

Directives đề cập đến một tính năng để mở rộng HTML, việc dung

directive sẽ giảm thiểu được số lượng the HTML, code HTML nhìn sẽ gọn

gàng và sáng sủa hơn.

Directtive không chỉ giới hạn một phần tử HTML mà còn có thể là thuộc

tính, lớp hoặc các chú thích HTML. AngularJS cung cấp cho chúng ta 3 loại

directive:

• Directive dạng element (một the HTML) viết tắt là E

• Directive dạng attribute (thuộc tính của một the HTML) viết tắt là

A

• Directive dạng class(class CSS) viết tắt là C

Page 17: Spring framework

Cài đặt ứng dụng

17

Mô hình ứng dụng Music Manager

Page 18: Spring framework

Cài đặt ứng dụng (tt)

18

Module Client và Module Server của ứng

dụng

Page 19: Spring framework

Cài đặt ứng dụng (tt)

19

Page 20: Spring framework

Cài đặt ứng dụng (tt)

20Nội dung 1 message

Page 21: Spring framework

Cài đặt ứng dụng (tt)

21Response cho request update 1 bài hát

Page 22: Spring framework

Cài đặt ứng dụng (tt)

22Giao diện chương trình

Page 23: Spring framework

Kết quả đạt được

23

Về mặt lý thuyết:

- Nắm được kiến trúc tổng quan của Spring Framework cũng như các

nguyên lý cơ bản và cơ chế hoạt động của framework này.

- Nắm được mô hình web MVC trong Spring framework và các cơ chế để

bảo mật một ứng dụng web được hỗ trợ trong module Spring Security.

- Hiểu cơ chế giao tiếp giữa client và server trong mô hình web hiện đại

theo hướng RESTful service; cách giao tiếp giữa các thành phần của một

hệ thống hoặc giữa các hệ thống với nhau thông qua mô hình Messaging

system.

Page 24: Spring framework

Kết quả đạt được (tt)

24

Về mặt ứng dụng:

- Thiết kế và cài đặt được ứng dụng web với mô hình web server và data

server tách biệt nhau, giao tiếp với nhau thông qua ActiveMQ.

- Xây dựng được ứng dụng web dạng SPA mà việc giao tiếp với server

thông qua RESTful service với sự hỗ trợ của AngularJS.

- Thiết kế giao diện người dung với HTM5 và Bootstrap có hỗ trợ

responsive.

- Xây dựng thành công ứng dụng quản lý nhạc với đầy đủ các chức năng

cơ bản.

- Xây dựng thành công một ứng dụng quản lý nhạc trên nền web có áp

dụng các công nghệ mới trong quá trình phát triển một ứng dụng Web

enterprise hiện đại.

Page 25: Spring framework

Hạn chế và khó khăn

25

Các chức năng cơ bản của ứng dụng đã hoàn thành tốt, tuy nhiên do yêu

cầu và phạm vi đề tài chỉ dưng lại ở mức demo công nghệ nên ứng dụng

chưa hấp dẫn.

Hạn chế về vật chất, không có host trên internet có cài đặt đầy đủ các

phần mềm cần thiết tạo khó khăn trong việc thực hiện demo chương trình

trên internet. Vấn đề triển khai những công nghệ nêu trên không khó về

mặt kỹ thuật nhưng phải xây dựng một cơ sở hạ tầng đầy đủ và tốt để có

thể thực thi ứng dụng

Page 26: Spring framework

Hướng phát triển

26

Tiếp tục tìm hiểu về một số cơ chế xác thực và phân quyền trong module

Spring Security như cơ chế xác thực Oauth, Oauth2, OpenID,… để xây

dựng ứng dụng với cơ chế bảo mật hơn.

Bên cạnh đó tiếp tục tìm hiểu các module còn lại của Spring Framework

như Spring AOP nhằm tích hợp vào hệ thống để thực hiện một số chức

năng đặc biệt như ghi log người dung.

Tìm hiểu về web socket và kết hợp với AngularJS để hướng đến việc xây

dựng một ứng dụng web động với thời gian thực.

Page 27: Spring framework

27

Cám ơn quý thầy cô và các bạn đã lắng nghe.