5 Mô tả hệ thống
5.1.2 Kiến trúc đa tầng
· Tầng trình bày (presentation): chứa các cấu phần xử lý giao diện người dùng và tương tác với người dùng.
· Tầng logic nghiệp vụ (bussiness logic): chứa các cấu phần phối hợp với nhau đê giải quyết các vấn đề nghiệp vụ.
· Tầng dữ liệu (data): được sử dụng để truy xuất cơ sở dữ liệu
Ưu điểm của việc chia tách ứng dụng thành các tầng logic khác nhau là tách biệt mỗi phần với những phần khác. Sự tách biệt này giúp nhà phát triển có thể có nhiều sự thay đổi ở một tầng mà hạn chế được tối đa việc ảnh hưởng tới các tầng khác.
5.2 Giải pháp XML&XSL
5.2.1 Sơđồgiải pháp XML&XSL
5.2.2 Mô tảhoạt động giải pháp XML&XSL
- Người dùng yêu cầu xem thông tin
- Luồng đi của yêu cầu sẽ đi theo đường màu tím trên hình vẽ
+ Module HungBM.Articles sẽgửi yêu cầu lấy thông tin tới bộxửlý ArticleXML + Bộxửlý ArticleXML gửi yêu cầu lấy dữliệu tới lớp DBArticle
+ Lớp DBArticle sẽgọi câu StoreProcedure tương ứng với yêu cầu + StoreProcedure thực hiện lệnh lấy dữ liệu từdatabase
- Hệthống sẽtrảlại thông tin theo yêu cầu của người dùng - Luồng đi của dữliệu trảlại sẽ đi theo đường màu xanh
+ Dữliệu được StoreProcedure lấy ra từDatabase.
+ Dữ liệu trả về từ câu StoreProcedure sẽ được lớp DBArticle đưa tới bộ xử lý ArticleXML.
- Module HungBM.Article sẽkết hợp file XML và XSL đưa dữ liệu ra HTML và hiển thịlên màn hình
- Mã lệnh giúp lấy dữ liệu từ XML và trình bày bằng XSL
// Gửi yêu cầu lấy dữliệu XML
request =WebRequest.Create(m_strUrlWeb +"/ArticlesXML.aspx?ModuleID="+ strModuleID +
"&NumberOfArticle="+ m_strNumberOfArticle +"&ctl=GetArticles");
// Lấy dữliệu trảvề
WebResponseresponse = request.GetResponse();
StreamresponseStream = response.GetResponseStream();
// Đọc luồng Response sửdụng XmlTextReader
XmlTextReaderreader =newXmlTextReader(responseStream);
// Khai báo đường dẫn tới XML cho đối tượng xmlArticle XPathDocumentxml_doc =newXPathDocument(reader); xmlArticle.XPathNavigator = xml_doc.CreateNavigator();
// Đặt đường dẫn tới file XSL
stringstrPath = DotNetNuke.Common.Globals.ApplicationMapPath;
FileInfofileXSL =newFileInfo(strPath+"/Portals/_default/XSL/"+m_strFileXSL);
if(fileXSL.Exists)
xmlArticle.TransformSource ="~/Portals/_default/XSL/"+m_strFileXSL;
else
xmlArticle.TransformSource ="~/DesktopModules/HungBM.Articles/ArticleLargeList.xsl";
5.2.3 Sơđồtổng quan các chức năng giải pháp XML&XSL
Mô hình tổng thếchức năng của hệthống được mô tả như sơ đồ dưới đây. Chi tiết từng chức năng cũng như các tác nhân tham gia vào chứcnăng đó sẽ được mô tảchi tiếtởphần sau.
a) Các tác nhân tham gia hệthống
- Người sử dụng internet: Là những người có quyền hạn thấp nhất trong mô hình hệ thống này. Người sử dụng chỉcó quyền xem thông tin.
- Biên tập viên:Là người có quyền đăngthông tin.
- Người phê duyệt: Là người có quyền cho phép đăng thông tin, sửa thông tin, xóa thông tin, duyệt thông tin để đưa ra hiển thị cho người dùng.
- Quản trị hệ thống: Ngoài các quyền như của người phê duyệt thì quản trị hệ thống còn có quyền xem các định dạng xml&xsl, cấu hình module.
- Quyền quản trị host: Ngoài các quyền như quản trị hệthống thì quản trị host có thể thêm, xóa, sửa định dạng file xsl.
Nguoi dung internet Bien tap vien
Nguoi phe duyet
Quan tri he thong
Xem thong tin
Them thong tin
Sua thong tin
Xoa thong tin
Duyet thong tin
Xem dang XML
Xem XSL
Cau hinh XSL
Quan tri host
b) Các tác chức năng chính của hệthống
- Chức năng thêm thông tin: cho phép người có quyền này thêm thông tin mới vào cơ sởdữliệu.
- Chức năng sửa thông tin: cho phép người có quyền này sửa thông tin đãđưa lên. - Chức năng xóa thông tin: cho phép người có quyền phê duyệt xóa thông tin khỏi cơ sởdữliệu
- Chức năng duyệt thông tin: cho phép người có quyền này duyệt thông tin hiển thị chính thức tại phía người dùng.
- Xem thông tin: cho phép người dùng xem thông tin tùy theo quyền của hệthống. - Xem thông tin dạng xml: cho phép quản trị viên xem thông tin dưới dạng xml trên trình duyệt web.
- Xem xsl: cho phép quản trị viên xem thông tin dưới dạng xsl trên trình duyệt web. - Cấu hình file xsl: cho phép quản trịhost thêm, sửa, xóa file xsl.
- Cấu hình module: cho phép quản trị hệ thống cấu hình các chức năng của module như: container, icon, cho phép hiển thị, lựa chọn file xsl hiển thị, lựa chọn số lượng thông tin hiển thị, có thểchọn thông tin từ nguồn khác đểhiển thị.
5.2.4 Chi tiết đặc tảchức năng
UC #0001 << Thêm thông tin >> Độ phức tạp: Trung bình Mô tả Chức năng này dùng đểthêm thông tin mới vào hệthống
Tác nhân
Chính Biên tập viên
Phụ Người phê duyệt, quản trịhệthống, quản trịhost.
Tiền điều kiện
Nếu muốn sửdụng chức năng này thì cần phải đăng nhập vào hệ thống và có quyền thêm thông tin.
Hậu điều
kiện
Thành công
Nếu thành công thì thêm mới thông tin vào hệthống.
Lỗi Hệthống không được thêm thông tin mới. ĐẶC TẢ CHỨC NĂNG
Luồng sự kiện chính/Kịch bản chính
- Hệ thống hiển thị form thêm thông tin và chờ người dùng nhập - Biên tập viên nhập thông tin vào form của hệ thống
- Biên tập viên click vào nút thêm thông tin.
- Hệ thống kiểm tra tính hợp lệ của dữ liệu nhập vào
+ Nếu dữ liệu không hợp lệ thì hệ thống hiển thị thông báo lỗi cho người dùng và chờ người dùng nhập lại thông tin (chưa chuyển sang bước tiếp theo)
+ Nếu dữ liệu hợp lệ thì hệ thống chuyển sang bước tiếp theo - Hệ thống thêm thông tin vào cơ sở dữ liệu
- Hệ thống quay trở lại trang trước khi nhập thông tin.
Sơ đồ hành động (Activity diagram)
Bat Dau
Chon chuc nang xem thong tin
Nhap thong tin vao form
Ket Thuc Them thong
tin vao CSDL
Xu ly loi
Thanh cong Phat hien loi
Vao giao dien cua chuc nang
Quay lai
UC #0002 << Sửa thông tin >> Độ phức tạp:
Trung bình Mô tả Chức năng này dùng đểsửa thông tin đã có trong hệthống
Tác nhân
Chính Người phê duyệt
Phụ Quản trị hệthống, quản trị host.
Tiền điềukiện
Nếu muốn sửdụng chức năng này thì cần phải đăng nhập vào hệ thống và có quyền sửa thông tin.
Hậu điều
kiện
Thành công
Nếu thành công thì cập nhật lại thông tin vào hệthống.
Lỗi Hệthống không cập nhật được thông tin. ĐẶC TẢ CHỨC NĂNG
Luồng sựkiện chính/Kịch bản chính
- Người phê duyệt chọn chức năng sửa thông tin
- Hệ thống hiển thị form chứa thông tin cũ và chờ người phê duyệt sửa thông tin - Người phê duyệt sửa thông tin trong form của hệ thống
- Người phê duyệt click vào nút sửa thôngtin.
- Hệ thống kiểm tra tính hợp lệ của thông tin mới sửa
+ Nếu dữ liệu không hợp lệ thì hệ thống hiển thị thông báo lỗi cho người dùng và chờ người dùng nhập lại thông tin (chưa chuyển sang bước tiếp theo)
+ Nếu dữ liệu hợp lệ thì hệ thống chuyển sang bước tiếp theo - Hệ thống cập nhật thông tin vào cơ sở dữ liệu
- Hệ thống quay trở lại trang trước khi sửa thông tin.
Ba t D a u C ho n c huc na ng s ua tho ng tin S ua tho ng tin tro ng fo rm Ke t T h u c C a p nha t tho ng tin va o C S D L X u ly lo i Tha nh c o ng P ha t hie n lo i V a o g ia o d ie n c ua c huc na ng Q ua y la i K ho ng q ua y la i
UC #0003 << Xóa thông tin >> Độ phức tạp: Thấp
Mô tả Chức năng này dùng để xóa thông tin đã có trong hệthống
Tác nhân
Chính Người phê duyệt
Phụ Quản trịhệthống, quản trịhost.
Tiền điều kiện
Nếu muốn sửdụng chức năng này thì cần phải đăng nhập vào hệ thống và có quyền xóa thông tin.
Hậu điều
kiện
Thành công
Nếu thành công thì xóa thông tin khỏi hệthống.
Lỗi Hệthống không xóa được thông tin. ĐẶC TẢ CHỨC NĂNG
Luồng sự kiện chính/Kịch bản chính
- Người phê duyệt chọn chức năng xóa thông tin
- Hệ thống xác nhận người dùng có thực sự muốn xóa thông tin không.
+ Nếu người dùng xác nhận là có xóa thì hệ thống chuyển sang bước tiếp theo + Nếu người dùng xác nhận là không xóa thì hệ thống ko xóa thông tin.
- Hệ thống xóa thông tin khỏi cơ sở dữ liệu
- Hệ thống thông báo cho người dùng biết việc xóa thông tin đã thực hiện thành công.
Giao diện minh họa
Bat Dau
Chon chuc nang xoa thong tin
Xac nhan co thuc su muon xoa khong
Ket Thuc Xoa thong tin
khoi CSDL
Khong xoa thong tin
UC #0004 << Duyệt thông tin >> Độ phức tạp:
Thấp
Mô tả
Chức năng này dùng đểduyệt thông tin đang chờduyệt hoặc bỏ duyệt thông tin đãđăng.
Tác nhân
Chính Người phê duyệt
Phụ Quản trịhệthống, quản trịhost.
Tiền điều kiện
Nếu muốn sửdụng chức năng này thì cần phải đăng nhập vào hệ thống và có quyền duyệt thông tin.
Hậu điều
kiện
Thành công
Nếu thành công thì thông tin sẽ được duyệt nếu đang ởtrạng thái chờduyệt và bỏduyệt khi đang ởtrạng thái đã duyệt.
Lỗi Hệthống không thay đổi trạng thái. ĐẶC TẢ CHỨC NĂNG
Luồng sự kiện chính/Kịch bản chính
- Người phê duyệtchọn chức năng duyệt thông tin
- Hệ thống đổi trạng thái duyệt tin (nếu đã duyệt thì chuyển thành chưa duyệt, nếu chưa duyệt thì chuyển thành đã duyệt).
- Hệ thống thông báo cho người dùng biết việc duyệt thông tin đã thực hiện thành công.
Sơ đồ hành động (Activity diagram)
Bat Dau
Chon chuc nang duyet thong tin
Ket Thuc Thay doi trang
thai duyet
Khong thay doi trang thai duyet
Giao diện minh họa
UC #0005 << Xem thông tin dạng xml >> Độ phức tạp:
Trung bình
Mô tả
Chức năng này dùng để xem thông tin dưới dạng xml trên trình duyệt web.
nhân Phụ Quản trịhost.
Tiền điều kiện
Nếu muốn sửdụng chức năng này thì cần phải đăng nhập vào hệ thống và có quyền quản trịhệthống. Hậu điều kiện Thành công
Nếu thành công thì thông tin sẽhiển thịdạng xml trên trình duyệt web.
Lỗi Hệthống không hiển thị được thông tin mà đưa ra thông báo lỗi. ĐẶC TẢ CHỨC NĂNG
Luồng sự kiện chính/Kịch bản chính
- Người phê duyệt chọn chức năng xem dạng xml
- Hệ thống hiển thị xử lý thông tin lấy từ cơ sở dữ liệu sau đó hiển thị xml phía client
Sơ đồ hành động(Activity diagram)
Bat Dau
Chon chuc nang xem dang xml
Ket Thuc Hien thi du lieu dang
xml tren trinh duyet
Thong bao loi la khong hien thi duoc
Giao diện minh họa
UC #0006 << Xem xsl >> Độ phức tạp:
Trung bình Mô tả Chức năng này dùng đểxem xsl trên trình duyệt web.
Tác nhân
Chính Quản trịhệthống.
Phụ Quản trịhost.
Tiền điềukiện
Nếu muốn sửdụng chức năng này thì cần phải đăng nhập vào hệ thống và có quyền quản trịhệthống. Hậu điều kiện Thành công
Nếu thành công thì thông tin sẽhiển thịdạng xsl trên trình duyệt web.
Lỗi Hệthống không hiển thị được thông tin mà đưa rathông báo lỗi. ĐẶC TẢ CHỨC NĂNG
Luồng sự kiện chính/Kịch bản chính
- Người phê duyệt chọn chức năng xem xsl - Hệ thống hiển thị file xsl trên trình duyệt web.
Sơ đồ hành động (Activity diagram)
Bat Dau
Chon chuc nang xem file xsl
Ket Thuc Hien thi noi dung file
xsl tren trinh duyet
Thong bao loi la khong hien thi duoc
Giao diện minh họa
UC #0007 << Cấu hình module >> Độ phức tạp: Trung bình
Mô tả
Cho phép quản trị hệ thống cấu hình các chức năng của module như: container, icon, cho phép hiển thị, lựa chọn file xsl hiển thị, lựa chọn số lượng thông tin hiển thị, có thể chọn thông tin từ nguồn khác để hiển thị. Tác nhân Chính Quản trịhệthống Phụ Quản trịhost Tiền điều kiện
Nếu muốn sửdụng chức năng này thì cần phải đăng nhập vào hệ thống và có quyền quản trịhệthống.
Hậu điều
Thành công
kiện
Lỗi
Hệthống không thay đổi trạng thái cấu hình module và thông báo lỗi.
ĐẶC TẢ CHỨC NĂNG
Luồng sự kiện chính/Kịch bản chính
- Quản trị hệ thống chọn chức năng cấu hình module
- Hệ thống hiển thị form cấu hình và chờ quản trị chọn cấu hình - Người quản trị cấu hình hệ thống sau đó bấm vào nút cập nhật. - Hệ thống kiểm tra tính hợp lệ của thông tin cấu hình
+ Nếu thông tin cấu hình hợp lệ thì hệ thống sẽ cập nhật vào cơ sở dữ liệu rồi chuyển sang bước tiếp theo.
+ Nếu thông tin cấu hình không hợp lệ thì hệ thống sẽ không cập nhật thông tin, hiển thị thông báo lỗi và không chuyển sang bước tiếp theo.
- Hệ thống quay về trang trước khi cấu hình.
Giao diện minh họa
Bat Dau
Chon chuc nang cau hinh module
Ket Thuc Cap nhat cau hinh
vao CSDL
Thong bao loi
Thanh cong That bai
Nguoi quan tri cau hinh module
5.3 Giải pháp Webservice
5.3.2 Mô tảhoạt động giải pháp Webservice
- Người dùng yêu cầu xem thông tin
- Máy B sẽgửi yêu cầu lấy thông tin tới máy A
Ví dụ:
HungBM.FAChartWS.FAChartWSobjFAChartWS =new HungBM.FAChartWS.FAChartWS(); objFAChartWS.Url = m_strUrlWeb+"
/desktopmodules/HungBM.FAChartWS/HungBM.FAChartWS.asmx";
byte[] arrData = objFAChartWS.GetImageChart(strMapType, strTimeRange, intMapWidth, intMapHeight, mainType, strIndicator1, strIndicator2, strIndicator3, strIndicator4, strBandType, strAvgType1, strAvgType2, strMovAvg1, strMovAvg2);
- Máy A làm việc với Database rồi trảkết quảvềcho máy B - Máy B nhận dữliệu từmáy A rồi hiển thịra màn hình.
stringstrPath =string.Format("{0}/DesktopModules/HungBM.FAChartWS/Chart.png", DotNetNuke.Common.Globals.ApplicationPath);
DotNetNuke.Common.Utilities.FileSystemUtils.SaveFile(Server.MapPath(strPath), arrData); imgFinanceAnalysisChart.ImageUrl = strPath;
5.4 Giải pháp Webspider
5.4.2 Mô tảhoạt động giải pháp Webspider
- Người dùng yêu cầu xem thông tin
- Hệthống download mã HTML từwebsite khác về
WebClientclient =newWebClient();
strings = client.DownloadString("http://www.sjc.com.vn");
- Hệthống xửlý xâu vừa download sau đó hiển thịlên màn hình.
6 Tổng kết
Trong quá trình thực hiện chuyên đề tôi đã thuđược nhiều kiến thức, tuy tôi vẫn chưa tìm hiểu được sâu về Dotnetnuke nhưng cũng đã biết làm gói giao diện skin, container, biết cách viết thêm các gói module mới và sử dụng để triển khai thành sản phẩm thực tế. Đồng thời tôi cũng đã ứng dụng một số giải pháp công nghệ mới trong việc xây dựng sản phẩm của mình.
6.1 Kết quảvềmặt lý thuyết
- Tìm hiểu các khái niệm vềportal, xml, xsl, webservice, ajax - Tìm hiểu cách quản trịhệthống dotnetnuke ởmức cơ bản - Tìm hiểu cách xây dựng skin, container trong dotnetnuke - Tìm hiểu cách cài đặt, sử dụng menu, gói ngôn ngữcho portal - Tìm hiểu cách xây dựng module mới trong dotnetnuke
6.2 Kết quảvềmặt thực tế
- Tự thiết kếra một giao diện cho portal chứng khoán
- Xây dựng bộskin, container cho giao diện đã thiết kếvà triển khai sửdụng - Xây dựng các moduleứng dụng giải pháp XML&XSL
- Xây dựng các moduleứng dụng webservice
- Xây dựng các moduleứng dụng kỹthuật webspider - Xây dựng bảng giá trực tuyến trên kỹthuật ajax.
- Tham gia triển khaiứng dụng cho một sốcông ty chứng khoán.
6.3 Kết quảvềmặt thực tế
- Tìm hiểu sâu hơn vềDotnetnuke - Test lại và hoàn thiện thêm các module