Bối cảnh và vấn đề nghiên cứu

Sự phát triển của công nghệ thông tin và mạng Internet đã thúc đẩy các hình thức giải trí trực tuyến trở thành xu hướng phổ biến trong thế kỷ XXI. Tại các quốc gia đang phát triển, Internet đóng vai trò là phương tiện tiếp nhận tri thức, trao đổi thông tin và cung cấp các dịch vụ giải trí đa phương tiện như nghe nhạc, xem phim trực tuyến.

Trong bối cảnh đó, đề tài đồ án tốt nghiệp "Xây Dựng Website Nghe Nhạc Trực Tuyến Bằng ASP.NET" được nhóm sinh viên Đỗ Nguyên Huy và Trần Duy Minh thực hiện dưới sự hướng dẫn của ThS. Ninh Xuân Hương tại Trường Đại học Tôn Đức Thắng trong khoảng thời gian hơn 4 tháng.

Mục tiêu và nhiệm vụ nghiên cứu của đề tài được xác định cụ thể như sau:

  1. Mục tiêu đề tài: Phân tích, thiết kế và xây dựng một website nghe nhạc trực tuyến miễn phí cho phép người dùng truy cập, tìm kiếm và nghe trực tiếp các bài hát yêu thích mà không bắt buộc phải đăng ký tài khoản thành viên.
  2. Phương hướng giải quyết:
    • Phần 1: Tìm hiểu, nghiên cứu nền tảng công nghệ ASP.NET, kỹ thuật lập trình web với ngôn ngữ C# và nền tảng truyền thông đa phương tiện Windows Media Services trên hệ điều hành Windows Server 2003.
    • Phần 2: Hiện thực trang web nghe nhạc trực tuyến, bao gồm thiết kế hệ thống, xây dựng cơ sở dữ liệu và triển khai tích hợp giữa máy chủ web ASP.NET với dịch vụ Windows Media Services.

Đối tượng nghiên cứu của đề tài là kiến trúc ứng dụng web đa tầng, công nghệ ASP.NET kết hợp AJAX, cùng các giải pháp phân phối luồng dữ liệu số (Streaming Media) qua các giao thức mạng chuyên dụng.

Cơ sở lý thuyết và phương pháp

Đề tài vận dụng các cơ sở lý thuyết về kiến trúc phần mềm, công nghệ web và truyền thông số bao gồm:

  • Mô hình kiến trúc ứng dụng:
    • Mô hình 2 lớp (2-Tier): Dữ liệu tập trung trên Database Server, giao diện và xử lý logic đặt tại máy khách (Client). Mô hình này đảm bảo tính đồng bộ dữ liệu nhưng gây tải lớn cho mạng và máy chủ cơ sở dữ liệu khi số lượng người dùng tăng.
    • Mô hình 3 lớp (3-Tier): Bổ sung thêm Application Server làm trung gian giữa Client và Database Server, giúp tập trung xử lý giao diện và nghiệp vụ, giảm tải cho máy khách và máy chủ dữ liệu, nâng cao khả năng bảo trì và nâng cấp.
  • Nền tảng Microsoft .NET Framework và ASP.NET:
    • Kiến trúc .NET Framework bao gồm Common Language Runtime (CLR - quản lý thực thi qua Class Loader, Just-In-Time Compiler) và thư viện lớp cơ sở (Base Class Library, ADO.NET, XML).
    • Công nghệ ASP.NET biên dịch mã nguồn phía máy chủ thành các tập tin thư viện liên kết động (.DLL), tự động phát sinh mã HTML/JavaScript/CSS tương thích với trình duyệt.
    • Vòng đời trang web ASP.NET (Page) thông qua các sự kiện tuần tự: Page_Init, Page_Load, PreRender, Unload cùng các thuộc tính điều khiển như IsPostBack và SmartNavigation.
    • Các đối tượng quản lý ngữ cảnh: Request (nhận thông tin, xử lý QueryString), Response (gửi dữ liệu với Write, điều hướng với Redirect), Application (lưu trữ thông tin toàn cục), Session (quản lý phiên người dùng với thuộc tính Timeout mặc định 20 phút và phương thức Abandon), cùng đối tượng Server (cung cấp MachineName, phương thức ánh xạ đường dẫn MapPath và chuyển hướng Transfer).
  • Công nghệ AJAX và ASP.NET AJAX:
    • Cơ chế bất đồng bộ của đối tượng XMLHttpRequest thay thế chu trình tương tác truyền thống (click-wait-and-refresh), giúp trao đổi dữ liệu định dạng XML giữa client và server mà không cần nạp lại toàn bộ trang web.
    • Kiến trúc ASP.NET AJAX trên môi trường Visual Studio 2005 gồm các điều khiển máy chủ: ScriptManager (điều phối tài nguyên), UpdatePanel (cập nhật từng phần giao diện), UpdateProcess (hiển thị tiến trình) và Timer (kích hoạt sự kiện định kỳ); kết hợp thư viện kịch bản Client-Script hỗ trợ lập trình hướng đối tượng trong JavaScript.
  • Nền tảng Windows Media Services (WMS):
    • Hệ thống phân phối luồng truyền thông số (Streaming Media) hoạt động dựa trên sự phối hợp giữa ba thành phần: Trình mã hóa (Windows Media Encoder), Máy chủ dịch vụ (Windows Media Server) và Trình phát (Windows Media Player).
    • Phương thức phân phối theo yêu cầu (On-demand Unicast) và phát sóng (Broadcast), hỗ trợ các kỹ thuật Fast Streaming (Fast Start, Fast Cache) cùng cơ chế điều tiết luồng Stream Thinning và phân phối đa tốc độ bit (Multiple-Bit-Rate - MBR).

