Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 55 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
55
Dung lượng
1,78 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Nguyễn Thái Sơn
STRUTS 2VÀỨNGDỤNG QUẢN LÝCHẤT
LƯỢNG DỊCHVỤ HOME PHONE
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
HÀ NỘI - 2010
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Nguyễn Thái Sơn
STRUTS 2VÀỨNGDỤNGQUẢNLÝCHẤT
LƯỢNG DỊCHVỤHOMEPHONE
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
Cán bộ hướng dẫn: ThS. Lê Hồng Hải
HÀ NỘI - 2010
LỜI CẢM ƠN
Trước tiên, tôi xin gửi lời cảm ơn và lòng biết ơn sâu sắc đến Ths. Lê Hồng
Hải, người đã tận tình chỉ bảo hướng dẫn tôi trong suốt quá trình thực hiện khoá luận
tốt nghiệp.
Tôi xin gửi lời cảm ơn anh Vũ Hoàng Chiến – người hướng dẫn và chỉ bảo tôi
trong suốt thời gian thực hiện dự án.
Tôi xin gửi lời cảm đến các thầy cô giáo đã giảng dạy tôi trong suốt bốn năm
học qua, đã cho tôi nhiều kiến thức quý báu để tôi vững bước trên con đường học tập
của mình.
Tôi xin gửi lời cảm ơn tới các bạn trong lớp K51CC, và K51CHTTT đã ủng hộ
khuyến khích tôi trong suốt quá trình học tập tại trường.
Và cuối cùng, tôi xin bày tỏ niềm biết ơn vô hạn tới bố mẹ, chị tôi, và những
người bạn thân luôn bên cạnh, động viên tôi trong suốt quá trình thực hiện khoá luận
tốt nghiệp.
Hà Nội, ngày 18 tháng 5 năm 2010
Sinh viên
Nguyễn Thái Sơn
TÓM TẮT NỘI DUNG
Khóa luận với đề tài "Xây dựngứngdụngquảnlýchấtlượngdịchvụHome
Phone sử dụngStruts2và Hibernate" sẽ đưa ra những cái nhìn tổng quát về công
nghệ JSP/ Servlet chạy trên máy chủ ứngdụng J2EE, những ưu nhược điểm của công
nghệ này và cách khắc phục với điểm mạnh của framework Struts2. Ngoài ra, sự kết
hợp giữa Struts2 với Hibernate - một framework hỗ trợ ánh xạ từ cở sở dữ liệu thành
các đối tượng phục vụ tốt nhất cho việc phát triển ứng dụng. Cuối cùng, khóa luận nêu
những vận dụng của công nghệ trong việc xây dựngứngdụngquảnlýchấtlượngdịch
vụ HomePhone với các module và chức năng cụ thể sử dụng dữ liệu của ứngdụng
được lấy từ trực tiếp từ cơ sở dữ liệu của Viettel Technologies.
MỤC LỤC
Chương 1: MÔ TẢ HỆ THỐNG 7
Module Agent: 8
Module Core: phần nhân của hệ thống, xử lý các yêu cầu nhận được từ agent 8
Module Web: (nhiệm vụ chính của khóa luận thực hiện) 8
Chương 2: CÔNG NGHỆ STRUTS2VÀ HIBERNATE 11
2.1. Giới thiệu 11
2.2. Servlet/JSP: 11
2.3. Struts 12
2.4. Struts2 16
2.4.1. Vòng đời của các yêu cầu trong Struts2 16
2.4.2. Kiến trúc Struts2 17
2.4.3. Ứngdụng đơn giản với Struts 2: 18
2.5. Truy cập, sử dụng dữ liệu trong database. 23
2.6. Hibernate và những ưu việt 23
2.6.1. Hibernate framework 23
2.6.2 Một ví dụ về kết hợp giữa Struts2và Hibernate: 27
Chương 3: GIẢI QUYẾT BÀI TOÁN 35
3.1. Yêu cầu luồng công việc 35
Quản lý người dùng 35
Thông tin thuê bao 35
Các cảnh báo 36
Cấu hình tham số 36
Quản lý Agent: 36
3.1 Sơ lược về cơ sở dữ liệu của hệ thống 37
3.3 Quá trình thực hiện dự án 40
3.3.1 Module đăng nhập,quản lý người dùngvà phân quyền 41
3.3.2 Module thông tin thuê bao: 44
3.3.3 Module: Các cảnh báo 47
3.3.4 Module: Cấu hình tham số 48
3.3.5 Module: Quảnlý Agent 49
Chương 4: Kết luận 53
Tài liệu tham khảo 54
MỞ ĐẦU
Hiện nay, ở Việt Nam, các dịchvụ viễn thông đang trong giai đoạn phát triển
nhanh và mạnh. Điều này làm tăng tính cạnh tranh của mạng viễn thông trong nước.
Điển hình như về mạng di động có VinaPhone, MobiFone, Viettel, HaNoi Telecome,
Beeline… Mạng cố định có VNPT, HomePhone, EVNTelecome, Các mạng cố định
hiện nay đã dần chuyển từ hệ thống có dây sang hệ thống không dây. Điển hình là dịch
vụ điện thoại không dây HomePhone của Viettel Telecom.
Để có thể phát triển và cạnh tranh, các mạng viễn thông phải không ngừng nâng
cấp dịch vụ, giảm giá cước và chăm sóc khách hàng. Để làm được điều này, Viettel đã
xây dựng một hệ thống có tên là “Hệ thống quảnlýchấtlượngdịchvụHome Phone”
(Home Phone service quality management system) để có thể tìm ra những nguyên
nhân, khuyết điểm, trục trặc kỹ thuật trong quá trình triến khai hệ thống, xem xét khách
hàng tin dùng để có những sửa chữa nâng cấp kịp thời cho hệ thống và có những biện
pháp chăm sóc khách hàng hợp lý.
Trong quá trình phát triển hệ thống, rất may mắn cho tôi là được tham gia xây
dựng một bộ phận của hệ thống. Trong khóa luận của tôi, tôi sẽ trình bày kỹ hơn về các
vấn đề này.
Chương 1: MÔ TẢ HỆ THỐNG
DịchvụHomePhone (dịch vụ điện thoại cố định không dây) là một dịchvụ tiềm
năng vàquan trọng trong sự phát triển viễn thông của tập toàn Viettel. Để phát triển tốt
dịch vụ, cần có một hệ thống đánh giá chấtlượngdịchvụ cập nhật thường xuyên các
thông số để có những đánh giá chủ quan về cơ cấu hệ thống (chất lượng cuộc gọi, tiềm
năng phát triển thuê bao vàchấtlượng sóng…)
Hệ thống quản lýchấtlượngdịchvụ Home Phone (Home Phone service quality
management system) đã giải quyết vấn đề này. Mô hình dưới đây mô tả quá trình hoạt
động của hệ thống.
Hình 1.1: Mô hình hệ thống Home Phone.
Trên mỗi máy điện thoại cố định không dây HomePhone đều được gắn thêm một
con chip để tương tác với các tín hiệu nhận được từ hệ thống. Agent được định nghĩa
như là phần nhân trong mỗi máy điện thoại cố định, đặc trưng riêng cho mỗi máy.
Các trạm BTS trải rộng từ các vùng, đến các tỉnh thành phố. Ở phía đầu cuối, các
máy điện thoại (agent) được thiết lập cấu hình trong từng cell của trạm. Khi hệ thống tác
động yêu cầu về các máy Home Phone, yêu cầu sẽ thông qua các cell để tương tác.
Yêu cầu xây dựngứngdụng web với các module sau:
Module Agent:
Chức năng hệ thống tương tác với agent:
Thu thập thông tin về các cuộc gọi đi(do người thực hiện thực hiện cuộc gọi
cuối cùng), định dạng các trường thông tin theo chuẩn GSM.
Thu thập thông tin về chấtlượng mạng.
Cấu hình agent từ xa qua SMS-Class 2Quảnlývà giám sát
Module Core: phần nhân của hệ thống, xử lý các yêu cầu nhận được từ agent.
Giao tiếp với SMSC/SMS Gateway để gửi/nhận tin nhắn.
Giải mã thông tin về các cuộc gọi đi.
Giải mã thông tin về chấtlượng mạng.
Giao tiếp với database để lưu trữ thông tin về các cuộc gọi vàchấtlượng
mạng.
Tương tác với agent qua SMS-Class 2.
Module Web: (nhiệm vụ chính của khóa luận thực hiện)
Quản trị người dùng, nhóm người dùng.
Đăng nhập, đăng xuất.
Hỗ trợ nhóm người dùng(mỗi người dùng phải thuộc một nhóm nào đó)
Phân quyền phạm vi(quản lý Agent) theo nhóm người dùng.
Thêm/xóa người dùng, nhóm người dùng.
Hiển thị/chỉnh sửa danh sách người dùng, nhóm .
Báo cáo đồ thị:
Cường độ sóng (max,min, trung bình của ngày) theo thời gian (của 1 agent),
chọn khoảng thời gian.
Chất lượng sóng (max, min, trung bình của ngày) theo thời gian( của 1
agent), chọn khoảng thời gian.
Đồ thị phân bố số mẫu theo giá trị của cường độ sóng (áp dụng cho 1 agent,
1 cell, 1 tỉnh,/thành, 1 khu vực hoặc toàn mạng) chọn 1 hoặc nhiều khoảng
thời gian.
Đồ thị phân bố số mẫu theo giá trị của chấtlượng sóng (áp dụng cho 1
agent, 1 cell, 1 tỉnh/thành, 1 khu vực hoặc toàn mạng) chọn 1 hoặc nhiều
khoảng thời gian.
Đồ thị phân bố % số mẫu cường độ sóng tốt/ tổng số mẫu trong ngày (áp
dụng cho 1 agent, 1 cell, 1 tỉnh/ thành, 1 khu vực hoặc toàn mạng) theo thời
gian, chọn khoảng thời gian( config: ngưỡng tốt)
Đồ thị phân bố % số mẫu chấtlượng sóng tốt/ tổng số mẫu trong ngày (áp
dụng cho 1 agent, 1 cell, 1 tỉnh/thành, 1 khu vực, hoặc toàn mạng) theo thời
gian, chọn khoảng thời gian (config: ngưỡng tốt)
Đồ thị giá trị CSR (tỷ lệ cuộc gọi thành công/ tổng số cuộc gọi) trong ngày
(áp dụng cho 1 agent, 1 cell, 1 tỉnh/thành, 1 khu vực hoặc toàn mạng) theo
thời gian, chọn khoảng thời gian.
Đồ thị phân bố % agent đang hoạt động, agent phát sinh nhiều cuộc gọi
(config: số cuộc gọi), % agent thay đổi serving cell, % agent activated mới,
% agent activated mới phát sinh cuộc gọi trong ngày theo thời gian (1
tỉnh/thành, 1 khu vực hoặc toàn mạng); chọn khoảng thời gian.
Báo cáo thống kê: (các báo cáo hàng ngày) dạng bảng (gửi qua email hàng ngày, thống
kê cho ngày hôm qua, cho phép list agent-> xem chi tiết agent)
% agent đang hoạt động
% agent phát sinh cuộc gọi.
% agent phát sinh nhiều cuộc gọi.
% agent thay đổi serving cell.
% agent activated mới
% agent mới activated phát sinh cuộc gọi.
% số mẫu có cường độ sóng tốt.
% số mẫu có chấtlượng sóng tốt.
% CSR.
Cảnh báo: (là các dạng báo cáo hàng ngày, gửi qua mail hàng ngày) (nếu có dữ liệu)
(config: max, sort: giảm dần)
Danh sách các agent không hoạt động (config: số ngày liên tục không có
thông tin thu thập về hoặc không có mẫu tin nào.)
Danh sách các agent đang hoạt động nhưng không phát sinh cuộc gọi
(config: số ngày liên tục không phát sinh cuộc gọi)
Danh sách các agent thay đổi serving cell.
Danh sách các agent sử dụng sóng yếu (config: số mẫu sóng dưới ngưỡng
trong một số ngày liên tục, config: ngưỡng tốt, config: số ngày.)
Danh sách các agent sử dụng sóng có chấtlượng tồi.
Danh sách các agent có tỉ lệ CSR thấp (cf:ngưỡng thấp.)
Quản lý Agent:
Configure & activate/ deactivate (cấu hình, kích hoạt/ tắt) một agent.
Reset (thiết lập lại) agent.
Query agent status (Truy vấn trạng thái agent).
Query agent current configuration information (Truy vấn thông tin cấu hình
hiện tại của agent)
Manual measure activation (Kích hoạt độ đo)
Add/ delete (Thêm/Xóa)
Search/View/Modify agent information (Tìm kiếm/Hiển thị/Tùy chỉnh
thông tin Agent )
Tìm kiếm và xem thông tin chi tiết các mẫu đo thuộc về agent (theo thời
gian)
Danh sách các agent không hoạt động( config: số ngày liên tục )
Hệ thống quảnlýchấtlượngdịchvụHomePhone với cơ sở dữ liệu đồ sộ, yêu
cầu thực hiện thành phần web phải được xây dựng bằng một công nghệ mới, có độ an
toàn và bảo mật cao, đồng thời phải dễ dàng tương tác với các thành phần khác của hệ
thống.
Theo những yêu cầu trên, tôi và nhóm thiết kế đã lựa chọn công nghệ Struts2 –
một framework trên nền Java, sử dụng Hibernate để làm việc với cơ sở dữ liệu. Với
những đặc tính ưu việt của Struts2 sẽ được trình bày ở chương 2, tôi tin mọi người sẽ
nắm được những tính ưu việt của công nghệ này.
[...]... cả các ThreadLocal tồn tại 2. 4.3 Ứngdụng đơn giản với Struts 2: Hiển thị thông điệp “Hello world” Sử dụng Eclipse Java EE IDE for Web Developers o Tạo 1 project mới: Tải gói struts2 tại trang chủ của struts: http:/ /struts. apache.org /2. 1.8.1/index.html Copy các file sau từ thư mục \struts- 2. 0.11-all \struts- 2. 0.11\lib vào thư mục WEB_INF/lib của ứngdụng ta mới tạo: struts2 -core.jar, xwork.jar, ognl.jar,... được sử dụng bởi ứngdụng đã công bố Thuộc tính resource được cho giá trị của đường dẫn file hbm Apache đã phát triển Struts rất mềm dẻo để có thể kết hợp dễ dàng với Hibernate phát triển các ứngdụng có quy mô lớn 2. 6 .2 Một ví dụ về kết hợp giữa Struts2và Hibernate: Xây dựngứngdụngquảnlý các tài khoản của một hệ thống bằng Struts2 Kết hợp giữa Struts2và Hibernate... chi tiết về chấtlượng sóng, cường độ sóng để biết được nguyên nhân tại sao thuê bao từ chối sử dụngdịchvụ Cấu hình tham số Các tham số của hệ thống phải được cấu hình ở một ngưỡng nhất định Các tham số này sẽ phục vụ việc đánh giá chấtlượng của hệ thống dịchvụHomePhoneQuảnlý Agent: Quảnlý Agent là một module riêng, chỉ những người có quyền điều khiển hệ thống mới được phép truy cập vào Quyền... Trong Struts2 các vòng đời khác nhau được tạo ra dựa trên nền tảng Action thông qua ngăn xếp chặn (Interceptor Stacks).Các stack tùy biến được tạo ra và sử dụng với Action khác nhau Sự khác nhau như trên, với những ưu điểm của Struts2 so với Struts 1 làm Struts2 trở thành công cụ hữu ích cho các nhà thiết kế phần mềm Web hiện tại và tương lai 2. 4 Struts2 2.4.1 Vòng đời của các yêu cầu trong Struts2. .. JSP phải được biên dịch thành Servlet, dùng bộ biên dịch JSP (JSP compiler) Bộ biên dịch JSP có thể tạo servlet thành mã nguồn Java trước, rồi biên dịch mã nguồn ra tập tin class dùng bộ biên dịch Java, hoặc có thể trực tiếp tạo mã byte code cho servlet từ trang JSP Hệ thống quản lýchấtlượngdịchvụ Home Phone phát triển dựa trên công nghệ Servlet/JSP, sử dụng framework: Struts 2, cơ sở dữ liệu Oracle... trong Struts2 Hình 2.2 : Dòng xử lý trong Struts2 - Người sử dụng gửi yêu cầu đến server để yêu cầu một số tài nguyên của ứngdụng - Bộ điều khiển lọc (FilterDispatcher) xem xét yêu cầu và sau đó xác định một Action thích hợp - Các bộ chặn (Interceptors) được ứng dụng: các cấu hình bộ chặn áp dụng cho các chức năng chung như: luồng công việc, thẩm định, tải file … được tự động ứngdụng vào yêu cầu - Thực... user1.setPassword("abc 123 "); user1.setUsertype("Hello world"); user.insert(user1); System.out.println("Insert Success"); } Kiểm tra thông báo: Insert Success trên màn hình Console Không sử dụng server TomCat Đây là một ví dụ đơn giản nhất về sự kết hợp giữa Struts2 với Hibernate Công việc cuối cùng là ứngdụng các công nghệ trên vào để giải quyết bài toán: Xây dựng hệ thống quản lýchấtlượngdịchvụ Home Phone Ngoài... nghiệp trong việc quản trị database Hệ thống quản lýchấtlượngdịchvụ Home Phone đã lựa chọn Oracle làm hệ quản trị cơ sở dữ liệu bởi những đặc tính ưu việt đó 2. 6 Hibernate và những ưu việt 2. 6.1 Hibernate framework [13] Framework là một khái niệm trong phát triển phần mềm dùng để chỉ những “cấu trúc hỗ trợ được định nghĩa” mà trong đó những dự án phần mềm khác có thể được sắp xếp vào đó và phát triển... phép chúng ta thực hiện thu dọn hoặc thêm quá trình xử lý - Hiển thị kết quả cho người sử dụng: việc điều khiển cuối cùng được trả về cho trình chứa servlet, nó sẽ gửi kết quả trả về cho trình duyệt của người sử dụng2. 4 .2 Kiến trúc Struts2 Hình 2. 3: Kiến trúc của 1 ứngdụngstruts2 - Action ContextCleanUp filter: là một tùy chọn và nó được sử dụng khi tích hợp với các công nghệ khác như SiteMash... đòi hỏi hiệu năng cao sử dụng Java servlet và JSP Ứngdụng chạy trực tiếp trên JSP/Servlet chưa đáp ứng hết được yêu cầu bảo mật và chuyên nghiệp cho một hệ thống lớn Struts cơ bản định hình lại cách các Web programmer nghĩ về và cấu trúc một ứngdụng Web 2. 3.1 Kiến trúc 3 tầng MVC Hình 2. 1: Kiến trúc 3 tầng MVC Kiến trúc MVC là việc chia tất cả mục của một ứngdụng ra làm ba thành phần (component) khác .
2. 2. Servlet/JSP: 11
2. 3. Struts 12
2. 4. Struts 2 16
2. 4.1. Vòng đời của các yêu cầu trong Struts 2 16
2. 4 .2. Kiến trúc Struts 2 17
2. 4.3. Ứng dụng. DUNG
Khóa luận với đề tài "Xây dựng ứng dụng quản lý chất lượng dịch vụ Home
Phone sử dụng Struts 2 và Hibernate" sẽ đưa ra những cái nhìn