Tải bản đầy đủ (.pdf) (107 trang)

Xây dựng phần mềm tra cứu cho dịch vụ 1080

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.43 MB, 107 trang )

I
VIỄN THÔNG HÀ NỘI
CÔNG TY DỊCH VỤ VIỄN THÔNG HÀ NÔI
*****




ĐỀ TÀI


XÂY DỰNG PHẦN MỀM TRA CỨ
U CHO
DỊCH VỤ 1080


Mã số : VNPT HNI – 2010 - 03






Đơn vị thực hiện: Công ty Dịch vụ Viễn thông Hà Nội – VNPT HN
Chủ trì đề tài: Trần Mạnh Cường





HÀ NỘI - 2013



II
MỤC LỤC
Trang
DANH MỤC CÁC KÝ HIỆU VÀ THUẬT NGỮ VIẾT TẮT IV
DANH MỤC CÁC HÌNH VẼ VI
DANH MỤC CÁC BẢNG VII
MỞ ĐẦU 1
Chương 1. GIỚI THIỆU HỆ THỐNG 1080 CŨ VÀ LỰA CHỌN CÔNG NGHỆ THIẾT KẾ
HỆ THỐNG MỚI 3
1.1. Mô hình khai thác dịch vụ 1080 hiện tại 3
1.1.1. Mô hình kết nối mạng 3
1.1.2. Các chuyên mục dữ liệu của hệ thống 1080 4
1.1.3. Chương trình tra cứu 8
1.2. Lựa chọn công nghệ và thiết kế cơ sở dữ liệu mới cho hệ thống 1080 9
1.2.1. Sự cần thiết của việc thiết kế hệ thống mới tra cứu mới cho dịch vụ 1080 9
1.2.2. Thiết kế hệ thống tra cứu mới cho dịch vụ 1080 10
1.2.3. Tổng quan về Cơ sở dữ liệu MySQL 12
1.2.4. Tổng quan về hệ điều hành Solaris 14
1.2.5. Giới thiệu về ngôn ngữ Java 16
1.3. Kết luận 17
Chương 2. THIẾT KẾ CƠ SỞ DỮ LIỆU HỆ THỐNG TRA CỨU 1080 18
2.1. Phân tích yêu cầu nghiệp vụ 18
2.1.1. Mô hình nghiệp vụ 18
2.1.2. Nghiệp vụ tra cứu 19
2.1.3. Nghiệp vụ biên tập dữ liệu 19
2.1.4. Nghiệp vụ thống kê 19
2.1.5. Nghiệp vụ đào tạo 20
2.1.6. Nghiệp vụ vận hành hệ thống 20
2.2. Thiết kế hệ thống cơ sở dữ liệu 20

2.2.1. Các bảng dữ liệu phục vụ quản lý 20
2.2.2. Các bảng dữ liệu phục vụ thống kê 22
2.2.3. Các bảng dữ liệu của các chuyên mục 24
2.3. Kết luận 24
Chương 3. XÂY DỰNG HỆ THỐNG WEB SERVICE 25
3.1. Tổng quan về web service 25
3.1.1. Khái niệm 25
3.1.2. Đặc điểm của web service 25
3.1.3. Ưu điểm của web service 26
3.1.4. Nhược điểm của web service 26
3.1.5. Kiến trúc của web service 27
3.2. Xây dựng Web service TransportData 28
III
3.2.1. Các bước xây dựng một web service với JAX-WS 28
3.2.2. Triển khai web service TransportData vào Web server Tomcat 32
3.3. Kết luận 35
Chương 4. XÂY DỰNG CHƯƠNG TRÌNH CLIENT1080 36
4.1. Các vấn đề về bảo mật 36
4.1.1. Mã hóa TripleDES (3DES) 36
4.1.2. Giới thiệu về .NET Framework 37
4.1.3. Xây dựng DLL TransportData trao đổi dữ liệu giữa Client và Server 38
4.1.4. Xây dựng chương trình Client1080 40
4.2. Một số giao diện của chương trình 43
4.2.1. Các chức năng khai báo, cấu hình, chuyển đổi dữ liệu 43
4.2.2. Chuyển đổi dữ liệu Foxpro sang MySQL 50
4.2.3. Chức năng của điện thoại viên tra cứu 52
4.2.4. Các chức năng khác 57
4.3. Giao diện cập nhật cho biên tập 63
4.3.1. Giới thiệu chung 63
4.3.2. Giới thiệu về JavaBeans 63

4.3.3. Xây dựng JavaBeans cho web cập nhật dữ liệu 64
4.3.4. Giới thiệu FCKEditor 64
4.3.5. Giao diện đăng nhập, khai báo ngôn ngữ, menu 65
4.3.6. Giao diện biên tập dữ liệu 66
4.3.7. Xem log biên tập dữ liệu 72
4.4. Kết luận 73
ĐÁNH GIÁ VÀ KẾT LUẬN 74
PHỤ LỤC 1: CÁC HÀM CỦA WEB SERVICE TRANSPORTDATA 75
PHỤ LỤC 2: CÁC HÀM KHI TRIỂN KHAI CHƯƠNG TRÌNH CLIENT1080 83

















IV


DANH MỤC CÁC KÝ HIỆU VÀ THUẬT NGỮ VIẾT TẮT

