Tải bản đầy đủ (.doc) (56 trang)

Tìm hiểu về Web Service và xây dựng một web service

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 (1.27 MB, 56 trang )

Đồ án chuyên ngành

GVHD: ThS. Lê Thị Ánh Tuyết

DANH SÁCH NHÓM
Họ và tên

MSSV

Nhiệm vụ

Vũ Thị Tuyết

10020983

Tìm hiểu về web service

Phạm Bá Cường

10009843

Thực hiện demo xây dựng một web
service

SVTH: Phạm Bá Cường - Vũ Thị Tuyết - Lớp DHTH6TH


Đồ án chuyên ngành

GVHD: ThS. Lê Thị Ánh Tuyết


NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
Thanh Hóa, ngày..... tháng..... năm.........
Giảng viên hướng dẫn

SVTH: Phạm Bá Cường - Vũ Thị Tuyết - Lớp DHTH6TH


Đồ án chuyên ngành

GVHD: ThS. Lê Thị Ánh Tuyết

NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN
................................................................................................................................
................................................................................................................................
................................................................................................................................

................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
................................................................................................................................
...............
Thanh Hóa, ngày..... tháng..... năm.........
Giảng viên phản biện

SVTH: Phạm Bá Cường - Vũ Thị Tuyết - Lớp DHTH6TH


Đồ án chuyên ngành

GVHD: ThS. Lê Thị Ánh Tuyết

MỤC LỤC
DANH SÁCH NHÓM...............................................................................................................1
LỜI CẢM ƠN............................................................................................................................6
MỞ ĐẦU....................................................................................................................................1
NỘI DUNG................................................................................................................................2
1.KIẾN TRÚC THÀNH PHẦN...............................................................................................2
2.CÔNG NGHỆ WEBSERVICE.............................................................................................3

2.1. Tìm hiểu về Web Service.................................................................................................3
2.2. Đặc điểm của Web Service..............................................................................................4
2.3. Ưu điếm, nhược điểm của Web Services........................................................................6
2.3.1. Ưu điểm:..................................................................................................................6
Web Services có những ưu điểm chính sau:...........................................................................6
2.3.2. Nhược điểm..............................................................................................................6
Mặc dù Webservice có nhiều ưu điểm như trên, nó vẫn còn tồn tài một số nhược điểm
như:.....................................................................................................................................6
3. Kiến trúc của Web Service.................................................................................................6
4. Cơ chế hoạt động của Web Service....................................................................................9
5. Chồng giao thức Web Service...........................................................................................10
6. Các Thành Phần Của Web Service...................................................................................11
6.1. XML - Extensible Markup Language.......................................................................11
6.2. UDDI - Universal Description, Discovery and Integration......................................13
6.3. WSDL - Web Service Description Language............................................................17
7. SOAP - Simple Object Access Protocol.......................................................................20
8. KHẢ NĂNG ỨNG DỤNG..................................................................................................24
9. QUY TRÌNH XÂY DỰNG WEBSERVICE.....................................................................26
9.1. Quy trình xây dựng một dịch vụ web.............................................................................27
9.2. Tích hợp Webservice theo chuẩn...................................................................................28

SVTH: Phạm Bá Cường - Vũ Thị Tuyết - Lớp DHTH6TH


Đồ án chuyên ngành

GVHD: ThS. Lê Thị Ánh Tuyết

DANH MỤC HÌNH
DANH SÁCH NHÓM...............................................................................................................1

LỜI CẢM ƠN............................................................................................................................6
MỞ ĐẦU....................................................................................................................................1
NỘI DUNG................................................................................................................................2
1.KIẾN TRÚC THÀNH PHẦN...............................................................................................2
2.CÔNG NGHỆ WEBSERVICE.............................................................................................3
2.1. Tìm hiểu về Web Service.................................................................................................3
2.2. Đặc điểm của Web Service..............................................................................................4
2.3. Ưu điếm, nhược điểm của Web Services........................................................................6
2.3.1. Ưu điểm:..................................................................................................................6
Web Services có những ưu điểm chính sau:...........................................................................6
2.3.2. Nhược điểm..............................................................................................................6
Mặc dù Webservice có nhiều ưu điểm như trên, nó vẫn còn tồn tài một số nhược điểm
như:.....................................................................................................................................6
3. Kiến trúc của Web Service.................................................................................................6
4. Cơ chế hoạt động của Web Service....................................................................................9
5. Chồng giao thức Web Service...........................................................................................10
6. Các Thành Phần Của Web Service...................................................................................11
6.1. XML - Extensible Markup Language.......................................................................11
6.2. UDDI - Universal Description, Discovery and Integration......................................13
6.3. WSDL - Web Service Description Language............................................................17
7. SOAP - Simple Object Access Protocol.......................................................................20
8. KHẢ NĂNG ỨNG DỤNG..................................................................................................24
9. QUY TRÌNH XÂY DỰNG WEBSERVICE.....................................................................26
9.1. Quy trình xây dựng một dịch vụ web.............................................................................27
9.2. Tích hợp Webservice theo chuẩn...................................................................................28

SVTH: Phạm Bá Cường - Vũ Thị Tuyết - Lớp DHTH6TH


Đồ án chuyên ngành


GVHD: ThS. Lê Thị Ánh Tuyết

LỜI CẢM ƠN
Qua 4 năm học tập và nghiên cứu tại Trường Đại Học Công Nghiệp Thành Phố
Hồ Chí Minh, chúng em đã được các thầy, cô truyền đạt cho những kiến thức cả về lý
thuyết và thực hành, để chúng em áp dụng những kiến thức đó vào thực tế và làm quen
công việc độc lập của người kỹ sư trong tương lai, thông qua một công việc cụ thể,
chính vì lý do đó mà chúng em đã được nhận đề tài tốt nghiệp rất thực tế đó là: "Tìm
hiểu về Web Service và xây dựng một web service".
Trong quá trình thực hiện đồ án chúng em được sự hướng dẫn nhiệt tình của cô
giáo Lê Thị Ánh Tuyết. Tuy nhiên, trong quá trình thực hiện đồ án chúng em còn
nhiều bỡ ngỡ, do chưa có kinh nghiệm thực tiễn nên không tránh khỏi những sai sót.
Vì vậy, chúng em rất mong nhận được sự góp ý của các thầy, cô giáo để hoàn thành tốt
đồ án chuyên ngành và nhiệm vụ học tập tại trường .
Chúng em xin chân thành cảm ơn!

SVTH: Phạm Bá Cường - Vũ Thị Tuyết - Lớp DHTH6TH


Đồ án chuyên ngành

GVHD: ThS. Lê Thị Ánh Tuyết

MỞ ĐẦU
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ú. Trong
nền kinh tế thị trường hiện nay, chuyển đổi dữ liệu thông tin đang là nhu cầu thiết yếu
cho sự phát triển và tồn tại của các doanh nghiệp.
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 Business) và B2C (Business to
Customer). Giá trị cơ bản của Web Service dựa trên việc cung cấp các phương thức
theo chuẩn trong việc truy nhập đối với hệ thống đóng gói và hệ thống kế thừa.
Web Service ra đời đã mở ra một hướng mới cho việc phát triển các ứng dụng
trên Internet giải quyết vấn dề chuyển đổi dữ liệu trong quy trình thương mại của các
doanh nghiệp.
Web Service kết hợp sử dụng nhiều công nghệ khác nhau cho phép các ứng
dụng được viết bằng các ngôn ngữ khác nhau, chạy trên các nền tảng khác nhau có
chuyển đổi dữ liệu thông qua môi trường mạng Internet theo cách giao tiếp tương tự
bên trong một máy tính. Sử dụng webservice, chúng ta có thể liên kết các hệ thống đơn
lẻ sẵn có mà không cần quan tâm tới nền tảng phát triển bên dưới của chúng.
Đồ án của chúng em gồm có 2 nội dung chính:
Chương 1: Tìm hiểu chung về Web Service
Chương 2 : Ứng dụng Web Service xây dựng hệ thống quản lý sinh viên

SVTH: Phạm Bá Cường - Vũ Thị Tuyết - Lớp DHTH6TH

1


Đồ án chuyên ngành

GVHD: ThS. Lê Thị Ánh Tuyết

NỘI DUNG
CHƯƠNG 1: TÌM HIỂU CHUNG VỀ WEB SERVICE
1. KIẾN TRÚC THÀNH PHẦN
Kiến trúc thành phần:

Hình 1: Kiến trúc thành phần

Ứng dụng thực hiện kết hợp với các component chứa các phương thức được
xây dựng sẵn. Khi ứng dụng gọi một phương thức trong component, nó sẽ truyền tham
số cần thiết. Phương thức component thực thi và trả về kết quả cho ứng dụng.
Sự phát triển việc tính toán xử lí: Trước đây, ứng dụng có thể chạy trên một
máy tính cùng với CSDL được cài đặt trên đó. Tất cả các thao tác chỉ xử lí trên cùng
một máy. Sau đó, với nhu cầu phát triển người ta đã xây dựng các hệ thống theo kiến
trúc Client-Server. Khi đó CSDL và các thành phần xử lí nghiệp vụ được cài đặt trên
máy Server. Còn tại các máy Client sẽ cài đặt thành phần giao diện. Sự phát triển này
đã giúp việc thực hiện các ứng dụng đa dạng hơn, phức tạp hơn nhưng việc xử lí vẫn
tập trung tại máy server.
Tính toán phân tán: tính toán phân tán là lĩnh vực khoa học máy tính nhằm
giải quyết các vấn đề lớn bằng cách chia nhỏ các vấn đề lớn thành các vấn đề nhỏ để
nhiều máy tính giải quyết và sau đó kết hợp các giải pháp cho các phần vào một giải
pháp cho vấn đề này. Gần đây các dự án tính toán phân tán đã được thiết kế để sử
dụng máy tính của hàng trăm ngàn tình nguyện viên trên khắp thế giới thông qua
Internet để tìm tín hiệu radio ngoài trái đất…

SVTH: Phạm Bá Cường - Vũ Thị Tuyết - Lớp DHTH6TH

2


Đồ án chuyên ngành

GVHD: ThS. Lê Thị Ánh Tuyết

Hình 2: sơ đồ tính toán phân tán
Kiến trúc thành phần phân tán:
Gồm 3 kiến trúc chính:


Hình 3: Kiến trúc thành phần phân tán
2. CÔNG NGHỆ WEBSERVICE
2.1. Tìm hiểu về Web Service
Theo định nghĩa của W3C (World Wide Web Consortium), Web Services là
một hệ thống phần mềm được thiết kế để hỗ trợ khả năng tương tác giữa các ứng dụng
trên các máy tính khác nhau thông qua mạng Internet, giao diện chung và sự gắn kết
của nó được mô tả bằng XML.

SVTH: Phạm Bá Cường - Vũ Thị Tuyết - Lớp DHTH6TH

3


Đồ án chuyên ngành

GVHD: ThS. Lê Thị Ánh Tuyết

Web Service mô tả một cách thức chuẩn để tích hợp các ứng dụng dựa trên nền
tảng Web, sử dụng các chuẩn XML(Extensible Markup Language), UDDI (Universal
Description Discovery and Integration), SOAP (Simple Object Acces Protocol),
WSDL (Web Services Description Language) thông qua giao thức Internet.

Hình 4: Sơ đồ tương tác giữa User và Web

Web Service là một công nghệ cho phép Client truy xuất để thực hiện mọi tác
vụ như một Web Application. Về bản chất, Web service hoạt động dựa trên nền tảng
XML và HTTP. Trong đó, XML làm nhiệm vụ mã hóa, giải mã dữ liệu và dùng SOAP
để truyền tải. HTTP sử dụng cho việc trao đổi thông tin trên Internet.
Trước hết có thể nói rằng ứng dụng cơ bản của dịch vụ Web là tích hợp các hệ
thống và là một trong những hoạt động chính khi phát triển hệ thống. Trong hệ thống

này các ứng dụng cần được tích hợp với cơ sở dữ liệu (CSDL) và các ứng dụng khác,
người sử dụng sẽ giao tiếp với CSDL để tiến hành phân tích dữ liệu.
Trong thời gian gần đây việc phát triển mạnh mẽ của thương mại điện tử đòi
hỏi các hệ thống phải có khả năng tích hợp với CSDL của các đối tác kinh doanh
(nghĩa là tương tác với hệ thống bên ngoài – bên cạnh tương tác với các thành phần
bên trong của hệ thống trong doanh nghiệp).
Báo cáo này mô tả sơ lược các công nghệ cần thiết để tạo nên một Web Service
cũng như các khái niệm liên quan.
2.2. Đặc điểm của Web Service
Dịch vụ Web cho phép Client và Server tương tác được với nhau ngay cả trong
những môi trường khác nhau. Ví dụ , đặt Web server cho ứng dụng chạy trên một máy
chủ chạy hệ điều hành Linux trong khi người dùng sử dụng máy tính chạy hệ điều

SVTH: Phạm Bá Cường - Vũ Thị Tuyết - Lớp DHTH6TH

4


Đồ án chuyên ngành

GVHD: ThS. Lê Thị Ánh Tuyết

hành Windows, ứng dụng vẫn có thể chạy và xử lý bình thường mà không cần thêm
yêu cầu đặc biệt để tương thích giữa hai hệ điều hành này.
Là sự kết hợp của việc phát triển theo hướng từng thành phần với những lĩnh
vực cụ thể và cơ sở hạ tầng Web, đưa ra những lợi ích cho cả doanh nghiệp , khách
hàng, nhà cung cấp khác và cả những cá nhân thông qua mạng Internet.

Độc lập về ngôn ngữ, nền tảng: webservice cho phép Client và Server liên kết
được với nhau ngay cả trong những môi trường khác nhau. Đó là vì webservice sử

dụng XML, một chuẩn mở đã được công nhận và có thể hiểu bất kì ngôn ngữ lập trình
nào.
Khả năng tự mô tả: giao diện của webservice được xây dựng bởi thông qua tài
liệu WSDL. Tài liệu này định nghĩa cấu trúc thông điệp trao đổi và cấu trúc dữ liệu
thông điệp đó.
Tách biệt giữa mô tả và nội dung: đây là một trong những đặc tính then chốt
làm nên sự thành công cho webservice.
Webservice không đòi hỏi ở phía Client phải cài đặt bất cứ một thành phần mới
nào. Còn ở phía Server, để triển khai webservice thì chỉ cần có Servlet engine, hoặc
Apache hoặc .Net Runtime… khi đã được triển khai thì Client có thể sử dụng ngay các
dịch vụ. Điều này khác với các công nghệ khác như Dcom hay RMI khi mà Client phải
cài đặt Client Stub để có thể truy cập dịch vụ.
Webservice được dựa trên các chuẩn mở : SOAP, WSSDL, XML, UDDI.
Sự truy cập được thông qua môi trường web: webservice được phát hành, xác
định và gọi đều thông qua môi trường web. Trong đó mô tả về dịch vụ được xuất bản
sử dụng WSDL, người dùng tìm kiếm và xác định dịch vụ nhờ sự trợ giúp của UDDI
và yêu cầu dịch vụ bằng SOAP. Tất cả các giao thức này đều dựa trên Web.
SVTH: Phạm Bá Cường - Vũ Thị Tuyết - Lớp DHTH6TH

5


Đồ án chuyên ngành

GVHD: ThS. Lê Thị Ánh Tuyết

2.3. Ưu điếm, nhược điểm của Web Services

2.3.1. Ưu điểm:
Web Services có những ưu điểm chính sau:

- Thúc đẩy đầu tư các hệ thống phần mềm đã tồn tại bằng cách cho phép các tiến
trình, chức năng nghiệp vụ đóng gói trong giao diện dịch vụ Web.
- Tạo mối quan hệ tương tác lẫn nhau và mềm dẻo giữa các thành phần trong hệ
thống, dễ dàng cho việc phát triển các ứng dụng phân tán.
- 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 và tương tác hiệu quả với hệ thống của các doanh
nghiệp khác.
- Khả năng vượt tường lửa: Web Service hoạt động trên nền HTTP nên sử dụng
cổng 80, là cổng mà tường lửa cho phép.
- Hoạt động trên đa môi trường: Web Service dựa trên công nghệ XML được hỗ
trợ bởi tất cả các hệ điều hành kể cả môi trường di dộng.
- Tính linh hoạt, dễ chuyển đổi: Web Service chỉ bao gồm các hàm nên việc thay
đổi dễ dàng và giảm chi phí đường truyền do truyền dữ liệu không định dạng HTML.
- Sử dụng các giao thức và chuẩn mở. Giao thức và định dạng dữ liệu dựa trên
văn bản, giúp các lập trình viên dễ dàng hiểu được.

2.3.2. Nhược điểm
Mặc dù Webservice có nhiều ưu điểm như trên, nó vẫn còn tồn tài một số nhược
điểm như:
- Có quá nhiều chuẩn cho dịch vụ Web khiến người dùng khó nắm bắt.
- Phải quan tâm nhiều hơn đến vấn đề an toàn và bảo mật.
- Phụ thuộc nhiều vào công nghệ.
- Những thiệt hại lớn sẽ xảy ra vào khoảng thời gian chết của Dịch vụ Web, giao
diện không thay đổi, có thể lỗi nếu một máy khách không được nâng cấp, thiếu các
giao thức cho việc vận hành.
3. Kiến trúc của Web Service
Dịch vụ Web gồm có 3 chuẩn chính:
- SOAP (Simple Object Access Protocol)
- WSDL (Web Service Description Language)
- UDDI (Universal Description, Discovery, and Integration)

SVTH: Phạm Bá Cường - Vũ Thị Tuyết - Lớp DHTH6TH

6


Đồ án chuyên ngành

GVHD: ThS. Lê Thị Ánh Tuyết

Kiến trúc của web service bao gồm các tầng như sau :

Hình 5: Kiến trúc của Web Service
 Trong đó :
- Tầng vận chuyển (Transport) có nhiệm vụ truyền thông điệp giữa các ứng dụng
mạng, bao gồm các giao thức như HTTP, SMTP, JMS và gần đây nhất là giao thức
thay đổi khối mở rộng (Blocks Extensible Exchange Protocol - BEEP).
- 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 cho phép người dùng triệu gọi một service từ xa thông
qua một message XML. Có nhiệm vụ giải mã các thông điệp theo định dạng XML để
có thể hiểu được ở mức ứng dụng tương tác với người dùng.
- Tầng mô tả dịch vụ (Service Description) sử dụng để miêu tả các giao diện
chung cho một dịch vụ Web cụ thể với công nghệ chuẩn là WSDL và XML. WSDL
thường được sử dụng cho mục đích này , nó là một ngôn ngữ mô tả giao tiếp và thực
thi dựa trên XML. Dịch vụ Web sẽ sử dụng ngôn ngữ này để truyền tham số và các
loại dữ liệu cho các thao tác và chức năng mà dịch vụ Web cung cấp.
- Tầng dịch vụ (Service) cung cấp các chức năng của service.
- Tầng (Business Process) tiến hành các bước xử lý thông tin đầu vào để cho kết
quả đầu ra theo yêu cầu, là các hoạt động có tính chất nghiệp vụ.
- 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.

SVTH: Phạm Bá Cường - Vũ Thị Tuyết - Lớp DHTH6TH

7


Đồ án chuyên ngành

GVHD: ThS. Lê Thị Ánh Tuyết

Bên cạnh đó, để cho các service có tính an toàn, toà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 toàn và toàn vẹn thông tin khi sử dụng
service.
Nguyên tắc của Web Service :
Nguyên tắc của việc cung cấp và sử dụng dịch vụ Web là khá đơn giản và được
thể hiện trong hình dưới. Ý tưởng cơ bản là một số ứng dụng client có thể gọi vào các
dịch vụ cung cấp bởi một ứng dụng máy chủ. Tiêu chuẩn hóa diễn ra đối với cách các
dịch vụ được mô tả như vậy mà chúng có thể được nhìn lên bởi một ứng dụng máy
khách. Ngoài ra chúng ta cần phải đảm bảo rằng tiền thu dịch vụ cuộc gọi theo các quy
tắc được thiết lập bởi các ứng dụng máy chủ.

Một thành phần quan trọng trong kiến trúc dịch vụ Web được tạo thành bởi một
dịch vụ thư mục lưu trữ các mô tả dịch vụ. Dịch vụ này tuân thủ các mô tả Universal,
tiêu chuẩn khám phá và tích hợp (UDDI). Như tên gọi của nó cho thấy , UDOR quy
định cách bố trí của một cơ sở dữ liệu chứa các mô tả dịch vụ này sẽ cho phép khách
hàng dịch vụ Web để duyệt các dịch vụ liên quan.
Dịch vụ này được mô tả bằng phương tiện của các dịch vụ Web Difinition