Phương pháp thực hiện trong đồ án bao gồm: phương pháp tổng hợp và phân tích tài liệu kỹ thuật chuyên ngành; phương pháp phân tích thiết kế hệ thống theo mô hình Use Case; phương pháp thiết kế cơ sở dữ liệu quan hệ; phương pháp thực nghiệm triển khai và cấu hình dịch vụ trên hệ điều hành máy chủ.

Thiết kế và triển khai

Hệ thống được thiết kế và triển khai kết hợp giữa máy chủ ứng dụng web ASP.NET và máy chủ truyền thông Windows Media Services:

Triển khai máy chủ Windows Media Services

  1. Cài đặt dịch vụ: Thực hiện thêm thành phần Windows Media Services trong mục Add/Remove Windows Components trên hệ điều hành Windows Server 2003 bằng đĩa nguồn cài đặt.
  2. Cấu hình Publishing Point (Điểm xuất bản):
    • Khởi tạo điểm xuất bản bằng công cụ Add Publishing Point Wizard.
    • Thiết lập loại nội dung: Files (digital media or playlists) in a directory để cung cấp quyền truy cập các tệp âm thanh trong một thư mục chỉ định trên ổ đĩa.
    • Chọn kiểu điểm xuất bản: On-demand publishing point nhằm cung cấp luồng truyền Unicast độc lập, cho phép người nghe toàn quyền điều khiển bài hát (phát, tạm dừng, tua tới, tua lui).
    • Thiết lập chế độ phát lại: Bật các tùy chọn Loop (phát lặp) và Shuffle (phát ngẫu nhiên).
    • Kích hoạt nhật ký hệ thống (Unicast Logging) để theo dõi hoạt động truy cập.
    • Tạo tập tin danh sách phát bao đóng (.wsx) và tập tin thông cáo metafile (.asx) theo cú pháp XML.
    • Định dạng liên kết luồng âm thanh được tạo ra có cấu trúc: mms://<name server>/<name folder>/<name file>.mp3.

Thiết kế hệ thống và giao diện ứng dụng Web

  • Môi trường phát triển: Ứng dụng web được xây dựng trên bộ công cụ Microsoft Visual Studio 2005, sử dụng ngôn ngữ lập trình C# kết hợp ASP.NET và công nghệ AJAX.
  • Mô hình Use Case: Người dùng truy cập hệ thống trực tiếp mà không cần đăng nhập, thực hiện chọn bài hát từ danh sách, xem album hoặc thông tin ca sĩ. Hệ thống tiếp nhận yêu cầu, truy vấn cơ sở dữ liệu và gửi liên kết luồng phát về cho trình phát trên máy khách.
  • Tích hợp trình phát đa phương tiện: Nhúng điều khiển Windows Media Player trực tiếp trên giao diện web để nhận luồng dữ liệu từ Windows Media Server thông qua giao thức MMS (Microsoft Media Services), RTSP (Real Time Streaming Protocol) và HTTP.