Authentication: chứng thực
Bandwidth: băng thông, chỉ khả năng truyền dữ liệu qua Internet, bao nhiêu mega bit
trên giây
DoS (Denial of Service): tấn công từ chối phục vụ, khi host server bị tấn công dồn dập
bởi các lệnh, làm tràn khả năng xử lý nên tạm ngưng hoạt động làm cho website bị
ngưng hoạt động trong thời gian đó
Digital Signature: chữ ký điện tử, là một dãy ký tự được mã hóa có tác dụng chứng
thực
Directory: danh bạ, như danh bạ website (web directory)
Domain: tên miền của website, ví dụ www.abc.com
Download: tải file về máy tính người dùng
FTP (File Transfer Protocol): giao thức truyền file
Firewall: bức tường lửa, có thể là phần cứng, có thể là phần mềm
Form: mẫu biểu
Freeware: những phần mềm miễn phí
Gbps: Giga Bit trên giây
Hacker: kẻ tấn công trên mạng
HTML (Hyper Text Mark-up Language): ngôn ngữ siêu văn bản, là ngôn ngữ cơ bản
nhất để tạo các trang web
HTTP (Hyper-Text Transfer Protocol): giao thức truyền siêu văn bản, là giao thức
truyền dữ liệu chính trong WWW
Hyperlink, hay link: siêu liên kết, dùng trong Web
ID (Identification): thông số nhận dạng
IT (Information Technology): công nghệ thông tin
Integrity: tính toàn vẹn (trong thông tin, đảm bảo thông tin không bị thay đổi)
V
Internet: mạng toàn cầu
IP (Internetworking Protocol): giao thức liên mạng
Kbps: Kilo Bit trên giây
LAN (Local Area Network): mạng nội bộ trong phạm vi gần

Mbps: Mega Bit trên giây
Network: mạng
Open-source Code: mã nguồn mở
OS (Operating System): hệ điều hành
Protocol: giao thức, cách thức thông tin, truyền dữ liệu
Real time: thời gian thực, công nghệ xử lý dữ liệu và thực thi chương trình ngay lập
tức, không phải chờ đợi
Search engine: bộ tìm kiếm
TCP/IP (Transmission Control Protocol/Internetworking Protocol): giao thức đang
được dùng để truyền dữ liệu trong Internet hiện nay
Third party: bên thứ ba, chỉ các nhà cung cấp dịch vụ xử lý thanh toán qua mạng khi
từ này được dùng trong chủ đề thanh toán qua mạng
Trojan: virus Trojan, làm gián điệp theo dõi hành vi của người sử dụng máy tính bị
nhiễm virus này
URL (Uniform/Universal Resource Locator): địa chỉ web, ví dụ
www.abc.com/xyz.html
Upload: tải thông tin từ máy tính cá nhân lên máy chủ hay lên mạng
Virus: chương trình máy tính có thể tự nhân bản và lây lan sang các máy tính khác
thông qua các file bị nhiễm
Worm: sâu máy tính, có thể tự lây lan trong mạng nội bộ, trên Internet






VI
DANH MỤC CÁC HÌNH VẼ
Hình 1.1 Kết nối mạng 1080 hiện tại 3
Hình 1.2 Kết nối mạng theo mô hình 3 lớp 10

Hình 1.3 Các thành phần trong MySQL Cluster 14
Hình 2.1 Mô hình nghiệp vụ dịch vụ 1080 18
Hình 3.1 Sơ đồ kiến trúc web service 27
Hình 3.2 Môi trường phát triển web service TransportData 29
Hình 3.3 Cửa sổ đăng nhập hệ thống quản trị của Server web Tomcat 33
Hình 3.4 Cửa sổ Deploy ứng dụng TransportData 34
Hình 3.5 Cửa sổ sau khi đã deploy thành công TransportData 34
Hình 4.1 Mô tả 3DES 37
Hình 4.2 Cửa sổ Add web reference 38
Hình 4.3 Môi trường lập trình TransportData 39
Hình 4.4 Môi trường lập trình Client1080 41
Hình 4.5 Các vùng giao diện của cửa sổ tra cứu 42
Hình 4.6 Cửa sổ đăng nhập vào chương trình 43
Hình 4.7 Cửa sổ khai báo menu cấp 1 44
Hình 4.8 Cửa sổ khai báo menu cấp 2 45
Hình 4.9 Cửa sổ khai báo menu cấp 3 45
Hình 4.10 Cửa sổ gán menu vào bảng dữ liệu 46
Hình 4.11 Cửa sổ cấu hình bảng dữ liệu 47
Hình 4.12 Cửa sổ chuyển dữ liệu từ Excel vào MySQL 48
Hình 4.13 Cửa sổ đổi thứ tự quảng cáo cho các chuyên mục 49
Hình 4.14 Cập nhật số liệu cho chuyên mục xe buýt 49
Hình 4.15 Cửa sổ chuyển dữ liệu fox vào MySQL 50
Hình 4.16 Kết quả convert dữ liệu text trong foxpro sang MySQL 51
Hình 4.17 Kết quả convert dữ liệu bảng trên foxpro sang MySQL 52
Hình 4.18 Cửa sổ tra cứu 53
Hình 4.19 Cửa sổ tra cứu danh bạ thông thường 54
Hình 4.20 Tìm kiếm thay thế xyz* 55
Hình 4.21 Lọc lần 2 kết quả tra cứu 56
Hình 4.22 Hiển thị chi tiết bài viết qua web browser nhúng trong chương trình 57
Hình 4.23 Cửa sổ tra cứu tìm đường dựa trên Google maps 58

Hình 4.24 Cửa sổ SMS nhắn tin kết quả tra cứu cho Khách hàng 59
Hình 4.25 Dữ liệu log tra cứu được lưu lại trong CSDL 60
Hình 4.26 Cập nhật thông tin hẹn khám 61
Hình 4.27 Tra cứu thông tin đóng bảo hiểm xã hội 62
Hình 4.28 Cửa sổ đăng nhập vào web site 65
Hình 4.29 Cửa sổ cập nhật ngôn ngữ 66
Hình 4.30 Cửa sổ cập nhật tin của biên tập viên 67
Hình 4.31 Thanh công cụ của FCKEditor 68
Hình 4.32 Cửa sổ tìm kiếm tin cần sửa, xóa 72
Hình 4.33 Cửa sổ xem log 73
VII


