Chỉ cần với một cú click chuột, khách hàng có thể khám phá được cả một thếgiới đồ dùng công nghệ như đang hiện ra trước mắt, có thể mua sắm tùy ý các sảnphẩm mà mình yêu thích, xem được
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA MẠNG MÁY TÍNH VÀ TRUYỀN THÔNG
VŨ QUỐC HOÀNG PHAN THỊ NGỌC HÂN
KHOÁ LUẬN TỐT NGHIỆP XÂY DỰNG HỆ THỐNG TƯ VẤN TRỰC TUYẾN
BẰNG VIDEO TRÊN WEBSITE THƯƠNG MẠI ĐIỆN TỬ
KỸ SƯ NGÀNH MẠNH MÁY TÍNH VÀ TRUYỀN THÔNG
TP HỒ CHÍ MINH, 2014
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA MẠNG MÁY TÍNH VÀ TRUYỀN THÔNG
VŨ QUỐC HOÀNG – 09520411 PHAN THỊ NGỌC HÂN -09520081
KHOÁ LUẬN TỐT NGHIỆP XÂY DỰNG HỆ THỐNG TƯ VẤN TRỰC TUYẾN
BẰNG VIDEO TRÊN WEBSITE THƯƠNG MẠI ĐIỆN TỬ
KỸ SƯ NGÀNH MẠNG MÁY TÍNH VÀ TRUYỀN THÔNG
GIẢNG VIÊN HƯỚNG DẪN
TS ĐÀM QUANG HỒNG HẢI
TP HỒ CHÍ MINH, 2014
Trang 3Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số
……… ngày ……… của Hiệu trưởng Trường Đại học Côngnghệ Thông tin
1 ……… – Chủ tịch
2 ……… – Thư ký
3 ……… – Ủy viên
4 ……… – Ủy viên
Trang 4Ngày nay, việc mua bán, đặt hàng online không còn là một vấn đề xa lạ đốivới chúng ta Hòa nhập vào xu thế đó, một website thương mại điện tử được tạo ranhằm đáp ứng các mục tiêu về bán hàng, quảng bá thương hiệu, giới thiệu sản phẩmđến với khách hàng, giúp cho việc mua sắm sản phẩm được thuận tiện và dễ dànghơn Chỉ cần với một cú click chuột, khách hàng có thể khám phá được cả một thếgiới đồ dùng công nghệ như đang hiện ra trước mắt, có thể mua sắm tùy ý các sảnphẩm mà mình yêu thích, xem được đầy đủ thông tin chi tiết về sản phẩm như xuất
xứ, cấu hình, giá cả, kích thước, màu sắc, … Hơn nữa, để đáp ứng được nhu cầu thịhiếu của khách hàng, website còn có hỗ trợ trực tuyến 24/24, khách hàng có thểđược giải quyết thắc mắc về thông tin sản phẩm thông qua các hình ảnh thật, cácvideo clip Hay nhân viên có thể tư vấn thêm cho khách hàng về các chương trìnhgiảm giá, các sản phẩm phù hợp túi tiền, các phụ kiện đi kèm, các xu hướng hiệnđại mới cập nhật
Đối tượng mà website thương mại điện tử hướng tới đó là những khách hàngnằm trong độ tuổi từ 15 đến 50, đây là lứa tuổi mà luôn có nhu cầu muốn cập nhậtcác xu hướng hiện đại, mới mẻ nhất và thời gian dành cho mua sắm trên mạng cũngnhiều nhất Với mục tiêu luôn luôn làm hài lòng khách hàng, mang đến nhưng giâyphút thoải mái khi mua sắm, trong thời gian tới website sẽ không ngừng phát triểntạo nên nhiều ứng dụng mới lạ
Mục tiêu của khóa luận:
- Để đáp ứng đủ nhu cầu mua bán các sản phẩm công nghệ, rất nhiều công
ty, cửa hàng đã nổi lên cùng với nó là các website giới thiệu quảng báthương hiệu và sản phẩm của họ Tuy nhiên các website đó vẫn còn nhiềuhạn chế:
o Các chức năng của sản phẩm chưa thể hiện rõ ràng chi tiết
o Các hình ảnh của sản phẩm chỉ dừng lại ở mức tham khảo chưathực tế và sát với sản phẩm bên ngoài
Trang 5phẩm ưng ý như là: tốn thời gian tìm sản phẩm trên web, tới tậncửa hàng để xem xét sản phẩm rồi sau đó mới quyết định mua haykhông
o Với cơ cấu những website đại trà hiện tại chưa thực sự khiếnkhách hàng an tâm
- Nhận thấy những hạn chế trên nên nhóm quyết định phát triển một
website giúp khách hàng tiếp cận sản phẩm mà họ mong muốn một cáchnhanh chóng nhất, chân thật nhất, rõ ràng nhất và đáng tin cậy nhất Với ýtưởng đó website tích hợp hệ thống tư vấn h2shop ra đời
Ý nghĩa thực tiễn của khóa luận:
- Xây dựng hệ thống tư vấn trực tuyến trên website thương mại điện tử.
- Xây dựng Website thương mại điện tử kinh doanh các sản phẩm công
nghệ hiện đại: điện thoại di động, máy tính bảng, …
- Xây dựng hệ thống tổng đài tư vấn trực tuyến qua video: nhân viên tư
vấn trực tuyến được cấp tài khoản để truy cập vào hệ thống tư vấn
- Xây dựng các chức năng cho tổng đài tư vấn trực tuyến qua video:
Mỗi tổng đài có thể có từ 3 đến 5 nhân viên tư vấn (có thể mởrộng) Bình thường nếu có khách đến cửa hàng, nhân viên sẽ thựchiện công việc tư vấn của mình Nếu không có khách, nhân viênngồi vào máy và trở thành nhân viên tư vấn trực tuyến qua mạng
Khách hàng muốn tư vấn trực tuyến sẽ nhấn vào nút tư vấn trựctuyến Hệ thống có nhiệm vụ xác định nhân viên nào đang rảnh và
sẽ chuyển sang cho nhân viên đó thực hiện Trong trường hợp nếutất cả các nhân viên đều rảnh, hệ thống sẽ chọn nhân viên đầu tiên.Nếu tất cả các tư vấn viên đều bận, hệ thống sẽ chuyển người dùngđến một trang “Thư giãn” – Người muốn tư vấn có thể nghe nhạc,
Trang 6Mở rộng: Hệ thống có thể cung cấp tính năng giới thiệu sản phẩm, tư vấn trực tiếp
từ chuyên gia Nó như là một sự kiện để mọi người có thể xem tận mắt sản phẩm vàlắng nghe các chuyên gia tư vấn
Cấu trúc khóa luận:
Khóa luận bao gồm những chương sau:
Chương I: GIỚI THIỆU
Chương II: CÔNG NGHỆ, NGÔN NGỮ SỬ DỤNG
Chương III: GIỚI THIỆU PHẦN MỀM MÃ NGUỒN MỞ NUKE VIỆTChương IV: PHÂN TÍCH YÊU CẦU – THIẾT KẾ HỆ THỐNG
Chương V: GIỚI THIỆU CHI TIẾT HỆ THỐNG
Chương IV: KẾT LUẬN, HƯỚNG PHÁT TRIỂN
Trang 7Chúng em xin gửi lời cảm ơn sâu sắc đến các Thầy Cô khoa Mạng Máy Tính
và Truyền Thông trường Đại Học Công Nghệ Thông Tin đã hết lòng dạy dỗ chúng
em trong suốt 4 năm Đại Học, cũng như đã tạo điều kiện cho chúng em thực hiệnđược luận văn này
Đặc biệt, chúng em xin gửi lời cảm ơn chân thành đến TS Đàm Quang HồngHải, anh Lê Kim Hùng đã tận tình hướng dẫn, truyền đạt kiến thức và chỉ bảo chochúng em trong suốt thời gian thực hiện đề tài
Chúng con xin gửi lòng biết ơn và sự kính trọng đến Cha Mẹ, gia đình đãnuôi dưỡng, dạy bảo, giúp cho chúng con có được ngày hôm nay
Và xin chân thành cảm ơn các Anh Chị đi trước, các Bạn Bè khoa MạngMáy Tính và Truyền Thông đã luôn sát cánh, giúp đỡ động viên chúng tôi trongnhững thời điểm khó khăn, tiếp thêm động lực và ý chí vượt qua mọi khó khăn đểhoàn thành đề tài này
Mặc dù đã rất cố gắng, song chắc chắn luận văn sẽ còn rất nhiều thiếu sót,chúng em rất mong nhận được sự chỉ bảo thêm của quý Thầy Cô, các Anh Chị vàcác Bạn
TP.HCM, tháng 1 năm 2014Sinh viên thực hiện
Vũ Quốc Hoàng Phan Thị Ngọc Hân
Trang 8(Của giảng viên hướng dẫn)
Trang 9
(Của giảng viên phản biện)
Trang 11
CHƯƠNG I GIỚI THIỆU H2SHOP 2
1.1 WEBSITE THƯƠNG MẠI ĐIỆN TỬ 2
1.2 TƯ VẤN TRỰC TUYẾN 2
CHƯƠNG II CÁC CÔNG NGHỆ SỬ DỤNG 4
2.2 HỆ THỐNG TƯ VẤN TRỰC TUYẾN 4
2.2.1 CÁC HÌNH THỨC TƯ VẤN 4
2.2.2 CÔNG NGHỆ STREAMING MEDIA 5
2.3 RED5 SERVER 12
2.3.1 KHÁI NIỆM 12
2.3.2 TẠI SAO LẠI SỬ DỤNG RED5 SERVER? 12
2.3.3 CÁC GIAO THỨC VÀ LỚP QUAN TRỌNG 14
2.3.4 ỨNG DỤNG CỦA RED5 SERVER 19
2.4 ADOBE FLASH CS6 VÀ ACTION SCRIPT 3.0 19
2.5 NGÔN NGỮ LẬP TRÌNH PHP 19
2.5.1 LỊCH SỬ PHÁT TRIỂN 19
2.5.2 NGÔN NGỮ LẬP TRÌNH PHP 20
CHƯƠNG III – GIỚI THIỆU NUKEVIET: PHẦN MỀM MÃ NGUỒN MỞ .23
3.1 NUKEVIET: PHẦM MỀM MÃ NGUỒN MỞ 23
3.1.1 NUKEVIET 23
3.1.2 NUKEVIET CMS 24
3.1.3 LỊCH SỬ PHÁT TRIỂN 25
Trang 123.1.5 DÒNG PHIÊN BẢN NUKEVIET 3.X 27
3.1.6 ỨNG DỤNG CỦA NUKEVIET-CMS 30
3.1.7 ƯU VÀ NHƯỢC ĐIỂM 31
3.1.8 GIẤY PHÉP MÃ NGUỒN MỞ CỦA NUKEVIET 32
3.1.9 KIẾN TRÚC CMS NUKEVIET 42
CHƯƠNG IV KHẢO SÁT VÀ PHÂN TÍCH ỨNG DỤNG CỦA WEBSITE VÀ HỆ THỐNG TƯ VẤN TRỰC TUYẾN 56
4.1 KHẢO SÁT 56
4.2 PHÂN TÍCH ỨNG DỤNG 56
4.2.1 YÊU CẦU ĐẶT RA 56
4.2.2 PHÂN TÍCH VẤN ĐỀ 57
4.2.2.1 Vấn đề lưu trữ thông tin thành viên 57
4.3 THIẾT KẾ ỨNG DỤNG 59
4.3.1 THIẾT KẾ WEBSITE VỚI CÁC TRANG CHÍNH 59
4.3.2 XÂY DỰNG CHỨC NĂNG WEBSITE 59
CHƯƠNG V WEBSITE BÁN HÀNG H2SHOP VÀ HỆ THỐNG TƯ VẤN TRỰC TUYẾN 61
5.1 HỆ THỐNG MODULE CỦA WEB H2SHOP 61
5.1.1 MODULE “ABOUT” – GIỚI THIỆU 61
5.1.2 MODULE “NEWS” – TIN TỨC 62
5.1.3 MODULE “SHOP” – SẢN PHẨM 73
5.1.4 MODULE “USER” – THÀNH VIÊN 83
5.1.5 MODULE “CONTACT” – LIÊN HỆ 88
Trang 135.1.7 MODULE “VIDEO-CLIP” – VIDEO 91
5.2 XÂY DỰNG MÔ HÌNH TƯ VẤN 94
5.3 XÂY DỰNG MÔ HÌNH KHÁCH HÀNG 95
5.4 MÔ TẢ CHỨC NĂNG TƯ VẤN 96
5.4.1 KHÁCH HÀNG ĐĂNG NHẬP VÀO HỆ THỐNG TƯ VẤN.96 5.4.2 TƯ VẤN ĐĂNG NHẬP VÀO HỆ THỐNG TƯ VẤN 97
5.4.3 KHÁCH HÀNG YÊU CẦU TƯ VẤN 98
5.4.4 TƯ VẤN NHẬN YÊU CẦU TƯ VẤN VÀ PHÁT HÌNH ẢNH 99 5.4.5 TƯ VẤN GỬI VIDEO CHO KHÁCH 100
5.4.6 TƯ VẤN VIÊN THOÁT KHỎI HỆ THỐNG 100
5.4.7 KHÁCH THOÁT KHỎI HỆ THỐNG 100
CHƯƠNG VI KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 102
6.1 KẾT LUẬN 102
6.2 HẠN CHẾ TỒN TẠI 102
6.3 HƯỚNG PHÁT TRIỂN 102
TÀI LIỆU THAM KHẢO 103
Trang 16CHƯƠNG I GIỚI THIỆU H2SHOP1.1 WEBSITE THƯƠNG MẠI ĐIỆN TỬ
H2shop là website thương mại điện tử, chuyên cung cấp các sản phẩm côngnghệ bán chạy nhất hiện nay như: điện thoại thông minh, máy tính xách tay, máytính bảng và máy chụp hình Website luôn cập nhật nhanh nhất tất cả thông tin, tintức về giá cả, chất lượng, cấu hình, đánh giá,… các sản phẩm mới trên thị trường.Website cho phép khách hàng xem toàn bộ thông tin sản phẩm, đặt hàng theo sốlượng mong muốn, có thể hủy khi thấy chưa cần thiết hoặc đặt nhầm, bình luận sảnphẩm, xem các video sản phẩm thật
Hình 1.1 Mua bán trực tuyến
1.2 TƯ VẤN TRỰC TUYẾN
Để tăng thêm tính tin cậy và có thể đáp ứng nhiều hơn nhu cầu của kháchhàng, H2shop còn xây dựng thêm tính năng hỗ trợ tư vấn trực tuyến Đây cũngchính là chức năng nổi bật nhất của website Tư vấn trực tuyến có thể giúp ích rấtnhiều cho việc mua bán hàng online, khách hàng sẽ được hỗ trợ tìm kiếm sảnphẩm, hỗ trợ tư vấn sản phẩm phù hợp túi tiền, hợp thời đại, hợp thời trang, tư vấntất cả các thắc mắc mà khách hàng gặp phải thông qua đội ngũ tư vấn chuyênnghiệp, dày dặn kinh nghiệm, nhiệt tình và thân thiện… Và điều quan trọng nhất
Trang 17khách hàng sẽ cảm thấy yên tâm hơn khi được nhìn thấy hình ảnh sản phẩm thật màmình muốn mua, có thể xem trực tuyến các chức năng cũng như biết thêm về chấtlượng của sản phẩm
Hình 1.2 Tư vấn trực tuyến
Trang 18có kiến thức chuyên môn hoặc rành về sản phẩm đó thì không có vấn đề Nếu mộtngười lạ lần đầu tiếp xúc với sản phẩm, để giúp khách hàng có thêm nhiều thông tin
về sản phẩm, chúng ta cần nhân viên tư vấn Khách hàng cũng nhờ vậy mà có thểtiết kiệm được rất nhiều thời gian trong việc tìm kiếm thống tin Có rất nhiều hìnhthức tư vấn từ thủ công đến hiện đại được liệt kê dưới đây
- Tư vấn trực tiếp: là hình thức phổ biến nhất từ trước đến giờ Các doanhnghiệp hoặc cửa hàng kinh doanh sản phẩm thường bố trí nhân viên tư vấn ngay tạicửa hàng Khách hàng sẽ được nhân viên tư vấn giải đáp các thắc mắc một cáchnhanh gọn, từ đó nắm bắt được thông tin về sản phẩm Lượng tư vấn viên này đa số
sẽ phục vụ khách hàng trong một khoảng vị trí địa lý xác định nơi kinh doanh sảnphẩm đó Vì thế nếu khách hàng ở xa có nhu cầu được tư vấn về cách sử dụng, tìnhtrạng sản phẩm chắc chắn sẽ gặp khó khăn
- Tư vấn qua điện thoại: là hình thức tư vấn trò chuyện thông qua điện thoại.Các cửa hàng kinh doanh sản phẩm đều có hotline (đường dây nóng) để phục vụkhách hàng Khi mua sản phẩm và gặp các vấn đề khó khăn về cách sử dụng, chínhsách bảo hành…, thay vì đến cửa hàng để nhận được giải đáp thắc mắc, khách hàng
có thể điện thoại trực tiếp đến cửa hàng để nhận được tư vấn Việc sử dụng điệnthoại để trao đổi thông tin đã giải quyết được vấn đề địa lý, tuy nhiên lại gặp khókhăn trong việc thực hiện, không trực quan và đặc biệt là chi phí cao
- Tư vấn qua ứng dụng chat: là hình thức tư vấn dạng truyền thông điệp trêninternet Các website thương mại điện tử hiện nay đã ứng dụng công nghệ này vào
hệ thống giúp khách hàng có thể trao đổi thông tin với các tư vấn viên một cáchnhanh nhất Tuy nó giải quyết khó khăn trong vấn đề chi phí nhưng lại chưa giảiquyết được tính trực quan trong trao đổi, gây khó khăn cho 2 bên giao tiếp
Trang 19- Tư vấn trực tuyến qua video: là hình thức tư vấn kết hợp việc truyền hìnhảnh và âm thanh Khách hàng có thể yêu cầu tư vấn viên cho xem sản phẩm Tư vấn
có thể hướng dẫn khách hàng thông qua màn ảnh Việc giao tiếp giữa 2 bên sẽ trởnên thuận lợi và dễ dàng hơn Hệ thống tư vấn trực tuyến này giải quyết được hầuhết các vấn đề mà các hình thức tư vấn khác gặp phải như đảm bảo tính trực quan,tiết kiệm tri khí, giúp thu hẹp khoảng cách địa lý Tuy nhiên việc triển khai hệ thốngtrực tuyến cũng đang là một thách thức với các công ty vì chi phí lắp đặt, vận hành
và bảo trì khá lớn
2.2.2 CÔNG NGHỆ STREAMING MEDIA
2.1.1.1 Lịch sử hình thành và phát triển
Vào đầu những năm 1920 George O Squier đã đạt được bằng sáng chế cho
hệ thống truyền và phát tín hiệu trên dòng điện, điều mà trước đó chưa ai làm được.Sau đó, công nghệ này nhanh chóng phát triển và làm nền tảng cho Muzak, mộtcông nghệ truyền âm nhạc trực tuyến thay vì truyền qua sóng radio như trước kia.Những nỗ lực tìm kiếm cách thức để hiển thị hình ảnh cũng được các chuyên giaquan tâm vào giữa thế kỉ 20 Tuy nhiên việc công đoạn này phải mất một vài thập kỉvới lý do chính là chi phí để có được các thiết bị phần cứng và hiệu suất của máytính thời bấy giờ Mãi cho đến những năm 80, 90 khi máy tính đã trở nên phổ biến,giá thành và chất lượng cũng đã được thay đổi một cách hợp lý, thì việc hiển thịhình ảnh, video trở nên không quá khó khăn Những vấn đề về kĩ thuật liên quanđến streaming bao gồm:
CPU phải có tốc độ xử lý đảm bảo, băng thông hỗ trợ việc truyềnmedia phải lớn
Tạo ra các thành phần làm giảm thiẻu độ trễ trong hệ điều hành đểngăn chặn bộ đệm bị đầy
Tuy nhiên mạng máy tính thời đó vẫn gặp phải một số giới hạn nhất định, vàmedia vẫn được phát thông qua các kênh non-streaming, chẳng hạn như tải về mộtfile nội dung số từ một server ở xa, sau đó lưu lại trong bộ nhớ của máy tính hoặcđược lưu trữ trong CD-ROMS
Trong suốt khoảng thời gian từ cuối năm 90 đến đầu những năm 2000,Internet đã phá triển vượt bậc và đạt được những thành tựu đáng kể Chất lượng
Trang 20băng thông được ổn định và không ngừng nâng cao Việc truy cập vào mạngInternet cũng gia tăng không ngừng với số lượng người sử dụng càng ngày càng mởrộngnhờ sử dụng thêm các giao thức và định dạng chuẩn như giao thức TCP/IP,HTTP, HTML Từ đó phát sinh các hình thức thương mại trên Internet.
Nhóm Severe Tire Damage là nhóm nhạc đầu tiên biễu diễn trực tiếp vàtruyền qua Internet Vào ngày 24 tháng 6 năm 1993, ban nhạc này đang biểu điễnmột buổi hòa nhạc tại Xerox PARC trong khi đó ở một nơi khác, các nhà khoa họcđang thảo luận về một công nghệ mới có thể quảng bá trên internet sử dụng côngnghệ multicasting Như là bằng chứng về công nghệ của họ, nhóm nhạc này đãquảng bá hình ảnh lên Internet và có thể được xem một cách trực tiếp ở Úc cũngnhư những nơi khác RealNetworks cũng là người tiên phong trong lĩnh vựcstreaming media khi truyền trực tiếp một trận bóng bầu dục giữa New YorkYankees và Seattle Mariners trên Internet vào năm 1995
Microsoft đã phát triển một trình nghe nhạc, xem phim được biết đến làActiveMovie vào năm 1995 cho phép streaming media và bao gồm các chuẩn hỗ trợstreaming để rồi trở thành Windows Meida Player 6.4 trong năm 1994 Năm 1999Apple cũng giới thiệu một chuẩn streaming media trong ứng dụng QuickTime 4 của
họ Nó cũng được biết đến một cách rộng rãi sau này và thích hợp với hầu hết cácwebsite cùng với các định dạng RealPlayer và Windows Media treaming
Đến năm 2002, Adobe Flash ra đời, đánh dấu sự phát triển mạnh mẽ củavideo streaming thông qua flash Định dạng này được sử dụng trên nhiều trang lưutrữ video hiện nay, tiêu biểu là YouTube Lượng khách hàng yêu cầu được xem trựctiếp ngày càng gia tăng đòi hỏi Youtube phải thực hiện một cuộc cách mạng mới,nâng cao chất lượng cũng như đáp ứng nhu cầu của người dùng
Không những đáp ứng yêu cầu đường truyền, những dịch vụ sử dụng hìnhthức streaming cũng phải cung cấp hình ảnh với độ phân giải cao, chất lượng tốt,đáp ứng yêu cầu về hình ảnh nhằm mang lại sự thoải mái cho người dùng Hàngloại công nghệ mới ra đời như WirelessHD, ITU-T, G.hn đã tối ưu việc truyền nộidung chuẩn HD mà không bắt người dùng phải gắn cab mạng để có thể truye cập
Media Stream hiện nay có thể được phát ở 2 dạng: Live Stream và Ondemand Stream Live Stream gửi thông tin thẳng đến máy tính của người dùng mà
Trang 21không cần phải lưu file trong ổ cứng Trong khi đó On-demand Streaming thì ngượclại On-demand Stream thường được lưu trữ trong ổ cứng, server cho việc sử dụngtrong một khoảng thời gian dài trong khi Live Stream chỉ cần thiết trong mộtkhoảng thời điểm xác định.
2.1.1.2 Khái niệm, các giao thức và bộ mã hóa
Stream Media là một dạng truyền thông đa phương tiện mà các dữ liệutruyền thông vừa liên tục thực hiện chức năng nhận phát cho một người dùng cuốitrong khi đang được cung cấp bởi một nhà cung cấp hoặc server
Audio Steam được nén với việc giải mã audio theo chuẩn MP3, Vorbis,AAC Video Stream được nén với việc giải mã video theo chuẩn H.264 hoặc VP8
Việc mã hóa hình ảnh cùng với âm thanh được biên dịch thành các bitstreamvới các định dạng phổ biến MP4, FLV, ASF…Các bitsteam được truyền từstreaming server đến streaming client sử dụng các giao thức vận chuyển như MMShoặc RTP Streaming client có thể tương tác với Server thông qua việc sử dụng cácgiao thức điều khiển như MMS hoặc RTSP
Giao thức Real-Time Streaming (RTSP), Real-Time Transport (RTP)
và Real-time Transport Control (RTCP) được thiết kế dành riêng choviệc stream media trên mạng RTSP nằm trên rất nhiều các giao thứcvận chuyển khách trong khi RTP và RTCP chỉ được xây dựng nằmtrên UDP
Trang 22 Các loại giao thức tin cậy như TCP không thích hợp để truyền tải dữliệu dạng hình ảnh và âm thanh vì quá trình xử lí các gói dữ liệu, đăcbiệt là việc khôi phục và sắp xếp các gói dữ liệu làm chậm đườngtruyền và tốn nhiều tài nguyên.
Các giao thức Unicast gửi một bản copy của stream media ở servercho mỗi client yêu cầu Việc sử dụng Unicast đã trở nên phổ biến vớihầu hết các kết nối Internet nhưng nó không đảm bảo chất lượng tốtkhi nhiều người muốn xem cùng một chương trình một lúc
Các giao thức Multicast được phát triển để giảm tải server / mạng từdòng dữ liệu trùng lặp xảy ra khi nhiều người nhận nhận được streamunicast độc lập Các giao thức này gửi một stream duy nhất từ nguồntới một nhóm người nhận Tùy thuộc vào cơ sở hạ tầng mạng lưới vàloại hình, truyền multicast có thể có hoặc có thể không khả thi Mộtbất lợi tiềm ẩn của multicasting là sự mất mát của chức năng video ondemand Các loại trực tuyến của các đài phát thanh hoặc truyền hìnhtài liệu thường kiểm soát khả năng playback của người dùng Tuynhiên, vấn đề này có thể được giảm nhẹ bởi các yếu tố như các máychủ bộ nhớ đệm, hộp set-top kỹ thuật số, và máy nghe nhạc đệm
IP Multicast cung cấp cách thức để gửi một luồng media độc lập đếnmột nhớm người nhận trên mạng Một giao thức multicast, thường làInternet Group Management Protocol, được dùng để quản lý việc gửidòng multicast đến nhóm người nhận trong mạng LAN Một trongnhững thách thức trong việc triển khai IP Multicast chính là nhữngthiết bị định tuyến, tường lữa giữa các mạng LAN phải cho phépthông điệp của các gói tin phải được chuyển đến điểm cuối là cácgroup multicast
2.1.1.3 Cách thức làm việc của Stream Media trên Internet
Công nghệ Streaming cho phép chúng ta truyền audio, video và các dạng dữliệu truyền thông khác thông qua mạng Internet Các dịch vụ Streaming Media nhưVideo Desk chuyển audio và video mà không phải khiến người dùng đợi đến khi dữliệu được truyền đi hết Khi máy tính của bạn phát file media đó, tự động nó sẽ
Trang 23download và thêm vào nội dung đã có từ streaming Server Việc phát và downloadxảy ra trong cùng một thời điểm Tiến trình này hầu như lngười dùng không hềthấy, trừ một vài trường hợp video bị đứng lại một khoảng thời gian ngắn dành cho
bộ đệm lúc đầu
Internet bây giờ cơ bản là một cỗ máy để đẩy dữ liệu Khi bạn gửi mail hoặc
mở một trang web, Server sẽ nhận được gói dữ liệu yêu cầu thông tin sau đó truyềnthông tin mà bạn yêu cầu một cách nhanh nhất, hoàn thành tương tác rồi ngắt kếtnối, và tiếp tục phục vụ yêu cầu của những người dùng khác Trình duyệt web củabạn sẽ nhận được thông tin và hiện lên màn hình, sau đó chờ yêu cầu tiếp theo củabạn (ví dụ click vào link, xem video…)
Loại hình chức năng packet-pushing rất tốt cho việc truyền tải các dạng đồhọa và văn bản nhưng truyền tải video và âm thanh theo cách này sẽ gặp phải nhiềuvấn đề Với cách tiếp cận này, một người sử dụng web sẽ cần phải tải về toàn bộvideo clip trước khi nó có thể được
Mục tiêu của streaming media là để làm việc xung quanh những hạn chếbăng thông của Internet Sử dụng công nghệ gần như độc quyền, dữ liệu được đưavào sử dụng liên tục trong khi media đang được phát Công nghệ này sử dụng mộtkết nối liên tục, như một trong những yêu cầu để xem TV hoặc nghe radio Máytính sẽ nhận được các video hoặc âm thanh ngay trước khi nhìn thấy hoặc nghe thấy
nó Chúng ta không cần phải tải về hết dữ liệu media trướng khi xem nó
Công nghệ Streaming Media cung cấp 6 ưu điểm riêng biệt so với các tập tinmedia thông thường:
Xem ở thời gian thực: Streaming Media cho phép người dùng xemcác loại media hầu như trong thời gian thực Người dùng chỉ cần chờđợi một khoảng thời gian nhỏ để nạp bộ đệm là có thể xem được filemedia Điều này tốt hơn nhiều so với xem nội dung âm thanh/hìnhảnh theo cách thông thường, khi đó các file media phải được tải hết vềmáy rồi sau đó mới được sử dụng Người dùng không cần phải chờđợi cho các tập tin tải về trước khi xem Điều này là rất quan trọng vìhầu hết các video và file có nội dung đa phương tiện thường có kíchthước lớn và đòi hỏi một thời gian dài để tải về Vấn đề này hoàn toàn
Trang 24bị loại bỏ với công nghệ Streaming Media khi các tập tin không cầnphải được tải về máy
Xem nhanh hơn thông qua Internet: Lợi thế rõ ràng nhất mà một tậptin video xem trực tiếp có được so với video thông thường là tốc độ.Một video không cần phải được tải về hết trước khi nó có thể đượcxem Các tập tin bắt đầu phát trên máy tính của người xem gần nhưngay lập tức, ngay sau khi người xem nhấp chuột vào một liên kết vàyêu cầu nó Các định dạng không trực tuyến như WAV, AVI và MPGphải được tải về hoàn toàn xuống máy tính của khách hàng trước khi
có thể phát Chúng ta có thể chuyển đổi hầu hết các tập tin âm thanh
và video bằng cách sử dụng các công cụ như Auto Movie Creator
Bảo vệ bản quyền truyền thông: Việc vi phạm bản quyền các tập tintruyền thông là một vấn đề toàn cầu! Các dữ liệu hình ảnh, videothường rất dễ bị trùng lặp và biên tập trái phép bởi vì nó có thể dễdàng tải về Người xem có thể dễ dàng tải về một AVI, MPG hay fileWMA, và sao chép, chỉnh sửa, hoặc phân phối lại nó mà không đượcphép sự đồng ý của người tạo ra nó Streaming Media cung cấp mức
độ bảo mật cao hơn cho nội dung và có thể giúp bảo vệ quyền nộidung chủ sở hữu Các tập tin xem trực tiếp chơi trên Internet màkhông được tải xuống máy tính của người xem Điều này làm cho họ
ít có khả năng giả mạo trái phép nội dung bản quyền của dữ liệutruyền thông
Biết ai đang xem video: Video Desk là một dịch vụ streaming videoaudio Các báo cáo của Video Desk sẽ cung cấp thông tin chi tiết vềnhững người đang xem các tập tin, số lần một tập tin được yêu cầu,thời gian trung bình mà người xem phát tập tin, tổng thời gian củamỗi clip và tổng số lượng dữ liệu chuyển giao cho mỗi clip Điều nàygiúp chúng ta xác định xem tập tin media có đạt mục tiêu dự định haykhông Nó cũng giúp chúng ta đánh giá thị hiếu của khán giả và tạo racác sản phẩm khác cho phù hợp hơn
Điều khiển dựa trên trải nghiệm của người sử dụng
Trang 25 Dễ dàng để kiếm tiền từ nội dung media.
Để phát được các tập tin truyền thông, trình duyệt của bạn phải có một trìnhphát ứng dụng tương tự như Windows Media Player Nếu các file media có chứa âmthanh, máy tính cần phải có card âm thanh và loa để có thể nghe được Một đườngtruyền Interet tốc độ cao sẽ cho phép phát audio, video với chất lượng cao hơn
Mọi người thường phàn nàn về chất lượng của streaming media Họ so sánhchất lượng video của một tập tin xem trực tiếp với một chương trình truyền hình.Nhưng streaming media không phải chủ yếu về chất lượng, mà đó là về khả năngtruy cập Hãy tưởng tượng chúng ta chỉ cần nhấp vào một liên kết trong email đểxem 30 phút video clip của một người bạn đang sống ở phía bên kia của thế giới.Khi bạn nhấp vào liên kết và xem video ngay lập tức, sẽ tuyệt vời hơn nhiều là ngồiđợi đến khi web tải xong video rồi mới xem
Chất lượng của phương tiện truyền thông có thể điều chỉnh được Nếu ngườixem có một kết nối Internet băng thông rộng với Internet, chúng ta có thể mã hóavideo và âm thanh với một chất lượng cao hơn Ngược lại thì ta sẽ mã hóa video và
âm thanh với một chất lượng vừa đủ
Modem cáp và đường dây DSL cung cấp kết nối mạng tốc độ cao Điều nàylàm cho chất lượng stream media trở nên cao hơn và sẽ là một lựa chọn rất thực tế.Những tiến bộ trong công nghệ nén, cho phép video chất lượng cao hơn và âmthanh được gửi đi bằng cách sử dụng cùng một băng thông cũng đã góp phần cảithiện chất lượng phương tiện truyền thông
2.1.1.4 Ứng dụng Streaming Media
Tường thuật trực tiếp: ngày càng có nhiều sự kiện đang được web-cast trựctiếp Tất cả mọi thứ từ các cuộc thảo luận của Quốc hội Hoa Kỳ (qua cspan.org) đếncác buổi hòa nhạc trực tiếp đến các cuộc thi sắc đẹp
Nhạc kĩ thuật số: ngày càng có nhiều công ty âm nhạc đang quảng bá album
và nghệ sĩ của mình bằng cách sử dụng công nghệ streaming để phát đi nhữngvideo, audio một cách an toàn, không tải về cũng như không sao chép Công nghệphát hình cũng được sử dụng để phân phối an toàn và hợp pháp các sản phẩm âmnhạc chất lượng cao thông qua khả năng "trả cho mỗi lần tải"
Trang 26Giải pháp học trực tuyến: nhiều người trong số các chuyên gia đào tạo trênthế giới đang sử dụng công nghệ trực tuyến một cách rộng rãi để thay thế phươngpháp đào tạo truyền thống với chi phí hiệu quả và tính thuận tiện Người học có thểhọc qua mạng và tham gia vào lớp học, đưa ý kiến một cách bình thường
Quảng cáo, xem Catalog sản phẩm bằng phương tiện truyền thông/ Bán hàngtrực tuyến: việc kinh doanh sử dụng công nghệ streaming giúp quảng bá sản phẩmmột cách nhanh chóng, thuận lợi, thu hút được người tiêu dùng
2.3 RED5 SERVER
2.3.1 KHÁI NIỆM
Trước khi tìm hiểu thế nào là Red5 Server chúng ta nên nắm một cách cơbản khái niệm về Media Server Media Server là một hệ thống gồm một hay nhiềumáy chủ, có chức năng chính là lưu trữ và chia sẻ dữ liệu truyền thông (ảnh,audio ,video, sách…) Đó có thể là một server đơn giản tích hợp công nghệNAS(Network-attached storage*) hay một server phức tạp chuyên cung cấp cácdịch vụ lưu trữ dữ liệu truyền thông lớn
Red5 là một dạng Media Server, cung cấp cách thức truyền video và giảipháp đa người dùng một cách mạnh mẽ cho Adobe Flash Player và nhưng côngnghệ thú vị khác từ phía người dùng Dựa trên ngôn ngữ Java và một vàiframeworks mã nguồn mở khác, Red5 đã và đang là một giải pháp hợp lý chonhiều hình thức kinh doanh cho các doanh nghiệp vừa và nhỏ
Red5 hỗ trợ giao diện lập trình ứng dụng đa người dùng mới nhất bao gồmcác lớp tiêu biểu như NetConnection, NetStream và SharedObjects trong khi đó vẫn
hỗ trợ thực hiện RTMP/Servlet một cách hiệu quả Thêm vào việc hỗ trợ giao thứcRMTP, Red5 Server còn nhúng và đó Tomcat Servlet container thích hợp cho ứngdụng web viết bằng ngôn ngữ Java
2.3.2 TẠI SAO LẠI SỬ DỤNG RED5 SERVER?
Red5 Server là Server truyền dữ liệu dạng mã nguồn mở, tích hợp Java và cáccông nghệ khác Vì thế nên chi phí xây dựng một Server Red5 sẽ tốn chi phí ít hơn
so với việc sử dụng các loại Server khác như Adobe Flash Media Server hayWowza Media Server Vì đây là khóa luận tốt nghiệp nên để hạn chế kinh phí,
Trang 27chúng em chỉ sử dụng Server Red5 Tuy nhiên không vì thế mà Red5 thua kém cácloại server khác về chức năng Bảng so sánh các Media Server dưới đây sẽ cho phépchúng ta có được cái nhìn toàn cảnh về các Server Media hiện nay:
Tính năng Flash Media Server 4.5 Wowza Media
RTMPRTMPTRTMPSRTMPERTMPTE
RTMPRTMPTRTMPSRTMPERTMPTE
(5$)License hàngtháng(55$)
Miễn phí (mãnguồn mở)
Các
Platform hỗ
trợ
Microsoft® WindowsServer® 2003 withService Pack 2 orWindows Server 2008Linux® Red Hat® 4 or5.2
Chạy 32-bit hay 64-bitđều được
WindowsMac OS XLinuxSolarisUnix
Hỗ trợ 64-bit, IPv6
WindowsDebian/UbuntuMac OSXWARGentoo
Định dạng
Audio/Vide
o Hỗ trợ
FLV, H.264, MP3, AAC,LC-AAC, HE-AAC,Speex
FLV, H.264, MP3AAC,LC-AAC,HE-AAC, Speex
FLV, MP3, F4V,MP4, AAC, M4A,
Sorenson,VP6, H.264, NellyMoser, Speex, NSV
Flash (RTMP)iPhone/iPad (HTTPStreaming)
Silverlight (SmoothStreaming)
QucikTime/3GPP (RTSP/RTP)IPTV (MPEG-TS)
Flash (RTMP)
Ghi âm H.264/AAC to FLV H.264/AAC to FLV FLV
Trang 28containerH.264/AAC to MP4(Quicktime)
việc ghép kênh hay đóng gói các luồng dữ liệu truyền thông (video, âm thanh…)
trên nền một giao thức vận chuyển thích hợp (ví dụ như TCP) RMTP cho phép ứngdụng sử dùng video và âm thanh với tốc độ nhanh, hạn chế bị giật hình hoặc méotiếng
Phương thức RTMP mã hóa các dữ liệu được truyền đi giữa Flash Player vàMedia Server Một số biến thể của RTMP hay được sử dụng:
- RTMP: là phương thức được truyền nhanh nhất nhưng có độ bảo mậtkhông cao
- RTMPE (Encrypted RTMP) và RTMPS (HTTPS-based RTMP): là cácphiên bản mã hóa của RTMP Bảo mật cao hơn nhiều so với RTMP
- RTMPT (HTTP tunneling RTMP): được bảo mật tốt nhưng chậm
- Ngoài ra còn có RTMPTE (HTTP tunneling encrypted RTMP) cũng làphiên bản mã hóa khác của RTMP
Các giao thức này sử dụng các cổng (Port) 1935, 443, 80
2.3.3.2 Lớp NetConnection
Lớp NetConnection tạo ra kết nối 2 chiều giữa client và server Client có thể
là Flash Player hoặc một ứng dụng AIR của Adobe Server có thể là webServerhoặc Media Server, hoặc một ứng dụng đang chạy Flash điều khiển từ xa Phươngthức “connect” trong lớp này sẽ đóng vai trò kết nối sau đó sử dụng lớp NetStream
để gửi các luồng dữ liệu thông qua kết nối đó Ta có bảng thông điệp ứng với lệnhnhư sau:
Trang 291 Phía client gửi lệnh connect tới server để yêu cầu kết nối với ứng dụngtrên server.
2 Sau khi nhận được lệnh, Server gửi thông điệp ’WindowAcknowledgement Size’ tới client Server này cũng kết nối được đề cập trong lệnhconnect
3 Server gửi tiếp một thông điệp ’Set Peer Bandwidth’ về phía client
4 Client sau đó gửi trả lại một thông điệp ’Window AcknowledgementSize’ đến server sau khi đã xử lý thông điệp ’Set
Các thuộc tính thường được sử dụng được liệt kê trong bảng sau:
Protocol String Giao thức được dùng để thiết lập kết nối
Trang 30Uri String Truyền một chuỗi định danh tài nguyên vàophương thức NetConnection.connect().
Các phương thức thường được sử dụng được liệt kê trong bảng sau:
NetConnection() Object Tạo ra một đối tượng
NetConnectioncall(command:String,
responder:Responder,
arguments)
void Truyền một lệnh hoặc một
phương thức tới Flash MediaServer
close() void Ngắt kết nối hoặc có thể được
thực hiện khi server gửi một sựkiện netStatus với thuộc tínhNetConnection.Connect.Closed
Phát một tập tin media từ ổ cứng cục bộ, webserver hoặc MediaServer
Quảng bá, xuất một luồng video, âm thanh hay dữ liệu đến MediaServer
Gửi các thông điệp đến các máy có đăng kí theo dõi
Các thuộc tính thường được sử dụng được liệt kê trong bảng sau:
audioReliable Boolean Đối với kết nối RTMFP, xác định âm
thanh được với với độ tinh cậy tuyệt đốihay không
Info NetStreamInfo Trả về một đối tượng NetStreamInfo chứa
thông tin về chất lượng dịch vụliveDelay Number Số giây dữ liệu bị trễ khi truyền trực tiếpsoundTransfor
m SoundTransform Điều khiển âm thanh trong đối tượngNetStream
Các phương thức thường được sử dụng được liệt kê trong bảng sau:
Trang 31Tên phương thức trả về Kiểu Mô tả
NetStream(connection:NetConnection,
peerID:String = "connectToFMS") Object Tạo ra một luồng dữ liệucó thể dùng để phát hoặc
nhận các loại dữ liệutruyền thông trên mộtđối tượng kết nốiNetConnection
attach(connection:NetConnection)
void Đưa một luồng vào đối
tượng NetConnectionattachAudio(microphone:Microphone) void Gắn một luồng âm thanh
vào đối tượng NetStream
từ đối tượng MicrophoneattachCamera(theCamera:Camera,
snapshotMilliseconds:int= -1):voidarguments) void Kích hoạt hoặc ngừngchứng năng quay video
từ Cameraclose() void Ngừng phát dữ liệu trên
luồng đó, đồng thời đặtlại thuộc tính thời giancho luồng về 0, giúpluồng đó có thể sử dụngđược cho lần tiếp theopause() void Tạm ngưng xem một
luồng video
void Phát một luồng dữ liệutruyền thông từ thư mục
của webServer, hoặcphát một luồng dữ liệutrực tiếp từ MediaServerpublish(name:String = null, type:String = null) v
void thanh, hình ảnh, và cácGửi luồng âm
thông điệp từ client đếnServer
‘
2.3.3.4 Lớp SharedObject
Lớp SharedObject được sử dụng để đọc và lữu trữ số lượng giới hạn dữ liệutrên máy tính hoặc trên server SharedObject thích hợp với dữ liệu thời gian thựcđược chia sẻ giữa các client sử dụng SWF files và các đối tượng ở nhiều nơi khácnhau SharedObject cục bộ cũng tượng tự như cookies trong browser Để sử dụngđược shared object, ta cần phải có một Flash Media Server
Trang 322.3.4 ỨNG DỤNG CỦA RED5 SERVER
Red5 Server có rất nhiều ứng dụng phục vụ nhu cầu truyền thông Một vàiứng dụng quan trọng trong đó bao gồm:
- Phát luồng dữ liệu video/audio (hỗ trợ FLV, MP3)
- Ghi lại (lưu trữ) luồng dữ liệu từ người dùng (chỉ hỗ trợ FLV)
2.4.2 Action Script 3.0
Action Script là ngôn ngữ lập trình tạo ra các file flash được dùng trong khóaluận, giúp cho việc thực hiện liên kết và truyền thông điệp giữa các client đếnserver và giữa các client với nhau
2.5 NGÔN NGỮ LẬP TRÌNH PHP
2.5.1 LỊCH SỬ PHÁT TRIỂN
Cái tên PHP ban đầu được viết tắt bởi cụm từ Personal Home Page và đượcphát triển từ năm 1994 bởi Rasmus Lerdorf Lúc đầu chỉ là bộ đặc tả Perl , được sửdụng để lưu dấu vết người dùng trên các web Sau đó Rasmus Lerdorf đã phát triểnPHP như là một máy đặc tả(Scripting engine) Vào giữa năm 1997 , PHP đã pháttriển nhanh chóng trong sự yêu thích của nhiều người PHP đã không còn là 1 dự
án cá nhân của Rasmus Lerdorf và đã trở thành công nghệ web quan trọng ZeevSuraskivà Andi Gutmans đã hòan thiện việc phân tích cú pháp cho ngôn ngữ để rồitháng 6 năm 1998 , PHP3 đã ra đời(phiên bản này có phần mở rộng là *.php3) Chođến tận thời điểm đó , PHP chưa 1 lần được phát triển chính thức , một yêu cầu viếtlại bộ đặc tả được đưa ra , ngay sau đó PHP4 ra đời(phiên bản này có phần mở rộng
Trang 33không phải là *.php4 mà là *php) PHP4 nhanh hơn PHP3 rất nhiều PHP bây giờđược gọi là PHP Hypertext PreProcesor.
2.5.2 NGÔN NGỮ LẬP TRÌNH PHP
2.5.2.1 Giới Thiệu ngôn ngữ lập trình PHP
PHP (viết tắt 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 chomá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ảnphẩ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
Như chúng ta đã biết , rất nhìu trang web được xây dựng bởi HTML(Hypertext Markup Language) Đây chỉ là những trang web tĩnh , nghĩa là chúngchỉ chứa đựng 1 nội dung cụ thể với những dòng văn bản đơn thuần, hình ảnh và cóthể được hỗ trợ bởi ngôn ngữ JavaScript hoặc Java Apple Những trang web nhưvậy người ta thường gọi là client-side Tuy nhiên , Internet và Intranets đã được sửdụng cho các ứng dụng cần tới cơ sở dữ liệu Các trang ứng dụng như vậy được gọi
là trang web động Bởi vì nội dung của chúng luôn thay đổi tùy thuộc vào dữ liệu
và người sử dụng PHP là ngôn ngữ làm được những điều như vậy Bằng cách chạychương trình PHP trên máy chủ Web Sever , bạn có thể tạo ra ứng dụng có sự tươngtác với cơ sở dữ liệu để tạo ra những trang web và đây được gọi là trang web động Chúng ta hãy xem xét cách hoạt động của những trang web được viết bằng ngônngữ PHP và HTML như thế nào :
- Với các trang HTML:
Khi có yêu cầu tới 1 trang web từ phía người sử dụng(browser) Web Serverthực hiện 3 bước sau :
Đọc yêu cầu từ phía browser
Tìm trang web trên server
Gửi trang web đó lại cho browser(nếu tìm thấy) qua mạng internet hoặc intranet
- Với các trang PHP
Trang 34Khác với các trang HTML, khi mội tang PHP yêu cầu, web server phân tích
và thi hành các đoạn mã PHP để tạo ra trang HTML Điều đó thể hiện bằng 4 bướcsau :
Đọc yêu cầu từ phía browser
Tìm trang web trên server
Thực hiện các đoạn mã PHP trang các trang đó để sửa đổi nội dungcủa trang
Gửi trở lại nội dung cho browser(đây là trang HTML có thể hiển thịđược bởi trình duyệt Internet Exproler hoặc trình duyệt nào đó)
Tóm lại sự khác biệt giữa HTML và PHP là HTML không hiện thị được trênmáy chủ web server còn các trang *.php viết bằng các đoạn mã PHP được thực hiệntrên máy chủ web server do đó nó linh động và mềm dẻo hơn
2.5.2.2 Cú pháp trong lập trình PHP
PHP chỉ phân tích các đoạn mã nằm trong những dấu giới hạn của nó Bất cứ
mã nào nằm ngoài những dấu giới hạn đều được xuất ra trực tiếp không thông qua
xử lý bởi PHP Các dấu giới hạn thường dùng nhất là <?php và ?>, tương ứngvới dấu giới hạn mở và đóng Các dấu giới hạn
<script language="php"> và </script>
cũng đôi khi được sử dụng Cách viết dấu giới hạn dạng thẻ ngắn cũng có thể đượcdùng để thông báo bắt đầu đoạn mã PHP, là <? hay <?= (dấu này được sử dụng để
in ra (echo) các xâu ký tự hay biến) với thẻ thông báo kết thúc đoạn mã PHP là ?
> Những thẻ này thường xuyên được sử dụng, tuy nhiên giống với những thẻkiểu ASP (<% hay <%= và %>), chúng không có tính di động cao bởi có thể bị vôhiệu khi cấu hình PHP Bởi vậy, việc dùng các thẻ dạng ngăn hay các thẻ kiểu ASPkhông được khuyến khích Mục đích của những dấu giới hạn này là ngăn cách mãPHP với những đoạn mã thuộc ngôn ngữ khác, gồm cả HTML Mọi đoạn mã bênngoài các dấu này đều bị hệ thống phân tích bỏ qua và được xuất ra một cách trựctiếp
Các biến được xác định bằng cách thêm vào trước một dấu đô la ($) vàkhông cần xác định trước kiểu dữ liệu Không giống với tên hàm và lớp, tên biến làtrường hợp nhạy cảm Cả dấu ngoặc kép ("") và ký hiệu đánh dấu văn bản
Trang 35(<<<EOF EOF;) đều có thể dùng để truyền xâu và giá trị biến PHP coi xuốngdòng như một khoảng trắng theo kiểu như một ngôn ngữ dạng tự do (free-formlanguage) (trừ khi nó nằm trong trích dẫn xâu), và các phát biểu được kết thúc bởimột dấu chấm phẩy PHP có ba kiểu cú pháp chú thích: /* */ cho phép một đoạnchú thích tùy ý, trong khi đó // và # cho phép chú thích trong phạm vi mộtdòng Phát biểu echo là một trong những lệnh của PHP cho phép xuất văn bản (vd.
ra một trình duyệt web)
Về cú pháp các từ khóa và ngôn ngữ, PHP tương tự hầu hết các ngôn ngữ lậptrình bậc cao có cú pháp kiểu C Các phát biểu điều kiện If (Nếu), vònglặp for và while, các hàm trả về đều tương tự cú pháp của các ngôn ngữ như C, C++, Java và Perl
Trang 36CHƯƠNG III – GIỚI THIỆU NUKEVIET: PHẦN
mở có tên gọi đầy đủ là NukeViet CMS gồm 2 phần chính là phần nhân (core) của
hệ thống NukeViet và nhóm chức năng quản trị nội dung của CMS thường được sửdụng để xây dựng các website tin tức do đó người dùng thường nghĩ rằng NukeVietmạnh về hệ thống tin tức Tuy nhiên, đội ngũ phát triển NukeViet đã phát triểnnhiều hệ thống khác nhau cho NukeViet, nổi bật nhất phải kể đến NukeViet Portal(Cổng thông tin hai chiều dùng cho doanh nghiệp), NukeViet Edu Gate (Cổngthông tin tích hợp nhiều website, sử dụng cho phòng giáo dục, sở giáo dục)
và NukeViet Tòa Soạn Điện Tử (Sử dụng cho các tòa soạn báo điện tử, trang tinđiện tử)
Theo định hướng phát triển của NukeViet, ngoài NukeViet CMS đã đượcphát hành theo giấy phép tự do nguồn mở trong nhiều năm qua, NukeViet sẽ cóthêm 2 nhóm ứng dụng nữa là NukeViet Blog (Dành cho các website và người dùngtạo các trang nhật ký cá nhân) và NukeViet Shop (dành cho các website thương mạiđiện tử với hoạt động chính là bán hàng trực tuyến, hiện đã có thể sử dụng bằngcách cài bổ sung module Shop lên NukeViet CMS)
Trang 373.1.2 NUKEVIET CMS
NukeViet CMS là một hệ quản trị nội
dung (Content Management System - CMS)
cho phép bạn quản lý các cổng thông tin điện
tử trên Internet Nói đơn giản, NukeViet giống
như một phần mềm giúp bạn xây dựng và vận
hành các trang web của mình một cách dễ
dàng nhất Website bạn đang xem - trang
nukeviet.vn này - được tạo ra và vận hành bởi phần mềm NukeViet CMS
NukeViet CMS là một phần mềm mã nguồn mở, do đó việc sử dụng hoàntoàn miễn phí, bạn có thể tải NukeViet CMS về bất cứ lúc nào tại website chínhthức của NukeViet là nukeviet.vn Bạn có thể cài NukeViet lên hosting để sử dụnghoặc cũng có thể thử nghiệm bằng cách cài ngay lên máy tính cá nhân
NukeViet cho phép xây dựng một website động, đa chức năng, hiện đại mộtcách nhanh chóng mà người vận hành nó thậm chí không cần phải biết một tí gì vềlập trình bởi tất cả các tác vụ quản lý phức tạp đều được tự động hóa ở mức cao.NukeViet đặc biệt dễ dàng sử dụng vì hoàn toàn bằng tiếng Việt và được thiết kếphù hợp nhất với thói quen sử dụng mạng của người Việt Nam
Bằng việc sử dụng các công nghệ web mới nhất hiện nay, thiết kế hệ thốnguyển chuyển và sở hữu những tính năng độc đáo, NukeViet sẽ giúp bạn triển khaicác ứng dụng web từ nhỏ đến lớn một cách nhanh chóng và tiết kiệm: từ cácwebsite cá nhân cho tới các cổng thông tin điện tử; từ các gian hàng trực tuyến chotới các mạng xã hội
NukeViet là CMS mã nguồn mở đầu tiên của Việt Nam có quá trình pháttriển lâu dài nhất, có lượng người sử dụng đông nhất Hiện NukeViet cũng là mộttrong những mã nguồn mở chuyên nghiệp đầu tiên của Việt Nam, cơ quan chủ quảncủa NukeViet là VINADES.,JSC - đơn vị chịu trách nhiệm phát triển NukeViet vàtriển khai NukeViet thành các ứng dụng cụ thể cho doanh nghiệp
Trang 383.1.3 LỊCH SỬ PHÁT TRIỂN.
NukeViet ra đời từ năm 2004, bắt đầu từ việc sử dụng sản phẩm PHP-Nuke
để làm cho website cá nhân, anh Nguyễn Anh Tú - một lưu học sinh người Việt tạiNga - đã cùng cộng đồng Việt hóa, cải tiến theo nhu cầu sử dụng của người Việt.Được sự đón nhận của đông đảo người sử dụng, NukeViet đã liên tục được pháttriển và trở thành một ứng dụng thuần Việt Cho đến phiên bản 3.0, NukeViet đãđược phát triển thành một ứng dụng khác biệt hoàn toàn, và không chỉ là một CMS,NukeViet được định hướng để trở thành phần mềm đa chức năng trên nền web
Kể từ năm 2010, NukeViet đã phát triển theo mô hình chuyên nghiệp, độingũ quản trị đã thành lập doanh nghiệp chuyên quản và đạt được những tiến bộvượt bậc NukeViet đã trở thành hệ quản trị nội dung nguồn mở duy nhất của ViệtNam được Bộ GD&ĐT khuyến khích sử dụng trong giáo dục (thông tư08/2010/TT-BGDĐT) Tiếp đó, NukeViet CMS đã được trao giải Nhân Tài ĐấtViệt 2011 và trở thành phần mềm nguồn mở đầu tiên đạt giải thưởng cao quý
3.1.4 DÒNG PHIÊN BẢN CỦA NUKEVIET
NukeViet 1.0: Phiên bản thế hệ 1
- Các phiên bản cũ NukeViet beta, NukeViet 1.0, NukeViet 1.0.1
- Phiên bản đầu tiên của NukeViet là phiên bản NukeViet 1.0 (hay
NukeViet 1.0.0) có nguồn gốc từ PHP-Nuke 6.5 Các phiên bản tiếp theo
có dạng 1.0.x, về cơ bản chúng chỉ là những bản được vá lỗi do đóthường gọi là NukeViet 1.0
- Điểm mạnh của NukeViet 1.0: Có một số lượng rất lớn các thành phần
mở rộng (Module, block); giao diện (theme) được chuyển đổi từ bảndùng cho PHP-Nuke cũng như được viết mới bởi người sử dụng
- Dòng phiên bản đã đã ngưng hỗ trợ từ năm 2007 nhưng hiện vẫn còn một
số ít các website vẫn sử dụng
Phiên bản 2.0 beta: (ngày 27 tháng 01 năm 2007)
- Các phiên bản tương tự: NukeViet 2.0 beta, NukeViet 2.0 beta 1,NukeViet 2.0 beta 2, NukeViet 2.0 beta 2a
Trang 39- Phần nhân của NukeViet 2.0 beta được viết lại rất nhiều Nếu nhưNukeViet 1.0 chỉ là bản Việt hóa và cải tiến từ PHP-Nuke thì NukeViet2.0 beta được viết mới rất nhiều.
- Điểm mạnh của NukeViet 2.0: NukeViet 2.0 có nhiều lớp bảo mật tốthơn, tối ưu kết nối vào CSDL, một số tính năng được cải tiến hơn so vớiNukeViet 1.0
Phiên bản test "hậu" 2.0 beta
- Phiên bản được giới thiệu vào tháng 4 năm 2007 nhưng không phát hành:
xử lý hình ảnh trực tuyến, đa ngôn ngữ toàn diện, đa giao diện theo ứngdụng, sử dụng Ajax, hướng tới thương mại điện tử, khả năng nhận diệnbản nâng cấp hệ thống, tự động bóc tách dữ liệu từ các nguồn khác nhau,
tự động sao lưu CSDL
Phiên bản chính thức: NukeViet RC
- NukeViet 2.0 RC1 (ngày 24 tháng 05 năm 2009), NukeViet 2.0 RC2(ngày 07 tháng 07 năm 2009), NukeViet 2.0 RC3 (ngày 01 tháng 03 năm2010), NukeViet 2.0 RC4 (ngày 08 tháng 04 năm 2010)
- Dòng phiên bản chính thức của NukeViet 2.0 được đánh dấu từ phiênbản NukeViet 2.0 RC1 phát hành ngày 24/05/2009 Đây là phiên bảnnâng cấp đầu tiên kể từ sau khi bản beta cuối cùng ra mắt Đây cũng làbản đầu tiên có hackmod (sửa đổi hệ thống PHPBB) để kết nối với mãnguồn PHPBB3 (trước đó NukeViet 2.0 beta chỉ tích hợp sẵn PHPBB2)
- Đây là phiên bản mà NukeViet mang nhiều tính năng nhất từ trước đếnnay Với khả năng tùy biến cực cao, khả năng đa giao diện, độ bảo mật vàhoàn thiện cũng hơn hẳn các phiên bản trước Ngoài việc nâng cấp, sửalỗi, phiên bản này còn bổ sung nhiều tính năng và thêm mộtloạt module như [44]:
o Addnews (Gửi bài viết);
o AutoTranslate (Dịch tự động);
o Contact (Liên hệ, thay cho module Feedback của bản 1.x và 2.beta);
Trang 40o Rss (Kênh tin chia sẻ; RSS được tạo tự động bằng cách thả file
rss.php phù hợp vào thư mục chứa module tương ứng cần xuất RSS);
o Sitemap (Sơ đồ site);
o Support (Hỗ trợ);
o Weblinks (Liên kết website)
- Vì những khác biệt về lập trình nên các thành phần mở rộng của
NukeViet 1.0 không sử dụng chung với NukeViet 2.0 được Các thành phần mở rộng của bản 2beta có thể sử dụng chung với bản RC2 nhưng bị hạn chế tính năng
NukeViet 3:
- Phiên bản thử nghiệm kín bao gồm Closebeta 1,2,3,4
- Phiên bản thử nghiệm mở rộng bao gồm Openbeta 1,2,3
- Phiên bản RC (tiền chính thức) bao gồm RC 1 và RC 2
- Phiên bản chính thức: 3.0, 3.1, 3.2, 3.3, 3.4
3.1.5 DÒNG PHIÊN BẢN NUKEVIET 3.X
Dòng phiên bản NukeViet 3.0 là thế hệ hoàn toàn mới do người Việt pháttriển Lần đầu tiên ở Việt Nam, một bộ nhân mã nguồn mở được đầu tư bài bản vàchuyên nghiệp cả về tài chính, nhân lực và thời gian Kết quả là 100% dòng codecủa NukeViet được viết mới hoàn toàn, NukeViet 3 sử dụng xHTML, CSS vớiXtemplate và jquery cho phép vận dụng Ajax uyển chuyển cả trong công nghệnhân
Tận dụng các thành tựu mã nguồn mở có sẵn nhưng NukeViet 3 vẫn đảmbảo rằng từng dòng code là được "code tay" Toàn bộ nhân hệ thống được xây dựng
từ đầu, xuyên suốt và mạch lạc; không phải là những thư viện chắp vá rời rạc Điềunày có nghĩa là NukeViet 3 hoàn toàn không lệ thuộc vào bất cứ framework nàotrong quá trình phát triển của mình; Bạn hoàn toàn có thể đọc hiểu để tự lập trìnhtrên NukeViet 3 nếu bạn biết PHP và MySQL (đồng nghĩa với việc NukeViet 3hoàn toàn mở và dễ nghiên cứu cho bất cứ ai muốn tìm hiểu về code của NukeViet)
Bộ nhân NukeViet 3 ngoài việc thừa hưởng sự đơn giản vốn có củaNukeViet nhưng không vì thế mà quên nâng cấp mình Hệ thống NukeViet 3 hỗ trợ