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

Xây dựng hệ thống quản lý dịch vụ vận chuyển hàng hóa công cộng

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

XÂY DỰNG HỆ THỐNG QUẢN LÝ DỊCH VỤ VẬN CHUYỂN HÀNG HÓA CÔNG CỘNGNiên khóa: 2012 - 2016

VIỆN ĐẠI HỌC MỞ HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN

ĐỖ KHÁNH TÙNG
XÂY DỰNG HỆ THỐNG QUẢN LÝ DỊCH VỤ VẬN CHUYỂN
HÀNG HÓA CÔNG CỘNG

Chuyên ngành: Công nghệ Thông tin

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

Hà Nội - 2016


VIỆN ĐẠI HỌC MỞ HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN

ĐỖ KHÁNH TÙNG
XÂY DỰNG HỆ THỐNG QUẢN LÝ VẬN CHUYỂN HÀNG HÓA
CÔNG CỘNG
Chuyên ngành: Công nghệ Thông tin

Giảng viên hướng dẫn:
TS. Đinh Tuấn Long

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

Hà Nội - 2016



VIỆN ĐẠI HỌC MỞ HÀ NỘI

Cộng hòa xã hội chủ nghĩa Việt Nam

KHOA CÔNG NGHỆ THÔNG TIN

Độc lập – tự do – hạnh phúc
Hà Nội, ngày 03 tháng 01 năm 2016

NHIỆM VỤ CỦA ĐỒ ÁN TỐT NGHIỆP
Tên sinh viên: Đỗ Khánh Tùng

Lớp: 12B5

Tên đề tài: Xây dựng hệ thống quản lý dịch vụ vận chuyển hàng hóa công
cộng
Giảng viên hướng dẫn: TS Đinh Tuấn Long
1. NHIỆM VỤ VÀ NỘI DUNG
Xây dựng được hệ thống quản lí dịch vụ vận chuyển hàng hóa công cộng
để:
- Hệ thống xử lý lưu trữ dữ liệu trên server khi nhận được thông tin
khách hàng từ ứng dụng gửi lên.
- Hệ thống quản lý thông tin khách hàng và lái xe khi đã đăng ký tài
khoản, thuận tiện cho việc tra cứu, tìm kiếm.
- Quản lý được về các đơn đặt xe và hàng hóa của khách hàng. Trong
mỗi phần quản lý, sẽ có các chức năng sắp xếp, tìm kiếm theo từng mục
đích khác nhau.
- Ngoài ra người quản lý cũng nắm được về các loại phương tiện hiện
đang có trên hệ thống, hay các phương tiện đã đăng ký của lái xe.

- Sử dụng ngôn ngữ lập trình PHP, Joomla Framework để xây dựng giao
diện và các chức năng quản trị của website.
- Cơ sở dữ liệu dùng Mysql để thao tác với cơ sở dữ liệu.
2. NGÀY GIAO NHIỆM VỤ

05/01/2016


Nội dung và đề cương đồ án đã được Hội đồng chuyên ngành thông qua ngày
17 tháng 12 năm 2015.
GIẢNG VIÊN HƯỚNG DẪN

KHOA CÔNG NGHỆ THÔNG TIN


LỜI NÓI ĐẦU
Hiện nay, việc vận chuyển hàng hóa là một nhu cầu rất thực tế ở các khu vực
thành phố có nhiều dân cư. Các nhu cầu về việc di chuyển hàng hóa từ nơi
này đến nơi khác, việc vận chuyển những đồ đạc kích thước lớn cần đến
những phương tiện chuyên chở.
Hiện nay với việc phát triển mạnh về các ứng dụng di dộng trên điện thoại
thông minh, người dùng có thể tải và cài đặt để sử dụng ứng dụng một cách
nhanh chóng và thuận tiện.
Trên hệ thống quản lý, những thông tin về đơn đặt xe, thông tin khách hàng,
hàng hóa, ngày giờ.. sẽ được lưu trữ để phục vụ cho người quản lý cũng như
cần cho công ty sử dụng sau này. Hiện nay, một số công ty vẫn sử phương
pháp thủ công như lưu trữ qua giấy tờ, sổ sách,… Điều này cũng dễ xảy ra
việc mất mát dữ liệu, không chính xác thông tin. Khi cần tìm lại đơn đặt hàng
hay thông tin khách hàng đã từng sử dụng dịch vụ với công ty sẽ rất khó khăn
và mất thời gian. Chính vì thế, sự ra đời của các phần mềm hỗ trợ quản lý

