Mô hình triển khai dịch vụ Web(webservice)

Một phần của tài liệu giao thức quản lý mạng và công nghệ dịch vụ web thực hiện khai thác đường dây thuê bao (Trang 89)

2. 3 Khuôn dạng thông ñiệp SOAP

3.3.2.1.1 Mô hình triển khai dịch vụ Web(webservice)

dịch vụ Web ựược cài ựặt trên một máy chủ nằm giữa mạng liên kết giữa các tổng ựài (Host) và mạng các máy tắnh ựiều hành sản xuất.

3.3.2.1.2 Kiến trúc hệ thống

Do hệ thống tổng ựài chuyển mạch chỉ cho phép thực hiện tuần tự lệnh vì vậy tại một thời ựiểm chỉ thực hiện một lệnh của một tổng ựài. Hệ thống cung cấp các hàng ựợi tương ứng với từng tổng ựài như vậy tại một thời ựiểm có thể gửi ựồng thời nhiều lệnh ựo cho nhiều tổng ựài khác nhau. Các yêu cầu ựược hệ thống phân loại và ựưa vào hàng ựợi tương ứng, sau ựó hệ thống tự ựộng lấy yêu cấu từ hàng ựợi phân tắch nội dung, thành lập lệnh theo ựúng cú pháp của tổng ựài, kết nối và gửi lệnh váo tổng ựài, khi tổng ựài trả về kết quả hệ thống gửi kết quả ựó vào hàng ựợi kết quả, hoàn tất quy trình thức hiện một yêu cầu. Quy trình trên ựược hệ thống lặp lại với các yêu cầu ựược gửi lên hàng ựợi cho ựến khi hàng ựợi không còn yêu cầu nào. Hệ thống là một dịch vụ Web thực hiện cơ chế không ựồng bộ, các yêu cầu ựược gửi lên hàng ựợi qua một phương thức của dịch vụ Web, sau ựó kết quả ựược gửi trả lại vào một hàng ựợi khác, hệ thống tác nghiệp sẽ ựăng ký ựể nhận kết quả này thông qua một phương thức khác của dịch vụ Web[7].

Các ứng dụng sử dụng WS Webservice Nport 1 Host 1 Nport 2 Host 2 Nport n Host n Ầ. Mạng Metronet Mạng đHSXKD

91

Hình 3.3.2.1.2.1 - Thông ựiệp ựi qua các hàng ựợi tương ứng với các tổng ựài(Host) Hình 3.3.2.1.2.2 - Kiến trúc hệ thống tổng quát Hàng ựợi yêu cầu Hàng ựợi kết quả File XML danh sách Host,IP, Acc điều khiển trung tâm Ping/Ktra kết nối Telnet Ghi log

92 3.3.2.2 Biểu ựồ ca sử dụng Queue Host KiemTraTonTaiHost KiemTraKetNoi LayYCTuHangDoi GuiYC_vaoHangDoi GuiLenhVaoHost GuiKetQuaVaoHangDoiTopic HeThong_DieuHanh_TacNghie p Topic DangKyNhanKetQua QuanTri KhoiDongQueueListener NguoiQuantriHeThong <<uses>> <<uses>> <<communicate>> <<communicate>> <<uses>> Hình 3.3.2.2 - Biểu ựồ ca sử dụng 3.3.2.2.1 Các tác nhân Hethong_DieuHanh_Tacnghiep: Là các hệ thống phần mềm thực hiện các nghiệp vụ khác nhau của ựơn vị, thực hiện kết nối với dịch vụ Web ựể thực hiện một nghiệp vụ nào ựó, vắ dụ như truy vấn hồ sơ thuê bao, do thử chất lượng ựường dây,..

Queue: Là hàng ựợi lưu các yêu cầu do người sử dụng thông qua giao diện các hệ thống tác nghiệp gửi lên, chờ ựược dịch vụ Web thực hiện.