Giao diện chính Thành phần và chức năng hiển thị
Trang chủ Hiển thị danh sách các album mới cập nhật gần nhất và các tin tức âm nhạc mới.
Trang Xem Album Liệt kê toàn bộ danh mục các album nhạc hiện có trong cơ sở dữ liệu.
Trang Chi Tiết Ca Sĩ Cung cấp thông tin chi tiết về ca sĩ gồm: hình ảnh, tên ca sĩ, ngày sinh, tiểu sử và danh sách album đã phát hành.
Trang Chi Tiết Album Hiển thị thông tin album, ca sĩ thực hiện, nơi phát hành và danh sách các ca khúc thuộc album.
Trang Chi Tiết Bài Hát Trình bày tên và thông tin bài hát, liên kết luồng phát định dạng mms://, tích hợp trình phát Windows Media Player để nghe trực tiếp.

Nội dung chính theo từng chương

Chương 1: Đặt vấn đề

Chương này phân tích vai trò của mạng máy tính và Internet trong đời sống hiện đại, chỉ ra nhu cầu giải trí trực tuyến ngày càng gia tăng. Tác giả xác định mục tiêu xây dựng một trang web nghe nhạc trực tuyến sử dụng ASP.NET và hệ thống máy chủ Windows Media Services. Nhiệm vụ nghiên cứu được phân chia thành hai nội dung chính: tìm hiểu lý thuyết công nghệ và hiện thực ứng dụng web kết hợp dịch vụ truyền phát trực tuyến.

Chương 2: Cơ sở lý thuyết

Chương 2 trình bày chi tiết các nền tảng công nghệ sử dụng trong đề tài, được chia thành ba mảng kiến thức lớn:

  • Công nghệ ASP.NET: Giới thiệu giao thức HTTP, định dạng URL, ngôn ngữ HTML; phân tích ưu nhược điểm của mô hình ứng dụng 2 lớp và 3 lớp; trình bày cấu trúc .NET Framework, Common Language Runtime (CLR), các ưu điểm vượt trội của ASP.NET (cơ chế biên dịch mã sang DLL, kỹ thuật code-behind, khả năng tương thích song song với ASP cổ điển); chi tiết hóa vòng đời trang Page, Server Controls và các đối tượng Request, Response, Application, Session, Server.
  • Công nghệ AJAX: Định nghĩa Web 2.0 theo Dale Dougherty và 7 đặc tính do Tim O'Reilly đúc kết; phân tích cơ chế giao tiếp bất đồng bộ qua XMLHttpRequest và Ajax Engine; cấu trúc bộ công cụ ASP.NET AJAX bao gồm các thành phần máy chủ (ScriptManager, UpdatePanel, UpdateProcess, Timer), các dịch vụ Web và thư viện Client-Script.
  • Nền tảng Windows Media Services: Giải thích nguyên lý hệ thống streaming media, phân biệt các khái niệm Unicast, Multicast, On-demand, Broadcast, Encoder, Logging, Announcement file (.asx), Publishing Point; các giải pháp nâng cao tính vững bền hệ thống (tách riêng máy mã hóa, sử dụng hệ thống tệp NTFS kèm danh sách điều khiển truy cập ACL); so sánh giữa phương thức tải về (Downloading) và truyền phát trực tuyến (Streaming), cùng bảng phân tích sự khác biệt giữa truyền phát qua Windows Media Server và Web Server thông thường.
