Mô tả dịch vụ WSDL Hệ thống truyền thông Ứng dụng trạm Chương trình con Máy trạm Hệ thống truyền thông Ứng dụng phục vụ Chương trình con Máy phục vụ Giao thức truy cập đối tượng đơn giản
Trang 1ĐẠI HỌC QUỐC GIA TRƯỜNG ĐẠI HỌC CÔNG NGHỆ KHOA CÔNG NGHỆ THÔNG TIN
*****************
TIỂU LUẬN MÔN HỌC
CÁC HỆ PHÂN TÁN
Đề tài: TÌM HIỂU HỆ PHÂN TÁN HOẠT ĐỘNG THEO MÔ HÌNH WEB
VÀ THIẾT KẾ THỬ NGHIỆM WEB SERVICE BROKER
Giáo viên hướng dẫn: TS Trần Thị Minh Châu Sinh viên thực hiện: Nguyễn Quốc Thắng
Hà Nội - 01/2011
1
Trang 2A TÌM HIỂU VỀ HỆ PHÂN TÁN HOẠT ĐỘNG THEO MÔ HÌNH WEB
• Cơ sở dữ liệu chứa tài liệu được yêu cầu, thường nằm cùng Web Server
Dưới đây là mô hình tổ chức của hệ truyền thống
Hình 1.1: Mô hình tổ chức của hệ phân tán trên nền web truyền thống
(Hình 12-1: Các hệ phân tán: Sơ đồ và nguyên lý hoạt động)
Ở đây ta trình bày một số khái niệm cần thiết:
• Một tài liệu được xác định thông qua các thông tin về nơi nó được lưu trữ bao gồm định danh của server, tên tài liệu, vị trí của nó trong hệ thống file
• Thông tin về tài liệu được thể hiện dưới dạng URL URL không chỉ chứa thông tin vị trí tài liệu mà còn chứa thông tin về giao thức tầng ứng dụng sử dụng để truyền tài liệu trên mạng
• Phần mềm trình duyệt là phần mềm Client sử dụng để tương tác với Web Server
• Tương tác giữa Client và Web Server dựa vào một giao thức chuẩn là HTTP (HyperText Transfer Protocol)
Cơ chế hoạt động của hệ thống như sau:
2
Trang 33
• Client thực hiện yêu cầu một tài liệu nào đó trong cơ sở dữ liệu thông qua trình duyệt (mà
cụ thể hơn là thông qua URL), nó gửi một bản tin HTTP yêu cầu tới Web Server
• Ở phía Server tồn tại một tiến trình có khả năng truy cập vào cơ sở dữ liệu
• Tiến trình này thực hiện truy cập và lấy tài liệu từ cơ sở dữ liệu
• Server sau khi xử lý sẽ trả lại Client thông tin, có thể đó là thông tin báo lỗi không tìm được tài liệu, cũng có thể là nội dung tài liệu, v.v
b) Một số ngôn ngữ web
Tài liệu - thông tin được chia sẻ trên mạng có thể được phân chia tương đối làm hai phần:
• Một phần có thể sử dụng như một template cho phần còn lại, mô tả những đặc điểm như
vị trí, cách bố trí, nền, font, v.v cho phần dữ liệu còn lại Các ngôn ngữ dữ liệu web được sử dụng cho phần này
• Phần còn lại là thông tin thực tế được lưu trữ mà người dùng yêu cầu
Trong một ví dụ đơn giản, tải liệu được lấy về có dạng sau:
<!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN">
Đơn giản Văn bản chưa định dạng HTML Văn bản bao gồm các câu lệnh đánh dấu HTML Text
XML Văn bản bao gồm các câu lệnh đánh dấu XML
Trang 4Hỗn hợp Những thành phần độc lập trong thứ tự xác định Multipart
Song song Những thành phần có thể được hiển thị đồng thời
Bảng 1.1: Các kiểu dữ liệu và kiểu dữ liệu con được định nghĩa với MIME
(Hình 12-2: Các hệ phân tán: Sơ đồ và nguyên lý hoạt động)
c) Mô hình truyền thống với kiến trúc đa tầng
Ngôn ngữ Web như HTML, XML cùng phối hợp với các ngôn ngữ script thực sự đã cho chúng
ta thấy được một phương tiện mạng mẽ để thể hiện dữ liệu Web Tuy nhiên, chúng ta chưa đi sâu vào cơ chế hoạt động của nó hiện tại Cho tới hiện tại, Web không còn dừng lại ở kiến trúc hai tầng đơn giản client-server, mà qua thời gian nó đã được phát triển với kiến trúc đa tầng, với nhiều thành phần nhằm hỗ trợ tốt hơn những kiểu dữ liệu khác nhau mà ở phần trước chúng ta đã
đề cập qua bảng 1.1 phần trên
Một trong những cải tiến so với kiến trúc cơ bản là việc sử dụng các CGI (Common Gateway Interface) nhằm cung cấp sự tương tác cho người dùng Thông qua các Interface này, Web server
có thể chạy những chương trình với dữ liệu đầu vào được người dùng cung cấp
Cơ chế của quá trình này được thể hiện ở hình 1.2 dưới đây
Hình 1.2: Chương trình CGI tại phía Server
(Hình 12-3: Các hệ phân tán: Sơ đồ và nguyên lý hoạt động)
Qua hình 1.2 ta có thể thấy cơ chế hoạt động sử dụng CGI như sau:
• Người dùng nhập vào một form chứa các tham số cần thiết Thông tin về chương trình cũng như thông số của nó được Client gửi tới Server
• Khi Server nhận được bản tin yêu cầu từ phía Client, nó chạy chương trình được đề cập trong bản tin cùng với các thông số đi kèm
• Sau đó, chương trình tương tác với cở sở dữ liệu, xử lý và tạo ra văn bản HTML Văn bản này được trả lại cho Server
• Server thực hiện trả lại văn bản cho phía Client
Qua đó, ta có thể thấy được Server hoàn toàn ủy quyền việc xử lý yêu cầu cho phía chương trình CGI Đây chính là một kiến trúc 2 tầng tại phía Server
Ngày nay, Server không chỉ dừng lại ở kiến trúc 2 tầng Một ví dụ cho kiến trúc này có thể lấy từ việc một người dùng vào một trang Web bán hàng:
4
Trang 5• Các ứng dụng Java Servlet quản lý thông tin về những mòn hàng người dùng mua, thực hiện các gợi ý, lưu trữ các món hàng ưa thích, v.v
• Khi người dùng thực hiện việc tìm kiếm theo một từ khóa nào đó, phía Web Server sẽ phải chuyển yêu cầu tới chương trình
• Chương trình thực hiện gửi truy vấn tới cơ sở dữ liệu Phía cơ sở dữ liệu trả lại kết quả truy vấn
• Chương trình thực hiện tạo ra một trang web danh sách các tìm kiếm và trả lại Web Server
• Web Server trả lại thông tin cho người dùng
Như trên có thể thấy, một kiến trúc 3 tầng đã hình thành, trong đó bao gồm Web Server,
Application Server (Server chạy ứng dụng), và Cơ sở dữ liệu
Kiến trúc 3 tầng hình thành đã đặt ra một vấn đề: giảm hiệu năng của hệ thống Việc phân chia
rõ ràng 3 tầng là điều cần thiết, các Server ứng dụng và Cơ sở dữ liệu phải chịu tải rất lớn Vấn
đề này sẽ được bàn đến tại phần 1.6 trong tiểu luận này
2 Mô hình dịch vụ web
Hệ phân tán với mô thức web đã phát triển tới mức cung cấp dịch vụ cho các ứng dụng từ xa Các phần mềm như trình duyệt tại phía Client đã không còn chỉ là một giao diện hiển thị nội dung cho người sử dụng
a) Mô hình chung
Dịch vụ Web cũng giống như các dịch vụ thông thường như dịch vụ định danh, cung cấp địa chỉ, mail, v.v Chúng được cung cấp qua Internet và tuân theo một số chuẩn nhất định Hình dưới đây cho ta thấy mô hình cơ chế hoạt động của dịch vụ Web
Mô tả dịch vụ (WSDL)
Hệ thống truyền thông
Ứng dụng trạm
Chương trình con
Máy trạm
Hệ thống truyền thông
Ứng dụng phục vụ
Chương trình con
Máy phục vụ
Giao thức truy cập đối tượng đơn giản (SOAP)
Mô tả dịch vụ (WSDL)
Tìm kiếm
Dịch vụ thư mục (UDDI)Hình 1.3: Mô hình dịch vụ Web
(Hình 12-4: Các hệ phân tán: Sơ đồ và nguyên lý hoạt động)
5
Trang 66
Cơ chế chung của mô hình là việc ứng dụng ở phía Client có thể gọi các dịch vụ từ ứng dụng phía Server Quá trình này được thực hiện dựa trên sự chuẩn hóa Về mặt nào đó, cơ chế này cũng gần giống với cơ chế gọi thủ tục từ xa (RPC)
Ở đây ta trình bày một số khái niệm cần thiết để hiểu rõ hình 1.3:
• UDDI là một directory chứa các mô tả dịch vụ cần thiết Nó là một cơ sở dữ liệu giúp cho các Client có thể truy cập tìm kiếm các dịch vụ phù hợp
• Các dịch vụ nằm trong UDDI được mô tả thông qua ngôn ngữ WSDL Ngôn ngữ này cũng tương tự như ngôn ngữ IDL trong RPC Ngôn ngữ WSDL mô tả các thủ tục, các kiểu dữ liệu, nơi chứa dịch vụ, v.v
• Client và Server trao đổi thông qua giao thức SOAP, đây là giao thức chuẩn cho các tiến trình liên lạc với nhau Giao thức này sẽ được đề cập đến chi tiết hơn tại phần sau của tiểu luận
Tựu chung lại, ta có cơ chế làm việc của mô hình dịch vụ Web như sau:
• Các dịch vụ của máy chủ được công bố ra phía UDDI Cơ sở dữ liệu này lưu lại mô tả dịch vụ dưới ngôn ngữ WSDL
• Khi Client cần đến dịch vụ, nó tìm kiếm dịch vụ tại UDDI UDDI trả về kết quả cho Client
• Client biết được dịch vụ qua các mô tả trả về qua ngôn ngữ WSDL
• Client thực hiện kết nối đến máy chủ qua giao thức SOAP và gọi dịch vụ
• Từ đây, quá trình trao đổi diễn ra bình thường thông qua giao thức SOAP
b) Thành phần và sự điều phối trong dịch vụ Web
Như trên đã trình bày, mô hình dịch vụ Web có thể được hình dung tương đối đơn giản là việc một dịch vụ được triển khai dưới dạng ứng dụng và được triệu gọi thông qua một chuẩn nào đó Tuy nhiên, chính ứng dụng đôi khi lại rất phức tạp và nó có thể là một ứng dụng phân tán trong
hệ thống mạng Ở trường hợp này, người ta sử dụng một proxy nội mạng nhằm tương tác với những thành phần của ứng dụng phân tán này Proxy này cũng đảm bảo cho phía Client trong suốt với sự phân tán của ứng dụng
Trong mô hình, chúng ta cũng có thể thấy ứng dụng được cung cấp chỉ thông qua một bước triệu gọi (Look up a Service - Hình 1.3) Tuy nhiên, trong thực tế mô hình triệu gọi phức tạp hơn nhiều Đơn cử như khi người dùng thực hiện mua một cuốn sách từ trang Web thương mại điện
tử Một việc tưởng chừng đơn giản đó bao gồm việc chọn lựa, việc thanh toán, việc lấy thông tin giao hàng Dịch vụ ở đây chính là một giao dịch chia làm nhiều bước có thứ tự Hay nói cách khác, dịch vụ được cung cấp ở đây bao gồm những dịch vụ con khác nhau
Sự phức tạp càng tăng lên khi người ta phải kết hợp trên một trang Web các dịch vụ của những nhà cung cấp dịch vụ khác nhau Vẫn lấy mô hình trang Web thương mại làm ví dụ, một trang Web này có thể bao gồm các dịch vụ khác nhau như sau:
• Lựa chọn mặt hàng từ nhà cung cấp mặt hàng
• Tiến hành thanh toán thông qua hệ thống banking của ngân hàng
• Nhập thông tin giao hàng do công ty chuyển phát nhanh cung cấp
Như vậy, mặc dù ở phía người dùng đây là các dịch vụ được cung cấp trên cùng một trang Web, nhưng thực tế ở phía cung cấp dịch vụ lại là sự kết hợp của nhiều nhà cung cấp dịch vụ khác nhau
Trang 7Như vậy, 3 vấn đề trên (Ứng dụng phân tán; Sự phức tạp của giao dịch; Sự tham gia của nhiều nhà cung cấp dịch vụ) đặt ra nhu cầu phải điều phối các dịch vụ này, sao cho chúng có thể được kết hợp với nhau, và phải tạo được sự trong suốt của hệ thống với người dùng
Việc điều phối như trên đặt ra được thực hiện bởi các giao thức điều phối Những giao thức này
sẽ đưa ra các luật về những bước cần thực hiện đối với các dịch vụ, đồng thời buộc các dịch vụ của các phía phải tuân thủ theo Để đạt được điều đó, người ta định nghĩa một dịch vụ riêng dùng
để cung cấp các giao thức điều phối Các tiến trình sẽ thực hiện đăng ký với giao thức điều phối khi tham gia
II Các tiến trình trong hệ phân tán trên nền web
Tại phần này, chúng ta nghiên cứu về các tiến trình của hệ phân tán theo mô thức Web
1 Tiến trình tại phía Client
Ở đây ta xét đến hai tiến trình thường gặp ở môi trường Web phía Client, đó là tiến trình trình duyệt Web và Web proxy
a) Tiến trình trình duyệt Web
Trình duyệt Web tại phía Client giúp người dùng có thể xem nội dung trang Web, cũng như cung cấp cho người dùng những liên kết mà người dùng có thể dễ dàng chọn
Hình 1.4: Các thành phần logic của một trình duyệt Web
(Hình 12-5: Các hệ phân tán: Sơ đồ và nguyên lý hoạt động)
Như hình 1.4, chúng ta có thể thấy được những thành phần logic của một trình duyệt Web bao gồm 3 thành phần chính:
• Bộ máy cấp phát: chịu trách nhiệm hiển thị các văn bản HTML hay XML lên màn hình
Nó chứa các thành phần có khả năng:
9 Tạo liên kết, giao tiếp trên mạng
9 Xử lý ngôn ngữ HTML, XML
9 Phiên dịch các script trong văn bản
• Bộ máy duyệt Web: là trung tâm của trình duyệt, cung cấp cho người dùng cơ chế xem văn bản, như chia nó thành các phần, lựa chọn các phần của văn bản, vào một liên kết, v.v
7
Trang 8• Giao diện người sử dụng: cung cấp giao diện cho người dùng Ngoài ra, do trình duyệt không phụ thuộc nền tảng nó chạy, User Interface cùng với Browser Engine chạy trên các thư viện đồ họa chuẩn được thể hiện trên hình (Display back end)
b) Tiến trình Web Proxy
Một tiến trình khác có thể kể đến ở phía Client và tiến trình chạy Web proxy Một trong các chức năng của nó được thể hiện ở hình dưới
Hình 1.5: Trường hợp sử dụng Uỷ nhiệm Web (Web proxy) khi có sự bất đồng về giao thức
(Hình 12-6: Các hệ phân tán: Sơ đồ và nguyên lý hoạt động)
Web proxy tại lúc được tạo ra có mục đích nhằm cho phép trình duyệt xử lý các giao thức ở mức ứng dụng khác với HTTP Tuy nhiên cho tới thời điểm hiện tại, trình duyệt đã có khả năng xử lý nhiều giao thức khác nhau và không còn cần tới chức năng này nữa Web proxy sau này được sử dụng cho rất nhiều mục đích khác như caching, nén, ghi log, v.v Những tính năng này sẽ được
đề cập đến tại phần 1.6 - Cơ chế nhất quán và nhân bản
2 Tiến trình tại máy chủ Web
Chúng ta nghiên cứu tiến trình tại phía máy chủ thông qua một trong những Web server thông dụng tính tới thời điểm hiện tại (Chiếm 70% lượng sử dụng trên thế giới), đó là Apache
Hai ưu điểm nổi bật của Apache có thể kể đến là:
• Chạy độc lập với nền tảng của Server: Apache thực hiện điều này bằng cách sử dụng
một nền tảng chạy của mình được tạo ra nhằm chạy trên những hệ điều hành khác nhau Môi trường này được gọi là APR (Apache Portable Runtime) Đây là một bộ thư viện cung cấp các giao diện cho việc xử lý file, kết nối mạng, xử lý luồng, v.v Khi chạy, thay vì những lời gọi tới các thư viện của nền tảng Apache cài trên, tiến trình gọi tới các thư viện APR
• Dễ mở rộng tính năng: Apache có khả năng mở rộng thêm nhiều tính năng thông qua
các thư viện của mình, mà vẫn đảm bảo cho những phần mở rộng được phát triển là độc lập Đơn cử như mô hình nhân bản thích nghi (Adaptive Replicate) trong Globule, một mạng phân phối dữ liệu tại trường đại học Vrije Amsterdam Globule được mở rộng lên
từ Apache nhưng vẫn giữ được tính độc lập của nó so với những phần mở rộng khác được phát triển
8
Trang 9Tổ chức cơ chế hoạt động của Apache có thể được miêu tả qua hình vẽ dưới đây:
Hình 1.6: Trường hợp sử dụng Web proxy khi có sự bất đồng về giao thức
(Hình 12-7: Các hệ phân tán: Sơ đồ và nguyên lý hoạt động)
Trong sơ đồ đặt ra ở đây, chúng ta thấy một khái niệm là hook, nó chỉ một nhóm các chức năng
có chung một nhiệm vụ nào đó Các nhóm chức năng này cũng được cung cấp thông qua các module riêng Các module này cũng sẽ có sự độc lập với nhau
Một ví dụ như có hook làm nhiệm vụ chuyển đổi từ URL thành vị trí cần thiết trong hệ thống file, có hook làm nhiệm vụ viết log, v.v
3 Cơ chế chạy Clustering các máy chủ
Một vấn đề khi cung cấp dịch vụ Web là việc các Web Server có thể dễ dàng bị quá tải Chính vì vậy phải có cơ chế chạy nhiều máy chủ Đó là cơ chế Clustering Cơ chế này sẽ được đề cập ở phần 1.6, “Cơ chế nhất quán và nhân bản” Ở đây chúng ta chỉ xem xét về mặt tiến trình thực hiện trong hệ thống các máy chủ
Hình 1.7: Hệ thống Phục vụ Web (Web Server Cluster) với Cổng vào - ra (Front-End)
(Hình 12-8: Các hệ phân tán: Sơ đồ và nguyên lý hoạt động)
9
Trang 10Với cơ chế Clustering, hệ thống sẽ có một máy chủ Front End để nhận các yêu cầu, chuyển các yêu cầu tới các máy chủ Web, nhận trả lời từ máy chủ Web, và gửi về cho phía yêu cầu Cơ chế gửi có thể là tuần tự, cũng có thể có cơ chế theo dõi để gửi yêu cầu đến máy chủ đang chịu tải ít hơn
Ngoài ra, với hệ thống Web server, chúng ta có thể cấu hình hệ thống Content-Aware Cluster
Hệ thống này cũng có một Front-End làm nhiệm vụ nhận và chuyển tiếp các yêu cầu
Bộ chuyển
Máy trạm
Phục
vụ Web Dịch vụ
1 Chuyển yêu cầu tới một dịch vụ
6 Máy phục vụ trả lời
3 Chuyển vùng kết nối TCP
2 Bộ điều phối chọn máy chủ Phục
vụ Web Dịch vụ
5 Chuyển thông điệp khác Các thông
điệp khác
Thiết lập yêu cầu 4 Thông báo chuyển
Bộ điều phối
Hình 1.8: Cơ chế hoạt động của mô hình Phân cụm nhận biết nội dung (Content-Aware Cluster)
(Hình 12-9: Các hệ phân tán: Sơ đồ và nguyên lý hoạt động)
Ý tưởng của việc triển khai Content-Aware Cluster là việc có một phần tử là Dispatcher sẽ có thể biết nội dung gói tin và liên tục điều khiển loại gói tin đó về một server Làm như vậy giúp Web server có thể phục vụ nhanh hơn thông qua cơ chế caching, nên hầu hết thời gian sẽ không phải chạy tiến trình lấy dữ liệu từ cơ sở dữ liệu Ngoài ra, việc lựa chọn như vậy có thể giúp hệ thống phân tải cho các Server cho hợp lý
Cơ chế hoạt động của mô hình như sau:
• Client gửi yêu cầu tới hệ thống
• Switch Front End chuyển tiến yêu cầu đó (bản tin TCP Request) tới một trong các Web server hay còn gọi là Distributor
• Distributor nhận được bản tin không xử lý ngay mà tương tác với Dispatcher xem máy chủ Web nào sẽ xử lý bản tin đó
• Dispatcher quyết định máy chủ sẽ xử lý bản tin
• Bản tin TCP được gửi tới cho máy chủ Web được chọn, đây là quá trình 3 TCP Hand off
• Web server được chọn sẽ thiết lập kết nối TCP với Client
• Switch Front-End cũng được thông báo về điều này, và sau đó tất cả các kết nối được
Để đạt được hiệu quả phân tải tốt người ta cũng dùng rất nhiều cách khác như chia VLAN và ứng dụng các giao thức Gateway(GLBP, VRRP, v.v ) , hoặc sử dụng cơ chế DNS Đã đạt được mục tiêu xem xét các tiến trình tại phía các máy chủ Clustering, chúng ta sẽ không đi quá sâu vào những phương pháp này
10
Trang 11III Cơ chế truyền thông
Đối với hệ phân tán trên mô thức Web, các giao thức được sử dụng cũng khá thông dụng Giao thức truyền thống HTTP được sử dụng để trao đổi các bản tin Còn về phía dịch vụ Web thì có các giao thức như SOAP, CORBA Ở đây, chúng ta nghiên cứu cơ chế truyền thông của hệ phân tán mô thức Web với hai giao thức là HTTP và SOAP
T S
HĐH
Các tham chiếu
HĐH
Kết nối TCP (b)
Hình 1.9: Cơ chế kết nối của HTTP dựa trên TCP (hai phiên bản HTTP cũ và mới)
(Hình 12-10: Các hệ phân tán: Sơ đồ và nguyên lý hoạt động)
Với phiên bản HTTP cũ, HTTP đã không tận dụng tốt giao thức TCP khi mỗi yêu cầu từ Client phải dựng một kết nối TCP, làm cho Server phải chịu tải nặng hơn Với các phiên bản HTTP hiện tại, một kết nối TCP có thể phục vụ nhiều yêu cầu từ Client Như vậy cơ chế truyền thông này sẽ giúp tiết kiệm thời gian dựng kết nối, số lượng kết nối TCP, từ đó giảm tải cho hệ thống
b) Các phương thức HTTP
HTTP được thiết kế dưới dạng một giao thức client-server hướng tới việc chuyển tài liệu theo hai chiều Một Client có thể yêu cầu gửi hoặc nhận một tài liệu nào đó thông qua các bản tin yêu cầu với các kiểu khác nhau
11
Trang 12Dưới đây là các kiểu gói tin yêu cầu của HTTP:
Hình 1.10: Các loại bản tin yêu cầu của giao thức HTTP
(Hình 12-11: Các hệ phân tán: Sơ đồ và nguyên lý hoạt động)
c) Định dạng gói tin HTTP
Tất cả các giao tiếp giữa Client-Server đều thông qua gói tin Định dạng gói tin HTTP bao gồm 3 phần chính như hình dưới đây:
Tên tiêu đề thông điệp Giá trị
Tên tiêu đề thông điệp Giá trị
Tên tiêu đề thông điệp Giá trị
Các tiêu đề của thông điệp yêu cầu
Nội dung của thông điệp
Hình 1.11: Các loại bản tin yêu cầu của giao thức HTTP
(Hình 12-12: Các hệ phân tán: Sơ đồ và nguyên lý hoạt động)
Ba phần chính đó bao gồm:
• Dòng yêu cầu: gồm tên giao tác, tham chiếu, và phiên bản
• Tiêu đề của thông điệp yêu cầu: gồm tên tiêu đề các thông điệp, giá trị
• Nội dung cụ thể của bản tin
Trong đó, dòng yêu cầu chứa thông tin về phương thức sử dụng giữa Client và Server Đó là các phương thức yêu cầu chuyển tài liệu mà ta đã nhắc tới ở phần trên Các Header của bản tin cung cấp thông tin về phiên bản HTTP sử dụng, đồng thời nó còn chứa các thông số trạng thái tài liệu
Ví dụ như: 405 - “Method not allowed”
12
Trang 1313
Hình dưới đây cho ta thấy một số các header của bản tin HTTP
Tiêu đề Nguồn Nội dung
Accept-Charset Máy trạm Các bộ ký tự được máy trạm chấp thuận
Accept-Encoding Máy trạm Các bộ mã hoá tài liệu máy trạm có thể xử lý
Accept-Language Máy trạm Các ngôn ngữ tự nhiên máy trạm có thể xử lý
WWW-Authenticate Máy phục vụ Yêu cầu về an ninh, an toàn máy trạm phải đáp ứng
Hình 1.12: Một số loại bản tin yêu cầu của giao thức HTTP
(Hình 12-13: Các hệ phân tán: Sơ đồ và nguyên lý hoạt động)
2 Giao thức SOAP
Trong khi HTTP là giao thức truyền thống sử dụng cho hệ phân tán trên mô thức Web, giao thức SOAP (Simple Object Acces) được sử dụng như một chuẩn truyền thông cho các dịch vụ Web Hầu hết việc truyền thông với SOAP được sử dụng trên nền giao thức HTTP Mục đích của SOAP là việc cung cấp khả năng giao tiếp cho các nhóm cung cấp dịch vụ khác nhau, không biết
về nhau
Một gói SOAP thông thường bao gồm 2 phần, một phần là thông tin cần được chuyển đi và một phần header chứa thông tin về các node gói tin đi qua giữa người gửi và người nhận Các node này là thành phần của một hệ thống dịch vụ Web nhiều tầng
SOAP có hai kiểu tương tác Kiểu thứ nhất, SOAP cung cấp khả năng trao đổi thông tin giữa các nhóm cung cấp dịch vụ Kiểu thứ hai, SOAP cung cấp khả năng triệu gọi dịch vụ giống như cơ chế RPC