DANH MỤC CÁC BẢNG

Bảng 1.1 Bảng thống kê các chuyên mục của cơ sở dữ liệu 108 hiện tại 7




























- 1 -
MỞ ĐẦU
Công ty Dịch vụ Viễn thông Hà Nội là đơn vị trực thuộc Viễn thông Hà Nội,
trực tiếp làm nhiệm vụ quản lý, khai thác dịch vụ giải đáp thông tin 1080.
Dịch vụ giải đáp thông tin 1080 sử dụng cơ sở dữ liệu Foxpro for DOS,
chương trình tra cứu cũng được xây dựng bằng ngôn ngữ lập trình Foxpro. Do đó
khi bảng dữ liệu nhiều thì việc tra cứu trên nền foxpro rất chậm, ảnh hưởng đến
hiệu suất làm việc của Điện thoại viên.
Năm 2009 Công ty DV VTHN cũng đã đăng ký và bảo vệ đề tài “Xây dựng
cơ sở dữ liệu mới cho dịch vụ 1080”. Mục đích của đề tài Xây dựng CSDL mới
cho dịch vụ 1080 là tìm hiểu các hệ thống CSDL hiện đại (như Oracle, MySQL,
SQL Server, ) để chọn ra CSDL phù hợp với dịch vụ và thiết kế các bảng biểu,
công cụ biên tập dữ liệu cho phù hợp với CSDL mới.
Để phát triển tiếp đề tài năm 2009, cũng như hoàn thiện hệ thống phần mềm
để cung cấp dịch vụ 1080. Đồng thời khắc phục các nhược điểm của CSDL Foxpro,
nhóm đề tài đã nghiên cứu các ngôn ngữ lập trình thông dụng hiện nay như : Java,
bộ công cụ lập trình Microsoft Visual Studio và đề tài “Xây dựng phần mềm tra

cứu cho dịch vụ 1080” là sự phát triển tiếp theo của đề tài “Xây dựng cơ sở dữ liệu
mới cho dịch vụ 1080” nhằm xây dựng phần mềm tra cứu 1080 dựa trên hệ thống
CDL mới.
Với định hướng như trên, nhóm thực hiện đề tài đã đề nghị và được phê
duyệt đề cương nghiên cứu với mục tiêu sau: Xây dựng phần mềm tra cứu cho dịch
vụ 1080, đảm bảo tra cứu nhanh, ổn định. Sản phẩm được ứng dụng tại Công ty
Dịch vụ Viễn thông Hà Nội.
Đề tài bao gồm các mục nội dung như sau:
Chương 1: GIỚI THIỆU HỆ THỐNG 1080 CŨ VÀ LỰA CHỌN CÔNG
NGHỆ THIẾT KẾ HỆ THỐNG MỚI. Trong chương này sẽ tìm hiểu cấu trúc
chương trình foxpro cũ của dịch vụ. Đồng thời cũng làm rõ những hạn chế của hệ
- 2 -
thống cũ và nhu cầu cần thiết để xây dựng chương trình tra cứu mới 1080. Việc lựa
chọn công nghệ, giải pháp cho việc triển khai hệ thống mới.
Chương 2: THIẾT KẾ CƠ SỞ DỮ LIỆU HỆ THỐNG TRA CỨU 1080.
Phân tích các yêu cầu nghiệp vụ của hệ thống tra cứu từ đó thiết kế các bảng dữ liệu
phù hợp. Với mục tiêu đảm bảo thuận tiện khi thêm bớt chuyên mục nhưng không
cần lập trình lại.
Tiếp theo Chương 3: XÂY DỰNG HỆ THỐNG WEB SERVICE. Sử dụng
các công nghệ web service, nền tảng JAX-WS của Sun, để xây dựng web service
cài đặt trên máy chủ dịch vụ (Application Server). Đây là module có nhiệm vụ giao
tiếp với CSDL, thực thi các yêu cầu từ Client và trả kết quả về cho Client.
Chương 4 : XÂY DỰNG PHẦN MỀM CLIENT 1080 Trong chương này
tập trung nghiên cứu nền tảng Microsoft .NET, từ đó ứng dụng xây dựng phần mềm
tra cứu 1080 mới (Client1080), tương tác với web service trên máy chủ.
Chúng tôi xin chân thành cảm ơn Lãnh đạo Viễn thông Hà Nội, Phòng Mạng
& Dịch vụ cùng các đơn vị liên quan đã hết sức giúp đỡ tạo điều kiện để chúng tôi
hoàn thành đề tài này.














- 3 -
Chương 1. GIỚI THIỆU HỆ THỐNG 1080 CŨ VÀ LỰA CHỌN
CÔNG NGHỆ THIẾT KẾ HỆ THỐNG MỚI

Hiện nay việc tra cứu thông tin của dịch vụ 1080 vẫn sử dụng hệ thống chương
trình viết bằng ngôn ngữ Foxpro, chạy trên nền DOS. Để chuyển đổi dần dữ liệu
cũng như chương trình tra cứu chạy trên nền Window, năm 2009 Công ty DV
VTHN thực hiện đề tài “Xây dựng cơ sở dữ liệu mới cho dịch vụ 1080”. Đề tài đã
tập trung phân tích cấu trúc của hệ thống CSDL foxpro cũ, từ đó xây dựng hệ thống
CSDL mới sử dụng MySQL, đồng thời xây dựng hệ thống web để biên tập nội dung
cho các chuyên mục.
Trong chương này sẽ tập trung làm rõ thêm về hệ thống chương trình tra cứu
foxpro hiện tại, các tồn tại cần khắc phục trong quá trình khai thác từ đó lựa chọn
công nghệ sử dụng cho việc thiết kế hệ thống mới.