Language (WSDL) mà là một ngôn ngữ chính thức rất nhiều giống như các ngôn ngữ
giao diện sử dụng để hỗ trợ giao tiếp dựa trên RPC. Một mô tả WSDL chứa định nghĩa
chính xác của các giao diện được cung cấp bởi một dịch vụ như thủ tục đặc điểm kỹ

SVTH: Phạm Bá Cường - Vũ Thị Tuyết - Lớp DHTH6TH

8


Đồ án chuyên ngành

GVHD: ThS. Lê Thị Ánh Tuyết

thuật, các kiểu dữ liệu, các vị trí (hợp lý) của dịch vụ. Một vấn đề quan trọng của một
mô tả WSDL là có thể được tự động dịch cho khách hàng và phía máy chủ sơ khai.
Cuối cùng , một yếu tố cốt lõi của dịch vụ Web là đặc tả về cách giao tiếp diễn
ra. Để kết thúc này, giao thức truy cập đối tượng đơn giản (SOAP) được sử dụng, mà
bản chất là một khuôn khổ trong đó phần lớn các giao tiếp giữa hai quá trình có thể
được chuẩn hóa.
4. Cơ chế hoạt động của Web Service

Hình 6: Tiến trình của môt Web Service
 Mô tả tiến trình:
(1). Client cần truy vấn đến các mẫu tin UDDI theo 1 thông tin nào đó (chẳng
hạn tên, loại) để xác định Web Service cần tìm.
(2). Các mẫu tin UDDI trả lời bằng một tệp WSDL, tệp WSDL sẽ mô tả cách
thức liên lạc với web service, định dạng của gói tin truy vấn và phản hồi. Clien có thể
lấy thông tin về địa chỉ cả tệp WSDL của Web Service này dựa trên mẫu tin UDDI.
(3). Client tạo ra một Proxy cục bộ cho dịch vụ từ xa. Proxy chuyển một phương
tiện khởi động phương thức của đối tượng thành một thông báo XML và ngược lại.

(4). Tạo thông báo SOAP – Client tạo ra những gói tin SOAP/XML và gửi đến
địa chỉ URL được xác định trong tệp WSDL để liên lạc với Server.
(5). Nhận cuộc gọi và diễn dịch - SOAP Listener là một bộ phận chương trình
chạy trên máy chủ để thu nhận cuộc gọi và diễn dịch nó cho dịch vụ web.
(6). Thực hiện - Dịch vụ Web thực hiện các chức năng của mình và trả kết quả
về cho client, thông qua listener và proxy.
SVTH: Phạm Bá Cường - Vũ Thị Tuyết - Lớp DHTH6TH

9


Đồ án chuyên ngành

GVHD: ThS. Lê Thị Ánh Tuyết

5. Chồng giao thức Web Service

Hình 7: Chồng giao thức của Web Service
Trong đó:
UDDI được sử dụng để đăng ký và khám phá dịch vụ Web đã được miêu tả cụ
thể trong WSDL. Giao tác UDDI sử dụng SOAP để nói chuyện với UDDI server, sau
đó các ứng dụng SOAP yêu cầu một dịch vụ Web. Các thông điệp SOAP được gửi đi
chính xác bởi HTTP và TCP/IP.
Chồng giao thức dịch vụ Web là tập hợp các giao thức mạng máy tính được sử
dụng để định nghĩa, xác định vị trí, thi hành và tạo nên dịch vụ Web tương tác với
những ứng dụng hay dịch vụ khác. Chồng giao thức này có 4 thành phần chính:
- 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ô tả Web Service

SVTH: Phạm Bá Cường - Vũ Thị Tuyết - Lớp DHTH6TH

10


Đồ án chuyên ngành

GVHD: ThS. Lê Thị Ánh Tuyết

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.
-

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
- 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.
- Tầng Network : Tầng Network trong công nghệ Web 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.
 Các tầng truyền thống như Packaging, Description, và Discovery trong mô
hình 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.
6. Các Thành Phần Của Web Service

6.1. XML - Extensible Markup Language
SVTH: Phạm Bá Cường - Vũ Thị Tuyết - Lớp DHTH6TH

11


Đồ án chuyên ngành


GVHD: ThS. Lê Thị Ánh Tuyết

