Tải bản đầy đủ (.pdf) (158 trang)

Quản lý rủi ro theo các tiêu chi NFP cho các dịch vụ web NFP non functional property aware risk management for web services

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.84 MB, 158 trang )

..

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
---------------------------------------

LUẬN VĂN THẠC SỸ KHOA HỌC

QUẢN LÝ RỦI RO THEO CÁC TIÊU CHÍ NFP
CHO CÁC DỊCH VỤ WEB
NFP (NON-FUNCTIONAL PROPERTY) - AWARE
RISK MANAGEMENT FOR WEB SERVICES
NGÀNH: CÔNG NGHỆ THÔNG TIN
MÃ SỐ:……………..

PHẠM VĂN ĐỒNG
Người hướng dẫn khoa học: TS. VŨ THỊ HƯƠNG GIANG

HÀ NỘI 2010


Quản lý rủi ro theo các tiêu chí NFP cho các dịch vụ Web

LỜI CAM ĐOAN
Tôi – Phạm Văn Đồng, học viên lớp Cao học CNTT 2007-2009 Trường
Đại học Bách Khoa Hà Nội – cam kết Luận văn tốt nghiệp là cơng trình nghiên
cứu của bản thân tơi dưới sự hướng dẫn của TS. Vũ Thị Hương Giang, Viện
CNTT-TT, Trường Đại học Bách Khoa Hà Nội.
Các kết quả nêu trong Luận văn tốt nghiệp là trung thực, khơng sao chép
tồn văn của bất kỳ cơng trình nào khác.


Hà Nội, ngày 04, tháng 02, năm 2010
Học viên: Phạm Văn Đồng
Lớp
: Cao Học CNTT 07-09

Phạm Văn Đồng – Lớp cao học CNTT 07-09 – ĐH Bách Khoa Hà Nội

2


Quản lý rủi ro theo các tiêu chí NFP cho các dịch vụ Web

LỜI CẢM ƠN
Tơi xin bày tỏ lịng biết ơn sâu sắc tới cô giáo, TS. Vũ Thị Hương Giang,
Viện Công Nghệ Thông Tin và Truyền Thông, trường Đại học Bách Khoa Hà Nội,
đã khuyến khích và rất tận tình hướng dẫn tơi trong suốt q trình thực hiện luận
văn. Nhờ sự quan tâm chỉ bảo và những ý kiến đóng góp q báu của cơ, tơi mới
có thể hồn thành luận văn này.
Tơi xin chân thành cảm ơn tập thể các thầy, cô giáo trường Đại học Bách
Khoa Hà Nội nói chung và Viện Cơng Nghệ Thơng Tin và Truyền Thơng nói
riêng đã tận tình giảng dạy truyền đạt cho tôi những kiến thức, kinh nghiệm quý
báu trong suốt những năm học vừa qua.
Tôi cũng xin cảm ơn các giảng viên đồng nghiệp ở trường đại học Mỏ - Địa
chất đã tạo điều kiện về thời gian để tơi có thể học tập và hồn thành luận văn.
Cuối cùng, tơi xin chân thành cảm ơn gia đình, người thân đã hết lòng giúp
đỡ hỗ trợ về vật chất lẫn tinh thần giúp tôi yên tâm học tập và nghiên cứu trong
suốt quá trình học tập và thực hiện luận văn.

Phạm Văn Đồng – Lớp cao học CNTT 07-09 – ĐH Bách Khoa Hà Nội


3


Quản lý rủi ro theo các tiêu chí NFP cho các dịch vụ Web

MỤC LỤC
LỜI CAM ĐOAN ............................................................................................................... 2
LỜI CẢM ƠN ..................................................................................................................... 3
MỤC LỤC .......................................................................................................................... 4
DANH MỤC CÁC HÌNH VẼ ............................................................................................ 7
DANH MỤC CÁC BẢNG ................................................................................................. 8
DANH MỤC CÁC TỪ VIẾT TẮT .................................................................................... 9
MỞ ĐẦU .......................................................................................................................... 10
1. Tính cấp thiết của đề tài ............................................................................................ 10
2. Mục đích nghiên cứu ................................................................................................ 10
3. Nhiệm vụ nghiên cứu................................................................................................ 10
4. Phương pháp nghiên cứu .......................................................................................... 11
5. Phạm vi nghiên cứu .................................................................................................. 11
6. Cấu trúc luận văn ...................................................................................................... 11
CHƯƠNG 1. TỔNG QUAN VỀ DỊCH VỤ WEB.......................................................... 12
1.1 Khái niệm dịch vụ Web .......................................................................................... 12
1.2 Kiến trúc dịch vụ Web ............................................................................................ 15
1.3 Các công cụ xây dựng dịch vụ Web ...................................................................... 16
1.3.1. XML– Extensible Markup Language ............................................................. 16
1.3.2. WSDL - Web Services Description Language ............................................... 16
1.3.3.UDDI - Universal Description, Discovery and Intergration............................ 19
1.3.4. SOAP - Simple Object Accesss Protocol........................................................ 19
1.3.5 Tạo Web Service.............................................................................................. 22
1.4 Các lợi ích của dịch vụ Web ................................................................................... 23
TỔNG KẾT CHƯƠNG ................................................................................................ 26

CHƯƠNG 2. QUẢN LÝ RỦI RO CHO CÁC DỊCH VỤ WEB...................................... 27
2.1 Giới thiệu ................................................................................................................ 27
2.2 Khái niệm quản lý rủi ro ......................................................................................... 27
2.3 Các rủi ro của dịch vụ Web..................................................................................... 28
2.4 Tích hợp quản lý rủi ro dịch vụ Web vào vòng đời phát triển hệ thống - SDLC
(System Develop Life Circle) ....................................................................................... 29
2.5 Các vai trị chính của người tham gia quản lý rủi ro dịch vụ Web ......................... 30
2.6 Quy trình quản lý rủi ro cho dịch vụ Web .............................................................. 31
2.6.1 Đánh giá rủi ro cho dịch vụ Web ..................................................................... 32
2.6.2 Giảm nhẹ rủi ro cho dịch vụ Web.................................................................... 49
2.6.3 Ước lượng và đánh giá..................................................................................... 63
TỔNG KẾT CHƯƠNG ................................................................................................ 65
CHƯƠNG 3. CÁC TIÊU CHÍ NFP ĐỐI VỚI DỊCH VỤ WEB ...................................... 66
3.1 Giới thiệu ................................................................................................................ 66
3.2 An toàn (Security)................................................................................................... 66
3.3 Chịu lỗi (Fault Tolerance)....................................................................................... 67
3.4 Thực thi (Implementation) ...................................................................................... 69
3.5 Sẵn sàng (Availability) ........................................................................................... 71
3.6 Tin cậy (Reliability)................................................................................................ 71
3.7 Phục hồi (Recovery) ............................................................................................... 72
3.8 Tương thao tác (Interoperability)............................................................................ 73
Phạm Văn Đồng – Lớp cao học CNTT 07-09 – ĐH Bách Khoa Hà Nội

4


Quản lý rủi ro theo các tiêu chí NFP cho các dịch vụ Web
TỔNG KẾT CHƯƠNG ................................................................................................ 74
CHƯƠNG 4. QUẢN LÝ RỦI RO CHO DỊCH VỤ WEB THEO TIÊU CHÍ AN TỒN
........................................................................................................................................... 75