cũng phát triển theo, giúp phục vụ và đáp ứng nhiều cho con người làm việc
hiệu quả hơn, đỡ tốn công sức hơn. Giúp việc quản lý công việc chặt chẽ hơn,
chống được những thất thoát về tư liệu, tài chính cũng như hàng hóa của
khách hàng.
Mục đích của luận án này là cung cấp một hệ thống quản lý được những vấn
đề khi vận chuyển hàng hóa như khách hàng, hàng hóa, đơn đặt hàng, các
phương tiện vận chuyển.


MỤC LỤC

Chương 1 CƠ SỞ LÝ THUYẾT CỦA ĐỒ ÁN........................................................ 1
1. Giới thiệu chung ............................................................................................ 1
1.1

Giới thiệu ngôn ngữ lập trình PHP .......................................................... 1

1.2

Giới thiệu mã nguồn mở Joomla ........................................................... 10

2. Thư viện và phần mềm sử dụng: .................................................................. 16
Chương 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG .................................................. 17
1. Định nghĩa bài toán...................................................................................... 17
2. Đối tượng sử dụng ....................................................................................... 19
3. Cây phân rã chức năng................................................................................. 20
4. Phân tích thiết kế ......................................................................................... 21
Chương 3 THIẾT KẾ HỆ THỐNG ........................................................................ 33
1. Thiết kế cơ sở dữ liệu .................................................................................. 33
2. Mô hình quan hệ .......................................................................................... 42

Chương 4 GIAO DIỆN .......................................................................................... 44
1. Giao diện hệ thống quản lý .......................................................................... 44
2. Giao diện ứng dụng trên mobile ................................................................... 55


TÓM TẮT ĐỒ ÁN
Tên đề tài: Xây dựng ứng dụng hỗ trợ giao thông trên hệ điều hành android.
Sinh viên thực hiện:
Đỗ Khánh Tùng

Lớp:1210A05.

Tóm tắt đồ án:
Nội dung đồ án tốt nghiệp là xây dựng hệ thốngquản lý về việc vận
chuyển hàng hóa. Quản lí về thông tin khách hàng và thông tin đơn đặt hàng,
cũng như tất cả thông tin phương tiện, hàng hóa đang sử dụng trên hệ thống.
Từ đó xây dựng hệ thống quản lý hàng hóatrên server dựa trên kiến thức đã
tìm hiểu được.


DANH MỤC CHỮ VIẾT TẮT

STT

Tên viết tắt

Tên đầy đủ

Định nghĩa tiếng Việt


1

CMS

Content

“Hệ thống quản trị nội dung nhằm

Management mục đích giúp dễ dàng quản lý,
System

chỉnh sửa nội dung. Nội dung ở đây
có thể là tin tức điện tử, báo chí hay
các media hình ảnh, video,..” [1]

2
3
4
5


DANH MỤC BẢNG
Bảng 3.1. Đặc tả cơ sở dữ liệu bảng Order ................................................... 32
Bảng 3.2. Đặc tả cơ sở dữ liệu bảng Customer ............................................. 33
Bảng 3.3. Đặc tả cơ sở dữ liệu bảng Customer_doc...................................... 34
Bảng 3.4. Đặc tả cơ sở dữ liệu bảng User ..................................................... 35
Bảng 3.5. Đặc tả cơ sở dữ liệu bảng Package ............................................... 37
Bảng 3.6. Đặc tả cơ sở dữ liệu bảng Vehicle ................................................ 38
Bảng 3.7. Đặc tả cơ sở dữ liệu bảng Vehicle_type........................................ 39
Bảng 3.8. Đặc tả cơ sở dữ liệu bảng Transaction .......................................... 40



DANH MỤC HÌNH VẼ