Topic: Là hàng ựợi lưu kết quả của một yêu cầu sau khi dịch vụ Web ựã thực hiện.

NguoiQuantriHeThong: Quản lý, cập nhật thông tin về các tổng ựài, như mã,

ựịa chỉ IP, port telnet. Thực hiện khởi ựộng các luồng chờ(Listenner) nhận

yêu cầu lên hàng ựợi.

Host: Tổng ựài chuyển mạch, cung cấp dịch vụ ựiện thoại cố ựịnh.[1]

3.3.2.2.2 Các ca sử dụng

GuiYC_vaoHangDoi: Phương thức cho phép các hệ thống tác nghiệp gửi yêu cầu vào hàng ựợi.

93

DangKyNhanKetQua: Các hệ thống tác nghiệp sử dụng phương thức này ựăng ký là một thuê bao của dịch vụ Web ựể nhận kết quả của yêu cầu. LayYCTuHangDoi: Các yêu cầu trên hàng ựợi tự ựộng ựược lấy ra ựể thực hiện.

GuiLenhVaoHost: Gửi lệnh vào tổng ựài và ựợi kết quả từ tổng ựài.

GuiKetQuaVaoHangDoiTopic: Sau khi có kết quả thì gửi vào hàng ựợi kết quả.

KiemTraTonTaiHost: Truy vấn và kiểm tra xem mã tổng ựài có tồn tại không, nếu có thì trả về IP và Port telnet ựể chuẩn bị kết nối, nếu không thì trả thông báo không tồn tại.

KiemTraKetNoi: Thực hiện lệnh ping ựể kiểm tra kết nối mạng trước khi thực hiện lệnh.

QuanTri: Quản trị thông tin về tổng ựài

KhoiDongQueueListener: Mỗi hàng ựợi ựược xây dựng dưới dạng một luồng(Thread), luồng này sẽ ựược khởi ựộng trước ựể mở hàng ựợi cho phép các yêu cầu ựược nhận vào.[1]

94 3.3.2.3 Biểu ựồ lớp clsTelnet telnet : TelnetClient in : InputStream out : OutputStream timeout : Integer = 50 new(ip,port)() isOpen() disConnect() Login(user,password)() readUntil(stop_prompt)() write(msg)() sendCommand(msg,stop_prompt)() clsTextListener onMessage(msg)() clsPing PingTest(ip)() clsHostTelnet atc : clsTelnet dothu(code,sub)() getSubInf(code.sub)() setupService(code,sub,command,service)() clsTopicSubcriber connectionFactory : String topicname : String setTopic(topicname)() getSynchronousMessage() clsService getJMSTopicResult() jmsSendToHost(host,sub,option)() jmsSendToHostSetupService(host,sub,command,service)() clsInitQueueListener queue_name : String thQueueStart[] : Thread run() main() clsHostInf hostname : String hostip : String telnet_port : Integer = 23 loai_host new(connectString)() searchByHost() getHostIP()() getListHost()() clsAsynQueueConsumer getAsynchConsumer(queue)() clsTopicPublisher connectionFactory : String topicname : String setTopic(topicname)() sendToClient(msg)() clsQueueProducer sendToClient(msg,queue)() clsContext context_url username password context_package getInitContext()() Hình 3.3.2.3 - Biểu ựồ lớp a. clsTelnet:

Chức năng: Cung cấp các phương thức kết nối trực tiếp với tổng ựài, ựăng nhập, gửi lệnh, ựọc và chờ kết quả từ tổng ựài, ựóng kết nối.

Các thuộc tắnh:

- telnet: ựối tượng cụ thể của lớp TelnetClient, thực hiện mở một kết nối bằng telnet.

- Inputstream: ựối tượng xử lý luồng dữ liệu vào của telnet. - Outputstream: ựối tượng xử lý luồng dữ liệu cả telnet

- Timeout: thời gian tối ựa ựể thực hiện và ựọc kết quả của một lệnh mà telnet thực hiện.

95 Các phương thức:

