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ầutiế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
Trang 1KHOA 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ế - 11L1120060Phạm Thị Định - 11L1120006
Trang 2Niên khóa 2011 -2013
Trang 3Mụ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
Trang 44 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
Trang 510.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
Trang 6TÓ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ũngnhư 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 đangngà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ả caokhô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ệtNam 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ầutiế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 conngườ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 đốitượ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ũngtiế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âyDự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
Trang 7Đề 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ớitê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 đượcnhu 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ùybiến và mở rộng cao, không phụ thuộc nhiều vào nhà phát triển hệ thống
Trang 8TÓ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 gianvớ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
Trang 92 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
Trang 10BỘ 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
Trang 11+ 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.
Trang 12Danh sách bảng biểu
Hình 2.4: Mô hình kết hợp cho một hệ thống gồm database, Web, Mail,
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.5.1 Hai thiết bị gửi tin nhắn chưa được phân luồng Trang 81Hình 7.5.1 Hai thiết bị gửi tin nhắn đã được phân luồng theo User Trang 82Hình 7.5.3 Phân theo khả năng gửi tin nhắn trên thiết bị Trang 82Hình 7.5.4 Giải pháp cho mô hình khả năng gửi của thiết bị Trang 83
Trang 13Danh sách các cụm từ viết tắt
Trang 14Chương 1: GIỚI THIỆU1.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ủaTrườ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ênthô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ộtthờ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ốnthố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
Trang 15tin 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ốngserver 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ũngtiế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 khoahọ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 đàotạ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 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ảngdạ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ợpSMS 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 ứngnhu cầu ngày càng cao, càng hiện đại trong công tác truyền tải thông tin
Trang 162 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àinghiê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ônngữ 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
Trang 17 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
Trang 18Chương 2: CƠ SỞ LÝ THUYẾT2.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ênnhiề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êninternet 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ềuhà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
Trang 19MySQL 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ôngtin 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êuvă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
Trang 202.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:
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ệtweb 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ànhphầ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ệntrong hình 2.3 bên dưới
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:
Trang 21 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áchnhanh nhất và hiệu quả nhất nên người thiết kế sẽ tiết kiệm được nhiềucô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ọngàng hơn, giúp người thiết kế thuận tiện hơn trong việc chỉnh sửa giaodiệ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 trangweb đượ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ịchbả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áychủ, 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ẩmtươ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ộtngôn ngữ lập trình web phổ biến nhất thế giới
Trang 22Hì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-orientedprogramming), 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ứctạ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ậptrung 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ằngOOP 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áptrước đó
Trang 23Mộ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 thaotá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ênngoà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 đốitượ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 đốitượ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 rahay trả lời đến các đối tượng khác hay đến môi trường Trong lập trình hướng đốitượ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)
Trang 242.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 Internetapplication) Từ Ajax được ông Jesse James Garrett đưa ra và dùng lần đầu tiên vàotháng 2 nãm 2005 để chỉ kỹ thuật này, mặc dù các hỗ trợ cho Ajax đã có trên cácchươ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ươngtá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ớimá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ạngnhư 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àocũ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ôngtin đượ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ư
Trang 25cá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ôngtin 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ồinhậ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ủangườ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áctrang đượ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 ramộ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ệttrang – 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áyphục vụ để đáp ứng – như khi nó gửi dữ liệu để xử lý, tải về bổ sung các mã giao diệnhay 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ậpbở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ệcgử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
Trang 26máy chủ web cũng vì thế mà được giảm theo vì phần lớn thời gian xử lý được thựchiệ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ượtmà" đá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 toà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ó
Trang 27thể chỉ yêu cầu cho các nội dung cần thiết phải cập nhật, do đó giảm lượng lớn băng thông và thời gian nạp trang.
+ Việc dùng các yêu cầu không đồng bộ (asynchronous request) cho phép giao diện người dùng của ứng dụng hiển thị trên trình duyệt giúp người dùng trải nghiệm sự tương tác cao, với nhiều phần riêng lẻ
+ Việc sử dụng Ajax có thể làm giảm các kết nối đến server, do các mã kịch bản(script) và các style sheet chỉ phải yêu cầu một lần
B Nhược Điểm
+ Các trang web được tạo động không được ghi vào bộ lưu lịch sử lướt web củatrình duyệt, do đó nút "back" (quay lui) của trình duyệt sẽ mất tác dụng quay lại trangthái trước đó của trang sử dụng Ajax, thay vào đó sẽ quay lại trang web trước đó màngười dùng ghé thăm Để khắc phục có thể dùng các IFrame không hiển thị để gây ra
sự thay đổi trong lịch sử trình duyệt và thay đổi phần neo của URL (bằng mã a #) khichạy Ajax và theo dõi những sự thay đổi của nó
+ Việc cập nhật các trang web động cũng gây khó khăn cho người dùng trongviệc bookmark (đánh dấu địa chỉ yêu thích) một trạng thái nào đó của ứng dụng Cũng
có những cách khắc phục cho vấn đề này, một số trong đó sử dụng mã xác định đoạn(fragment identifier) URL (phần URL ở sau dấu '#') để lưu vết, và cho phép ngườidùng đánh dấu và quay lại một trạng thái nào đó của ứng dụng
+ Do hầu hết các web crawler không thực thi mã JavaScript, các ứng dụng web
sẽ cung cấp một phương thức thay thế để truy cập nội dung thông thường được truycập bằng Ajax, để cho phép các máy tìm kiếm lập chỉ mục chúng
+ Bất kỳ người dùng nào có trình duyệt không hỗ trợ Ajax hay JavaScript, hoặcđơn giản là đã bị vô hiệu hóa JavaScript, sẽ đương nhiên không thể sử dụng Ajax
Trang 28Tương tự, các thiết bị như điện thoại di động, PDA, và thiết bị đọc màn hình (screenreader) có thể không hỗ trợ JavaScript hay đối tượng XMLHttp được yêu cầu Ngoài
ra, các thiết bị đọc màn hình nếu có thể sử dụng Ajax đi nữa cũng vẫn có thể khôngđọc chính xác các nội dung động
+ Chế độ same origin policy (chế độ gốc đơn điệu) có thể không cho phép sửdụng Ajax thông qua các tên miền, mặc dù W3C đã có một đồ án sơ thảo để cho phépđiều này
+ Việc thiếu các chuẩn cơ bản của Ajax đồng nghĩa với việc không có nhiều sự chọn lựa thực tiễn tốt nhất để kiểm tra các ứng dụng Ajax Các công cụ kiểm thử cho Ajax thường không hiểu các mô hình sự kiện, mô hình dữ liệu và giao thức của Ajax
+ Mở ra một cách thức khác cho việc tấn công của các đoạn mã độc mà những nhà phát triển web có thể không kiểm thử hết được
2.8 Tóm Tắt
Chương này giới thiệu cơ sở lý thuyết để thực hiện đề tài nghiên cứu Cơ sở dữu liệu
để lưu trữ là ngôn ngữ MySQL và các ngôn ngữ để thiết kế hệ thống là HTML, CSS, JavaScript, PHP và hướng đối tượng trong PHP
Trang 29Chương 3 CÔNG NGHỆ SMS
1 SMS
SMS là viết tắt của cụm từ Short Message Service tạm dịch là dịch vụ tin nhắnngắn Là một giao thức viễn thông cho phép gửi các thông điệp dạng text ngắn (khôngquá 160 ký tự trên một tin nhắn) Giao thức này có trên hầu hết các điện thoại di động
SMS là công nghệ mà nó cho phép gửi và nhận những thông điệp giữa nhữngchiếc điện thoại di động SMS lần đầu tiên xuất hiện năm 1992, nó được sử dụng trên
hệ thống mạng GSM, đây là chuẩn duy nhất vào thời điểm khởi đầu Sau đó nó được
sử dụng cho các công nghệ mạng không dây khác như CDMA và TDMA Đúng như ýnghĩa cái tên của nó “dịch vụ tin nhắn ngắn”, dữ liệu mà nó có thể mang trong mỗi tinnhắn SMS vô cùng giới hạn Một tin nhắn SMS chỉ có thể bao gồm nhiều nhất là 140byte (tương đương với 1120 bit) dữ liệu vì vậy một tin nhắn chỉ có thể bao gồm cácdạng sau:
- 160 ký tự nếu 7 bít ký tự mã hóa được dùng 7 bít ký tự mã thích hợp cho việc
mã hóa các ký tự Latin như bảng chữ cái alphabe của tiếng Anh
- 70 ký tự nếu như 16 bit ký tự Unicode UCS2 mã hóa được dùng Lúc này các
ký tự trong tin nhắn văn bản SMS là những ký tự không thuộc hệ ký tự Latin như ký tựchữ Trung Quốc, phải sử dụng 16 bít ký tự để mã hóa
- Ngoài định dạng văn bản, hệ thống tin nhắn SMS còn có thể mang được cả dữliệu nhị phân Nó có thế gửi nhạc chuông, hình ảnh, logo mạng, hình nền, ảnh động,business cards (ví dụ như Vcards)
- Một lợi điểm chính của SMS là được hổ trợ 100% đối với các điện thoại diđộng GSM Không giống như SMS, các công nghệ di động khác như WAP và Java thìkhông hỗ trợ trên nhiều dòng điện thoại đời cũ
Trang 30- Một đặc tính nổi bật của SMS đó chính là sự báo nhận Tức là nếu một máy diđộng gửi tin và có yêu cầu báo cáo tình trạng sau khi gửi tin nhắn Trung tâm lưu trữSMS sau khi gửi SMS đến máy đích và khi máy đích nhận được trung tâm sẽ phản hồicho máy di động gửi tin một bản tin nhỏ gọi là bản tin xác nhận Việc này giúp chongười gửi có thể biết được là bản tin SMS của mình đã được nhận hay chưa.
2 Ưu Điểm – Nhược Điểm
a) Ưu điểm:
- SMS có thể gửi và đọc bất cứ lúc nào
- SMS có thể gửi khi máy nhận tắt: Không giống như một cuộc gọi ta cóthể gửi một tin nhắn SMS đến người bạn của mình cho dù khi người bạn đókhông bật máy hoặc đang ở một nơi nào đó không có tín hiệu Hệ thống SMScủa mạng di động sẽ lưu tin nhắn SMS đó lại và sẽ gửi đi sau đó khi máy củangười bạn đó có tín hiệu trở lại
- SMS ít làm mất tập trung khi đang làm việc
- SMS được hỗ trợ 100% đối với thiết bị di động GSM: Tin nhắn SMS làmột công nghệ rất mạnh Tất cả các thiết bị di động GSM đều hỗ trợ chúng
b) Nhược điểm:
Một điểm yếu của công nghệ SMS là một tin nhắn SMS chỉ có thể mangtheo một khối lượng dữ liệu rất hạn chế Để khắc phục được vấn đề trên cáchgiải quyết được đưa ra là nối các SMS lại với nhau (và nó được hiểu là mộtSMS dài) Một tin nhắn văn bản được nối lại có thể chứa hơn 160 ký tự TiếngAnh Công việc nối các SMS lại như sau: Bên phía điện thoại gửi tin nhắn sẽchia một tin nhắn dài ra thành những phần nhỏ hơn và gửi từng phần của chúng
đi như một tin nhắn SMS riêng biệt Khi các tin nhắn SMS này đến được đíchbên phía điện thoại nhận sẽ kết hợp chúng lại thành một tin nhắn dài Công việcchia tin nhắn dài thành các tin nhắn nhỏ sẽ được tính như sau: 160 ký tự đầu tiên
Trang 31sẽ chiếm 1 tin nhắn riêng, tin nhắn thứ 2 chỉ có 145 ký tự, tin nhắn thứ 3 có 152
ký tự và nhưng phần về sau sẽ là 152 ký tự mỗi tin
3 Ứng dụng SMS
3.1 SMS = Short Message Services:
(Dịch vụ tin nhắn ngắn) là một giao thức viễn thông cho phép gửi cácthông điệp (tin nhắn) dạng text ngắn (không quá 160 chữ cái) Được dùng hầuhết trên các điện thoại di động và một số PDA với khả năng truyền thông khôngdây
Trang 32công cụ lập trình, họ có thể tạo ra các chương trình mới, sửa lỗi hay nâng cấpchương trình đó để tăng tính hiệu quả của việc sử dụng máy tính
Các lập trình viên thường có thể làm việc trên nhiều ngôn ngữ lập trình,trong đó chủ yếu là Java, C++, php, Asp, ASP.Net, Visual Basic.Net và C#
3.6 SMS Việt
Các ứng dụng gửi tin nhắn SMS tại việt nam, chương trình SMS, marketing SMS, tương tác SMS, kinh doanh SMS được gọi chung là SMS việt
3.7 Thương hiệu
Là một khái niệm trong người tiêu dùng về sản phẩm với dấu hiệu củanhà sản xuất gắn lên mặt, lên bao bì hàng hoá nhằm khẳng định chất lượng vàxuất xứ của sản phẩm Thương hiệu gắn liền với quyền sở hữu của nhà sản xuất
và chỉ được uỷ quyền cho nhà đại diện thương mại chính thức
Thương hiệu (Theo tổ chức sở hữu trí tuệ thế giới WIPO_WorldItellectual Property Organization): là một dấu hiệu đặc biết để nhận biết một sảnphẩm, một hàng hoá hay một dịch vụ nào đó được sản xuất, được cung cấp bởimột tổ chức hoặc một cá nhân
Thương hiệu (Theo Hiệp hội nhãn hiệu thương mại quốc tếITA_International Trademark Association): bao gồm những từ ngữ, tên gọi,biểu tượng hay bất kì sự kết hợp nào giữa các yếu tố trên được dùng trongthương mại để xác định và phân biệt hàng hoá của các nhà sản xuất hoặc ngườibán với nhau và để xác định nguồn gốc của hàng hoá đó
Ở Việt Nam khái niệm thương hiệu thường được hiểu đồng nghĩa với nhãn hiệu hàng hoá
3.8 Nhãn hiệu
Trang 33Là một cái tên, từ ngữ, ký hiệu, biểu tượng hoặc hình vẽ, kiểu thiết kế hoặc tập hợp các yếu tố trên nhằm xác định và phân biệt hàng hoá hoặc dịch vụcủa một người bán hoặc nhóm người bán với hàng hoá và dịch vụ của các đốithủ cạnh tranh Có thể thấy được một sự tương đối giống nhau trong hai kháiniệm nhãn hiệu - thương hiệu: chúng đều là những từ ngữ, dấu hiệu, biểutrưng dùng để xác định, phân biệt các sản phẩm, dịch vụ cùng loại của các nhàsản xuất khác nhau Song ở khái niệm thương hiệu ngoài yếu tố thương mạiđược nhấn mạnh còn nhắc đến sự xác định rõ ràng về nguồn gốc của hàng hoá
Như vậy ở đây đã xuất hiện phần nào bóng dáng của yếu tố luật pháp.Khi một nhãn hiệu được khẳng định chắc chắn bằng việc đi đăng kí bảo hộ vàđược chấp nhận bảo hộ thì nhãn hiệu đó đã được chứng nhận độc quyền vàthường được coi là thương hiệu Chính vì vậy người ta thường gắn việc đăng kínhãn hiệu hàng hóa với việc khai sinh ra một thương hiệu thành công và đươngnhiên thương hiệu đó có thể lớn mạnh hay không còn cần có một chiến lượcphát triển sản phẩm nghiêm túc nữa Hơn nữa một nhà sản xuất thường đặctrưng bởi một thương hiệu nhưng có thể có nhiều nhãn hiệu hàng hoá khácnhau VD: Toyota là một thương hiệu chính nhuưng đi kèm có rất nhiều thươnghiệu hàng hoá khác: Inova, Camry
3.9 Truyền thông
Thương hiệu cần sự truyền thông mạnh Khi sự cạnh tranh trong kinhdoanh ngày càng khốc liệt thì việc chuyển một thông điệp đến với khách hàngmột cách hiệu quả cũng ngày càng khó khăn Từ việc xác định khách hàng mụctiêu đến sáng tạo thông điệp, từ việc chọn phương tiện chuyển tải thông điệpđến sử dụng ngân sách truyền thông là cả một quy trình dài
Trang 34Vai trò của hoạt động truyền thông là làm thế nào tác động đến nhận thứccủa người tiêu dùng, truyền tải được "điều người khác hằng ước mơ" đến đượcvới khách hàng
3.11 Kinh doanh
(tiếng Anh là business) : là hoạt động của cá nhân hoặc tổ chức nhằmmục đính đạt lợi nhuận qua một loạt các hoạt động kinh doanh Kinh doanh làmột trong những hoạt động phong phú nhất của loài người Hoạt động kinhdoanh thường được thông qua các thể chế kinh doanh như công ty, tập đoàn,doanh nghiệp tư nhân… nhưng cũng có thể là hoạt động tự thân của các cánhân
3.12 Kiếm tiền
Kiếm tiền thông qua SMS là phương pháp kinh doanh chủ yếu dựa trêncác ứng dụng SMS (trò chơi, chương trình, ) Có rất nhiều thể hiện của cácchương trình SMS này bởi lý do có sự đa dạng trong ngành nghề khi ứng dụngSMS
Trang 35Chương 4 SMS API
Cùng với sự phát triển hạ tầng, Công nghệ SMS API áp dụng vào website cũng như các hệ thống khác chạy trên nền world wide web, đem lại tính đa dụng cho các doanh nghiệp
Đã phát triển thành công dịch vu SMS API Với công nghệ nền này, các lập
trình viên thoả sức phát triển các ý tưởng tích hợp SMS vào bất kỳ hệ thống nào của các bạn (Website, CRM, HRM, ERP,Mobile, Office Software )
SMS API là gì ? Là giao thức kết nối để sử dụng các dịch vụ SMS thông qua API
(Application Programing Interface )
Hình 4.1 Mô hình cơ bản xử lý SMS và Database
Trang 36Hình 4.1: Mô tả các ngôn ngữ có thể kết nối SMS
Có thể kết nối bằng tất cả các ngôn ngữ lập trình thông dụng: ASP, PHP, dotNet,
HTML, http, Email, Command line tool, txt file,Excel, outlook, Desktop, MS SQL
Server, MySQL, Oracle, MS Access, Postgres, Sybase, Java, PHP, C#,Vb.net, ASP, Delphi, C++
Chạy đa nền : Unix, Mac, Windows, Linux, Android
Cơ chế hoạt động:
Kết nối thông qua: POST/Get, SOAP, Database user interface File user interface, mail user interface, HTTP client user interface, Forwarder, FTP to SMS, RSS to SMS,HTTP server user, SMPP user, Outlook Mobile Service user, Application starter,Autoreply, Autoreply easy user, Colour SMS, ASP, Autoreply database, SMS PDF,SMS WCF, Voting, SNMP agent - initiates SNMP trap if SMS is received, SNMPagent - accepts SNMP query, and forwards it as SMS, SNMP monitoring server -initiates SNMP queries, SNMP monitoring server - accepts SNMP traps
E-Hỗ trợ gửi tin nhắn SMS thông qua giao thức SMTP, SMPP
Ứng dụng SMS API
Lập trình viên, các nhà phát triển ứng dụng trên nền tảng SMS API, SMS Hosting
Lập trình viên có thể tích hợp vào bất kỳ chương trình nào để gửi/nhận SMS
Trang 37Webmasters, các đơn vị ứng dụng SMS để triển khai cho các ứng dụng giá trị gia tăng trên mạng.
Hệ thống phân phối, bán hàng, các Công ty truyền thông, triển khai các giải pháp SMSMarketing
Tích hợp hệ thống báo cáo, các thông tin quản lý vào website
Báo động, tin khẩn cấp, tin tức đặc biệt,
Tính độc lập
Là hệ thống chạy đa nền , ảo hoá hoàn toàn , không phụ thuộc vào bất kỳ hệ thống đầu
số hoặc nhà cung cấp Telco ( Viettel, Mobi, Vina, ) hoặc các thiết bị đầu cuối, các thiết bị vật lý, Nên việc phát triển các ứng dụng thông qua SMS API là cực kỳ dễ
dàng
Trang 38Trả về số lượng SMS đang có trong tài khoản của khách hàng Trong trường hợp
Khách hàng sử dụng dạng “gói tiền” thì số lượng trả về chính là số tiền còn lại trong tàikhoản của khách hàng (tính bằng VNĐ)
Gọi hàm: