Tải bản đầy đủ (.pdf) (49 trang)

Đồ Án Cơ Sở Web JAVA

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.65 MB, 49 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP.HCM

BÁO CÁO ĐỒ ÁN CƠ SỞ

Đề tài: Thiết kế và xây dựng website thời trang

Khoa: Công Nghệ Thông Tin
Học kỳ: 2A năm 2021-2022
Giảng viên hướng dẫn: Hồ Thanh Sang
Sinh viên thực hiện:
Họ tên sinh viên

Mã số sinh viên

Hồ Khánh Duy

1916061001

Trương Huỳnh Anh Thông

1916060002

TP.HCM, 2022


THƠNG TIN LIÊN HỆ NHĨM
Họ tên sinh
viên
Hồ Khánh
Duy



Mã số

Số điện

sinh viên

thoại

19LDTHA2

1916061001

0939126344



19LDTHA1

1916060002

0922385618



Lớp

Email

Trương

Huỳnh Anh
Thông

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN - PHẢN BIỆN

TP.HCM, ngày
GIẢNG VIÊN HƯỚNG DẪN

tháng

năm 2022

GIẢNG VIÊN PHẢN BIỆN


MỤC LỤC
CHƯƠNG 1:
1.

TỔNG QUAN ........................................................................................ 6

Giới thiệu đề tài. ................................................................................................... 6
1.1 Giới thiệu. ............................................................................................................. 6
1.2 Đặc tính kỹ thuật. ................................................................................................ 6

2.

Nhiệm vụ đồ án..................................................................................................... 7
2.1 Tính cấp thiết và lý do hình thành đề tài. .......................................................... 7
2.2 Mục tiêu nghiên cứu ............................................................................................ 8

2.3 Phạm vi và đối tượng........................................................................................... 8
2.4 Tiêu chí .................................................................................................................. 9

3.

Cấu trúc đồ án. ...................................................................................................... 9

CHƯƠNG 2:

CƠ SỞ LÝ THUYẾT ..........................................................................11

1.

Website và Web Application. ...........................................................................11

2.

RESTful API là gì?.............................................................................................12
2.1 Định nghĩa...........................................................................................................12
2.2 Các thành phần chính. .......................................................................................12
2.3 Cách RESTful API hoạt động. .........................................................................13

3.

Ngơn ngữ lập trình JAVA. ................................................................................14

4.

Spring Framework. .............................................................................................15
4.1 Định nghĩa...........................................................................................................15

4.2 Một số dự án của Spring. ..................................................................................16
4.3 Lợi ích của Spring Framework.........................................................................16

5.

Spring Boot. ........................................................................................................16
5.1 Định nghĩa...........................................................................................................16
5.2 Cách hoạt động của Spring boot. .....................................................................18

6.

Spring Tool Suite 4. ...........................................................................................18
6.1 Giới thiệu. ...........................................................................................................18
6.2 Công nghệ. ..........................................................................................................19

7.

Maven...................................................................................................................22
7.1 Định nghĩa...........................................................................................................22
7.2 Tại sao phải sử dụng Maven? ...........................................................................22
7.3 Cách Maven ho ạt động......................................................................................23
1


8.

MySQL WorkBench. .........................................................................................24
8.1 MySQL. ............................................................................................................24
8.2 MySQL WorkBench. .........................................................................................24


CHƯƠNG 3:

THIẾT KẾ VÀ NGHIỆP VỤ .............................................................26

1. Nghiệp vụ...................................................................................................................26
1.1 Sơ đồ logic các Use case ...................................................................................26
1.2 Mô tả các đối tượng( Actor) .............................................................................26
1.3 Mô tả các use case..............................................................................................27
1.

Thiết kế của dự án ..............................................................................................28
2.1 Cấu trúc ...............................................................................................................28
1.2 Sơ đồ chức năng ..............................................................................................29
1.3 Sơ đồ dữ liệu ....................................................................................................31