1.1. Mô hình khai thác dịch vụ 1080 hiện tại
1.1.1. Mô hình kết nối mạng
Hiện tại Trung tâm kinh doanh 1 – Đơn vị trực thuộc Công ty DV VTHN trực
tiếp quản lý dịch vụ 1080 hiện đang quản lý khoảng 60 bàn khai thác. Trong đó 15

bàn là của các Công ty khác có liên kết cùng khai thác dịch vụ 1080 với Công ty
Dịch vụ Viễn thông Hà Nội.

Hình 1.1 Kết nối mạng 1080 hiện tại
- 4 -
Máy chủ sử dụng hệ điều hành Sun Solaris với dịch vụ chia sẻ file SAMBA,
các máy trạm và máy chủ kết nối với nhau thông qua các Switch tốc độ
10/100Mbps bằng cáp mạng UTP CAT 5.
Mô hình này hoạt động hiệu quả trên môi trường mạng LAN dựa trên các kết
nối tốc độ cao.
1.1.2. Các chuyên mục dữ liệu của hệ thống 1080
STT

MỤC
TIN LỚN
MỤC TIN NHỎ
LƯỢNG
FILE
1 DANH BẠ 1- Đổi số Hà Nội
2- Mã vùng VN
3- Mã vùng QT
4- Cơ quan toàn quốc
5- Hà Nội
6- DB Doanh Nghiệp HàNội
7- DB Phụ
8- DB WEB
9- Danh bạ các tỉnh: TP HCM, Hải
Phòng, Đà Nẵng, Hà tây
2
1

1
1

25


2 BƯU ĐIỆN 1- Bưu chính trong nước
2- Viễn thông trong nước
3- Bưu chính QT
4- Viễn Thông QT
5- Các dịch vụ Viễn thông
6- Di động
7- Internet
8- Điểm giao dịch BC-VT
9- Giá báo
10-Sự kiện Bưu điện
11-Thuật ngữ Bưu điện
12-Sử dụng thiết bị Bưu điện
13-1900 - 8xxx
14-Thư viện bài hát - Rtunes
15-8014444 Truyện-Thơ
11
9
9
3
1
1
1
2
1

1
1
1
1
2
1
3
KINH TẾ
1. Chỉ số 1
- 5 -
2. Xuất nhập khẩu
3. GDP hàng năm
4. Tin công nghiệp

5. Tin nông nghiệp
6. Tin Đầu tư
7. Tin du lịch
8. Giá Vàng-Ngoại tệ (Lưu)
9. Giá điện – Nước - QC
10. Giá cả
11. Thị trường
12. Tiền tệ
13. Khuyến mại
14.Kinh tế tổng hợp
15.Tin Ngân hàng
16.Tin Chứng khóan
17. Điểm ATM
18. Điểm giao dịch Ngân hàng
1
1

1
1
1
1
1
1
1
1
1
1
1
1
1
1
4
DOANH
NGHIỆP
1. Cửa hàng
2. Khách sạn HN
3. Khách sạn toàn quốc
4. Món ngon HN
5. Cty TNHH – Cổ phần
6. Tiệm vàng
7. Đổi tên doanh nghiệp
8. VP Liên doanh
9.VPĐD tại HN
10. VPĐD tại TP.HCM
11. Đại diện VN tại NN
12. Tên viết tắt QT
13. Cty XK lao động

2
1
1
1
1
1
1
1
1
1
1
1
1
5
THỂ THAO
1. Vận động viên – Huấn luyệ
n viên
2. Môn thể thao - Luật
3. Câu lạc bộ – Đội tuyển
4. Kỷ lục
5. Sự kiện thể thao
6. Tin thể thao
1
1
1
1
1
1
- 6 -
7. Seagames

8. Olympic
9. World cup
1
1
1
6
VẬN TẢI
1.Lịch đường sắt
2.Xe buýt Hà Nội
3. Đường bộ
4. Sân bay
5. Hãng Hàng không
6. Lịch Hàng không
8. Tin Hàng không
9. Tin Đường sắt
10.Tin Đường bộ
11. Khoảng cách
12. Du lịch
13. Phương án chống ùn tắc
2
2
2
1
1
1
1
1
1
1
1


7
MỞ RỘNG
1.Địa lý Hành chính
2.Quốc gia
3. Tổ chức QT
4. Địa danh
5. Dân số-AIDS
7. Đơn vị đo lường
8. Kết quả Xổ số
9. Khái niệm
10. Tin thiên tai
11. Mực nước
12. Cụm từ Tiếng Anh
13. Giải đố - Ô chữ
14. Đảng - Đoàn - Đội
3
1
1


1
1
1
1
1
1
1
8
VĂN HÓA

XÃ HỘI
1.Sự kiện khác
2. Lễ hội
3. Sự kiện ngoại giao
4. Sự kiện Văn hóa
5. Kỷ lục – Chuyện lạ
6. Lịch sử VN
7. Giải trí
8. Giải trí-Phát thanh-TH
1
1
1
1
1
1
1
1
- 7 -
9. Tin triển lãm
10.Nhân sự
11. Nhân vật
12. Ca sỹ-Ban nhạc
13. Bài hát

14. Tác giả-Tác phẩm

15. Phát minh
16. Âm dương
2
2

2
1

1
3