4.1 Giới thiệu ................................................................................................................ 75
4.2 Quy trình quản lý rủi ro an toàn dịch vụ Web ........................................................ 76
4.3 Thiết lập ngữ cảnh (Context establishment) ........................................................... 78
4.3.1 Nghiên cứu tổng thể (General consideration) .................................................. 78
4.3.2 Các tiêu chí cơ bản........................................................................................... 78
4.3.3 Xác định phạm vi và các giới hạn.................................................................... 80
4.3.4 Vai trò của tổ chức đối với quản lý rủi ro an toàn dịch vụ Web...................... 81
4.4 Đánh giá rủi ro an tồn dịch vụ Web ...................................................................... 81
4.4.1 Mơ tả về đánh giá rủi ro an toàn dịch vụ Web................................................. 81
4.4.2 Các bước đánh giá rủi ro.................................................................................. 82
4.5 Xử lý rủi ro an toàn dịch vụ Web (WS Security Risk Treatment).......................... 90
4.5.1 Mô tả tổng quát về xử lý rủi ro ........................................................................ 90
4.5.2 Giảm nhẹ rủi ro (Risk Reduction).................................................................... 92
4.5.3 Duy trì rủi ro (Risk retention) .......................................................................... 93
4.5.4 Tránh rủi ro (Risk avoidance) .......................................................................... 94
4.5.5 Chuyển đổi rủi ro (Risk transfer) ..................................................................... 94
4.6 Chấp nhận rủi ro an toàn dịch vụ Web (WS security risk acceptance).................. 94
4.7 Truyền đạt rủi ro an toàn dịch vụ Web (WS security risk communication) ........... 95
4.8 Theo dõi và xem lại rủi ro an toàn dịch vụ Web (WS security risk monitoring and
review) .......................................................................................................................... 96
4.8.1 Theo dõi và xem lại các nhân tố rủi ro (Monitoring and review of risk factors)
................................................................................................................................... 96
4.8.2 Theo dõi, xem lại và cải tiến quản lý rủi ro (Risk management monitoring,
reviewing and improving)......................................................................................... 97
TỔNG KẾT CHƯƠNG ................................................................................................ 99
CHƯƠNG 5. XÂY DỰNG THỬ NGHIỆM CHƯƠNG TRÌNH QUẢN LÝ RỦI RO
THỬ NGHIỆM THEO TIÊU CHÍ AN TỒN ĐỐI VỚI CÁC DỊCH VỤ WEB......... 101
5.1 Khảo sát thực trạng quản lý rủi ro an toàn và chịu lỗi của dịch vụ Web tại một số
cơ quan, doanh nghiệp ở Việt Nam ............................................................................ 101
5.1.1 Mục đích khảo sát .......................................................................................... 102

5.1.2 Nội dung khảo sát .......................................................................................... 102
5.1.3 Kết quả khảo sát............................................................................................. 102
5.2 Chương trình thử nghiệm quản lý rủi ro dịch vụ Web theo tiêu chí an tồn ........ 105
5.2.1 Bước 1.1 Xác định phạm vi hệ thống ............................................................ 111
5.2.2 Bước 1.2 Tài liệu hệ thống............................................................................. 112
5.2.3 Bước 1.3 Thang đo đánh giá rủi ro ................................................................ 113
5.2.4 Bước 2.1 Xác định tài sản.............................................................................. 114
5.2.5 Bước 3.1 Xác định yêu cầu............................................................................ 116
5.2.6 Bước 3.2 Định giá tài sản............................................................................... 117
5.2.7 Bước 4.1 Xác định các mối đe dọa và điểm yếu............................................ 118
5.2.8 Bước 4.2 Mức độ rủi ro.................................................................................. 119
5.2.9 Bước 5.1 Các rủi ro của hệ thống .................................................................. 121
5.2.10 Bước 6.1 Tùy chọn xử lý rủi ro.................................................................... 122
5.2.11 Bước 6.2 Lựa chọn mục tiêu kiểm soát và các kiểm soát............................ 124

Phạm Văn Đồng – Lớp cao học CNTT 07-09 – ĐH Bách Khoa Hà Nội

5


Quản lý rủi ro theo các tiêu chí NFP cho các dịch vụ Web
5.2.12 Bước 6.3 Giảm nhẹ rủi ro ............................................................................ 126
5.2.13 Bước 7.1 hướng dẫn tính ứng dụng của kiểm soát ...................................... 127
5.2.14 Bước 8.1 Thực thi các kiểm soát đã chọn.................................................... 129
TỔNG KẾT CHƯƠNG .............................................................................................. 131
KẾT LUẬN..................................................................................................................... 132
1. Các nội dung đã hoàn thành trong luận văn............................................................ 132
2. Các đóng góp khoa học........................................................................................... 132
3. Hướng phát triển luận văn ...................................................................................... 133
TÀI LIỆU THAM KHẢO .............................................................................................. 135

TÓM TẮT LUẬN VĂN ................................................................................................. 136
THESIS SUMARY......................................................................................................... 137
PHỤ LỤC 1. KHẢO SÁT THỰC TRẠNG QUẢN LÝ RỦI RO AN TOÀN VÀ CHỊU
LỖI DỊCH VỤ WEB: KHUNG CÂU HỎI BẮT BUỘC ............................................... 138
PHỤ LỤC 2. KHẢO SÁT THỰC TRẠNG QUẢN LÝ RỦI RO AN TOÀN VÀ CHỊU
LỖI DỊCH VỤ WEB: KHUNG CÂU HỎI TÙY CHỌN............................................... 151

Phạm Văn Đồng – Lớp cao học CNTT 07-09 – ĐH Bách Khoa Hà Nội

6


Quản lý rủi ro theo các tiêu chí NFP cho các dịch vụ Web

DANH MỤC CÁC HÌNH VẼ
Hình 1.1 Kiến trúc dịch vụ Web ....................................................................................... 15
Hình 1.2 Cấu trúc WSDL.................................................................................................. 17
Hình 1.3 Cấu trúc message SOAP .................................................................................... 20
Hình 1.4 Các thành phần cần thiết trong một web service và mối quan hệ giữa các thành
phần................................................................................................................................... 23
Hình 2.1 Quy trình phương pháp đánh giá rủi ro.............................................................. 33
Hình 2.2 Các điểm hành động giảm nhẹ rủi ro ................................................................. 51
Hình 2.3 Biểu đồ phương pháp giảm nhẹ rủi ro (Risk Mitigation Methodology Flowchart)
........................................................................................................................................... 54
Hình 2.4 Các kiểm sốt kỹ thuật....................................................................................... 56
Hình 2.5 Các kiểm soát đã thực thi và rủi ro dư thừa ....................................................... 63
Hình 3.1 Vịng đời thực thi dịch vụ Web.......................................................................... 70
Hình 4.1 Quy trình quản lý rủi ro an tồn dịch vụ Web ................................................... 76
Hình 4.2 Hành động xử lý rủi ro....................................................................................... 91
Hình 5.1 Các chức năng chính của hệ thống .................................................................. 106

Hình 5.2 Thu thập thơng tin hệ thống ............................................................................. 107
Hình 5.3 Các rủi ro của hệ thống .................................................................................... 108
Hình 5.4 Các quyết định quản lý rủi ro........................................................................... 109
Hình 5.5 Thực thi kiểm sốt ........................................................................................... 110
Hình 5.6 Bước 1.1 Xác định phạm vi hệ thống .............................................................. 112
Nhiệm vụ: đưa ra các tài liệu được sinh ra bởi hệ thống ................................................ 112
Bước 5: Nếu cần thiết, xóa bất kỳ tài liệu khỏi “Danh sách tài liệu đã chọn” bằng cách
chọn tài liệu và nhấp vào nút "Xóa tài liệu". .................................................................. 112
Hình 5.7 Bước 1.2 Tài liệu hệ thống............................................................................... 113
Hình 5.8 Bước 1.3 Thang đo đánh giá rủi ro .................................................................. 114
Hình 5.9 Bước 2.1 Xác định tài sản................................................................................ 115
Hình 5.10 Bước 3.1 Xác định yêu cầu............................................................................ 116
Hình 5.11 Bước 3.2 Định giá tài sản............................................................................... 118
Hình 5.12 Bước 4.1 Xác định các mối đe dọa và điểm yếu............................................ 119
Hình 5.13 Bước 4.2 Mức độ rủi ro.................................................................................. 121
Hình 5.14 Bước 5.1 Các rủi ro của hệ thống .................................................................. 122
Hình 5.15 Bước 6.1 Tùy chọn xử lý rủi ro...................................................................... 124
Hình 5.16 Bước 6.2 Lựa chọn mục tiêu kiểm sốt và các kiểm sốt.............................. 125
Hình 5.17 Bước 6.3 Giảm nhẹ rủi ro .............................................................................. 127
Hình 5.18 Bước 7.1 hướng dẫn tính ứng dụng của kiểm sốt ........................................ 129
Hình 5.19 Bước 8.1 Thực thi các kiểm sốt đã chọn...................................................... 130