XML là một chuẩn mở do W3C đưa ra cho cách thức mô tả dữ liệu, nó được sử
dụng để định nghĩa các thành phần dữ liệu trên trang web và cho những tài liệu B2B.
XML là viết tắt của Extensible Markup Language, tạm dịch là ngôn ngữ đánh
dấu mở rộng. XML là ngôn ngữ xây dựng cấu trúc tài liệu văn bản, được thiết kế dựa
trên SGML (Standard Generalized Markup Language) theo tiêu chuẩn ISO 8879 nhằm
phục vụ việc quản trị các tài liệu điện tử. XML được xây dựng từ dưới sự chỉ đạo của
W3C từ năm 1996 và chính thức thông qua vào 2/1998.
Do dịch vụ Web là sự kết hợp của nhiều thành phần khác nhau nên nó sử dụng
các tính năng và đặc trưng của các thành phần đó để giao tiếp. XML là công cụ chính
để giải quyết vấn đề này và là kiến trúc nền tảng cho việc xây dựng một dịch vụ Web,
tất cả dữ liệu sẽ được chuyển sang định dạng thẻ XML. Khi đó, các thông tin mã hóa
sẽ hoàn toàn phù hợp với các thông tin theo chuẩn của SOAP hoặc XML- RPC và có
thể tương tác với nhau trong một thể thống nhất.
Ngôn ngữ XML không chỉ dùng để mô tả sự trình bày nội dung tài liệu và còn
có phương pháp định ra nội dung, sắp xếp cấu trúc, từ vựng và cú pháp của dữ liệu.
XML có cấu trúc mã chặt chẽ, tách biệt nội dung ra khỏi hình thức của dữ liệu và
mang lại thông tin đầy đủ về dữ liệu góp phần hỗ trợ cho việc tìm kiếm và sử dụng
thông tin được dễ dàng hơn, cho phép hiển thị cùng một tài liệu trên một số ứng dụng
hoặc thiết bị ngoại vi khác nhau mà không phải tạo ra phiên bản tài liệu mới, giống
như một CSDL.


Đặc điểm của XML:
XML là một ngôn ngữ đánh dấu độc lập với phần mềm, phần cứng và platform.

Cho phép các máy tính truyền cấu trúc dữ liệu giữa hệ thống không đồng nhất.
Về hình thức, XML hoàn toàn có cấu trúc thẻ giống như ngôn ngữ HTML
nhưng HTML định nghĩa thành phần được hiển thị như thế nào thì XML lại định nghĩa

những thành phần đó chứa cái gì. Với XML, các thẻ có thể được lập trình viên tự tạo
ra trên mỗi trang web và được chọn là định dạng thông điệp chuẩn bởi tính phổ biến và
hiệu quả mã nguồn mở.
Các thẻ XML không được định nghĩa trước mà do người lập trình tự định nghĩa.
XML xây dựng cấu trúc tài liệu và dữ liệu cho phép trao đổi, chia sẻ và sử dụng
thông tin phân tán trên các hệ thống khác nhau. XML hỗ trợ người dùng thông qua khả

SVTH: Phạm Bá Cường - Vũ Thị Tuyết - Lớp DHTH6TH

12


Đồ án chuyên ngành

GVHD: ThS. Lê Thị Ánh Tuyết

năng tạo nội dung động, hỗ trợ việc thay thế những hệ thống cũ và các yêu cầu hợp
nhất dữ liệu.


Cấu trúc của XML:
Một tài liệu XML bao gồm 2 phần:
Cấu trúc logic: định nghĩa các phần tử, các thuộc tính, các kiểu dữ liệu…
Cấu trúc vật lý: chứa dữ liệu và các phần tử chứa dữ liệu như text, image,

media…
6.2. UDDI - Universal Description, Discovery and Integration
UDDI là một thư mục để lưu trữ các thông tin về các Web Service.
Để 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 và biết được đối tượng nào cung cấp dịch vụ. UDDI định

nghĩa một số thành phần cho biết các thông tin này, cho phép các client truy tìm và
nhận những thông tin được yêu cầu khi sử dụng dịch vụ Web.
Những thông tin về dịch vụ Web được sử dụng và công bố lên mạng sử dụng
giao thức này. Nó sẽ kích hoạt các ứng dụng để tìm kiếm thông tin của dịch vụ Web
khác nhằm xác định xem dịch vụ nào sẽ cần đến nó.
UDDI là một nơi mà các nhà cung cấp cho phép khách hàng đăng kí dịch vụ để
sử dụng các chức năng của web service. UDDI sẽ định vị các thông tin về các web
service được cung cấp bởi các nhà cung cấp dịch vụ, danh sách các nhà cung cấp dịch
vụ trên web service nào đó, chi tiết về kĩ thuật sử dụng (API) web service do mình đưa
ra…
UDDI cung cấp các chuẩn kỹ thuật để mô tả, khám phá và tập hợp các cài đặt
dựa trên Internet. Các đặc tính kĩ thuật phát triển nhanh chóng vì nó nhận được phản
hồi nhanh nhạy từ các cài đặt, những cài đặt này xác nhận các khái niệm và cung cấp
nền tảng kinh nghiệm phong phú cho việc hoàn thiện các đặc tả sau này.
Trong kinh doanh, nó giúp mở rộng và đơn giản hóa các giao dịch giữa các
doanh nghiệp (B2B), tạo mối quan hệ giữa nhà sản xuất với các khách hàng khác
nhau, mỗi khách hàng ứng với một tập các giao thức và các chuẩn hỗ trợ miêu tả dịch
vụ rất linh hoạt sử dụng bất kỳ giao thức tương tác nào, lấy dữ liệu từ các nhà cung cấp
khác trong cùng một lĩnh vực có liên quan, cung cấp "cửa hàng một cửa" cho việc tìm
kiếm thông tin về dịch vụ điện tử và thương mại.

SVTH: Phạm Bá Cường - Vũ Thị Tuyết - Lớp DHTH6TH

13


Đồ án chuyên ngành

GVHD: ThS. Lê Thị Ánh Tuyết