9
PHÁP LUẬT
1. Thuế – Lệ phí
2. Thuế Nhập khẩu
3. Thuế Xuất khẩu
4. Thủ tục
E. Thủ tục về thuế, hóa đơn
5. Xuất cảnh – Nhập cảnh
6. Đăng ký xe
7. NĐ 152/2005
8. Văn bản PL mới
9. Tin nóng pháp luật
10. Luật Việt nam
11.Tin vụ án
12. Giấy phép đăng ký KD
13. Xử lý vi phạm NSVM
14. Bảo hiểm Xã hội
1
1
1
1
1
1

1
1
1
1
1
1
1
1
10
GIÁO DỤC
1. Danh sách các trường
2. Mã tuyển sinh
3. Tuyển sinh đào tạo ĐH-CĐ
4. Tuyển sinh đào tạo Phổ thông
5. Tuyển sinh đào tạo sau ĐH
6. Thông tin giáo dục
7. Ngành nghề đạo tạo
1
1
1
1
1
1
1
11
THÔNG TIN
NỘI BỘ
1- Nhân sự
2- Năng suất ĐTV
3 – Lưu lượng 1080

1
1
1
Bảng 1.1 Bảng thống kê các chuyên mục của cơ sở dữ liệu 108 hiện tại
- 8 -
Ưu điểm:
- Đơn giản, dễ sử dụng:
- Khi nhập dữ liệu chi cần mở file và nhập trực tiếp, không cần phần mềm.
- Thích hợp với các chương trình tìm kiếm đơn giản, ít dữ liệu, dễ lập trình
- Với máy chủ lưu trữ dữ liệu chỉ cần chạy hệ điều hành có khả năng chia sẻ
file (Novel Netware, Windows, Solaris, Linux …)
- Máy trạm chạy hệ điều hành DOS hoặc chạy DOS trên nền Window
- Hoạt động trên nhiều giao thức mạng:
. Netbeui
. IPX/SPX
. TCP/IP
Nhược điểm
- Không tích hợp được các loại dữ liệu đa phương tiện như hình ảnh, âm
thanh, phim
- Khả năng phân quyền và bảo vệ dữ liệu thấp.
- Dữ liệu được tổ chức kém, không thống nhất, có trùng lặp.
- Khó khăn trong việc xây dựng những ứng dụng phức tạp do chạy trên nền
Dos, màn hình hiển thị bị hạn chế.
- Giao diện không thân thiện, không có các biểu tượng do chạy trên môi
trường Dos.
- Không liên kết được thông tin giữa các file, gây khó khăn cho ĐTV (chức
năng link)
- Không phù hợp về font chữ chuẩn (Unicode), làm chậm tiến độ cập nhật của
các BTV đồng thời làm chậm tiến độ khi truy xuất thông tin dưới dạng văn
bản cho khách hàng

1.1.3. Chương trình tra cứu
Hệ thống chương trình tra cứu được xây dựng trên ngôn ngữ lập trình Foxpro,
việc truy xuất vào cơ sở dữ liệu thực ra là truy xuất trực tiếp vào file dữ liệu Foxpro
do đó nếu đường mạng tốc độ thấp thì việc truy xuất đến các file trên máy chủ sẽ
khó khăn.
Xây dựng thuật toán tìm kiếm toàn văn khó, thực ra mới chỉ là tìm kiếm gần
đúng (toán tử Like) do sự hạn chế của cơ sở dữ liệu.
Khi phát sinh thêm chuyên mục tra cứu mới, lập trình viên cần lập trình lại hệ
thống.

- 9 -

1.2. Lựa chọn công nghệ và thiết kế cơ sở dữ liệu mới cho hệ thống 1080
1.2.1. Sự cần thiết của việc thiết kế hệ thống mới tra cứu mới cho dịch vụ 1080
Dịch vụ 1080 Hà Nội ra đời năm 1993 và chưa lần nào thay đổi về phần mềm cơ
sở dữ liệu. Các số liệu được tính luỹ theo phương thức cũ và ngày càng nhiều gây
khó khăn cho người cập nhật cũng như sử dụng. Cụ thể:
- Các file số liệu đều dạng DBF, có hoặc không có trường Memo. Không có
hình ảnh minh hoạ
- Số lượng các file ngày càng nhiều theo yêu cầu của việc phân loại thông tin.
- Do không được liên kết với nhau nên các thông tin được cập nhật bị trùng
lặp, tăng dung lượng bộ nhớ
- Chức năng ‘search’ đơn giản nên để tra cứu được thông tin, đòi hỏi Điện
thoại viên phải mất thời gian phân tính, định vị file, làm tăng thời gian truy
xuất thông tin, ảnh hưởng đến chất lượng phục vụ.
- Việc đào tạo Điện thoại viên mới rất khó khăn. Thời gian đào tạo bị kéo dài
- Để nâng cao hiệu quả kinh doanh, việc outsourcing là tất yếu. Để triển khai
được outsourcing trên diện rộng, các đơn vị phối hợp có thể phân bố ở các
vùng miền khác nhau mà vẫn yêu cầu đảm bảo được tính bảo mật hệ thống
và độ an toàn của hệ thống, không thể duy trì việc sử dụng phần mềm

