3.1. Giải pháp
3.1.4. Sử dụng Rico LiveGrid để biểu diễn dữ liệu trên máy khách
Thư viện Rico viết bằng javascript cung cấp các phương thức cho một bảng định dạng HTML thể hiện nguồn dữ liệu động thông qua Ajax bằng cách:
- Tạo ra thanh cuốn để điều khiển động việc tạo ra các yêu cầu dữ liệu Ajax - Kết nối bảng hiển thị phía máy khách với các phản hồi dữ liệu Ajax động. - Tự động gán dữ liệu phản hồi vào các ô thích hợp trên bảng hiển thị phía
máy trạm theo định nghĩa ban đầu của người sử dụng.
- Cập nhật nội dung của các ô chỉ để tăng cường khả năng thực thi.
- Tận dụng dữ liệu từ bộ đệm, thậm chí với những chiến lược nén thích hợp để tăng cường khả năng thực thi.
Sử dụng LiveGrid để tạo bảng dữ liệu động phía máy trạm rất dễ dàng với hai bước cơ bản như sau:
- Tạo bảng HTML theo yêu cầu, mỗi phần tử bảng phải được xác định bởi một định danh (id) duy nhất.
o Các định danh HTML của bảng
o Các dữ liệu yêu cầu thông qua điều khiển URL
o Thêm các tùy chọn để biểu diễn dữ liệu theo yêu cầu sử dụng Lớp định nghĩa Rico trên máy chủ <RICO.CLASS>:
public static void insertHeader(PrintWriter out) {
out.write("<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n"); out.write("<ajax-response>\n");
}
public static void insertFooter(PrintWriter out) { out.write("</response>\n");
out.write("</ajax-response>\n"); }
public static void insertData(PrintWriter out, String data) { out.write("<td>"+ data +"</td>\n");
}
Tại các lớp dịch vụ khác sử dụng RICO để đẩy dữ liệu trở về phía máy trạm:
Rico.insertHeader(out);
Rico.insertRespHeader(out,"cs_branch_data_updater"); Rico.insertRowHeader(out,offset);
for(int i=0; i<usr.length; i++) { Rico.insertTrHeader(out); Rico.insertData(out,Integer.toString(usr[i].getBranchSeq())); Rico.insertData(out,(usr[i].getBRCD())); Rico.insertDecodeData(out,usr[i].getBRNM()); Rico.insertDecodeData(out,usr[i].getADDR()); Rico.insertData(out,(usr[i].getTEL())); Rico.insertData(out,(usr[i].getFAX())); Rico.insertData(out,(usr[i].getEMAIL())); Rico.insertTrFooter(out); } Rico.insertRowFooter(out); Rico.insertFooter(out);
<?xml version="1.0" encoding="ISO-8859-1"?> <ajax-response>
<response type="object" id=’data_grid_updater'> <rows update_ui=’true’ > <tr> <td>1000</td> <td> Trụ sở chính</td> <td>H2 Láng Hạ</td> <td>04 8687449</td> <td>04 8687441</td> </tr> <tr> <td>1200</td> <td> Sở giao dịch </td> <td>H2 Láng Hạ</td> <td>04 7722380</td> <td>04 7722381</td> </tr> </rows> </response> </ajax-response> 3.1.5. Vấn đề về an toàn bảo mật
Khi thực thi các đoạn mã JavaScript trên trình duyệt Web của mình, người sử dụng có thể vô tình bị ảnh hưởng bởi một đoạn script của ứng dụng khác chạy mà không hề biết, đó là những nguy cơ tiềm tàng luôn có đối với các ứng dụng trực tuyến. Để ngăn chặn được những hiểm họa này, khi xây dựng các hệ thống sử dụng JavaScript, nhà phát triển đã thực thi các đoạn mã Script theo mô hình hộp kín (sandbox), các đoạn mã được đóng kín hoàn toàn và hầu như không truy cập gì tới tài nguyên của máy tính. Một ứng dụng Ajax khi xây dựng không thể đọc hay ghi bất cứ cái gì vào các file hệ thống cục bộ, cũng như không thể thiết lập một kết nối nào tới một vùng ứng dụng Web khác ngoài kết nối nguyên gốc trong hầu hết các trường hợp. Ví dụ đơn giản cho trường hợp này như sau, tại đoạn mã script ở trang chính ta định nghĩa biến x = 3; khi các trang thành phần muốn truy cập, sử dụng tới giá trị biến x ở trên, cần trỏ tới top.x, tuy nhiên, đoạn mã chỉ chạy đúng khi cả hai đoạn script trên phải cùng được cài trên cùng một domain (Hình 3.3 ).
Hình 3.3:Mô hình bảo mật của Javascript để ngăn chặn các đoạn script khác từ các vùng khác tương tác với nhau.
Khi một ứng dụng Ajax có nhu cầu khai thác hay truy cập tới một nguồn tài nguyên trên một ứng dụng máy chủ khác, từ máy trạm không thể trực tiếp truy cập tới nguồn tài nguyên tham khảo này bởi chính sách “Một máy chủ nguồn” (Server of original) của ứng dụng. Để có thể tham khảo tài nguyên từ bên thứ ba, có một giải pháp đó là xây dựng trên máy chủ một tập các servlet ủy quyền có nhiệm vụ truy cập vào tài nguyên của vùng ứng dụng khác thông qua tập các dịch vụ ủy quyền từ xa và trả về cho máy trạm dữ liệu tham khảo theo yêu cầu (Hình 3.4). Theo mô hình này, khi khai thác dữ liệu người sử dụng phía máy trạm chỉ biết dữ liệu hiện thị được lấy từ máy chủ cục bộ mà không hề biết tới xuất xứ thực sự của dữ liệu khai thác được đó từ đâu.
Hình 3.4:Cách thức tham chiếu tới dữ liệu từ nguồn tài nguyên khác của ứng dụng Ajax.
Việc trao đổi dữ liệu giữa máy trạm và máy chủ được bảo vệ bởi cơ chế bảo mật của HTTPS. HTTP thông qua tầng socket bảo mật bao bọc dữ liệu text bởi một vỏ bọc được mã hóa bởi cặp khóa công khai – bí mật ở cả hai chiều. Hacker có thể nhìn thấy gói dữ liệu nhưng nội dung đã được mã hóa hoàn toàn (Hình 3.5 ).
3.2. Thiết kế giao diện
Trên cơ sở các ca sử dụng được mô tả ở trên, với sự phối hợp nhiệt tình của các bộ phận nghiệp vụ, phần mêm Quản lý tác nghiệp văn phòng – OMS, phiên bản 1.0 đã được hoàn thiện.
Chú ý:
- Các chức năng của chương trình được thể hiện trên thanh toolbar và các context menu (phải chuột)
- Vào mỗi Menu người sử dụng phải có quyền được đăng ký bời người sử dụng mới vào được và thực hiện các chức năng tương ứng
3.2.1. Phân hệ Quản lý công văn
Xử lý công văn đến:
- Các biểu tượng được mô tả bởi các hình vẽ tương ứng với các trạng thái hiện tại của mỗi công văn.
- Bên dưới các thanh công cụ toolbar là phần tìm kiếm các văn bản theo các tiêu chí của danh sách công văn bên dưới. Và bên dưới danh sách các công văn là phần tải nội dung file văn bản đính kèm và các ý kiến phê duyệt xác nhận đi kèm theo văn bản duới cùng là nội dung chi tiết về văn bản giúp người sử dụng có thể xem nhanh văn bản khi nhấp đúp trái chuột vào một công văn mà mình đã lưa chọn.
- Danh sách các trạng thái của công văn
o (văn bản tạo mới xin ý kiến)
o (Văn bản tạo mới ko xin ý kiến)
o (Trạng thái văn bản đã bị xoá)
o (Công văn chờ xác nhận)
o (Công văn chờ phê duyệt)
o (Công văn chuyển nội bộ xử lý)
o (Công văn đã xác nhận)
o (Công văn đã phê duyệt)
o (Công văn đã phê duyệt và chuyển đi)
Hình 3.6:Tiếp nhận công văn đến.
Phát hành công văn đi
Hình 3.8:Giao diện phục vụ soạn thảo công văn đi
Hình 3.10:Màn hình văn thư chuyển công văn đi
3.2.2. Phân hệ Quản lý công việc
Hình 3.12:Chức năng Giao việc của lãnh đạo
Hình 3.14:Màn hình cho phép chọn người thực hiện.
3.2.3. Phân hệ Quản lý thông báo
Hình 3.16:Màn hình tạo mới một thông báo sự kiện
Chức năng Nhắn tin:
3.2.4. Phân hệ Quản trị hệ thống
Hình 3.18:Giao diện đăng nhập hệ thống
Hình 3.20:Màn hình thông tin chi tiết về chi nhánh.
Hình 3.22: Màn hình quản lý người dùng
Hình 3.24:Phân quyền sử dụng menu
KẾT LUẬN Những kết quả đạt đƣợc
Mô hình RIA là một hướng phát triển công nghệ mới trong những năm tới, hứa hẹn một cuộc cách mạng mới trên Internet. Các ứng dụng dụng xây dựng theo mô hình RIA ngày càng quen thuộc và đi vào cuộc sống như G-Mail, Yahoo-mail beta, Live Search của Microsoft,… Thậm chí, các hãng lớn đã có kế hoạch và đang bước vào cuộc đua vô cùng quyết liệt để đưa các ứng dụng văn phòng từ việc hoạt động trên các máy tính để bàn, sang hoạt động trên Internet.
Kèm theo những bước tiến đó là các công nghệ, các thuật ngữ mới ra đời như web 2.0, ajax, … đưa công nghệ thông tin ngày càng đáp ứng gần hơn nhu cầu khai thác và sử dụng Internet nói chung.
Trong phạm vi của luận văn này, các công nghệ và công cụ phổ biến, hỗ trợ phát triển ứng dụng theo mô hình RIA đã được nghiên cứu và đánh giá. Bước đầu đã được áp dụng triển khai xây dựng thành công phần mềm OMS, đã được triển khai tại Ngân hàng Nông nghiệp và Phát triển Nông thôn Việt Nam. Những phản hồi tích cực từ phía lãnh đạo ngân hàng và của người dùng là một nguồn động viên to lớn, làm cơ sở để ra đời các phiên bản tiếp theo cũng như các sản phẩm mới dựa trên các công nghệ mới cho phép phát triển các ứng dụng theo mô hình RIA.
Hạn chế và hƣớng phát triển
Là một hướng phát triển mới nên mô hình phát triển ứng dụng RIA và các công nghệ liên quan không tránh khỏi những vấn đề tồn tại cần giải quyết, cũng như những nhìn nhận và đánh giá khác nhau. Trong thời gian ngắn trước mắt. các ứng dụng xây dựng theo mô hình RIA không thể thay thế được hoàn toàn các ứng dụng truyền thống. Bên cạnh đó, các công nghệ mới sẽ tiếp tục phát triển và hoàn thiện đòi hỏi sự hợp tác chặt chẽ giữa các hãng phát triển công nghệ, đưa ra các mô hình chuẩn và nhận được sự hỗ trợ của nhiều nền tảng công nghệ khác nhau.
Do đó, những ứng dụng phát triển theo mô hình RIA cần tiếp tục được bảo trì, nâng cấp, thử nghiệm trong môi trường thực tế. Đặc biệt, cần phải tiếp tục hoàn thiện và thử nghiệm các vấn đề liên quan đến:
- Quản lý và chia sẻ tài nguyên với các ứng dụng trên máy khách. - Khả năng chịu tải của hệ thống.
- Đơn giản hóa quá trình phát triển ứng dụng theo mô hình RIA. - Sự hỗ trợ của các nền tảng công nghệ khác nhau.
Ngoài những vấn đề chung trên ra, phần mềm OMS cần tiếp tục các công việc sau :
- Tiếp thu phản hổi góp ý của người dùng.
- Nghiên cứu áp dụng chữ ký số vào trong quy trình xét duyệt công văn. - Xây dựng một workflow – engine .
TÀI LIỆU THAM KHẢO Danh sách tài liệu tiếng Việt
1. Nguyễn Văn Vỵ (2002), Phân tích thiết kế các hệ thống thông tin hiện đại, hướng cấu trúc – hướng đối tượng, NXB Thống Kê, Hà Nội.
2. Đặng Văn Đức (2002), Phân tích thiết kế hướng đối tượng bằng UML, NXB Giáo Dục, Hà Nội
Danh sách tài liệu tiếng anh
3. Chris Loosley (2006): Design, Measurement,and Management Challenges, Keynote Systems.
4. Dave Crane, Eric Pascarello, Darren James (2006), Ajax in Action, Manning Publication Co.
5. Adobe Flex- Technical white paper 6. http://www.sun.com 7. http://java.sun.com 8. http://www.microsoft.com 9. http://silverlight.net 10.http://msdn.microsoft.com 11.http://www.w3.org 12.http://www.forrester.com 13.http://www.theserverside.com 14.http://www.wikipedia.org. 15.http://www.sla-zone.co.uk 16.http://www.vnexpress.net