Hình 1.1. Giới thiệu về PHP ........................................................................... 1
Hình 1.2.Hoạt động của PHP.......................................................................... 7
Hình 1.3.Mô hình Client/Server ..................................................................... 8
Hình 1.4.Mô hình MVC ............................................................................... 11
Hình 1.5.Giới thiệu về RESTful API ............................................................ 13
Hình 2.1. Sơ đồ phân rã chức năng BFD ...................................................... 20
Hình 2.2. Sơ đồ luồng dữ liệu mức khung cảnh ............................................ 21
Hình 2.3. Sơ đồ luồng dữ liệu mức đỉnh ....................................................... 22
Hình 2.4. Sơ đồ luồng dữ liệu mức đỉnh Quản lí Client ................................ 22
Hình 2.5. Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng “Đăng nhập/Đăng
kí” ................................................................................................................ 23
Hình 2.6. Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng “Đặt xe” ............... 24
Hình 2.7. Sơ đồ luồng dữ liệu mức đỉnh Quản lí Server .............................. 25
Hình 2.8. Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng “Quản lý đặt xe”... 26
Hình 2.9. Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng “Quản lý khách
hàng”............................................................................................................ 27
Hình 2.10. Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng “Quản lý phương
tiện” ............................................................................................................. 28
Hình 2.11. Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng “Quản lý loại
phương tiện” ................................................................................................ 29
Hình 2.12. Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng “Quản lý hàng hóa”30
Hình 2.13. Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng “Quản lý giá” ..... 30
Hình 2.14. Sơ đồ luồng dữ liệu mức dưới đỉnh chức năng “Thống kê”......... 31
Hình 3.1. Cơ sở dữ liệu bảng Order .............................................................. 33
Hình 3.2. Cơ sở dữ liệu bảng Customer ........................................................ 34



Hình 3.3. Cơ sở dữ liệu bảng Customer_doc ................................................ 35
Hình 3.4. Cơ sở dữ liệu bảng User................................................................ 36
Hình 3.5. Cơ sở dữ liệu bảng Package .......................................................... 37
Hình 3.6. Cơ sở dữ liệu bảng Vehicle ........................................................... 38
Hình 3.7. Cơ sở dữ liệu bảng Vehicle_type .................................................. 40
Hình 3.8. Cơ sở dữ liệu bảng Transaction..................................................... 40
Hình 3.9. Sơ đồ cơ sở dữ liệu ....................................................................... 41


1

Chương 1 CƠ SỞ LÝ THUYẾT CỦA ĐỒ ÁN
1.

Giới thiệu chung

1.1 Giới thiệu ngôn ngữ lập trình PHP
PHP - viết tắt hồi quy của "Hypertext Preprocessor", là một ngôn ngữ lập
trình kịch bản được chạy ở phía Server nhằm sinh ra mã html trên client.
PHP được phát triển từ một sản phẩm có tên là PHP/FI. PHP/FI do Rasmus
Lerdorf tạo ra năm 1994, ban đầu được xem như là một tập con đơn giản của
các mã kịch bản Perl để theo dõi tình hình truy cập đến bản sơ yếu lý lịch của
ông trên mạng. Ông đã đặt tên cho bộ mã kịch bản này là 'Personal Home
Page Tools'. Khi cần đến các chức năng rộng hơn, Rasmus đã viết ra một bộ
thực thi bằng C lớn hơn để có thể truy vấn tới các cơ sở dữ liệu và giúp cho
người sử dụng phát triển các ứng dụng web đơn giản. Rasmus đã quyết định
công bố mã nguồn của PHP/FI cho mọi người xem, sử dụng cũng như sửa các
lỗi có trong nó đồng thời cải tiến mã nguồn.


Hình 1.1.Giới thiệu về PHP


2