FoxPro hiện tại.
- Theo quy định mới về chuẩn font chữ, dữ liệu cần hỗ trợ Unicode
Tổ chức CSDL trên phần mềm mới sẽ khắc phục được những nhược điểm của
CSDL hiện tại, đặc biệt là khả năng bảo mật. Hỗ trợ nhiều định dạng dữ liệu bao
gồm cả hình ảnh, âm thanh, video. Đặc biệt tăng cường khả năng tìm kiếm thông tin
qua việc hỗ trợ các toán tử tìm kiếm logic.
Các toán tử tìm kiếm logic :
Dấu + biểu thị từ đó bắt buộc phải có trong kết quả tìm kiếm. Tuy nhiên các từ có
thể không liền nhau. VD : +Viễn +thông +Hà +Nội
- 10 -
Dấu – biểu thị kết quả tìm kiếm không có từ đó. VD : +Viễn +thông -Bưu -Điện
Dấu “” biểu thị kết quả từ kiếm chứa chính xác đoạn văn bản tìm kiếm. VD : “Viễn
thông Hà Nội”
Dấu * biểu thị từ tìm kiếm còn có thể chứa các ký tự khác. VD : Cityph*
1.2.2. Thiết kế hệ thống tra cứu mới cho dịch vụ 1080
Dữ liệu mới cần đáp ứng được khả năng lưu trữ nhiều loại định dạng dữ liệu :
văn bản, âm thanh, hình ảnh, phim. Hỗ trợ hoàn toàn Unicode, khả năng tìm kiếm
văn bản nhanh. Đồng thời có thể mở rộng phục vụ được mô hình khai thác theo diện
rộng. Do đó lựa chọn mô hình 3 lớp trong triển khai thiết kế hệ thống.
Các kiến trúc lập trình cũ theo mô hình 2 lớp Client-Server thường chỉ phù
hợp với hệ thống mạng LAN. Chương trình tại các máy trạm mở cổng, kết nối trực
tiếp vào cơ sở dữ liệu trên máy chủ, dữ liệu xác thực : user, password gửi đi không
mã hóa trên mạng nên dễ bị tấn công, lộ mật khẩu truy cập cơ sở dữ liệu.
Mô hình 3 lớp trong triển khai dịch vụ sẽ hạn chế các nhược điểm của kiến
trúc 2 lớp.

Hình 1.2 Kết nối mạng theo mô hình 3 lớp
- 11 -
Triển khai một ứng dụng nghiệp vụ theo mô hình 3 lớp sẽ đưọc phát triển theo 3 lớp
chức năng :

- Tầng thứ nhất hay còn gọi là tầng giao diện người dùng: tầng này gồm các lớp
điều khiển tương tác với người sử dụng, giao diện ở đây có thể là form hay web
form Tầng này có nhiệm vụ tạo các chức năng để người dùng nhập dữ liệu
hoặc kiết xuất dữ liệu từ nguồn thông tin.
- Tầng thứ 2 hay còn gọi là tầng nghiệp vụ (business) : tầng này bao gồm các lớp
quản lý dữ liệu, tiếp nhận dữ liệu từ tầng giao diện khi nhập hoặc gửi dữ liệu cho
lớp đó, thông thường nó có chức năng kiểm tra tình đúng đắn nghiệp vụ của dữ
liệu, ví dụ thông tin tra cứu thì định dạng thế nào là đúng. Sau khi xử lý dữ liệu,
nếu chấp nhận thì gửi xuống tầng thấp hơn.
- Tầng thứ 3 hay còn gọi là tầng quản lý cơ sở dữ liệu (data access) : tầng này bao
gồm các lớp điều khiển truy nhập CSDL.(các truy vấn, truy nhập file )
Một số ưu điểm của mô hình 3 lớp :
- Dễ thiết kế các ứng dụng, nhất là các ứng dụng cần triển khai trên diện rộng.
- Các tầng có thể được phát triển độc lập.
Khả năng sử dụng lại cao, ví dụ các lớp ở tầng thứ 3 hầu như giống nhau trên
một hệ quản trị CSDL nhất định.
Để đảm bảo tính ổn định, đồng nhất các công nghệ được lựa chọn cho việc phát
triển hệ thống tra cứu mới :
- Hệ điều hành máy chủ : Sử dụng Solaris 10, được cung cấp miễn phí bởi Sun
- Cơ sở dữ liệu : MySQL Server, được cung cấp miễn phí bởi Oracle
- Ngôn ngữ lập trình cho Application Server : Sử dụng Java và nền tảng JAX-WS
để triển khai Web service. Tất cả đều được cung cấp bởi Sun
- Chương trình Client1080 chạy tại máy trạm được triển khai bằng ngôn ngữ lập
trình VB.NET trong bộ Visual Studio .NET. Thuận tiện cho việc phát triển ứng
dụng cho các máy trạm chạy hệ điều hành Window 2000, XP, Window 7,
Window 8,
- 12 -
1.2.3. Tổng quan về Cơ sở dữ liệu MySQL
MySQL là một phần mềm quản trị CSDL mã nguồn mở được phát triển bởi
công ty MySQL AB. MySQL là hệ CSDL miễn phí nằm trong nhóm LAMP (Linux

- Apache -MySQL - PHP). Phiên bản đầu tiên được ra mắt vào tháng 5 năm 1995.
Đến nay, tháng 8 năm 2009 đã có phiên bản 5.1
Công ty MySQL AB được thành lập năm 1995, là công ty phát triển MySQL.
Đến tháng 2 năm 2008 MySQL AB đã được Sun MicroSystem mua lại.
MySQL là phần mềm miễn phí hoàn toàn, ổn định và an toàn.
Hiện nay trong thế giới máy chủ Web, có rất nhiều Website sử dụng liên minh
LAMP này.
"Liên minh" mã mở LAMP đang được coi là một đối trọng với các sản phẩm
mã đóng của Microsoft (Windows, IIS, SQL Server, ASP/ASP.NET).
Một số đặc điểm của MySQL
- Không phụ thuộc vào hệ điều hành, có thể chạy trên các hệ điều hành khác nhau
(Cross-Platform)
- Hỗ trợ tạo : thủ tục (Proceduce), hàm (Function), Trigger, Cursors, View
- Hỗ trợ Unicode, thông tin về cơ sở dữ liệu (INFORMATION_SCHEMA)
- Hỗ trợ nhiều cơ chế lưu trữ dữ liệu (Storage Engine) :
 MyISAM : dùng để tăng tốc đọc dữ liệu
 InnoDB : dùng cho dữ liệu có Transactions và SavePoint
 Merge : Dùng để nối nhiều bảng dữ liệu khác nhau lại
 Memory : Dữ liệu được lưu trên bộ nhớ, tăng khả năng truy xuất
 BDB : hỗ trợ Transactions
 FEDERATED : Hỗ trợ truy nhập đến bảng dữ liệu trên Remote Server
 ARCHIVE : Dùng để lưu trữ khối lượng cơ sở dữ liệu lớn nhưng