Phạm Văn Đồng – Lớp cao học CNTT 07-09 – ĐH Bách Khoa Hà Nội

7


Quản lý rủi ro theo các tiêu chí NFP cho các dịch vụ Web

DANH MỤC CÁC BẢNG

Bảng 2.1 Tích hợp quản lý rủi ro vào trong SDLC........................................................... 29
Bảng 2.2 Các tổn hại do con người:.................................................................................. 37
Bảng 2.3 Vulnerability/Threat Pairs ................................................................................. 39
Bảng 2.4 Tiêu chuẩn an toàn............................................................................................. 42
Bảng 2.5 Xác định khả năng xảy ra .................................................................................. 44
Bảng 2.6 Xác định độ lớn của tác động ............................................................................ 46
Bảng 2.7 Ma trận mức độ rủi ro........................................................................................ 47
Bảng 2.8 Tỷ lệ rủi ro và các hành động cần thiết ............................................................. 48
Bảng 4.1 Sự liên kết giữa hệ thống quản lý an tồn thơng tin và quy trình quản lý rủi ro
an tồn dịch vụ Web ......................................................................................................... 78

Phạm Văn Đồng – Lớp cao học CNTT 07-09 – ĐH Bách Khoa Hà Nội

8


Quản lý rủi ro theo các tiêu chí NFP cho các dịch vụ Web

DANH MỤC CÁC TỪ VIẾT TẮT
STT

Từ viết tắt

Giải nghĩa

1.
2.
3.
4.
5.

6.
7.
8.
9.

FT
HTML
GUI
NVP
NFP
SOAP
XML
W3C
WS

Fault Tolerant
Hyper Text Markup Language
Graphical User Interface
N- Version Programming
Non – Functional Property
Simple Object Access Protocol
eXtensible Markup Language
World Wide Web Consortium
Web Service

Phạm Văn Đồng – Lớp cao học CNTT 07-09 – ĐH Bách Khoa Hà Nội

9



Quản lý rủi ro theo các tiêu chí NFP cho các dịch vụ Web

MỞ ĐẦU
1. Tính cấp thiết của đề tài
Quản lý rủi ro là một vấn đề quan trọng trong việc phát triển các ứng dụng
về công nghệ thông tin. Với việc phát triển như vũ bão hiện nay của cơng nghệ
Web thì việc giảm thiểu rủi ro khi khai thác các dịch vụ Web là một vấn đề cấp
thiết. Bên cạnh đó, việc duy trì các tiêu chí mô tả chất lượng dịch vụ (NFP) như
bảo mật, chịu lỗi, v.v. là một vấn đề rất được các nhà cung cấp dịch vụ quan tâm.
Trên thế giới đã có nhiều nghiên cứu về quản lý rủi ro cũng như về các tiêu
chí NFP (Non-Funtional Property) cho phần mềm nói chung và cho các dịch vụ
nói riêng. Tuy nhiên, hiện chưa có một nghiên cứu cụ thể về mối quan hệ tương hỗ
giữa hai vấn đề này. Do không đánh giá được mức độ ảnh hưởng của các tiêu chí
NFP đến mức độ rủi ro khi khai thác các dịch vụ Web nên rất khó có thể đưa ra
các mơ hình quản lý rủi ro phù hợp cho các dịch vụ Web có các tiêu chí NFP khác
nhau.

2. Mục đích nghiên cứu
Mục đích của luận văn là nghiên cứu quản lý rủi ro theo các tiêu chí NFP
cho các dịch vụ Web. Trước tiên tư tưởng và các kỹ thuật dịch vụ Web nói chung
sẽ được đào sâu nghiên cứu tìm hiểu. Tiếp theo luận văn sẽ nghiên cứu tiêu chí
NFP của dịch vụ Web là an tồn.
Vì mục tiêu là quản lý rủi ro nên luận văn cũng tìm hiểu về các mơ hình
quản lý rủi ro, khảo sát tình hình thực tế mà các cơ quan, tổ chức, doanh nghiệp tại
Việt Nam đang gặp phải trong việc quản lý rủi ro về an toàn và chịu lỗi của dịch
vụ Web.
Luận văn sẽ phân tích và đưa ra một mơ hình quản lý rủi ro phù hợp với
tiêu chí an toàn của dịch vụ Web.
Một ứng dụng thử nghiệm sẽ được xây dựng để thử nghiệm tính khả thi của
mơ hình.


3. Nhiệm vụ nghiên cứu





Nghiên cứu về các dịch vụ web
Nghiên cứu về quản lý rủi ro
Tìm hiểu các tiêu chí NFP của các dịch vụ Web : chịu lỗi và an tồn
Phân tích đánh giá sự ảnh hưởng của các tiêu chí trên đến việc quản lý rủi
ro đối với các dịch vụ web
• Khảo sát hiện trạng quản lý rủi ro về an toàn và chịu lỗi của dịch vụ Web
tại các cơ quan, tổ chức, doanh nghiệp tại Việt Nam
• Xây dựng mơ hình quản lý rủi ro phù hợp và cài đặt thử nghiệm

Phạm Văn Đồng – Lớp cao học CNTT 07-09 – ĐH Bách Khoa Hà Nội

10


Quản lý rủi ro theo các tiêu chí NFP cho các dịch vụ Web

4. Phương pháp nghiên cứu
Phương pháp nghiên cứu là tìm hiểu rộng tất cả các nghiên cứu đã có trên
thế giới về quản lý rủi ro an tồn dịch vụ Web. Với những kiến thức đó ta sẽ tổng
hợp, phân tích và đưa ra các đề xuất cụ thể. Những đề xuất, kỹ thuật đó sẽ được
kiểm nghiệm bằng cách xây dựng ứng dụng thử nghiệm chứng minh tính khả thi
và đúng đắn của nó.


5. Phạm vi nghiên cứu
Phạm vi nghiên cứu nằm trong vấn đề quản lý rủi ro của dịch vụ Web theo
các tiêu chí NFP. Tập các tiêu chí NFP rất đa dạng và phức tạp. Ngoài ra các kỹ
thuật quản lý rủi ro cho dịch vụ Web còn là lĩnh vực khá mới mẻ ở Việt Nam.
Chính vì vậy mục tiêu của luận văn là đặt phạm vi nghiên cứu ở mức tìm hiểu và
đưa ra những kiến thức nền tảng cho việc áp dụng kỹ thuật quản lý rủi ro cho dịch
vụ Web theo tiêu chí chịu lỗi và an tồn đưa ra được đầy đủ toàn diện được tất cả
các tiêu chí NFP khác.

6. Cấu trúc luận văn