PHP/FI
PHP/FI, viết tắt từ "Personal Home Page/Forms Interpreter", bao gồm một số
các chức năng cơ bản cho PHP như ta đã biết đến chúng ngày nay. Nó có các
biến kiểu như Perl, thông dịch tự động các biến của form và cú pháp HTML
nhúng. Cú pháp này giống như của Perl, mặc dù hạn chế hơn nhiều, đơn giản
và có phần thiếu nhất quán.
Vào năm 1997, PHP/FI 2.0, lần viết lại thứ hai của phiên bản C, đã thu hút
được hàng ngàn người sử dụng trên toàn thế giới với xấp xỉ 50.000 tên miền
đã được ghi nhận là có cài đặt nó, chiếm khoảng 1% số tên miền có trên mạng
Internet. Tuy đã có tới hàng nghìn người tham gia đóng góp vào việc tu chỉnh
mã nguồn của dự án này thì vào thời đó nó vẫn chủ yếu chỉ là dự án của một
người.
PHP/FI 2.0 được chính thức công bố vào tháng 11 năm 1997, sau một thời
gian khá dài chỉ được công bố dưới dạng các bản beta. Nhưng không lâu sau
đó, nó đã được thay thế bởi các bản alpha đầu tiên của PHP 3.0.
PHP 3
PHP 3.0 là phiên bản đầu tiên cho chúng ta thấy một hình ảnh gần gũi với các
phiên bản PHP mà chúng ta được biết ngày nay. Nó đã được Andi Gutmans
và Zeev Suraski tạo ra năm 1997 sau khi viết lại hoàn toàn bộ mã nguồn trước
đó. Lý do chính mà họ đã tạo ra phiên bản này là do họ nhận thấy PHP/FI 2.0
hết sức yếu kém trong việc phát triển các ứng dụng thương mại điện tử mà họ
đang xúc tiến trong một dự án của trường đại học. Trong một nỗ lực hợp tác
và bắt đầu xây dựng dựa trên cơ sở người dùng đã có của PHP/FI, Andi,
Rasmus và Zeev đã quyết định hợp tác và công bố PHP 3.0 như là phiên bản
thế hệ kế tiếp của PHP/FI 2.0, và chấm dứt phát triển PHP/FI 2.0.



3

Một trong những sức mạnh lớn nhất của PHP 3.0 là các tính năng mở rộng
mạnh mẽ của nó. Ngoài khả năng cung cấp cho người dùng cuối một cơ sở hạ
tầng chặt chẽ dùng cho nhiều cơ sở dữ liệu, giao thức và API khác nhau, các
tính năng mở rộng của PHP 3.0 đã thu hút rất nhiều nhà phát triển tham gia và
đề xuất các mô đun mở rộng mới. Hoàn toàn có thể kết luận được rằng đây
chính là điểm mấu chốt dẫn đến thành công vang dội của PHP 3.0. Các tính
năng khác được giới thiệu trong PHP 3.0 gồm có hỗ trợ cú pháp hướng đối
tượng và nhiều cú pháp ngôn ngữ nhất quán khác.

Ngôn ngữ hoàn toàn mới đã được công bố dưới một cái tên mới, xóa bỏ mối
liên hệ với việc sử dụng vào mục đích cá nhân hạn hẹp mà cái tên PHP/FI 2.0
gợi nhắc. Nó đã được đặt tên ngắn gọn là 'PHP', một kiểu viết tắt hồi quy của
"PHP: Hypertext Preprocessor".
Vào cuối năm 1998, PHP đã phát triển được con số cài đặt lên tới hàng chục
ngàn người sử dụng và hàng chục ngàn Web site báo cáo là đã cài nó. Vào
thời kì đỉnh cao, PHP 3.0 đã được cài đặt cho xấp xỉ 10% số máy chủ Web có
trên mạng Internet.
PHP 3.0 đã chính thức được công bố vào tháng 6 năm 1998, sau thời gian 9
tháng được cộng đồng kiểm nghiệm.
PHP 4
Vào mùa đông năm 1998, ngay sau khi PHP 3.0 chính thức được công bố,
Andi Gutmans và Zeev Suraski đã bắt đầu bắt tay vào việc viết lại phần lõi
của PHP. Mục đích thiết kế là nhằm cải tiến tốc độ xử lý các ứng dụng phức
tạp, và cải tiến tính mô đun của cơ sở mã PHP. Những ứng dụng như vậy đã
chạy được trên PHP 3.0 dựa trên các tính năng mới và sự hỗ trợ khá nhiều các



4