UDDI dựa vào những chuẩn đã có như là ngôn ngữ đánh dấu mở rộng (XML)
và giao thức truy cập đối tượng đơn giản SOAP để xây dựng nền tảng cho việc đăng
ký, các đặc tính (như quan hệ kinh doanh), giải quyết những vấn đề quan trọng cho
việc phát triển dịch vụ web như: bảo mật, tăng cường quốc tế hóa, khả năng tương tác
nội bộ, và hàng loạt các cải tiến hàm API để cải tiến công cụ tốt hơn.
Nguyên tắc hoạt động:
Bản ghi của UDDI bao gồm các thông tin:
• Các mô tả của các doanh nghiệp có thể truy cập bằng các chương trình máy
tính và các dịch vụ mà chúng hỗ trợ.
• Các tham chiếu tới các đặc tả cụ thể mà một dịch vụ web có thể hỗ trợ, các
định nghĩa phân loại (được sử dụng cho việc xếp loại kinh doanh và dịch vụ), và các
hệ thống định danh (sử dụng để xác định các doanh nghiệp).
• UDDI cung cấp một lược đồ và mô hình lập trình với định nghĩa luật giao tiếp
với bản ghi. Tất cả các hàm API trong đặc tả UDDI được định nghĩa trong XML được
gói trong một phong bì SOAP, và gửi bằng giao thức HTTP.

Hình 8: Luồng thông báo UDDI giữa Client và Registry
Hình 8 mô tả sự truyền thông báo UDDI, từ yêu cầu SOAP của máy khách
thông qua giao thức HTTP đến một nốt bản ghi đăng ký và quay lại. Máy chủ SOAP
tiếp nhận các thông điệp đăng ký UDDI SOAP, xử lý và trả lại một kết quả SOAP đến
máy khách. Các yêu cầu từ máy khách phải là các giao dịch đảm bảo an ninh và được
xác thực.
Đặc tả UDDI:
SVTH: Phạm Bá Cường - Vũ Thị Tuyết - Lớp DHTH6TH

14


Đồ án chuyên ngành


GVHD: ThS. Lê Thị Ánh Tuyết

Các đặc tả UDDI: được cấu thành từ vài tài liệu khác nhau. Tài liệu đặc tả API
mô tả các hàm API SOAP cho phép thực hiện các hoạt động tìm kiếm và quảng bá; xử
lý lỗi, ngữ nghĩa của yêu cầu, kết quả; các thông tin thực tế về các quy ước và cách sử
dụng cũng có sẵn. Các tài liệu bao gồm đặc tả cấu trúc dữ liệu và lược đồ API định
nghĩa thông điệp và ngữ nghĩa của dữ liệu. Các hàm API của UDDI được chia thành
hai nhóm: truy vấn và phát hành. Còn các API truy vấn chia thành ba mẫu truy vấn:
- Các mẫu tìm kiếm thừa kế chức năng của toán tử tìm kiếm, cho phép
duyệt các mục dữ liệu với những điều kiện khác nhau (hạng mục phân loại, các
định danh, thông tin tên từng phần…)
- Các mẫu tìm kiếm sâu: liên quan đến việc thu nhập thông tin chi tiết về một
mục dữ liệu đã tìm thấy
- Các mẫu tìm kiếm viện dẫn thông tin: là việc gọi các dịch vụ để sử dụng thông
tin mẫu kèm theo thường được lưu tạm thời bởi các máy trạm để sử dụng lại mà không
cần gửi lại bản ghi cho cùng một thông tin mà máy trạm cần. Nếu thông tin đính kèm
thay đổi, máy trạm phải gửi lại bản ghi để cập nhật lại thông tin.
Một số đặc điểm của UDDI:
Các cập nhật gắn với hỗ trợ nhằm giúp các tổ chức lớn mô hình hóa một cách
hiệu quả các dịch vụ và công việc kinh doanh của họ. Khi các công ty muốn phân chia
các lựa chọn web của họ theo vị trí địa lý, trình diễn chính các doanh nghiệp đó trên
nền web một cách độc lập nhưng có liên quan đến nhau để dễ dàng quản lý, phát triển.
UDDI đưa ra nhiều phương pháp lựa chọn như: có thể duy trì các doanh nghiệp độc
lập và không liên quan hoặc định nghĩa các mối quan hệ giữa các doanh nghiệp như
mô hình cha con, đồng đẳng, và đồng nhất. Điều này tạo nên tính mềm dẻo để mô hình
hóa một doanh nghiệp với nhiều chi nhánh, khách hàng bên ngoài, hoặc các quan hệ
nội bộ khác nhau trong cùng công ty hoặc quan hệ giữa hai doanh nghiệp bất kỳ (được
định nghĩa bởi các khóa duy nhất).
Phân hạng mục của UDDI ngày mạnh hơn trong các phiên bản mới, góp phần
cải tiến khả năng tìm kiếm thông tin. Phiên bản 1 đưa ra 3 cách phân loại: theo các

hạng mục công nghiệp NAICS, hạng mục dịch vụ và dự án UNSPC, và phân loại địa
lý ISO 3166-2. Các phân loại đều được kiểm tra bởi bản ghi UDDI; nếu cố gắng lưu
trữ mã không hợp lệ sẽ bị từ chối. Phiên bản 2 bổ sung thêm khả năng định nghĩa cách
phân hạng mục được kiểm tra nội tại, có thể đưa ra sử dụng công cộng trong UDDI.
SVTH: Phạm Bá Cường - Vũ Thị Tuyết - Lớp DHTH6TH

