Tải bản đầy đủ (.docx) (73 trang)

XÂY DỰNG HỆ THỐNG CUNG CẤP DỊCH VỤ THU GOM RÁC

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 (2.57 MB, 73 trang )

BỘ THÔNG TIN VÀ TRUYỀN THÔNG

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THƠNG
------------------------------

BÁO CÁO ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
Đề tài:
XÂY DỰNG HỆ THỐNG CUNG CẤP DỊCH VỤ
THU GOM RÁC NGUY HẠI

Người hướng dẫn:
Sinh viên thực hiện:
Mã số sinh viên:
Lớp:
Khoá:
Hệ:
ĐẠI HỌC CHÍNH QUY

TP.HCM, 12/ 2019


LỜI CẢM ƠN
Mười tuần thực hiện đồ án ngắn ngủi là cơ hội cho em tổng hợp và hệ thống hóa lại
những kiến thức đã học, đồng thời kết hợp với thực tế để nâng cao kiến thức chuyên môn. Tuy
thời gian thực hiện ngắn ngủi, nhưng qua quá trình thực hiện đồ án, em đã được mở rộng tầm
nhìn và tiếp thu rất nhiều kiến thức thực tế. Từ đó em nhận thấy, việc cọ sát thực tế là vơ cùng
quan trọng – nó giúp sinh viên xây dựng nền tảng lý thuyết được học ở trường vững chắc hơn.
Trong q trình thực hiện đồ án, từ chỗ cịn bở ngỡ cho đến thiếu kinh nghiệm, em đã gặp
phải rất nhiều khó khăn nhưng với sự giúp đỡ tận tình của q thầy cơ khoa Cơng nghệ Thơng
Tin 2 đã giúp em có được những kinh nghiệm quý báu để hồn thành tốt kì thực tập này cũng


như viết lên bài báo cáo cuối kỳ. Em xin chân thành cám ơn.
Em cũng xin gửi lời cám ơn chân thành đến Ban giám hiệu trường Học viện Cơng nghệ
Bưu chính Viễn thơng cơ sở Tp. Hồ Chí Minh, q thầy cô khoa Công nghệ Thông tin 2 đã
tận tâm giảng dạy và truyền đạt những kiến thức, kinh nghiệm quý báu cho em. Đặc biệt, em
xin cám ơn thầy Huỳnh Trung Trụ, người đã tận tình hướng dẫn em hồn thành bài báo cáo
này.
Vì thời gian và kiến thức cịn hạn hẹp nên bài báo cáo không thể tránh khỏi những thiếu
sót, rất mong sự góp ý của quý thầy cô và các bạn, để em rút kinh nghiệm và hoàn thành tốt
hơn. Em xin chân thành cám ơn!
TP.HCM, Ngày 09 tháng 12 năm 2019
Sinh viên thực hiện


Báo cáo ĐATN Đại học

Mục lục

MỤC LỤC


Báo cáo ĐATN Đại học

Kí hiệu các cụm từ viết tắt

KÍ HIỆU CÁC CỤM TỪ VIẾT TẮT
ADO
API
DFD
FCL
HTTP

IPC
JPA
JWT
ODBC
OLE DB
POJO
RDBMS
URL
XML

SVTH: Đinh Hồi Hiệp

ActiveX Data Objects
Application Programming Interface
Data Flow Diagram
Framework Class Library
Hypertext Transfer Protocol
Inter-process communication
Java Persistence API
Json Web Token
Open Database Connectivity
Object Linking and Embedding Database
Plain Old Java Object
Relational Database Management System
Uniform Resource Locator
eXtensible Markup Language

Lớp: D15CQCP01-N4



Báo cáo ĐATN Đại học

Danh mục các bảng, sơ đồ, hình

DANH MỤC CÁC BẢNG, SƠ ĐỒ, HÌNH

SVTH: Đinh Hồi Hiệp

Lớp: D15CQCP01-N5


Báo cáo ĐATN Đại học

Mở đầu

MỞ ĐẦU
Microservice, kiến trúc dịch vụ nhỏ, hiện được quan tâm trong giới phần mềm, công
nghệ với nhiều bài viết, blog, thảo luận, truyền thông, hội thảo. Kỳ vọng về khả năng của
Microservice đang lên đỉnh giống như một xu hướng thời trang đang lan rộng. Kiến trúc
microservices đem lại lợi ích khi nó giúp phương pháp agile thực sự hiệu quả và xây dựng
được giải pháp phần mềm doanh nghiệp rất phức tạp.
Với lý đó, mục tiêu đồ án bao gồm nguyên cứu phương pháp xây dựng một hệ thống
Microservice sử dụng giao thức HTTP hoàn thiện, từ cấu trúc tổ chức đến bảo mật hệ thống
và ứng dụng nó vào mơ hình của một nghiệp vụ bảo vệ mơi trường đó là xử lý rác thải nguy
hại ở cấp độ hộ gia đình trong những thành phố.
Đề cập đến vấn đề chất thải nguy hại (CTNH), hầu hết tất cả các ngành nghề đều phát
sinh chất thải nguy hại. Các loại CTNH phát sinh trong các lĩnh vực sản xuất công nghiệp, y
tế, nơng nghiệp, khai thác và chế biến khống sản, hóa chất, sản xuất vật liệu xây dựng…
Chủng loại CTNH phát sinh gồm các loại dầu thải, bóng đèn huỳnh quang thải, pin ắc quy
thải, chất thải trong ngành y tế, vỏ bao bì các loại bám dính CTNH, giẻ lau bám dính dầu chất

thải, bùn thải từ máy móc và hệ thống xử lý nước thải, thuốc diệt trừ các lồi gây hại.
Bước vào q trình học hỏi và tìm hiểu một xu hướng dẫn đầu, em quyết định chọn
lĩnh vực môi trường để áp dụng kiến trúc phần mềm mới, cung cấp giải pháp giúp con người
có ý thức xử lý rác điện tử, rác thải có thể tái chế đúng cách, qua đó, nâng cao ý thức bảo vệ
mơi trường.
Bước vào một lĩnh vực phần mềm hồn tồn mới, phải hiểu rất nhiều khái niệm và tìm hiểu
một hệ thống lớn, phức tạp trong thời gian có hạn nên sẽ khơng thể tránh khỏi những thiếu
sót. Vì vậy rất mong nhận được sự góp ý của quý thầy cơ.