cơ sở dữ liệu và API của bên thứ ba, nhưng PHP 3.0 đã không được thiết kế
để xử lý các ứng dụng phức tạp như thế này một cách có hiệu quả.
Một động cơ mới, có tên 'Zend Engine' (ghép từ các chữ đầu trong tên của
Zeev và Andi), đã đáp ứng được các nhu cầu thiết kế này một cách thành
công, và lần đầu tiên được giới thiệu vào giữa năm 1999. PHP 4.0, dựa trên
động cơ này, và đi kèm với hàng loạt các tính năng mới bổ sung, đã chính
thức được công bố vào tháng 5 năm 2000, gần 2 năm sau khi bản PHP 3.0 ra
đời. Ngoài tốc độ xử lý được cải thiện rất nhiều, PHP 4.0 đem đến các tính
năng chủ yếu khác gồm có sự hỗ trợ nhiều máy chủ Web hơn, hỗ trợ phiên
làm việc HTTP, tạo bộ đệm thông tin đầu ra, nhiều cách xử lý thông tin người
sử dụng nhập vào bảo mật hơn và cung cấp một vài các cấu trúc ngôn ngữ
mới.
Với PHP 4, số nhà phát triển dùng PHP đã lên đến hàng trăm nghìn và hàng
triệu site đã công bố cài đặt PHP, chiếm khoảng 20% số tên miền trên mạng
Internet.
Nhóm phát triển PHP cũng đã lên tới con số hàng nghìn người và nhiều nghìn
người khác tham gia vào các dự án có liên quan đến PHP như PEAR, PECL
và tài liệu kĩ thuật cho PHP.
PHP 5
Sự thành công hết sức to lớn của PHP 4.0 đã không làm cho nhóm phát triển
PHP tự mãn. Cộng đồng PHP đã nhanh chóng giúp họ nhận ra những yếu
kém của PHP 4 đặc biệt với khả năng hỗ trợ lập trình hướng đối tượng
(OOP), xử lý XML, không hỗ trợ giao thức máy khách mới của MySQL 4.1
và 5.0, hỗ trợ dịch vụ web yếu. Những điểm này chính là mục đích để Zeev
và Andi viết Zend Engine 2.0, lõi của PHP 5.0. Một thảo luận trên Slashdot



5

đã cho thấy việc phát triển PHP 5.0 có thể đã bắt đầu vào thời điểm tháng 12
năm 2002 nhưng những bài phỏng vấn Zeev liên quan đến phiên bản này thì
đã có mặt trên mạng Internet vào khoảng tháng 7 năm 2002. Ngày 29 tháng 6
năm 2003, PHP 5 Beta 1 đã chính thức được công bố để cộng đồng kiểm
nghiệm. Đó cũng là phiên bản đầu tiên của Zend Engine 2.0. Phiên bản Beta 2
sau đó đã ra mắt vào tháng 10 năm 2003 với sự xuất hiện của hai tính năng rất
được chờ đợi: Iterators, Reflection nhưng namespaces một tính năng gây
tranh cãi khác đã bị loại khỏi mã nguồn. Ngày 21 tháng 12 năm 2003: PHP 5
Beta 3 đã được công bố để kiểm tra với việc phân phối kèm với Tidy, bỏ hỗ
trợ Windows 95, khả năng gọi các hàm PHP bên trong XSLT, sửa chữa nhiều
lỗi và thêm khá nhiều hàm mới. PHP 5 bản chính thức đã ra mắt ngày 13
tháng 7 năm 2004 sau một chuỗi khá dài các bản kiểm tra thử bao gồm Beta
4, RC 1, RC2, RC3. Mặc dù coi đây là phiên bản sản xuất đầu tiên nhưng
PHP 5.0 vẫn còn một số lỗi trong đó đáng kể là lỗi xác thực HTTP.
Ngày 14 tháng 7 năm 2005, PHP 5.1 Beta 3 được PHP Team công bố đánh
dấu sự chín muồi mới của PHP với sự có mặt của PDO, một nỗ lực trong việc
tạo ra một hệ thống API nhất quán trong việc truy cập cơ sở dữ liệu và thực
hiện các câu truy vấn. Ngoài ra, trong PHP 5.1, các nhà phát triển PHP tiếp
tục có những cải tiến trong nhân Zend Engine 2, nâng cấp mô đun PCRE lên
bản PCRE 5.0 cùng những tính năng và cải tiến mới trong SOAP, streams và
SPL.
PHP 6
Hiện nay phiên bản tiếp theo của PHP đang được phát triển, PHP 6 bản sử
dụng thử đã có thể được download tại địa chỉ . Phiên bản
PHP 6 được kỳ vọng sẽ lấp đầy những khiếm khuyết của PHP ở phiên bản
hiện tại, ví dụ: hỗ trợ namespace (hiện tại các nhà phát triển vẫn chưa công bố



6

rõ ràng về vấn đề này); hỗ trợ Unicode; sử dụng PDO làm API chuẩn cho việc
truy cập cơ sở dữ liệu, các API cũ sẽ bị đưa ra thành thư viện PECL...
Hiện nay, PHP đã trải qua rất nhiều phiên bản và được tối ưu hóa cho các ứng
dụng web, với cách viết mã rõ rãng, tốc độ nhanh, dễ học nên PHP đã trở
thành một ngôn ngữ lập trình web rất phổ biến và được ưa chuộng.
PHP chạy trên môi trường Webserver và lưu trữ dữ liệu thông qua hệ
quản trị cơ sở dữ liệu nên PHP thường đi kèm với Apache, MySQL và hệ
điều hành Linux (LAMP).

