Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 68 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
68
Dung lượng
2,64 MB
Nội dung
Mở đầu 1. Lý do chọn đề tài Ngày nay, thông tin đã và đang dần chuyển hớng phát triển của mình sang các dịch vụ Web. Một trong những dịch vụ đợc ngời ta khá quan tâm là Th- ơng mại Điện tử. Dịch vụ này giúp những ngời bận rộn, thờng xuyên làm việc trong các phòng máy, phòng thí nghiệm có thể tiết kiệm đ ợc thời gian đi mua sắm để tập trung vào công việc của mình. Nhờ Thơng Mại Điện tử, chỉ cần vài thao tác đơn giản trên máy tính có kết nối với Internet, bạn sẽ có tận tay những thứ mình cần mà không phải đi đâu cả. Bạn chỉ cần vào các trang dịch vụ Thơng mại Điện tử là có thể mua sắm bất cứ thứ gì, nhân viên dịch vụ sẽ mang đến tận nhà cho bạn. Việc thanh toán cũng thật dễ dàng, có thể gián tiếp qua các hệ thống Ngân hàng hoặc trực tiếp nếu bạn muốn. Vậy, thực chất của Thơng mại Điện tử là nh thế nào? Để tìmhiểu mô hình hoạt động cũng nh quá trình một ứng dụng có tính chất thơng mại trực tuyến, và để trang bị cho mình những hiểu biết chung về thơng mại điện tử, kĩ năng và phơng pháp xâydựngvà phát triển các ứng dụng thơng mại điện tử, tôi chọn tìmhiểu đề tài "Tìm hiểuCMSJoomlavàxâydựngwebsitebánsáchtrực tuyến" là đề tài nghiên cứu cho đồ án tốt nghiệp này. 2. Mục tiêu cụ thể Nắm đợc cơ sở lí thuyết chung về thơng mại điện tử và các vấn đề liên quan đến thơng mại điện tử. Tìmhiểu các Website thơng mại điện tử lớn đã đợc triển khai để nắm đợc cách thức hoạt động và những yêu cầu cần thiết đối với ứng dụng thơng mại điện tử. Xác định đối tợng khách hàng mà mình hớng đến để phục vụ. 1 Lựa chọn giải pháp công nghệ thích hợp cho việc xâydựngvà phát triển ứng dụng đã chọn. Tìmhiểu về Joomlavà những tính năng của nó. Xâydựng ứng dụng thơng mại điện tử dựa trên nền tảng Joomla có thể đáp ứng đợc nhu cầu của đối tợng phục vụ. Tính toán, đa ra phơng pháp và kế hoạch thực hiện dự án trong thời gian ngắn nhất và chi phí thấp nhất có thể. 3. Giải pháp công nghệ Sử dụng nền tảng là Joomla, Joomla cung cấp một nền tảng ứng dụng mạnh mẽ tạo điều kiện thuận lợi cho các lập trình viên thiết kế ra các add-ons nhằm mở rộng sức mạnh của Joomla nhằm đáp ứng tối đa nhu cầu của doanh nghiệp. Hệ thống thơng mại điện tử thích hợp. Hệ thống kiểm soát hàng hoá. Công cụ báo cáo dữ liệu. Danh mục hàng hoá. Các th mục kinh doanh phức tạp. Công cụ hỗ trợ giao tiếp. Cầu nối ứng dụng. 4. Cấu trúc đề tài Nội dung đồ án đợc tổ chức thành 3 chơng: Chơng 1. Tìmhiểu về CMSJoomla Chơng 2. Tìmhiểu Virtuemart trong Joomlavàxâydựngwebsitebánsáchtrực tuyến Chơng 3. Triển khai ứng dụngvà bảo mật Joomla 2 Chơng 1 Tìmhiểu về CMSjoomla 1.1 Tổng quan về CMS (Content Management System) 1.1.1 Giới thiệu CMS Chúng ta có thể hình dungCMS nh là một hệ điều hành trên máy tính, nghĩa là CMS đợc sử dụng làm nền tảng để chạy những ứng dụng khác. Ngoài ra, CMS giống nh một th viện, nó cung cấp những hàm, lớp cơ bản để những ngời phát triển web khác có thể sử dụng, tuỳ biến, chỉnh sửa để CMS thành một trang web phục vụ đúng nhu cầu của mình. 1.1.2. Tính hớng đối tợng trong CMS Trong giới hạn của báo cáo này, mặc dù rất muốn nhng tôi không thể trình bày chi tiết về lập trình hớng đối tợng. Trong lập trình web PHP, t tởng hớng đối tợng chỉ mới đợc áp dụng trong PHP5, nh vậy nghĩa là chúng ta hoàn toàn có thể xâydựng một ứng dụng PHP theo phơng pháp hớng đối t- ợng để có thể tối u hệ thống mình xây dựng. Trong CMS, t tởng này cũng mới đợc áp dụng. Với một dự án lớn nh Joomla, việc sử dụng các phơng thức cài đặt truyền thống thì thực sự quá khó, nếu không muốn nói là không thể thực hiện đợc. Chính vì vậy, khi làm việc với Joomla, xâydựng bất kì một ứng dụng cụ thể nào, chúng ta đều phải có kiến thức sâu về lập trình hớng đối tợng để có thể áp dụng mang lại hiệu quả cao. 1.1.3. Mô hình/ cấu trúcCMS Trong CMS thì ngoài độ rộng của API, cái dễ phân biệt và đánh giá một CMS, có lẽ là cấu trúc của nó. Nói tới cấu trúc của CMS, chúng ta không phải nói tới nó chạy nh thế nào, mà chính là những cái chạy trên nền CMS đó đợc chạy nh thế nào. Thực tế thì không riêng CMS, mà trên programing nói chung, đều có những cấu trúc đợc phát minh sẵn, và công việc của mình là biến lý thuyết thành hiện thực thôi. 3 Nói nh vậy, cái chúng ta cần làm là phải hỗ trợ tối đa để những ngời phát triển CMS của chúng ta có thể hiểuvà sử dụng tốt cái cấu trúc mà chúng ta h- ớng tới. 1.1.4. Mô hình MVC (Model-View-Controller) Mô hình MVC chuyên môn hoá cho những công việc khác nhau trong thiết kế phần mềm cũng nh trong thiết kế web. Chia công việc thành 3 phần: Lấy dữ liệu (tầng core gọi tắt là core) Hiển thị dữ liệu (tầng view gọi tắt là view) Điều khiển (tầng controller gọi tắt là controller) I.1.4.1. Tầng lấy dữ liệu Phụ trách nhiệm vụ xử lí dữ liệu từ user hoặc database. Biến các dữ liệu thô (cha qua xử lý cơ bản) thành các dữ liệu có thể sử dụng đợc. Bao gồm cả phần sao lu dữ liệu. I.1.4.2. Tầng hiển thị Phụ trách việc hiển thị dữ liệu để giao tiếp với ngời sử dụng. Biến các dữ liệu đã xử lí thành trang web đã hiển thị. I.1.4.3. Tầng điều khiển Phụ trách việc liên hệ giữa hai tầng trên: tầng dữ liệu và tầng hiển thị. Tầng điều khiển cho biết tầng dữ liệu cần lấy những dữ liệu gì, cho biết tầng hiển thị cần phải hiển thị phần nào. Chi tiết mỗi tầng dữ liệu và tầng hiển thị do tầng đó chịu trách nhiệm, tầng điều khiển chỉ có nhiệm vụ kết nối và ra lệnh bao quát. I.1.4.4. Nhân sự cho mô hình này Tầng core : ngời am hiểu về database, làm việc trực tiếp tới database, hiểu biết về security ở tầng thấp. Tầng view: thờng là web-design. 4 Tầng controller: thờng là những ngời vẽ ra con đờng tổng quát, không cần biết sâu tới core or view, nhng có khả năng linh hoạt sử dụng 2 bên. Đây thờng là ngời viết mã chính cho dự án. Chú ý: Khi nói về ngời viết các tầng, thờng thì controller làm việc trực tiếp với cả core và view. Còn core và view thì không làm việc trực tiếp với nhau, mà thông qua controller, và chỉ làm việc với controller. Khi nói về ngời viết CMS, nếu viết theo mô hình này, chúng ta phải cung cấp cho web-developer những class, function sao cho họ có thể áp dụng mô hình MVC đợc dễ dàng hơn và tốt hơn. 1.2. Giới thiệu về Joomla 1.2.1. Khái niệm JoomlaJoomla là một hệ quản trị nội dung mã nguồn mở (Content Management System CMS). Joomla đợc viết bằng ngôn ngữ PHP và kết nối tới cơ sở dữ liệu MySQL cho phép ngời sử dụng có thể dễ dàng xuất bản các nội dung của họ lên Internet hoặc Intranet. Joomla có các đặc tính cơ bản: bộ đệm trang (page caching) để tăng tốc độ hiển thị, lập chỉ mục, đọc tin RSS (RSS feeds), trang dùng để in, bản tin nhanh, blog, diễn đàn, bình chọn, lịch biểu, tìm kiếm trong site và hỗ trợ đa ngôn ngữ. Joomla đợc phát âm theo tiếng Swahili nh là jumla nghĩa là đồng tâm hiệp lực. Joomla đợc sử dụng ở khắp mọi nơi trên thế giới, từ những website cá nhân cho tới những hệ thống website doanh nghiệp có tính phức tạp cao, cung cấp nhiều dịch vụ và ứng dụng. Joomla có thể dễ dàng cài đặt, dễ dàng quản lí và độ tin cậy cao. Joomla là sản phẩm mã nguồn mở do đó việc sử dụngJoomla là hoàn toàn miễn phí cho tất cả mọi ngời trên thế giới. 1.2.2. Vài nét về lịch sử phát triển Joomla 5 Joomla là sản phẩm anh em với Mambo của tập đoàn Miro Software Solution úc (hãng đang nắm giữ Mambo) với những ngời phát triển nòng cốt. Ban đầu công ty Miro đã phát triển Mambo theo dạng ứng dụng mã nguồn đóng. Đến tháng 4 năm 2001, công ty đã thông qua một chính sáchbản quyền kép, nghĩa là phát hành Mambo theo cả giấy phép GPL. Đến ngày 17 tháng 8 năm 2005, do sự tranh chấp về mặt pháp lý cũng nh mong muốn vào sự phát triển của Mambo dựa trên quỹ tài trợ và sự hỗ trợ của cộng đồng nên toàn bộ đội phát triển nòng cốt của Mambo đã rời khỏi dự án trong khi đang làm việc với phiên bản 4.5.3. Nhờ sự trợ giúp của Trung tâm Luật Tự do Phần mềm (Software Freedom Law Center SFLC), 20 thành viên nòng cốt cũ của Mambo đã thành lập một tổ chức phi lợi nhuận khác lấy tên là Open Source Matters, để hỗ trợ về mặt tổ chức, pháp lý và kinh phí cho dự án mã nguồn mở còn cha đợc đặt tên của họ. Ngay ngày hôm sau, 1000 ngời đã gia nhập diễn đàn OpenSourceMatters, hầu hết các bài viết cho diễn đàn đều khuyến khích và đồng tình với hành động của Nhóm Phát triển. Tin trên đã nhanh chóng đợc đăng tải trên các tạp chí newsforge.com, eweek.com và ZDnet.com. Trong một thông báo của Eddie (ngời đứng đầu dự án) 2 tuần sau đó, các nhóm đã đợc tổ chức lại và cộng đồng Joomla tiếp tục tăng trởng. Tới ngày 1 tháng 9 năm 2005, tên mới của dự án đã đợc thông báo cho khoảng 3000 ng- ời theo dõi đội Phát triển và đến ngày 16 tháng 9 thì họ cho ra đời Joomla 1.0. 1.2.3. Các dòng phiên bản của Joomla Hiện nay Joomla có 2 dòng, dòng 1.0.x đã ổn định và phù hợp để các bạn thực hiện các website của mình. Dòng 1.5 đang phát triển tới phiên bản beta, chỉ phù hợp để test, cha phù hợp để làm website chính thức. Dòng phiên bản 1.0.x: Phiên bản đầu tiên của Joomla là phiên bảnJoomla 1.0 (hay Joomla 1.0.0) có nguồn gốc từ Mambo 4.5.2.3 (đã bao gồm thêm nhiều bảnvá bảo mật và sửa lỗi). Các phiên bản tiếp theo có dạng 1.0.x. Điểm mạnh của Joomla 1.0.x: Có một số lợng rất lớn các 6 thành phần mở rộng (module, component), thành phần nhúng (mambot), giao diện (template). Dòng phiên bản 1.5: Phiên bảnJoomla 1.5 là phiên bản cải tiến từ Joomla 1.0.x (phần mã đợc viết lại hoàn toàn, tuy nhiên vẫn giữ cách hành xử nh cũ). Joomla 1.5 tiếp tục duy trì một giao diện ngời sử dụng đơn giản (nhìn và cảm nhận look and feel). Joomla 1.5 hỗ trợ đa ngôn ngữ bằng cách sử dụng file định dạng .ini để lu các thông tin chuyển đổi ngôn ngữ. Joomla 1.5 hỗ trợ tất cả các ngôn ngữ có tập kí tự đợc biểu diễn bằng bảng mã UTF-8. Điểm mạnh của Joomla 1.5: Phần quản trị website có sử dụng công nghệ web 2.0, một số tính năng đợc cải tiến hơn so vơi Joomla 1.0.x. 1.2.4. Kiến trúc của JoomlaJoomla có 3 tầng hệ thống: Tầng dới cùng là mức nền tảng, chứa các th viện là các plugin (còn đợc biết với tên gọi mambot). Tầng thứ 2 là mức ứng dụngvà chứa lớp Japplication. Hiện tại tầng này gồm 3 lớp con: Jinstallation, Jadminstrator và Jsite. Tầng thứ 3 là mức mở rộng. Tại tầng này có các thành phần (component), mođun (module) và giao diện (template) đợc thực thi và thể hiện. 1.2.5. Đối với ngời sử dụng cuối Việc cài đặt Joomla khá dễ dàng và nhanh chóng, thậm chí cả đối với những lập trình viên nghiệp d. Joomla có một cộng đồng ngời sử dụng phát triển rất lớn và tăng trởng không ngừng. Các thành viên và các lập trình viên rất nhiệt tình và sẵn sàng t vấn, giúp đỡ khi ngời sử dụng gặp khó khăn. Joomla cung cấp giao diện web trực quan do vậy khá dễ dàng thêm một nội dung mới hay một mục mới, quản lí các phòng ban, danh mục nghề nghiệp, ảnh các sản phẩm và tạo không giới hạn số phần, mục, chuyên mục cũng nh các nội dung của Website. 7 Hiện tại ở Việt Nam chúng ta, cộng đồng Joomla đã và đang phát triển mạnh mẽ tại diễn đàn. Code: http://www.joomlaviet.org Tại đây bạn có thể tìm kiếm những thông tin về cài đặt, phát triển Joomla cũng nh nêu lên những ý kiến thắc mắc hoặc yêu cầu của mình để đợc giúp đỡ. 1.2.6. ứng dụng của JoomlaJoomla đã đợc sử dụng trên khắp thế giới, đã đợc ứng dụng vào xâydựng các website từ đơn giản nh website cá nhân tới các ứng dụngwebsite phức tạp. Sau đây là một số ứng dụng có thể đợc xâydựng bằng Joomla: Trang web của các tổ chức hoặc các cổng thông tin (Portal) Thơng mại điện tử Trang web cho các công ty cỡ nhỏ ứng dụng cho các cơ quan hành chính Trang web cho các trờng học và nhà thờ Trang web cá nhân và gia đình Các cổng thông tin cộng đồng Trang web báo điện tử và tạp chí và nhiều ứng dụng khác nữa 1.3. Một số khái niệm trong Joomla Lần đầu tiên khi tiếp xúc với Joomla Mọi ngời luôn cảm thấy rằng có điều gì đó khó hiểu ở Joomla khiến cho việc tiếp cận với nó thật khó khăn. Đó chính là do các khái niệm và thuật ngữ khác lạ của Joomla Mà thật ra nó cũng chẳng khác lạ gì mấy so với các hệ thống quản trị nội dung (CMS: Content Management System) khác. Phần này sẽ trình bày các khái niệm cơ bản trong Joomla 1.3.1. Front-end và back-end 1.3.1.1. Front-end 8 Front-end (tiền sảnh) còn đợc biết với tên gọi Public Front-end: phần giao diện phía ngoài, nơi tiếp xúc với mọi ngời sử dụng. Bất cứ ai cũng có thể trông thấy khi gõ đúng đờng dẫn URL vào trình duyệt. Front-end chứa một trang đặc biệt là FrontPage (homepage) trang chủ. 1.3.1.2. Back-end Back-end còn đợc biết với tên gọi Public Back-end, Adminstrator, Control Pane: phần dành cho ngời quản trị. Những ngời bình thờng không biết đờng dẫn để truy cập, hoặc nếu có biết thì cũng phải qua bớc kiểm tra tài khoản. 1.3.2. Các thành phần mở rộng (Extension) 1.3.2.1. Module Module là một trong ba thành phần mở rộng chính của Joomla Đó là một đoạn mã nhỏ thờng đợc dùng để truy vấn các thông tin từ cơ sở dữ liệu và hiển thị các kết quả tìm đợc. Nó có thể đợc nạp vào một vị trí bất kỳ trên template (vị trí left, ringt, top, bottom hoặc vị trí do ng ời dùng định nghĩa); có thể hiện trên tất cả các trang của Website hay một số trang đợc ấn định. Khả năng tơng tác giữa ngời sử dụngvà hệ thống thông qua Module là hạn chế (chúng ta thờng chỉ nhận thông tin trả về). Modules thờng đợc dùng để hiển thị những thông tin khác nhau và/hoặc những tính năng tơng tác trong toàn bộ site Joomla của bạn. Một Module có thể chứa hầu nh bất kỳ thứ gì từ những văn bản đơn giản, đến HTML, đến những ứng dụng hoàn toàn độc lập của các hãng thứ ba. Những Module cũng có thể hiển thị nội dung tơng tác, nh các poll (thăm dò ý kiến), những tagboard, tin mới nhất, tin khẩn và nhiều nữa. Các site Module khác với các Adminitrator Module bởi vì chúng hiển thị những nội dung trong Front- end của site trong khi những Admini Module liên quan đến các tác vụ và/hoặc những tính năng khác nhau của Administrative (hoặc Back-end). Các Module có thể đợc tạo bởi bạn (user Module) hay đợc tải về và cài đặt. Quản lý các Module luôn luôn nằm trong Administrator (Admin Seciton). Vào Modules\ Module Manager trên thanh Menu. ở đó bạn có thể cài đặt/ tháo bỏ một Module và chỉnh sửa những cấu 9 hình phổ biến nh là: tên, những trang nó xuất hiện, vùng đặt nó, và cấp độ truy cập. Từ danh sách chọn Module bạn muốn cấu hình. Module Manager là bộ đầu tiên thiết đặt hiển thị số lợng chính xác Module. Cuối danh sáchbạn có thể thấy một chức năng tổ chức trang, nơi cho phép bạn điều hớng đến bộ cài đặt kế tiếp của các Module trong danh sách. Bạn cũng có thể cài đặt số Module đợc hiển thị trên một trang bằng cách chọn số trên hộp chọn đổ xuống trên góc bên phải màn hình. ở đây bạn có thể tìm thấy một danh sách của tất cả bộ thiết lập mặc định site module khi cài đặt Joomla. Mỗi cái quy chiếu đến một loại module cụ thể đợc định từ trớc. Dới những tiêu đề danh sách cụ thể đợc hiển thị những trạng thái của những Module đợc cài đặt trên hệ thống. Những Module đợc xác định bằng một kiểu (ví dụ mod- mainmenu). Nhiều thể hiện của cùng một Module có thể đợc tạo ra bằng cách chép một loại module cụ thể, cho nó một tiêu đề khác và các thông số khác theo nhu cầu của bạn. Bạn có thể tạo một module tuỳ thích với một loại User bằng cách click vào biểu tợng New. Đây là một Module rất hữu dụng mà bạn th- ờng tạo một Content (content này không liên quan gì đến các Section, Category hay Static Content Item) hay RSS feed. Nó cũng đợc dùng nh một hộp văn bản hay một module ảnh hay thậm chí bao gồm các code tuỳ biến. Những site Module sau đợc đóng gói cùng với Joomla: những tiêu đề cho mỗi module là tiêu đề mặc định trong phiên bản Joomla. Những tiêu đề này có thể đợc đổi tên hoặc dịch cho hợp với nhu cầu của bạn. Archive kho lu Latest News tin mới Login Form biểu mẫu login Main Menu menu chính Popular a chuộng Newsflash tin khẩn Whos Online ai trong mạng Polls thăm dò ý kiến 10 . 1. Tìm hiểu về CMS Joomla Chơng 2. Tìm hiểu Virtuemart trong Joomla và xây dựng website bán sách trực tuyến Chơng 3. Triển khai ứng dụng và bảo mật Joomla. các ứng dụng thơng mại điện tử, tôi chọn tìm hiểu đề tài " ;Tìm hiểu CMS Joomla và xây dựng website bán sách trực tuyến" là đề tài nghiên cứu cho