không có index.
 CSV : Lưu trữ dữ liệu trong các text file, các trường phân cách bởi
dấu phẩy (,)
- Hỗ trợ SSL
- 13 -
- Hỗ trợ Cache cho các câu lệnh truy vấn, nhằm tăng tốc hiệu quả xử lý câu lệnh
- Hỗ trợ Full-text search với MyISAM Engine
- Hỗ trợ nhân bản theo nhiều mô hình : Master-Master Replication & Master-

Slave Replication; One master per slave; Many slaves per master
Khả năng nhân bản của MySQL
- Cho phép CSDL trên một MySQL Server có thể được nhân bản sang các Server
khác nhằm tăng tính dự phòng, sao lưu CSDL đề phòng sự cố, thảm họa.
- Từ MySQL 5.0 hỗ trợ nhân bản không đồng bộ. Một Server hoạt động như là
Server chính – Master và có một hoặc nhiều Server khác hoạt động như là
Server phụ - Slave. Server Master sẽ ghi các sự thay đổi vào log file nhị phân,
khi các Server Slave kết nối vào Server Master thì nó sẽ đọc các log file và cập
nhật vào dữ liệu của Server Slave
MySQL Cluster
- Tăng khả năng đáp ứng, khả năng dự phòng.
- Một MySQL Cluster sẽ bao gồm nhiều Server. Có 3 kiểu node trong một
Cluster:
 MGM node (node quản lý): Dùng để quản lý các node khác trong
Cluster, cung cấp cấu hình CSDL, bật hay tắt một node nào đó, thực
hiện backup , Vì là node quản lý nên cần khởi động trước các node
khác.
 Data node (node dữ liệu) : lưu trữ dữ liệu, có nhiều data node như là
các bản sao của CSDL.
 SQL node : cung cấp truy xuất đến các Cluster data.
Mối quan hệ của các thành phần trong Cluster được mô tả qua hình vẽ sau :
- 14 -

Hình 1.3 Các thành phần trong MySQL Cluster
Backup và Recover cơ sở dữ liệu MySQL
- MySQL hỗ trợ backup toàn bộ (Full backup) và backup từng phần (Incremental
Backup).
- Khi khởi động MySQL với tham số log-bin thì các thay đổi của dữ liệu sẽ
được ghi ra log file. Các file log này được sử dụng để thực hiện recover khi hệ
thống bị sự cố. Tuy nhiên để recover thành công thì trước đó cần thực hiện Full

backup.
- Hỗ trợ recover đến 1 thời điểm nhất định
1.2.4. Tổng quan về hệ điều hành Solaris
Quá trình phát triển của Solaris 10 :
- 15 -
- Hệ điều hành UNIX được phát triển bởi phòng thí nghiệm Bell của công ty
AT&T vào năm 1969. Nó được tạo ra như một tập các công cụ cho các lập trình
viên. Mã nguồn của nó, lúc ban đầu được tạo ra để sẵn dùng cho tất cả các
trường đại học ở Hoa Kỳ.
- Những lập trình viên tại đại học Berkeley thực hiện việc chỉnh sửa lại mã nguồn
gốc để tạo ra phiên bản BSD UNIX (Berkeley Software Distribution). Phiên bản
UNIX này được gởi đến các lập trình viên khác trong quốc gia để họ có thể thêm
vào các công cụ và mã (tools and code) để có thể mở rộng BSD UNIX hơn nữa.
- Phiên bản hệ điều hành UNIX đầu tiên của SUN được biết như phần mềm
SunOS, phát triển dựa trên bản BSD UNIX version 4.2. Tại thời gian này, phiên
bản UNIX của AT&T cũng được biết với tên System V
- Năm 1988, BSD, AT&T UNIX và các hệ điều hành khác thực hiện việc thu gom
các đặc điểm nổi bật của cả 2 phiên bản BSD UNIX và AT&T UNIX để tạo
thành System V release 4 UNIX hay SVR4, từ đó tạo ra chuẩn công nghiệp cho
các hệ điều hành.
- Phiên bản SRV4 mới trở thành cơ sở nền tảng không chỉ cho phiên bản UNIX
của Sun và AT&T mà còn cho cả AIX của IBM và HP-UX của Hewlett-Packrd
- Hiện nay Sun đã phát triển và cho ra đời Solaris 10, là hệ điều hành cung cấp
miễn phí cho người dùng.
Những ưu điểm kỹ thuật nổi bật của Solaris :
- Là hệ điều hành được Sun cung cấp miễn phí cho người dùng, do đó tính kinh tế
là một đặc điểm không thể bỏ qua của Solaris. HĐH này còn là một trong những
hệ điều hành được lựa chọn hàng đầu cho các hệ thống viễn thông, công nghệ
thông tin và ngày càng trở nên phổ biến không chỉ ở Việt Nam mà cả ở trên thế
giới