15


Đồ án chuyên ngành

GVHD: ThS. Lê Thị Ánh Tuyết

Khi các nhà cung cấp đồng ý cho sử dụng sẽ hỗ trợ một giá trị hợp lệ của dịch vụ web
và làm cho nó có thể truy cập được đến bản ghi doanh nghiệp UDDI để hỗ trợ việc
kiểm tra và xác nhận của các giá trị phân hạng mà các khách hàng mong muốn để liên
kết với các bản ghi của họ. Điều này tạo nên tính mềm dẻo trong việc đảm bảo chỉ
những giá trị phân hạng phù hợp được lưu trữ bởi khách hàng sử dụng cách phân hạng
của họ.
Các truy vấn cũng được cải tiến qua từng phiên bản để giải quyết các yêu cầu
truy vấn phức tạp hơn. Ví dụ: cải tiến hàm truy vấn tìm kiếm bằng cách kết hợp thêm
một số điều kiện lọc như:
Bộ định tính combineCategoryBags cho phép gộp tất cả các dữ liệu phân loại
được liên kết với một doanh nghiệp và tất cả các dịch vụ mà nó chứa (gồm cả các tham
chiếu dịch vụ) vào một tập hợp đơn mà việc tìm kiếm sẽ thực hiện trên đó giúp giảm
bớt các bước trong việc tìm kiếm một doanh nghiệp bằng cách rà soát trong các doanh
nghiệp và các dịch vụ của chúng cùng lúc.
Bộ lọc serviceSubset cho phép tìm kiếm các doanh nghiệp sử dụng điều kiện
phân hạng mục. Chỉ kiểm trên các hạng mục được gắn kết với các dịch vụ của một
công ty, còn các hạng mục gắn kết với bản thân doanh nghiệp không được gộp trong

việc tìm kiếm.
Bộ định tính orLikeKeys cho phép truy vấn phức tạp ảo. Tìm kiếm các doanh
nghiệp mà được phân loại với các cấp độ khác nhau theo đặc trưng của chúng, trong
khi cùng lúc cho phép một truy vấn đơn tham chiếu đến nhiều hạng mục khác nhau
cùng lúc.


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 .

SVTH: Phạm Bá Cường - Vũ Thị Tuyết - Lớp DHTH6TH

16


Đồ án chuyên ngành

GVHD: ThS. Lê Thị Ánh Tuyết

Hình 9: Ví dụ về UDDI
6.3. WSDL - Web Service Description Language
WSDL là một ngôn ngữ dựa trên XML dùng để mô tả giao diện của Web

Service. Nó cung cấp một cách thức chuẩn để mô tả các kiểu dữ liệu được truyền trong
các thông điệp thông qua Web Service, các hoạt động được thực hiện trên các thông
điệp và ánh xạ các hoạt động này đến giao thức vận chuyển.
WSDL định nghĩa cách mô tả dịch vụ Web theo cú pháp tổng quát của XML,
bao gồm các thông tin:
- Tên dịch vụ.
- Giao thức và kiểu mã hóa được sử dụng khi gọi các hàm của Web Service.
- Loại thông tin: thao tác, tham số, những kiểu dữ liệu (có thể là giao diện của
Web Service cộng với tên cho giao diện này).
 Thành phần của WSDL:
M1ED9t WSDL hợp lệ gồm hai thành phần:
- Phần giao diện: mô tả giao diện và phương thức kết nối.
- Phần thi hành: mô tả thông tin truy xuất service.
 Cấu trúc của WSDL:

SVTH: Phạm Bá Cường - Vũ Thị Tuyết - Lớp DHTH6TH

17


Đồ án chuyên ngành

GVHD: ThS. Lê Thị Ánh Tuyết

Hình 10: Cấu trúc WSDL
Một tài liệu WSDL mô tả 1 Web Service gồm các thành phần chính:


Tập tin giao diện ( Service Interface):


- Types (Kiểu): các kiểu dữ liệu của thông điệp khi trao đổi giữa client và server.

Hình 11: Tập tin giao diện_typer
- Message (Thông điệp): mô tả thông điệp gửi nhận giữa client và server. Mỗi thông
điệp có thể bao gồm 1 hoặc nhiều phần

Hình 12: Tập tin giao diện_message
SVTH: Phạm Bá Cường - Vũ Thị Tuyết - Lớp DHTH6TH

18


Đồ án chuyên ngành

GVHD: ThS. Lê Thị Ánh Tuyết

- Port type: WSDL mô tả cách gửi và nhận thông điệp.

Hình 13. Tập tin giao diện_ Port typer
- Binding (Kết nối): cách thức giao tiếp giữa client và server thông qua giao thức
truyền thông (HTTP, SMTP,…)

Hình 14. Tập tin giao diện_Binding


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.
1.


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 đó định nghĩa tên
cùng với các chú thích (documentation) cung với địa chỉ Web service.

Hình 15. Tập tin thi hành_Service
2.

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.
SVTH: Phạm Bá Cường - Vũ Thị Tuyết - Lớp DHTH6TH

19


×