4. Đối tƣợng phạm vi nghiên cứu
4.1. Xây dựng mô hình và giải pháp tổng thể phần mềm và CSDL
4.2. Lựa chọn giải pháp công nghệ
4.2.1. Lựa chọn hệ điều hành
Qua phân tích một số tài liệu kỹ thuật về một số hệ điều hành mạng như Linux, Unix, Novell Netware và Microsoft Windows kết hợp với mức độ và khả năng khai thác cũng như kỹ năng sử dụng phần mềm hiện tại của cán bộ đơn vị, phương án lựa chọn hệ điều hành cho máy chủ và máy trạm tại Trường Sĩ quan Thông tin như sau:
- Đối với máy chủ: Sử dụng hệ điều hành mạng Opensuse 12.2 được cài đăt dịch vụ ảo hóa Xen
- Đối với máy trạm: Sử dụng các hệ điều hành thông dụng Windows XP hoặc Windows 7.
4.2.2. Lựa chọn hệ quản trị CSDL
Cơ sở dữ liệu cấu hình ảo hóa trên XEN phải dùng lại của các tài nguyên sẳn có của hệ thống. Do đó việc lựa chọn hệ quản trị CSDL là rất quan trọng. Dữ liệu dữ kiến tạo lập trong hệ thống là các dữ liệu dạng: dữ liệu cấu trúc, dữ liệu văn bản, dữ liệu đa phương tiện và dữ liệu bản đồ. Hiện nay có rất nhiều hệ quản trị CSDL thông dụng như SQL Server, Oracle, Interbase, Sysbase, Informix, MySQL, PostgreSQL… Tuy nhiên qua phân tích tài liệu kỹ thuật, phân tích hiện trạng thực tế, phương án lựa chọn hệ quản trị CSDL chính là SQL Server 2008 và PostgreSQL 9.
Máy chủ ảo hóa cài đặt SQL Server 2008:
- CSDL này có thể lưu trữ và xử lý được tất cả các dạng dữ liệu hiện có của đơn vị.
- Đây là hệ CSDL được sử dụng phổ biến, là sự lựa chọn tối ưu nhất cho các bài toán quản lý dữ liệu vừa và lớn.
- Hệ quản trị này phù hợp cho cả mô hình client/server lẫn mô hình web. - Khả năng quản trị dễ dàng hơn so với các hệ thống quản lý dữ liệu khác. - Bảo mật cao.
- Dễ dàng tích hợp với các hệ thống thông tin hiện có của đơn vị. - Khả năng nâng cấp phát triển dễ dàng.
- Tính ổn định cao.
- Khả năng tích hợp rất tốt. - Chi phí bản quyền vừa phải.
Máy chủ ảo hóa cài đặt PostgreSQL 9:
- Đây là hệ CSDL mã nguồn mở được sử dụng khá phổ biến, là sự lựa chọn tối ưu cho các bài toán quản lý dữ liệu vừa và lớn.
- CSDL thích hợp cho các hệ phần mềm mã nguồn mở cũng như các hệ phần mềm ứng dụng chạy trên nền .Net Framework, phù hợp với các hệ phần mềm đang khai thác sử dụng tại Nhà trường.
- Hỗ trợ được các dạng dữ liệu khác nhau.
- Hệ quản trị này phù hợp cho cả mô hình client/server lẫn mô hình web. - Khả năng quản trị dễ dàng.
- Bảo mật cao.
- Dễ dàng tích hợp với các hệ thống thông tin hiện có của đơn vị. - Khả năng nâng cấp phát triển dễ dàng.
- Tính ổn định cao.
a. Lựa chọn giải pháp xác thực và quản lý người dùng tập trung
Quản lý người dùng tập trung bằng việc xây dựng cơ sở dữ liệu người dùng sử dụng giao thức LDAP để xác thực. Thiết lập một máy chủ quản trị người dùng dựa trên công nghệ LDAP, máy chủ này còn gọi là LDAP server.
Phương pháp cấp phát tài khoản người dùng như sau: Mỗi cá nhân hoặc đơn vị trong Nhà trường sẽ được cấp 1 tài khoản truy cập. Tài khoản truy cập này sẽ được
sử dụng để đăng nhập vào các phần mềm. Việc quản lý người dùng tập trung như vậy tránh cho việc sử dụng nhiều tài khoản ở các hệ thống phần mềm khác nhau, giúp cho người sử dụng dễ dàng hơn khi đăng nhập vào nhiều phần mềm khác nhau được cài đặt tại đơn vị.
Việc quản lý người dùng được tổ chức theo mô hình 2 lớp: - Lớp người dùng tập trung như đã nói ở trên.
- Lớp người dùng cục bộ: Là CSDL người dùng chỉ liên quan đến từng phần mềm. Trong CSDL người dùng cục bộ, với mỗi tên đăng nhập sẽ có các quyền sử dụng chức năng phần mềm và quyền đối với từng bản ghi dữ liệu.
Theo cách thức tổ chức như vậy, phương pháp xác thực đăng nhập được thực hiện theo thuật toán sau đây:
1. Đầu tiên khi người sử dụng đăng nhập vào phần mềm, nó sẽ được xác thực trên máy chủ LDAP trước. Nếu tên truy cập và mật khẩu có trong CSDL người dùng trên máy chủ LDAP, nó sẽ trả về trạng thái OK. Khi đó, thông tin về người dùng này sẽ được cập nhật vào trong CSDL cục bộ của phần mềm. Tiếp theo, nó kiểm tra quyền sử dụng chức năng phần mềm trong CSDL cục bộ để cho phép hoặc không cho phép người dùng sử dụng những chức năng nhất định của phần mềm.
2. Trong trường hợp xác thực trên máy chủ LDAP không thành công, nó sẽ quay về xác thực trên CSDL người dùng cục bộ như bình thường.
3. Và nếu như việc xác thực trên CSDL người dùng cục bộ cũng không thành công thì người dùng sẽ không đăng nhập được vào phần mềm.
b. Lựa chọn giải pháp phân quyền mức ứng dụng và CSDL
CSDL của hệ thống triển khai tập trung nhưng các phần mềm thì phân tán và do đó việc cập nhật khai thác dữ liệu sẽ phân tán, cho nên việc quản lý sử dụng hệ thống dựa trên nguyên tắc phân cấp, phân quyền.
Đối với các hệ thông tin triển khai, cần quản lý người dùng ở 2 khía cạnh: khía cạnh ứng dụng và khía cạnh tài nguyên dữ liệu.
- Về mặt ứng dụng: Thiết kế các nhóm quyền sử dụng chức năng hệ thống tương ứng với mỗi loại/nhóm người dùng. Mỗi người dùng tham gia sử dụng khai thác hệ thống được gán quyền sử dụng tương ứng. Muốn sử dụng các chức năng của hệ thống, người sử dụng phải đăng nhập vào hệ thống và khi thực hiện một ứng dụng hay một chức năng nào đó của hệ thống thì quyền sử dụng của người đó sẽ được kiểm tra xem có được phép hay không.
- Về mặt tài nguyên dữ liệu: Vì hệ thống có rất nhiều dữ liệu nghiệp vụ khác nhau thuộc quyền quản lý và khai thác của các cá nhân đơn vị khác nhau, nên việc phân cấp phân quyền dữ liệu khá phức tạp. Do dữ liệu của hệ thống bao gồm dữ liệu lưu trong CSDL (dạng dữ liệu có cấu trúc, dữ liệu văn bản, dữ liệu đa phương tiện, dữ liệu bản đồ) và dữ liệu lưu dưới dạng file, nên biện pháp phân quyền phân cấp như sau:
+ Đối với CSDL được coi là một đối tượng tài nguyên, một Table trong CSDL cũng là một đối tượng tài nguyên, một bản ghi cũng là một đối tượng tài nguyên thậm chí đến từng trường trong bản ghi đó cũng có thể xem là một tài nguyên cần quản trị. Tùy theo tính chất của dữ liệu mà chúng ta can thiệp vào CSDL đến mức nào.
+ Đối với dữ liệu dạng file, sử dụng CSDL để mô tả và đường dẫn cụ thể đến các file đó, còn trực tiếp quản lý file lại là hệ điều hành. Hệ điều hành cho phép ai vào thư mục nào, cho phép ai nhìn thấy file nào, được sửa file nào… Do vậy khi xây dựng hệ thống quản lý, phân cấp phân quyền các tài nguyên ở dạng file cần phải kết hợp giữa cơ chế phân cấp, phân quyền của hệ thống với cơ chế phân cấp phân quyền của hệ điều hành máy chủ.
+ Toàn bộ dữ liệu của các hệ thống được lưu trữ tập trung tại Trung tâm mạng trên các máy chủ mạnh sẽ làm cho việc quản trị CSDL và kiểm soát CSDL trở nên dễ dàng hơn. Mặc dù vậy, để thuận tiện hơn trong việc quản lý, sẽ thực hiện phân cấp CSDL theo các đơn vị và các nhóm sử dụng. Các nhóm đơn vị và nhóm sử dụng sẽ được phân cấp quản lý cập nhật và khai thác vùng dữ liệu tương ứng với
các hệ thống thông tin hỗ trợ nghiệp vụ. Việc phân cấp, giao quyền vùng dữ liệu cho các đơn vị và các nhóm sử dụng sẽ được thực hiện thông qua các biện pháp kỹ thuật (gán quyền, phân vùng) và quy chế khai thác sử dụng.
+ Mỗi khi người dùng thực hiện một thao tác tác động lên dữ liệu thì hệ thống sẽ kiểm tra quyền sử dụng dữ liệu của người dùng xem có được phép hay không và nếu được phép thì ở mức độ nào (toàn quyền đối với dữ liệu, sửa ghi dữ liệu hay chỉ đọc dữ liệu).
Việc bảo mật mật khẩu và dữ liệu nhạy cảm được thực hiện mã hóa theo thuật toán mã hóa một chiều nhằm đảm bảo trao quyền thay đổi mật khẩu cho người dùng để chủ động bảo vệ quyền.
Ghi nhật ký sử dụng hệ thống để lưu lại các hoạt động sử dụng phần mềm cũng như các thao tác tác động vào cơ sở dữ liệu của người dùng. Việc ghi nhật ký sử dụng được thực hiện một cách tự động, ngoài ý muốn chủ quan của người dùng và khi có vấn đề xảy ra thì có thể truy vết người dùng.
4.2.3. Mô hình ứng dụng và CSDL
a. Mô hình xây dựng ứng dụng trên máy chủ ảo cài đặt Windows
Các hệ thống thông tin được xây dựng theo dự án sẽ dựa trên một trong các mô hình: client/server hoặc web. Tùy theo đặc thù của bài toán cụ thể để lựa chọn.
Mô hình client/server: Dữ liệu được lưu trữ tập trung và xử lý dữ liệu diễn ra trên Server gọi là Database Server. Người sử dụng khai thác cơ sở dữ liệu từ máy trạm sử dụng giao diện Client tương tác với cơ sở dữ liệu trên Server. Mô hình này có điểm mạnh là khả năng kết hợp được cả sức mạnh của máy chủ và cả tính thân thiện dễ sử dụng và dễ phát triển các ứng dụng trên máy trạm. Mô hình này được khuyến cáo sử dụng cho các hệ thông tin đòi hỏi nhiều xử lý tính toán nghiệp vụ, dữ liệu cập nhật phức tạp, đòi hỏi thao tác nhiều phím tắt, giao diện dễ sử dụng.
Application Application Phần mềm ứng dụng Client Server Application Application Phần mềm ứng dụng Client Application Application Phần mềm ứng dụng Client Database Hình 4.1. Mô hình ứng dụng client/server
Mô hình web: Trong mô hình này, dữ liệu cũng được lưu trữ và xử lý tập trung trên Server gọi là Database Server. Toàn bộ các yêu cầu và tương tác của người sử dụng diễn ra trên máy trạm, còn việc xử lý các yêu cầu đó diễn ra tại một chương trình được cài đặt trên một Server khác gọi là Web Server. Với các ứng dụng dựa trên Web, việc triển khai đơn giản hơn nhiều so với các ứng dụng thông thường, người sử dụng chỉ cần cài đặt một trình duyệt Web (Web Browser) trên bất kỳ máy tính nào cũng có sẵn khi cài đặt hệ điều hành Windows. Còn việc chạy ứng dụng nào thì chỉ việc đưa địa chỉ ứng dụng đó vào. Khả năng liên kết giữa các trang Web, giữa ứng dụng này với ứng dụng kia làm cho các ứng dụng Web trở nên mềm dẻo và linh hoạt hơn rất nhiều so với các ứng dụng thông thường. Công nghệ lập trình Web cho phép người lập trình xử lý tất cả các dạng dữ liệu một cách thuận lợi trong cùng một ứng dụng. Đặc biệt mô hình Web cho phép người dùng có thể truy cập được cơ sở dữ liệu trên máy chủ bất kỳ lúc nào và không phụ thuộc vào vị trí hay máy tính sử dụng, người dùng có thể ngồi tại bất cứ địa điểm nào và họ sử dụng một máy tính kết nối với máy chủ thông qua mạng là có thể truy cập vào máy chủ hệ thống nếu họ được cấp quyền truy cập. Mô hình này được khuyến cáo sử dụng cho các hệ thông tin không đòi hỏi nhiều xử lý tính toán nghiệp vụ, cấu trúc dữ liệu đơn giản, hệ thống hướng nhiều đến cung cấp trình bày thông tin, số lượng người
dùng cao, triển khai đơn giản. Web Browser Web Browser Ứng dụng Web Workstation Database Server Workstation Workstation Web Server Web Browser
Web Browser Web BrowserWeb Browser
Ứng dụng Web Ứng dụng Web Hình 4.2. Mô hình ứng dụng web b. Mô hình tổ chức CSDL
Các CSDL phục vụ công tác chỉ huy, điều hành, quản lý giáo dục đào tạo và nghiên cứu khoa học là phần quan trọng nhất của hệ thống mạng CNTT tại Trường SQ CH-KT Thông tin. Việc tổ chức hoạch định các CSDL này có ý nghĩa rất quan trọng trong việc quản trị, vận hành, cập nhật và khai thác dữ liệu. Xác định được mô hình tổ chức phù hợp sẽ góp phần quản trị, vận hành, cập nhật và khai thác dữ liệu đạt hiệu quả cao.
Các CSDL được thiết kế xây dựng trong hệ thống bao gồm: - CSDL người dùng tập trung.
- CSDL cổng thông tin điện tử.
- CSDL phục vụ chỉ huy, quản lý, điều hành. - CSDL phục vụ quản lý, điều hành huấn luyện.
- CSDL quản lý công tác NCKH. - CSDL phục vụ khảo thí.
- CSDL giao ban truyền hình.
Mỗi CSDL này tương ứng với một hệ thống thông tin chuyên biệt. Các CSDL được tổ chức theo mô hình tập trung tại Trung tâm mạng của Nhà trường, việc cập nhật khai thác sẽ theo mô hình phân tán trên các máy trạm tại các đơn vị sử dụng. Chúng được phân hoạch thành các vùng CSDL nhằm quản trị vận hành một cách dễ dàng, đảm bảo tính bảo mật, tránh được tình huống đổ vỡ toàn hệ thống, thuận lợi cho việc phân cấp phân quyền mà vẫn đảm bảo tính liên thông và khả năng tích hợp. CSDL cổng thông tin điện tử dự phòng CSDL phục vụ chỉ huy, quản lý, điều hành dự phòng CSDL phục vụ quản lý, điều hành huấn luyện dự phòng CSDL phục vụ khảo thí dự phòng CSDL quản lý công tác NCKH dự phòng CSDL giao ban truyền hình dự phòng CSDL cổng thông tin điện tử Các máy chủ CSDL chính Máy chủ CSDL dự phòng CSDL phục vụ chỉ huy, quản lý, điều hành CSDL phục vụ quản lý, điều hành huấn luyện CSDL phục vụ
khảo thí công tác NCKHCSDL quản lý CSDL giao ban truyền hình CSDL người dùng
tập trung
CSDL người dùng tập trung dự phòng
Hình 4.3. Tổ chức cơ sở dữ liệu tại Trung tâm mạng chính và dự phòng
Ngoài ra, các CSDL còn được thiết kế phương án dự phòng (backup) nhằm đảm bảo an toàn cho dữ liệu khi có sự cố xảy ra đối với các CSDL chính.
Trong mô hình triển khai ứng dụng thì:
- Toàn bộ CSDL và các dịch vụ hệ thống bao gồm DNS, DHCP, NAT, Clustering, Proxy Server, LDAP, FTP Server, Web Server, Mail Server, Multimedia Server, Database Server… được cài đặt tại các máy chủ trong Trung tâm mạng chính.
- Các phần mềm ứng dụng được cài đặt phân tán trên các máy trạm của các VLAN của Ban Giám hiệu, các phòng ban chức năng, các khoa giáo viên, các tiểu đoàn học viên, trung tâm chỉ huy và hội thảo khoa học, trung tâm điều hành huấn luyện, phòng học chuyên dụng…
- Các thiết bị mạng bao gồm Switch, Hub, cáp mạng sẽ thực hiện việc kết nối toàn mạng để truyền tải dữ liệu từ - đến các chủ và các máy trạm.
Database Server Mail Server Backup Server VLAN BGH & TTCHĐH Cài đặt các phần mềm ứng dụng
Các VLAN cơ quan, TTĐHHL Cài đặt các phần mềm ứng dụng Các VLAN khoa GV Cài đặt các phần mềm ứng dụng Các VLAN tiểu đoàn QLHV Cài đặt các phần mềm ứng dụng Trung tâm mạng chính Conferencing & Multimedia Server Web Server Primary Server (DNS, DHCP, Proxy, FTP, Clustering…) LDAP Server
Hình 4.4. Mô hình triển khai phần mềm
Yêu cầu chung máy chủ vật lý
- Hệ điều hành máy chủ: Opensuse 11.4 (x64).
- Hệ điều hành máy trạm: MS Windows 7 Professional. - Kết nối giữa NIC vật lý với NIC máy ảo: Bridged, Nat. - Kết nối giữa NIC máy ảo với NIC máy ảo: Host
- Tốc độ, Bộ nhớ, Ổ đĩa cứng... : Tùy theo nhu cầu ứng dụng phần mềm trong