- Độ an toàn cao : Trước hết, trong Solaris có một cơ cấu phân quyền hết sức rõ
ràng. Chỉ có "root" (người dùng tối cao) mới có quyền cài đặt và thay đổi hệ
thống.
- 16 -
- Ngoài ra do được phát triển từ hệ điều hành Unix, nên Solaris kế thừa những
tính chất bảo mật mạnh mẽ của hệ điều hành.
Chạy thống nhất trên các hệ thống phần cứng : Sun đã cung cấp Solaris 10 cho
nhiều các nền tảng phần cứng khác nhau : Intel, Spac, AMD,
1.2.5. Giới thiệu về ngôn ngữ Java
- Java được Sun Microsystem giới thiệu năm 1991. Java được tạo ra với tiêu chí
"Viết (code) một lần, thực thi khắp nơi" ("Write Once, Run Anywhere"
(WORA)). Chương trình phần mềm viết bằng Java có thể chạy trên mọi nền
tảng (platform) khác nhau thông qua một môi trường thực thi với điều kiện có
môi trường thực thi thích hợp hỗ trợ nền tảng đó.
- Môi trường thực thi của Sun Microsystems hiện hỗ trợ Sun Solaris, Linux, Mac
OS, FreeBSD & Windows. Ngoài ra, một số công ty, tổ chức cũng như cá nhân
khác cũng phát triển môi trường thực thi Java cho những hệ điều hành khác.
Trong đó đáng nói đến nhất là IBM Java Platform hỗ trợ Windows, Linux, AIX.
- Java là một ngôn ngữ lập trình dạng lập trình hướng đối tượng (OOP). Khác với
phần lớn ngôn ngữ lập trình thông thường, thay vì biên dịch mã nguồn thành mã
máy hoặc thông dịch mã nguồn khi chạy, Java được thiết kế để biên dịch mã
nguồn thành dạng bytecode, bytecode sau đó sẽ được môi trường thực thi
(runtime environment) chạy.
- Đa nhiệm - đa luồng (MultiTasking - Multithreading): Java hỗ trợ lập trình đa
nhiệm, đa luồng cho phép nhiều tiến trình, tiểu trình có thể chạy song song cùng
một thời điểm và tương tác với nhau.
- Khả chuyển (portable): Chương trình ứng dụng viết bằng ngôn ngữ Java chỉ cần
chạy được trên máy ảo Java là có thể chạy được trên bất kỳ máy tính, hệ điều
hành nào có máy ảo Java.
- Hỗ trợ mạnh cho việc phát triển ứng dụng : Công nghệ Java phát triển mạnh mẽ

nhờ vào Sun Microsystem cung cấp nhiều công cụ, thư viện lập trình phong phú
hỗ trợ cho việc phát triển nhiều loại hình ứng dụng khác nhau cụ thể như: J2SE
(Java 2 Standard Edition) hỗ trợ phát triển những ứng dụng đơn, ứng dụng
- 17 -
client-server; J2EE (Java 2 Enterprise Edition) hỗ trợ phát triển các ứng dụng
thương mại, J2ME (Java 2 Micro Edition) hỗ trợ phát triển các ứng dụng trên
các thiết bị di động, không dây, …
Hỗ trợ Unicode và hỗ trợ tiếng Việt. Tháng 2/2004 Sun đã đưa hỗ trợ tiếng Việt bắt
đầu từ phiên bản Java 1.5. Điều này mang lại sự thuận lợi cho các lập trình viên khi
triển khai ứng dụng, tránh gây ra sự hiểu nhầm về ngày tháng, giải quyết sẵn các bài
toán sắp xếp trong tiếng Việt,
1.3. Kết luận
Qua thời gian và nhu cầu thực tế công việc, thì hệ thống cơ sở dữ liệu Foxpro
đã bộc lộ dần những hạn chế : không có khả năng lưu trữ các dữ liệu Media, hỗ trợ
tìm kiếm kém, chỉ có thể hoạt động trên các kết nối tốc độ cao Vì vậy việc
chuyển đổi sang hệ cơ sở dữ liệu khác và xây dựng chương trình tìm kiếm mới là
cần thiết để đáp ứng yêu cầu ngày càng cao của công việc.















- 18 -
Chương 2. THIẾT KẾ CƠ SỞ DỮ LIỆU HỆ THỐNG TRA CỨU 1080
Ở chương 1 đã giới thiệu về hệ thống tra cứu 1080 cũ, sử dụng cơ sở dữ liệu
foxpro và đã lựa chọn công nghệ, cơ sở dữ liệu cho việc phát triển hệ thống mới.
Trong chương này sẽ mô tả các yêu cầu nghiệp vụ của hệ thống tra cứu 1080
mới và thiết kế cơ sở dữ liệu tương ứng phục vụ giải quyết các yêu cầu nghiệp vụ.
2.1. Phân tích yêu cầu nghiệp vụ
2.1.1. Mô hình nghiệp vụ


Hình 2.1 Mô hình nghiệp vụ dịch vụ 1080
Các tác nhân tham gia vào các quy trình nghiệp vụ :
 Quản lý, lãnh đạo đơn vị
 Khách hàng (Người gọi vào 1080 để hỏi thông tin)
 Điện thoại viên 1080 : Giao tiếp trực tiếp với Khách hàng. Thực hiện tra cứu
thông tin, trả lời Khách hàng
 Biên tập viên: Thực hiện biên tập dữ liệu vào Cơ sở dữ liệu theo các chuyên
mục lập sẵn. Thực hiện thêm, sửa, xóa các chuyên mục, mục tin

×