CHƯƠNG 4:
1.

THỰC NGHIỆM..................................................................................32

Tổng quan ............................................................................................................32
1.1 Project...............................................................................................................32
1.2 MySQL .............................................................................................................33

2.

Giao diện..............................................................................................................34
2.1 Giao diện Admin .............................................................................................34
2.2 Giao diện người dùng ........................................................................................39


CHƯƠNG 5:

KẾT LUẬN...........................................................................................45

1.

Kết luận chung ....................................................................................................45

2.

Hướng phát triển .................................................................................................46

3.

Các nguồn tài liệu tham khảo............................................................................47

2


DANH MỤC HÌNH ẢNH – SƠ ĐỒ
Hình 1-1 Biểu đồ các trở ngại khi mua hàng trực tuyến................................................ 8
Hình 2-1 Mơ tả kiến trúc Web Application. ...................................................................11
Hình 2-2 REST API Design..............................................................................................12
Hình 2-3 Bảng mơ tả cách API hoạt động. ....................................................................13
Hình 2-4 Java – ngơn ngữ lập trình được ưa chuộng. .................................................14
Hình 2-5 Kiến trúc Spring Framework. .........................................................................15
Hình 2-6 Cách SpringBoot hoạt động. ...........................................................................18
Hình 2-7 Tải trực tiếp Spring Tools 4 tại trang chủ. ....................................................19
Hình 2-8 Quản lý source với các phần nhỏ độc lập với nhau. ....................................20
Hình 2-9 Spring Cloud. ....................................................................................................20

Hình 2-10 Cơng nghệ FaaS (Function as a Service)....................................................21
Hình 2-11 Mơ tả quy trình xử lý hàng loạt của Spring Tools Suite............................21
Hình 2-12 Kiến trúc Maven. ............................................................................................23
Hình 2-13 MySQL là một hệ quản trị cơ sở dữ liệu. ....................................................24
Hình 3-1 Sơ đồ use case tổng quan.................................................................................26
Hình 3-2 Minh hoạ cách hoạt động. ...............................................................................28
Hình 3-3 Cấu trúc tổ chức code. .....................................................................................28
Hình 3-4 Hình ảnh chức năng ở trang quản trị. ...........................................................29
Hình 3-5 Sơ đồ trang người dùng....................................................................................30
Hình 3-6 Sơ đồ ERD. ........................................................................................................31
Hình 4-1 Cấu trúc source code. .......................................................................................32
Hình 4-2 Danh sách table dữ liệu. ...................................................................................33
Hình 4-3 Giao diện form Login .......................................................................................34
Hình 4-4 Giao diện Admin...............................................................................................34
Hình 4-5 Giao diện quản lý Users. ..................................................................................35
Hình 4-6 Giao diện quản lý Categories ..........................................................................35
Hình 4-7 Giao diện quản lý Products..............................................................................36
Hình 4-8 Giao diện quản lý Customer ............................................................................36
Hình 4-9 Giao diện quản lý Shipping Rates ..................................................................37
Hình 4-10 Giao diện danh sách Orders ..........................................................................37
Hình 4-11 Giao diện Sales Report ..................................................................................38
Hình 4-12 Giao diện Setting ............................................................................................38
Hình 4-13 Giao diện Home ..............................................................................................39
Hình 4-14 Giao diện Categories ......................................................................................39
Hình 4-15 Giao diện Form Login....................................................................................40
Hình 4-16 Giao diện Register ..........................................................................................40
Hình 4-17 Giao diện Contact Us .....................................................................................41
Hình 4-18 Giao diện Categories / Men...........................................................................41
Hình 4-19 Giao diện Product ...........................................................................................42
Hình 4-20 Giao diện Account Details ............................................................................42

Hình 4-21 Giao diện Address Book ................................................................................43
3


Hình 4-22 Giao diện Reviews..........................................................................................43
Hình 4-23 Giao diện Orders.............................................................................................44
Hình 4-24 Giao diện Shopping Cart ...............................................................................44

