©2004 JC Group
WEB SERVICES
Các thành viên thực hiện:
NGUYỄN QUỐC VIỆT 50602991
NGUYỄN THANH TÚ 50602872
©2004 JC Group
Nội dung trình bày
Hệ thống phân tán.
Giới thiệu tổng quan Web Services.
WSDL.
UDDI.
SOAP.
XML.
Bảo mật cho Web Services
Ưu và nhược điểm của Web Services
Tổng kết.
©2004 JC Group
Hệ thống phân tán
Giới thiệu:
–
Hệ thống phân tán là một hệ thống gồm các thành phần xử lý
phân tán, giao tiếp với nhau qua một cơ sở hạ tầng truyền
thông chung
Vd: www, internet, mạng điện thoại…
–
Ứng dụng phân tán được hiểu là một ứng dụng phần mềm
trên một hệ phân tán
©2004 JC Group
Ứng dụng phân tán
Máy
tính
Máy
tính
Dữ liệu
Ứng dụng
phân tán
Ứng dụng
phân tán
Dữ liệu
©2004 JC Group
Ứng dụng phân tán (cont)
RMI
–
Do JavaSoft đưa ra
–
Được xây dựng trên ngôn ngữ Java
–
Các ứng dụng của client-server phải được viết trong ngôn ngữ
Java. Các đối tượng trong RMI không thể giao tiếp với các đối
tượng không phải là đối tượng Java
DCOM
–
Do Microsoft đưa ra.
–
Đưa ra IDL cung cấp các interface cho client gọi
–
Các ứng dụng của DCOM chỉ tốt trên các ứng dụng của
Microsoft.
CORBA
©2004 JC Group
WEB SERVICES
MICROSOFT
JAVA
©2004 JC Group
WEB SERVICES
Là một tập các phương thức được gọi thực hiện từ xa
thông qua một địa chỉ URL.
Internet
Internet
Firewall
Firewall
Firewall
Web Service
Web Service
Web Service
Web Service
Web Service
Web Service
Client
Client
©2004 JC Group
Đặc điểm WEB SERVICES
Web Services được truy xuất thông qua Web bằng
cách dùng URL
Web Services liên lạc với thế giới bên ngoài dùng
thông điệp XML gửi trực tiếp qua Web protocols
Web Services được đăng kí tại nơi chung, và được đặc
tả tất cả các chức năng .
©2004 JC Group
CÁC THÀNH PHẦN CỦA WEB SERVICES
UDDIWSDL SOAP
Web Service
©2004 JC Group
Mô hình tương tác giữa các thành phần
2
2
1
1
5
5
Web service developer xây dựng và triển khai một Web Servce
Web service developer xây dựng và triển khai một Web Servce
1
1
Web service developer đăng ký và phân loại Web Service
Web service developer đăng ký và phân loại Web Service
2
2
Web service consumer truy vấn tìm kiếm Web Services
Web service consumer truy vấn tìm kiếm Web Services
3
3
Web service consumer xác đinh Web Service thích hợp nhất
Web service consumer xác đinh Web Service thích hợp nhất
4
4
Web service developer xây dựng ứng dụng tiêu thụ Web Service
Web service developer xây dựng ứng dụng tiêu thụ Web Service
5
5
Pricing Web Service
Pricing Web Service
UDDI Services
UDDI Services
3
3
4
4
©2004 JC Group
Mô hình tương tác giữa các thành
phần
©2004 JC Group
Web Service Description : WSDL
Interface Define Language (IDL) của Web Service
–
Kiểu (Types): kiểu cơ bản khi trao đổi giữa client và server
–
Thông điệp (Message): các thông điệp gửi nhận giữa client và
server
–
Dạng thức Port (input, output) (Port Type): tổng hợp các
message để đinh nghĩa quá trình giao tiếp giữa client và
server
–
Kết nối (Binding): cách thức giao tiếp giữa client và server
(HTTP, SMTP, RPC,…)
–
Dịch vụ (Service): định nghĩa tên cùng với các chú thích
(documentation), và địa chỉ của service
©2004 JC Group
Ví dụ WSDL
Types
<wsdl:types> ?
<wsdl:documentation />?
<xsd:schema />
< extensibility element > *
</wsdl:types>
Message
<wsdl:message name="nmtoken"> *
<wsdl:documentation />?
<part name="nmtoken" element="qname"? type="qname"?/>
*
</wsdl:message>
©2004 JC Group
Ví dụ WSDL
Port type :
<wsdl:portType name="nmtoken">*
<wsdl:documentation />?
<wsdl:operation name="nmtoken">*
<wsdl:documentation /> ?
<wsdl:input name="nmtoken"? message="qname">?
<wsdl:documentation /> ?
</wsdl:input>
<wsdl:output name="nmtoken"? message="qname">?
<wsdl:documentation /> ?
</wsdl:output>
<wsdl:fault name="nmtoken" message="qname"> *
<wsdl:documentation /> ?
</wsdl:fault>
</wsdl:operation>
</wsdl:portType>
©2004 JC Group
UDDI (Universal Description, Discovery and Integration)
Làm thế nào để một client có thể sử dụng một web
service?
Phải tìm dịch vụ, biết thông tin về cách sử dụng dịch vụ và đối
tượng cung cấp dịch vụ.
UDDI sẽ cho biết những thông tin này!
©2004 JC Group
Đặc điểm của UDDI
UDDI là phần chứa các thông tin của web service
UDDI được miêu tả bởi ngôn ngữ WSDL
UDDI giao tiếp thông qua SOAP
UDDI được xây dựng trên Microsoft .NET platform
Nhiệm vụ:
Tìm đúng dịch vụ đang cần.
Định nghĩa cách kích họat dịch vụ.
©2004 JC Group
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ả.
©2004 JC Group
SOAP (cấu trúc của SOAP)
SOAP Message
SOAP Envelope
SOAP Header
SOAP Body
Message Name & Data
Headers
Headers
XML-encoded SOAP message name
& data
<Body> contains SOAP message name
Individual headers
<Header> encloses headers
<Envelope> encloses payload
Protocol binding headers
The complete SOAP message
©2004 JC Group
Ví dụ SOAP
<xml version="1.0"?>
<soap:Envelope
xmlns:soap=" />soap:encodingStyle=" />encoding">
<soap:Header>
<m:Trans xmlns:m=
" /> soap:mustUnderstand="1">234
</m:Trans>
</soap:Header>
<soap:Body>
<m:GetPrice mlns:m=
" /> <m:Item>Apples</m:Item>
</m:GetPrice>
</soap:Body>
</soap:Envelope>
Bắt buộc
©2004 JC Group
Giới thiệu về XML
XML: Extensible Markup Language
Là một ngôn ngữ đánh dấu (makup language) mà ta có
thể sử dụng để tự tạo ra các thẻ (tags) của mình.
Ví dụ:
<?xml version="1.1" encoding="UTF-8"?>
<address>
<name>Đại Học Bách Khoa</name>
<number>257</number>
<street>Lý Thường Kiệt</street>
<city>Hồ Chí Minh City</city>
</address>
Tag
Data
Tag gốc
©2004 JC Group
XML
Đặc điểm:
XML được thiết kế để chứa dữ liệu, không
phải để hiển thị dữ liệu.
Các thẻ (tags) XML không được định nghĩa
trước mà do người lập trình tự định nghĩa.
Mỗi thẻ trong file XML không chỉ chứa dữ
liệu mà còn cho biết dữ liệu đó là gì
Tìm kiếm dễ.
Vd: <hovaten>Trần Văn A</hovaten>
©2004 JC Group
Bảo mật cho Web services
Một trong những vấn đề cần quan tâm nhất khi sử dụng
web service là bảo mật và quản lý truy cập.
Cần phải đảm bảo khi khách hàng liên kết với máy chủ
thì dịch vụ nào khách hàng đựơc sử dụng, dịch vụ nào
khách hàng không được sử dụng.
Phải đảm bảo thông tin giao tiếp giữa khách hàng và
nhà cung cấp dịch vụ được giữ bí mật.
Có hai hình thức bảo mật chính:
–
Bảo mật an ninh ở mức truyền tải.
–
Bảo mật an ninh ở mức thông điệp.
©2004 JC Group
Bảo mật cho Web services
Bảo đảm an ninh ở mức chuyển tải:
–
Là cơ chế an ninh điểm tới điểm (Point to Point), dùng cho
việc nhận dạng và xác thực các bên, bảo đảm tính tòan vẹn và
bảo mật của thông điệp.
–
HTTP là giao thức không an tòan, dữ liệu được truyền đi ở
dạng Text nên dễ bị lộ. Ta thay bằng HTTPs, ở đây tất cả các
thông điệp đã được mã hóa.
–
Kỹ thuật HTTPS cho phép xác thực máy chủ, máy chủ phải
xuất trình chứng thực cho trình khách để trình khách nhận
dạng máy chủ, còn máy chủ không thể chứng thực được trình
khách.
–
Thực tế người ta thường dùng xác thực cơ sở HTTP kết hợp
với HTTPS.
©2004 JC Group
Bảo mật cho Web services
Bảo đảm an ninh ở mức thông điệp
–
Là cách tiếp cận là tất cả thông tin liên quan tới an ninh đều
được gói kín trong SOAP
–
Bảo đảm an ninh ở mức thông điệp đòi hỏi sự bảo vệ bằng
thẻ bài tên người dùng, mật mã XML và chữ ký số.
–
Đặc tả bảo đảm an ninh dịch vụ Web (WS-Security) cung cấp
an ninh ở mức thông điệp
–
Thường được kết hợp với bảo đảm an ninh ở mức truỳên tải.
©2004 JC Group
Ưu & nhược điểm
Ưu điểm
–
Đơn giản (chỉ dùng URL)
–
Nâng cao khả năng tái sử dụng.
–
Thúc đẩy hệ thống tích hợp, giảm sự phức tạp của hệ thống
–
hạ giá thành hoạt động, phát triển hệ thống nhanh
Nhược điểm
–
Phụ thuộc nhiều vào công nghệ
–
Phải quan tâm nhiều hơn đến vấn đề an toàn và bảo mật.