- New: Tạo mới một ựối tượng clsTelnet, mở một phiên telnet tới ip và port, tương với một tổng ựài cụ thể.

- isOpen: cho biết trạng thái ựóng hay mở của phiên telnet. - DisConnect: ựóng phiên telnet.

- Login: ựăng nhập vào phiên telnet

- readUntil: ựọc luồng dữ liệu ra của phiên telnet, kết thúc khi gặp chuỗi ký tự stop_promt.

- Write: gửi một thông ựiệp vào vào phiên telnet

- sendCommand: gửi một lệnh vào phiện telnet, chờ kết quả trả ra của telnet, kết thúc khi gặp chuỗi stop_promt.

b. clsHostTelnet.

Chức năng: Thể hiện một tổng ựài cụ thể, cung cấp các phương thức thực hiện các yêu cầu.

Thuộc tắnh:

- Atc: ựối tượng sử dụng clsTelnet, mở phiên telnet vào tổng ựài. Phương thức:

- Dothu: Thực hiện lệnh ựo thử vào tổng ựài tương ứng với tham số code và số thuê subc

- getSubInf: Truy vần thông tin về một thuê bao(subc) của tổng ựài tương ứng với mã tổng ựài.

- setupService: cái ựặt các dịch vụ gia tăng dichvu, cho thuê bao subc, của tổng ựài code.

c. clsPing: Cung cấp phương thức kiểm tra kết nối từ máy chủ dịch vụ Web tới một ựịa chỉ IP.

d. clsHostInf:

Chức năng: Cung cấp các phương thức tìm kiếm của một tổng ựài cần kết nối trong cơ sở dữ liệu.

96 - Hostname: Mã tổng ựài

- Hostip: ựịa chỉ IP tương ứng với mã tổng ựài

- Telnet_port: cổng sử dụng ựể kết nối tới tổng ựài qua phương thức telnet - Loaihost: chủng loại tổng ựài cần kết nối, dựa trên thuộc tắnh này mà ta có

các tập lệnh khai thác khác nhau. Phương thức:

- SearchByHost: tìm kiếm theo một mã tổng ựài, trả về các thông tin như IP, Port, chủng loại

- getHostIP: Tìm kiếm ựịa chỉ IP của một mã tổng ựài

- GetListHost: Trả về danh sách tất cả các tổng ựài khai báo trong hệ thống, phục vụ cho module khởi ựộng luồng hàng ựợi.

e. clsService: Cung cấp giao diện dịch vụ Web cho phép các hệ thống tác nghiệp gửi yêu cầu và ựăng ký nhận kết quả.

f. clsTopicSubcriber: Cung cấp phương thức nhận kết quả từ hàng ựợi. g. clsQueueProceder: Cung cấp phương thức gửi yêu cầu vào hàng ựợi h. clsTopicPublisher: Cung cấp phương thức gửi yêu cầu vào hàng ựợi i. clsInitQueueListener: Khởi ựộng luồng mở hàng ựợi chờ gửi yêu cầu.

j. clsAsynConsumer: Cung cấp phương thức ựược luồng sử dụng ựể khởi ựộng ựối tượng clsTextListenner.

k. clsTextListener: Cung cấp phương thức tự ựộng lấy yêu cầu từ hàng ựợi l. clsInitContext: Cung cấp thông tin và phương thức kết nối tới hàng ựợi trên

97

3.3.2.4 Biểu ựồ tuần tự

Sơ ựồ 1: Một yêu cầu ựược gửi vào hàng ựợi từ hệ thống tác nghiệp[1]

:

HeThong_DieuHanh_TacNghiep :

HeThong_DieuHanh_TacNghiep

: clsService

: clsService : clsQueueProducer : clsQueueProducer

: Queue : Queue

1: jmsSenToHost(host,sub)

2: new()

3: sne2client(hostQueue,sub)

Hình 33.3.2.4.1 - Biểu ựồ tuần tự gửi yêu cầu