Với mục tiêu như trên luận văn sẽ được trình bày theo bố cục như sau:
Chương 1: Tổng quan về dịch vụ Web. Chương này đặt vấn đề và trình bày
một số khái niệm và các phương pháp, kỹ thuật chung trong xây dựng dịch
vụ Web.
Chương 2: Quản lý rủi ro cho các dịch vụ Web. Chương này trình bày về
quy trình quản lý rủi ro đối với các dịch vụ Web.
Chương 3: Các tiêu chí NFP đối với dịch vụ Web. Chương này nghiên cứu
các tiêu chí ngồi chức năng (NFP) ảnh hưởng đến việc quản lý rủi ro của
một dịch vụ Web.
Chương 4: Quản lý rủi ro cho dịch vụ Web theo tiêu chí an tồn. Chương
này đưa ra một quy trình giúp quản lý rủi ro an toàn dịch vụ Web.
Chương 5: Khảo sát thực trạng và xây dựng chương trình quản lý rủi ro thử
nghiệm theo tiêu chí an tồn và chịu lỗi đối với dịch vụ Web. Chương này
nghiên cứu về tình hình quản lý rủi ro an tồn và chịu lỗi dịch vụ Web tại

các cơ quan, tổ chức, và doanh nghiệp tại Việt Nam để hướng tới xây dựng
một giải pháp quản lý rủi ro an toàn và chịu lỗi dịch vụ Web hiệu quả cho
các đơn vị đó. Sau đó, luận văn xây dựng một ứng dụng thử nghiệm quy
trình quản lý rủi ro an tồn dịch vụ Web.

Phạm Văn Đồng – Lớp cao học CNTT 07-09 – ĐH Bách Khoa Hà Nội

11


Quản lý rủi ro theo các tiêu chí NFP cho các dịch vụ Web

CHƯƠNG 1. TỔNG QUAN VỀ DỊCH VỤ WEB
Hiện nay, dịch vụ Web đang phát triển mạnh mẽ và cung ứng cho các nhu cầu
thiết yếu về nhiều mặt của đời sống xã hội như thương mại điện tử, e-learning, giải
trí, quảng cáo … Vậy dịch vụ Web là gì? Dịch vụ Web có cấu trúc như thế nào?
Dịch vụ Web gồm các thành phần nào? Các lợi ích cũng như rủi ro đối với dịch vụ
Web là gì? Dịch vụ Web bị tấn cơng dưới các hình thức nào? Các nội dung đó sẽ
được sáng tỏ trong chương này.

1.1 Khái niệm dịch vụ Web
Có nhiều định nghĩa về dịch vụ Web, từ định nghĩa theo khoa học cơng nghệ
đến định nghĩa một cách đơn giản. Ví dụ, tổ chức W3C (World Wide Web
Consortium) – tổ chức thiết lập chuẩn cho dịch vụ Web đưa ra định nghĩa: “Một
dịch vụ Web là một hệ thống phần mềm được nhận dạng bởi một URI trong đó có
các giao diện dùng chung và các kết nối được định nghĩa và mơ tả qua XML. Định
nghĩa của W3C có thể được nhận biết qua một số hệ thống phần mềm. Các hệ
thống phần mềm này có thể tương tác với dịch vụ Web thông qua quy cách đã
được định nghĩa, sử dụng thông điệp cơ sở XML truyền qua giao thức mạng”. Một
định nghĩa đơn giản và có lẽ hữu ích hơn đó là: “Một dịch vụ Web là một ứng

dụng phần mềm, có thể truy cập được trên Web thơng qua URL, nó được truy cập
bởi các máy khách qua sử dụng giao thức XML cơ sở, như là Simple Object
Access Protocol (SOAP), gửi và nhận thông tin qua các giao thức mạng, như là
HTTP. Các máy trạm truy cập một ứng dụng dịch vụ Web qua các giao diện và kết
nối của ứng dụng đó – thể hiện qua sử dụng XML, như là một Web Services
Definition Language (WSDL) file”.
Dịch vụ Web là kết quả của cuộc cách mạng tất yếu của Web. Đầu tiên,
Web bao gồm nhiều site gồm các trang HTML đơn giản. Sau đó, các ứng dụng
Web động sinh ra các trang HTML giống nhau. Ví dụ, một trang Web bản đồ ban
đầu chỉ đưa ra các liên kết tĩnh để kết nối các thành phố và địa điểm. Sau đó, trang
Web này trở thành một ứng dụng bản đồ Web đưa ra các chỉ dẫn lái xe, bản đồ
theo yêu cầu của khách hàng, và các vấn đề tương tự như thế. Mặc dù đã mở rộng
về tính năng, các ứng dụng Web vẫn bị giới hạn bởi ràng buộc về tính năng GUI
của các trang HTML. Dịch vụ Web vượt qua giới hạn này, chúng chia tách trang
Web hay ứng dụng từ các trang HTML và GUI của chúng. Thay vào đó, dịch vụ
được thể hiện trong XML và sẵn dùng thông qua Web bởi XML. Kết quả , trang
Web bản đồ ở trên có thể mở rộng tính năng của nó để cung cấp cho một dịch vụ
Web mà các doanh nghiệp khác có thể sử dụng để đưa ra các định hướng cho các
địa điểm về văn phòng của các doanh nghiệp đó, tích hợp với hệ thống định vị
tồn cầu, và các vấn đề tương tự như vậy.

Phạm Văn Đồng – Lớp cao học CNTT 07-09 – ĐH Bách Khoa Hà Nội

12


Quản lý rủi ro theo các tiêu chí NFP cho các dịch vụ Web

Dịch vụ Web, hay đơn giản hơn là các dịch vụ, xây dựng trên nền kiến thức
lấy từ nhiều mơi trường tính tốn phân tán đã có (như là CORBA và Java Remote

Method Invocation) để cho phép trao đổi thông tin và thao tác của các phần giữa
các ứng dụng đến các ứng dụng. dịch vụ Web đưa ra một con đường chuẩn cho
các ứng dụng mở rộng tính năng của nó trên nền Web hay trao đổi thông tin với
các ứng dụng khác trên mạng mà không quan tâm đến sự thực thi của các ứng
dụng, ngơn ngữ lập trình hay nền tảng máy tính.
Dịch vụ Web có thể cung cấp một giải pháp cho một doanh nghiệp để mở
rộng giao dịch, tăng tiện ích khi xử lý kinh doanh và để cải thiện kinh nghiệm về
khách hàng của doanh nghiệp đó. Bằng cách gộp các dịch vụ của doanh nghiệp
với sự chào hàng của các đối tác, cả doanh nghiệp và đối tác có thể mở rộng khả
năng và cơ sở kinh doanh. WS không chỉ giúp tự động hóa xử lý kinh doanh mà
nó cịn có thể tương tác với các dịch vụ bên ngồi như là thẻ tín dụng và các dịch
vụ vận chuyển. Như vậy, khách hàng được mời chào tốt hơn: thêm nhiều lựa chọn
cùng với nhiều tính năng mềm dẻo hơn.
Dịch vụ Web dựa trên kiến trúc hướng dịch vụ, đó là kiến trúc đẩy mạnh
tính tái sử dụng của phần mềm bằng cách tạo ra các lớp dịch vụ có thể tái sử dụng
được. Kiến trúc hướng đối tượng truyền thống đẩy mạnh tính tái sử dụng bằng
cách sử dụng lại các lớp và các đối tượng. Sau đó, kiến trúc hướng thành phần
nhấn mạnh vào sử dụng các thành phần phần mềm như là các thực thể tái sử dụng.
Các thành phần này bao gồm một tập các lớp liên quan, các tài nguyên và các
thông tin cấu hình. Kiến trúc hướng thành phần duy trì một cách thức thiết kế hệ
thống phần mềm mạnh mẽ; tuy nhiên, chúng không xác định các vấn đề phát sinh
thêm trong các môi trường doanh nghiệp hiện tại. Ngày nay, các môi trường doanh
nghiệp là khá phức tạp do sử dụng vô số phần mềm và nền tảng phần cứng, trao
đổi thơng tin phân tán trên nền tảng mạng, tích hợp các ứng dụng doanh nghiệp …
Kiến trúc hướng dịch vụ xác định các vấn đề này bằng cách sử dụng một dịch vụ
như là một thực thể tái sử dụng. Các dịch vụ có đặc trưng là thơ cứng hơn các
thành phần, và chúng tập trung vào tính năng được đưa ra qua các giao diện. Các
dịch vụ trao đổi thông tin với nhau và với máy khách đầu cuối thông qua các giao
diện đã được định nghĩa và biết đến. Q trình trao đổi thơng tin có phạm vi từ
chuyển tin nhắn đơn giản giữa các dịch vụ cho đến các kịch bản phức tạp trong đó

