TRƯỜNG ĐẠI HỌC GIAO THƠNG VẬN TẢI
THÀNH PHỐ HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
LUẬN VĂN TỐT NGHIÊP
ĐỀ TÀI
XÂY DỰNG HỆ THỐNG DỊCH VỤ SMS
Giảng viên: ThS. ĐẶNG NHÂN CÁCH
Sinh viên thực hiện:
Bùi Dương Thế - 11L1120060
Phạm Thị Định - 11L1120006
Niên khóa 2011 -2013
Xây Dựng Hệ Thống Dịch Vụ SMS
Mục Lục
TÓM TẮT .................................................................................................................................................5
TÓM TẮT NỘI DUNG NGHIÊN CỨU ..................................................................................................7
THÔNG TIN KẾT QUẢ NGHIÊN CỨU .................................................................................................9
Chương 1: GIỚI THIỆU .........................................................................................................................13
1.1 Động cơ thực hiện đề tài ...............................................................................................................13
1.2 Mục đích và giới hạn của đề tài ....................................................................................................14
1.2.1 Mục tiêu của đề tài ................................................................................................................ 14
1.2.2 Giới hạn của đề tài ................................................................................................................ 15
1.3 Cấu trúc của đề tài .........................................................................................................................15
Chương 2: CƠ SỞ LÝ THUYẾT ............................................................................................................17
2.1 Cơ sở dữ liệu MySQL ...................................................................................................................17
2.2 Ngôn ngữ đánh dấu siêu văn bản - HTML....................................................................................18
2.3 Cấu trúc cơ bản của trang HTML/XHTML có dạng như sau, thường gồm 3 phần: .....................19
2.4 Cascading Style Sheet – CSS ........................................................................................................19
2.5 Ngơn ngữ lập trình PHP ................................................................................................................20
2.6 Lập trình hướng đối tượng ............................................................................................................21
2.7 Javascript (Ajax) ...........................................................................................................................23
2.8 Tóm Tắt .........................................................................................................................................27
Chương 3. CƠNG NGHỆ SMS .............................................................................................................28
1. SMS.................................................................................................................................................28
2. Ưu Điểm – Nhược Điểm .................................................................................................................29
3. Ứng dụng SMS................................................................................................................................30
Chương 4. SMS API ..............................................................................................................................34
Chương 5. HÀM SMS API .....................................................................................................................37
1. CheckClient.....................................................................................................................................37
2. GetClientBalance ............................................................................................................................37
3. SendSMS.........................................................................................................................................38
Giảng Viên: Ths Đặng Nhân Cách
Trang 2
Xây Dựng Hệ Thống Dịch Vụ SMS
4. SendMaskedSMS ............................................................................................................................40
5. GetSMSStatus (Pull) .......................................................................................................................42
6. GetSMSStatus (Push) ......................................................................................................................44
7. GetClientSenderNameList ..............................................................................................................45
8. GetListSMSHostingWithBalance ...................................................................................................47
9. GetCommingSMSListFromID (Pull) ..............................................................................................48
10. GetCommingSMSListFromID (Push) ..........................................................................................51
Chương 6. SỦ DỤNG HÀM API (SMS) ................................................................................................56
1. PHP .................................................................................................................................................56
2. PHP CURL ......................................................................................................................................57
3. ASPX ..............................................................................................................................................58
Chương 7. CÀI ĐẶT ỨUNG DỤNG Ozeki NG SMS Gateway ............................................................61
7.1 Chuẩn bị ........................................................................................................................................61
7.2 Cấu hình kết nơi thiết bị gửi tin nhắn ............................................................................................64
7.3 Test API ........................................................................................................................................71
7.4 Send SMS form PHP using HTTP ................................................................................................76
7.5 Load Balancing .............................................................................................................................80
7.6 SMS Bandwidth ............................................................................................................................83
Chương 8. CẤU HÌNH EMAIL PHP .....................................................................................................87
8.1 Gửi Email SMTP...........................................................................................................................87
8.2 Cấu hình gửi email từ localhost ....................................................................................................88
Chương 9. CẤU HÌNH HOSTING .........................................................................................................90
9.1. Host Cpenal ..................................................................................................................................90
9.2 Kloxo.............................................................................................................................................91
9.3 Directadmin ...................................................................................................................................91
9.4 Plesk .............................................................................................................................................93
Chương 10. MINH HỌA HÊ THỐNG ...................................................................................................97
Chương 11: KIỂM TRA VÀ ĐÁNH GIÁ HỆ THỐNG .......................................................................103
Giảng Viên: Ths Đặng Nhân Cách
Trang 3
Xây Dựng Hệ Thống Dịch Vụ SMS
10.1 Xây dựng kịch bản kiểm tra ......................................................................................................103
10.2 Dữ liệu kiểm tra ........................................................................................................................103
10.3 Kết quả kiểm tra ........................................................................................................................104
Chương 11: KẾT LUẬN .......................................................................................................................106
11.1 Kết luận .....................................................................................................................................106
11.2 Hướng mở rộng .........................................................................................................................107
TÀI LIỆU THAM KHẢO.....................................................................................................................108
LỜI CẢM ƠN .......................................................................................................................................109
Giảng Viên: Ths Đặng Nhân Cách
Trang 4
Xây Dựng Hệ Thống Dịch Vụ SMS
TÓM TẮT
Ngày nay, với tốc độ phát triển mạnh mẽ của ngành Công nghệ thông tin, cũng
như nhu cầu truyền tải thông tin và tiếp nhận thông tin ngày càng trở nên cấp thiết,
nhanh chóng, chính xác, hiệu quả. Chính vì thế, mà hầu hết tất cả các lĩnh vực đang
ngày càng hòa nhập vào tốc độ phát triển của ngành Công nghệ thông tin. Vì vậy, việc
áp dụng Cơng nghệ thơng tin (CNTT) vào công tác quản lý để đem lại hiệu quả cao
khơng cịn là mới. Đặc biệt, trong lĩnh vực giáo dục và đào tạo, nhiều trường ở Việt
Nam cũng đã áp dụng CNTT vào việc tổ chức và quản lý đào tạo, đem lại hiệu quả cao.
Trong đó, áp dụng CNTT vào tổ chức và theo dõi quản lý giảng dạy cũng được áp
dụng ở trong hầu hết các trường từ mầm non đến các trường Đại học. Với trường ĐH
GTVT Tp.HCM, cũng đã sử dụng hệ thống thông tin trong công tác tổ chức và quản lý
và theo dõi giảng dạy. Hệ thống này cơ bản cũng đã đáp ứng được nhu cầu hiện tại.
Nhưng với quy mô ngày càng phát triển của ngành Công nghệ thông tin và nhu cầu
tiếp nhận thơng tin ngày càng cao, thì hệ thống cung cấp thông tin hiện tại của nhà
trường không thể đáp ứng được.Vì hệ thống hiện tại phải phụ thuộc rất nhiều vào con
người, khơng có tính liên thơng tức thời đến các đối tượng liên quan. Nếu trong q
trình quản lý có sự thay đổi,điều chỉnh, tin cấp tốc thì phải mất một thời gian các đối
tượng liên quan mới cập nhật được. Đôi khi những việc cần gấp muốn thống kê để
đánh giá tình hình lại chưa cập nhật đầy đủ dữ liệu. Với ưu thế cơ sở vật chất sẵn có, hệ
thống server mạnh mẽ. Nếu áp dụng CNTT một cách hiệu quả và thông minh vào việc
tổ chức quản lý giảng dạy sẽ đem lại hiệu qua kinh tế cao cho nhà trường. Qua đó cũng
tiết kiệm rất nhiều thời gian cho mọi người. Với nhu cầu đó, nhóm nghiên cứu Xây
Dựng Hệ Thống Dịch Vụ SMS để tích hợp vào quản lý theo dõi, quản lý đào đào tạo
áp dụng cho trường Đại Học Giao Thơng Vận Tải Tp. Hồ Chí Minh.
Đề tài nghiên cứu này được xây dựng trên nền tảng có sẵn của một hệ thống với
tên gọi là TMS giải quyết được những điểm yếu của hệ thống hiện tại, đáp ứng được
Giảng Viên: Ths Đặng Nhân Cách
Trang 5
Xây Dựng Hệ Thống Dịch Vụ SMS
nhu cầu cấp thiết cho tất cả các giảng viên cũng như các khoa phịng ban, sinh viên,
phụ huynh, cung cấp thơng tin cho mọi đối tượng liên quan thông qua tin nhắn SMS
Với hệ thống này, những việc trước đây phải mất rất nhiều thời gian chờ đợi và
phải có internet mới đến được với các đối tượng liên quan thì nay được xử lý tức thời
thông qua tin nhắn SMS.
Hệ thống được triển khai nên nền Web, chạy trên Web Server PHP và dùng cơ
sở dữ liệu MySQL. Hệ thống được xây dựng theo hướng tổng quát với khả năng tùy
biến và mở rộng cao, không phụ thuộc nhiều vào nhà phát triển hệ thống.
Giảng Viên: Ths Đặng Nhân Cách
Trang 6
Xây Dựng Hệ Thống Dịch Vụ SMS
TÓM TẮT NỘI DUNG NGHIÊN CỨU
BÁO CÁO LUẬN VĂN TỐT NGHIỆP
Tên đề tài: XÂY DỰNG HỆ THỐNG DỊCH VỤ SMS
Giảng viên: Ths. Đặng Nhân Cách
Sinh viên thực hiện:
Bùi Dương Thế - 11L1120060
Phạm Thị Định – 11L1120006
Cơ quan quản lý: Khoa Công Nghệ Thông Tin
Cơ quan và cá nhân phối hợp thực hiện:
Thời gian thực hiện: 13 tuần
1. HIỆN TRẠNG HỆ THỐNG
-
Hệ thống cung cấp thông tin cho sinh viên sử dụng SMS, những sinh viên khơng
sử dụng SMS thì khơng nhận được thơng tin kịp thời.
-
Hệ thống đang cập nhật thông tin sinh viên thủ công làm hao tốn nhiều thời gian
với số lượng lớn sinh viên mới vào trường hàng năm.
-
Kết thúc mỗi mơn học nhà trường chưa biết sinh viên có hài lịng với các giảng
dạy của giảng viên hay khơng.
-
Hệ thống hiện tại chỉ cung cấp lịch biểu cho giảng viên, sinh viên chỉ có file
excel lịch học, khi sinh viên cần xem lịch học phải mở file Excel, nên khi có
việc đột xuất như nghỉ học, dạy bù, đổi phịng học, thơng báo từ nhà trường…
thì sinh viên khơng sử dụng SMS chưa cập nhật được kịp thời.
-
Hệ thống đang sử dụng dịch vụ SMS API của fibosms.vn, vì thế chi phí cho
việc thuê dịch vụ làm cho sinh viên mất chi phí tin nhắn giá cao gấp đơi.
Giảng Viên: Ths Đặng Nhân Cách
Trang 7
Xây Dựng Hệ Thống Dịch Vụ SMS
2. Mục tiêu:
- Nghiên cứu dịch vụ SMS API.
- Thích hợp dịch vụ SMS vào hệ thống “Hệ Thống Quản Lý Giảng Dạy” của
trường Đại Học Giao Thông Vận Tải TP HCM.
- Khắc phục sự phụ thuộc vào internet.
- Cung cấp thông tin nhanh nhất đến các đối tượng liên quan.
- Giải quyết nhưng tồn đọng của hiện trạng hệ thống đã đề cập ở trên.
3. Nội dung chính:
Xây dựng và tích hợp dịch vụ SMS vào hệ thống “Hệ thống quản lý giảng dạy”,
+ Dựng giao diện sử dụng cho sinh viên.
+ Import danh sách sinh viên (có sử dụng hoặc khơng sử dụng SMS).
+ Đánh giá môn học sau khi kết thúc môn học.
+ Gửi tin nhắn thông báo của trường cho sinh viên hoặc phụ huynh (toàn trường,
theo lớp, giảng viên, phụ huynh, sinh viên).
+ Gửi tin nhắn theo file excel
+ Xây dựng hệ thống SMS Gateway
+ Load Balancing SMS
+ Tài liệu hướng dẫn triển khai dịch vụ SMS
+ Chuyển giao công nghệ cho các tổ chúc, công ty, doanh nghiệp cá nhân có nhu
cầu sự dụng SMS.
4. Kết quả chính đạt được (khoa học, ứng dụng, đào tạo, kinh tế – xã hội, v.v…)
Xây dựng và tích hợp được dịch vụ SMS vào “Hệ thống quản lý giảng dạy” có
tên là SMS_TMS, được ứng dụng cho phòng đào tạo, phòng thanh tra, các khoa,
giảng viên, sinh viên và phụ huynh.
Giảng Viên: Ths Đặng Nhân Cách
Trang 8
Xây Dựng Hệ Thống Dịch Vụ SMS
BỘ GIAO THÔNG VẬN TẢI
TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI THÀNH PHỐ HỒ CHÍ MINH
THƠNG TIN KẾT QUẢ NGHIÊN CỨU
Tên đề tài: XÂY DỰNG HỆ THỐNG DỊCH VỤ SMS
Giảng viên: Ths. Đặng Nhân Cách
Sinh viên thực hiện:
Bùi Dương Thế - 11L1120060
Phạm Thị Định - 11L1120006
Thời gian thực hiện: 9 tuần
Cơ quan quản lý: Khoa Công Nghệ Thông Tin - Trường Đại học Giao thơng vận tải
thành phố Hồ Chí Minh.
KẾT QUẢ ĐẠT ĐƯỢC
1. Các chức năng SMS được tích hợp vào hệ thống
Là một hệ thống chạy trên nền Web với các mô đun sau:
+ Dựng giao diện sử dụng cho sinh viên.
+ Import danh sách sinh viên (có sử dụng hoặc khơng sử dụng SMS).
+ Đánh giá môn học sau khi kết thúc môn học.
+ Gửi tin nhắn thông báo của trường cho sinh viên hoặc phụ huynh (toàn trường,
theo lớp, giảng viên, phụ huynh, sinh viên).
+ Gửi tin nhắn theo file excel.
+ Xây dựng hệ thống SMS Gateway
+ Load Balancing SMS
Giảng Viên: Ths Đặng Nhân Cách
Trang 9
Xây Dựng Hệ Thống Dịch Vụ SMS
+ Tài liệu hướng dẫn triển khai dịch vụ SMS
+ Chuyển giao công nghệ cho các tổ chúc, công ty, doanh nghiệp cá nhân có nhu
cầu sự dụng SMS.
2. Cơng nghệ sử dụng
+ FrameWork của Ths. Đăng Nhân Cách
+ Sử dụng công nghệ SMS API của Fibosms Việt Nam
+ Sự dụng công nghệ Ozeki NG SMS Gateway
+ Tất cả các thiết bị Modem, GSM, Mobile (có cổng USB)
3. Ứng dụng trong sản xuất và hiệu quả kinh tế
Hệ thống có thể áp dụng ngay cho trường Đại Học Giao Thông Vận Tải Tp.
HCM hoặc tất cả các trường hoặc Đại Học, Cao Đẳng khác, các tập đồn, cơng ty, tổ
chức cá nhân có nhu cầu truyền tải thông tin qua SMS.
Hệ thống sẽ giúp giảm tải những việc làm bằng tay. Đem lại thông tin nhanh
chóng tức thời qua hệ thống SMS hoặc email.
Tiết kiệm thời gian, chi phí cho sinh viên, phụ huynh và nhà trường.
Tiết kiệm được nguồn nhân lực
Phối hợp giữa nhà trường và phụ huynh tốt hơn
4. Đào tạo:
Để sử dụng tốt hệ thống, các đối tượng và phòng ban liên quan phải được tập
huấn hướng dẫn sử dụng hệ thống. Các phòng ban và đối tượng khác nhau sẽ tiếp cận
sử dụng hệ thống khác nhau.
Giảng Viên: Ths Đặng Nhân Cách
Trang 10
Xây Dựng Hệ Thống Dịch Vụ SMS
Danh sách bảng biểu
Hình 1.1: Mơ hình SMS Gateway
Hình 2.1 Kiến trúc tổng quan của MySQL
Hình 2.2 Mysql và PHP
Hình 2.3 Cấu trúc cơ bản của trang HTML
Hình 2.4 Cấu trúc của một CSS
Hình 2.4: Mơ hình kết hợp cho một hệ thống gồm database, Web, Mail,
File và PHP
Hình 2.5 Mơ hình hướng đối tượng cơ bản của một trang truy xuất cơ sở
dữ liệu
Hình.2.7.1 So sánh ứng dụng web truyền thống (trái) với AJAX
Hình 4.1 Mơ hình cơ bản xử lý SMS và Database
Hình 4.1: Mơ tả các ngơn ngữ có thể kết nối SMS
Hình 5.1: Mơ hình kết nối SMS giữa FiboSMSGateway và đối tác qua
giao thức HTTP GET.
Hình 7.1 Các thiết bị đầu cuối cần thiết của hệ thống SMS
Hình 7.4.1 Gửi tin nhăn từ Mysql, SQL..
Hình 7.4.2 Gửi tin nhắn qua From
Hình 7.5.1 Hai thiết bị gửi tin nhắn chưa được phân luồng
Hình 7.5.1 Hai thiết bị gửi tin nhắn đã được phân luồng theo User
Hình 7.5.3 Phân theo khả năng gửi tin nhắn trên thiết bị
Hình 7.5.4 Giải pháp cho mơ hình khả năng gửi của thiết bị
Giảng Viên: Ths Đặng Nhân Cách
Trang 13
Trang 17
Trang 18
Trang 18
Trang 19
Trang 21
Trang 22
Trang 25
Trang 34
Trang 35
Trang 44
Trang 61
Trang 78
Trang 78
Trang 81
Trang 82
Trang 82
Trang 83
Trang 11
Xây Dựng Hệ Thống Dịch Vụ SMS
Danh sách các cụm từ viết tắt
CSDL
GSM
SMS
CNTT
ĐH - GTVT
API
SIM
3G
HTML
SQL
AJAX
PHP
SOAP
HTTP
RSS
SNMP
SMTP
Giảng Viên: Ths Đặng Nhân Cách
Cơ sở dữ liệu
Global System for Mobile Communications
Short Message Service
Công nghệ thông tin
Đại học Giao Thông Vận Tải
Application Programing Interface
Subscriber Identity Module
Third Generation
HyperText Markup Language
Structured Query Language
Asynchronous JavaScript And XML
Hypertext Preprocessor
Simple Object Access Protocol
Hypertext Transfer Protocol
Rich Site Summary
Simple Network Management Protocol
Simple Mail Transfer Protocol
Trang 12
Xây Dựng Hệ Thống Dịch Vụ SMS
Chương 1: GIỚI THIỆU
1.1 Động cơ thực hiện đề tài
Ngày nay, việc áp dụng Công nghệ thông tin (CNTT) vào công tác quản lý để
đem lại hiệu quả cao khơng cịn là mới. Đặc biệt, trong lĩnh vực giáo dục và đào tạo,
nhiều trường ở Việt Nam cũng đã áp dụng CNTT vào việc tổ chức và quản lý đào tạo,
đem lại hiệu quả cao. Trong đó, áp dụng CNTT vào tổ chức và theo dõi giảng dạy cũng
được áp dụng ở một số trường. Với trường ĐH GTVT Tp.HCM, cũng đã sử dụng hệ
thông tin trong công tác tổ chức và quản lý và theo dõi giảng dạy. Hệ thống này cơ bản
cũng đã đáp ứng được nhu cầu hiện tại. Nhưng với quy mơ ngày càng phát triển của
Trường thì hệ thống hiện tại khơng thể đáp ứng được.
Hình 1.1: Mơ hình SMS Gateway
Hệ thống hiện tại phải phụ thuộc rất nhiều vào con người, khơng có tính liên
thơng tức thời đến các đối tượng liên quan, những sinh viên không sử dụng SMS thì sẽ
khơng nhận được thơng tin kịp thời Nếu trong q trình giảng dạy có sự thay đổi hoặc
điều chỉnh như: xin nghỉ dạy; đăng ký dạy bù; thay đổi phịng học;… thì phải mất một
thời gian các đối tượng liên quan mới cấp nhật được. Đôi khi những việc cần gấp muốn
thống kê để đánh giá tình hình lại chưa cập nhật đầy đủ dữ liệu. Việc cập nhật thông
Giảng Viên: Ths Đặng Nhân Cách
Trang 13
Xây Dựng Hệ Thống Dịch Vụ SMS
tin sinh viên thủ công làm hao tốn thời gian, nhà trường chưa đánh giá được mức độ
hiểu bài của sinh viên. mặt khác với việc sử dụng dịch vụ SMS API của fibosms.vn thì
chi phí cho việc th dịch vụ chi phí khá cao.Với ưu thế cơ sở vật chất sẵn có, hệ thống
server mạnh mẽ. Nếu áp dụng CNTT một cách hiệu quả và thông minh vào việc tổ
chức quản lý giảng dạy sẽ đem lại hiệu quả kinh tế cao cho nhà trường. Qua đó cũng
tiết kiệm rất nhiều thời gian cho mọi người. Với nhu cầu đó, đề tài nghiên cứu khoa
học cấp cơ sở này sẽ nghiên cứu và xây dựng một hệ thống quản lý theo dõi đào đào
tạo áp dụng cho trường Đại Học Giao Thông Vận Tải Tp. Hồ Chí Minh.
Đề tài nghiên cứu này đã xây dựng và tích hợp hệ thống SMS vào thống TMS
của Đại Học Giao Thơng Vận Tải Tp. Hồ Chí Minh. Giải quyết được những điểm yếu
của hệ thống hiện tại, đáp ứng được nhu cầu cấp thiết cho tất cả các giảng viên cũng
như các khoa phòng ban, sinh viên, phụ huynh.
Với hệ thống này, những việc trước đây phải mất rất nhiều thời gian chờ đợi và
phải có internet mới đến được với các đối tượng liên quan thì nay được xử lý tức thời
thơng qua tin nhắn SMS hoặc email.
1.2 Mục đích và giới hạn của đề tài
1.2.1 Mục tiêu của đề tài
Như đã trình bày ở trên, việc tích hợp hệ thống SMS vào hệ thống quản lý giảng
dạy của trường hiện tại không đáp ứng được tính tức thời, mọi lúc mọi nơi. Vì vậy,
mục tiêu của đề tài là xây dựng một hệ thống SMS nhằm giải quyết các vấn đề này.
Trong khuôn khổ của một đề tài nghiên cứu, đề tài sẽ tập trung nghiên cứu tích hợp
SMS vào hệ thống giải quyết trước một số vấn đề còn tồn đọng cấp thiết nhất, đáp ứng
nhu cầu ngày càng cao, càng hiện đại trong công tác truyền tải thông tin.
Giảng Viên: Ths Đặng Nhân Cách
Trang 14
Xây Dựng Hệ Thống Dịch Vụ SMS
1.2.2 Giới hạn của đề tài
Với mục tiêu và đóng góp được đề cập như trên, đề còn những hạn chế như:
- Đối tượng và phạm vi nghiên cứu là cán bộ, giảng viên, sinh viên và phụ
huynh trong trường đại học GTVT Tp.HCM.
- Hệ thống dịch vụ SMS hiện tại còn phụ thuộc vào thiết bị như SIM,
Modem để gửi tin nhắn hoặc nhà cung cấp dịch vụ.
- Cần kiểm tra thường xuyên thiết bị gửi tin nhắn (SIM, Modem, 3G...)
- Phần giao diện của SV chưa truy cập được trên thiết bị di động
1.3 Cấu trúc của đề tài
Phần trên giới thiệu động cơ thực hiện cũng như mục đích và giới hạn của đề tài
nghiên cứu. Những phần còn lại của đề tài được trình bày như sau:
Chương 1: Giới Thiệu
Chương 2: Giới thiệu cơ sở lý thuyết dùng để thực hiện trong nghiên cứu và
phát triển hệ thống cho đề tài này. Các khái niệm và thư viện của những ngơn
ngữ lập trình và cơ sở dữ liệu MySqL, Ajax được trình bày một cách tổng quan.
Chương 3: Cơng nghệ SMS. Vai trị và tính cần thiết của SMS trong thời đại
hiện nay.
Chương 4: SMS API
Chương 5: Hàm SMS API
Chương 6: Cách sử dụng hàm SMS API.
Chương 7: Cài đặt dịch vu SMS (Ozeki NG SMS Gateway)
Chương 8 : Cấu hình Email PHP
Chương 9: Demo ứng dụng SMS
Giảng Viên: Ths Đặng Nhân Cách
Trang 15
Xây Dựng Hệ Thống Dịch Vụ SMS
Chương 10: Kiểm tra và đánh giá hệ thống
Chương 11 : Kết luận
Tài liệu tham khảo
Lời cảm ơn
Giảng Viên: Ths Đặng Nhân Cách
Trang 16
Xây Dựng Hệ Thống Dịch Vụ SMS
Chương 2: CƠ SỞ LÝ THUYẾT
2.1 Cơ sở dữ liệu MySQL
MySQL [1] là hệ quản trị cơ sở dữ liệu tự do mã nguồn mở phổ biến nhất hiện nay và
được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Vì MySQL
là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên
nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh.Với tốc độ và
tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên
internet. MySQL miễn phí hồn tồn cho nên có thể tải về MySQL từ trang chủ. Nó có
nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điều
hành dòng Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare,
SGI Irix, Solaris, SunOS,...
Hình 2.1 Kiến trúc tổng quan của MySQL
Giảng Viên: Ths Đặng Nhân Cách
Trang 17
Xây Dựng Hệ Thống Dịch Vụ SMS
MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan
hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL). MySQL được sử dụng cho việc bổ
trợ PHP, Perl, và nhiều ngôn ngữ khác như hình 2.1, nó làm nơi lưu trữ những thơng
tin trên các trang web viết bằng PHP hay Perl,... Trong đề tài nghiên cứu này chúng tôi
sử dụng MySQL với ngôn ngữ PHP để xây dựng hệ thống.
Hình 2.2 Mysql và PHP
2.2 Ngôn ngữ đánh dấu siêu văn bản - HTML
HTML [2] là dạng viết tắt của Hyper Text Markup Language (ngôn ngữ đánh dấu siêu
văn bản) được biết đến là một loại ngôn ngữ dùng để mô tả hiển thị các trang web.
Nhiều người nhầm tưởng HTML là ngôn ngữ lập trình nhưng sự thực khơng phải như
vậy, nó là một ngôn ngữ đánh dấu. Một ngôn ngữ đánh dấu là một bộ các thẻ đánh dấu.
Cấu trúc c7 bản của ngơn ngữ này được thể hiện ở hình 2.2 phía dưới.
Hình 2.3 Cấu trúc cơ bản của trang HTML
Giảng Viên: Ths Đặng Nhân Cách
Trang 18
Xây Dựng Hệ Thống Dịch Vụ SMS
2.3 Cấu trúc cơ bản của trang HTML/XHTML có dạng như sau, thường gồm 3 phần:
<!Doctype>
:Phần khai báo chuẩn của html hay xhtml.
<head></head>
:Phần khai báo ban đầu, khai báo về meta, title, css, javascript…
<body></body>
:Phần chứa nội dung của trang web, nơi hiển thị nội dung.
2.4 Cascading Style Sheet – CSS
Cascading Style Sheets [3], hay còn gọi tắt là CSS, là những tập tin hỗ trợ cho trình
duyệt web trong việc hiển thị một trang HTML. Về cơ bản, các trang HTML như bộ
xương - khuôn khổ cơ bản của một trang web, trong khi các file CSS sẽ cụ thể hóa các
thành phần của một trang nên được hiển thị như thế nào. CSS cho phép kiểm sốt
phơng chữ, màu chữ, kiểu nền...của một trang HTML. Cấu trúc cơ bản của CSS được
thể hiện trong hình 2.3 bên dưới.
Hình 2.4 Cấu trúc của một CSS
Cú pháp của CSS được chia làm 3 phần:
+ phần thẻ chọn (selector),
+ phần thuộc tính (property),
+ phần nhãn (value).
CSS đã giúp cho việc thay đổi phong cách của một trang web đơn giản hơn và
đỡ tốn thời gian hơn, có thể thực hiện sự thay đổi trên một mục nào đó và sau đó áp
dụng sự thay đổi này trên tồn bộ trang web thay vì phải thực hiện trên từng mục riêng
lẻ như trước đây. CSS có một số đặc điểm nổi trội như sau:
Giảng Viên: Ths Đặng Nhân Cách
Trang 19
Xây Dựng Hệ Thống Dịch Vụ SMS
Tách riêng phần định dạng ra khỏi nội dung trang web.
CSS giúp người thiết kế kiểm sốt tồn bộ giao diện trang web một cách
nhanh nhất và hiệu quả nhất nên người thiết kế sẽ tiết kiệm được nhiều
công sức.
Do được tách rời khỏi nội dung của trang web, nên các mã HTML sẽ gọn
gàng hơn, giúp người thiết kế thuận tiện hơn trong việc chỉnh sửa giao
diện. Kích thước của file .html cũng được giảm đáng kể. Hơn thế nữa sẽ
được trình duyệt tải một lần và dùng nhiều lần (cache), do đó giúp trang
web được load nhanh hơn.
2.5 Ngơn ngữ lập trình PHP
PHP (viết tắt hồi quy "PHP: Hypertext Preprocessor") [4] là một ngơn ngữ lập trình
kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho
máy chủ, mã nguồn mở, dùng cho mục đích tổng qt. Nó rất thích hợp với web và có
thể dễ dàng nhúng vào trang HTML. Do được tối ưu hóa cho các ứng dụng web, tốc độ
nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm
tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một
ngơn ngữ lập trình web phổ biến nhất thế giới.
Giảng Viên: Ths Đặng Nhân Cách
Trang 20
Xây Dựng Hệ Thống Dịch Vụ SMS
Hình 2.4: Mơ hình kết hợp cho một hệ thống gồm database, Web, Mail, File và PHP
2.6 Lập trình hướng đối tượng
Lập trình hướng đối tượng (gọi tắt là OOP, từ chữ Anh ngữ object-oriented
programming), hay cịn gọi là lập trình định hướng đối tượng, là kĩ thuật lập trình hỗ
trợ cơng nghệ đối tượng. OOP được xem là giúp tăng năng suất, đơn giản hóa độ phức
tạp khi bảo trì cũng như mở rộng phần mềm bằng cách cho phép lập trình viên tập
trung vào các đối tượng phần mềm ở bậc cao hơn. Ngồi ra, nhiều người cịn cho rằng
OOP dễ tiếp thu hơn cho những người mới học về lập trình hơn là các phương pháp
trước đó.
Giảng Viên: Ths Đặng Nhân Cách
Trang 21
Xây Dựng Hệ Thống Dịch Vụ SMS
Một cách giản lược, đây là khái niệm và là một nỗ lực nhằm giảm nhẹ các thao
tác viết mã cho người lập trình, cho phép họ tạo ra các ứng dụng mà các yếu tố bên
ngồi có thể tương tác với các chương trình đó giống như là tương tác với các đối
tượng vật lý.
Hình 2.5 Mơ hình hướng đối tượng cơ bản của một trang truy xuất cơ sở dữ liệu
Những đối tượng trong một ngôn ngữ OOP là các kết hợp giữa mã và dữ liệu mà chúng
được nhìn nhận như là một đơn vị duy nhất. Mỗi đối tượng có một tên riêng biệt và tất
cả các tham chiếu đến đối tượng đó được tiến hành qua tên của nó. Như vậy, mỗi đối
tượng có khả năng nhận vào các thơng báo, xử lý dữ liệu (bên trong của nó), và gửi ra
hay trả lời đến các đối tượng khác hay đến mơi trường. Trong lập trình hướng đối
tượng gồm các tính chất cơ bản sau:
Tính trừu tượng (abstraction)
Tính đóng gói (encapsulation) và che giấu thơng tin (information hiding)
Tính đa hình (polymorphism)
Tính kế thừa (inheritance)
Giảng Viên: Ths Đặng Nhân Cách
Trang 22
Xây Dựng Hệ Thống Dịch Vụ SMS
2.7 Javascript (Ajax)
AJAX (tiếng Anh: "Asynchronous JavaScript and XML" - nghĩa là "JavaScript
và XML khơng đồng bộ") là một nhóm các cơng nghệ phát triển web được sử dụng để
tạo các ứng dụng web động hay các ứng dụng giàu tính Internet (rich Internet
application). Từ Ajax được ông Jesse James Garrett đưa ra và dùng lần đầu tiên vào
tháng 2 nãm 2005 để chỉ kỹ thuật này, mặc dù các hỗ trợ cho Ajax đã có trên các
chương trình duyệt từ 10 nãm trước. Ajax là một kỹ thuật phát triển web có tính tương
tác cao bằng cách kết hợp các ngôn ngữ:
HTML (hoặc XHTML) với CSS trong việc hiển thị thơng tin
Mơ hình DOM (Document Object Model), được thực hiện thông qua JavaScript,
nhằm hiển thị thông tin động và tương tác với những thông tin được hiển thị
Đối tượng XMLHttpRequest để trao đổi dữ liệu một cách không đồng bộ với
máy chủ web. (Mặc dù, việc trao đổi này có thể được thực hiện với nhiều định dạng
như HTML, văn bản thường, JSON và thậm chí EBML, nhưng XML là ngơn ngữ
thường được sử dụng).
XML thường là định dạng cho dữ liệu truyền, mặc dầu bất cứ định dạng nào
cũng có thể dùng, bao gồm HTML định dạng trước, văn bản thuần (plain text), JSON
và ngay cả EBML.
Giống như DHTML, LAMP hay SPA, Ajax tự nó khơng phải là một cơng nghệ
mà là một thuật ngữ mô tả việc sử dụng kết hợp một nhóm nhiều cơng nghệ với nhau.
Trong thực tế, các công nghệ dẫn xuất hoặc kết hợp dựa trên Ajax như AFLAX cũng
đã xuất hiện.
2.7.1 So sánh với các ứng dụng web truyền thống
Hiểu nôm na: Điểm khác biệt cơ bản nhất của công nghệ này là việc xử lý thông
tin được thực hiện trên máy yêu cầu dịch vụ thay vì trên máy xử lý yêu cầu dịch vụ như
Giảng Viên: Ths Đặng Nhân Cách
Trang 23
Xây Dựng Hệ Thống Dịch Vụ SMS
cách truyền thống. Máy xử lí yêu cầu dịch vụ chỉ làm một việc đơn giản là nhận thông
tin từ máy khách và trả các dữ liệu về cho máy khách. Máy yêu cầu dịch vụ xử lý sơ bộ
thông tin của người dùng nhập vào, sau đó chuyển về máy xử lí u cầu dịch vụ rồi
nhận dữ liệu từ máy xử lí yêu cầu dịch vụ và xử lý để hiển thị cho người dùng.
Các ứng dụng Ajax phần lớn trông giống như thể chúng được đặt trên máy của
người sử dụng hơn là được đặt trên một máy phục vụ thông qua Internet. Lý do: các
trang được cập nhật nhưng không nạp lại (refresh) toàn bộ. "Mọi thao tác của người sử
dụng sẽ gửi mẫu của một lời gọi JavaScript tới bộ xử lý (engine) Ajax thay vì tạo ra
một yêu cầu HTTP (HTTP request)", Jesse James Garrett đã ghi như vậy trong bài luận
đầu tiên định nghĩa về thuật ngữ này. "Mọi đáp ứng cho thao tác của người sử dụng sẽ
không cần truy vấn tới máy phục vụ – ví dụ như việc kiểm tra một cách đơn giản sự
hợp lệ của dữ liệu, sửa đổi dữ liệu trong bộ nhớ và thậm chí một vài thao tác duyệt
trang – bộ xử lý Ajax tự nó đảm nhận trách nhiệm này. Nếu bộ xử lý cần gì từ máy
phục vụ để đáp ứng – như khi nó gửi dữ liệu để xử lý, tải về bổ sung các mã giao diện
hay nhận về dữ liệu mới – nó sẽ thực hiện các yêu cầu tới máy phục vụ một cách không
đồng bộ, thông thường sử dụng XML, mà không làm gián đoạn sự tương tác của người
sử dụng với ứng dụng web".
Các ứng dụng truyền thống về bản chất là gửi dữ liệu từ các form, được nhập
bởi người sử dụng, tới một máy phục vụ web. Máy phục vụ web sẽ trả lời bằng việc
gửi về một trang web mới. Do máy phục vụ phải tạo ra một trang web mới mỗi lần như
vậy nên các ứng dụng chạy chậm và "lúng túng" hơn.
Mặt khác, các ứng dụng Ajax có thể gửi các yêu cầu tới máy phục vụ web để
nhận về chỉ những dữ liệu cần thiết, thông qua việc dùng SOAP hoặc một vài dịch vụ
web dựa trên nền tảng XML cục bộ khác. Trên máy thân chủ (client), JavaScript sẽ xử
lý các đáp ứng của máy chủ. Kết quả là trang web được hiển thị nhanh hơn vì lượng dữ
liệu trao đổi giữa máy chủ và trình duyệt web giảm đi rất nhiều. Thời gian xử lý của
Giảng Viên: Ths Đặng Nhân Cách
Trang 24
Xây Dựng Hệ Thống Dịch Vụ SMS
máy chủ web cũng vì thế mà được giảm theo vì phần lớn thời gian xử lý được thực
hiện trên máy khách của người dùng.
Hình.2.7.1 So sánh ứng dụng web truyền thống (trái) với AJAX
Có thể xem xét một website nhiếp ảnh cho phép người sử dụng nhập các tiêu đề
như một ví dụ về cách làm việc của Ajax. Với một ứng dụng web truyền thống, toàn bộ
trang web bao gồm cả các ảnh cần được nạp lại. Với các công nghệ Ajax, DHTML có
thể thay thế chỉ những đoạn tiêu đề và kết quả là người dùng có những giao dịch "mượt
mà" đáng quan tâm.
2.7.1 Ưu nhược nhiểm
A. Ưu Điểm
+ Trong nhiều trường hợp, các trang web chứa rất nhiều nội dung thông thường
trong trang. Nếu sử dụng các phương pháp truyền thống, những nội dụng đó sẽ phải
nạp lại tồn bộ với từng yêu cầu. Tuy nhiên, nếu sử dụng Ajax, một ứng dụng web có
Giảng Viên: Ths Đặng Nhân Cách
Trang 25