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

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

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

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

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


- 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
- 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

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
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

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

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

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.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

- 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

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

- Độ 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ẽ


- 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


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status