Tìm hiểu và xây dựng hệ thống thông tin Nông nghiệp Việt Nam với XWikI

164 22 0
  • Loading ...
1/164 trang
Tải xuống

Thông tin tài liệu

Ngày đăng: 27/02/2019, 11:50

BỘ GIÁO DỤC ĐÀO TẠO TRƯỜNG ĐẠI HỌC NÔNG LÂM TP HCM KHOA CÔNG NGHỆ THÔNG TIN LUẬN VĂN TỐT NGHIỆP Tìm hiểu xây dựng hệ thống thơng tin Nơng nghiệp Việt Nam với XWiki Ngành Niên khố Lớp Sinh viên thực : Công nghệ thông tin : 2006-2010 : DH06DT : Trần Ngọc Sơn Ngô Thanh Tùng Trần Hải Đăng Phạm Văn Doanh TP.HỒ CHÍ MINH, tháng năm 2010 BỘ GIÁO DỤC ĐÀO TẠO TRƯỜNG ĐẠI HỌC NÔNG LÂM TP HCM KHOA CÔNG NGHỆ THƠNG TIN LUẬN VĂN TỐT NGHIỆP Tìm hiểu xây dựng hệ thống thông tin Nông nghiệp Việt Nam với XWiki Giáo viên hướng dẫn: Sinh viên thực hiện: Ths Nguyễn Đức Công Song Trần Ngọc Sơn Ngô Thanh Tùng Trần Hải Đăng Phạm Văn Doanh TP.HỒ CHÍ MINH, tháng năm 2010 Hệ thống thông tin Nông nghiệp Việt Nam với XWiki LỜI CẢM ƠN Chúng em xin chân thành cảm ơn khoa Công nghệ thông tin trường Đại học Nơng Lâm TP Hồ Chí Minh hỗ trợ tạo nhiều điều kiện thuận lợi cho chúng em trình học tập trình thực đề tài Chúng em xin ghi nhận lòng biết ơn sâu sắc đến ThS Nguyễn Đức Công Song tận tình hướng dẫn, truyền đạt cho chúng em kiến thức quý báu với lời động viên khuyến khích Thầy lúc chúng em gặp khó khăn, trở ngại thực đề tài Chúng em xin chân thành cảm ơn quý Thầy Cô khoa Cơng nghệ thơng tin tận tình giảng dạy, trang bị cho chúng em kiến thức cần thiết suốt trình học tập nghiên cứu khoa Con xin ghi nhớ công ơn ba mẹ sinh thành, nuôi dưỡng dạy dỗ trưởng thành ngày hôm Ba mẹ chỗ dựa tinh thần vững cho vấp ngã gặp khó khăn sống Cuối xin cảm ơn đến bạn bè hỏi thăm, động viên giúp đỡ trình thực đề tài Mặc dù chúng em cố gắng nhiều để đề tài đạt kết tốt Tuy nhiên kinh nghiệm non trẻ nên sai sót xảy điều tránh khỏi Chúng em xin chân thành cảm ơn trân trọng tiếp thu tất ý kiến đóng góp q Thầy Cơ bạn bè để luận văn hoàn thiện i Hệ thống thông tin Nông nghiệp Việt Nam với XWiki DANH SÁCH CHỮ VIẾT TẮT CSDL Cơ Sở Dữ Liệu XML eXtensible Markup Language HTML HyperText Markup Language CSS Cascading Style Sheets HTTTNNVN Hệ Thống Thống tin Nông Nghiệp Việt Nam GPL General Public License LGPL Lesser General Public License IE Internet Explorer HTTP Hypertext Transfer Protocol HTTPS Hypertext Transfer Protocol Secure XML eXtensible Markup Language WYSIWYG What You See Is What You Get RCS Room Correction System HĐH Hệ Điều Hành REST Representational State Transfer XMLRPC XML Remote Procedure Call API Application program interface RSS Really Simple Syndication GWT Google Web Toolkit SVM Support Vector Machine kNN k-Nearest Neighbor LLSF Linear Least Squares Fit NB Naïve Bayes Nnet Neural Network ii Hệ thống thông tin Nông nghiệp Việt Nam với XWiki WFST Weighted finite-state Transducer LRMM Left Right Maximum Matching IGATEC Internet and Genetics Algorithm-based Text Categorization MI Mutual Information iii Hệ thống thông tin Nông nghiệp Việt Nam với XWiki MỤC LỤC CHƯƠNG : GIỚI THIỆU BÀI TOÁN 1.1 Tổng quan 1.2 Mục tiêu đề tài 1.3 Phạm vi nghiên cứu CHƯƠNG : KHẢO SÁT HIỆN TRẠNG 2.1 Các hệ thống nông nghiệp nước 2.2 Ưu điểm nhược điểm hệ thống nông nghiệp Việt Nam 2.3 Phần mềm mã nguồn mở Hệ Thống Thông tin Nông Nghiệp Việt Nam 10 2.3.1 Giới thiệu sơ lược phần mềm mã nguồn mở 10 2.3.2 Tìm hiểu CMS 11 2.3.2.1 Giới thiệu CMS 11 2.3.2.2 Những chức hệ thống CMS 12 2.3.3 Tìm hiểu Wiki 12 2.3.3.1 Giới thiệu Wiki 12 2.3.3.2 Lịch sử phát triển Wiki 13 2.3.3.3 Những chức hệ thống Wiki 13 2.4 So sánh CMS Wiki 15 2.5 Nguyên nhân lựa chọn Wiki 16 2.6 Các hệ thống mã nguồn mở Wiki 16 2.7 So sánh hệ thống mã nguồn mở Wiki 17 2.8 Nguyên nhân chọn XWiki 21 iv Hệ thống thông tin Nông nghiệp Việt Nam với XWiki CHƯƠNG : CƠ SỞ LÝ THUYẾT XWIKI 22 3.1 Giới thiệu XWiki 22 3.2 Lịch sử phát triển XWiki: 24 3.3 Các tính ưu việt XWiki 24 3.4 Công nghệ XWiki hỗ trợ 25 3.5 Đối tượng phục vụ XWiki 26 3.5.1 Chức User 26 3.5.2 Chức Deverloper 26 3.5.3 Chức Administrator 26 3.6 Kiến trúc hệ thống XWiki 27 3.6.1 Kiến trúc tổng quan: 27 3.6.2 Kiến trúc XWiki Platform: 28 3.6.3 Mở rộng XWiki: 29 3.6.4 Mở rộng XWiki Platform: 30 3.6.5 Mở rộng XWiki Remotely: 31 3.6.6 Phân tích HTTP Request: 31 CHƯƠNG : HỆ THỐNG THÔNG TIN NÔNG NGHIỆP VIỆT NAM32 4.1 Giới thiệu Hệ Thống Thông tin Nông Nghiệp Việt Nam 32 4.2 Đặc điểm Hệ Thống Thông tin Nông Nghiệp Việt Nam: 32 4.3 Chức Hệ Thống Thông tin Nông Nghiệp Việt Nam: 34 4.4 Khả ứng dụng Hệ Thống Thông tin Nông Nghiệp Việt Nam 35 4.5 Ứng dụng XWiki xây dựng HTTT Nông nghiệp Việt Nam 35 4.5.1 Các chức người dùng 35 v Hệ thống thông tin Nông nghiệp Việt Nam với XWiki 4.5.1.1 Người dùng bình thường(Guest) 35 4.5.1.2 Thành viên (Member) 41 4.5.1.3 Quản trị hệ thống(Administrator) 46 4.5.1.4 Một số hạn chế XWiki triển khai ứng dụng 58 4.6 Triển khai hệ thống 59 4.6.1 Mơ Hình triển khai Hệ Thống Thông tin Nông Nghiệp Việt Nam 59 4.6.2 Giải thích mơ hình triển khai HTTTNNVN 59 CHƯƠNG : 5.1 XÂY DỰNG MODULE VNAISPROJECT 61 Module Crawler 61 5.1.1 Giới thiệu mục tiêu module Crawler 61 5.1.2 Hiện thực module Crawler 62 5.1.2.1 Đặc tả Use Case module Crawler 62 5.1.2.2 Lược đồ lớp module Crawler 64 5.1.2.3 Lược đồ activity module Crawler 65 5.1.2.4 Lược đồ sequence module Crawler 66 5.1.3 5.2 Cách sử dụng module Crawler 66 Module DataCollection 69 5.2.1 Giới thiệu module DataCollection 69 5.2.2 Hiện thực module DataCollection 69 5.2.2.1 Mô tả usecase module DataCollection 69 5.2.2.2 Lược đồ lớp module DataCollection 71 5.2.2.3 Lược đồ activity module DataCollection 72 5.2.2.4 Lược đồ sequence module DataCollection 73 vi Hệ thống thông tin Nông nghiệp Việt Nam với XWiki 5.2.3 5.3 Cách sử dụng module DataCollection 73 Module GoogleTranslation 75 5.3.1 Giới thiệu module GoogleTranslation 75 5.3.2 Hiện thực module GoogleTranslation 75 5.3.2.1 Đặc tả usecase GoogleTranslation 75 5.3.2.2 Mơ hình lớp module GoogleTranslation 75 5.3.2.3 Lược đồ activity module GoogleTranslation 76 5.3.2.4 Mơ hình sequence module GoogleTranslation 77 5.3.3 5.4 Cách sử dụng module GoogleTranslation 78 Module DocumentCategorization 78 5.4.1 Đặt vấn đề 78 5.4.2 Các phương pháp phân loại văn 80 5.4.3 Tách từ Tiếng Việt – Một thách thức 81 5.4.4 Mục tiêu module 82 5.5 Một số phương pháp phân loại văn Tiếng Anh 83 5.5.1 Bối cảnh phương pháp phân loại văn 83 5.5.2 Các phương pháp phân loại văn tiếng Anh hành 83 5.5.2.1 Biểu diễn văn 83 5.5.2.2 N-Grams 86 5.5.2.3 Support vector Machine(SVM) 88 5.5.2.4 K–Nearest Neighbor (kNN) 89 5.5.2.5 Naïve Bayes (NB) 90 5.5.2.6 Neural Network (NNet) 92 vii Hệ thống thông tin Nông nghiệp Việt Nam với XWiki 5.5.2.7 Linear Least Square Fit (LLSF) 94 5.5.2.8 Centroid- based vector 95 5.5.2.9 Kết luận 95 5.5.3 Bài toán xây dựng module DocumentCategorization : 96 5.5.4 Module DocumentCategorization: 97 5.5.4.1 Ý tưởng xây dựng 97 5.5.4.2 Lược đồ Usecase module DocumentCategorization: 97 5.5.4.3 Đặc tả usecase module 98 5.5.4.4 Lược đồ Activity module DocumentCategorization 101 5.5.4.5 Lược đồ Sequence module DocumentCategorization 102 5.5.4.6 Lược đồ Class module DocumentCategorization 103 5.5.4.7 Cài đặt module DocumentCategorization 104 5.5.4.8 Kết luận 104 5.5.5 5.6 Cách sử dụng module DocumentCategorization 105 Module Censorship 106 5.6.1 Giới thiệu module Censorship 106 5.6.2 Hiện thực module Censorship 106 5.6.2.1 Mơ hình usecase 106 5.6.2.2 Đặc tả usecase 107 5.6.3 Cài đặt sử dụng chức approve article 111 5.6.3.1 Cài đặt chức Approve article: 111 5.6.3.2 Sử dụng chức Approve article 118 CHƯƠNG : KẾT QUẢ ĐẠT ĐƯỢC HƯỚNG PHÁT TRIỂN 121 viii Hệ thống thông tin Nông nghiệp Việt Nam với XWiki Hình 95 : Sao chép lib cho dự án Sao chép tất tập tin, thư mục cấu hình vào thư mục “DeployVNAIS” hình Hình 96 : Bảng cấu hình Cấu hình thơng số cho phù hợp với yêu cầu 7.2.4 Thực Thi Hệ Thống Sau thực việc cấu hình cho hệ thống, ta thực bước sau để hệ thống khởi động Bước : Đạo tạo liệu để phục vụ cho việc phân loại Để thực hiên việc training liệu ta làm bước sau : 133 Hệ thống thông tin Nông nghiệp Việt Nam với XWiki Mở sổ lệnh Command Prompt Di chuyển vào thư mục tạo trên, ví dụ : DeployVNAIS Thực thi module để đào tạo liệu, mặc định hệ thống đọc liệu đào tạo từ thư mục “datafortest” ta cần chép liệu phục vụ cho việc đào tạo vào thư mục java -Xmx512 -cp "./libs/*;VNAISProject.jar" com.nonglam.test.classify.TrainingDataTest Hình 97 : Màn hình dòng lệnh để training hệ thống Hệ thống tự động huấn luyện tạo tập tin lưu trữ thơng tin sau khí huấn luyện xong,như hình sau : 134 Hệ thống thơng tin Nơng nghiệp Việt Nam với XWiki Hình 98 : Màn hình command kết sau training Kết Hình 99 : Kết sau training Bước : Khởi động module Khởi động module Crawler (Module thu gom lien kết từ hệ thống bên ngoài) java -Xmx512 -cp "./libs/lingpipe-4.0.0.jar;VNAISProject.jar" com.nonglam.run.crawler.CrawlerTest 135 Hệ thống thông tin Nông nghiệp Việt Nam với XWiki Khởi động module CollectedData ( Module thu gom liệu dựa vào lien kết từ module Crawler) java -Xmx512 -cp "./libs/lingpipe-4.0.0.jar;VNAISProject.jar" com.nonglam.run.collected.CollectedDataTest Khởi đông module TranslatedData để phục vụ cho việc dịch phân loại liệu java -Xmx512 -cp "./libs/lingpipe-4.0.0.jar;VNAISProject.jar" com.nonglam.run.translate.TranslatedDataTest Khởi động module ClassifyData để phân loại gửi liệu lên hệ thống CensorShip java -Xmx512 -cp "./libs/lingpipe-4.0.0.jar;VNAISProject.jar" com.nonglam.run.classify.ClassifyDataTest Bước : Kiểm tra nhật ký ghi lại sở liệu để đảm bảo hệ thống chạy tốt Kiểm tra nhật ký liệu sở liệu 7.3 Hướng dẫn Viết XWIKI Macro cho hệ thống thông tin Nông Nghiệp Việt Nam Wiki Macros cho phép người phát triển tạo macro mà dùng lại chia cho hệ thống khác Ví dụ : Chúng ta phát triển macro để thị viết bật hình đây, thơng thường để làm người dùng nhiều nỗ lực, sử dụng macro họ giảm thiểu nhiều cơng việc, sử dụng lại macro đâu 136 Hệ thống thông tin Nông nghiệp Việt Nam với XWiki Hình 100 : Macro Feature Contented 7.3.1 Điều Kiện Tiên Quyết Để Phát Triển Macro  Sử dụng hệ thống XWIKI Enterprise 2.0M2 trở sau  Tác giả phát triển macro cần có quyền “Programming” 7.3.2 Hello Macro Những Macros XWiki định nghĩa sử dụng đối tượng kiểu XWiki.WikiMacroClass Để tạo macro bạn phải tạo trang Wiki gắn tới đối tượng kiểu XWiki.WikiMacroClass Lớp chứa đựng trường sau :         Macro id Macro name Macro description Default category Support inline mode Macro content type Content description Macro code Như ví dụ HelloWorld Macro 137 Hệ thống thông tin Nông nghiệp Việt Nam với XWiki Hình 101 : Hello macro Featured Content Macro 138 Hệ thống thông tin Nông nghiệp Việt Nam với XWiki Hình 102 : Tạo hello macro Hình 103 : Code hello macro 139 Hệ thống thông tin Nông nghiệp Việt Nam với XWiki 7.3.3 Gọi Macro trang XWiki Để gọi XWiki Macro ta gọi Macro khác :  Cách : Gọi thông qua câu lệnh Ví dụ : Để gọi Macro có tên hello, trang XWiki ta gọi sau {{hello/}}  Cách : Sử dụng trình WYSIWYG Hình 104 : Gọi macro trang wiki Chọn Macro cần chèn Hình 105 : Chọn macro cần chèn 140 Hệ thống thông tin Nơng nghiệp Việt Nam với XWiki Hình 106 : Macro 7.3.4 Sử dụng tham số cho Macro Macro dùng lại tùy theo tình huống, tham số phần quan trọng tạo Macro, dựa vào tham số người sử dụng điều khiển luồng công việc phù hợp với tham số đưa vào Để thêm tham số cho Wiki Macro ta làm sau : Thêm đối tượng XWiki.WikiMacroParameterClass vào trang tài liệu Mỗi tham số bạn thêm đối tượng Các thông số sau :  Parameter name  Parameter description  Parameter mandatory 141 Hệ thống thông tin Nơng nghiệp Việt Nam với XWiki Như ví dụ hello macro, ta thêm tham số tên người sử dụng, Khi người sử dụng chèn macro, họ yêu cầu nhập tên mình, sau hệ thống gửi lời chào tới người sử dụng Hình 107 : Tham số cho macro Hoặc ví dụ FeaturedContent macro ta cần có tham số tên viết để tạo slideshow Hình 108 : Tham số cho macro feature Content Để truy xuất giá trị tham số đưa vào ta sử dụng : 142 Hệ thống thông tin Nông nghiệp Việt Nam với XWiki $context.macro.params.parameterName Thay parameterName với tên tham số ví dụ sau : {{velocity}} #set($article1=$context.macro.params.article1) #set($article2=$context.macro.params.article2) #set($article3=$context.macro.params.article3) #set($article4=$context.macro.params.article4) {{/velocity}} 7.3.5 Demo Một Số Ví Dụ Mà Nhóm Phát Triển Featured Content Macro Hình 109 : Demo macro feature content Mã Nguồn {{velocity}} #set($article1=$context.macro.params.article1) #set($article2=$context.macro.params.article2) #set($article3=$context.macro.params.article3) #set($article4=$context.macro.params.article4) #set($mydoc1 = $xwiki.getDocument($article1)) #set($mydoc2 = $xwiki.getDocument($article2)) #set($mydoc3 = $xwiki.getDocument($article3)) 143 Hệ thống thông tin Nông nghiệp Việt Nam với XWiki #set($mydoc4 = $xwiki.getDocument($article4)) #set($article1Title = $mydoc1.getTitle()) #set($article2Title = $mydoc2.getTitle()) #set($article3Title = $mydoc3.getTitle()) #set($article4Title = $mydoc4.getTitle()) #set($article1content = $mydoc1.getContent()) #set($article2content = $mydoc2.getContent()) #set($article3content = $mydoc3.getContent()) #set($article4content = $mydoc4.getContent()) #set($article1imagelinks = "") #set($article2imagelinks = "") #set($article3imagelinks = "") #set($article4imagelinks = "") #set($list1Attachment = $mydoc1.getAttachmentList()) #set($list2Attachment = $mydoc2.getAttachmentList()) #set($list3Attachment = $mydoc3.getAttachmentList()) #set($list4Attachment = $mydoc4.getAttachmentList()) #foreach( $attachmentkaka in $list1Attachment ) #set($attachmentFileName = $attachmentkaka.getFilename()) #if($attachmentFileName.endsWith(".jpg") || $attachmentFileName.endsWith(".png") || $attachmentFileName.endsWith(".gif")) #set($article1imagelinks = $mydoc1.getAttachmentURL($attachmentFileName)) #break #end #end #if($article1imagelinks == "") #set($article1imagelinks = "/vn/xara/kaka.jpg") #end #foreach( $attachmentkaka in $list2Attachment ) 144 Hệ thống thông tin Nông nghiệp Việt Nam với XWiki #set($attachmentFileName = $attachmentkaka.getFilename()) #if($attachmentFileName.endsWith(".jpg") || $attachmentFileName.endsWith(".png") || $attachmentFileName.endsWith(".gif")) #set($article2imagelinks = $mydoc2.getAttachmentURL($attachmentFileName)) #break #end #end #if($article2imagelinks == "") #set($article2imagelinks = "/vn/xara/kaka.jpg") #end #foreach( $attachmentkaka in $list3Attachment ) #set($attachmentFileName = $attachmentkaka.getFilename()) #if($attachmentFileName.endsWith(".jpg") || $attachmentFileName.endsWith(".png") || $attachmentFileName.endsWith(".gif")) #set($article3imagelinks = $mydoc3.getAttachmentURL($attachmentFileName)) #break #end #end #if($article3imagelinks == "") #set($article3imagelinks = "/vn/xara/kaka.jpg") #end #foreach( $attachmentkaka in $list4Attachment ) #set($attachmentFileName = $attachmentkaka.getFilename()) #if($attachmentFileName.endsWith(".jpg") || $attachmentFileName.endsWith(".png") || $attachmentFileName.endsWith(".gif")) #set($article4imagelinks = $mydoc4.getAttachmentURL($attachmentFileName)) #break #end #end 145 Hệ thống thông tin Nông nghiệp Việt Nam với XWiki #if($article4imagelinks == "") #set($article4imagelinks = "/vn/xara/kaka.jpg") #end {{/velocity}} {{html wiki="true"}} == Feature Contented == {{velocity}}$article1Title{{/velocity}} {{velocity}}$article2Title{{/velocity}} {{velocity}}$article3Title{{/velocity}} {{velocity}}$article4Title{{/velocity}} {{velocity}}$article1Title{{/velocity}} read more 146 Hệ thống thông tin Nông nghiệp Việt Nam với XWiki {{velocity}}$article2Title{{/velocity}} read more {{velocity}}$article3Title{{/velocity}} {{velocity}}$article3Title{{/velocity}} read more {{/html}} 147 ... điểm Hệ Thống Thông tin Nông Nghiệp Việt Nam: 32 4.3 Chức Hệ Thống Thông tin Nông Nghiệp Việt Nam: 34 4.4 Khả ứng dụng Hệ Thống Thông tin Nông Nghiệp Việt Nam 35 4.5 Ứng dụng XWiki xây dựng. .. nông nghiệp cho Việt Nam Chúng em định xây dựng Hệ Thống Thông tin Nông Nghiệp Việt Nam 1.2 Mục tiêu đề tài  Xây dựng Hệ thống Thông tin Nông Nghiệp Việt Nam đảm bảo yêu cầu sau:  Hệ thống. .. khuyến nông ngư quốc gia Hệ thống thông tin Nơng nghiệp Việt Nam với XWiki  www.vaas.org.vn Hình : Website viện khoa học nông nghiệp Việt Nam Hệ thống thông tin Nông nghiệp Việt Nam với XWiki
- Xem thêm -

Xem thêm: Tìm hiểu và xây dựng hệ thống thông tin Nông nghiệp Việt Nam với XWikI, Tìm hiểu và xây dựng hệ thống thông tin Nông nghiệp Việt Nam với XWikI

Gợi ý tài liệu liên quan cho bạn