Xem mẫu

  1. Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA 1.2 So sánh các giải pháp CMS thông dụng 1.2.1 Tiêu chí lựa chọn các giải pháp CMS để so sánh Do đây là một CMS module được xây dựng cho công ty TMA nên chúng tôi chỉ chọn so sánh một số giải pháp CMS đáp ứng được yêu cầu của công ty. Nghĩa là các hệ CMS này phải có ít nhất các đặc điểm sau: • Mã nguồn mở: đặc điểm này cho phép sửa đổi mã nguồn không bị ràng buộc để đáp ứng tốt nhất yêu cầu đề ra. • Mã nguồn miễn phí. • Mã nguồn phải được lập trình bằng Java và sử dụng các công nghệ của Java: nguyên nhân do portal hiện tại của công ty được lập trình bằng Java và yêu cầu đặt ra là phải xây dựng hệ CMS dưới dạng portlet để tích hợp vào portal hiện tại. Do đó, giải pháp CMS phải được viết bằng Java. 1.2.2 Các tiêu chí so sánh Chúng tôi so sánh các giải pháp CMS mã nguồn mở và lập trình bằng Java dựa trên các khía cạnh sau: • Yêu cầu hệ thống • Bảo mật • Tiện dụng • Hiệu suất • Tính khả chuyển • Khả năng quản lý • Các hỗ trợ khác Bùi Vĩnh Phú 118 Đặng Đình Vương
  2. Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA 1.2.2.1 Yêu cầu hệ thống Cofax Daisy Magnolia OpenCMS 5.0 2.0 1.1 2.1 Application Server TomCat (Built-in) J2EE TomCat Hệ quản trị cơ sở dữ liệu MySQL MySQL JCR MySQL Postgres Oracle MSSQL Hệ điều hành Mọ i Mọ i Mọ i Mọ i Ngôn ngữ lập trình Java Java Java Java 1.3+ Web server Mọi Mọ i Mọ i TomCat Apache IIS Bảng 4: So sánh yêu cầu hệ thống của một số CMS 1.2.2.2 Bảo mật Cofax Daisy Magnolia OpenCMS 5.0 2.0 1.1 2.1 Quản lý quyền truy cập Có Có Có Có Lưu thông tin đăng nhập Không Không Không Không Quản lý phiên làm việc Không Không Có Không Tương thích với SSL Không Có Có Không Xác nhận bằng email Không Có Không Không Bảng 5: So sánh tính bảo mật của một số CMS Bùi Vĩnh Phú 119 Đặng Đình Vương
  3. Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA 1.2.2.3 Tiện dụng Cofax Daisy Magnolia OpenCMS 5.0 2.0 1.1 2.1 Hỗ trợ cơ chế drag’n’drop Không Không Có Không Thay đổi kích cỡ ảnh Không Không Có Không Phục hồi lại thao tác trước Không Có Có Không đó Hỗ trợ WYSIWYG Có Có Có Có Bảng 6: So sánh tính tiện dụng của một số CMS 1.2.2.4 Hiệu suất Cofax Daisy Magnolia OpenCMS 5.0 2.0 1.1 2.1 Hỗ trợ lưu trữ dữ liệu tạm Không Có Có Không thời (cache) cho toàn bộ hệ thống Hỗ trợ lưu trữ dữ liệu tạm Có Có Có Không thời cho trang web Bảng 7: So sánh hiệu suất hoạt động của một số CMS Bùi Vĩnh Phú 120 Đặng Đình Vương
  4. Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA 1.2.2.5 Tính khả chuyển Cofax Daisy Magnolia OpenCMS 5.0 2.0 1.1 2.1 Cho phép thêm thông tin Có Không Không Không của người sử dụng Hỗ trợ đa ngôn ngữ Không Có Có Không Cho phép cơ sở dữ liệu Không Có Có Không phân tán Bảng 8: So sánh tính khả chuyển của một số CMS 1.2.2.6 Khả năng quản lý Cofax Daisy Magnolia OpenCMS 5.0 2.0 1.1 2.1 Lập lịch cho nội dung Có Không Không Không Quản lý trực tiếp từng phần Không Có Có Không trang web Phân loại nội dung Không Có Có Không Hỗ trợ theme Không Có Giới hạn Không Quản lý template Không Không Có Giới hạn Bảng 9: So sánh khả năng quản lý của một số CMS Bùi Vĩnh Phú 121 Đặng Đình Vương
  5. Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA 1.2.2.7 Các hỗ trợ khác Cofax Daisy Magnolia OpenCMS 5.0 2.0 1.1 2.1 Xuất dữ liệu dạng RSS Có Không Giới hạn Không Hỗ trợ upload dữ liệu thông Giới hạn Không Không Không qua FTP Hỗ trợ UTF-8 Không Có Có Không Tuân theo XHTML Không Không Có Không Bảng 10: So sánh các khả năng hỗ trợ khác của một số CMS Bùi Vĩnh Phú 122 Đặng Đình Vương
  6. Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA 2. Mô tả các giải pháp đã so sánh 2.1 Giải pháp Cofax 2.0 Hình 25: Giao diện Cofax Cofax là một CMS hỗ trợ mạnh về văn bản và đa phương tiện. Giải pháp này được phát triển ban đầu bởi Knight Ridder để đơn giản hoá việc thể hiện và đẩy nhanh tốc độ xuất bản các thông tin, sự kiện trên tờ báo điện tử của họ. Giải pháp này đã được sử dụng bởi nhiều tờ báo điện tử lớn như : Philadelphia Inquirer News, Philadelphia Daily News... Bùi Vĩnh Phú 123 Đặng Đình Vương
  7. Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA Hiện nay, Cofax được sử dụng bởi rất nhiều tổ chức trên thế giới dưới dạng một CMS mã nguồn mở. Giải pháp này sử dụng Java, cơ sở dữ liệu MySQL và XML để phát triển. Đây là một giải pháp được thiết kế theo hướng đối tượng. Trong đó, mỗi module độc lập với module khác. Điều này cho phép thay đổi một module không phù hợp bằng một module khác thích hợp hơn. Ngoài ra, điều này còn giúp cho việc cấu hình một cách độc lập các module với nhau. Kiến trúc hệ thống của Cofax bao gồm 4 tầng chính như sau : • Hệ thống quản lý giao tác. Cofax sử dụng các lớp của Java để nhập dữ liệu dưới dạng XML, sau đó lưu dữ liệu này vào trong Repository của Cofax. Hệ thống này xử lý các giao tác bằng cách trao đổi các gói. • Repository của Cofax Repository của Cofax được đặt trên một tầng riêng rẽ và cung cấp các APIs cho các tầng khác có thể sử dụng các chức năng của nó. Theo thiết kế, tầng này chịu trách nhiệm giao tiếp với cơ sở dữ liệu, như : Oracle, Sybase, Object Store, XML... • Hệ thống CMS : tầng này có thể hỗ trợ ASP, JSP hay Servlet • Hệ thống trình diễn nội dung : tầng này có thể hỗ trợ nhiều ngôn ngữ thể hiện cho các template Trong các tầng vừa nêu trên, người ta sử dụng thư viện các lớp chia sẻ của Java cho các chức năng của chúng. Do đó, khi lập trình viên triển khai hay sửa đổi một chức năng, họ có thể thao tác chỉ trên thư viện đó mà không cần thay đổi nhiều mã nguồn. Bùi Vĩnh Phú 124 Đặng Đình Vương
  8. Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA 2.2 Giải pháp Daisy 1.1 Hình 26: Giao diện Daisy Hệ thống CMS này bao gồm một Repository server có thể truy cập được bằng cách sử dụng giao thức HTTP. Daisy được phát triển đầu tiên bởi Schaubroeck, sau đó giải pháp này được phát triển bởi Outerthought, trung tâm hỗ trợ mã nguồn mở dưới dạng Java và XML. Trung tâm Outerthought có nhiều kinh nghiệm trong việc phát triển các công cụ mã nguồn mở, và các công cụ này được sử dụng để phát triển các ứng dụng có tính chất thương mại. Vì lý do này, các lập trình viên không những sử dụng mã nguồn của Cofax trong ứng dụng của mình mà họ còn ra sức chia sẻ kinh nghịêm để cùng nhau phát triển giải pháp này. Bùi Vĩnh Phú 125 Đặng Đình Vương
  9. Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA Giải pháp này bao gồm 2 thành phần chính như sau : • Repository chứa nội dung. • Giao diện web. 2.2.1 Repository chứa nội dung Thành phần này của Daisy bao gồm những đặc điểm sau : • Lưu trữ và phục hồi dữ liệu. • Mỗi trang web cho phép chứa nhiều phần và nhiều paragraph. Loại trang web sẽ định nghĩa các phần và các paragraph mà nó cần có. • Trang web có thể chứa hình ảnh, tài liệu PDF hay XML. • Mọi trang và mọi tài liệu đều được lưu trong một vùng lưu dữ liệu duy nhất và vùng lưu dữ liệu này không có cấu trúc cây thư mục. Mỗi trang và tài liệu được xác định bởi một định danh duy nhất. • Dữ liệu được lưu trữ trong hệ quản trị cơ sở dữ liệu MySQL. Hiện nay, Daisy đã hỗ trợ hệ quản trị cơ sở dữ liệu PostgreSQL. 2.2.2 Giao diện web Thành phần này của Daisy bao gồm những đặc điểm sau : • Môi trường biên soạn nội dung trang web WYSIWYG. Hỗ trợ trình duyệt Internet Explorer và Mozilla/Firefox Sử dụng các hình ảnh trong Repository của Daisy hay tải các hình ảnh lên và sử dụng • Nội dung các trang web được trình bày dưới dạng cây để duyệt dễ dàng. • Hỗ trợ sửa đổi nội dung ngay trên cây hiển thị các trang web. Bùi Vĩnh Phú 126 Đặng Đình Vương
  10. Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA • Cung cấp cơ chế tìm kiếm. Sử dụng Search Engine giống như của Yahoo và Google. Hỗ trợ tìm kiếm theo ngôn ngữ định nghĩa của riêng Daisy. Các trang web sử dụng template dựa trên XSLT. Cho phép thêm các ghi chú vào tài liệu. 2.3 Giải pháp Magnolia 2.1 Hình 27: Giao diện Magnolia Magnolia là hệ CMS mã nguồn mở có hõ trợ chuẩn JSR 170, chuẩn bao gồm những API hỗ trợ cho các thao tác trên Repository chứa dữ liệu của Java. Bùi Vĩnh Phú 127 Đặng Đình Vương
  11. Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA Giải pháp này có thể hoạt động trên mọi hệ điều hành mà chỉ cần cài đặt JDK 1.4.1 trở lên. Sở dĩ làm được điều này do giải pháp này được phát triển dựa trên Java và công nghệ XML Các template của Magnolia được xây dựng dựa trên các tập tin JSP và các thẻ quy định. Magnolia hoạt động trên một server J2EE. Giải pháp này được phát triển đầu tiên bởi công ty Obinary và sau đó được phát triển bởi Magnolia International. Magnolia hỗ trợ rất nhiều ngôn ngữ như : Anh, Pháp, Trung Quốc, Đức, Ý, Nhật, Tây Ban Nha, Nga, Bồ Đào Nha... Trong giải pháp này, người ta chia mã nguồn thành 3 modules chính sau : • Module quản lý nội dung. Module này bao gòm các tập tin JSP, JavaScript và Servlet để thực hiện chức năng. Môi trường chỉnh sửa nội dung WYSIWYG. Cho phép sửa đổi nội dung tại nơi nội dung đó xuất hiện trên trang web. Hỗ trợ các trình duyệt Internet Explorer và Mozilla/Firefox. Cung cấp cơ chế phân loại nội dung dựa trên cấu trúc cây. Dữ liệu được lưu trữ trong hệ thống tập tin của hệ điều hành dựa trên chuẩn JSR 170. Do đó, giải pháp này không cần phải có hệ quản trị cơ sở dữ liệu. • Module Repository. Hỗ trợ việc truy cập vào Repository chứa nội dung. Sử dụng các gói và các APIs được quy định bởi JSR 170. Bùi Vĩnh Phú 128 Đặng Đình Vương
  12. Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA Hỗ trợ việc chuyển đổi dễ dàng Repository chứa nội dung : do module này được xây dựng dựa trên chuẩn JSR 170, do đó nhà phát triển có thể chuyển đổi qua lại việc sử dụng các Repository chứa nội dung, như : các tập tin XML, hệ thống tập tin của hệ điều hành, hệ quản trị cơ sở dữ liệu...cho giải pháp của họ. • Module bảo mật. Cung cấp những chức năng để phân chia vai trò và người sử dụng trên hệ thống CMS này. 2.4 Giải pháp OpenCMS 5.0 Hình 28: Giao diện OpenCMS Giải pháp này hỗ trợ những nguời sử dụng tạo ra các trang web mà không cần phải biết về HTML. Môi trường biên soạn nội dung WYSIWYG với giao diện giống như giao diện của Microsoft Office tạo sự thân thiện hơn với người sử dụng. Bùi Vĩnh Phú 129 Đặng Đình Vương
  13. Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA Giải pháp này là một giải pháp mã nguồn mở và hoàn toàn miễn phí. Nó được xây dựng chủ yếu bởi công ty Alkacon Software. Ngoài ra còn có một số công ty khác tham gia phát triển như : Advent Consulting, Agora Telematica, Aliacom. OpenCMS phát triển dựa trên Java, JSP, Servlet và XML. Ngoài ra, giải pháp này có thể hoạt động dựa trên các thành phần mã nguồn mở như : Linux, Apache, Tomcat, MySQL, cũng nhữ các thành phần cần đến bản quyền như : Windows NT, IIS, BEA Weblogic, Oracle DB. Nội dung các trang web trong OpenCMS được lưu trong các tập tin XML va các template của các trong web được xây dựng bằng cách sử dụng các trang JSP và Java. Giải pháp này hỗ trợ chuẩn UTF-8, do đó nó cho phép hiển thị nhiều ngôn ngữ khác nhau. Ngoài môi trường biên soạn WYSIWYG, OpenCMS còn cung cấp cơ chế command line để tăng tốc độ truy cập vào các tài nguyên hệ thống. 3. Kết luận Sau khi so sánh các điểm mạnh và các mặt hạn chế của giải pháp : Cofax 2.0, Daisy 1.1, Magnolia 2.1 và OpenCMS 5.0, chúng tôi chọn giải pháp Magnolia 2.1 để phát triển thành module CMS của công ty TMA. Sự lựa chọn này dựa trên những lý do sau : • Giải pháp này tuân thủ chuẩn JSR 170, chuẩn dùng để xây dựng các hệ CMS, do đó trong tương lai nếu yêu cầu thay đổi hệ thống này thì sẽ giảm tối đa việc chỉnh sửa mã nguồn. Bùi Vĩnh Phú 130 Đặng Đình Vương
  14. Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA • Giải pháp này cho phép chỉnh sửa mã nguồn không giới hạn và là mã nguồn mở • Magnolia có thể hoạt động trên Linux và JBoss, môi trường mà portal hiện tại của TMA đang hoạt động. Do đó, giải pháp này có khả năng sẽ tích hợp được vào portal hiện tại của công ty. • Có nhiều lập trình viên hiện đang phát triển giải pháp này, do đó, trong trường hợp xảy ra các vấn đề về kỹ thuật, chúng tôi có thể nhận được nhiều sự hỗ trợ từ phía họ. • Chúng tôi có thể chuyển đổi giải pháp này để nó tuân thủ theo chuẩn JSR 168 nhằm tích hợp vào portal hiện tại của công ty. Nguyên nhân là giải pháp này sử dụng ngôn ngữ lập trình Java và JSP, Servlet, JavaScript và theo dạng dự án J2EE. • Giải pháp này hỗ trợ nhiều ngôn ngữ nên người sử dụng có thể chọn ngôn ngữ thân quen nhất với họ. • Giải pháp này hỗ trợ tốt việc phân loại nội dung các trang web. • Magnolia cung cấp môi trường biên soạn nội dung WYSIWYG tiện dụng cho người sử dụng.. • Giải pháp này hỗ trợ mạnh và linh động việc phân quyền người sử dụng trên hệ thống . • Giải pháp này cho phép thay đổi dễ dàng các thông số cấu hình mà không cần phải sửa đổi mã nguồn. • Magnolia cung cấp chức năng drag’n’drop tạo tính tiện dụng cho người dùng. • Magnolia hỗ trợ việc quản lý nội dung tại vị trí hiển thị của nội dung trên trang web. Bùi Vĩnh Phú 131 Đặng Đình Vương
  15. Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA ỨNG DỤNG Bùi Vĩnh Phú 132 Đặng Đình Vương
  16. Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA Chương 8 Các chức năng của TMA CMS Bùi Vĩnh Phú 133 Đặng Đình Vương
  17. Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA 1. Mô hình Use case Phan quyen cho vai tro Toi uu hoa cac thong tin cau hinh Nguoi su dung Quan ly vai tro trong portal Nguoi quan ly vai Truy nhap vao he CMS tro Nguoi quan ly cau hinh Lua chon ngon ngu ua thich Su dung cac template Tim kiem thong tin Nguoi quan ly nguoi su dung Gan vai tro cho nguoi su dung Quan ly nguoi su dung Nguoi bien soan noi dung Phan loai noi dung Bien soan trang web Bùi Vĩnh Phú 134 Đặng Đình Vương
  18. Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA 2. Mô tả các chức năng 2.1 Quản lý vai trò Một vai trò bao gồm các thuộc tính sau: • Tên tắt vai trò. • Tên đầy đủ của vai trò. • Mô tả về vai trò. • Quyền hạn của vai trò. Một người quản lý vai trò có quyền thực hiện các thao tác sau: • Thêm vai trò: khi người quản lý vai trò thêm một vai trò vào trong hệ thống, cần phải xác định những thuộc tính của vai trò được nêu ở trên. • Xoá vai trò. • Sửa đổi vai trò. Ngoài ra, người quản lý vai trò có quyền cho kích hoạt vai trò hoặc ngăn cấm sự truy cập của vai trò vào hệ thống. Khi vai trò được kích hoạt, người sử dụng có vai trò tương ứng có thể truy cập vào hệ CMS. Ngược lại, khi vai trò đã bị ngăn cấm thì người sử dụng không được phép truy cập vào hệ thống. 2.2 Quản lý người sử dụng Một người sử dụng trên hệ CMS bao gồm các thông tin như sau: • Tên tắt người sử dụng. • Tên đầy đủ người sử dụng. • Mật mã người sử dụng. Bùi Vĩnh Phú 135 Đặng Đình Vương
  19. Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA • Ngôn ngữ yêu thích của người sử dụng. • Các vai trò của người sử dụng trong hệ thống. Một người quản lý người sử dụng có quyền thực hiện các thao tác sau: • Thêm người sử dụng: khi một người quản lý người sử dụng thêm một người sử dụng vào hệ thống, cần phải xác định các thông tin vừa nêu ở trên. • Xoá người sử dụng. • Sửa đổi thông tin người sử dụng Ngoài ra, người quản lý người sử dụng có quyền cho kích hoạt người sử dụng hoặc ngăn cấm sự truy cập của người sử dụng vào hệ thống. Khi người sử dụng được kích hoạt, người sử dụng có thể truy cập vào hệ CMS. Ngược lại, khi người sử dụng đã bị ngăn cấm thì họ không được phép truy cập vào hệ thống. 2.3 Phân quyền sử dụng cho vai trò Mỗi quyền sử dụng trên hệ thống chỉ có một phạm vi sử dụng trong một vùng nhất định của hệ thống mà thôi. Trong hệ CMS của TMA, phạm vi sử dụng này bao gồm các loại sau: • Phạm vi trên web site: quyền sử dụng được thực hiện các thao tác trên toàn bộ cấu trúc web site hoặc chỉ một phần của web site. • Phạm vi người sử dụng: quyền sử dụng được thực hiện các thao tác trên toàn bộ các người sử dụng của hệ thống hoặc chỉ một số người sử dụng nhất định do hệ thống quy định. Bùi Vĩnh Phú 136 Đặng Đình Vương
  20. Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA • Phạm vi vai trò: quyền sử dụng được thực hiện các thao tác trên toàn bộ các vai trò của hệ thống hoặc chỉ một số vai trò nhất định do hệ thống quy định. • Phạm vi cấu hình: quyền sử dụng được thực hiện các thao tác trên toàn bộ các thông tin cấu hình của hệ thống hoặc chỉ một số thông tin cấu hình nhất định do hệ thống quy định. Các thao tác được thực hiện trên một phạm vi được mô tả như sau: • Chỉ đọc: quyền sử dụng được gán thao tác này chỉ được cho phép đọc trên các thông tin của hệ thống. • Đọc và ghi: quyền sử dụng được gán thao tác này được cho phép đọc và ghi trên các thông tin của hệ thống. • Từ chối truy cập: người sử dụng được gán thao tác này sẽ không được phép truy cập vào hệ thống. Từ các loại phạm vi thao tác và các thao tác được phép trên phạm vi trình bày phía trên, khi người quản lý cho phép hay thay đổi một vai trò, họ cần phải xác định các thông tin tương ứng của vai trò. 2.4 Phân phối vai trò đến người sử dụng Mỗi người sử dụng có thể sở hữu một hoặc nhiều vai trò trong hệ CMS. Khi thêm người sử dụng mới vào hệ thống, người quản lý người sử dụng có thể gán nhiều vai trò cho người sử dụng. Sau đó, người quản lý này có thể sửa đổi các vai trò đã được gán trước đó hay thêm vào các vai trò mới cho người sử dụng. Bùi Vĩnh Phú 137 Đặng Đình Vương
nguon tai.lieu . vn