• Apache là một phần mềm web server có nhiệm vụ tiếp nhận yêu cầu từ
trình duyệt người dùng sau đó chuyển giao cho PHP xử lý và gửi trả lại
cho trình duyệt.

• MySQL cũng tương tự như các hệ quản trị cơ sở dữ liệu khác (Postgress,
Oracle, SQL server...) đóng vai trò là nơi lưu trữ và truy vấn dữ liệu.

• Linux: Hệ điều hành mã nguồn mở được sử dụng rất rộng rãi cho các
webserver. Thông thường các phiên bản được sử dụng nhiều nhất là
RedHat Enterprise Linux, Ubuntu...
- PHP hoạt động như thế nào?
Khi người sử dụng gọi trang PHP, Web Server sẽ triệu gọi PHP Engine để
thông dịch trang PHP và trả kết quả cho người dùng như hình bên dưới.


7

Hình 1.2.Hoạt động của PHP


Giới thiệu về mô hình Client-Server
Thuật ngữ server được dùng cho những chương trình thi hành như một dịch
vụ trên toàn mạng. Các chương trình server này chấp nhận tất cả các yêu cầu
hợp lệ đến từ mọi nơi trên mạng, sau đó nó thi hành dịch vụ và trả kết quả về
máy yêu cầu.
Một chương trình được coi là client khi nó gửi các yêu cầu tới máy có chương
trình server và chờ đợi câu trả lời từ server. Chương trình server và client nói
chuyện với nhau bằng các thông điệp (messages) thông qua một cổng truyền
thông liên tác IPC (Interprocess Communication). Để một chương trình server
và một chương trình client có thể giao tiếp được với nhau thì giữa chúng phải


8

có một chuẩn để nói chuyện, chuẩn này được gọi là giao thức. Nếu một
chương trình client nào đó muốn yêu cầu lấy thông tin từ server thì nó phải
tuân theo giao thức mà server đó đưa ra.
Một máy tính chứa chương trình Server dược coi là máy chủ hay máy phục vụ
(Server) và máy chứa chương trình Client là máy khách mô hình trên mạng
mà các máy chủ và máy khách giao tiếp với nhau theo một hoặc nhiều dịch vụ
được gọi là mô hình Client/Server.
Mô hình Client/Server
Thực tế mô hình Client/Server là sự mở rộng tự nhiên và tiện lợi cho việc
truyền thông tiến trình trên các máy tính cá nhân, mô hình này cho phép xây
dựng các chương trình Client/Server một cách dễ dàng và sử dụng chúng để
liên lạc vứi nhau đạt hiệu quả hơn. Mô hình Client/Server như sau:

Hình 1.3.Mô hình Client/Server
Đây là mô hình tổng quát nhất, trên thực tế thì Server có thể được nối với
nhiều Server khác nhằm làm việc hiệu quả và nhanh chóng hơn. Khi nhận

được yêu cầu từ Server này có thể gửi tiếp yêu cầu vừa nhận được cho một
Server khác ví dụ như database Server vì bản thân nó không thể xử lí yêu cầu
này được.


9