4


LỜI MỞ ĐẦU
Lời đầu tiên nhóm chúng em xin phép cảm ơn Trường Đại Học Công Nghệ
TPHCM – HUTECH, và các thầy cơ của khoa CNTT đã tận tình hỗ trợ chúng em
trong các học phần trước. Vì chúng ta vừa trải qua thời gian khó khăn vì dịch bệnh
phức tạp, nhưng thầy cô và trường đã tạo điều kiện và nhiệt tình hướng dẫn chúng
em đến ngày hơm nay.
Tiếp đến, nhận thấy Việt Nam chúng ta đang trong quá trình đổi mới và phát triển.
Nhu cầu chuyển đổi số và thích ứng với các xu hướng cơng nghệ trên toàn cầu của
chúng ta đang hiện diện rất mạnh mẽ. Cụ thể trong các nhu cầu thiết yếu đó, ta có thể
kể đến các nhu cầu như: Quản lý, marketing, bán hàng, hỗ trợ người tiêu dùng,… Để
đáp ứng các cơng việc và nhu cầu đó, các doanh nghiệp về công nghệ của Việt Nam
chúng ta đã xuất hiện và cho ra đời các sản phẩm cơng nghệ có thể kể đến như các
phần mềm , web,…
Trong các sản phẩm cơng nghệ đó, nhóm chúng em đặc biệt hứng thú với Web. Có
ba lý do chính để chúng em chọn đề tài về Web để báo cáo.
− Thứ nhất là về sự phổ biến của web hiện nay trên thị trường và tiềm năng phát
triển đi cùng với lợi ích của web mang lại.
− Thứ hai là về sự đa dạng trong các ngôn ngữ và nền tảng xây dựng web.
− Thứ ba là do các giảng viên của các học phần trong chuyên nghành phần mềm

đã truyền cảm hứng. Thầy cô trang bị cho chúng em một lượng kiến thức tốt
và kĩ năng để có thể tự tay xây dựng web.
Cuối cùng, chúng em quyết định chọn đề tài “Xây dựng và thiết kế web bán hàng
thời trang” để báo cáo trong học phần “Đồ án cơ sở” này.

5


CHƯƠNG 1: TỔNG QUAN

1. Giới thiệu đề tài.
Tên đề tài: Thiết kế và xây dựng website thời trang.

1.1 Giới thiệu.
Đây là một website hỗ trợ việc bán hàng và quản lý cửa hàng thời trang.
Sử dụng ngơn ngữ lập trình JAVA và được xây dựng theo công nghệ Spring Boot.

1.2 Đặc tính kỹ thuật.
Ngơn ngữ lập trình: Java
Nền tảng: Spring Framework (Spring Boot)
Các công cụ môi trường:
− Java Development Kit 17.0.3
− Apache Maven 3.6.3
− Spring Tool Suite 4 4.14.0 RELEASE
− MySQL community 8.0.28.0
Sử dụng các thư viện:
− Bootstrap
− Thymeleaf
− JQuery
− Maven


6