Sơ ựồ 2: Yêu cầu ựược lấy ra từ hàng ựợi, xử lý và gửi kết quả vào hàng ựợi kết quả. [1]

: Queue : Queue

: clsTextListener

: clsTextListener host : clsHostTelnethost : clsHostTelnet : clsHostInf : clsHostInf : clsPing : clsPing atc : clsTelnetatc : clsTelnet pubtopic : clsTopicPublisher

pubtopic :

clsTopicPublisher : Topic : Topic : Host : Host 1: onMessage

2: new() 3: setupService(host,sub)

4: getIP(host) 5: khong ton tai host

6: new()

7: sendToTopicClient(msg:Khong ton tai host)

9: sendTextMessage(msg) 8: newpublisher() 10: pingTest(ip) 11: ping command 12: reply 16: new(ip,port)

13: sendToTopicClient(msg:Khong ket noi)

14: newPublisher() 15: sendTextMessage(msg) 18: setupService(msg) 17: setMsg() 19: msg 20: sendToTopicClient(msg) 21: newPublisher() 22: sendTextMessage(msg)

98

Sơ ựồ 3: Hệ thống tác nghiệp ựăng ký là thuê bao của dịch vụ Web ựể tự ựộng nhận kết quả từ hàng ựợi kết quả.[1]

:

HeThong_DieuHanh_TacNghiep :

HeThong_DieuHanh_TacNghiep

: clsService

: clsService : clsTopicSubcriber : clsTopicSubcriber

: Topic : Topic

1: getJMSTopicResult

2: new()

3: getSynchronousMessage

Hình 3.3.2.4.3 - Biểu ựồ tuần tự nhận kết quả

3.3.2.5 Kết quả triển khai sử dụng

Chúng tôi xin trình bày giao diện web của một số phần mềm điều hành sửa chữa và phát triển thuê bao sử dụng dịch vụ Web trên:

- Giao diện ựo thử thông tin chất lượng ựường dây.

Hình 3.3.2.5.1 - Giao diện ựo thử chất lượng - Giao diện truy vấn thông tin thuê bao - Giao diện truy vấn thông tin thuê bao

99

Giao diện chương trình Phát triển thuê bao thực hiện nghiệp vụ treo/khôi phục nợ cước và tháo hủy dịch vụ thuê bao

100

KẾT LUẬN

đánh giá kết quả

Luận văn ựã trình bày các khái niệm cơ bản về SNMP như mô hình hoạt ựộng, cấu trúc quản lý thông tin(SMI) và phương thức quản lý thông tin cơ sở(MIB), ựịnh dạng thông ựiệp, các phương thức hoạt ựộng của SNMP và giới thiệu một số công cụ triển khai, xây dựng, khai thác SNMP. Kiến trúc, ựịnh dạng XML của các thông ựiệp, cấu trúc nội dung các thông ựiệp SOAP, cấu trúc nội dung tệp wsdl, mô hình ựăng ký và công bố dịch vụ Web UDDI, mô hình bảo mật thông ựiệp SOAP. Mô tả các kiểu dữ liệu trong SNMP và dịch vụ Web.

Dựa trên những kiến thức tiếp thu ựược về SNMP và dịch vụ Web, chúng tôi ựã thiết kế và xây dựng một số dịch vụ Web thực hiện khai thác thuê bao internet và ựiện thoại cố ựịnh. Hiện tại dịch vụ Web ựã ựược triển khai áp dụng trong hệ thống ựiều hành sửa chữa và phát triển thuê bao của VNPT Hà nội và thu ựược kết quả tốt. Khi sử dụng các dịch vụ Web, làm cho phạm vi và ựối tượng tham gia khai thác hệ thống DSLAM và tổng ựài ựiện thoại ựã ựược mở rộng tới từng nhân viên kỹ thuật và giao dịch. Giao diện khai thác ựược tập trung vào một hệ thống duy nhất. Cho phép nhân viên khai thác truy vấn thông tin thuê bao trong quá trình lắp ựặt, sửa chữa, tư vấn phát triển dịch vụ, kịp thời ựưa ra quyết ựịnh hỗ trợ khi cần thiết. Hệ thống ựã ựáp ứng ựầy ựủ các yêu cầu ựã ựề ra khi tiến hành xây dựng.

