Khi website ra đời nó lập tức thay đổi cách con người giao tiếp và tiếp nhận kiến thức. Ban đầu website chỉ là các trang HTML cơ bản. Sau đó là ASP, JSP, PHP và những công cụ khác đã làm thay đổi hoàn toàn các ứng dụng mạng.Các tài nguyên internet được xây dựng bằng nhiều công nghệ và ngôn ngữ khác nhau dẫn đến vấn đề là tài nguyên không đồng bộ, các hệ thống không thể truy xuất hoặc cập nhật lẫn nhau. Các ứng dụng desktop không có khả năng khai thác dữ liệu từ các website, website được viết bằng ngôn ngữ này cũng khó khăn khi khai thác dữ liệu từ website được viết bằng ngôn ngữ khác. Từ đây sẽ nảy sinh một yêu cầu là cần một tài nguyên thống nhất để tất cả mọi hệ thống có thể sử dụng ở mọi lúc mọi nơi. Và có một giải pháp giải quyết được vấn đề là xây dựng webservice.
Trang 1TRƯỜNG ĐẠI HỌC CỬU LONG KHOA CÔNG NGHỆ THÔNG TIN
DƯƠNG VĂN ĐEO LÂM HỒNG MẠO
XÂY DỰNG CÔNG CỤ QUẢN LÝ ALBUM NHẠC ONLINE SỬ DỤNG CƠ CHẾ
WEBSERVICE
LUẬN VĂN KỸ SƯ CÔNG NGHỆ THÔNG TIN
Vĩnh Long-2013
Trang 2TRƯỜNG ĐẠI HỌC CỬU LONG KHOA CÔNG NGHỆ THÔNG TIN
DƯƠNG VĂN ĐEO (MSSV: 10.020.007) LÂM HỒNG MẠO (MSSV: 10.020.023)
XÂY DỰNG CÔNG CỤ QUẢN LÝ ALBUM NHẠC ONLINE SỬ DỤNG CƠ CHẾ
WEBSERVICE
LUẬN VĂN KỸ SƯ CÔNG NGHỆ THÔNG TIN
Giáo Viên Hướng Dẫn
TS Nguyễn Thanh Bình
Vĩnh Long-2013
Trang 3LỜI CẢM ƠN
Lời đầu tiên, chúng tôi xin chân thành cảm ơn thầy Nguyễn Thanh Bình, người đã trực tiếp hướng dẫn chúng tôi hoàn thành luận văn này Nếu không có những lời chỉ dẫn tận tình, những tài liệu, những lời động viên khích lệ của thầy thì chúng tôi khó có thể hoàn thành bài luận văn này một cách thành công
Chúng tôi cũng xin chân thành cảm ơn các thầy cô trong khoa Công nghệ thông tin trường Đại học Cửu Long, đã tận tình dạy dỗ và giúp đỡ chúng tôi trong suốt khoảng thời gian chúng tôi học tập tại trường
Chúng con xin chân thành cảm ơn Cha Mẹ, các Anh Chị và những người thân trong gia đình đã nuôi dạy, tạo mọi điều kiện tốt nhất cho chúng con học tập, thường xuyên động viên nhắc nhở chúng con trong suốt thời gian học tập cũng như thời gian thực hiện luận văn này
Mặc dù chúng tôi đã rất cố gắng để hoàn thành bài luận văn với tất cả sự nổ lực của bản thân, nhưng bài luận văn chắc chắn không tránh khỏi những sai sót nhất định Chúng tôi rất mong nhận được những ý kiến đóng góp quý báo từ thầy cô và bạn bè để bài luận văn của chúng tôi được đầy đủ và hoàn thiện hơn
Cuối cùng, chúng tôi xin kính chúc quý Thầy Cô luôn dồi dào sức khỏe và công tác tốt
Vĩnh Long, ngày 11 tháng 06 năm 2013
Sinh viên thực hiện Dương Văn Đeo Lâm Hồng Mạo
Trang 4NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Điểm số:
Điểm chữ:
Giáo viên hướng dẫn
TS Nguyễn Thanh Bình
Trang 5MỤC LỤC
LỜI CẢM ƠN 1
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 2
MỤC LỤC 3
DANH MỤC CÁC CHỮ VIẾT TẮT 9
DANH MỤC CÁC HÌNH 10
DANH MỤC CÁC BẢNG 15
LỜI MỞ ĐẦU 16
Chương 1: TỔNG QUAN 17
1.1 Đặt vấn đề 17
1.2 Nội dung đề tài 17
1.3 Phạm vi đề tài 18
1.4 Phương pháp nghiên cứu 18
1.5 Cấu trúc luận văn 18
Chương 2: CƠ SỞ LÝ THUYẾT LIÊN QUAN 19
2.1 Webservice 19
2.1.1 Giới thiệu Webservice 19
2.1.2 Đặc điểm Webservice 20
2.1.3 Kiến trúc của Webservice 21
2.2 Cơ chế SOAP 23
2.2.1 Giới thiệu SOAP (Simple Object accesss Protocol) 23
2.2.2 Các đặc trưng của SOAP 23
2.3 Cơ chế XML (Extensible Markup Language) 24
2.3.1 Giới thiệu về XML 24
Trang 62.3.2 Đặc điểm của XML 24
2.4 Cơ sở dữ liệu 25
2.4.1 Giới thiệu về SQL 25
2.4.2 Ưu điểm của SQL Server 2005 26
2.4.3 Một số tập lệnh cơ bản của SQL 26
Chương 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 27
3.1 Hệ thống sau khi phân tích và thiết kế 27
3.1.1 Hệ thống webservice cung cấp các chức năng quản lý album nhạc online 27
3.1.2 Hệ thống quản lý album nhạc online 28
3.2 Sơ đồ Usecase 29
3.2.1 Sơ đồ Usecase tổng quát của hệ thống 29
3.2.2 Sơ đồ Usecase tổng quát của admin 29
3.2.3 Mô tả Usecase đăng nhập 30
3.2.4 Mô tả Usecase nghe nhạc 31
3.2.6 Mô tả usecase tìm kiếm 32
3.2.7 Mô tả usecase upload 33
3.2.8 Mô tả usecase tạo list 34
3.2.9 Mô tả Usecase bình luận 35
3.2.10 Mô tả Usecase tìm kiếm của Admin 36
3.2.11 Mô tả Usecase cập nhật thành viên 37
3.2.12 Mô tả Usecase cập nhật bài hát 38
3.2.13 Mô tả Usecase cập nhật album 39
3.3 Sơ đồ Sequence 40
Trang 73.3.1 Đăng nhập 40
3.3.2 Đăng ký 40
3.3.3 Tạo List 41
3.3.4 Upload 41
3.3.5 Bình luận 42
3.3.6 Thêm thành viên 42
3.3.7 Thêm bài hát 43
3.3.8 Thêm album 43
3.3.9 Sửa thành viên 44
3.3.10 Sửa bài hát 44
3.3.11 Sửa album 45
3.3.12 Xóa thành viên 45
3.3.13 Xóa bài hát 46
3.3.14 Xóa album 46
3.4 Sơ đồ Collaboration 47
3.4.1 Đăng nhập 47
3.4.2 Đăng ký 47
3.4.3 Tạo List 48
3.4.4 Upload 48
3.4.5 Bình luận 49
3.4.6 Thêm thành viên 49
3.4.7 Thêm bài hát 50
3.4.8 Thêm album 50
3.4.9 Sửa thành viên 51
Trang 83.4.10 Sửa bài hát 51
3.4.11 Sửa album 52
3.4.12 Xóa thành viên 52
3.4.13 Xóa bài hát 53
3.4.14 Xóa album 53
3.5 Sơ đồ Activity 54
3.5.1 Đăng nhập 54
3.5.2 Đăng ký 54
3.5.3 Bình luận 55
3.5.4 Tạo List 55
3.5.5 Upload 56
3.5.6 Quản lý thành viên 57
3.5.7 Quản lý bài hát 58
3.5.8 Quản lý album 59
3.6 Mô hình ERD 60
3.7 Mô hình cơ sở dữ liệu 61
3.8 Danh sách các actor của usecase 62
3.9 Danh sách các usecase tổng quát 62
3.10 Thiết kế cơ sở dữ liệu 63
3.10.1 Mô tả kiểu dữ liệu bảng Album 63
3.10.2 Mô tả kiểu dữ liệu bảng NhacSi 63
3.10.3 Mô tả kiểu dữ liệu bảng TheLoai 64
3.10.4 Mô tả kiểu dữ liệu bảng List 64
3.10.5 Mô tả kiểu dữ liệu bảng CaSi 65
Trang 93.10.6 Mô tả kiểu dữ liệu bảng BaiHat 65
3.10.7 Mô tả kiểu dữ liệu bảng PlaylistBaiHat 66
3.10.8 Mô tả kiểu dữ liệu bảng ThanhVien 66
3.10.9 Mô tả kiểu dữ liệu bảng BinhLuan 67
Chương 4 : HIỆN THỰC HỆ THỐNG 68
4.1 Giao diện webservice 68
4.1.1 Giao diện chính của webservice 68
4.1.2 Giao diện webservice ThemBaiHat 69
4.1.3 Giao diện webservice SuaBaiHat 69
4.1.4 Giao diện webservice XoaBaiHat 70
4.1.5 Giao diện webservice ThemAlbum 70
4.1.6 Giao diện webservice SuaAlbum 71
4.1.7 Giao diện webservice XoaAlbum 71
4.1.8 Giao diện webservice ThemPlaylist 72
4.1.9 Giao diện webservice SuaPlaylist 72
4.1.10 Giao diện webservice XoaPlaylist 73
4.1.11 Giao diện webservice LayAlbum 73
4.1.12 Giao diện webservice LayList 73
4.1.13 Giao diện webservice TimBaiHat 74
4.1.14 Giao diện webservice TimList 74
4.2 Giao diện Admin 75
4.2.1 Giao diện Đăng Nhập 75
4.2.2 Giao diện Bài Hát 75
4.2.3 Giao diện Thêm Bài Hát 76
Trang 104.2.4 Giao diện Album 76
4.2.5 Giao diện Thêm Album 77
4.2.6 Giao diện Sửa, Xóa album 77
4.2.7 Giao diện Playlist 78
4.2.8 Giao diện Thêm Playlist 78
4.2.9 Giao diện sửa, xoá Playlist 79
4.3 Giao diện người dùng 80
4.3.1 Giao diện trang chủ 80
4.3.2 Giao diện nghe bài hát 80
4.3.3 Giao diện nghe album nhạc 81
4.3.4 Giao diện tạo playlist 81
4.3.5 Giao diện cập nhật playlist 82
4.3.6 Giao diện upload bài hát 82
Chương 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 83
5.1 Kết quả đạt được 83
5.2 Khó khăn gặp phải 83
5.3 Hướng phát triển 84
TÀI LIỆU THAM KHẢO 85
Trang 11DANH MỤC CÁC CHỮ VIẾT TẮT
ASP : Active Server Pages
CSDL : Cơ sở dữ liệu
DCOM : Distribited Component Object Model
HTML : HyperText Markup Language
HTTP : HyperText Transfer Protocol
JSP : Java Server Pages
PHP : Hypertext Preprocessor
SOAP : Simple Object Access Protocal
SQL : Structure Query Language
TCP/IP : Transmission Control Protocol/Internet Protocol UDDI : Universal Description, Discovery, and Integration W3C : World wide web consortium
WSDL : Web Service Description Language)
XML : Extensible Markup Language
Trang 12DANH MỤC CÁC HÌNH
Trang 1319 Hình 3.18 Sequence thêm thành viên 42
Trang 1439 Hình 3.38 Collaboration xóa thành viên 52
Trang 1559 Hình 4.8 Giao diện webservice ThemPlaylist 72
Trang 1679 Hình 4.28 Giao diện Sửa, Xoá Playlist 82
Trang 17DANH MỤC CÁC BẢNG
Trang 18LỜI MỞ ĐẦU
Khi website ra đời nó lập tức thay đổi cách con người giao tiếp và tiếp nhận kiến thức Ban đầu website chỉ là các trang HTML cơ bản Sau đó là ASP, JSP, PHP và những công nghệ khác đã làm biến đổi hoàn toàn các ứng dụng mạng Các tài nguyên internet được xây dựng bằng nhiều công nghệ và ngôn ngữ khác nhau dẫn đến vấn đề là tài nguyên ngày không đồng bộ, các hệ thống không thể truy xuất hoặc cập nhật lẫn nhau Các ứng dụng desktop không có khả năng khai thác dữ liệu từ các website, website được viết bằng ngôn ngữ này cũng gặp khó khăn khi khai thác dữ liệu từ website được viết bằng ngôn ngữ khác Từ đây sẽ nảy sinh một yêu cầu là cần một tài nguyên thống nhất để tất cả mọi hệ thống có thể sử dụng ở mọi lúc mọi nơi Và có một giải pháp giải quyết được vấn đề trên là xây dựng webservice
Xuất phát từ nhu cầu trên chúng tôi đã chọn và nghiên cứu đề tài luận văn
“Xây dựng công cụ quản lý album nhạc online sử dụng cơ chế webservice ” với sự
hướng dẫn của thầy Nguyễn Thanh Bình Nội dung chính của luận văn là giới thiệu
về cơ chế hoạt động của webservice trong hệ thống quản lý album nhạc online Nội dung của luận văn gồm có 5 chương:
o Chương 1: Tổng quan
o Chương 2: Cơ sở lý thuyết liên quan
o Chương 3: Phân tích và thiết kế hệ thống
o Chương 4: Hiện thực hệ thống
o Chương 5: Kết luận và hướng phát triển
Trang 19Và trang web nhạc online này chúng tôi viết theo cơ chế webservice để hiểu hơn về hoạt động của webservice, cũng như đặc điểm và kiến trúc của nó Bên cạnh
đó còn hiểu thêm về cơ chế SOAP và XML
1.2 Nội dung đề tài
Để thực hiện các vấn đề nêu ra như trên, chúng tôi sẽ lần lượt trình bày những kiến thức cần thiết để giải quyết yêu cầu của bài toán đặt ra
Chúng tôi sẽ tập trung vào một số vấn đề sau:
o Tìm hiểu cơ chế webservice, SOAP và XML
o Xây dựng webservice phục vụ cho việc quản lý album nhạc
o Xây dựng công cụ quản lý album nhạc online
o Thiết kế web quản lý album nhạc dựa trên webservice đã xây dựng
Trang 201.4 Phương pháp nghiên cứu
Để thực hiện vấn đề nêu ra ở trên, chúng tôi sẽ tập vào nghiên cứu các vấn đề sau:
o Về mặt lý thuyết: chúng tôi tìm hiểu và nghiên cứu các khái niệm cũng như cơ chế hoạt động của webservice, SOAP, XML
o Về sản phẩm: xây dựng website quản lý album nhạc online
o Về giao diện: thiết kế giao diện đơn giản, dễ sử dụng và thân thiện với người dùng
o Về ngôn ngữ: chủ yếu website được xây dựng dựa trên ngôn ngữ C# và
cơ sở dữ liệu quan hệ
1.5 Cấu trúc luận văn
Cấu trúc của luận văn gồm có :
o Chương 1: Giới thiệu về đề tài, nội dung đề tài, cũng như phạm vi của
đề tài, phương pháp nghiên cứu và cấu trúc luận văn
o Chương 2: Nghiên cứu web service, SOAP và XML
o Chương 3: Giải pháp phân tích, sơ đồ nguyên lý
o Chương 4: Trình bày các giao diện cơ bản của website
o Chương 5: Kết luận những gì đã đạt được, những gì cần phải phát triển thêm, cũng như những thuận lợi và khó khăn trong quá trình làm luận văn
Trang 21Chương 2: CƠ SỞ LÝ THUYẾT LIÊN QUAN
2.1 Webservice
2.1.1 Giới thiệu Webservice
Webservice là một hệ thống phần mềm được thiết kế để hỗ trợ khả năng tương tác giữa các ứng dụng trên các máy tính khác nhau trên mạng internet, với giao diện chung và sự gắn kết của nó được mô tả bằng XML
Khi cần xây dựng và phát triển một ứng dụng phân tán với số lượng người dùng lên đến hàng trăm, hàng nghìn người ở nhiều địa điểm khác nhau, khó khăn đầu tiên gặp phải là sự giao tiếp giữa Client và Server bị tường lửa (firewalls) và Proxy Server ngăn chặn lại
DCOM (Distribited Component Object Model) làm việc thông qua việc gởi các thông tin dưới dạng nhị phân (binary) và chủ yếu hoạt động dựa trên giao thức TCP/IP Thật là không dễ dàng để sử dụng DCOM trong trường hợp này
Hình 2.1 DCOM không có khả năng vượt qua FireWall
Webservice có thể giải quyết vấn đề khó khăn nêu trên Webservice (tạm dịch
là dịch vụ web) có thể hiểu là tập hợp các phương thức của một đối tượng mà các Client có thể gọi thực hiện
Webservice được xây dựng dựa trên SOAP (Simple Object Access Protocal) Không giống như DCOM, SOAP có thể được gọi thực hiện và trả về kết quả Text
(theo định dạng XML) và có khả năng hoặt động "xuyên qua" tường lửa
Trang 222.1.2 Đặc điểm Webservice
Webservice là một chuẩn mới để xây dựng và phát triển ứng dụng phân tán,
có khả năng làm việc trên mọi hệ điều hành, mở rộng khả năng phối hợp giữa các ứng dụng, có thể tái sử dụng, tăng cường sự giao tiếp giữa Client và Server thông qua môi trường Web
Phần lớn kỹ thuật của web service được xây dựng dựa trên mã nguồn mở và được phát triển từ các chuẩn đã được công nhận, ví dụ như XML
Một webservice bao gồm có nhiều mô-đun và có thể công bố trên mạng internet
Webservice rất linh động Vì với UDDI và WSDL thì việc mô tả và phát triển webservice có thể được tự động hóa
o Nâng cao khả năng sử dụng và tái sử dụng các thành phần phần mềm và các ứng dụng có sẵn
o Thúc đẩy hệ thống tích hợp, giảm sự phức tạp của hệ thống, hạ giá thành hoạt động, phát triển hệ thống nhanh và tương tác hiệu quả với hệ thống của các doanh nghiệp khác
Trang 23 Nhược điểm
o Những thiệt hại lớn sẽ xảy ra vào khoảng thời gian chết của dịch vụ web, giao diện không thay đổi, có thể lỗi nếu một máy khách không được nâng cấp, thiếu các giao thức cho việc vận hành
o Có quá nhiều chuẩn cho dịch vụ web khiến người dùng khó nắm bắt
o Phải quan tâm nhiều hơn đến vấn đề an toàn và bảo mật
2.1.3 Kiến trúc của Webservice
Webservice gồm 3 chuẩn chính:
o SOAP (Simple Object Access Protocol)
o WSDL (Web Service Description Language)
o UDDI (Universal Description, Discovery, and Integration)
UDDI (Universal Description, Discovery, and Integration):
o Cho phép các client truy tìm và nhận những thông tin được yêu cầu khi sử dụng dịch vụ Web
o White pages: chứa thông tin liên hệ và các định dạng chính yếu của dịch vụ Web: tên giao dịch, địa chỉ, thông tin nhận dạng…
o Yellow pages: chứa thông tin mô tả dịch vụ Web theo những loại khác nhau Những thông tin này cho phép các đối tượng thấy được dịch vụ Web theo từng loại với nó
o Green pages: chứa thông tin kỹ thuật mô tả các hành vi và các chức năng của dịch vụ Web
o tModel: chứa các thông tin về loại dịch vụ được sử dụng
WSDL (Web Service Description Language):
o Định nghĩa cách mô tả dịch vụ Web theo cú pháp tổng quát của XML: tên dịch vụ; Giao thức và kiểu mã hóa sẽ được sử dụng khi gọi các hàm của dịch vụ Web; Loại thông tin: thao tác, tham số, những kiểu dữ liệu (có thể là giao diện của dịch vụ web cộng với tên cho giao diện này)
Trang 24o Một WSDL hợp lệ gồm hai phần: phần giao diện (mô tả giao diện
và phương thức kết nối) và phần thi hành mô tả thông tin truy xuất CSDL
o Giao diện đưa ra cách làm thế nào để giao tiếp qua dịch vụ Web
o Tên, giao thức liên kết và định dạng thông điệp yêu cầu để tương tác với dịch vụ web được đưa vào thư mục của WSDL, kết hợp với XML schema và SOAP để cung cấp dịch vụ web qua internet Một client khi kết nối tới dịch vụ web có thể đọc WSDL để xác định những chức năng sẵn có trên server Sau đó, client có thể sử dụng SOAP để lấy ra chức năng chính xác có trong WSDL
SOAP (Simple Object Access Protocol):
o Có thể truy xuất đến UDDI registry bằng các lệnh gọi hoàn toàn theo định dạng của SOAP
o Giao thức thay đổi các thông điệp dựa trên XML qua mạng máy tính, thông thường sử dụng giao thức HTTP
o Envelop: phần tử bao trùm nội dung thông điệp, khai báo văn bản XML như là một thông điệp SOAP
o Header: chứa các thông tin tiêu đề cho trang, phần tử này không bắt buộc khai báo trong văn bản Header còn có thể mang những dữ liệu chứng thực, những chữ ký số, thông tin mã hóa hay cài đặt cho các giao dịch khác
o Body: chứa các thông tin yêu cầu và thông tin được phản hồi
o Fault: cung cấp thông tin lỗi xảy ra trong quá trình xử lý thông điệp