2. Nhiệm vụ đồ án.
2.1 Tính cấp thiết và lý do hình thành đề tài.
2.1.1 Thực trạng
[1] Theo Hiệp hội Thương mại điện tử Việt Nam (VECOM), tính đến năm 2019
khoảng 42% doanh nghiệp đã có website trong đó có tới 37% đã nhận được đơn đặt
hàng qua website. Không chỉ có khách hàng đơn lẻ mà ngay cả các khách hàng tổ
chức cũng thực hiện đặt hàng qua website của đối tác. Số lượng những khách hàng là
doanh nghiệp này lên tới 44%.
Sự hiệu quả của việc bán hàng qua website mang tính ổn định, lâu dài. Tuy rằng
có 19% các doanh nghiệp chưa thực sự đạt hiệu quả kinh doanh với website của mình,
nhưng có tới 55% vẫn có năng suất ổn định và 26% doanh nghiệp xem website như
một cơng cụ hữu ích nhất cho hoạt động bán sản phẩm. Vậy cùng sở hữu website
nhưng tại sao lại có những sự cách biệt về con số giữa các doanh nghiệp này?
Bên cạnh những nguyên nhân liên quan đến môi trường ngành hay những đặc điểm
riêng về thị trường, thì nguyên nhân quan trọng nhất dẫn đến vấn đề này là nhiều
doanh nghiệp chưa thực sự đầu tư hợp lý cho kênh bán hàng này. Theo đó, báo cáo
năm 2019 đã chỉ ra rằng với các doanh nghiệp có website, 46% cập nhật thơng tin
thường xun, 24% cập nhật hàng tuần, 8% hàng tháng và đến 22% hoàn tồn khơng
cập nhật gì. Chi phí dành cho các hoạt động quảng bá website/ứng dụng cũng không
cao. Dưới 10 triệu đồng/năm là số tiền mà 53% số doanh nghiệp tại Việt Nam đang
chi trả cho hoạt động này.
Một thực tế vẫn đang tồn tại là 88% người mua hàng online vẫn lựa chọn phương
thức thanh toán khi nhận hàng (COD). Sách trắng Thương mại điện tử Việt Nam cũng
đã chỉ ra tám ngun nhân chính khiến người dùng vẫn cịn ngần ngại khi mua hàng
trực tuyến. Trong đó có tới bốn nguyên nhân đến từ website như lo sợ lộ thơng tin cá
nhân, thiết kế website thiếu tính chun nghiệp, cách thức đặt hàng cũng như thanh

toán phức tạp, rắc rối.
(Theo Vecom[1] )

7


Hình 1-1 Biểu đồ các trở ngại khi mua hàng trực tuyến.
2.1.2 Lý do hình thành đề tài
Với thực trạng web tại Việt Nam ta còn nhiều hạn chế như trên, nhóm chúng em
mong mỏi có thể tự tay hồn thiện một trang web với giá trị và tính thực tiễn cao.

2.2 Mục tiêu nghiên cứu
Xây dựng hoàn thiện một trang web với công nghệ mới. Với đề tài này, chúng em
sẽ chọn công nghệ Spring Boot để xây dựng.

2.3 Phạm vi và đối tượng
Vì trình độ và kinh nghiệm thực tế nhóm chúng em cịn nhiều hạn chế. Nên với đề
tài này nhóm em quyết định nghiên cứu và thực hiện một trang web dành cho đối
tượng là doanh nghiệp, hộ kinh doanh nhỏ.

8


2.4 Tiêu chí
Dự án cần đáp ứng các tiêu chí sau:
Các đối tượng tiếp cận
− Ứng dụng có thể được truy cập từ các thiết bị kết nối Internet:
PC, máy tính xách tay, máy tính bảng, điện thoại thơng minh ..
Tính khả dụng
− Người dùng có thể truy cập ứng dụng bất kỳ lúc nào, 24/7.

Bảo mật
− Cần xác thực cho tất cả người dùng (ngoại trừ khách truy cập).
− Cần có sự ủy quyền trong trang quản trị ( nhân viên, CSKH,
người bán hàng, shipper ...).
− Mật khẩu không được lưu trữ trong cơ sở dữ liệu.
− Thanh toán được bảo đảm.
Thực thi
− Thời gian thực thi nhanh.
− Không có phản hồi nào lâu hơn 5 giây.
Khả năng nâng cấp
− Dự án có thể được nâng cấp và chạy tốt .
− Back-end và front-end của dự án có thể chia riêng biệt.

3. Cấu trúc đồ án.
Gồm 5 chương sau.
Chương 1: TỔNG QUAN
Giới thiệu đề tài, nêu lý do hình thành đề tài, mục tiêu nghiên cứu và các tiêu
chí cần thiết của dự án.
Chương 2: CƠ SỞ LÝ THUYẾT
Nêu lên các khái niệm và định nghĩa, giới thiệu các công nghệ và các công cụ
môi trường được sử dụng trong dự án.
Chương 3: THIẾT KẾ VÀ NGHIỆP VỤ

