1.3.1 Presentation Layer
Lớp này làm nhiệm vụ giao tiếp với ngƣời dùng cuối để thu thập dữ liệu và hiển thị kết quả/dữ liệu thông qua các thành phần trong giao diện ngƣời sử dụng. Lớp
có thể dùng Windows Forms, ASP.NET hay Mobile Forms để hiện thực lớp này. Trong lớp này có 2 thành phần chính là User Interface Components và User Interface Process Components.
UI Components là những phần tử chịu trách nhiệm thu thập và hiển thị thông tin cho ngƣời dùng cuối. Trong ASP.NET thì những thành phần này có thể là các TextBox, các Button, DataGrid... UI Process Components: là thành phần chịu trách nhiệm quản lý các qui trình chuyển đổi giữa các UI Components. Ví dụ chịu trách nhiệm quản lý các màn hình nhập dữ liệu trong một loạt các thao tác định trƣớc nhƣ các bƣớc trong một Wizard...
Lƣu ý: lớp này không nên sử dụng trực tiếp các dịch vụ của lớp Data Access mà nên sử dụng thông qua các dịch vụ của lớp Business Logic vì khi bạn sử dụng trực tiếp nhƣ vậy, bạn có thể bỏ qua các ràng buộc, các logic nghiệp vụ mà ứng dụng cần phải có.
1.3.2 Business Logic Layer
Lớp này thực hiện các nghiệp vụ chính của hệ thống, sử dụng các dịch vụ do lớp Data Access cung cấp, và cung cấp các dịch vụ cho lớp Presentation. Lớp này cũng có thể sử dụng các dịch vụ của các nhà cung cấp thứ 3 (3rd parties) để thực hiện cơng việc của mình(ví dụ nhƣ sử dụng dịch vụ của các cổng thanh tóan trực tuyến nhƣ VeriSign, Paypal...).Trong lớp này có các thành phần chính là Business Components, Business Entities và Service Interface.
Service Interface là giao diện lập trình mà lớp này cung cấp cho lớp Presentation sử dụng. Lớp Presentation chỉ cần biết các dịch vụ thông qua giao diện này mà không cần phải quan tâm đến bên trong lớp này đƣợc hiện thực nhƣ thế nào. Business Entities là những thực thể mô tả những đối tƣợng thông tin mà hệ thống xử lý. Các business entities này cũng đƣợc dùng để trao đổi thông tin giữa lớp Presentation và lớp Data Access. Business Components là những thành phần chính
thực hiện các dịch vụ mà Service Interface cung cấp, chịu trách nhiệm kiểm tra các ràng buộc logic(constraints), các qui tắc nghiệp vụ(business rules), sử dụng các dịch vụ bên ngoài khác để thực hiện các yêu cầu của ứng dụng.
1.3.3 Data Access Layer
Lớp này thực hiện các nghiệp vụ liên quan đến lƣu trữ và truy xuất dữ liệu của ứng dụng. Thƣờng lớp này sẽ sử dụng các dịch vụ của các hệ quản trị cơ sở dữ liệu nhƣ SQL Server, Oracle,... để thực hiện nhiệm vụ của mình. Trong lớp này có các thành phần chính là Data Access Logic, Data Sources, Servive Agents).
Data Access Logic components (DALC) là thành phần chính chịu trách nhiệm lƣu trữ vào và truy xuất dữ liệu từ các nguồn dữ liệu - Data Sources nhƣ RDMBS, XML, File systems.... Trong .NET Các DALC này thƣờng đƣợc hiện thực bằng cách sử dụng thƣ viện ADO.NET để giao tiếp với các hệ cơ sở dữ liệu hoặc sử dụng các O/R Mapping Frameworks để thực hiện việc ánh xạ các đối tƣợng trong bộ nhớ thành dữ liệu lƣu trữ trong CSDL. Service Agents là những thành phần trợ giúp việc truy xuất các dịch vụ bên ngòai một cách dễ dàng và đơn giản nhƣ truy xuất các dịch vụ nội tại.
1.4 WebService
Web service ra đời đã mở ra một hƣớng mới cho việc phát triển các ứng dụng trên Internet. Web services tạm dịch là các dịch vụ trên web. Công nghệ web services ra đời là một cuộc cách mạng hóa cách t hức hoạt động của các dịch vụ B2B và B2C. Web services kết hợp sử dụng nhiều công nghệ khác nhau cho phép hai ứng dụng cùng ngôn ngữ, độc lập hệ điều hành trao đổi đƣợc với nhau thông qua môi trƣờng mạng Internet. Tuy nhiên những công nghệ sử dụng ở đây không nhất thiết phải là những công nghệ mới. Đây là điểm khác biệt của web services so với các cơng nghệ khác, đó chính là khả năng kết hợp các cơng nghệ đã có nhƣ là XML,SOAP,WSDL,UDDI để tạo ra các service, đặc điểm này làm nổi bật vai trò của web services.
Theo định nghĩa của W3C (World Wide Web Consortium), dịch vụ Web là một hệ thống phần mềm đƣợc thiết kế để hỗ trợ khả năng tƣơng tác giữa các ứng dụng trên các máy tính khác nhau thơng qua mạng Internet, giao diện chung và sự gắn kết của nó đƣợc mơ tả bằng XML. Dịch vụ Web là tài nguyên phần mềm có thể xác định bằng địa chỉ URL, thực hiện các chức năng và đƣa ra các thông tin ngƣời dùng yêu cầu. Một dịch vụ Web đƣợc tạo nên bằng cách lấy các chức năng và đóng gói chúng sao cho các ứng dụng khác dễ dàng nhìn thấy và có thể truy cập đến những dịch vụ mà nó thực hiện, đồng thời có thể yêu cầu thông tin từ dịch vụ Web khác. Nó bao gồm các môđun độc lập cho hoạt động của khách hàng và doanh nghiệp và bản thân nó đƣợc thực thi trên server.
Trƣớc hết, có thể nói rằng ứng dụng cơ bản của Dịch vụ Web là tích hợp các hệ
thống và là một trong những hoạt động chính khi phát triển hệ thống. Trong hệ thống này, các ứng dụng cần đƣợc tích hợp với cơ sở dữ liệu (CSDL) và các ứng dụng khác, ngƣời sử dụng sẽ giao tiếp với CSDL để tiến hành phân tích và lấy dữ liệu. Trong thời gian gần đây, việc phát triển mạnh mẽ của thƣơng mại điện tử và B2B cũng đòi hỏi các hệ thống phải có khả năng tích hợp với CSDL của các đối tác kinh doanh (nghĩa là tƣơng tác với hệ thống bên ngoài - bên cạnh tƣơng tác với các thành phần bên trong của hệ thống trong doanh nghiệp).
Dƣới đây, chúng ta sẽ xem qua những khái niệm và cách thức cơ bản nhất để xây dựng một dịch vụ Web trong tích hợp và phát triển hệ thống.
1.4.1 Kiến trúc Web services
Web services là một tập các chuẩn đặc tả mở rộng khả năng của các chuẩn có sẵn nhƣ XML, URL và HTTP nhằm cung cấp chuẩn truyền thông giữa các hệ thống với nhau.
Web services là những thành phần thực thi một số xử lý nghiệp vụ thông qua những dịch vụ và cung cấp những dịch vụ qua mạng, những dịch vụ này có thể đƣợc triệu gọi bởi các dịch vụ client bằng cách sử dụng giao thức SOAP trên HTTP. Web services độc lập về ngôn ngữ và độc lập về nền tảng bởi vì nó tách
biệt đặc tả ra khỏi cài đặt; nó cịn hỗ trợ tích hợp loose coupling giữa các ứng dụng với nhau qua trao đổi các thông điệp đồng bộ và bất đồng bộ. Web services dựa trên kiến trúc phân tán trong đó khơng có bất kì dịch vụ xử lý trung tâm nào và tất cả dạng truyền thông đều sử dụng các giao thức chuẩn. Các giao thức khơng đƣợc có bất kì ý nghĩa ngầm định nào bên trong mà phải đƣợc mơ tả rõ ràng.
Một trong những đặc tính quan trọng của mơ hình tính tốn dựa trên Web services là ở đó cả các client và Web services đều không cần biết cài đặt của nhau. Kiến trúc Web services cung cấp nhiều thành phần cho phép các ứng dụng client tìm kiếm và sử dụng những Web services mình cần một cách động. Web services hứa hẹn mang đến khả năng tạo ra các mơi trƣờng phân tán trong đó bất kì ứng dụng nào, hoặc bất kì component ứng dụng nào cũng đều có thể kết hợp với nhau dễ dàng với tính độc lập nền tảng, và độc lập ngôn ngữ (language-neutral). Web service có thể đƣợc sử dụng vào các mục đích đơn giản nhƣ đăng nhập vào một trang web hay với mục địch phức tạp nhƣ xử lý nghiệp vụ giao dịch vay mƣợn giữa các công ty với nhau. Điểm khác biệt chính của Web services với các công nghệ phân tán trƣớc đây nhƣ Win32, J2EE và CGI là ở sự chuẩn hoá. Web services sử dụng XML, một ngôn ngữ độc lập trong việc biểu diễn dữ liệu, làm ngôn ngữ trao đổi thông tin. Bởi vậy khi đƣợc kết hợp với nhau, khả năng tích hợp phần mềm và đa kết nối giữa những mơ hình web services thật đáng kinh ngạc. Thêm vào đó, các chuẩn Web services mới cịn hỗ trợ các tính năng cao cấp nhƣ hỗ trợ giao dịch, bảo mật, quy trình nghiệp vụ, vv…
Hình 12: Kiến trúc web service
Mơ hình web services dạng đơn giản định nghĩa cách thức tƣơng tác giữa Service Requester, Service Provider, và Service Directory nhƣ sau:
Bên sử dụng dịch vụ tìm kiếm các dịch vụ trong một UDDI Service Directory. Chúng sẽ lấy thông tin mô tả WSDL của các Web services cung cấp bởi Service Providers từ trƣớc thông qua Service Directory. Sau khi lấy đƣợc mô tả WSDL, bên yêu cầu dịch vụ kết nối đến nhà cung cấp dịch vụ bằng cách triệu gọi các dịch vụ thông qua giao thức SOAP.
Web services cơ bản bao gồm các khái niệm SOAP, WSDL, và UDDI. SOAP, WSDL và UDDI có thể kết hợp với nhau theo sơ đồ sử dụng sau:
Hình 13: Mơ hình tương tác Web Service
- Nhà cung cấp Web Service mô tả Web Service trong một tài liệu WSDL và đăng ký nó lên một UDDI bằng cách sử dụng Publisher’s API.
- Một ngƣời sử dụng dịch vụ UDDI Inquiry API để tìm thơng tin về nhà cung cấp dịch vụ thích hợp. Nếu có, nó sẽ tìm kiếm tiếp tModel rồi từ đó lấy ra tài liệu mơ tả WSDL.
- Một yêu cầu dạng SOAP đƣợc tạo ra dựa trên tài liệu mô tả WSDL. - Yêu cầu SOAP trên sẽ đƣợc gửi đến nhà cung cấp dịch vụ và đƣợc xử
lý.
1.4.2 Lợi ích của Web services
Lợi ích của Web Service có thể tóm gọn trong một đoạn nhƣ sau: “Web Service cung cấp một cơ chế đơn giản để kết nối những ứng dụng lại với nhau bất kể công nghệ hoặc thiết bị chúng đang sử dụng hoặc vị trí. Web Service dựa trên các chuẩn giao thức đƣợc hỗ trợ rộng rãi trên internet nhằm giảm chi phí liên lạc. Cách tiếp cận có tính loose coupling hỗ trợ đa kết nối và chia sẻ thông tin giữa các dịch vụ,
mà các đƣợc đó tự định nghĩa và có thể đƣợc tìm thấy một cách tự động” . Tóm lƣợc lợi ích thƣơng mại và lợi ích kỹ thuật của Web Service nhƣ sau:
Web Service có thể được truy cập ở mọi nơi, mọi lúc, hầu như trên bất kì cơng nghệ và thiết bị nào hỗ trợ Web Service
Dựa trên các chuẩn giao thức được hỗ trợ rộng rãi trên internet lợi ích thương mại và kỹ thuật – Giảm chi phí và lựa chọn
Loosely coupled
Hỗ trợ đa kết nối
Tự mô tả
Tự động tìm kiếm
2. Xây dựng – Phát triển chƣơng trình
Lựa chọn của nhóm đề tài là phát triển hệ thống chƣơng trình Quản lý khiếu nại của Viễn thông Hà nội theo hƣớng tiến tới mở rộng phục vụ xuyên suốt cho Viễn xthông Hà nội. Cụ thể nhƣ sau:
- Mở rộng hệ thống quản lý khiếu nại tập trung cho phần điều hành khiếu nại từ tiếp nhận, xuất phiếu, xác minh, trình giảm đƣợc xuyên suốt tại Viễn thông Hà nội. Đảm bảo việc khiếu nại đa dịch vụ, đa khiếu nại chạy trên hệ thống đều đƣợc quản lý, cập nhật và khai thác thống nhất, tập trung.
- Xây dựng thử nghiệm module Điều hành Quản lý khiếu nại thông qua di động xuyên suốt trên cùng một hệ thống. Thử nghiệm đa dạng hóa một số khâu trong qui trình quản lý khiếu nại.
- Xây dựng, phát triển các cơng cụ tiện ích nhằm sẵn sàng cho việc mở rộng phục vụ cho hệ thống Quản lý khiếu nại.
3. Xây dựng cơ sở dữ liệu
Để thực hiện mục tiêu thống nhất cùng một hệ thống, CSDL hiện tại cần đƣợc mở rộng và nâng cấp. Nhóm đề tài xin đƣa ra cấu trúc cơ sở dữ liệu của hệ thống tích hợp dự kiến nhƣ sau: SC_BAOKN PK ID_BAOKN SC_LANXPNT FK1,FK2 ID_BAOKN FK2 ID_PHIEUKN ID_LANXPNT SC_PHIEUKN PK ID_PHIEUKN PK,FK1 ID_BAOKN SC_LANTON PK ID_LANTON PK,FK1,FK2 ID_BAOKN PK,FK2 ID_PHIEUKN SC_THUEBAO PK ID_THUEBAO PK,FK1 ID_BAOKN SC_TIENTRINHKN PK ID_TTKN PK,FK1,FK2 ID_BAOKN PK,FK2 ID_PHIEUKN
GT_SECURITY_SERVICETYPE PK ID_SECTYPE FK1 ID_GROUP GT_GROUP PK ID_GROUP MA_NHOM ID_DONVI GT_SECURITY_PROVINCE PK ID_SECPRO FK1 ID_GROUP ID_TINHTP GT_SECURITY_NGHIEPVU PK ID_SECNVU FK1 ID_GROUP ID_NGHIEPVU GT_SECURITY_FUNCTION PK ID_SECFUNC FK1 ID_GROUP ROLE GT_SECURITY_DATA PK ID_SECDATA FK1 ID_GROUP ID_VT
4. Xây dựng cơ chế bảo mật cho hệ thống.
Hệ thống QLKN sử dụng đồng thời 2 cơ chế bảo mật:
- Bảo mật sử dụng mã OTP (thông qua số điện thoại di động đăng ký với Trung Tâm Tin Học).
- Bảo mật thơng qua kiểm chứng tồn tại User (tích hợp sẵn trong hệ thống).
4.1 Bảo mật sử dụng mã OTP:
Ngƣời sử dụng muốn sử dụng các chƣơng trình của VTHN, cần phải đăng ký tên user và số điện thoại xác thực user đó với TTTH. Nhƣ vậy khi đăng nhập vào hệ thống QLKN bằng user xác thực đó, hệ thống QLKN sẽ gọi webservice từ TTTH, từ đó hệ thống xác thực tập chung của TTTH sẽ trả lại mã đăng nhập OTP vào thời điểm hiện tại theo số điện thoại xác thực của user đó.
MƠ HÌNH NHẬN MÃ XÁC THỰC OTP QUẢN LÝ KHIẾU NẠI
Server VNPT Gateway SMS VNPT
Điện thoại cá nhân Vinaphone, Mobifone Server Web QLKN 10.10.20.136 Trả mã xác thực OTP Gọi Webservice Kết nối trực
tiếp Kết nối trực tiếp
Sử dụng trình duyệt
User
4.2 Bảo mật thơng qua kiểm chứng tồn tại User:
Ngƣời sử dụng muốn đăng nhập vào hệ thống QLKN cần phải đăng ký với Quản trị viên của hệ thống QLKN 1 tài khoản trong hệ thống QLKN, tài khoản này không liên quan tới bất kỳ tài khoản nào của hệ thống khác (điều này là bắt buộc vì cịn liên quan tới quyền đƣợc sử dụng các tài nguyên riêng rẽ của hệ thống QLKN).
Nhƣ vậy, sau khi đăng nhập vào hệ thống QLKN bằng mã xác thực OTP. Hệ thống QLKN sẽ kiểm tra xem user đăng nhập đã tồn tại trong hệ thống QLKN chƣa. Nếu tồn tại thì sẽ cho đăng nhập vào và ngƣợc lại.
MƠ HÌNH XÁC THỰC USER QUẢN LÝ KHIẾU NẠI
Server Web QLKN 10.10.20.136 Sử dụng
trình duyệt
User
Trả lại kết quả đăng nhập
5. Các chức năng chính.
Các chức năng chính đƣợc liệt kê nhƣ sau:
- Các chức năng chạy ngầm định : là các chức năng lấy dữ liệu, nhận dữ liệu từ các hệ thống khác nhƣ dữ liệu thông tin khách hàng từ database TT DVKH, quản lý cƣớc, chức năng thống kê offline…
- Các chức năng cho ngƣời dùng (xuất hiện trên giao diện): là toàn bộ các chức năng mà ngƣời dùng đầu cuối hoặc ngƣời quản trị có thể thực hiện đƣợc.
MƠ HÌNH TƢƠNG TÁC HỆ THỐNG
QUẢN LÝ KHIẾU NẠI
Server VNPT Gateway SMS VNPT G ọi W eb servic e
Điện thoại cá nhân Vinaphone, Mobifone Server Web QLKN 10.10.20.136 Gọi W ebse rvice Server DB QLKN 10.10.31.134 Server DB Oracle 10.10.20.28 Tra cứu cƣớc Server DB MySQL 10.10.20.15 Tra cứu thông tin KH
Server DB chung 10.10.41.18 Tra cứu nợ KH Kết n ối trực tiếp Kết nối trực tiếp Kết n ối trự c tiếp
5.1 Chức năng ngầm định
- Nhận dữ liệu đầu vào từ database TT DVKH: dữ liệu hủy dịch vụ, địa chỉ khách hàng, mã đƣờng thƣ, mã khách hàng, số điện thoại liên hệ . . .
- Nhận dữ liệu từ hệ thống quản lý cƣớc : dữ liệu thông tin về cƣớc, nợ cƣớc, tồn của khách hàng..
- Các chức năng chạy các thống kê offline theo tần xuất .
5.2 Chức năng trên giao diện chƣơng trình.
Chƣơng trình đƣợc chia thành các chức năng chính sau:
Quản Trị User Hƣớng Dẫn Báo Cáo Tra Cứu Khiếu Nại Admin
SƠ ĐỒ KHỐI CHỨC NĂNG
Khiếu nại Tra cứu Báo cáo Hƣớng dẫn
Hệ thống QUẢN TRỊ ĐĂNG NHẬP GIẢI QUYẾT PHÂN CÔNG XÁC MINH TIẾP NHẬN THẨM ĐỊNH GIẢI QUYẾT THỐNG KÊ TIẾP NHẬN HƢỚNG DẪN CHUNG TRA CỨU KHIẾU NẠI SƠ ĐỒ WEBSITE TRA CỨU CƢỚC TRA CỨU