một tập các dịch vụ cùng nhau hoàn thành một mục tiêu chung. Kiến trúc này cho
phép các máy khách trên mạng có thể gọi các tính năng của dịch vụ thơng qua các
giao diện mở ra của dịch vụ.
Trong kiến trúc hướng dịch vụ :
• Dịch vụ thực thi lớp business logic và đưa ra qua các giao diện
• Đăng ký – tại đó dịch vụ đưa ra giao diện của nó để cho phép máy khách sử
dụng dịch vụ.

Phạm Văn Đồng – Lớp cao học CNTT 07-09 – ĐH Bách Khoa Hà Nội

13


Quản lý rủi ro theo các tiêu chí NFP cho các dịch vụ Web

• Các máy trạm: (bao gồm các máy có thể tự phục vụ) – khám phá dịch vụ
bằng cách sử dụng đăng ký và truy cập dịch vụ trực tiếp thông qua các giao
diện mở.
Một thuận lợi lớn của kiến trúc hướng dịch vụ đó là nó cho phép sự pháp triển của
các cặp ứng dụng (loosely-coupled application) đó là có thể phân tán và truy cập
được thông qua mạng. Để sử dụng kiến trúc này, chúng ta cần:
• Cơ chế cho phép các máy khách đăng ký và truy cập dịch vụ
• Cơ chế cho phép các dịch vụ khác nhau đăng ký và một cách thức cho các
máy khách tìm kiếm đăng ký cho các dịch vụ. Dịch vụ Web được dựa trên
kiến trúc trong đó dịch vụ có thể được đặt trên mạng và vị trí của nó là
trong suốt, qua đó các máy khách có thể tự động khám phá ra một phần
dịch vụ mà họ muốn sử dụng.
• Cơ chế cho các dịch vụ mở ra các giao diện thân thiện và một con đường để
các máy khách truy cập vào các giao diện đó.
Một điểm lưu ý quan trọng đó là dịch vụ Web hỗ trợ rất mạnh bằng cách ảo

hóa tồn bộ các người chơi chính trong vũ đài Web (Web arena). Sự hỗ trợ ảo này
bảo đảm rằng công nghệ dịch vụ Web đang hiện hữu và sự chấp nhận được của nó
sẽ trở nên rộng rãi. Khác với các môi trường phân tán truyền thống, dịch vụ Web
nhấn mạnh tính thao tác giữa các phần. Dịch vụ Web khơng phụ thuộc vào một
ngơn ngữ lập trình cụ thể nào, trong khi đó các mơi trường truyền thống thường
giới hạn ở một ngơn ngữ lập trình nào đó.
Tương tự như vậy, do chúng có thể dễ dàng giới hạn bởi một số cơ chế vận
chuyển, dịch vụ Web đưa ra tính khả chuyển hơn trong việc lựa chọn các cơ chế
này. Hơn nữa, không giống như các môi trường lập trình truyền thống, dịch vụ
Web thường khơng giới hạn bởi các máy khách khác nhau hay nền tảng của máy
chủ. Nhờ vào XML, dịch vụ Web nhận được một số thuận tiện hơn, từ khi XML
làm cho dịch vụ Web có thể sử dụng tài liệu thơng qua mơi trường không đồng
nhất.
Dịch vụ Web, bằng cách xây dựng dựa trên các chuẩn Web đã có, có thể
được sử dụng mà không cần yêu cầu sự thay đổi bên trong nền tảng cơ sở của
Web. Tuy nhiên, trong khi chúng có thể thân thiện hơn các mơi trường tính tốn
truyền thống, thì dịch vụ Web cũng khơng dự định sẽ tiện ích hơn trong việc xử lý
thời gian và khơng gian

Phạm Văn Đồng – Lớp cao học CNTT 07-09 – ĐH Bách Khoa Hà Nội

14


Quản lý rủi ro theo các tiêu chí NFP cho các dịch vụ Web

1.2 Kiến trúc dịch vụ Web
Kiến trúc của web service bao gồm các tầng như sau :

Hình 1.1 Kiến trúc dịch vụ Web


Trong đó bao gồm các tầng:
- Tầng vận chuyển (Transport) với những công nghệ chuẩn là HTTP,
SMTP và JMS.
- Tầng giao thức tương tác dịch vụ (Service Communication Protocol)
với công nghệ chuẩn là SOAP. SOAP là giao thức nằm giữa tầng
vận chuyển và tầng mô tả thông tin về dịch vụ, SOAP cho phép
người dùng triệu gọi một service từ xa thông qua một message XML
- Tầng mô tả dịch vụ (Service Description) với công nghệ chuẩn là
WSDL và XML. WSDL là một ngôn ngữ mô tả giao tiếp và thực thi
dựa trên XML. Web service sử dụng ngôn ngữ WSDL để truyền các
tham số và các loại dữ liệu cho các thao tác, chức năng mà web
service cung cấp
- Tầng dịch vụ (Service): cung cấp các chức năng của service
- Tầng đăng ký dịch vụ (Service Registry) với công nghệ chuẩn là
UDDI .UDDI dùng cho cả người dùng và SOAP server, nó cho phép
đăng ký dịch vụ để người dùng có thể gọi thực hiện service từ xa qua
mạng, hay nói cách khác một service cần phải được đăng ký để cho
phép các client có thể gọi thực hiện

Phạm Văn Đồng – Lớp cao học CNTT 07-09 – ĐH Bách Khoa Hà Nội

15


Quản lý rủi ro theo các tiêu chí NFP cho các dịch vụ Web
-

Bên cạnh đó để cho các service có tính an tồn, tồn vẹn và bảo mật
thơng tin trong kiến trúc web service chúng ta có thêm các tầng

Policy, Security, Transaction, Management giúp tăng cường tính bảo
mật, an tồn và tồn vẹn thơng tin khi sử dụng dịch vụ

1.3 Các công cụ xây dựng dịch vụ Web
1.3.1. XML– Extensible Markup Language
XML do W3C đề ra và được phát triển từ SGML. XML là một ngôn ngữ mô tả
văn bản với cấu trúc do người sử dụng định nghĩa.Về hình thức XML có ký pháp
tựa như HTML nhưng khơng tuân theo một đặc tả quy ước như HTML. Người sử
dụng hay các chương trình có thể quy ước định dạng các tag XML để giao tiếp với
nhau.Thông tin cần truyền tải được chứa trong các tag XML,ngồi ra khơng chứa
bất cứ thông tin nào khác về cách sử dụng hay hiển thị những thông tin ấy.
Do web service là sự kết hợp của nhiều thành phần khác nhau, do đó web services
sử dụng các tính năng và đặc trưng của các thành phần này để giao tiếp với nhau.
Vì vậy XML là một cơng cụ chính yếu để giải quyết vấn đề này. Từ kết qủa này,
các ứng dụng tích hợp vĩ mơ tăng cường sử dụng XML. Nhờ có khả năng tổng
hợp này mà XML đã trở thành kiến trúc nền tảng cho việc xây dựng web service.
Web services tận dụng khả năng giải quyết vấn đề của các ứng dụng lớn trên các
hệ điều hành khác nhau cho chúng giao tiếp với nhau. Yêu cầu này được đáp ứng
với lập trình với Java, một ngơn ngữ viết một lần sử dụng mọi nơi là một chọn lựa
thích hợp cho phát triển web services.
1.3.2. WSDL - Web Services Description Language
WSDL định nghĩa cách mô tả web service theo cú pháp tổng quát XML, bao gồm
các thông tin:
- Tên ̣service
- Giao thức và kiểu mã hóa sẽ được sử dụng khi gọi các hàm của web
service
- Loại thông tin: những thao tác, những tham số, và những kiểu dữ
liệu gồm có giao diện của web service, cộng với tên cho giao diện
này
Một WSDL hợp lệ gồm có hai phần:

