a, Yêu cầu về tổ chức thông tin và dữ liệu
Hệ thống quản lý hóa đơn ngành điện cho phép tích hợp các ứng dụng và tổ chức nội dung theo nhiều cách khác nhau để đáp ứng các yêu cầu đa dạng của các nhóm ngƣời sử dụng.
Hệ thống quản lý hóa đơn ngành điện đáp ứng đƣợc các tính năng chuẩn của một phần mềm ứng dụng lớn nhƣ: Khả năng đáp ứng đƣợc dƣ thừa dữ liệu, khả năng chịu lỗi, khả năng cân bằng tải (chia luồng xử lý), khả năng sao lƣu.
Các ứng dụng cần đƣợc truy cập một lần (single sign-on). Tích hợp và cung cấp hệ thống đăng nhập một lần.
Quản lý ngƣời dùng thống nhất: Để đảm bảo quản lý thống nhất việc xác thực và phân quyền ngƣời dùng trong toàn bộ hệ thống, hệ thống đƣợc tích hợp, phân cấp trách nhiệm việc quản lý ngƣời dùng, đồng thời cung cấp tính năng đăng nhập một lần (single sign-on) cho toàn bộ hệ thống.
Bảo mật hệ thống: Application Server cung cấp một hệ thống an ninh tích hợp toàn diện hỗ trợ cho tất cả các thành phần của hệ thống thông tin, các dịch vụ trên cổng thông tin cũng nhƣ các ứng dụng của hãng thứ ba (third-party applications) chạy trên nó. Các dịch vụ an ninh của Application Server là nền tảng để đảm bảo an toàn cho môi trƣờng kết nối mạng và đa ngƣời dùng. Các dịch vụ này bao gồm:
53
lấy dữ liệu. Dịch vụ xác thực là điều kiện tiên quyết cho rất nhiều các dịch vụ an ninh khác bao gồm quản trị quyền truy cập, cấp phép và quản lý account.
- Authorization (cấp quyền): cho phép một hệ thống xác định quyền mà ngƣời dùng hoặc hệ thống khác có để truy xuất vào các tài nguyên của hệ thống đó.
- Access Control (quản lý quyền truy cập): đảm bảo rằng một hệ thống gán quyền truy xuất đến các tài nguyên tuân thủ đúng chính sách bảo mật đã đƣợc định nghĩa cho những tài nguyên này.
- Data Protection (bảo mật dữ liệu): bảo vệ những dữ liệu nhạy cảm trƣớc khả năng truy xuất của những ngƣời dùng không đủ thẩm quyền.
Mã hóa dữ liệu đƣờng truyền: Giao thức secure sockets layer (SSL) cho phép bảo mật đƣờng truyền mạng. SSL cung cấp khả năng xác thực, mã hóa và toàn vẹn dữ liệu trong một hệ thống PKI (public-key infrastructure). Phân quyền và hạn chế mức độ truy cập cho các lớp ngƣời sử dụng khác nhau.
- Hệ thống quản lý hóa đơn nghành điện cho phép định nghĩa không hạn chế các lớp ngƣời sử dụng khác nhau.
- Hệ thống phân quyền theo vai trò, đảm bảo mỗi lớp ngƣời dùng có các quyền hạn đủ để thực hiện công việc theo đúng chức năng của mình.
- Hệ thống có chức năng kiểm tra mật khẩu, xác nhận và cho phép thực hiện những quyền đã đƣợc định nghĩa trƣớc.
Có cơ chế phân tải (load distributor) và chịu lỗi (fail-over)
- Cung cấp cơ chế phân tải (load distributor) để tăng cƣờng hiệu năng xử lý của hệ thống bằng cách phân chia việc xử lý cho nhiều máy chủ khác nhau.
- Khi một máy chủ gặp sự cố hoặc cần ngƣng hoạt động để bảo trì, hệ thống sẽ tự động phát hiện và ngừng gửi yêu cầu đến máy đó, đồng thời phân tải đều trên các máy chủ còn lại. Điều đó đảm bảo cho hệ thống hoạt động ổn định.
Ghi nhật ký hệ thống: Hệ thống thông tin của Ngành điện ghi lại một số dạng nhật ký sau:
- Nhật ký truy cập (access log) ghi nhận các yêu cầu từ phía ngƣời dùng. - Nhật ký lỗi (error log) ghi nhận các thông tin lỗi và cảnh báo của hệ thống.
54
Có cơ chế sao lƣu và phục hồi dữ liệu: Hệ thống quản trị CSDL có cơ chế sao lƣu và phục hồi dữ liệu, Kết xuất toàn bộ database vào một file.
Xuất ngay đến chuyên mục mình cần thông qua liên kết trực tiếp trong Sitemap.
b. Yêu cầu về giao diện
Hệ thống giao diện phải đáp ứng đƣợc các yêu cầu sau:
- Hỗ trợ các hệ điều hành Windows, Unix, Linux và trình duyệt Netscape Navigator, Internet Explorer, FireFox.
- Hỗ trợ điều hƣớng rõ ràng
- Sử dụng các biểu tƣợng (icons) một cách thống nhất, rõ ràng
Hình 3.2: Yêu cầu về siêu liên kết
Không phụ thuộc vào công nghệ của trình duyệt và không bắt buộc phải dùng các chƣơng trình nhúng khác để đảm bảo đa số ngƣời sử dụng với các trình duyệt thông thƣờng có thể duyệt web.
55
3.3.2Phân tích các yêu cầu chức năng của hệ thống
a. Sơ đồ kiến trúc tổng thể
Hình 3.3: Sơ đồ thiết kế tổng thể
- Tại mỗi tỉnh đều có database riêng phục vụ nghiệp vụ từng tỉnh đó. Các dữ liệu về hóa đơn đƣợc đồng bộ với cơ sở dữ liệu ngành.
- Dữ liệu về hóa đơn đặt tại kho dữ liệu ngành là dữ liệu chỉ đọc, phục vụ cho các ứng dụng báo cáo, hệ thống dịch vụ công, các services nối với cơ quan thuế. Các dữ liệu về hóa đơn đƣợc tự động đồng bộ với dữ liệu tại các tỉnh.
- Trong cơ sở dữ liệu ngành có indexer database dùng đề điều hƣớng các câu truy vấn đến kho dữ liệu về hóa đơn điện tử
- Máy chủ ứng dụng sẽ bao gồm rất nhiều ứng dụng dựa trên database phân tán. Tùy vào các nghiệp vụ, lựa chọn công nghệ của các ứng dụng này có thể khác nhau, đáp ứng tốt nhất đặc thù từng ứng dụng đó, Bao gồm các module chính sau:
+ Dịch vụ công: đây là dịch vụ cho công dân tiếp cận, theo dõi, quản lý hóa đơn, xác thực hóa đơn điện tử.
Readonly database Indexer DB Dịch vụ công Các services Hệ thống báo cáo Hệ thống kí số Hệ thống quản trị Hệ nhập liệu Cơ sở dữ liệu ngành Application server
Cơ sở dữ liệu tại các tỉnh
56
+ Các services: Cung cấp các services để xác thực hóa đơn cho cơ quan thuế, giúp tự động xác thực hóa đơn với số lƣợng lớn
+ Hệ thống báo cáo: Xuất hóa đơn, xuất báo cáo tình hình tiêu thụ điện năng theo tháng, năm tại các tỉnh cũng nhƣ toàn quốc
+ Hệ thống kí số: Do số lƣợng hóa đơn đƣợc lƣu trữ vô cùng lớn, cần có một hệ thống kí số có tốc độ cao. Có thể dùng máy kí chuyên biệt phục vụ ứng dụng này.
+ Hệ thống quản lý: Quản lý các nhóm tài khoản, phân quyền sử dụng, quản trị dữ liệu khách hàng
+ Hệ thống nhập liệu: Hệ thống này cho phép kết nối với các hệ thống thu thập dữ liệu công tơ, cho import dữ liệu chỉ số công tơ nhanh chóng, thuận tiện, chính xác.
b. Cấu trúc dữ liệu của một hóa đơn
- Với đặc thù hóa đơn phải đƣợc trao đổi giữa các hệ thống khác nhau, các hệ thống có thể đọc đƣợc thông tin có cấu trúc của hóa đơn. Do đó, phải dùng một chuẩn định dạng mở để lƣu dữ liệu này
- XML là một định dạng mở rất phổ biến, có thể đƣợc trao đổi qua môi trƣờng mạng, đảm bảo các hệ thống đều đọc đƣợc các trƣờng thông tin trong đó
- Một file hóa đơn sẽ gồm 2 phần:
+ Phần 1 là các thông tin về dữ liệu có cấu trúc, lƣu trữ toàn bộ các thông tin có trên một hóa đơn
+ Phần 2 là chữ kí số đƣợc kí lên các thông tin của hóa đơn với Private key của chính hệ thống quản lý hóa đơn tiền điện. Chữ kí này đảm bảo hóa đơn do chính cơ quan điện lực cung cấp và đảm bảo tính an toàn đối với các thông tin đƣợc lƣu trữ trên hóa đơn.
57
Hình 3.4: Cấu trúc XML của hóa đơn điện tử c. Các tác nhân tham gia sử dụng hệ thống
STT Tên tác nhân Vai trò
1 Công dân Ngƣời dân sử dụng dịch vụ công trên hệ thống 2 Cán bộ nhập liệu Cán bộ của cơ quan điện lực, có vai trò Import hoặc
nhập dữ liệu về hóa đơn, khách
3 Quản trị hệ thống Có vai trò quản trị thông tin, quản trị ngƣời dùng, cấp quyền, thu hồi quyền đối với ngƣời dùng
4 Quản lí báo cáo Tổng hợp, xuất báo cáo về tình hình sử dụng điện trên hệ thống
5 Hệ thống khác
Hệ thống của cơ quan thuế, hệ thống thu thập dữ liệu, hệ thống kí số ….Giao tiếp với hệ thống qua các services
58
Biểu đồ tác nhân
Hình 3.5: Biểu đồ Actor d. Ca sử dụng (Use case) và biểu đồ ca sử dụng Danh sách các ca sử dụng
STT Tên Use case Mô tả
1 Đăng nhập Đăng nhập vào hệ thống
2 Đăng xuất Thoát khỏi hệ thống, xóa các secssion, cookies 3 Xuất hóa đơn theo tháng Xuất hóa đơn theo tháng của khách hàng theo
chỉ số công tơ
4 Xác thực hóa đơn Xác thực hóa đơn điện tử trên hệ thống
5 Download hóa đơn điện tử Cho phép download hóa đơn điện tử sau khi đã kí với chữ kí của điện lực
6 Gửi hóa đơn điện tử cho khách hang
Gửi hóa đơn cho khách hàng qua email sau khi đã kí số
7 Services xác thực hóa đơn Services xác thực hóa đơn cho cơ quan thuế 8 Import dữ liệu Import dữ liệu chỉ số công tơ từ file hoặc từ hệ
59
tơ công tơ tự động, hệ thống cho phép cán bộ điện
lực nhập dữ liệu chỉ số công tơ bằng tay 10 Quản lý thông tin khách
hang
Cán bộ quản trị nội dung quản lý thông tin khách hàng,
11 Sinh mã số khách hàng Hệ thống tự động sinh mã số cho khách hàng khi thêm khách hàng vào hệ thống
12 Sinh số hóa đơn Sinh số hóa đơn điện tử
13 Kí điện tử lên hóa đơn Thực hiện kí điện tử trƣớc khi xuất hóa đơn cho khách hàng
14 Quản lý ngƣời dung Quản lý ngƣời dùng trên hệ thống
15 Phân quyền sử dụng Phân quyền sử dụng cho các nhóm ngƣời dùng trên hệ thống
16 Tạo nhóm ngƣời dùng Tạo nhóm ngƣời sử dụng trên hệ thống
17 Xuất báo cáo Xuất báo cáo tình hình sử dụng điện trên cả nƣớc, từng tỉnh theo tháng, năm
Bảng 3.2: Danh sách các ca sử dụng
Biểu đồ Use case
60
e. Biểu đồ trình tự và biểu đố hoạt động các ca sử dụng 1. UC Download hóa đơn điện tử
- Actor: Khách hàng, cán bộ điện lực
- Điều kiện trƣớc: Ngƣời dùng đang ở trang xem danh sách các hóa đơn. Hóa đơn này ở trạng thái đã đƣợc kí điện tử
- Actor liên quan: Hệ thống - Biểu đồ trình tự
Hình 3.7: Biểu đồ trình tự ca sử dụng download hóa đơn điện tử
- Lớp xử lý giao diện gửi yêu cầu download hóa đơn điện tử
- Dựa vào yêu cầu này, hệ thống đánh chỉ mục tìm hóa đơn theo mã để xác định hóa đơn này đang ở database nào
- Hệ thống tự động sinh ra một truy vấn đến database có mã số hóa đơn đó - Trả về dữ liệu hóa đơn điện tử theo dạng XML
61
2. UC xác thực hóa đơn
- Actor: Ngƣời dùng bất kì - Điều kiện trƣớc: Không có - Actor liên quan: Hệ thống - Biểu đồ trình tự:
Hình 3.8: Biểu đồ trình tự ca sử dụng xác thực hóa đơn
- Ngƣời dùng thực hiện upload dữ liệu hóa đơn điện tử lên hệ thống để thực hiện xác thực hóa đơn
- Bộ Paser của hệ thống thực hiện tách phần data và phần chữ kí và gửi vào hệ thống xác thực
- Hệ thống xác thực đƣợc cung cấp khóa công khai của hệ thống đã thực hiện việc kí lên hóa đơn đó. Sau khi thực hiện xác thực sẽ trả về thông tin hóa đơn có bị thay đổi nội dung và đúng là do hệ thống sinh và quản lý hóa đơn điện tử cung cấp hay không.
62
3. UC kí điện tử lên hóa đơn
Tên UC Kí điện tử lên hóa đơn
Mô tả UC
Để các hóa đơn có ý nghĩa, hệ thống cần kí lên các hóa đơn này. Sau khi hóa đơn có đầy đủ các thông tin, hệ thống sẽ chuyển các thông tin này đến máy kí số chuyên dụng. Máy thực hiện kí và trả về chữ kí số, hệ thống lưu 2 khối dữ liệu này thành dạng XML và lưu vào trường dữ liệu phi cấu trúc của bảng hóa đơn
Actor kích hoạt Cán bộ điện lực
Actor liên quan HeThong
UC khởi động UC liên quan
Luồng sự kiện chính
1 Cán bộ chọn chức năng kí lên một danh sách các hóa đơn đã được lập
2 Hệ thống tổng hợp các trường dữ liệu thành một mảng byte
3 Gửi mảng byte đó vào máy kí số chuyên dụng
4 Máy kí số sinh ra chữ kí và trả về cho hệ thống
5 Hệ thống tổng hợp các dữ liệu vào một file XML
6 Lưu dữ liệu XML vào trường dữ liệu hóa đơn phi cấu trúc trong database
Luồng sự kiện thay thế
A1 Báo lỗi khi quá trình kí không thành công
63
Biểu đồ hoạt động
64
4. UC import dữ liệu
Tên UC Import dữ liệu
Mô tả UC Import dữ liệu từ file do hệ thống đọc số công tơ thu thập được
Actor kích hoạt Cán bộ điện lực
Actor liên quan HeThong
UC khởi động UC liên quan
Luồng sự kiện chính
1 Cán bộ chọn chức năng import dữ liệu. upload các file về chỉ số công tơ
lên hệ thống
2 Hệ thống thực hiện đọc file, phân tích các dữ liệu
3 Insert dữ liệu vào database
4 Đặt trạng thái hóa đơn là chờ kí
5 6
Luồng sự kiện thay thế
A1 Báo lỗi khi quá trình import không thành công
Bảng 3.4:Mô tả biểu đồ hoạt động UC Import dữ liệu 3.4. Thiết kế mô hình dữ liệu
- Dân số Cộng hòa dân chủ nhân dân Lào ƣớc tính có 6.7 triệu dân. Nhƣ vậy, lƣợng hóa đơn tiền điện tính theo tháng sẽ lên tới con số khổng lồ trong một vài năm sử dụng. Do đó, cần phải phân tán dữ liệu thành các database nhỏ hơn để thực hiện lƣu trữ, cập nhật và truy vấn dữ liệu một cách nhanh nhất
- Mô hình đƣa ra là mỗi tỉnh sẽ có một dữ liệu hóa đơn điện tử riêng cho tỉnh đó. Do vậy sẽ giảm đƣợc đáng kể số hóa đơn trên một database. Do các thao tác truy vấn để xuất báo cáo là rất quan trọng và thƣờng xẩy ra trên hệ thống, do đó, cần có một hệ thống các database làm thao tác chỉ đọc. Khi cần query dữ liệu, sẽ chỉ
65
- Khi một câu truy vấn đến, với tham số vào là mã hóa đơn, do ta không biết mã hóa đơn đó năm trong database của tỉnh nào. Nhƣ vậy ta sẽ xây dựng một database chỉ mục. Cần lựa chọn công nghệ phù hợp cho db này, thông thƣờng sẽ dùng lusen server làm db chỉ mục. Từ đó sẽ biết cần query đến db của tỉnh nào để đƣợc hóa đơn cần tìm
Hình 3.10: Mô hình logic phân tán
Mô hình liên kết các bảng trong hệ thống
a.Cho chức năng quản lý hệ thống và phân quyền người sử dụng
Hình 3.11: Mô hình thực thể dữ liệu
Readonly database
Indexer DB Cơ sở dữ liệu ngành
Cơ sở dữ liệu tại các tỉnh
66
b.Bảng hóa đơn
Hình 3.12: Mô hình trường dữ liệu bảng Hóa đơn c. Bảng chỉ mục hóa đơn
Hình 3.13: Bảng chỉ mục hóa đơn
3.5. Xây dựng ứng dụng và đánh giá hiệu năng
3.5.1. Lựa chọn các công nghệ
67
độ Replication, tự động đồng bộ theo một chiều từ db của các tỉnh lên cơ sở dữ liệu nghành
- Dabase indexer: sử dụng Lucene 3.4.0. Đây là db chuyên dùng để đánh chỉ mục, có thể chịu đựng hàng tỉ record
Hình 3.14: Indexer database proccess
- Kí số: Do số lƣợng hóa đơn vô cùng lớn, kí điện tử là một thuật toán rất tốn