SVTH: Đinh Hồi Hiệp

Lớp: D15CQCP01-N6


Báo cáo ĐATN Đại học

Chương 1: Giới thiệu đề tài

CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI
1.1. Mục tiêu
Tìm hiểu về phát triển ứng dụng trên Spring framework, Android và Windows, từ đó
thực hiện sản phẩm minh hoạ của đề tài thơng qua ngơn ngữ lập trình Java và cơng cụ IntelliJ.
Xây dựng ứng dụng cung cấp dịch vụ thu gom rác tái chế như cung cấp đặt lịch hẹn thu gom,
người dùng có thể đưa ra mức giá phù hợp với các loại rác tái chế khác nhau, truy vấn lịch sử
đặt lịch thu gom.
Người dùng khách hàng có thể quản lý được các phiếu đặt thu gom của mình, thời gian
đến thu gom và thông tin các phiếu đặt được thanh tốn.
Người dùng nhân viên có khả năng truy vấn các phiếu đặt theo thời gian hẹn của khách
hàng, các phiếu đặt trong một không gian địa điểm.
Người dùng quản lý có khả năng tạo tài khoản cho nhân viên và người quản lý khác.

Tìm hiểu và ứng dụng Java Spring framework trong việc thao tác với database server,
xử lý các tác vụ từ điện thoại giử đến và phản hồi lại dưới dạng cấu trúc NoSQL kiểu JSON
vào đề tài.
Nắm được nguyên lý thiết kết ứng dụng Microservice, cơ chế bảo mật cho hệ thống
webservice theo nền thiếu kế phân chia nhỏ.

1.2. Lĩnh vực
-

Chuyên ngành: công nghệ phần mềm
Chuyên mơn: lập trình ứng dụng di động, lập trình ứng dụng hướng dịch vụ, lập trình
ứng dụng trên Desktop.

1.3. Nền tảng kỹ thuật của sản phẩm đề tài
-

Hệ điều hành Android.
Hệ điều hành Windows.
Nền tảng Spring framework.

1.4. Bố cục báo cáo của đề tài
Chương 1: Giới thiệu về đề tài và những mục tiêu của đề tài hướng tới.
Chương 2: Cơ sở lý thuyết về lập trình, bảo mật trong webservice, các công nghệ sử
dụng trong đồ án.
Chương 3: Phân tích những yêu cầu cơ bản, những chức năng xử lý và dữ liệu của sản
phẩm đề tài, thiết kế giao diện của sản phẩm đề tài.
Chương 4: Giới thiệu giao diện, các chức năng và các mã lệnh cơ bản đã làm được của
sản phẩm minh hoạ.
Chương 5: Kết quả đạt được, những hạn chế, hướng khắc phục và phát triển của đề tài.


SVTH: Đinh Hoài Hiệp

Lớp: D15CQCP01-N7


Báo cáo ĐATN Đại học