9


Áp dụng kiến thức của các học phần trước và các nghiên cứu. Trình bày các
sơ đồ nghiệp vụ, sơ đồ use case,… Mang đến cái nhìn tổng quan về đặc tính
kỹ thuật và các nghiệp vụ của dự án.
Chương 4: THỰC NGHIỆM

Trình bày dự án qua các hình ảnh dựa trên source code đã hồn thành.
Chương 5: KẾT LUẬN
Tóm lược các thuận lợi và khó khăn trong q trình hoàn thiện đồ án. Nêu lên
kết quả đạt được và các mong muốn của nhóm.

10


CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
Ở chương này nhóm em sẽ phân biệt rõ các định nghĩa-thuật ngữ của project. Mục
đích làm rõ lý do sử dụng các cơng nghệ, nền tảng và giúp mọi người có thể tiếp cận
phần báo cáo một cách thuận lợi nhất qua các trích đoạn trên Internet.

1. Website và Web Application.
BẢNG SO SÁNH
WEBSITE

WEB APP

Tính tương tác thấp, ít chức năng (Xem,
đọc, click qua lại giữa các link…)

Tính tương tác cao, nhiều chức năng
(Đăng thơng tin, upload file, xuất báo
cáo…)

Được tạo thành từ các trang html tĩnh và
một số tài nguyên (hình ảnh, âm thanh,
video)