- Phần giao diện mô tả giao diện và giao thức kết nối
- Phần thi hành mô tả thông tin để truy xuất service
Cả 2 phần trên sẽ được lưu trong 2 tập tin XML, bao gồm:
- Tập tin giao diện service (cho phần 1)
- Tập tin thi hành service (cho phần 2).

Phạm Văn Đồng – Lớp cao học CNTT 07-09 – ĐH Bách Khoa Hà Nội

16


Quản lý rủi ro theo các tiêu chí NFP cho các dịch vụ Web

Hình 1.2 Cấu trúc WSDL

1.3.2.1 Tập tin giao diện - Service Interface
WSDL mô tả 5 loại thông tin chính bao gồm: import, types, message, portType,
binding.
a. Types:WSDL định nghĩa các kiểu dữ liệu của thông điệp gửi.
<definitions .... >
<types>
<xsd:schema .... />*
</types>
</definitions>
b. Thông điệp (message): mô tả thông điệp được gửi giữa client và server.
<definitions .... >
<message name="nmtoken"> *
*
</message>
</definitions>

Những định nghĩa message được sử dụng bởi phần tử thi hành service. Nhiều thao
tác có thể tham chiếu tới cùng định nghĩa message.
Thao tác và những message được mơ hình riêng rẽ để hỗ trợ tính linh hoạt và đơn
giản hóa việc tái sử dụng lại. Chẳng hạn, hai thao tác với cùng tham số có thể chia
sẻ một định nghĩa message.
c. Kiểu cổng (port type):WSDL mô tả cách gửi và nhận thông điệp.
<wsdlDefinitions .... >
<wsdlPortType name="nmtoken">
<wsdl:operation name="nmtoken" .... /> *
</wsdlPortType>
</wsdlDefinitions>
WSDL định nghĩa bốn kiểu thao tác mà một cổng có thể hỗ trợ:
- One-way: cổng nhận một message, message đó là message nhập.
- Request-response: cổng nhận một message và gửi một message phản hồi
- Solicit-response: cổng gửi một message và nhận về một message
- Notification: cổng gửi một message, message đó là message xuất.

Phạm Văn Đồng – Lớp cao học CNTT 07-09 – ĐH Bách Khoa Hà Nội

17


Quản lý rủi ro theo các tiêu chí NFP cho các dịch vụ Web

Mỗi kiểu thao tác có cú pháp biến đổi tùy theo: thứ tự của các message nhập, xuất
và lỗi.
Ví dụ:
<wsdlDefinitions .... >
<wsdl:operation name="nmtoken" parameterOrder="nmtokens">
<wsdl:input name="nmtoken"? message="qname"/>

<wsdl:output name="nmtoken"? message="qname"/>
<wsdl:fault name="nmtoken" message="qname"/>*
</wsdl:operation>
</wsdlPortType >
</wsdlDefinitions>
d. Kết hợp (Binding) :định nghĩa cách các web services kết hợp với nhau.
Một kết hợp bao gồm:
- Những giao thức mở rộng cho những giao tác và những message bao gồm
thơng tin URN và mã hóa cho SOAP
- Mỗi một kết hợp tham chiếu đến một loại cổng; một kiểu cổng (portType)
có thể được sử dụng trong nhiều mối kết hợp. Tất cả các thao tác định nghĩa
bên trong kiểu cổng phải nằm trong phạm vi mối kết hợp.

1.3.2.2 Tập tin thi hành - Service Implementation
WSDL mơ tả 2 loại thơng tin chính bao gồm: service và port.
a. Dịch vụ (Service): Nó sẽ thực hiện những gì đã được định nghĩa trong tập
tin giao diện và cách gọi web services theo thủ tục và phương thức nào:
<wsdlDefinitions .... >
<wsdl:service name="nmtoken"> *
<wsdlPort .... />*
</wsdl:service>
</wsdlDefinitions>
b. Port là một cổng đầu cuối, nó định nghĩa như một tập hợp của binding và
một địa chỉ mạng.
<wsdlDefinitions .... >
<wsdl:service .... > *
<wsdlPort name="nmtoken" binding="qname"> *
</wsdlPort>
</wsdl:service>
</wsdlDefinitions>

Ở đây chúng ta thấy rằng thuộc tính kết hợp tên là qname. Nó tham chiếu tới
một mối kết hợp. Một cổng chứa đựng chính xác một địa chỉ mạng; Bất kỳ
cổng nào trong phần thi hành phải tương ứng chính xác với một tham chiếu
trong phần giao diện.

Phạm Văn Đồng – Lớp cao học CNTT 07-09 – ĐH Bách Khoa Hà Nội

18


Quản lý rủi ro theo các tiêu chí NFP cho các dịch vụ Web

1.3.2.3 WSDL API
WSDL4J là một dự án nguồn mở , hiện tại có một WSDL Java API được
gọi là WSDL4J. Bộ WSDL4J cung cấp cho chúng ta các hàm API để thực hiện
việc tạo WSDL dễ dàng hơn so với cách sử dụng trực tiếp cú pháp theo dạng tag
như trên. Tên gói chứa các API này là javax.wsdl.
1.3.3.UDDI - Universal Description, Discovery and Intergration
Để có thể sử dụng các dịch vụ, trước tiên client phải tìm dịch vụ, ghi nhận
thông tin về cách sử dụng dịch vụ và biết được đối tượng cung cấp dịch vụ. UDDI
định nghĩa một số thành phần cho biết trước các thơng tin này để cho phép các
client truy tìm và nhận lại những thông tin yêu cầu sử dụng web services.
Cấu trúc UDDI:
Cấu trúc UDDI gồm các thành phần:
- Trang trắng -White pages: chứa thông tin liên hệ và các định dạng chính
yếu của web services, chẳng hạn tên giao dịch, địa chỉ, … Những thông tin
này cho phép các đối tượng khác xác định được service
- Trang vàng -Yellow pages: chứa thông tin mô tả web services theo những
chủng loại khác nhau. Những thông tin này cho phép các đối tượng thấy
web services theo từng chủng loại của nó

- Trang xanh -Green pages: chứa thông tin kỹ thuật mô tả các hành vi và các
chức năng của web services. Các đối tượng dựa vào đặc điểm của web
services để tìm kiếm
- Loại dịch vụ - tModel: chứa các thơng tin về loại dịch vụ sử dụng
Những UDDI registry hiện có:
- UDDI Business Registry: bộ đăng ký được bảo trì bởi Microsoft, IBM đặc
điểm của bộ đăng ký này là nó phân tán về mặt vật lý
- IBM Test Registry: bộ đăng ký cho những người phát triển để thử nghiệm
công nghệ và kiểm tra những service của họ
- Private registries IBM ships: bộ đăng ký UDDI cá nhân
1.3.4. SOAP - Simple Object Accesss Protocol
Đến đây chúng ta đã hiểu được web services là như thế nào, nó được cơng
bố và truy xuất ở đâu. Nhưng chúng ta vẫn còn một vấn đề khá quan trọng đó
là: làm thế nào chúng ta truy xuất dịch vụ khi tìm thấy? Câu trả lời là web
servicves có thể truy xuất bằng một giao thức là Simple Object Access
Protocol – SOAP. Nói cách khác chúng ta có thể truy xuất đến UDDI registry
bằng các lệnh gọi hoàn toàn theo kiểu SOAP.
SOAP là một giao thức giao tiếp có cấu trúc như XML và mã hóa thành
định dạng chung cho các ứng dụng trao đổi với nhau. Ý tưởng bắt đầu từ
Microsoft và phần mềm Userland, trải qua nhiều lần thay đổi, hiện tại là phiên
bản SOAP 1.2 với nhiều ưu điểm vuợt trội hơn bản SOAP 1.1. SOAP được

