Mở đầu Như chúng ta đã biết ngày nay công nghệ thông tin đang phát triển rất mạnh mẽ.Song song với điều đó là nhu cầu tìm hiểu,trao đổi thông tin giữa các ứng dụng cũng rất cao.Và tất nh
Trang 1Phần IV Tài liệu tham khảo.
NỘI DUNG TRÌNH BÀY
Trang 2Phần I Mở đầu
Như chúng ta đã biết ngày nay công nghệ thông tin đang phát triển rất mạnh mẽ.Song song với điều đó là nhu cầu tìm hiểu,trao đổi thông tin giữa các ứng dụng cũng rất cao.Và tất nhiên phải có những giao thức giúp cho việc trao đổi thông tin được diễn
ra và SOAP chính là một trong những giao thức để làm được điều đó.Sau đây chúng
ta sẽ nghiên cứu về SOAP
Trang 3I Định nghĩa SOAP (Simple Object Access Protocol)
+ Là giao thức được Web Service sử dụng để truyền dữ liệu qua Internet
+ SOAP = XML + một giao thức có thể hoạt
động trên Internet (HTTP, FTP, SMTP), trong
đó HTTP phổ biến hơn cả
Phần II Nội dung
Trang 4web service
Interne t
Interne t
Firew all
Firew all
Firew all
WebService Web Service
Web Service Client
Trang 5web service
• Là một abstract interface, được thể hiện trong HTML dựa trên sự tương tác của User & Web Server
• Là một software application được truy xuất thông qua Web bởi một ứng dụng khác
Trang 6CÁC THÀNH PHẦN CỦA WEB SERVICES
Trang 7• Trong đó:
• WSDL (Web Service Description
Language ):Là ngôn ngữ mô tả dịch vụ
• UDDI (Universal Description, Discovery, and Integration) :được sử dụng để đăng ký và tìm dịch vụ Web đã được miêu tả cụ thể trong
WSDL , UDDI sử dụng SOAP để giao tiếp với UDDI server
• SOAP:giúp client có thể truy xuất đến UDDI registry bằng các lệnh SOAP
Trang 8Đế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 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 SOAP
Trang 9+ XML là viết tắt của eXtensible Markup
Language
+ XML là một ngôn ngữ đánh dấu tương tựnhư HTML
+ XML được thiết kế để mang dữ liệu,
không để hiển thị dữ liệu
+Các thẻ XML không được định trước Bạnphải xác định các thẻ của riêng bạn (*)
+ XML được thiết kế để tự mô tả
XML là gì?
Trang 12• Khi sử dụng các tiền tố cho namespace phải
được định nghĩa
• cú pháp :xmlns: prefix(Tiền tố) = "URI".
• <root>
<h:table xmlns:h="http://www.w3.org/TR/html4/" > <h:tr>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
</root>
Trang 13II Các đặc trưng của SOAP
•+ SOAP là ngôn ngữ độc lập
•+ SOAP xây dựng dựa trên XML
•+ SOAP được thiết kế đơn giản và dễ mở
rộng
•+ SOAP dung cho giao tiếp giữa các ứng dụng
•+ SOAP là một định dạng cho việc gửi
messages
•+ SOAP giao tiếp qua Internet
•+ Có khả năng hoặt động "xuyên qua" tường lửa
•V,v,v,…
Trang 14• Ngày nay, các ứng dụng giao tiếp với nhau bằng cách sử dụng Remote Procedure Calls (RPC)
như DCOM và CORBA, nhưng HTTP không
được thiết kế cho việc này RPC đại diện cho
một khả năng tương thích và các vấn đề bảo
mật, nhưng các thông báo qua mạng thường bị tường lửa và proxy servers chặn lại
• Cách tốt hơn để giao tiếp giữa các ứng dụng là
sử dụng HTTP, bởi vì HTTP được hỗ trợ bởi tất
cả các trình duyệt Internet và máy chủ nên
SOAP được tạo ra để thực hiện điều này
• SOAP = XML + HTTP
Why SOAP?
Trang 15• + Một message SOAP phải được mã hóa bằng cách sử dụng XML
Trang 17Cấu trúc thông điệp SOAP
Trang 18
Message information goes here
</soap:Envelope>
Trang 19Chứ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 giaotác
Trang 20Thuộc tính của SOAP header
+ Thuộc tính Actor
Chứa các thông tin chỉ nhằm mục đích trung
gian hoặc thông tin cho các điểm cuối cùng
+ Thuộc tính MustUnderstand
Thuộc tính này cho biết một header entries
đang bắt buộc tùy chọn hoặc tùy chọn (optional
or mandatory)
Trang 21Phần tử khai báo nội dung chính trong thông điệpbody, chứa các thông tin yêu cầu và phản hồi.
Trang 22<?xml version="1.0"?>
<soap:Envelope
envelope"
xmlns:soap="http://www.w3.org/2001/12/soap-soap:encodingStyle="http://www.w3.org/2001/12 /soap-encoding">
<soap:Body>
<m:GetPriceResponse
xmlns:m="http://www.w3schools.com/prices"> <m:Price>1.90</m:Price>
</m:GetPriceResponse>
</soap:Body>
</soap:Envelope>
Trang 23SOAP Fault này là phần tử Body đưa vào chỉ
được xác định bởi SOAP Nó được sử dụng để
đưa ra thông tin lỗi của một thông điệp SOAP banđầu Các phần tử Faults phải xuất hiện ngay saumột phần tử con của các phần tử Body, và nó
không thể xuất hiện nhiều hơn một lần
Phần tử SOAP Fault
Trang 24Các phần tử của SOAP Fault
• Faultcode Element : Xác định lỗi
• Faultstring Element : Giải thích về lỗi
• Faultactor Element : Xác định đối tượng gây ra lỗi
• Detail Element : Xác định cụ thể do lỗi liên kết với các phần tử Body massage
Trang 25• HTTP truyền qua TCP / IP Một HTTP client kết nối đến một máy chủ HTTP bằng cách sử dụng giao thức TCP Sau khi thiết lập kết nối, client có thể gửi một message yêu cầu HTTP từ máy chủ:
Trang 26Các yêu cầu HTTP POST xác định ít nhất hai
tiêu đề HTTP: Content-Type và Content-Length
Trang 27• Ưu điểm :
• Dễ dàng kết nối với proxies và firewall.
• SOAP hỗ trợ linh động với những giao thức vận
• HTTP quá đơn giản để tạo ra các trang web hay dịch
vụ mà chỉ có các công nghệ mới mới đáp ứng được.
• Không phải tất cả các ngôn ngữ đều hỗ trợ SOAP
(JAVA).
IV Ưu nhược điểm của SOAP
Trang 28Phần III Kết luận
• Bài tìm hiểu trên đây chỉ cho chúng ta cách sử dụng SOAP để trao đổi thông tin giữa các ứng dụng thông qua HTTP Giúp ta hiểu rõ hơn về các phần tử và các thuộc tính khác nhau trong một message SOAP Bạn cũng đã biết được cách sử dụng SOAP như là một giao thức để truy cập một dịch vụ web
Trang 29Simple object Access protocol
HTTP
HTTP
Trang 30Phần IV Tài liệu tham khảo
• Bài giảng môn mạng máy tính và lập trình