Tiêu chí so sánh Truyền phát qua Windows Media Server Truyền tải qua Web Server chuẩn
Phương thức gửi gói tin Điều chỉnh luồng dữ liệu thời gian thực theo phản hồi của Client, hỗ trợ Fast Start/Fast Cache Gửi dữ liệu tối đa và nhanh nhất có thể theo từng đợt lớn (Large bursts)
Giao thức hỗ trợ Hỗ trợ UDP (User Datagram Protocol), MMS, RTSP Chỉ sử dụng giao thức TCP qua HTTP
Hỗ trợ định dạng MBR Hỗ trợ phát nhiều tốc độ bit (Multiple-Bit-Rate), tự động thích ứng với băng thông Không hỗ trợ MBR, dễ gây gián đoạn khi mạng biến động
Truyền phát trực tiếp (Live) Hỗ trợ Live Streaming và truyền phát Multicast Không hỗ trợ Live Streaming hoặc Multicast
Lập chỉ mục media (Indexing) Hỗ trợ tua nhanh, cuộn lùi mượt mà trên tệp tin đã lập chỉ mục Hạn chế điều khiển phát lại, phải chờ nạp bộ đệm

Chương 3: Hiện thực website nghe nhạc trực tuyến

Chương 3 ghi lại toàn bộ tiến trình triển khai thực tế của đề tài:

  • Hướng dẫn các bước cài đặt dịch vụ Windows Media Services trên Windows Server 2003 thông qua Windows Components Wizard.
  • Quy trình từng bước cấu hình Add Publishing Point Wizard từ đặt tên, chọn kiểu nội dung thư mục tệp, thiết lập On-demand, cấu hình chế độ Loop/Shuffle, kích hoạt Logging đến xuất file danh sách phát .wsx và file thông cáo .asx.
  • Phân tích thiết kế hệ thống theo mô hình Use Case hướng đến trải nghiệm nghe nhạc miễn phí không cần tài khoản.
  • Trình bày cấu trúc và hình ảnh các giao diện chính được lập trình bằng C# trên Visual Studio 2005: Trang chủ, Xem Album, Chi tiết Ca sĩ, Chi tiết Album và Chi tiết Bài hát có nhúng Windows Media Player.

Chương 4: Tổng kết

Tổng kết lại các kết quả thu nhận được qua quá trình nghiên cứu và thực hiện đề tài; chỉ ra các hạn chế còn tồn tại của ứng dụng và đề xuất các hướng phát triển nâng cấp trong tương lai.

Kết quả và đóng góp

Sau quá trình thực hiện hơn 4 tháng, đề tài đã đạt được các kết quả cụ thể:

  • Làm chủ công nghệ: Nắm vững phương pháp lập trình ứng dụng web bằng ngôn ngữ C# trên nền tảng ASP.NET và môi trường phát triển Visual Studio 2005; hiểu rõ nguyên lý hoạt động của các thành phần ASP.NET AJAX.
  • Triển khai máy chủ streaming: Cài đặt, cấu hình và vận hành thành công dịch vụ Windows Media Services trên Windows Server 2003; thiết lập các điểm xuất bản On-demand Publishing Point hỗ trợ phát nhạc ngẫu nhiên và lặp lại; nắm vững cơ chế truyền luồng qua các giao thức MMS, RTSP và HTTP.
  • Xây dựng ứng dụng hoàn chỉnh: Thiết kế thành công cơ sở dữ liệu lưu trữ thông tin âm nhạc và hoàn thiện hệ thống website nghe nhạc trực tuyến với đầy đủ các phân hệ giao diện: Trang chủ hiển thị album/tin tức mới, Trang Xem Album, Trang Chi tiết Ca sĩ, Trang Chi tiết Album và Trang Chi tiết Bài hát tích hợp phát nhạc trực tiếp bằng Windows Media Player.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế

  • Thời gian thực hiện hạn chế (hơn 4 tháng) nên chưa thể khảo sát và khai thác hết các tính năng nâng cao của công nghệ ASP.NET và Windows Media Services.
  • Chưa áp dụng được nhiều kỹ thuật chuyên sâu trong tối ưu hóa truyền tải truyền thông đa phương tiện.
  • Cơ chế bảo mật và phân quyền của hệ thống còn đơn giản, chưa có cơ chế quản lý người dùng phức tạp.

Hướng phát triển

  • Xây dựng và hoàn thiện chức năng phân quyền người sử dụng trong hệ thống.
  • Cải thiện và tối ưu hóa công cụ tìm kiếm bài hát, album và ca sĩ trên website.
  • Tiếp tục hoàn thiện các chức năng còn thiếu và nâng cấp ứng dụng bằng cách tích hợp các kỹ thuật công nghệ mới.