Chương 2: Cơ sở lý thuyết của đề tài

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT CỦA ĐỀ TÀI
2.1 Microservice dựa trên nền tảng Spring boot:
Spring Boot là một dự án phát triển bởi JAV (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.
Spring Cloud là một dự án con trong họ nhà Spring, được 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. Như vậy, Spring Cloud sinh ra là để làm các hệ thống microservice. Tất cả các dự
sán Spring Cloud nên được tạo từ Spring Boot để giảm thiểu các cấu hình phức tạp và dễ cài
đặt hơn.

Hình 2.1: Sơ đồ khối minh họa một phần mềm Microservice

2.1.1 Gateway Zuul
Zuul Proxy là một phần của Zuul, một thư viện về routing và server load balancer của
Netflix. Nó sẽ cấu hình service id của các service trong Eureka Server với context path tương
ứng của service id đó, expose một URL để các ứng dụng bên ngồi có thể access tới, sau đó
dựa vào context path mà các ứng dụng đang request tới để forward request tới đúng ứng dụng
bên trong.


2.1.2 Service Registry Eureka
Netflix Eureka là một service registry. Nó cung cấp một REST API cho việc quản lý
đăng ký service-instance và cho việc truy vấn các instance có sẵn. Netflix Ribbon là một IPC
client làm việc với Eureka để cân bằng tải các yêu cầu trên các service instance có sẵn.

2.1.3 Auth Service
Auth Service là một service trong hệ thống, có nhiệm vụ kiểm tra thông tin truy cập và
cấp xác thực cho Client nếu Client yêu cầu. Về sau, client chỉ cần gửi xác thực này cho
Gateway để Gateway điều phối yêu cầu đến service cần thiết.

SVTH: Đinh Hoài Hiệp

Lớp: D15CQCP01-N8


Báo cáo ĐATN Đại học

Chương 2: Cơ sở lý thuyết của đề tài

2.1.4 Config Service
Config Service là một service trong hệ thống, có nhiệm vụ cung cấp các cấu hình cho
các service thông qua cách các service khi khởi chạy được mặc định nhận các cấu hình của
mình tại một địa chỉ mà Config Service hoạt động. Điều này giúp đơn giản hóa việc cấu hình
các Service do cấu hình tập trung tại một điểm và không cần phải trực tiếp cấu hình tại máy
mà Service đó đang hoạt động.
Microservice trong đề tài sử dụng RESTful API để giao tiếp với client.

2.2 RESTful API
2.2.1 Resource
Quản lý resource (tài nguyên) là một phần quan trọng và chiếm phần lớn trong việc phát

triển website. Trong đó resource của các website khác nhau có thể sẽ khác nhau. Với các trang
mạng xã hội như Facebook thì resource thường là danh sách người dùng (user hoặc account),
danh sách các bài viết (post hoặc article), các ảnh được đăng (photo hoặc image), các trang
fanpage (fanpage)... Đối với một trang chia sẻ ảnh như Instagram thì resource có thể là các
ảnh được đăng (photo), danh sách người dùng (user)... Đối với các trang bán hàng thì resource
có thể là danh sách sản phẩm (product), danh sách các người bán (seller), danh sách khách
hàng (user hay customer)...
Việc quản lý resource của một website bao gồm 4 tác vụ chính:
● Tạo mới một resource (create)
● Lấy thơng tin một resource (read)
● Cập nhật một resource (update)
● Xoá một resource (delete)

2.2.2 RESTful API
RESTful API là một tiêu chuẩn dùng trong việc thết kế các thiết kế API cho các ứng
dụng 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 nhất ngày nay.
Trọng tâm của REST 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.
Với các ứng dụng web được thiết kế sử dụng RESTful, lập trình viên có thể dễ dàng
biết được URL và HTTP method để quản lý một resource.

2.2.3 REST và REST(ful)
REST là viết tắt của cụm từ Representational State Transfer và các ứng dụng sử dụng kiểu
thiết kế REST thì được gọi là RESTful.

2.3 Kiến trúc của hệ điều hành Android
Hệ điều hành Android là 1 ngăn xếp các thành phần phần mềm, được chia thành 5 phần và 4
lớp chính như trong hình bên dưới.


SVTH: Đinh Hồi Hiệp

Lớp: D15CQCP01-N9


Báo cáo ĐATN Đại học

Chương 2: Cơ sở lý thuyết của đề tài

Hình 2.2: Thành phần của hệ điều hành Android

2.3.1 Linux Kernel
Lớp này cung cấp một cấp độ trừu tượng giữa phần cứng của thiết bị và các thành trình
điều khiển phần cứng thiết yếu như máy ảnh, bàn phím, màn hình hiển thị… Đồng thời, hạt
nhân (kernel) cịn xử lý tất cả các thứ mà Linux có thể làm tốt như mạng kết nối và 1 chuỗi
các trình điều khiển thiết bị, giúp cho giao tiếp với các thiết bị ngoại vi dễ dàng hơn.

2.3.2 Các thư viện
Ở trên lớp nhân Linux là tập các thư viện bao gồm WebKit – trình duyệt Web mã nguồn
mở, được biết đến như thư viện libc, cơ sở dữ liệu SQLite – hữu dụng cho việc lưu trữ và chia
sẻ dữ liệu ứng dụng, các thư viênj chơi và ghi âm audio, video, hay các thư viện SSL chiụ
trách nhiệm bảo mật Internet…

2.3.3 Các thư viện Android
Đây là các thư viện dựa trên Java phục vụ cho việc phát triển Android. Ví dụ của các thư
viện này bao gồm các thư viện ứng dụng dùng để xây dựng giao diện người dùng, vẽ đồ họa
hay truy cập cơ sở dữ liệu. 1 số thư viện chính của Android:
● android.app – Cung cấp quyền truy cập vào ứng dụng và là nền tảng của tất cả ứng
dụng Android.
● android.content – Cung cấp quyền truy cập nội dung (content), truyền tải thông điệp

giữa các ứng dụng hay các thành phần của ứng dụng.
● android.database – Đựoc sử dụng để truy cập dữ liệu của content provider và cơ sở dữ
liệu SQLite

SVTH: Đinh Hoài Hiệp

Lớp: D15CQCP01-N10


Báo cáo ĐATN Đại học

Chương 2: Cơ sở lý thuyết của đề tài

● android.opengl – giao diện các phuơng thức Java để sử dụng OpenGL ES
● android.os – Cung cấp các ứng dụng với quyền truy cập vào các dịch vụ của hệ điều
hành bao gồm thông điệp, các dịch vụ hệ thống và các giao tiếp nội tại
● android.text – Đựoc sử dụng để hiển thị và điều chỉnh chữ trên màn hình thiết bị
● android.view – Các thành phần cơ bản trong việc xây dựng giao diện người dùng của
ứng dụng.
● android.widget – Tập các thành phần giao diện người dùng đã được xây dựng sẵn như
các nút, các nhãn (label), list view,….
● android.webkit – Tập các lớp cho phép xây dựng khả năng duyệt web.

2.3.4 Android Runtime
Đây là phần thứ 3 của kiến trúc và nằm ở lớp thứ 2 từ dưới lên. Phần này cung cấp 1 bộ
phận quan trọng là Dalvik Vỉtual Machine – là 1 loại Java Virtual Machine được thiết kế đặc
biệt để tối ưu cho Android.
Dalvik VM sử dụng các đặc trưng của nhân Linux như quản lý bộ nhớ và đa luồng,
những thứ mà đã có sẵn trong Java. Dalvik VM giúp mọ ứng dụng Android chạy trong tiến
trình riêng của nó, với các thể hiện (instance) riêng của Dalvik virtual Machine.

Android Runtime cũng cung cấp 1 tập các thư viện chính giúp các nhà phát triển ứng
dụng Android có thể viết ứng dụng Android bằng Java.

2.3.5 Application Framework
Lớp Android Framework cung cấp các dịch vụ cấp độ cao hơn cho các ứng dụng dưới dạng
các lớp Java. Các nhà phát triển ứng dụng được phép sử dụng các dịch vụ này trong ứng dụng
của họ.
Android Framework bao gồm các dịch vụ chính sau:
● Activitty Manager – Kiểm sốt tất cả khía cạnh của vịng đời ứng dụng và ngăn xếp
các Activity.
● Content Providers – Cho phép các ứng dụng chia sẽ dữ liệu với các ứng dụng khác.
● Resource Manager – Cung cấp quyền truy cập vào các tài nguyên như các chuỗi, màu
sắc, các layout giao diện người dùng…
● Notifications Manager – Cho phép các ứng dụng hiển thị cảnh báo và các thông báo
cho người dùng.
● View System – Tập các thành phần giao diện (view) được sử dụng để tạo giao diện
người dùng.

2.3.6 Application
Lớp trên cùng của kiến trúc là Application. Các ứng dụng bạn tạo ra sẽ được cài đặt trên lớp
này. Ví dụ như: Danh bạ, nhắn tin, trò chơi…

2.4 Tổng quan .NET Framework
2.4.1 Giới thiệu
.NET framework – trong thuật ngữ lập trình có nghĩa là một tập hợp API – Application
Programming Interface là giao diện lập trình ứng dụng và một thư viện chia sẻ – shared

SVTH: Đinh Hoài Hiệp

Lớp: D15CQCP01-N11



Báo cáo ĐATN Đại học

Chương 2: Cơ sở lý thuyết của đề tài

library code mà các chuyên gia phát triển có thể gọi khi phát triển các ứng dụng để không
phải viết mã lệnh từ đầu.
Trong .NET Framework, thư viện mã được chia sẻ này có tên là Framework Class Library
viết tắt là FCL. Các bit của mã trong thư viện chia sẻ – shared library có thể thực hiện được
tất cả các loại chức năng khác nhau.
Phiên bản .NET Framework đang sử dụng trong đồ án này là 4.7.2.
2.4.2 Tính chất
● Sự hợp nhất thơng qua các chuẩn Internet cơng cộng:
Để có thể giao tiếp tốt với khách hàng, các đối tác trong kinh doanh được phân chia phụ
thuộc vào từng khu vực địa lý khác nhau. Hoặc tất cả các ứng dụng trong tương lai và những
giải pháp phát triển thì ln cần được hỗ trợ cho các chuẩn internet được tích hợp chặt chẽ với
các giao thức mà không bắt buộc người dùng phải hiểu rõ về cơ sở hạ tầng của nó.
● Khả nǎng biến đổi được thông qua một kiến trúc ghép nối lỏng:
Đa số các hệ thống lớn có tầm cỡ thế giới được xây dựng trên những kiến trúc không đồng
bộ dựa trên nền thông điệp – Message based. Những dự án được xây dựng ứng dụng trên một
kiến trúc như vậy thì thường rất phức tạp. .NET Framework được xây dựng để mang lại
những lợi thế về năng suất kiến trúc theo lối ghép nối chặt cùng khả năng biến đổi được và
vận hành nhanh chóng với lối kiến trúc ghép nối lỏng.
● Hỗ trợ nhiều ngôn ngữ:
Các chuyên gia thường sử dụng những ngơn ngữ khác nhau vì mỗi ngơn ngữ có những ưu
điểm riêng. .NET Framework cho phép các ứng dụng được viết trong nhiều ngơn ngữ lập
trình và có thể tích hợp chúng với nhau một cách chặt chẽ. Ngồi ra, khi sử dụng .NET
Framework người dùng có thể tận dụng những lợi ích của kỹ năng phát triển sẵn có.
● Nâng cao nǎng suất cho các nhà phát triển:

Số lượng chun viên lập trình các ứng dụng khơng nhiều nên họ phải làm việc trong nhiều
giờ mới có thể hồn thành cơng việc. Khi sử dụng .NET Framework có sẵn, thì bạn có thể loại
bỏ những khâu lập trình khơng cần thiết và chỉ tập trung vào viết các logic doanh nghiệp. Vì
ưu điểm của .NET Framework là tiết kiệm thời gian thực hiện các giao dịch tự động và dễ
dàng sử dụng trong việc quản lý bộ nhớ một các tự động hiệu quả.
● Bảo vệ những sự đầu tư thông qua việc bảo mật đã được cải tiến:
Một trong những vấn đề quan trọng nhất liên quan đến Internet đó chính là bảo mật thơng
tin. Kiến trúc bảo mật của .NET Framework được thiết kế từ dưới lên nhằm đảm bảo cho ứng
dụng và dữ liệu được bảo vệ thơng qua một mơ hình bảo mật an toàn và tinh vi.
● Tận dụng những dịch vụ của hệ điều hành:
Windows cung cấp cho bất cứ một nền tảng nào số lượng đa dạng các dịch vụ có sẵn như:
Truy cập dữ liệu, bảo mật tích hợp, giao diện tương tác người dùng. .NET Framework đã tận
dụng lợi ích này để hướng người dùng theo các sử dụng dễ dàng nhất.

SVTH: Đinh Hoài Hiệp

Lớp: D15CQCP01-N12


Báo cáo ĐATN Đại học

Chương 2: Cơ sở lý thuyết của đề tài

2.5 Tổng quan DevExpress cho .NET framework
2.5.1 Giới thiệu
Đối với những lập trình viên .NET thì DevEpress là một công cụ hết sức hữu dụng, cung
cấp rất nhiều control trong Visual Studio. DevExpress không chỉ giúp thiết kế winform hay
website đẹp hơn mà còn giúp cho việc lập trình được dễ dàng hơn, ta có thể thấy rõ nhất là
trong việc tương tác với cơ sở dữ liệu.
DevExpress được ra mắt lần đầu tiên vào năm 2011 và được đơng đảo lập trình viên .NET

sử dụng. Từ đó đến này đã trải qua rất nhiều phiên bản với nhiều nâng cấp đáng kể. Phiên bản
mới nhấtt hiện nay là v18.2. Với DevExpress ta có thể tự tạo cho mình một bộ Office riêng
chỉ trong vịng một vài tiếng

2.5.2 Thành phần của DevExpress
● WinForms Controls: Cung cấp các control cho WinForms.
● ASP.NET Controls: Cung cấp các control cho WebForms.
● WPF Controls: Cung cấp các control cho WPF.
● Silverlight Controls: Cung cấp các control cho Silverlight.
● XtraCharts: Control cung cấp các loại biểu đồ.
● XtraReports: Cung cấp các control tạo báo cáo.
● XPO: Cung cấp môi trường làm việc với database.
● XAF: Một công nghệ mới giúp việc phát triển phần mềm một cách nhanh chóng.

2.5.3 Ưu điểm DevExpress
● Hạn chế xuất hiện nhiều form riêng lẻ
● Có thể tự co giãn form bên trong form chính theo kích thước của form chính thay đổi
● Cung cấp rất nhiều UI đẹp cho Winform, Web…
● Hỗ trợ rất nhiều Control hữu dụng.
● Giúp việc lập trình trở nên nhanh, dễ dàng hơn.
● Dễ quản lý.
● Có nhiều tài liệu hỗ trợ.

2.5.4 Nhược điểm DevExpress
● Giá bản quyền cao, phiên bản đầy đủ có giá 2199$/năm.
● Cài đặt nặng.
● Bộ thư viện khá nặng và tốn thời gian khi load chương trình lần đầu.

2.6 Tổng quan SQL Server
2.6.1 Giới thiệu:

SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ (Relational Database Management
System (RDBMS) ) sử dụng câu lệnh SQL (Transact-SQL) để trao đổi dữ liệu giữa máy
Client và máy cài SQL Server. Một RDBMS bao gồm databases, database engine và các ứng
dụng dùng để quản lý dữ liệu và các bộ phận khác nhau trong RDBMS.

SVTH: Đinh Hoài Hiệp

Lớp: D15CQCP01-N13


Báo cáo ĐATN Đại học

Chương 2: Cơ sở lý thuyết của đề tài

SQL Server được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn (Very Large
Database Environment) lên đến Tera-Byte và có thể phục vụ cùng lúc cho hàng ngàn user.
SQL Server có thể kết hợp “ăn ý” với các server khác như Microsoft Internet Information
Server (IIS), E-Commerce Server, Proxy Server….
Một vài ấn bản SQL Server:
● Enterprise : chứa tất cả cá đặc điểm nổi bật của SQL Server, bao gồm nhân bộ máy cơ
sở dữ liệu và các dịch vụ đi kèm cùng với các công cụ cho tạo và quản lý phân cụm
SQL Server. Nó có thể quản lý các CSDL lớn tới 524 petabytes và đánh địa chỉ 12
terabytes bộ nhớ và hỗ trợ tới 640 bộ vi xử lý(các core của cpu)
● Standard : Rất thích hợp cho các cơng ty vừa và nhỏ vì giá thành rẻ hơn nhiều so với
Enterprise Edition, nhưng lại bị giới hạn một số chức năng cao cấp (advanced
features) khác, edition này có thể chạy tốt trên hệ thống lên đến 4 CPU và 2 GB RAM.
● Developer : Có đầy đủ các tính năng của Enterprise Edition nhưng được chế tạo đặc
biệt như giới hạn số lượng người kết nối vào Server cùng một lúc…. Ðây là phiên bản
sử dụng cho phát triển và kiểm tra ứng dụng. Phiên bản này phù hợp cho các cá nhân,
tổ chức xây dựng và kiểm tra ứng dụng

● Workgroup: ấn bản SQL Server Workgroup bao gồm chức năng lõi cơ sở dữ liệu
nhưng khơng có các dịch vụ đi kèm. Chú ý phiên bản này không còn tồn tại ở SQL
Server 2012.
● Express : SQL Server Express dễ sử dụng và quản trị cơ sở dữ liệu đơn giản. Được
tích hợp với Microsoft Visual Studio, nên dễ dàng để phát triển các ứng dụng dữ liệu,
an tồn trong lưu trữ, và nhanh chóng triển khai. SQL Server Express là phiên bản
miễn phí, khơng giới hạn về số cơ ở dữ liệu hoặc người sử dụng, nhưng nó chỉ dùng
cho 1 bộ vi xử lý với 1 GB bộ nhớ và 10 GB file cơ sở dữ liệu. SQL Server Express là
lựa chọn tốt cho những người dùng chỉ cần một phiên bản SQL Server 2005 nhỏ gọn,
dùng trên máy chủ có cấu hình thấp, những nhà phát triển ứng dụng khơng chun hay
những người u thích xây dựng các ứng dụng nhỏ.

2.6.2 Các thành phần của SQL Server
SQL Server được cấu tạo bởi nhiều thành phần như Database Engine, Reporting Services,
Notification Services, Integration Services, Full Text Search Service…. Các thành phần này
khi phối hợp với nhau tạo thành một giải pháp hoàn chỉnh giúp cho việc lưu trữ và phân tích
dữ liệu một cách dễ dàng.
2.6.2.1 Database Engine
Cái lõi của SQL Server:
Ðây là một engine có khả năng chứa data ở các quy mô khác nhau dưới dạng table và
support tất cả các kiểu kết nối (data connection) thông dụng của Microsoft như
ActiveX Data Objects (ADO), OLE DB, and Open Database Connectivity (ODBC).
Ngồi ra nó cịn có khả năng tự điều chỉnh (tune up) ví dụ như sử dụng thêm các tài nguyên
(resource) của máy khi cần và trả lại tài nguyên cho hệ điều hành khi một user log off.

SVTH: Đinh Hoài Hiệp

Lớp: D15CQCP01-N14



Báo cáo ĐATN Đại học

Chương 2: Cơ sở lý thuyết của đề tài

2.6.2.2 Replication
Cơ chế tạo bản sao (Replica):
Giả sử bạn có một database dùng để chứa dữ liệu được các ứng dụng thường xuyên cập
nhật. Một ngày đẹp trời bạn muốn có một cái database giống y hệt như thế trên một server
khác để chạy báo cáo (report database) (cách làm này thường dùng để tránh ảnh hưởng đến
performance của server chính). Vấn đề là report server của bạn cũng cần phải được cập nhật
thường xuyên để đảm bảo tính chính xác của các báo cáo. Bạn khơng thể dùng cơ chế back up
and restore trong trường hợp này. Thế thì bạn phải làm sao? Lúc đó cơ chế replication của
SQL Server sẽ được sử dụng để bảo đảm cho dữ liệu ở 2 database được đồng bộ
(synchronized).
2.6.2.3 Integration Services (DTS)
Integration Services là một tập hợp các công cụ đồ họa và các đối tượng lập trình cho việc
di chuyển, sao chép và chuyển đổi dữ liệu.
Nếu bạn làm việc trong một cơng ty lớn trong đó data được chứa trong nhiều nơi khác nhau
và ở các dạng khác nhau cụ thể như chứa trong Oracle, DB2 (của IBM), SQL Server,
Microsoft Access….Bạn chắc chắn sẽ có nhu cầu di chuyển data giữa các server này (migrate
hay transfer) và không chỉ di chuyển bạn cịn muốn định dạng (format) nó trước khi lưu vào
database khác, khi đó bạn sẽ thấy DTS giúp bạn giải quyết công việc trên dễ dàng.
2.6.2.4 Analysis Services
Một dịch vụ phân tích dữ liệu rất hay của Microsoft
Dữ liệu (Data) chứa trong database sẽ chẳng có ý nghĩa gì nhiều nếu như bạn khơng thể lấy
được những thơng tin (Information) bổ ích từ đó. Do đó Microsoft cung cấp cho bạn một công
cụ rất mạnh giúp cho việc phân tích dữ liệu trở nên dễ dàng và hiệu quả bằng cách dùng khái
niệm hình khối nhiều chiều (multi-dimension cubes) và kỹ thuật “khai phá dữ liệu” (data
mining).
2.6.2.5 Notification Services

Dịch vụ thông báo Notification Services là nền tảng cho sự phát triển và triển khai các ứng
dụng tạo và gửi thơng báo. Notification Services có thể gửi thông báo theo địch thời đến hàng
ngàn người đăng ký sử dụng nhiều loại thiết bị khác nhau.
2.6.2.6 Reporting Services
Reporting Services bao gồm các thành phần server và client cho việc tạo, quản lý và triển
khai các báo cáo. Reporting Services cũng là nền tảng cho việc phát triển và xây dựng các
ứng dụng báo cáo.
2.6.2.7 Full Text Search Service
Dịch vụ SQL Server Full Text Search là một dịch vụ đặc biệt cho đánh chỉ mục và truy vấn
cho dữ liệu văn bản không cấu trúc được lưu trữ trong các CSDL SQL Server. Đánh chỉ mục
với Full Text Search có thể dduwowcj tạo trên bất kỳ cột dựa trên dữ liệu văn bản. Nó sẽ rất
hiệu quả cho việc tìm các sử dụng tốn tử LIKE trong SQL với trường hợp tìm văn bản.

SVTH: Đinh Hồi Hiệp

Lớp: D15CQCP01-N15


Báo cáo ĐATN Đại học

Chương 2: Cơ sở lý thuyết của đề tài

2.6.2.8 Service Broker
Được sử dụng bên trong mỗi Instance, là mơi trường lập trình cho việc các ứng dụng nhảy
qua các Instance. Service Broker giao tiếp qua giao thức TCP/IP và cho phép các component
khác nhau có thể được đồng bộ cùng nhau theo hướng trao đổi các message. Service Broker
chạy như một phần của bộ máy cơ sở dữ liệu, cung cấp một nền tảng truyền message tin cậy
và theo hàng đợi cho các ứng dụng SQL Server.

2.7 Bảo mật trong hệ thống Microservices sử dụng JWT và API Gateway

Quá trình xác thực người dùng tương tự như cách sử dụng token. Khác biệt duy nhất là API
Gateway được thêm vào như một cổng chờ các external request. Kịch bản này có nghĩa là tất
cả các request phải thơng qua API Gateway, nhằm mục đích là ẩn đi sự hiện diện của
microservice. Với mỗi request thì API Gateway sẽ dịch token của người dùng thành một token
riêng mà chỉ nó có thể resolve:

Hình 2.3: sơ đồ tuần tự Microservice sử dụng API Gateway

SVTH: Đinh Hoài Hiệp

Lớp: D15CQCP01-N16


Báo cáo ĐATN Đại học

Chương 2: Cơ sở lý thuyết của đề tài

Với cách này thì log off khơng cịn là một vấn đề bởi vì API Gateway có thể revoke token
của người dùng khi log out cũng như tránh việc token có thể bị giải mã bằng cách giấu nó
khỏi client.
Lưu ý: Tại sao nói log off khơng cịn là một vấn đề, bởi vì nếu sử dụng theo cách thứ 2, tức
là client token, thì ta khơng thể tự revoke token được, nói cách khác là token khi được sinh ra
thì chỉ bị vơ hiệu hóa khi nó hết thời gian mà thôi, JWT về cơ bản không có cơ chế revoke.
Đây chính là cơ chế xác thực và phân quyền được sử dụng trong đồ án.

2.8 JPA
2.8.1 JPA là gì?
JPA là viết tắt của Java Persistence API, nó là một đặc tả Java cho việc ánh xạ giữa các đối
tượng Java với cơ sở dữ liệu quan hệ sử dụng công nghệ phổ biến là ORM (Object Relational
Mapping).


Hình 2.4: Sơ đồ khối thiết kế kết nối dữ liệu sử dụng ORM
JPA cung cấp đầy đủ các công cụ cho phép chúng ta có thể thao tác với cơ sở dữ liệu một
cách đơn giản và nhanh chóng. JPA có thể dùng để persist một đối tượng Java (POJO – Plain
Old Java Object) vào trong cơ sở dữ liệu hoặc lấy dữ liệu từ cơ sở dữ liệu và ánh xạ
(mapping) ra các đối tượng Java một cách đơn giản.
JPA hoạt động như một cầu nối giữa các table/ các mối quan hệ giữa các table trong
database và các class/ mối quan hệ giữa các object. Ví dụ: table USER với các column (Id,
username, password) sẽ tương ứng với class User.java với các field Id, username, password.
Từ đó mỗi khi truy vấn table hay các column ta sẽ gọi trực tiếp các phương thức trên các
class, các field của class mà không cần quan tâm tới việc đang dùng loại database nào, kiểu
dữ liệu database ra sao, …

2.8.2 ORM là gì?

Hình 2.5: Sơ đồ khối vai trị ORM

SVTH: Đinh Hoài Hiệp

Lớp: D15CQCP01-N17


Báo cáo ĐATN Đại học

Chương 2: Cơ sở lý thuyết của đề tài

ORM là viết tắt của Object Relational Mapping, là một cơng nghệ/ khái niệm/ q trình
chuyển đổi dữ liệu từ ngôn ngữ hướng đối tượng sang Database quan hệ và ngược lại. Ví dụ,
trong Java nó được thực hiện với sự trợ giúp của Reflection và JDBC.
ORM có khả năng xử lý các thao tác của nhiều loại cơ sở dữ liệu khác nhau một cách dễ

dàng mà không quan tâm đến loại database sử dụng (SQL Server, MySQL, PostgreSQL, …)
hay loại thao tác sử dụng (INSERT, UPDATE, DELETE, SELECT, …).

2.8.3 Một số ORM framework hỗ trợ JPA
JPA chỉ là một API định nghĩa các đặc tả cần thiết và khơng có code hiện thực từ những đặc
tả đó. Nó chỉ chứa những hướng dẫn để hiện thực ORM. Do đó cần phải có một cài đặt ORM
để hoạt động và persist các đối tượng Java. Các ORM Framework có thể sử dụng cho JPA
như: Hibernate, iBatis, Eclipse Link, OpenJPA, ….

2.8.4 Lợi ích của JPA
● Đơn giản hóa công nghệ cho tầng persistence (tầng dữ liệu).
● Không phụ thuộc vào các framework ORM.
● Có nhiều nhà cung cấp hỗ trợ cài đặt JPA.
● Dữ liệu có thể được lưu trữ thông qua việc ORM.

2.8.5 Kiến trúc JPA
JPA sử dụng metadata để ánh xạ các đối tượng persistence với các bảng trong cơ sở dữ liệu.
JPA hỗ trợ SQL như là một ngôn ngữ truy vấn để dễ dàng xử lý các truy vấn cơ sở dữ liệu.
Ngôn ngữ truy vấn JPA có thể dùng thực thi cả truy vấn tĩnh và truy vấn động.

Hình 2.6: Các thành phần của JPA API
JPA bao gồm ba thành phần chính là: Entity, EntityManager, và EntityManagerFactory.
Ngồi ra cịn có, EntityTransaction, Persistence, Query.

SVTH: Đinh Hoài Hiệp

Lớp: D15CQCP01-N18


Báo cáo ĐATN Đại học


Chương 2: Cơ sở lý thuyết của đề tài

2.8.5.1 Entity
Entity là các đối tượng thể hiện tương ứng 1 table trong cơ sở dữ liệu. Entity thường là các
class POJO đơn giản, chỉ gồm các phương thức getter, setter.
Dưới đây là một số đặc điểm của một Entity:
● Entity có thể tương tác với cơ sở dữ liệu quan hệ.
● Entity được xác định thông qua một định danh (id), tương đương với khóa chính trong
table của cơ sở dữ liệu quan hệ.
● Entity hỗ trợ transaction.
● Entity hỗ trợ kế thừa giống như những class Java khác.
2.8.5.2 EntityManager
EntityManager là một interface cung cấp các API cho việc tương tác với các Entity.
Một số chức năng cơ bản của EntityManager như:
● Persist: phương thức này dùng để lưu một thực thể mới tạo vào cơ sở dữ liệu.
● Merge: dùng để cập nhật trạng thái của entity vào cơ sở dữ liệu.
● Remove: xóa một instance của entity.
2.8.5.3 EntityManagerFactory
EntityManagerFactory được dùng để tạo ra một instance của EntityManager.
2.8.5.4 Persistence
Một Persistence định nghĩa một tập hợp các Entity class được quản lý bởi 1 instacne của
EntityManager trong ứng dụng.
Persistence (javax.persistence.Persistence) class bao gồm các phương thức static để lấy
instance của EntityManagerFactory.
2.8.5.5 EntityTransaction
Một Transaction là một tập hợp các thao tác trong đó tất cả các thao tác phải được thực hiện
thành công hoặc tất cả thất bại.
Một database transaction bao gồm một tập hợp các câu lệnh SQL được committed hoặc
rolled back trong một unit.

EntityTransaction có quan hệ 1-1 với EntityManager. Bất kỳ thao tác nào được bắt đầu
thông qua đối tượng EntityManager đều được đặt trong một Transaction. Đối tượng
EntityManager giúp tạo EntityTransaction.
2.8.5.6 Query
Đây là một interface, được mỗi nhà cung cấp JPA implement để có được các đối tượng quan
hệ đáp ứng các tiêu chí (criteria) truy vấn.
Hình bên dưới mơ tả quan hệ giữa các thành phần trên:

SVTH: Đinh Hoài Hiệp

Lớp: D15CQCP01-N19


Báo cáo ĐATN Đại học

Chương 2: Cơ sở lý thuyết của đề tài

Hình 2.7: Mơ hình quan hệ giữa các thành phần JPA

2.8.6 Các tính năng của JPA
Một số tính năng của JPA:
● JPA hỗ trợ plugable, tức là có thể sử dụng nhiều 3rd khác nhau như Hibernate hay
MyBatis.
● Hỗ trợ cấu hình thơng qua annotation và xml.
● Giảm bớt số lớp yêu cầu cho việc phát triển persistence.
● Không cần phải viết các mô tả triển khai trong XML. Các Annotation dựa trên
metadata đã hỗ trợ trong các ứng dụng JPA.
● Đã chuẩn hóa ORM và dễ dàng phát triển hơn.
● JPA hỗ trợ truy vấn động và tĩnh.
Nhiều IDE hỗ trợ phát triển ứng dụng JPA và có thể tự động sinh code ánh xạ từ cơ sở dữ liệu

thành các entity và ngược lại.

SVTH: Đinh Hoài Hiệp

Lớp: D15CQCP01-N20


Báo cáo ĐATN Đại học

Chương 3: Phân tích, thiết kế hệ thống thơng tin

CHƯƠNG 3. PHÂN TÍCH, THIẾT KẾ HỆ THỐNG THÔNG TIN
3.1 Yêu cầu cơ bản của đề tài:
3.1.1 Giới hạn nội dung đề tài
❖ Mô tả nghiệp vụ đề tài:
Hệ thống phần mềm ứng dụng dành cho những công ty hoặc tổ chức thu gom rác thải
nguy hại từ những hộ gia đình đăng kí thu gom trên hệ thống. Sau đó sẽ tổ chức cất giữ phân
loại trong kho cụ thể và bán lại cho những doanh nghiệp hoặc tổ chức xử lý hoặc tái chế
chuyên nghiệp.
Đối tượng rác thải nguy hại ở đây là những loại rác được khuyến cáo không được trộn lẫn
với rác thải sinh hoạt bình thường như pin các loại, những dụng cụ y khoa có chứa chất gây
hại như nhiệt kế thủy ngân,… các loại thiết bị điện tử hư hỏng, vỏ đựng hóa chất, thuốc.
❖ Về lý thuyết:
● Biết được quy trình phát triển ứng dụng trên nền tảng Android.
● Biết được cách xây dựng hệ thống Web Microservice.
● Hiểu được ngơn ngữ lập trình Java trên Android.
● Hiểu được quy trình phát triển ứng dụng trên Windows.
❖ Về thực hành:
Xây dựng ứng dụng cung cấp dịch vụ thu gom rác trên nền tảng Android với các chức năng:
- Ứng dụng Android dành cho khách hàng (người sử dụng thông thường):

● Chọn các loại rác tái chế, phế thải cần thu gom.
● Đặt lịch hẹn thu gom rác.
● Quản lý thông tin đơn đặt thu gom rác.
● Đăng nhập, đăng kí tài khoản.
● Xem lịch sử các đơn thu gom đã đặt.
● Xem danh sách phân loại rác thải nguy hại và độ nguy hiểm.
● Đánh dấu điểm thu gom sử dụng google map.
● Thay đổi thông tin cá nhân, truy dấu đơn hàng dựa trên mã đơn hàng.
- Ứng dụng Android dành cho nhân viên thu gom:
● Xem thông tin các đơn khách hàng đã đặt theo địa điểm và thời gian.
● Xác nhận thu gom dựa trên đơn đặt hàng của khách hàng.
● Xem đánh dấu điểm thu gom trên ứng dụng thông qua Google Maps.
● Thay đổi thông tin đơn đặt thu gom cho phù hợp điều kiện thực tế.
● Đăng nhập, đăng kí tài khoản.
● Thay đổi thông tin cá nhân, truy dấu đơn hàng dựa trên mã đơn hàng.
- Ứng dụng trên Windows dành cho nhân viên quản lý:
● Đăng nhập, đăng kí tài khoản cho nhân viên quản lý và nhân viên thu gom.
● Thêm loại rác, rác và thông tin rác.
● Xác nhận nhập đơn hàng từ nhân viên thu gom.
● Truy xuất gợi ý giá bán cho một loại rác theo thời gian.


Báo cáo ĐATN Đại học

Chương 3: Phân tích, thiết kế hệ thống thông tin

● Tạo phiếu xuất kho và tạo bản in của phiếu xuất.
- Xây dựng hệ thống Web Microservices dựa trên nền tảng Spring.
Xây dựng cơ sở dữ liệu của đề tài thông qua Microservice và SQL Server với các nội dung
của bảng trong SQL là những dữ liệu được nhập thông qua cách nhập trực tiếp vào hệ quản trị

CSDL của SQL Server là SQL Manager.

3.1.2 Đối tượng sử dụng sản phẩm minh họa của đề tài
● Người dùng cá nhân có sử dụng điện thoại Android.
● Người thu gom.
● Quản lý hệ thống.

3.2 Phân tích các chức năng xử lý trong đề tài
3.2.1 Về phía Server
-

Tạo cơ sở dữ liệu trên SQL Server.
Quản lý cơ sở dữ liệu bằng phần mềm phần mềm Web Microservice dựa trên Spring
boot.
Tạo RESTful API phép thiết bị thao tác với cơ sở dữ liệu.

3.2.2 Về phía Client
Xây dựng sản phẩm minh hoạ ứng dụng dịch vụ thu gom rác thải tái chế với các chức năng:
Đăng ký tài khoản người dùng:
● Chức năng dành cho người dùng sử dụng ứng dụng. Người dùng phải có tài khoản
mới sử dụng được ứng dụng.
● Mỗi tài khoản bao gồm các thông tin: Họ và tên, số điện thoại, tên đăng nhập, mật
khẩu, giới tính, địa chỉ đăng kí thu gom.
Quản lý tài khoản:
● Chức năng dành cho người dùng đã được đăng ký tài khoản có thể thực hiện xem và
chỉnh sửa tất cả thông tin của tài khoản trừ tên đăng nhập.
Quản lý các đơn đặt liên quan:
● Hiển thị lịch sử các đơn đặt có liên quan đến người dùng bao gồm các đơn đặt đã gửi,
đã hoàn tất, đang xử lý hay bị hủy.
Khởi tạo một đơn đặt hàng:

● Tạo đơn đặt hàng mới, cho phép chọn những sản phẩm có thể thu gom từ cơ sở dữ
liệu.
● Đặt lịch hẹn thu gom, tối đa đến 2 khoảng thời gian.
Quản lý các đơn đặt hàng đã khởi tạo:
● Cho phép truy vấn các đơn đặt hàng đã khởi tạo dựa theo địa điểm, thời gian khởi tạo.
● Cho phép chọn thu gom đơn đặt hàng đã khởi tạo.
Quản lý đơn đặt hàng đang thực hiện:
● Cho phép truy vấn các đơn đặt hàng đã chọn thu gom.
● Cho phép hiệu chỉnh thông tin những hàng đặt cho đơn hàng đã chọn và gửi hoàn tất
đơn hàng.


Báo cáo ĐATN Đại học

Chương 3: Phân tích, thiết kế hệ thống thông tin

Quản lý tài khoản quản trị và nhân viên:
● Cho phép tạo tài khoản quản trị và tài khoản nhân viên thu gom.
● Truy vấn hàng tồn kho trong từng kho.
● Truy vấn thông tin từng đơn hàng.
● Tạo phiếu xuất kho.
Lược đồ trạng thái của phiếu đặt thu gom trong đề tài:

Hình 3.1: Lược đồ trạng thái của đối tượng phiếu thu gom


Báo cáo ĐATN Đại học

Chương 3: Phân tích, thiết kế hệ thống thơng tin


3.3 Mơ hình use-case của sản phẩm đề tài

Hình 3.2: Mơ hình use-case của sản phẩm đề tài
Sản phẩm đề tài được ứng dụng với hai nhóm đối tượng cùng chức năng tương ứng:
● Nhóm người cá nhân: là những người đã đăng ký tài khoản để sử dụng ứng dụng, có
thể sử dụng các chức năng của ứng dụng như: quản lý thông tin tài khoản, đặt danh
sách các sản phẩm cần thu gom, đặt thời gian thu gom, quản lý danh sách các phiếu
thu gom liên quan đến cá nhân, đánh giá nhân viên thu gom, nhận thơng báo từ hệ
thống.
● Nhóm người dùng nhân viên thu gom: là những người dùng có tài khoản đăng nhập do
nhóm người quản lý tạo, có chức năng quản lý tài khoản, nhận lịch thu gom và hiệu
chỉnh thông tin thu gom cho phù hợp, truy vấn danh sách các phiếu thu gom có liên
quan đến cá nhân, nhận thơng báo từ hệ thống.
● Nhóm người dùng quản lý: là người dùng có tài khoản do người quản lý khác tạo, có
tính năng quản lý tất cả các tài khoản, truy vấn hàng tồn trong kho, thông tin phiếu đặt
thu gom, tạo phiếu xuất kho.


Báo cáo ĐATN Đại học

Chương 3: Phân tích, thiết kế hệ thống thông tin

3.4 Sơ đồ khối tổ chức của tồn bộ hệ thống

Hình 3.3: Sơ đồ khối tổ chức hệ thống

3.5 Sơ đồ khối tổ chức Microservice

Hình 3.4: Sơ đồ khối tổ chức hệ thống microservice
Trong đó:

-

Gateway-service giữ nhiệm vụ điều phối tải đến các dịch vụ trong hệ thống mà client
yêu cầu, xác minh cho client thông qua token.


×