Được tạo bởi html và code ở back end
(PHP, C#, Java, …)
Được dùng để “thực hiện một công

Được dùng để lưu trữ, hiển thị thông tin

việc”, thực hiện các chức năng của
một ứng dụng

Ví dụ thực tế:
Website: Lắp Mạng FPT Chỉ Từ 220K/Tháng. Đăng Ký Lắp Đặt Ngay
WebAPP: Hồ Khánh Duy | Facebook

Hình 2-1 Mơ tả kiến trúc Web Application.
11


2. RESTful API là gì?
2.1 Định nghĩa.
[2] RESTful API là một tiêu chuẩn dùng trong việc thiết kế API cho các ứng dụng
web (thiết kế Web services) để tiện cho việc quản lý các resource. Nó tập trung vào
tài nguyên hệ thống (tệp văn bản, image, audio, video, hoặc dữ liệu động…), bao gồm
các trạng thái tài nguyên được định dạng và được truyền tải qua HTTP.

Hình 2-2 REST API Design.

2.2 Các thành phần chính.
API (Application Programming Interface) là một tập chứa các quy tắc và
cơ chế mà theo đó, một ứng dụng hay một thành phần sẽ tương tác với một
ứng dụng hay thành phần khác. API có thể trả về dữ liệu mà bạn cần cho ứng

dụng của mình ở những kiểu dữ liệu phổ biến như JSON hay XML [2].
REST (REpresentational State Transfer) là một dạng chuyển đổi cấu trúc
dữ liệu, một kiểu kiến trúc để viết API. Nó sử dụng phương thức HTTP đơn
giản để tạo cho giao tiếp giữa các máy. Vì vậy, thay vì sử dụng một URL cho
việc xử lý một số thông tin người dùng, REST gửi một yêu cầu HTTP như
GET, POST, DELETE, vv đến một URL để xử lý dữ liệu.
RESTful API là một tiêu chuẩn dùng trong việc thiết kế các API cho các
trang web để quản lý các resource. RESTful là một trong những kiểu thiết kế
API được sử dụng phổ biến ngày nay để cho các ứng dụng (web, mobile…)
khác nhau giao tiếp với nhau.
12


Chức năng quan trọng nhất của REST là quy định cách sử dụng các HTTP
method (như GET, POST, PUT, DELETE…) và cách định dạng các URL cho
ứng dụng web để quản các resource. RESTful không quy định logic code ứng
dụng và khơng giới hạn bởi ngơn ngữ lập trình ứng dụng, bất kỳ ngơn ngữ
hoặc framework nào cũng có thể sử dụng để thiết kế một RESTful API.

2.3 Cách RESTful API hoạt động.

Hình 2-3 Bảng mơ tả cách API hoạt động.
REST hoạt động chủ yếu dựa vào giao thức HTTP. Các hoạt động cơ bản nêu trên
sẽ sử dụng những phương thức HTTP riêng [2].
− GET (SELECT): Trả về một Resource hoặc một danh sách Resource.
− POST (CREATE): Tạo mới một Resource.
− PUT (UPDATE): Cập nhật thông tin cho Resource.
− DELETE (DELETE): Xoá một Resource.
Những phương thức hay hoạt động này thường được gọi là CRUD tương ứng với
Create, Read, Update, Delete – Tạo, Đọc, Sửa, Xóa.


13


3. Ngơn ngữ lập trình JAVA.
[8] Java là ngơn ngữ lập trình có tính hướng đối tượng đầy đủ nhất. Nó hoạt động
như một nền tảng tiêu chuẩn cho các lập trình viên, doanh nghiệp trên tồn thế giới
và là lựa chọn hàng đầu để tạo ra các trang web, ứng dụng quy mơ lớn.

Hình 2-4 Java – ngơn ngữ lập trình được ưa chuộng.
Ưu điểm:
− Java độc lập với nền tảng giúp giảm chi phí lập trình và phát triển web.
− Khả năng bảo mật của Java rất tốt.
− Java có bộ API phong phú cho lập trình web.
− Java được sử dụng rất nhiều trong các ứng dụng thực tế.
− Java có các cơng cụ hỗ trợ lập trình cực kỳ tốt.
− Java hỗ trợ lập trình đa luồng giúp các trang web tăng tối đa khả năng xử lý.
Biến chúng trở thành ứng dụng web tiên tiến.
− Trang web lập trình bằng Java dễ Scale (mở rộng).
− Tính hướng đối tượng của Java là đầy đủ nhất, đáp ứng nhiều yêu cầu nhất.
− Java có một cộng đồng lớn và hoạt động sôi nổi, giúp ta giải quyết mọi khó
khăn trong học tập và lập trình web.

14


Nhược điểm:
− Quản lý bộ nhớ tốn kém.
− Tốc độ biên dịch chưa được tối ưu hóa.


4. Spring Framework.
4.1 Định nghĩa
[3] Spring là một Framework phát triển các ứng dụng Java được sử dụng bởi
hàng triệu lập trình viên. Nó giúp tạo các ứng dụng có hiệu năng cao, dễ kiểm thử,
sử dụng lại code…
Spring là một mã nguồn mở, được phát triển, chia sẻ và có cộng đồng người
dùng rất lơn.
Spring Framework được xây dựng dựa trên 2 nguyên tắc design chính là:
Dependency Injection và Aspect Oriented Programming.
Những tính năng core (cốt lõi) của Spring có thể được sử dụng để phát triển
Java Desktop, ứng dụng mobile, Java Web. Mục tiêu chính của Spring là giúp
phát triển các ứng dụng J2EE một cách dễ dàng hơn dựa trên mô hình sử dụng
POJO (Plain Old Java Object).

Hình 2-5 Kiến trúc Spring Framework.

15


4.2 Một số dự án của Spring.
− Spring MVC
− Spring Security
− Spring Boot
− Spring Batch
− Spring Social
− Spring Cloud
− Spring Mobile
− Spring for Android
− Spring Session


4.3 Lợi ích của Spring Framework.
− Spring cho phép lập trình viên sử dụng POJOs. Việc sử dụng POJOs giúp bạn
không phải làm việc với EJB, ứng dụng, các luồng chạy, cấu hình… đơn giản
hơn rất nhiều.
− Spring được tổ chức theo kiểu module. Số lượng các package và class khá
nhiều, nhưng bạn chỉ cần quan tâm đến những gì bạn cần và khơng cần quan
tâm đến phần còn lại.
− Spring hỗ trợ sử dụng khá nhiều công nghệ như ORM Framework, các logging
framework, JEE, các thư viện tạo lịch trình (Quartz và JDK timer)…
− Module Web của Spring được thiết kế theo mơ hình MVC nên nó cung cấp
đầy đủ các tính năng giúp thay thế các web framework khác như Struts.

5. Spring Boot.
5.1 Định nghĩa.
5.1.1 Spring boot.
[7] Spring Boot là một dự án phát triển bởi Pivotal Team (ngôn ngữ java) trong
hệ sinh thái Spring framework. Nó giúp cho các lập trình viên chúng ta đơn giản hóa
q trình lập trình một ứng dụng với Spring, chỉ tập trung vào việc phát triển business
cho ứng dụng và tạo ra Micro Service.

16


Mục tiêu:
− Để tránh cấu hình XML phức tạp trong Spring.
− Để phát triển dự án ứng dụng Spring một cách dễ dàng hơn.
− Để giảm thời gian phát triển và chạy ứng dụng một cách độc lập.
− Cung cấp một cách dễ dàng hơn để bắt đầu với ứng dụng.
Lợi ích:
− Linh hoạt trong cách cấu hình Java Beans, cấu hình XML và trao

đổi cơ sở dữ liệu.
− Nó cung cấp hàng loạt xử lý mạnh mẽ và quản lý các REST.
− Trong Spring Boot, mọi thứ đều được cấu hình tự động; khơng cần
cấu hình thủ cơng.
− Nó cung cấp Spring Application dựa trên annotation-based.
− Giảm bớt các Dependency.
− Nó bao gồm Embedded Servlet Container.
5.1.2 Micro Service.
Micro Service là một kiến trúc cho phép các nhà phát triển phát triển và triển khai
dịch vụ một cách độc lập. Mỗi dịch vụ chạy có quy trình riêng và điều này đạt được
mơ hình nhẹ để hỗ trợ các ứng dụng kinh doanh.
Lợi ích:
− Triển khai dễ dàng.
− Khả năng mở rộng đơn giản.
− Tương thích với Container.
− Cấu hình đơn gián.
− Thời gian sản xuất ít hơn.

17


5.2 Cách hoạt động của Spring boot.

Hình 2-6 Cách SpringBoot hoạt động.
Flow của ứng dụng Spring Boot sử dụng tất cả các tính năng của Sring, như Spring
MVC, Spring Data và JPA. Một ứng dụng Sping Boot sẽ bao gồm một lớp Controller
xử lý các yêu cầu của máy khách qua giao thức Http. Sau đó, Controller sẽ xử lý các
yêu cầu bằng cách tương tác qua lại giữa các lớp Service. Khi đó, các lớp Service sẽ
thực thi việc cập nhật, sửa đổi các Model và Database. Bằng cách sử dụng kho lưu
trữ JPA thông qua các Dependency Injection.


6. Spring Tool Suite 4.
6.1 Giới thiệu.
[4] Spring Tool Suite 4 là một công cụ mã nguồn mở. Giúp chúng ta lập trình Java
nhanh, an tồn và dễ sử dụng. Vì công cụ này được tạo ra hướng tới tốc độ xử lý, tăng
năng suất và thân thiện với các lập trình viên hơn. Hiện nay, Spring Tool Suite là một
cơng cụ phổ biến và phát triển mạnh mẽ trong cộng đồng lập trình viên Java dựa trên
Java Framework.

18


Hình 2-7 Tải trực tiếp Spring Tools 4 tại trang chủ.

6.2 Công nghệ.
Sau đây là các mô tả những đặc điểm và công nghệ nổi bật của Spring Tool Suite
[4]:
Microservices: Cung cấp các tính năng xây dựng với microservices độc lập.
Reactive: Hệ thống Reactive cho phép xây dựng các ứng dụng None-Blocking
IO, tối ưu cho việc phục hồi, phản hồi nhanh giữa các module trong hệ thống.
Bằng cách tương tác trực tiếp với các API chức năng của Java.
Web apps: Các framework được tối ưu hố, nhanh, an tồn và có thể kết nối
với bất kỳ data store nào.
Event Driven: Tối ưu khả năng xử lý sự kiện. Ví dụ như Event-driven
microservices, Streaming data, Integration.

19


Hình 2-8 Quản lý source với các phần nhỏ độc lập với nhau.

Cloud: Bảo vệ và backup dự án trên mọi nền tảng.

Hình 2-9 Spring Cloud.
20


Serverless: Hoạt động dựa trên công nghệ FaaS(Function as a service), hỗ trợ
nhà phát triển tập trung vào việc phát triển project hơn và không phải đắn đo
về cơ sở hạ tầng.

Hình 2-10 Cơng nghệ FaaS (Function as a Service).
Batch: Khả năng xử lý hàng loạt lượng dữ liệu lớn trên JVM được tối ưu.

Hình 2-11 Mơ tả quy trình xử lý hàng loạt của Spring Tools Suite.

21


7. Maven.
7.1 Định nghĩa.
[5]

Maven là công cụ quản lý và thiết lập tự động 1 dự án phần mềm. Chủ yếu

dùng cho các lập trình viên java, nhưng nó cũng có thể được dùng để xây dựng và
quản lý các dự án dùng C#, Ruby, Scala hay ngôn ngữ khác.
− Maven phục vụ mục đích tương tự như Apache Ant, nhưng nó dựa trên khái
niệm khác và cách hoạt động khác.
− Maven hỗ trợ việc tự động hóa các quá trình tạo dự án ban đầu, thực hiện biên
dịch, kiểm thử, đóng gói và triển khai sản phẩm.

− Được phát triển bằng ngôn ngữ Java cho phép Maven chạy trên nhiều nền tảng
khác nhau: Windows, Linux và Mac OS…

7.2 Tại sao phải sử dụng Maven?
Khi một project do nhiều nhóm phát triển ví dụ có 2 team cùng tham gia dự
án, 2 team đó ở 2 vị trí địa lý khác nhau vì thế chúng ta ln cần có một sự
liên lạc để thơng nhất trong việc lập trình vì thế phải có một cái chuẩn để tất
cả mọi người cùng tuân theo, như trong việc sử dụng những thư viện nào,
version của thư viện, tất cả những thứ như vậy đều được Maven quản lý.
Đối với những hệ thống lớn, sử dụng nhiều thư viện phức tạp và đòi hỏi phải
release liên tục, nên cơng việc đóng gói (build & deploy), quản lý, nâng cấp
và bảo trì chúng rất mất thời gian, và lúc đó ta cần Maven.

22


7.3 Cách Maven hoạt động.

Hình 2-12 Kiến trúc Maven.
Mỗi project sẽ có một file “pom.xml”. File này sẽ chứa các thông tin như tên
project, các thư mục tài nguyên, thư viện đang sử dụng. Khi Compile, Maven sẽ đọc
file này và tự động download các thư viện cần thiết từ repositories của nó thơng qua
mạng hoặc nơi chúng ta đã chỉ định sẵn.
Trong một project thường sẽ có cấu trúc thư mục phổ biến như sau:
Mã nguồn (Source Code)

[Thư mục chứa dự án]/src/main/java

Tài nguyên (config, image, data
file,…)


[Thư mục chứa dự
án]/src/main/resources

Tests

[Thư mục chứa dự án]/target/classes

Các class đã biên dịch

[Thư mục chứa dự án]/src/test

File đóng gói (jar,war,ear)

[Thư mục chứa dự án]/target

23


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×