Phạm Văn Đồng – Lớp cao học CNTT 07-09 – ĐH Bách Khoa Hà Nội

19


Quản lý rủi ro theo các tiêu chí NFP cho các dịch vụ Web

xem như là cấu trúc xương sống của các ứng dụng phân tán xây dựng từ nhiều

ngôn ngữ, hệ điều hành khác nhau.

1.3.4.1 Đặc trưng SOAP
SOAP có những đặc trưng sau:
- SOAP được thiết kế đơn giản và dễ mở rộng.
- Tất cả các message SOAP đều được mã hóa sử dụng XML
- SOAP sử dùng giao thức truyền dữ liệu riêng
- Khơng có garbage collection phân tán, và cũng khơng có cơ chế tham
chiếu. Vì thế SOAP client không giữ bất kỳ một tham chiếu đầy đủ nào về
các đối tượng ở xa
- SOAP không bị ràng buộc bởi bất kỳ ngơn ngữ lập trình nào hoặc cơng
nghệ nào
Vì những đặc trưng này, nó khơng quan tâm đến cơng nghệ gì được sử dụng để
thực hiện miễn là người dùng sử dụng các message theo định dạng XML. Tương
tự, service có thể được thực hiện trong bất kỳ ngơn ngữ nào, miễn là nó có thể xử
lý được những message theo định dạng XML.

1.3.4.2 Cấu trúc một message theo dạng SOAP
Cấu trúc một message theo dạng SOAP được mơ tả như hình dưới đây:

Hình 1.3 Cấu trúc message SOAP

Message theo dạng SOAP là một văn bản XML bình thường bao gồm các phần
tử sau:
- Phần tử gốc - envelop : phần từ bao trùm nội dung message, khai báo văn
bản XML như là một thông điệp SOAP
- Phần tử đầu trang – header : chứa các thông tin tiêu đề cho trang, phần tử
này không bắt buộc khai báo trong văn bản. Những đầu mục còn có thể
mang những dữ liệu chứng thực, những chữ ký số hóa, và thơng tin mã hóa,
hoặc những cài đặt cho giao tác

- Phần tử khai báo nội dung chính trong thông điệp - body, chứa các thông
tin yêu cầu và phản hồi

Phạm Văn Đồng – Lớp cao học CNTT 07-09 – ĐH Bách Khoa Hà Nội

20


Quản lý rủi ro theo các tiêu chí NFP cho các dịch vụ Web

-

Phần tử phát sinh lỗi (Fault) cung cấp thơng tin lỗi xảy ra trong qúa trình xử
lý thông điệp
Trong trường hợp đơn giản nhất, phần thân của SOAP message gồm có:
- Tên của message
- Một tham khảo tới một thể hiện service
- Một hoặc nhiều tham số mang các giá trị và mang các tham chiếu. Có 3
kiểu thông báo:
o Request messages: với các tham số gọi thực thi một service
o Response messages với các tham số trả về, được sử dụng khi đáp
ứng yêu cầu
o Fault messages báo tình trạng lỗi

1.3.4.3 Những kiểu truyền thơng
SOAP hỗ trợ hai kiểu truyền thông khác nhau:
- Remote procedure call (RPC): cho phép gọi hàm hoặc thủ tục qua mạng.
Kiểu này được khai thác bởi nhiều web service và có nhiều trợ giúp.
- Document: được biết như kiểu hướng message: kiểu này cung cấp một lớp
thấp của sự trừu tượng hóa, và u cầu người lập trình nhiều hơn khi làm

việc
Các định dạng message, tham số, và lời gọi đến các API thì tương ứng trong RPC
và document là khác nhau. Nên việc quyết định chọn cái nào tùy thuộc vào thời
gian xây dựng và sự phù hợp của service cần xây dựng.

1.3.4.4 Mơ hình dữ liệu
Mục đích của mơ hình dữ liệu SOAP là cung cấp những một sự trừu tượng hóa
độc lập ngơn ngữ cho kiểu ngơn ngữ lập trình chung. Nó gồm có:
- Những kiểu XSD đơn giản như những kiểu dữ liệu cơ bản trong đa số các
ngơn ngữ lập trình như int, string, date, …
- Những kiểu phức tạp, có hai loại là struct và array.
Tất cả các phần tử và những định danh có trong mơ hình dữ liệu SOAP thì được
định nghĩa bằng namespace SOAP-ENC.

1.3.4.5 Mã hóa
Trong những mơi trường tính tốn phân tán, mã hóa định nghĩa làm sao giá
trị của dữ liệu trong ứng dụng có thể được dịch từ khn dạng nghi thức. Khuôn
dạng nghi thức cho những web service là XML, giả sử ở đây chúng ta giả thiết
rằng service requestor và service provider phát triển trong Java. Vì vậy, mã hóa
SOAP là trong mơi trường thực thi để làm thế nào chuyển đổi từ cấu trúc dữ liệu
Java sang SOAP XML và ngược lại. Một ánh xạ định nghĩa là mối quan hệ giữa
một phần tử XML, một lớp Java, và một trong những loại mã hóa giới thiệu ở trên.
Một ánh xạ chỉ rõ làm cách nào, để khi đã mã hóa mà một phần tử XML đầu vào
vẫn chuyển đổi được tới một lớp Java và ngược lại.Chúng ta quan tâm tới hai
phương hướng ánh xạ là XML tới Java và Java tới XML. Bất kỳ môi trường thực
Phạm Văn Đồng – Lớp cao học CNTT 07-09 – ĐH Bách Khoa Hà Nội

21



Quản lý rủi ro theo các tiêu chí NFP cho các dịch vụ Web

thi SOAP nào cũng phải có một bảng chứa những mục ánh xạ, gọi là
SOAPMappingRegistry.
Nếu một kiểu dữ liệu được giả thiết sẽ được sử dụng dưới một loại mã hóa
nhất định, thì một ánh xạ tương ứng phải tồn tại trong bộ đăng ký (registry) của
môi trường thực thi SOAP đó. Đa số các kiểu Java chuẩn cũng như JavaBeans đều
mặc định là được hỗ trợ.
Những kiểu dữ liệu khơng chuẩn (do tự định nghĩa) thì cần ánh xạ trên cả
server và client.
1.3.5 Tạo Web Service
Để tạo một web service chúng ta cần xây dựng các tầng cần thiết trong kiến
trúc web service hay nói cách khác là xây dựng và thiết lập các thành phần trong
các tầng đó, cụ thể là các thành phần SOAP, WSDL, UDDI, XML, trong đó:
- SOAP là giao thức nằm giữa tầng vận chuyển và tầng mô tả thông tin về
dịch vụ, SOAP cho phép người dùng triệu gọi một service từ xa thông qua
một message XML
- WSDL là một ngôn ngữ mô tả giao tiếp và thực thi dựa trên XML. Web
service sử dụng ngôn ngữ WSDL để truyền các tham số và các loại dữ liệu
cho các thao tác, các chức năng mà web service cung cấp
- UDDI dùng cho cả người dùng và ̣ SOAP server, nó cho phép đăng ký dịch
vụ để người dùng có thể gọi thực thi các hàm, các chức năng của web
service hay nói cách khác một service cần phải được đăng ký để cho phép
các client có thể gọi thực hiện
- Bên cạnh đó chúng ta cũng phải quan tâm đến việc làm sao để cho các
service có tính an tồn, tồn vẹn và bảo mật thơng tin trong web services
nhất là các service liên quan đến giao dịch thương mại và tài chính. Chúng
ta sẽ tìm hiểu nội dung này trong các phần tiếp theo
Sơ đồ dưới đây cho chúng ta thấy rõ hơn về các thành phần cần thiết trong một
web service và mối quan hệ giữa các thành phần