Với mô hình trên thì mô hình Client/Server chỉ mang đặc điểm của
phần mềm không liên quan đến phần cứng mặc dù trên thực tế yêu cầu cho
một máy Server là cao hơn rất nhiều so với máy Client. Lý do bởi vì máy
Server phải quản lý rất nhiều các yêu cầu từ các Client khác nhau trên mạng
máy tính.
Ứng dụng mô hình Client/Server
Như vậy, với dịch vụ này trên mạng, người sử dụng máy tính có thể truy cập
vào mạng để lấy thông tin khác nhau dựa trên văn bản, hình ảnh thậm chí cả
âm thanh (thông tin đa phương tiện - multimedia). Giao diện giữa người và
máy càng trở nên thân thiện, nhờ các biểu tượng và các thiết bị ngoại vi như
chuột, bút quang. Người dùng mạng không cần trình độ cao về tin học, với
một chút vốn tiếng anh đủ để hiểu những gì máy tính thông báo cũng có thể
dùng nó như một công cụ đắc lực.
Trong mô hình Client/Server, người ta còn định nghĩa cụ thể cho một máy
client là một máy trạm mà chỉ được sử dụng bởi 1 người dùng với để muốn
thể hiện tính độc lập cho nó. Máy client có thể sử dụng các hệ điều hành bình
thường như Win9x, DOS, OS/2... Bản thân mỗi một client cũng đã được tích
hợp nhiều chức năng trên hệ điều hành mà nó chạy, nhưng khi được nối vào
một mạng LAN, WAN theo mô hình client/server thì nó còn có thể sử dụng
thêm các chức năng do hệ điều hành mạng (NOS) cung cấp với nhiều dịch vụ
khác nhau (cụ thể là các dịch vụ do các server trên mạng này cung cấp), ví dụ
như nó có thể yêu cầu lấy dữ liệu từ một server hay gửi dữ liệu lên server đó...
Thực tế trong các ứng dụng của mô hình client/server, các chức năng hoạt

động chính là sự kết hợp giữa client và server với sự chia sẻ tài nguyên, dữ
liệu trên cả 2 máy Vai trò của client Trong mô hình client/server, client được
coi như là người sử dụng các dịch vụ trên mạng do một hoặc nhiều máy chủ


10

cung cấp và server đượ
ợc coi như là người cung cấp dịch vụ để trả lời các yêu
cầu của các clients. Điều quan trọng là phải hiểu đượcc vai trò hoạt
ho động của
nó trong mộtt mô hình cụ
c thể, mộtt máy client trong mô hình này llại có thể là
server trong mộtt mô hình khác. Ví dụ
d cụ thể như một máy trạm
m làm vi
việc như
một client bình thường
ng trong mạng
m
LAN nhưng đồng thờii nó có thể
th đóng vai
trò như một máy in chủ
ủ (printer server) cung cấp dịch vụ in ấn từ
ừ xa cho nhiều
người khác (clients) sử
ử dụng. Client được hiểu như là bề nổi củủa các dịch vụ
trên mạng, nếu
u có thông tin vào hoặc
ho ra thì chúng sẽ được hiểển thị trên máy

client.
nguồn mở Joomla
1.2 Giới thiệu mãã ngu

Hình 1.4
1.4.Giới thiệu về CMS Joomla

Joomla! là một hệ thống
ng qu
quản lý nội dung được trao giải thưởng
ng (CMS), cho
phép bạn xây dựng
ng các trang web và các ứng dụng trựcc tuy
tuyến mạnh mẽ.
Nhiều khía cạnh,
nh, bao ggồm cả việc dễ sử dụng và mở rộng củaa nó đã làm cho


11

Joomla! trở thành các phần mềm trang web phổ biến nhất. Cái tốt nhất,
Joomla là một giải pháp mã nguồn mở đó là tự do có sẵn cho tất cả mọi
người. [2]
Joomla được sử dụng trên khắp thế giới đến các trang web điện Web của tất
cả các hình dạng và kích cỡ. Ví dụ như:
-

Các trang web của công ty hoặc cổng thông tin;

-


Mạng nội bộ của công ty và Extranet;

-

Trực tuyến tạp chí, báo chí, và các ấn phẩm;

-

Thương mại điện tử và đặt phòng trực tuyến;

-

Ứng dụng chính phủ;

-

