Tên đề tài: “Xây dựng phần mềm tra cứu cho dịch vụ 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.
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 [...]... 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... 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... 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... SOAP yêu cầu một dịch vụ Web Các thông điệp SOAP được gửi đi chính xác bởi giao thức HTTP và TCP/IP Chồng giao thức dịch vụ Web là tập hợp các giao thức mạng máy tính được sử dụng để định nghĩa, xác định vị trí, thi hành và tạo nên dịch vụ Web tương tác với những ứng dụng hay dịch vụ khác Chồng giao thức này có 4 thành phần chính: Dịch vụ vận chuyển (Service Transport): có nhiệm vụ truyền thông điệp... các loại dữ liệu cho các thao tác và chức năng mà dịch vụ Web cung cấp 3.2 Xây dựng Web service TransportData 3.2.1 Các bước xây dựng một web service với JAX-WS Để đảm bảo chương trình có thể chạy trên các hệ điều hành khác nhau (Linux, Solaris, Window, ), đặc biệt là các hệ điều hành mã nguồn mở thì nhóm đề tài chọn xây dựng Web service bằng ngôn ngữ Java của Sun Nền tảng để xây dựng web service là... tốn cho quá trình tìm ipadd varchar(45) Ip của máy tính thực hiện tìm kiếm bang varchar(45) Tên bảng được tra cứu truongsearch varchar(100) Trường để tìm kiếm ngay datetime Ngày thực hiện tìm kiếm Bảng dữ liệu log tra cứu tbl_searchdt_mmyyyy : mmyyyy là định dạng tháng-năm của thời gian Mỗi tháng hệ thống tự sinh ra một bảng để lưu log tra cứu tra cứu chi tiết của từng bản tin Mọi thao tác tra cứu. .. XML: có nhiệm vụ giải mã các thông điệp theo định dạng XML để có thể hiểu được ở mức ứng dụng tương tác với người dùng Hiện tại, những giao thức thực hiện nhiệm vụ này là XML-RPC, SOAP và REST Mô tả dịch vụ: được sử dụng để miêu tả các giao diện chung cho một dịch vụ Web cụ thể WSDL thường được sử dụng cho mục đích này, nó là một ngôn ngữ mô tả giao tiếp và thực thi dựa trên XML Dịch vụ Web sẽ sử... được tra cứu truongsearch varchar(100) Trường để tìm kiếm ngay datetime Ngày thực hiện tìm kiếm tieudetxt varchar(250) Tiêu đề của bản tin idnews double Iden của bản tin - 24 - 2.2.3 Các bảng dữ liệu của các chuyên mục Mỗi chuyên mục có 1 bảng dữ liệu đặc thù riêng Chi tiết các bảng dữ liệu của hệ thống 1080 hiện tại được thiết kế chi tiết trong đề tài Xây dựng cơ sở dữ liệu mới cho dịch vụ 1080 ... thống phần mềm đã tồn tại bằng cách cho phép các tiến trình chức năng nghiệp vụ đóng gói trong giao diện dịch vụ Web và công bố rộng rãi trên mạng Internet Tạo mối quan hệ tương tác lẫn nhau và mềm dẻo giữa các thành phần trong hệ thống, dễ dàng cho việc phát triển các ứng dụng phân tán Thúc đẩy hệ thống tích hợp, giảm sự phức tạp của hệ thống, hạ giá thành dịch vụ, phát triển hệ thống nhanh và tương... sửa, xóa các chuyên mục, mục tin - 19 - Kỹ thuật viên : Thực hiện vận hành hệ thống máy chủ, thiết bị Các quy trình nghiệp vụ : Nghiệp vụ tra cứu Nghiệp vụ biên tập Thống kê, báo cáo Đào tạo Vận hành hệ thống kỹ thuật 2.1.2 Nghiệp vụ tra cứu Khi Khách hàng gọi điện vào 1080, Khách hàng sẽ yêu cầu được cung cấp thông tin về một hoặc nhiều lĩnh vực nào đó Điện thoai viên nhanh chóng xác định . 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. 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,. 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