Phạm Văn Đồng – Lớp cao học CNTT 07-09 – ĐH Bách Khoa Hà Nội

22


Quản lý rủi ro theo các tiêu chí NFP cho các dịch vụ Web

Hình 1.4 Các thành phần cần thiết trong một web service và mối quan hệ giữa các
thành phần

1.4 Các lợi ích của dịch vụ Web
WS đang được phổ biến dựa vào các lợi ích mà chúng cung cấp. Ở đây liệt kê
một số lợi ích chính của WS:
• Tương thao tác giữa các phần trong mơi trường khơng đồng nhất – Có
lẽ lợi ích chính của mơ hình WS là nó cho phép các dịch vụ phân tán khác
nhau có thể chạy trên nhiều nền tảng phần mềm, kiến trúc khác nhau và cho
phép chúng có thể được viết lại bằng các ngơn ngữ lập trình khác nhau. Khi
các doanh nghiệp phát triển, theo thời gian, họ thêm các hệ thống và giải
pháp yêu cầu thường xuyên các nền tảng khác nhau và thường không trao
đổi thông tin với nhau. Sau đó, do yêu cầu của sự đồng nhất hay sự dùng
thêm các ứng dụng khác, việc cần thiết là gắn kết các chức năng tách biệt
này. Sức mạnh lớn nhất của WS là khả năng của WS trong việc cho phép
xử lý giữa các phần trong môi trường không đồng nhất. Ngay sau khi các
hệ thống khác nhau được cho phép WS thì chúng có thể được sử dụng các
dịch vụ để thao tác giữa các phần.
• Các dịch vụ kinh doanh trên Web – Một doanh nghiệp có thể sử dụng
WS để thúc đẩy các thuận lợi của Web và các tính năng của nó. Ví dụ, một
doanh nghiệp có thể tạo ra các danh mục sản phẩm và hàng hóa tồn kho sẵn
sàng cho các nhà cung cấp thông qua WS để đạt được sự quản lý theo dây

chuyền cung cấp tốt hơn.
• Sự tích hợp với các hệ thống đã có – Hầu hết các doanh nghiệp đều có
một lượng dữ liệu lưu trữ khổng lồ tại các hệ thống thông tin doanh nghiệp,
và cái giá để thay thế các hệ thống này là không hề nhỏ. WS cho phép các

Phạm Văn Đồng – Lớp cao học CNTT 07-09 – ĐH Bách Khoa Hà Nội

23


Quản lý rủi ro theo các tiêu chí NFP cho các dịch vụ Web

nhà phát triển ứng dụng doanh nghiệp tái sử dụng các tài sản thơng tin đã
có này. WS cung cấp cho các nhà phát triển một con đường chuẩn để truy
cập tầng Middle-tier, và tích hợp chúng với các ứng dụng khác. Thêm vào
đó, vì các dịch vụ này được cung cấp nhất quán nên các nhà phát triển
khơng cần học các mơ hình hay kiểu lập trình mới khi mà cần tích hợp.
• Tự do lựa chọn – Các chuẩn WS đã mở ra một thị trường lớn cho các tool,
sản phẩm và công nghệ. Điều này đưa cho các doanh nghiệp sự đa dạng
trong chọn lựa và họ có thể lựa chọn cấu hình phù hợp nhất đối với yêu cầu
ứng dụng của họ. Các nhà phát triển có thể tăng cường năng suất của họ,
thay vì phát triển giải pháp của chính họ, họ có thể lựa chọn từ các thành
phần ứng dụng đã có sẵn trên thị trường. Hơn nữa, các tool cung cấp khả
năng nhanh gọn và dễ dàng hơn trong việc chuyển từ một cấu hình này
sang cấu hình khác theo yêu cầu. WS cũng cho phép tiêu chuẩn hóa các
tool, do đó các tool phát triển có thể được các tool mới kế thừa, từ các nhà
cung cấp máy chủ hay các nhà phát triển tool thứ 3.
• Hỗ trợ nhiều loại máy khách – Khi đối tượng chính của WS là tăng cường
tính năng thao tác giữa các phần, mở rộng các ứng dụng và dịch vụ đã tồn
tại, thì WS cũng tăng phạm vi để vươn tới các loại máy khách khác nhau.

Điều này không quan tâm đến nền tảng của các máy khách: khơng vấn đề
gì khi mà các máy trạm được xây dựng dựa trên nền tảng Java hay
Microsoft hay thậm chí là nó dựa trên nền tảng khơng dây. Trước mắt, một
WS có thể giúp bạn mở rộng ứng dụng và dịch vụ tới một tập lớn các loại
máy khách.
• Năng suất lập trình – Để tăng năng suất trong kinh tế thông tin, yêu cầu
khả năng phát triển và triển khai các ứng dụng theo thời gian. Các ứng dụng
phải được ra thật nhanh từ khuôn mẫu đến sản phẩm và bắt buộc phải tiếp
tục mở ra ngay cả sau khi chúng đã được đặt vào trong sản phẩm. Năng
suất được tăng lên khi đội phát triển ứng dụng có một chuẩn để truy cập các
dịch vụ yêu cầu bởi các ứng dụng đa tầng và chuẩn để hỗ trợ được sự đa
dạng của các máy khách. WS, bằng cách tạo ra một chuẩn lập trình chung,
trợ giúp tăng cường năng suất lập trình. Theo sự xuất hiện của WS, các nhà
phát triển lập trình trong mơi trường tính tốn phân tán đã dựa vào tập gồm
nhiều loại khác nhau các công nghệ không thường xuyên tương thích. Các
nhà phát triển nỗ lực để gắn kết các hệ thống đầu cuối khác nhau, như là cả
các hệ thống quản lý dữ liệu chuẩn và tùy chọn, và các xử lý giao dịch, với
các công nghệ Web truyền thống, nhưng đã có quan hệ với vơ số các mơ
hình lập trình. Bởi vì WS giới thiệu một chuẩn thông dụng trên Web, các
nhà cung cấp, trong sự quan tâm đến việc chống đỡ cạnh tranh, đã phù hợp
hơn trong việc phát triển các tool và công nghệ tốt hơn. Các tool và công
nghệ này sẽ thu hút các nhà phát triển vì chúng nhấn mạnh việc tăng năng
suất lập trình.
Phát triển các ứng dụng cũng trở nên phức tạp hơn bởi yêu cầu rằng một ứng
dụng riêng biệt hỗ trợ một kiểu riêng biệt máy khách hay một vài kiểu đồng thời.

Phạm Văn Đồng – Lớp cao học CNTT 07-09 – ĐH Bách Khoa Hà Nội

24



Quản lý rủi ro theo các tiêu chí NFP cho các dịch vụ Web

Do đó WS đưa ra khả năng thao tác giữa các phần, đơn giản hóa khía cạnh này của
tiến trình phát triển ứng dụng.

Phạm Văn Đồng – Lớp cao học CNTT 07-09 – ĐH Bách Khoa Hà Nội

25


×