Hàng ngày, có khoảng 10 000 yêu cầu vào hệ thống cung cấp dịch vụ internet và khoảng 100/tổng ựài yêu cầu ựo thử và treo/khôi phục nợ cước thuê bao ựiện thoại cố ựịnh. Hệ thống còn cho phép thực hiện tự ựộng hóa một số nghiệp vụ, thu thập thông tin phục vụ công tác ựánh giá chất lượng mạng lưới. Thực sự là một kênh kết nối trong suốt giữa người sử dụng và hệ thống thiết bị, bỏ qua các thao tác trung gian không cần thiết.

Hướng phát triển tiếp theo

- Triển khai tìm hiểu và áp dụng quản lý các thiết bị mạng của Cisco, Alcatel,Ầ.

101 Tự ựánh giá

Mặc dù ựã cố gắng ựể hoàn thiện ựề tài, nhưng chắc chắn không thể tránh ựược những thiếu sót, em rất mong nhận ựược sự chỉ bảo và giúp ựỡ của các thầy cô giáo, cùng với sự góp ý kiến của những ai quan tâm.

102

TÀI LIỆU THAM KHẢO Tiếng Việt

1. đoàn Văn Ban (2011), ỘGiáo trình Phân tắch, thiết kế hướng ựối tượng với

UMLỢ, Viện CNTT.

2. Trần Vĩnh Thanh (2006), ỘQuản trị mạng tập trung trên nền WEB sử dụng công nghệ SNMP, CGI và CORBA cho hệ thống cung cấp dịch vụ Digital Subscriber Line (DSL) của Bưu ựiện Hà nộiỢ - Luận Văn Thạc sỹ khoa học -

Ngành: Xử lý thông tin và truyền thông.

Tiếng Anh

3. 3WC working Group (2004), ỘWeb Services ArchitectureỢ, http://www.w3.org/TR/ws-arch/.

4. Charles M. Kozierok (2010), "TCP/IP Simple Network Management Protocol (SNMP) Protocol", http://www.tcpipguide.com.

5. David Chappell, Tyler Jewell (2002), "The JavaỎ Webservice Services", O'Reilly, United States of America.

6. Douglas Mauro, Kevin Schmidt (2005), ỘEssential SNMP, 2nd EditionỢ, O'Reilly, United States of America.

7. Eric Armstrong, Jennifer Ball, Stephanie Bodoff, Debbie Bode Carson, Ian Evans, Dale Green, Kim Haase, Eric Jendrock (2005), "The J2EE1.4 Tutorial", Sun Microsystems.

8. Ethan Cerami (2002), ỘWeb Services Essentials, First EditionỢ, O'Reilly, United States of America.

9. Gustavo Alonso (2004), ỘWS-SOA-Security - Web Services - Concepts, Architectures and ApplicationsỢ, Web Services - Concepts, Architectures and Applications, Computer Science DepartmentSwiss Federal Institute of

Technology (ETHZ), slide 9.

10. Kim Haase (2002), ỘJavaỎ Message Service API TutorialỢ, Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California 94303 U.S.A.

11. The Internet Engineering Task Force(IETF), ỘRequest For Comments(RFC)Ợ, http://www.ietf.org/rfc.html.

12. Tom Bellwood (2002), ỘUnderstanding UDDIỢ , Senior Technical Staff Member, EMC, IBM inc.

13. Wikipedia,ỘSimple_Network_Management_ProtocolỢ, http://en.wikipedia.org/wiki/.

Một phần của tài liệu giao thức quản lý mạng và công nghệ dịch vụ web thực hiện khai thác đường dây thuê bao (Trang 89)