Giá trị tham khảo

Đồ án là tài liệu tham khảo hữu ích cho sinh viên các ngành Công nghệ Thông tin, Kỹ thuật Phần mềm và Mạng máy tính khi thực hiện các đồ án liên quan đến:

  • Kiến trúc lập trình web cổ điển với ASP.NET, C# và bộ công cụ Visual Studio 2005.
  • Kỹ thuật tích hợp AJAX trong việc giảm thiểu thời gian tải trang và tối ưu hóa trải nghiệm giao diện người dùng.
  • Quy trình cài đặt, cấu hình hệ thống máy chủ truyền phát media trực tuyến sử dụng Windows Media Services trên môi trường Windows Server 2003.
  • Cơ chế nhúng và điều khiển trình phát Windows Media Player qua các giao thức MMS/RTSP trên nền web.

Câu hỏi thường gặp

1. Đề tài sử dụng những công nghệ và công cụ phát triển chính nào? Hệ thống được xây dựng bằng công nghệ ASP.NET và ASP.NET AJAX, sử dụng ngôn ngữ lập trình C# trên môi trường Microsoft Visual Studio 2005. Phía máy chủ truyền thông sử dụng dịch vụ Windows Media Services (WMS) cài đặt trên hệ điều hành Windows Server 2003.

2. Điểm xuất bản (Publishing Point) trên Windows Media Server được cấu hình theo kiểu nào? Điểm xuất bản được thiết lập theo kiểu On-demand publishing point trỏ đến một thư mục chứa tệp nhạc số trên ổ đĩa. Kiểu xuất bản này sử dụng phương thức truyền Unicast, cho phép mỗi người nghe có toàn quyền điều khiển phát lại bài hát (chạy tới, lùi lại, tạm dừng, phát tiếp) và hỗ trợ các chế độ phát lặp (Loop) hoặc ngẫu nhiên (Shuffle).

3. Cấu trúc liên kết truyền phát bài hát từ Windows Media Server đến trình phát có dạng như thế nào? Liên kết truyền phát luồng âm thanh được tạo ra dưới dạng giao thức MMS với cấu trúc đường dẫn: mms://<name server>/<name folder>/<name file>.mp3.

4. Vì sao Windows Media Server được lựa chọn để phát nhạc trực tuyến thay vì Web Server thông thường? Windows Media Server được thiết kế chuyên biệt cho streaming media: nó điều chỉnh tốc độ gửi gói tin theo thời gian thực dựa trên phản hồi của máy khách, hỗ trợ giao thức UDP, hỗ trợ truyền phát đa tốc độ bit (MBR) và cho phép người dùng tua bài hát mượt mà nhờ cơ chế lập chỉ mục (index), tránh hiện tượng chiếm dụng toàn bộ băng thông mạng như phương thức tải tệp theo từng đợt lớn của Web Server chuẩn.

5. Người dùng có cần tạo tài khoản để nghe nhạc trên website không? Không. Website được thiết kế theo mô hình cung cấp dịch vụ nghe nhạc miễn phí, người dùng chỉ cần truy cập trang web là có thể duyệt danh sách album, ca sĩ và nghe tất cả các bài hát mà không bắt buộc phải đăng ký tài khoản thành viên.

Kết luận

Đồ án tốt nghiệp "Xây Dựng Website Nghe Nhạc Trực Tuyến Bằng ASP.NET" của sinh viên Đỗ Nguyên Huy và Trần Duy Minh đã giải quyết trọn vẹn mục tiêu nghiên cứu và hiện thực một hệ thống giải trí trực tuyến. Bằng cách kết hợp nền tảng lập trình ASP.NET với dịch vụ Windows Media Services trên Windows Server 2003, đề tài đã xây dựng thành công ứng dụng web cho phép nghe nhạc trực tiếp qua giao thức MMS. Công trình là tài liệu tham khảo có giá trị thực tiễn về kỹ thuật phát triển web và giải pháp triển khai máy chủ truyền thông đa phương tiện.