Tải bản đầy đủ (.doc) (111 trang)

xây dựng hệ thống dịch vụ sms

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.75 MB, 111 trang )

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
Xây Dựng Hệ Thống Dịch Vụ SMS
Niên khóa 2011 -2013
Giảng Viên: Ths Đặng Nhân Cách Trang 2
Xây Dựng Hệ Thống Dịch Vụ SMS
Mục Lục
5
TÓM TẮT 6
TÓM TẮT NỘI DUNG NGHIÊN CỨU 8
THÔNG TIN KẾT QUẢ NGHIÊN CỨU 10
Chương 1:GIỚI THIỆU 14
1.1 Động cơ thực hiện đề tài 14
1.2 Mục đích và giới hạn của đề tài 15
1.3 Cấu trúc của đề tài 16
Chương 2:CƠ SỞ LÝ THUYẾT 18
2.1 Cơ sở dữ liệu MySQL 18
2.2 Ngôn ngữ đánh dấu siêu văn bản - HTML 19
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: 20
2.4 Cascading Style Sheet – CSS 20
2.5 Ngôn ngữ lập trình PHP 21
2.6 Lập trình hướng đối tượng 22
2.7 Javascript (Ajax) 24


2.8 Tóm Tắt 28
Chương 3. CÔNG NGHỆ SMS 29
1. SMS 29
2. Ưu Điểm – Nhược Điểm 30
3. Ứng dụng SMS 31
Chương 4. SMS API 35
Chương 5. HÀM SMS API 38
1. CheckClient 38
2. GetClientBalance 38
3. SendSMS 39
4. SendMaskedSMS 41
Giảng Viên: Ths Đặng Nhân Cách Trang 3
Xây Dựng Hệ Thống Dịch Vụ SMS
5. GetSMSStatus (Pull) 43
6. GetSMSStatus (Push) 45
7. GetClientSenderNameList 46
8. GetListSMSHostingWithBalance 48
9. GetCommingSMSListFromID (Pull) 49
10. GetCommingSMSListFromID (Push) 51
Chương 6. SỦ DỤNG HÀM API (SMS) 57
1. PHP 57
2. PHP CURL 58
3. ASPX 59
Chương 7. CÀI ĐẶT ỨUNG DỤNG Ozeki NG SMS Gateway 62
7.1 Chuẩn bị 62
7.2 Cấu hình kết nôi thiết bị gửi tin nhắn 65
7.3 Test API 72
7.4 Send SMS form PHP using HTTP 77
7.5 Load Balancing 81
7.6 SMS Bandwidth 84

Chương 8. CẤU HÌNH EMAIL PHP 88
8.1 Gửi Email SMTP 88
8.2 Cấu hình gửi email từ localhost 89
Chương 9. CẤU HÌNH HOSTING 91
9.1. Host Cpenal 91
9.2 Kloxo 92
9.3 Directadmin 92
9.4 Plesk 94
Chương 10. MINH HỌA HÊ THỐNG 99
Chương 11: KIỂM TRA VÀ ĐÁNH GIÁ HỆ THỐNG 105
10.1 Xây dựng kịch bản kiểm tra 105
Giảng Viên: Ths Đặng Nhân Cách Trang 4
Xây Dựng Hệ Thống Dịch Vụ SMS
10.2 Dữ liệu kiểm tra 105
10.3 Kết quả kiểm tra 106
Chương 11: KẾT LUẬN 108
11.1 Kết luận 108
11.2 Hướng mở rộng 109
TÀI LIỆU THAM KHẢO 110
LỜI CẢM ƠN 111
Giảng Viên: Ths Đặng Nhân Cách Trang 5
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 quá
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.
Giảng Viên: Ths Đặng Nhân Cách Trang 6
Xây Dựng Hệ Thống Dịch Vụ SMS
Đề 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
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 7
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 8
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 9
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 10
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 đoà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 11
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 Trang 13
Hình 2.1 Kiến trúc tổng quan của MySQL Trang 17
Hình 2.2 Mysql và PHP Trang 18
Hình 2.3 Cấu trúc cơ bản của trang HTML Trang 18
Hình 2.4 Cấu trúc của một CSS
Trang 19
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
Trang 21
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
Trang 22
Hình.2.7.1 So sánh ứng dụng web truyền thống (trái) với AJAX
Trang 25
Hình 4.1 Mô hình cơ bản xử lý SMS và Database
Trang 34
Hình 4.1: Mô tả các ngôn ngữ có thể kết nối SMS Trang 35
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.
Trang 44
Hình 7.1 Các thiết bị đầu cuối cần thiết của hệ thống SMS Trang 61

Hình 7.4.1 Gửi tin nhăn từ Mysql, SQL Trang 78
Hình 7.4.2 Gửi tin nhắn qua From Trang 78
Hình 7.5.1 Hai thiết bị gửi tin nhắn chưa được phân luồng Trang 81
Hình 7.5.1 Hai thiết bị gửi tin nhắn đã được phân luồng theo User Trang 82
Hình 7.5.3 Phân theo khả năng gửi tin nhắn trên thiết bị Trang 82
Hình 7.5.4 Giải pháp cho mô hình khả năng gửi của thiết bị Trang 83
Giảng Viên: Ths Đặng Nhân Cách Trang 12
Xây Dựng Hệ Thống Dịch Vụ SMS
Danh sách các cụm từ viết tắt
CSDL Cơ sở dữ liệu
GSM Global System for Mobile Communications
SMS Short Message Service
CNTT Công nghệ thông tin
ĐH - GTVT Đại học Giao Thông Vận Tải
API Application Programing Interface
SIM Subscriber Identity Module
3G Third Generation
HTML HyperText Markup Language
SQL Structured Query Language
AJAX Asynchronous JavaScript And XML
PHP Hypertext Preprocessor
SOAP Simple Object Access Protocol
HTTP Hypertext Transfer Protocol
RSS Rich Site Summary
SNMP Simple Network Management Protocol
SMTP Simple Mail Transfer Protocol
Giảng Viên: Ths Đặng Nhân Cách Trang 13
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 quá 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 14
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 thuê 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.1.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 15
Xây Dựng Hệ Thống Dịch Vụ SMS
1.1.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 16
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 17
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 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í hoàn toà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 18
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 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 19
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 , 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 soá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 toà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 20
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 soát toà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") 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 quát. 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 21
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. Ngoà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 22
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
ngoà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 23
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ụ
Giảng Viên: Ths Đặng Nhân Cách Trang 24
Xây Dựng Hệ Thống Dịch Vụ SMS
như 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í yê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 25

×