Khóa luận Xây dựng Service Proxy để kiểm chứng ràng buộc thời gian trong Web Service Composition

ĐẠI HỌC QUỐC GIA HÀ NỘI  
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ  
  
Nguyễn Đức Trung  
XÂY DỰNG SERVICE PROXY ĐỂ KIM CHỨNG RÀNG BUỘC  
THI GIAN TRONG WEB SERVICE COMPOSITION  
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HCHÍNH QUY  
Ngành : Công Nghệ Thông Tin  
NỘI, 2009  
ĐẠI HỌC QUỐC GIA HÀ NỘI  
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ  
  
Nguyễn Đức Trung  
XÂY DỰNG SERVICE PROXY ĐỂ KIM CHỨNG RÀNG BUỘC  
THI GIAN TRONG WEB SERVICE COMPOSITION  
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HCHÍNH QUY  
Ngành : Công Nghệ Thông Tin  
Cán bộ hướng dẫn: TS. Trương Ninh Thuận  
NỘI, 2009  
i
LỜI CẢM ƠN  
Em xin gửi lời cảm ơn sâu sắc nhất đến TS. Trương Ninh Thuận, người thầy đã cho  
em định hướng, tận tình chỉ bảo em những ý kiến quý báu về công nghệ Web Service, các  
kiến thức về chất lượng dịch vụ Web. Thầy đã giúp đỡ em rất nhiều và đi cùng em trong  
suốt thời gian thực hiện khoá luận. Thầy chỉ cho em cách tiếp cận, nghiên cứu một công  
nghệ mới, cách tìm ra những giải pháp cho vấn đề mắc phải.  
Em xin chân thành cảm ơn quý Thầy Cô và các bạn đã giúp đỡ em trong những  
năm học qua. Em xin cảm ơn Bộ môn Công nghệ phần mềm, Khoa Công nghệ thông tin,  
Trường Đại Học Công Nghệ, Đại Học Quốc Gia Hà Nội đã tạo điều kiện thuận lợi cho  
em trong suốt quá trình học tập và làm khoá luận này.  
Đề tài “Xây dựng Service Proxy để kiểm chứng ràng buộc thời gian trong Web  
Service Composition ” là một đề tài khá mới mẻ, lại được hoàn thành trong quỹ thời gian  
hạn hẹp nên khó tránh khỏi những khiếm khuyết. Em mong nhận được những góp ý chân  
thành từ thầy cô giáo và các bạn để đề tài có thể được mở rộng và nghiên cứu kỹ hơn, đưa  
vào trong thực tiễn ngành công nghệ thông tin hiện nay.  
Hà Nội, ngày 15 tháng 05 năm 2009  
Sinh viên:  
Nguyễn Đức Trung  
ii  
TÓM TẮT KHOÁ LUẬN  
Ngày nay cùng với sự phát triển mạnh mẽ của môi trường Internet, các ứng dụng  
triển khai trên nền Web ngày càng được phát triển rộng rãi và phong phú. Đồng thời đi  
cùng sự phát triển mạnh mẽ của nền kinh tế thị trường là nhu cầu áp dụng công nghệ  
thông tin vào trong các quy trình thương mại ngày càng trở nên phổ biến và là điểm mấu  
chốt để các tổ chức doanh nghiệp giải quyết công việc của mình. Sự ra đời của Web  
Service được coi là một công nghệ mang đến cuộc cách mạng trong cách thức hoạt động  
của các dịch vụ B2B – Business to Bussiness và B2C – Bussiness to Customer. Giá trị cơ  
bản của dịch vụ Web dựa trên việc cung cấp các phương thức theo chuẩn trong việc truy  
cập đối với hệ thống đóng gói và kế thừa. Các phần mềm được viết bởi những ngôn ngữ  
lập trình khác nhau và chạy trên các nền tảng khác nhau có thể sử dụng Web Service để  
chuyển đổi dữ liệu thông qua mạng Internet.  
Nội dung của khóa luận đưa ra một cái nhìn tổng quát về công nghệ Web Service,  
phân tích và tìm hiểu các thành phần chuẩn được sử dụng trong công nghệ Web Service,  
đi vào nghiên cứu kiến trúc về Web Service. Từ những kiến thức thu được về công nghệ  
Web Service, khóa luận đi đến một hướng tiếp cận mới đó là tìm hiểu về chất lượng các  
dịch vụ Web – QoS cho Web Service dựa trên mô hình tích hợp Web Service với các  
Web Service Composition. Từ các kiến thức về chất lượng các dịch vụ Web, khóa luận sẽ  
tìm hiểu về một khía cạnh chất lượng dịch vụ Web đó là kiểm chứng ràng buộc thời gian  
đáp ứng của các Web Service Composition và mô hình hóa các ràng buộc thời gian trên  
biểu đồ UML Timing Diagram.  
Để minh họa cho việc kiểm chứng ràng buộc thời gian đáp ứng của các Web  
Service Composition, chúng tôi đã tiến hành xây dựng một ứng dụng nhỏ là Web Service  
Travel-Agent và tiến hành đo lường thời gian đáp ứng của các Service Composition hợp  
thành lên Web Service Travel-Agent đó.  
iii  
MỤC LỤC  
CHƯƠNG 1: ĐẶT VẤN ĐỀ ............................................................................................1  
1.1. Bối cảnh ................................................................................................................1  
1.2. Mục tiêu khóa luận ...............................................................................................2  
1.3. Cấu trúc khóa luận................................................................................................3  
CHƯƠNG 2: CÔNG NGHỆ WEB SERVICE.................................................................5  
2.1. Kiến trúc hướng dịch vụ SOA ...............................................................................5  
2.1.1. Khái niệm kiến trúc hướng dịch vụ SOA........................................................5  
2.1.2. Nguyên tắc thiết kế của SOA ..........................................................................6  
2.2. Công nghệ Web Service.........................................................................................7  
2.2.1. Tổng quan về Web Service..............................................................................7  
2.2.2. Kiến trúc Web Service.....................................................................................9  
2.2.3. Các công nghệ của Web Service ...................................................................13  
CHƯƠNG 3: QoS CHO WEB SERVICE......................................................................24  
3.1. Chất lượng dịch vụ Web Service – QoS cho Web Service ...................................24  
3.2. Các yêu cầu về chất lượng dịch vụ cho Web Service...........................................25  
3.3. QoS cho các dịch vụ Web ....................................................................................27  
3.4. Điều chỉnh và thiết lập ràng buộc QoS ...............................................................27  
3.5. Hiệu ứng thắt cổ chai trong quá trình thực thi của Web Service........................28  
3.6. Đánh giá hiệu năng giao thức SOAP..................................................................29  
3.7. Phương pháp tiếp cận để cung cấp chất lượng dịch vụ cho Web Service...........30  
CHƯƠNG 4: BIỂU ĐỒ TIMING DIAGRAM...............................................................32  
4.1. Giới thiệu UML ...................................................................................................32  
4.2. Tổng quan về biểu đồ Timing Diagram...............................................................33  
4.3. Mục đích của biểu đồ Timing Diagram...............................................................34  
4.4. Các kí hiệu của biểu đồ Timing Diagram ...........................................................34  
4.5. Các thành phần của biểu đồ Timing Diagram....................................................36  
iv  
4.5.1. Các trạng thái ...............................................................................................36  
4.5.2. Các sự kiện và các thông điệp.......................................................................37  
4.5.3. Thời gian.......................................................................................................38  
4.5.4. Các đường State-Line ...................................................................................39  
4.5.5. Ràng buộc thời gian......................................................................................40  
CHƯƠNG 5: BÀI TOÁN NGHIÊN CỨU .....................................................................42  
5.1. Tìm hiểu về Service Proxy...................................................................................42  
5.2. Tìm hiểu về Web Service Composition ................................................................45  
5.3. Bài toán kiểm chứng ràng buộc thời gian đáp ứng của các Web Service  
Composition ...............................................................................................................49  
5.3.1. Giới thiệu bài toán ........................................................................................49  
5.3.2. Mục tiêu và yêu cầu của bài toán .................................................................50  
5.3.3. Phân tích bài toán.........................................................................................51  
CHƯƠNG 6: THỰC NGHIỆM .....................................................................................54  
6.1. Phạm vi ứng dụng ...............................................................................................54  
6.2. Thiết kế ứng dụng ...............................................................................................56  
6.3. Cài đặt, xây dựng và triển khai ứng dụng...........................................................58  
6.3.1. Cài đăt chương trình.....................................................................................58  
6.3.2. Xây dựng và triển khai các Web Services thành phần..................................61  
6.3.3. Xây dựng và triển khai Service Proxy...........................................................66  
6.3.4. Phát triển chương trình client và thực nghiệm.............................................69  
CHƯƠNG 7: KẾT LUẬN ..............................................................................................74  
v
DANH SÁCH CÁC THUẬT NGỮ VÀ KHÁI NIỆM  
THUẬT NGỮ  
KHÁI NIỆM  
Service Oriented Architecture – Kiến trúc hướng dịch vụ  
SOA  
Service  
Các Serivice có sẵn có thể được dùng để tích hợp lên một Web  
Service lớn hơn. Hoặc là một Web Service thành phn chuyên  
biệt phục vụ cho một nhiệm vụ  
Composition  
Web Service được tổng hợp lên từ các Service Composition  
Service Composite  
Service Provider  
Service Consumer  
Nhà cung cấp dịch vụ Web Service. Đây chính là các nguồn  
cung cấp đưa ra các dịch vụ cho khách hàng sử dụng  
Đây chính là dịch vụ ở phía người sử dụng, yêu cầu các dịch vụ  
đưa ra bởi Service Provider  
Nơi chấp nhận các yêu cầu đưa ra bởi Service Consumer, liên  
hệ với Service Provider để lấy dịch vụ trả về cho Service  
Consumer  
Service Broken  
W3C  
Viết tắt của Word Wide Web Consortium – là một tổ chức lập  
ra các chuẩn cho các công nghệ chạy trên nền Internet, đặc biệt  
là Word Wide Web  
Quality of Service - Chất lượng dịch vụ  
Thông điệp yêu cầu  
QoS  
Message request  
Message response  
Thông điệp đáp ứng  
vi  
DANH SÁCH CÁC HÌNH VẼ  
Hình 1:  
Web Service cho phép truy cập tới các code ứng dụng sử dụng chuẩn công  
nghệ Internet.....................................................................................................................7  
Hình 2: Web Service cung cấp một tầng trừu tượng giữa ứng dụng client và ứng dụng  
cần gọi tới. .......................................................................................................................8  
Hình 3:  
Hình 4:  
Hình 5:  
Hình 6:  
Hình 7:  
Hình 8:  
Hình 9:  
Mô tả cơ chế hoạt động của Web Service........................................................9  
Web Service technology stack .......................................................................10  
TCP/IP network model..................................................................................11  
Mô tả cấu trúc của một thông điệp XML .......................................................14  
Mô tả cấu trúc của một thông điệp SOAP .....................................................15  
Mô tả thông điệp SOAP faults.......................................................................16  
Mô tả việc trao đổi thông điệp SOAP thông qua giao thức HTTP .................17  
Hình 10: Mô tả thành phần binding trong tài liệu WSDL.............................................20  
Hình 11: Minh họa ví dụ của một tài liệu WSDL..........................................................20  
Hình 12: Minh họa cấu trúc dữ liệu businessService ...................................................22  
Hình 13: Biểu đồ Timing Diagram dưới dạng “Robus Diagram................................35  
Hình 14: Biểu đồ Timing Diagram dưới dạng mở rộng................................................36  
Hình 15: Minh họa các trạng thái được thể hiện trong biểu đồ Timing Diagram.........37  
Hình 16: Minh họa các sự kiện và thông điệp trong biểu đồ Timing Diagram .............38  
Hình 17: Minh họa thể hiện thời gian trong biểu đồ Timing Diagram..........................39  
Hình 18: Thời gian ước lượng trong biểu đồ Timing Diagram.....................................39  
Hình 19: Minh họa các đường state-line trong biểu đồ Timing Diagram .....................40  
Hình 20: Minh họa các ràng buộc thời gian trong biểu đồ Timing Diagram................40  
Hình 21: Minh hoạ mô hình Web Service với Service Proxy ........................................42  
Hình 22: Minh họa mô hình tích hợp Web Service.......................................................46  
Hình 23: Minh hoạ mô hình tổng quan bài toán Travel-Agent .....................................51  
Hình 24: Minh hoạ đường Lifeline cho SearchHotel Service........................................52  
Hình 25: Minh hoạ đường Lifeline cho SearchFlight Service.......................................53  
vii  
Hình 26: Minh họa thiết kế tổng thể của ứng dụng ......................................................56  
Hình 27: Biểu đồ tuần tự của hệ thống.........................................................................57  
Hình 28: Minh họa giao diện Admin của apache soap trên Web Server tại cổng 2417.59  
Hình 29: Minh họa giao diện Admin của apache soap trên Web Server tại cổng 8080.60  
Hình 30: Minh họa trang Admin của Apache Axis trên Web Server tại cổng 8080.......60  
Hình 31: Code kết nối database trong file SearchHotel Service ...................................61  
Hình 32: Nội dung của tệp deploy.wsdl........................................................................62  
Hình 33: Danh sách các dịch vụ liệt kê trên web site soap engine................................63  
Hình 34: Nội dung file deploy.wsdd.............................................................................64  
Hình 35: Các dịch vụ được liệt kê trên trang quản trị của Axis....................................65  
Hình 36: Nội dung file WSDL của dịch vụ SearchFlightService...................................66  
Hình 37: Code Service Proxy goi tới SearchFlightService...........................................67  
Hình 38: Minh họa đo lường thời gian đáp ứng...........................................................68  
Hình 39: Minh họa test chương trình...........................................................................70  
Hình 40: Biểu đồ Timing Diagram mô tả ràng buộc thời gian của WSComposition.....71  
Hình 41: Minh hoạ mô hình kiểm chứng ràng buộc thời gian đáp ứng.........................72  
viii  
CHƯƠNG 1: ĐẶT VẤN ĐỀ  
1.1. Bối cảnh  
Sự phát triển của công nghệ thông tin cho phép ứng dụng hiệu quvào các hoạt  
động kinh doanh, giải trị, quản lý cũng như một số lĩnh vực khoa học xã hội khác. Sự  
bùng nổ của Internet đã trở thành một điều kiện hết sức thuận lợi, đem lại hiệu suất cao  
trong công việc đồng thời giảm thiểu chi phí cho các doanh nghiệp. Tuy nhiên các yêu  
cầu vnghiệp vphức tạp trong hthống này dẫn đến các hthống phn mềm tương ứng  
cũng ngày càng trnên phức tạp, cồng kềnh và khó kim soát. Rt nhiều yêu cầu nghiệp  
vụ đòi hỏi xlý các vn đề liên quan đến dliệu phân tán, xlý các thông tin khác nhau  
do nhiều tchức nắm giữ. Đã có nhiều kiến trúc phần mềm được đưa ra nhưng chưa đủ  
mạnh để giải quyết được vấn đề này. Sự ra đời của kiến trúc phần mềm hướng dịch vụ đã  
mở ra một hướng đi mới trong việc giải quyết các loại bài toán này.  
Kiến trúc SOA định nghĩa một kiểu kiến trúc cho việc xây dựng các hệ thống phân  
tán theo hướng dịch vụ, tức là hệ thống được phân tách thành các module chương trình,  
và các module này được phát triển độc lập, các module sử dụng các công nghệ khác nhau  
nhưng vẫn có thể giao tiếp được với nhau. Một công nghệ tiêu biểu nhất cho kiến trúc  
hướng dịch vụ là công nghWeb Service. Với công nghệ Web Service, mỗi Service ở đây  
là một module có thể thực hiện các công việc khác nhau, ta có thể tổng hợp các Service  
thành phần lại để cùng thực hiện một công việc lớn, đó được gọi là công nghệ tích hợp  
Web Service, khi đó mỗi Service thành phần được gọi là một Service Composition. Sự ra  
đời của công nghệ Web Service đã đem lại rất nhiều lợi thế cho việc chia sẻ tài nguyên  
qua mạng, trợ giúp xây dựng các hệ thống phân tán đồng thời đáp ứng được tính mềm dẻo  
cần thiết, hệ thống có thể dễ dàng chấp nhận những thay đổi lớn so với thiết kế ban đầu  
mà vẫn đảm bảo cho vấn đề nâng cấp và bảo trì sau này. Web Service đem đến đầy đủ sự  
1
đáp ứng cần thiết cho các quy trình B2B – Bussiness to Bussiness và B2C – Bussiness to  
Customer, chính vì thế Web Service hiện tại đang là một thuật ngữ đang được nhắc đến  
rất nhiều và ngày càng được sử dụng rộng rãi.  
Tuy nhiên Web Service là một công nghệ triển khai thông qua môi trường Internet  
cho nên vấn đề về chất lượng các dịch vụ Web cũng là một vấn đề đáng lưu tâm, chính vì  
thế đã xuất hiện các tiêu chuẩn chất lượng dịch vụ cho Web Service – QoS cho Web  
Service. Một khía cạnh về QoS cho Web Service đó là thời gian đáp ứng của các dịch vụ  
Web, đây là một vấn đề rất đáng quan tâm vì Web Service là một kiến trúc phần mềm  
phân tán, cho nên thường có một sự liên kết giữa các dịch vụ với nhau. Khi thời gian đáp  
ứng của một dịch vụ quá lâu có thể dẫn đến ảnh hưởng tới các dịch vụ khác. Mặt khác khi  
có nhiu nhà cung cp dịch vWeb thì khi đó scó nhiều slựa chọn của khách hàng  
trong vic tìm và sdụng dịch vWeb tốt nht cho mình. Trên môi trường Internet,  
người sdụng trước tiên squan tâm nht đến vn đề thời gian, thi gian đáp ứng của  
một dịch vWeb nhanh hay chậm squyết định đến sthành công hay không của nhà  
cung cp dịch vWeb đó. Việc kiểm soát thời gian đáp ứng của các dịch vụ Web là một  
khía cạnh rất rộng, cho nên ở phạm vi khóa luận này chúng tôi đề cập đến việc kiểm  
chứng ràng buộc thời gian đáp ứng của việc tích hợp các Web Services có đáp ứng được  
với tiêu chuẩn QoS về thời gian hay không.  
1.2. Mục tiêu khóa luận  
Để thực hiện các vn đề nêu ra như trên, khoá luận sln lượt trình bày những kiến  
thức cần thiết để gii quyết yêu cầu của bài toán đặt ra.  
Khóa luận sẽ tập trung vào một số các vấn đề sau:  
Tìm hiểu khái quát về kiến trúc hướng dịch vụ SOA, đi sâu tìm hiểu công nghệ  
Web Service, kiến trúc và các thành phần sử dụng cho Web Service.  
Tìm hiểu Service Proxy, một dạng Web Service đặc biệt được triển khai ở phía  
người sử dụng dịch vụ.  
2
Tiếp cận đến vấn đề về chất lượng các dịch vụ Web, các yếu tố ảnh hưởng đến  
hiệu năng hoạt động của Web Service. Đi vào tìm hiểu việc đo lường thời gian đáp  
ứng của các Web Service Composition sử dụng Service Proxy.  
Nghiên cứu về biểu đồ UML Timing Diagram, mô hình hóa các ràng buộc thời  
gian đáp ứng của Web Service Composition trên biểu đồ UML Timing Diagram.  
Đề xut phương pháp kim chứng tự động thi gian đáp ứng của các Web Services  
trong một ứng dụng sdụng stích hợp các Web Services với các ràng buộc mà  
biu đồ UML Timing Diagram mô t.  
1.3. Cấu trúc khóa luận  
Các phần còn lại của khóa luận bao gồm các phần sau:  
Chương 2 đưa ra cái nhìn tổng quát về công nghệ Web Service, tìm hiểu về các  
thành phần chuẩn được sử dụng trong công nghWeb Service, kiến trúc Web Service và  
quy trình hoạt động của một Web Service.  
Chương 3 tiếp cận đến vấn đề chất lượng dịch vụ Web. Xem xét các yêu cầu về  
chất lượng cho Web Service, các yếu tố ảnh hưởng đến hiệu năng hoạt động của Web  
Service và một vài phương pháp đơn giản để cung cấp chất lượng dịch vụ Web.  
Chương 4 trình bày vbiểu đồ mới được thêm vào trong UML 2.0 đó là biểu đồ  
Timing Diagram. Tìm hiểu về mục đích biểu đồ, các thành phần sử dụng trong biểu đồ  
Timing Diagram và từ đó sử dụng biểu đồ Timing Diagram để đặc tcho các ràng buộc  
thời gian của các Web Service Composition.  
Chương 5 phân tích bài toán “Xây dựng Service Proxy để kiểm chứng ràng buộc  
thời gian đáp ứng trong Web Service Composition”, nghiên cứu về Service Proxy,  
Service Composition và công nghệ tích hợp Web Service.  
3
Chương 6 xây dựng một ví dụ minh hocho bài toán kiểm chứng, dựa vào các kết  
quả thu được từ ví dụ minh hoạ để thực hiện mục tiêu của khóa luận đó là kiểm chứng  
xem các kết quả thu được có đáp ứng được tiêu chuẩn đề ra hay không.  
Chương 7 đánh giá kết quả khóa luận đã đạt được và nêu ra hướng phát triển trong  
tương lai cho đề tài này.  
4
CHƯƠNG 2: CÔNG NGHỆ WEB SERVICE  
Chương 2 đề cập đến công nghệ Web Service, đưa ra khái niệm căn bản về kiến trúc  
hướng dịch vụ SOA, đi sâu vào tìm hiểu công nghệ Web Service, các công nghệ được sử  
dụng cho Web Service, kiến trúc của Web Service và các lợi ích khi sử dụng công nghệ  
này.  
2.1. Kiến trúc hướng dịch vụ SOA  
2.1.1.Khái niệm kiến trúc hướng dịch vụ SOA  
SOA - viết tắt của thuật ngữ Service Oriented Architecture (kiến trúc hướng dịch vụ)  
là “Khái niệm về hệ thống trong đó mỗi ứng dụng được xem như một nguồn cung cấp  
dịch vụ” [9].  
Dịch vụ là yếu tố then chốt trong SOA. Có thể hiểu dịch vụ như là hàm chức năng  
(module phần mềm) thực hiện quy trình nghiệp vụ nào đó, một cách cơ bản, SOA là tập  
hợp các dịch vụ kết nối mềm dẻo với nhau (nghĩa là một ứng dụng có thể nói chuyện với  
một ứng dụng khác mà không cần biết các chi tiết kĩ thuật bên trong), có giao tiếp (dùng  
để gọi hàm dịch vụ) được định nghĩa rõ ràng và độc lập với nền tảng hệ thống, và có thể  
tái sử dụng. SOA là cấp độ cao hơn của phát triển ứng dụng, chú trọng đến quy trình  
nghiệp vụ và dùng giao tiếp chuẩn để giúp che đi sự phức tạp của kĩ thuật bên dưới.  
Thiết kế SOA tách riêng phần thực hiện dịch vụ (phần mềm) với giao tiếp gọi dịch  
vụ. Điều này tạo nên một giao tiếp nhất quán cho ứng dụng khách sử dụng dịch vụ bất  
chấp công nghệ thực hiện dịch vụ. Thay vì xây dựng các ứng dụng đơn lẻ và đồ sộ, nhà  
phát triển sẽ xây dựng các dịch vụ có tính linh hoạt có thể triển khai và tái sử dụng trong  
toàn bộ quy trình nghiệp vụ. Điều này cho phép tái sử dụng phần mềm tốt hơn, cũng như  
tăng sự linh hoạt vì nhà phát triển có thể cải tiến dịch vụ mà không làm ảnh hưởng đến  
Client sử dụng dịch vụ.  
5
Thực ra khái niệm SOA không hoàn toàn mới, DCOM và CORBA cũng có kiến trúc  
tương tự. Tuy nhiên các kiến trúc cũ ràng buộc các thành phần với nhau quá chặt, ví dụ  
các ứng dụng phân tán muốn làm việc với nhau phải đạt đuợc thoả thuận về chi tiết tập  
hàm API, một thay đổi mã lệnh trong thành phần COM sẽ yêu cầu những thay đổi tương  
ứng đối với mã lệnh truy cập thành phần COM này.  
Ưu điểm quan trọng nhất của SOA là khả năng kết nối mềm dẻo (nhờ sự chuẩn hoá  
giao tiếp) và tái sử dụng. Các dịch vụ có thể được sử dụng với trình Client chạy trên nền  
tảng bất kì và được viết bởi ngôn ngữ bất kì.  
2.1.2.Nguyên tắc thiết kế của SOA  
SOA dựa trên hai nguyên tắc thiết kế quan trọng [17]:  
Mô-đun: đó là tách các vấn đề lớn thành nhiều vấn đề nhỏ hơn  
Đóng gói : Che đi dữ liệu và lô-gic trong từng mô-đun đối với các truy cập từ bên  
ngoài.  
Hai tính chất này sẽ dẫn đến đặc điểm thiết kế của kiến trúc SOA đó là các dịch vụ  
tương tác với nhau qua các thành phần giao tiếp, tuy nhiên các dịch vụ đó vẫn hoạt động  
độc lập với nhau, chia sẻ các lược đồ dữ liệu cho nhau và tuân thủ các chính sách của kiến  
trúc chung nhất.  
6
2.2. Công nghệ Web Service  
2.2.1.Tổng quan về Web Service  
Web Service là gì: Web Service là một giao diện truy cập mạng đến các ứng dụng  
chức năng, được xây dựng từ việc sử dụng các công nghệ chuẩn Internet [1][4]. Được  
minh hoạ trong hình dưới đây.  
Hình 1: Web Service cho phép truy cập tới các code ứng dụng sử dụng chuẩn công nghệ Internet  
Thuật ngữ Web Service diễn tả một cách thức tích hợp các ứng dụng trên nền web  
lại với nhau bằng cách sử dụng các công nghệ XML, SOAP, WSDL, và UDDI trên nền  
tảng các giao thức Internet với mục tiêu tích hợp ứng dụng và truyền thông điệp. XML  
được sử dụng để đánh dấu dữ liệu, SOAP được dùng để truyền dữ liệu, WSDL được sử  
dụng để mô tả các dịch vụ có sẵn và UDDI được sử dụng để liệt kê những dịch vụ nào  
hiện tại đang có sẵn để có thể sử dụng. Web Service cho phép các tổ chức có thể trao đổi  
dữ liệu với nhau mà không cần phải có kiến thức hiểu biết về hệ thống thông tin đứng sau  
Firewall kia [1].  
Không giống như mô hình Client/Server truyền thống, chắng hạn như hệ thống  
Webserver/webpage, Web Service không cung cấp cho người dùng một giao diện đồ hoạ  
nào, Web Service đơn thuần chỉ là việc chia sẻ các dữ liệu logic và xử lý các dữ liệu đó  
thông qua một giao diện chương trình ứng dụng được cài đặt xuyên suốt trên mạng máy  
tính. Tuy nhiên nguời phát triển Web Service hoàn toàn có thể đưa Web Service vào một  
giao diện đồ hoạ người dùng (chẳng hạn như là một trang web hoặc một chương trình  
thực thi nào đó) để có thể cung cấp thêm các chức năng đặc biệt cho người dùng.  
7
Web Service cho phép các ứng dụng khác nhau từ các nguồn khác nhau có thể giao  
tiếp với các ứng dụng khác mà không đòi hỏi nhiều thời gian coding, do tất cả các quá  
trình giao tiếp đều tuân theo định dạng XML, cho nên Web Service không bị phụ thuộc  
vào bất kì hệ điều hành hay ngôn ngữ lập trình nào. Ví dụ, chương trình viết bằng ngôn  
ngữ Java cũng có thể trao đổi dữ liệu với các chương trình viết bằng Perl, các ứng dụng  
chạy trên nền Windows cũng có thể trao đổi dữ liệu với các ứng dụng chạy trên nền  
Linux. Công nghWeb Service không yêu cầu phải sử dụng trình duyệt và ngôn ngữ  
HTML, đôi khi Web Service còn được gọi là Application Services.  
Xét theo một khía cạnh khác, nếu các ứng dụng có thể truy cập thông qua mạng  
máy tính bằng việc sử dụng các giao thức như HTTP, XML, SMTP hoặc Jabber thì đó  
chính là Web Service.  
Như Hình 1 và Hình 2 đã minh họa , Web Service là một Application Interface được  
đặt giữa Application Code người sử dụng các code đó. Nó có thể được ví như một  
tầng trừu tượng, phân tách giữa platform và ngôn ngữ lập trình, nó mô tả cách thức mà  
các application code được triệu gọi như thế nào. Điều này có nghĩa nếu bất kì một ngôn  
ngữ lập trình nào hỗ trợ Web Service đều có thể truy cập các ứng dụng chức năng của  
nhau.  
Hình 2: Web Service cung cấp một tầng trừu tượng giữa ứng dụng client và ứng dụng cần gọi tới.  
Ngày này, Web Service có thể được triển khai trên Internet dưới dạng một Website  
HTML, chính vì thế, các Application Service cần phải có một cơ thế cho việc công bố,  
quản lý, tìm kiếm và phục hồi nội dung được người sử dụng truy cập thông qua giao thức  
chuẩn HTTP và định dng dữ liệu HTML. Các ứng dụng Client ( như Web Browser) cần  
phải hiểu các chuẩn mà Web Service hỗ trợ để có thể tương tác với các service nhằm thực  
thi một nhiệm vụ như việc đặt mua sách, gửi thiệp mừng hoặc là đọc bản tin v..v.  
8
Web Service cung cấp tính trừu tượng cho các giao diện chuẩn, cho nên sẽ không  
nảy sinh ra bất kì vấn đề gì trong quá trình tương tác khi các service được viết trên java  
và trình duyệt được viết bằng C++, hoặc các service được triển khai trên Unix trong khi  
các trình duyệt lại được triển khai trên Windows. Web Service cho phép giao tiếp giữa  
các platform khác nhau có thể hoạt động cùng nhau theo nguyên tắc tạo ra một platform  
trung gian có liên quan.  
Tính tương thích (Inteoperability) là một lợi thế vô cùng mạnh mẽ của Web Service,  
thông thường, các công nghệ Java và công nghệ của Microsoft rất khó có thể tích hợp  
được với nhau , nhưng với Web Service thì các Application và Client sử dụng 2 công  
nghệ trên hoàn toàn có khả năng tương tác với nhau thông qua Web Service.  
Rất nhiều nhà cung cấp ứng dụng như IBM và Microsoft đều đã hỗ trợ Web Service  
trong các sản phẩm ca h. IBM hỗ trợ Web Service thông qua gói WebSphere, Tivoli,  
Lotus và DB2 và Microsoft với .NET cũng đã htrWeb Service.  
2.2.2. Kiến trúc Web Service  
2.2.2.1. Mô tcơ chế hoạt động của Web Service  
Hình 3: Mô tcơ chế hoạt động của Web Service.  
Cơ chế hoạt động của Web Service yêu cầu phải có 3 thao tác đó là : Find, Public,  
Bind[1].  
9
Trong kiến trúc Web Service, Service Provider công bố các mô tả về các service  
thông qua Service Registry. Service Consumer tìm kiếm trong các Service Registry để tìm  
ra các service mà họ cần sử dụng. Service Consumer có thể là một người hoặc cũng có thể  
là một chương trình.  
Kĩ thuật mô tả dịch vụ là một trong những thành phần chủ chốt của kiến trúc Web  
Service. Các thông tin mô tả đầy đủ nhất về kiến trúc Web Service được thể hiện trong  
hai tài liệu riêng biệt, đó là NASSL – Network Accessible Service Specification  
Language và WDS – Web-Defined Service. NASSL là một tài liệu dưới dạng chuẩn của  
XML cho các service chạy trên nền Network, nó được sử dụng để chỉ ra các thông tin  
hoạt động của Web Service, chẳng hạn như danh sách các service, các mô tả về service,  
ngày hết hạn của service và các thông tin liên quan đến các Service Provider, như tên, địa  
chỉ. Tài liệu WDS là một tài liệu mang tính đáp ứng đầy đủ cho tài liệu NASSL. Khi ta  
kết hợp hai tài liệu này với nhau ta sẽ có được sự mô tả một cách đầy đủ về các dịch vụ để  
cho phía yêu cầu dịch vụ có thể dễ dàng tìm kiếm và gọi các dịch vụ đó.  
2.2.2.2.Kiến trúc phân tầng của Web Service  
Hình 4: Web Service technology stack  
10  
Mô hình kiến trúc phân tầng của Web Service tương tvới mô hình TCP/IP được sử  
dụng để mô tả kiến trúc Internet.  
Hình 5: TCP/IP network model  
Các tầng truyền thống như Packaging, Description, và Discovery trong mô hình Web  
Service Stack là những tầng cung cấp khả năng tích hợp và cần thiết cho mô hình ngôn  
ngữ lập trình trung lập.  
Tầng Discovery : Tầng Discovery cung cấp cơ chế cho người dùng khả năng lấy  
các thông tin mô tả về các Service Provider. Công nghệ được sử dụng tại tầng này  
đó chính là UDDI – Universal Description, Discovery and Integration.  
Tầng Desciption : Khi Web Service được thực thi, nó cần phải đưa ra các quyết  
định về các giao thức trên các tầng Network, Transport, Packaging mà nó sẽ hỗ trợ  
trong quá trình thực thi. Các mô tả về dịch vụ sẽ đưa ra phương pháp để làm thế  
nào mà các Service Consumer có thể liên kết và sử dụng các service đó. Tại tầng  
Description, công nghệ được sử dụng ở đây chính là WSDL (Web Service  
Desciption Language) – Ngôn ngữ mô tả Web Service. Ngoài ra, ít phổ biến hơn,  
chúng ta còn có 2 ngôn ngữ khác được định nghĩa bởi tổ chức W3C đó là ngôn ngữ  
môt tả tài nguyên - W3C’s Resource Desciption Framework (RDF) và ngôn ngữ  
đánh dấu sự kiện DARPA. Cả hai ngôn ngữ này đều có khả năng cung cấp việc mô  
tWeb Service mạnh hơn ngôn ngữ WSDL tuy nhiên do tính phức tạp của chúng  
nên không được phát triển rộng rãi. Chúng tôi sẽ đề cập đến ngôn ngữ WSDL một  
cách cụ thể hơn trong phần “Các công nghcủa Web Service ” tại chương 2 của  
khóa luận này.  
11  
Tầng Packaging: Việc thực hiện vận chuyển các dữ liệu Web Service được thực  
hiện bởi tầng Transport, tuy nhiên trước khi được vận chuyển, các dữ liệu cần phải  
được đóng gói lại theo các định dạng đã định trước để các thành phần tham gia vào  
mô hình Web Service có thể hiểu được, việc đóng gói dữ liệu được thi bởi tầng  
Packaging. Việc đóng gói dữ liệu bao gồm các công việc định dạng dữ liệu, mã  
hóa các giá trị đi kèm dữ liệu đó và các công việc khác.  
Các dữ liệu có thể được đóng gói dưới dạng các tài liệu HTML, tuy nhiên với các  
tài liệu HTML thường không thuận tiện cho yêu cầu này bởi vì HTML chỉ có ưu  
điểm trong việc thể hiện dữ liệu hơn là trình bày ý nghĩa dữ liệu đó. XML là một  
định dạng cơ bản nhất cho việc trình bày dữ liệu, bởi vì XML có thể được sử dụng  
để trình bày ý nghĩa dữ liệu được vận chuyển, và hơn thế nữa, hiện tại đa số các  
ứng dụng chạy trên nền Web-Base đều hỗ trợ các bộ phân tích cú pháp XML.  
SOAP là công nghệ chủ yếu được sử dụng tại tầng này, nó là một giao thức đóng  
gói dữ liệu phổ biến dựa trên nền tảng XML. Chúng ta sẽ đề cập sâu hơn đến giao  
thức đóng gói dữ liệu SOAP trong phần “Các công nghcủa Web Service ” trong  
chương 2 của khóa luận này.  
Tầng Transport : Tầng Transport có vai trò đảm nhiệm việc vận chuyển các Web  
Service Message, tại đây bao gồm một vài dạng công nghệ khác nhau cho phép các  
giao tiếp trực tiếp giữa các Application – to – Application dựa trên tầng Network.  
Mỗi công nghệ bao gồm các giao thức như tcp, http, smtp và jabber ..v.v.  
Việc lựa chọn giao thức vận chuyển được dựa trên mỗi nhu cầu giao tiếp của các  
Web Service. ví dụ: với giao thức HTTP là một giao thức vận chuyển khá phổ biến  
được sử dụng cho các ứng dụng Web-Base, nhưng nó không cung cấp cơ chế giao  
tiếp bất đối xứng. Jabber, xét trên phương diện khác, nó không phải là một chuẩn  
nhưng có khả năng cung cấp tốt các kênh giao tiếp bất đối xứng.  
12  
Tầng Network : Tầng Network trong công nghWeb Service chính xác giống  
tầng Network trong mô hình giao thức TCP/IP. Nó cung cấp khả năng giao tiếp cơ  
bản, định địa chỉ và định tuyến.  
2.2.3.Các công nghệ của Web Service  
2.2.3.1.Ngôn ngữ XML – RPC  
XML : được viết tắt của cụm từ Extensible Markup Language – Ngôn ngữ đánh  
dấu dữ liệu[1][3].  
RPC được viết tắt của cụm từ Remote Procedure Call – Thủ tục gọi từ xa. RPC  
cung cấp cho người phát triển kĩ thuật để định nghĩa ra một giao diện mà có thể  
được gọi từ xa thông qua môi trường mạng máy tính. Giao diện này có thể là một  
hàm đơn giản nhưng cũng có thể là một thư viện API khổng l[1][3].  
XML – RPC là một hướng tiếp cận dễ và rõ ràng nhất cho Web Service, nó cung cấp  
phương thức gọi một ứng dụng từ một máy tính local đến một máy tính từ xa thông qua  
môi trường mạng.  
XML – RPC cho phép chương trình có khả năng tạo ra các hàm hoặc các thủ tục  
gọi hàm thông qua mạng máy tính.  
XML – RPC sử dụng giao thức HTTP để vận chuyển thông tin từ Client đến  
Server.  
XML – RPC sử dụng ngôn ngữ XML để mô tả các thông điệp yêu cầu và các  
thông điệp đáp ứng gần gũi với ngôn ngữ tự nhiên.  
XML – RPC Client chỉ ra cụ thể các thông tin về tên thủ tục, các tham biến trong  
thông điệp XML request, và Server trvề lỗi hoặc trả về thông điệp response trong  
thông điệp XML response.  
Các tham số của XML-RPC đơn giản chỉ là kiểu dữ liệu và nội dung – tuy nhiên  
các cấu trúc dữ liệu phức tạp như struct, array cũng được hỗ trợ bởi XML –RPC.  
13  
2.2.3.2.Giao thức truyền thông điệp SOAP  
SOAP viết tắt cho cụm từ - Simple Object Access Protocol. Trong kiến trúc phân  
tầng của Web Service, SOAP nằm ở tầng Packaging, SOAP là một giao thức đóng gói  
cho các dữ liệu chia sẽ giữa các ứng dụng. Xét về cơ bản, SOAP là XML, chính vì thế  
SOAP là một ứng dụng cụ thể của XML. SOAP được xây dựng lên từ các chuẩn XML  
như XML Schema và XML Namespaces dùng cho việc định nghĩa SOAP và các chức  
năng của nó[14].  
Các thành phần chuẩn của SOAP  
a) Thông điệp XML  
Thông điệp XML đó là các tài liệu XML được dùng để trao đổi thông tin giữa các  
ứng dụng. Nó cung cấp tính mềm dẻo cho các ứng dụng trong quá trình giao tiếp với nhau  
và là một dạng cơ bản của SOAP.  
Các thông điệp này có thể là bất cứ thứ gì: Hóa đơn thanh toán, yêu cầu về giá cổ  
phiếu, một truy vấn tới một công cụ tìm kiếm hoặc có thể là bất kì thông tin nào có quan  
hệ tới từng thành phần của ứng dụng.  
Hình 6: Mô tả cấu trúc của một thông điệp XML  
Bởi vì XML không phụ thuộc vào một ứng dụng cụ thể, hệ điều hành hay ngôn ngữ  
lập trình nào, cho nên các thông điệp XML có thể sử dụng trong tất cả các môi trường.  
Một chương trình Windows Perl có thể tạo ra một thông điệp XML, trình bày thông điệp  
đó và gửi đến cho một chương trình cài đặt bằng ngôn ngữ Java được triển khai trên nền  
Unix.  
14  
b) RPC và EDI  
Sử dụng thông điệp XML, đương nhiên SOAP có 2 ứng dụng liên quan: RPC và  
EDI. Thủ tục gọi hàm từ xa RPC - Remote Procedure Call là một dạng tính toán phân tán  
cơ bản, mô tả cách thức để một chương trình tạo ra một thủ tục gọi hàm hoặc phương  
thức tới một máy tính khác, truyền đối số và lấy giá trị trả về. Trao đổi tài liệu điện tử  
EDI Electronic Document Interchange là một dạng transaction cơ bản cho quy trình  
thương mại , nó định nghĩa các chuẩn định dạng và thông dịch của các tài liệu, thông điệp  
tài chính và thương mại.  
Nếu bạn sử dụng SOAP cho EDI, khi đó thông điệp XML có thể là các hóa đơn  
thanh toán, trả tiền thuế, hoặc các tài liệu tương tự. Nếu bản sử dụng SOAP cho RPC khi  
đó thông điệp XML có thể trình bày các đối số hoặc các giá trị trả về.  
c) Thông điệp SOAP  
Thông điệp SOAP bao gồm phần tử gốc envelope bao trùm toàn bộ nôi dung thông  
điệp SOAP, và các phần tử header và body. Phần tử header chứa các khối thông tin có  
liên quan đến cách thức các thông điệp được xử lý như thế nào. Nó bao gồm việc định  
tuyến và các thiết lập cho việc phân phối các thông điệp. Ngoài ra phần tử Header còn có  
thể chứa các thông tin về việc thẩm định quyền, xác minh và các ngữ cảnh cho các  
transaction. Các dữ liệu thực sự được lưu trữ tại phần tử body. Bất cứ thứ gì có thể trình  
bày cú pháp XML đều nằm trong phần tử body của một thông điệp SOAP[3].  
Hình 7: Mô tả cấu trúc của một thông điệp SOAP  
15  
Tất cả các phần tử envelope đều chứa chính xác một phần tử body. Thần tử body có  
thể chứa các nốt con theo yêu cầu. Nội dung của phần tử body là các thông điệp. Nếu  
phần tử envelope mà chứa phần tử header, nó chỉ chứa không nhiều hơn một phần tử  
header và phần tử header này bắt buộc phải là phần tử con đầu tiên của phần tử envelope.  
Mỗi một phần tử chứa header đều được gọi là header block. Mục đích của header block  
cung cấp giao tiếp các thông tin theo ngữ cảnh có liên quan đến quy trình xử lý các thông  
điệp SOAP.  
d) SOAP Faults  
SOAP faults là một dạng thông điệp SOAP đặc biệt được dùng để thông báo lỗi  
trong quá trình trao đổi thông tin, SOAP faults có thể xuất hiện trong quá trình xử lý các  
thông điệp SOAP[1].  
Hình 8: Mô tả thông điệp SOAP faults  
Các thông tin về SOAP faults được diễn tả dưới đây:  
- Fault code: Các thuật toán phát hiện lỗi sẽ tự sinh ra các giá trị dùng để phân biệt  
các kiểu lỗi xuất hiện. Các giá trị này phải là là các XML Qualified Name, điều đó  
có nghĩa là các tên của các mã lỗi chỉ có ý nghĩa duy nhất trong vùng định nghĩa  
XML Namespace.  
- Fault string: Diễn tả các lỗi mà người dùng có thể đọc hiểu được.  
- Fault actor: Đây là dấu hiệu nhận dạng duy nhất của các nốt xử lý các thông điệp  
nơi mà các lỗi có khả năng xuất hiện.  
16  
- Fault details: Được sử dụng để trình bày các thông tin cụ thể của ứng dụng về lỗi  
mà nó xuất hiện. Nó phải được trình bày nếu có lỗi xuất hiện trực tiếp có liên quan  
đến các vấn đề về phần thân của thông điệp. Fault details có thể không cần sử  
dụng, tuy nhiên scần thiết khi ta cần trình bày cụ thể vthông tin lỗi xuất hiện  
trong mối quan hệ tới các phần còn lại của quy trình xử lý các thông điệp SOAP.  
e) Vận chuyển SOAP  
Như chúng tôi đã trình bày ở trên, SOAP được đặt ở tầng Packaging trong kiến trúc  
phân tầng của Web Service, SOAP đứng phía trên tầng Network và tầng Transport. Vì thế  
SOAP không quan tâm đến việc giao thức vận chuyển nào được sử dụng trong quá trình  
trao đổi các thông điệp, điều đó làm cho giao thức thực sự mềm dẻo tại bất kì môi trường  
SOAP được triển khai nào. Tính mềm dẻo của SOAP được thể hiện qua việc SOAP có thể  
sử dụng các giao thức vận chuyển khác nhau để trao đổi các thông điệp, như HTTP, FTP,  
SMTP, POP3, MQUERY và Jabber.  
Hiện nay, HTTP được sử dụng phổ biến trên Internet, chính vì tính phổ biến của nó,  
cho nên HTTP hiện tại đang là giao thức vận chuyển phổ biến nhất cho việc vận chuyển  
các thông điệp SOAP.  
SOAP thông qua HTTP rất thuận tiện cho SOAP RPC trong việc gọi yêu cầu và  
nhận các thông điệp đáp ứng bởi vì bản chất HTTP chính là giao thức dựa trên nền tảng  
gọi các yêu cầu và nhận các đáp ứng (request-response-base protocol). Các SOAP request  
được gửi tới HTTP server thông qua phương thức POST và HTTP Server trả lại giá trị  
SOAP response thông qua các HTTP response.  
Hình 9: Mô tả việc trao đổi thông điệp SOAP thông qua giao thức HTTP  
17  
2.2.3.3.Ngôn ngữ mô tả Web Service - WSDL  
Tổng quan về WSDL  
WSDL viết tắt của cụm từ Web Service Description Language – Ngôn ngữ mô tả  
Web Service. WSDL ra đời dưới sphát trin của IBM và Microsoft[15].  
WSDL dựa trên giao thức XML để trao đổi thông tin trong môi trường tập trung  
hoặc phân tán.  
WSDL mô tả cách thức truy cập tới Web Service và các hành động thực thi trên  
Web Service đó.  
WSDL là ngôn ngữ cho việc mô tả các giao diện Web Service dựa trên nền tảng  
XML.  
WSDL là ngôn ngữ mà UDDI Sử dụng.  
Các thành phần của WSDL  
Một tài liệu WSDL thường bao gồm các thành phần chính sau đây:  
Thành phần  
<type>  
Mô tả  
Định nghĩa kiểu dữ liệu được dùng trong Web Service  
Các thông điệp được sử dụng trong Web Service  
Các thao tác được thực thi bởi Web Service  
Các giao thức giao tiếp dùng cho Web Service  
<message>  
<port type>  
<binding>  
Giải thích ý nghĩa các thành phần[15]  
Type : Thành phần type định nghĩa kiểu dữ liệu được sử dụng cho Web Service  
Để đảm bảo tính không phụ thuộc vào platform, WSDL sử dụng cấu trúc của lược  
đồ XML để định nghĩa kiểu dữ liệu.  
18  
Message : Thành phần message dùng để định nghĩa các thành phần dữ liệu và các  
thông điệp mà nó được gọi tới. Mỗi thông điệp có thể bao gồm một hoặc nhiều  
phần, các thành phần này có thể so sánh với các câu lệnh của các lời gọi hàm trong  
các ngôn ngữ lập trình truyền thống.  
Port Type : Đây là thành phần quan trọng nhất trong một tài liệu WSDL. Nó được  
sử dụng để mô tả Web Service, các thao tác được thực thi và các lời gọi thông  
điệp. Thành phần port type có thể được so sánh với các thư viện hàm (hoặc các  
module, các lớp ) trong các ngôn ngữ lập trình.  
Trong thành phần <port Type>, ta thường gặp 4 kiểu thao tác được WSDL định  
nghĩa dưới đây:  
Kiểu thao tác  
Mô tả  
One-way  
Thao tác này thể hiện rằng nó chỉ nhận các lời gọi thông  
điệp nhưng không trả lại thông điệp đáp ứng  
Request-response  
Thao tác này bao gồm việc nhận các thông điệp yêu cầu  
và trả về các thông điệp đáp ứng  
Solicit-response  
Notification  
Thao tác này sẽ gửi đi các yêu cầu và đợi các đáp ứng  
Thao tác này sẽ gửi đi các yêu cầu nhưng không đợi để  
nhận các đáp ứng  
Binding: Thành phần này định nghĩa các định dạng thông điệp, các mô tả cụ thể về  
các giao thức cho mỗi port.  
19  
Hình 10: Mô tả thành phần binding trong tài liệu WSDL  
Một thành phần binding thông thường bao gồm 2 thuộc tính: name và type.  
Thuộc tính “name” định nghĩa tên của “binding”, và thuộc tính “type” trỏ đến “port”  
của binding, trong ví dụ này port của binding là “glossaryTerms”.  
Thành phần soap:binding có 2 thuộc tính là “style” và “transport”.  
Thuộc tính style có thể là “rpc” hoặc “document”. Trong ví dụ trên chúng ta sử dụng  
“document”. Thuộc tính transport định nghĩa giao thức vận chuyển thông điệp SOAP.  
Trong ví dụ trên sử dụng giao thức HTTP.  
Hình 11: Minh họa ví dụ của một tài liệu WSDL  
Trong ví dụ trên, thành phần <portType> định nghĩa “glossaryTerm” như là tên của  
một Port, và “getTerm” như tên của một thao tác.  
Thao tác “getTerm” có thông điệp nhập vào gọi là “getTermRequest” và có thông  
điệp xuất ra gọi là “getTermResponse”.  
20  
Thành phần <message> định nghĩa các phần của mỗi thông điệp và kiểu dữ liệu kết  
hợp với các thông điệp đó. Nếu so sánh với các ngôn ngữ lập trình truyền thống,  
glossaryTerm có thể được coi như là một thư viện hàm, “getTerm” là một hàm với đối số  
truyền vào là “getTermRequest” và trả lại lại kết quả là getTermResponse.  
2.2.3.4.Đăng ký dịch vụ UDDI  
Tổng quan về UDDI  
UDDI là một chuẩn dựa trên XML dùng cho việc mô tả, công bố và tìm kiếm Web  
Service.  
UDDI được viết tắt của Universal Description, Discovery and Integration.  
UDDI là thư mục dùng cho việc lưu trữ các thông tin về Web Service.  
UDDI là thư mục của một giao diện Web Service được mô tả bởi WSDL.  
UDDI giao tiếp thông qua SOAP.  
UDDI cùng với SOAP và WSDL được xem là 3 chuẩn của Web Service.  
UDDI là một kỹ thuật mở đầu tiên cho phép các quy trình thương mại điện tử có  
thể khám phá lẫn nhau và định nghĩa cách thức tương tác với nhau qua Internet.  
UDDI có 2 phần  
Phần đăng ký của tất cả các Web Service’s metadata, bao gồm cả việc trỏ đến tài  
liệu WSDL mô tả dịch vụ[16].  
Phần thiết lập WSDL Port type định nghĩa cho các thao tác và tìm kiếm thông tin  
đăng ký.  
UDDI xây dựng dựa trên các giao thức chuẩn Internet được công bố bởi W3C và  
IETF như XML, HTTP, và DNS. UDDI sử dụng WSDL để mô tả giao diện của Web  
Service. Thêm nữa tính năng độc lập với nền tảng ngôn ngữ lập trình đã được điều hợp  
cùng với giao thức SOAP.  
21  

Tải về để xem bản đầy đủ

pdf 85 trang yennguyen 10/07/2025 380
Bạn đang xem 30 trang mẫu của tài liệu "Khóa luận Xây dựng Service Proxy để kiểm chứng ràng buộc thời gian trong Web Service Composition", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfkhoa_luan_xay_dung_service_proxy_de_kiem_chung_rang_buoc_tho.pdf