Website doanh nghiệp nhỏ;

-

Phi lợi nhuận và các trang web tổ chức;

-

Cổng thông tin dựa vào cộng đồng;

-

Trang web trường học;


-

….
Mô hình MVC trong Joomla


12

Hình 1.4.Mô hình MVC
MVC là viết tắt củaa Model – View – Controller. Là mộtt trong nh
những Design
Pattern. Được vận
n hành để tách mã lệnh thành 3 phần riêng biệệt. Ở mỗi phần
MVC sẽ có những chứcc năng
n
đặc thù. Để xử lý các tác vụ mà yêu ccầu gửi tới.
MVC làm cho mã lệnh
nh trở
tr nên trong sáng, dễ phát triển và dễ nâng cấp theo
thời gian.
Để làm việc tốt đối vớ
ới MVC, chúng ta cần nắm thật vững
ng ki
kiến thức OOP.
Bản chất củaa các framework khác cũng đượcc hình thành trên lý thuy
thuyết MVC.
Do vậy nếuu chúng ta nắm
n
tốt MVC. Thì ở những

ng framework khác ch
chắc chắn
sẽ không cảm thấy
y khó hiểu.
hi
- Model: Là thành phần
ph chịu trách nhiệm xử lý các thao tác trên Database.
Và gửi trả kết quả thông qua View.
- View: Là phần hiểển thị thông tin trên website, sau khi đi qua Controller
và nhận kết quả từ
t phía model thì View là bước cuốii cùng để chuyển
thông tin tới ngườ
ời dùng.


13

- Controller: Là phần điều hướng các yêu cầu tới những tác vụ tương ứng.
Controller là một phần không thể thiếu ở bất cứ framework nào. Vì nó có
trách nhiệm gửi và nhận yêu cầu từ hệ thống tới người sử dụng.
Phát triển các extension với Joomla
-

Joomla Extension là gì?

Joomla Extensions là các thành phần mở rộng của Joomla, đó là các gói ứng
dụng được phát triển bởi Joomla! hoặc các hãng thứ ba nhằm bổ sung và tăng
cường tính năng cho Joomla! giúp người sử dụng nhanh chóng triển khai một
hệ thống website phức tạp với nhiều chức năng, dịch vụ khác nhau.
- Các loại Extension Joomla

+ Component: Đây là ứng dụng thực hiện một chức năng lớn (tương tác với
người sử dụng ở mức cao). VD như: Quản lý tin bài, quản lý quảng cáo,
quản lý sản phẩm, quản lý download...
+ Module: Chủ yếu nhằm mục đích hiển thị thông tin (tương tác với người
sử dụng ở mức thấp). VD như: tin mới nhất, tin đọc nhiều nhất, đếm số lượt
truy cập...
+ Plugin: Nhằm thực hiện những chức năng đặc biệt hoặc giúp tự động hóa
một số quy trình, công đoạn. VD như: Cung cấp trình soạn thảo, xử lý
chứng thực quyền hạn, tự động thay thế các đoạn mã chèn video, flash,
mp3...
+ Template: Gói giao diện tạo nên bố cục và hình hài của Website
+ Language: Gói ngôn ngữ bản địa
+ Tools: Các công cụ hỗ trợ khác


14

Giới thiệu về RESTful API

Hình 1.5.Giới thiệu về RESTful API

REST (Representational State Transfer) đã được chọn sử dụng rộng rãi thay
cho Web service dựa trên SOAP và WSDL.
REST không thu hút được nhiều sự chú ý khi lần đầu tiên giới thiệu vào năm
2000 bởi Roy Fielding trong luận án của ông "Architectural Styles and the
Design of Network-based Software Architectures" (Phong cách kiến trúc và
thiết kế kiến trúc phần mềm dựa trên mạng) tại Đại học California.
Một số nguyên tắc cơ bản khi thiết kế :
• Sử dụng các phương thức HTTP một cách rõ ràng
• Phi trạng thái

• Hiển thị cấu trúc thư mục như URls
• Chuyển đổi JavaScript Object Notation (JSON) và XML hoặc cả hai.
Một đặc tính quan trọng của dịch Web service RESTful là sử dụng một cách
rõ ràng các phương thức HTTP theo cách một giao thức được xác định bởi


×