Tải bản đầy đủ (.docx) (42 trang)

TÌM HIỂU WEB SERVICE và THIẾT kế 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, 42 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM
KHOA CÔNG NGHỆ - CƠ SỞ THANH HÓA

ĐỒ ÁN HỌC PHẦN 1
ĐỀ TÀI:
TÌM HIỂU WEB SERVICE VÀ THIẾT KẾ WEB
SERVICE

GIẢNG VIÊN HD: LÊ THỊ ÁNH TUYẾT
LỚP : DHTH7TH
SINH VIÊN TH :
1. LÊ NHƯ QUÂN - MSSV: 11018863
2. TRẦN ANH DŨNG - MSSV: 11021663
3. NGUYỄN THANH CHUNG - MSSV: 11036203
THANH HÓA, THÁNG 07 NĂM 2014
1
Đồ án học phần 1 GVHD: 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 2014
Giảng viên
Lớp: DHTH7TH
Đồ án học phần 1 GVHD: 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 2014
Giảng viên
Lớp: DHTH7TH
Đồ án học phần 1 GVHD: Lê Thị Ánh Tuyết
DANH MỤC HÌNH
Lớp: DHTH7TH
Đồ án học phần 1 GVHD: Lê Thị Ánh Tuyết
MỤC LỤC
Lớp: DHTH7TH
Đồ án học phần 1 GVHD: Lê Thị Ánh Tuyết
CHƯƠNG1: TÌM HIỂU VỀ WEB SERVICES
Với sự phát triển và lớn mạnh của Internet như hiện nay, Web Services
(dịch vụ Web) thực sự đáng được quan tâm bởi chúng mang lại khả năng
điện toán hướng-dịch-vụ thông qua môi trường Web. Chúng cho phép ta sử
dụng dịch vụ được cung cấp bởi các ứng dụng khác, thông qua các giao thức
và định dạng dữ liệu tiêu chuẩn. Chính vì vậy, các phần mềm được viết bởi
những ngôn ngữ lập trình khác nhau, chạy trên những nền tảng khác nhau có
thể sử dụng dịch vụ Web để chuyển đổi dữ liệu thông qua mạng Internet theo
cách giao tiếp tương tự bên trong một máy tính. Sử dụng Web Services, 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 đến nền tảng
phát triển bên dưới của chúng.
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
Services, cũng như các khái niệm liên quan.
1.1. Giới thiệu
Theo định nghĩa của W3C [1] (World Wide Web Consortium), dịch vụ
Web 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 máy các máy tính khác nhau thông qua mạng
Internet, với giao diện chung được mô tả bằng XML. Web Services có thể xác
định bằng địa chỉ URL, thực hiện các chức năng và đưa ra các thông tin người
dùng yêu cầu. Các chức năng này có thể được yêu cầu bởi các Client bằng

cách sử dụng giao thức SOAP thông qua HTTP. Web Services độc lập về ngôn
ngữ và nền tảng bởi vì nó tách biệt đặc tả ra khỏi cài đặt. Web Services dựa
trên kiến trúc phân tán trong đó không có bất kỳ dịch vụ sử lý trung tâm nào
và tất cả dạng truyền thông đều sử dụng giao thức chuẩn.
Một trong những đặc tính quan trọng của mô hình tính toán dựa trên
Web Services là ở đó cả các client và Web Services đều không cần biết cài đặt
của nhau. Web services hứa hẹn mang đến khả năng tạo ra các môi trường
phân tán trong đó bất kỳ ứng dụng nào, hoặc bất kỳ các component ứng dụng
Lớp: DHTH7TH Trang 6
Đồ án học phần 1 GVHD: Lê Thị Ánh Tuyết
nào cũng đều có thể kết hợp với nhau dễ dàng với tính độc lập nền tảng và
độc lập ngôn ngữ. Điểm khác biệt chính giữa Web Services với các công nghệ
phân tán trước đây như Win 32, J2EE… là ở sự chuẩn hóa. Web Services sử
dụng XML, một ngôn ngữ độc lập trong việc biểu diễn dữ liệu, làm ngôn ngữ
trao đổi thông tin. Bởi vậy khi được kết hợp với nhau, khả năng tích hợp phần
mềm, tính liên lạc và sử dụng lại của hệ thống theo mô hình Web services thật
đáng kinh ngạc.
Hiện nay các ứng dụng có tích hợp dịch vụ Web là rất phổ biến, ví dụ
như chọn lọc và phân loại tin tức (thư viện có kết nối đến Web portal để tìm
kiếm các thông tin từ nhà xuất bản), hay ứng dụng cho các dịch vụ đại lý du
lịch (cung cấp giá vé thông tin về địa điểm du lịch), bán hàng, đấu giá qua
mạng. Đặc biệt trong thời đại thương mại điện tử và Internet phát triển
mạnh mẽ như hiện nay thì dịch vụ Web ngày càng được quan tâm phát triển
và sử dụng rộng rãi hơn.
1.2. Đặc điểm của Web Services
Trước khi đi vào nghiên cứu chi tiết về mô hình và kiến trúc, chúng ta sẽ
xem xét qua những đặc điểm chính của Web services. Từ đó có thể thấy được
ưu và nhược điểm của nó so với các hệ thống hiện tại.
1.2.1. Đặc điểm
- Độc lập về ngôn ngữ, nền tảng :

- Dịch vụ Web cho phép client và server tương tác với nhau ngay cả
trong những môi trường khác nhau. Đó là vì Web Services sử dụng
XML, một chuẩn mở đã được công nhận và có thể được hiểu bởi
bất kỳ một ngôn ngữ lập trình nào.
- Khả năng tự mô tả :
- Giao diện của dịch vụ Web được xuất bản thông qua tài liệu WSDL.
Tài liệu này được định nghĩa cấu trúc thông điệp trao đổi và cấu
trúc dữ liệu sử dụng trong thông điệp đó.
- Tách biệt giữa mô tả và nội dung :
Lớp: DHTH7TH Trang 7
Đồ án học phần 1 GVHD: Lê Thị Ánh Tuyết
- Đây là một trong những đặc tính then chốt làm nên thành công
cho Web services
- Web services 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 Web services
thì chỉ cần có Servlet engine, Apache hoặc .NET Runtime,… Khi đã
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 để truy cập dịch vụ.
- Dựa trên chuẩn mở XML, SOAP, WSDL, UDDI
- Truy cập thông qua môi trường Web:
- Web services được phát hành, xác định và gọi đều thông qua môi
trường Web. Trong đó các 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.
1.2.2. Ưu và nhược điểm
 Ưu điểm
- Cung cấp khả năng tương tác rộng lớn hơn : Web services có thể
được truy xuất bởi con người thông qua trình duyệt Web, bởi các

ứng dụng chạy trên các nền tảng khác nhau và thậm chí là cả các
Web services khác.
- Dựa trên các chuẩn mở được chấp nhận rộng rãi, giúp cho các lập
trình viên dễ dàng hiểu được. Nâng cao khả năng tái sử dụng và
đóng gói lại phần mềm trong giao diện Web services.
- Tạo ra sự kết nối linh hoạt, mềm dẻo giữa các thành phần trong hệ
thống, giảm độ phức tạp của 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 sự phát triển của các hệ thống tích hợp, dẫn đến khả
năng phát triển hệ thống nhanh với giá thành hạ, nhờ có sự tương
Lớp: DHTH7TH Trang 8
Đồ án học phần 1 GVHD: Lê Thị Ánh Tuyết
tác hiệu quả với các phần mềm, hệ thống khác thông qua dịch vụ
web.
 Nhược điểm
- Web services phụ thuộc vào môi trường Web vì vậy khi một Web
services không hoạt động sẽ gây ảnh hưởng tới tất cả các ứng
dụng phụ thuộc và sử dụng dịch vụ nó cung cấp.
- Web services dựa trên quá nhiều chuẩn mở khiến người dùng,
phát triển hệ thống khó khăn nắm bắt và cập nhật.
- Vấn đề an toàn và bảo mật của Web services cũng cần được quan
tâm, ngoài việc bảo vệ an toàn thông tin trước hacker khi truyền
qua môi trường mạng còn cần lưu tâm đến an toàn thông tin giữa
các bên cung cấp dịch vụ.
1.3. Mô hình hoạt động của Web Services
Trong mô hình hoạt động của dịch vụ Web, có 3 thực thể cơ bản là : Bên
cung cấp dịch vụ (Service provider), bên sử dụng dịch vụ (Servive Requestor)
và bên đơn vị quản lý đăng ký dịch vụ (Service Registry). Service provider c ó
một dịch vụ, nó sẽ phát hành giao diện và mô tả dịch vụ đó. Dịch vụ này được
đăng ký với thực thể Service registry bằng cách gửi mô tả dịch vụ tới đó. Mô

tả dịch vụ này chứa tất cả các thông tin cần thiết để một Service requestor có
thể tìm thấy và sử dụng dịch vụ, bao gồm kiểu dữ liệu, giao diện mô tả các
hàm chức năng, địa chỉ của dịch vụ trong mạng, thông tin cần thiết để thiết
lập kết nối. Các bên sử dụng dịch vụ có thể tìm kiếm dịch vụ mình cần trên
Service registry được mô tả sử dụng UDDI ( Universal Description, Discovery
and Intergration).
SOAP
Hình 1 : Mô hình web Service
Một Web service cũng có thể đóng vai trò một Service requestor, bằng
Lớp: DHTH7TH Trang 9
/><order>
<id>1234</id>
<customer id>AB35</customer id>
<line>
<item>
<part no>127.8A</part no>
<quantily>2</quantily>
…………………….
3. Publish
WSDL
2.Find
UDDI
3. USE
Service
provider
Service
requester
Service
Directory
Đồ án học phần 1 GVHD: Lê Thị Ánh Tuyết

cách sử dụng dịch vụ của các Web Service khác để thực hiện mục tiêu của
mình.
Lớp: DHTH7TH Trang 10
Đồ án học phần 1 GVHD: Lê Thị Ánh Tuyết
1.4. Kiếm trúc giao thức của Web Services
Dịch vụ Web gồm có 3 chuẩn chính : SOAP ( Simple Object Access
Protocol),
WSDL (Web Service Description Language) và UDDI (Universal
Description, Discovery, and Intergration). 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.
Kiến trúc chồng giao thức của Web Services được mô tả như hình dưới
đây:
- 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 HTTP, SMTP, FPT, JSM.
- Tầng giao thức truyền thông dịch vụ (Service Communication
Protocol): với công nghệ tiêu chuẩn là SOAP, cho phép người dùng
gọi một dịch vụ từ xa thông qua một thông điệp XML.
Hình 2: Kiến trúc của Web Service
Lớp: DHTH7TH Trang 11
Đồ án học phần 1 GVHD: Lê Thị Ánh Tuyết
Tầng mô tả dịch vụ (Service Description): được sử dụng để miêu tả giao
diện chung cho một dịch vụ Web cụ thể. WSDL là ngôn ngữ được sử dụng để
phục vụ cho mục đích này, đó là một ngôn ngữ mô tả giao tiếp và thực thi dựa
trên XML. Web server sử dụng ngôn ngữ này để truyền tham số và các kiểu dữ
liệu cho dịch vụ thực sự bên trong để thực thi.
- Tầng dịch vụ (Service) : chứa cài đặt chi tiết của dịch vụ.
- Tầng đăng ký dịch vụ (Service Registry) với công nghệ tiêu chuẩn

là UDDI được sử dụng cho cả bên yêu cầu dịch vụ và bên cung cấp
dịch vụ. Một dịch vụ cần được đăng ký thì bên sử dụng mới có thể
tìm thấy và sử dụng.
- Bên cạnh đó còn có một số các tầng khác như Policy, Security,
Transaction, Management phục vụ cho các yêu cầu về bảo mật,
toàn vẹn thông tin, …
1.5. Các thành phần của Web Service
1.5.1. XML – eXensible Markup language
XML do W3C đề ra và được phát triển từ SGML. XML là một ngôn ngữ
mô tra văn bản với cấu trúc do người sử dụng định nghĩa. Người sử dụng hay
các chương trình có thể quy ước định dạng các tag XML để giao tiếp với nhau.
Thông tin cần truyền tải được chứa trong các tag XML, ngoài ra không chứa
bất cứ thông tin nào khác về cách sử dụng hay hiển thị những thông tin ấy.
Web Service là sự kết hợp của nhiều thành phần khác nhau. Do đó web
services sử dụng các tính năng và đặc trưng của các thành phần này để giao
tiếp. Vì vậy XML là công cụ cốt lõi để giải quyết vấn đề này.
1.5.2. WSDL – Web service Description Language
Web Service Description Langugae (WSDL) định nghĩa một tài liệu XML
mô tả giao diện của các dịch vụ web. Tài liệu WSDL này được sử dụng cho bên
yêu cầu dịch vụ (service requester). Bên yêu cầu dịch vụ sẽ sử dụng các thông
tin về giao diện định nghĩa trong lược đồ WSDL để gọi dịch vụ web.
Một tài liệu WSDL mô tả một Web Service như một tập các đối tượng
Lớp: DHTH7TH Trang 12
Đồ án học phần 1 GVHD: Lê Thị Ánh Tuyết
trừu tượng gọi là các ‘’ports’’ và ‘’endpoint’’. Một tài liệu WSDL cũng định
nghĩa bên trong nó các phương thức của web service. Các phương thức tương
ứng với ‘’operation’’ và dữ liệu trao đổi tương ứng với ‘’message’’. Một tập
hợp các phương thức liên quan được nhóm lại vào trong một ‘’portType’’. Một
rang buộc kết nối(binding) chỉ định một giao thức mạng và đặc tả định dạng
dữ liệu cho một portType cụ thể. Kế đến một port được định nghĩa bằng cách

kết hợp một địa chỉ mạng với một binding. Nếu một client có được một tài
liệu WSDL và tìm thấy binding và địa chỉ cho mỗi port, nó có thể gọi các
phương thức của dịch vụ theo đúng giao thức và định dạng dữ liệu đặc tả.
Phần tư gốc của tất cả các tài liệu WSDL luôn là phần tử <definitions>.
Nó chưa bên trong sáu thành phần chia thành hai nhóm : thông tin trừu
tượng và thông tin cụ thể.
Hình 3 : Cấu trúc WSDL
 Thông tin trừu tượng:
- Types
Lớp: DHTH7TH Trang 13
Đồ án học phần 1 GVHD: Lê Thị Ánh Tuyết
- Messages
- Porttype
 Thông tin cụ thể:
- Binding
- Services
- Wsdl định nghĩa cách mô tả web service theo cú pháp tổng quát
xml, bao gồm các thông tin :
Tên dịch vụ.
Giao thức và kiểu mã hóa sẽ được sử dụng khi gọi các hàm của web
service.
Loại thông tin: Những thao tác, những tham số, và những kiểu dữ liệu
gồm có giao diện của web service, cộng với tên cho giao diện này.
Một WSDL hợp lệ gồm có hai phần (xem them trong [4]):
Phần giao diện mô tả giao diện và giao thức kết nối.
Tập thi hành mô tả thông tin để truy xuất dịch vụ.
Hai phần trên sẽ được lưu trong hai tập tin XML:
Tập tin giao diện dịch vụ (cho phần 1).
Tập tin thi hành dịch vụ (cho phần 2).
Hình 4: 2 file XML của WSDL

Lớp: DHTH7TH Trang 14
Đồ án học phần 1 GVHD: Lê Thị Ánh Tuyết
1.5.3. Tập tin giao diện – Service Interface
WSDL mô tả các loại thông tin chính sau: Import, types, message,
portType, binding.
a. Types:
Định nghĩa các kiểu dữ liệu của thông điệp gửi.
<definitions….>
<types>
<xsp:schema…./>*
</types>
</definitions>
b. Message:
Mô tả thông điệp được gửi giữa client và server.
<definitions….>
<message name=’’nmtoken’’>*
(part name=’’nmtoken’’ element=’’qname’’?
type=’’qname’’?>*
</message>
</definitions>
Những định nghĩa message được sử dụng bởi phẩn tử thi hành dịch vụ.
Nhiều thao tác có thể tham chiếu tới cùng định nghĩa thông điệp.
Thao tác và các thông điệp được mô hình riêng rẽ để hỗ trợ tính linh
hoạt và đơn giản hóa việc tái sử dụng. Chẳng hạn, hai thao tác với cùng một
tham số có thể chia sẻ một định nghĩa message.
c. Port type:
Mô tả cách gửi và nhận thông điệp.
<wsdl:definitions….>
<wsdl:portType name=’’nmtoken’’>
<wsdl:operation name=’’nmtoken’’…./>*

Lớp: DHTH7TH Trang 15
Đồ án học phần 1 GVHD: Lê Thị Ánh Tuyết
</wsdl:portType>
</wsdl:portType>
WSDL định nghĩa bốn kiểu thao tác mà một cổng có thể hỗ trợ:
- One - way: cổng nhận một message, message đó là message nhập.
- Request – response : Cổng nhận một message và gửi một message
phản hồi.
- Solicit – response: Cổng gửi một message và nhận về một message’
- Notification : Cổng gửi một message, message đó là message xuất.
Mỗi kiểu thao tác có cú pháp biến đổi tùy theo thứ tự của các message
nhập, xuất và lỗi. Ví dụ :
<wsdl :definitions….>
<wsdl :portType….>*
<wsdl :operation name=’’nmtoken’’
parameterOrder=’’nmtokens’’>
<wsdl:input name=’’nmtoken’’?
message=’’qname’’/>
<wsdl:output name=’’nmtoken’’?
message=’’qname’’/>
<wsdl:fault name=’’nmtoken’’
message=’’qname’’/>*
</wsdl:operation>
</wsdl:portType>
</wsdl:definitions>
d. Binding:
Định nghĩa các cách web services kết hợp với nhau, bao gồm:
- Những giao thức mở rộng cho những giao tác và những message
bao gồm thông tin URN và mã hóa cho SOAP.
- Mỗi một kết hợp tham chiếu đến một loại cổng, một kiểu

cổng(portType) có thể được sử dụng trong nhiều mối kết hợp. Tất
cả các thao tác định nghĩa bên trong kiểu cổng phải nằm trong
Lớp: DHTH7TH Trang 16
Đồ án học phần 1 GVHD: Lê Thị Ánh Tuyết
phạm vi mối kết hợp.
1.5.4. 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.
a. 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 dịch vụ web theo thủ tục và phương thức nào.
<wsdl :definitions….>
<wsdl :service name=’’nmtoken’’>*
<wsdl:port…./>*
</wsdl:service>
</wsdl:definitions>
b. Port:
Là một cổng đầu nối, nó định nghĩa là một tập hợp của điểm kết nối và
một địa chỉ mạng.
<wsdl:definitions….>
<wsdl:service….>*
<wsdl:port name=’’nmtoken’’
binding=’’qname’’>*
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Ở đây chúng ta thấy rằng thuộc tính kết hợp tên là qname. Nó tham
chiếu tới một binding. Một cổng chứa đựng chính xác một địa chỉ mạng bất ký
cổng nào trong phần thi hành phải tương ứng chính xác với một tham chiếu
trong phần giao diện.
1.6. UDDI –Universal Description, Discovery and Intergration

Về cơ bản Universal Description, Discovery and Intergration(UDDI) là
Lớp: DHTH7TH Trang 17
Đồ án học phần 1 GVHD: Lê Thị Ánh Tuyết
một tập các quy tắc đăng ký và tìm kiếm thông tin các Web Service. Nó đóng
vai trò như service broker cho phép người sử dụng dịch vụ tìm đúng nhà cung
cấp dịch vụ cần tìm.
UDDI hỗ trợ chức năng:
- Thực hiện tìm kiếm, định vị những doanh nghiệp cung cấp dịch vụ
hay sản phẩm.
- Thông tin về một nhà cung cấp dịch vụ bao gồm địa chỉ, thông tin
liên lạc và các định danh.
- Thông tin kỹ thuật về Web service mà doanh nghiệp cung cấp(ví dụ
như cách sử dụng dịch vụ được cung cấp).
Để 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 dịch vụ và biết được đối tượng cung cấp dịch vụ.
UDDI định nghĩa một số thành phần cho biết trước các thông tin này để cho
phép các client truy tìm và nhận lại những thông tin yêu cầu sử dụng web
services.
Muốn sử dụng đến các dịch vụ của UDDI, bản thân UDDI cung cấp một
tập hàm API dưới dạng SOAP Web Service. Tập API được chia làm hai phần:
Inquiry API dung truy vấn và Publisher API dung đăng ký. Phần API dung để
truy vấn bao gồm hai phần con: một phần dùng để tạo ra các chương trình
cho phép tìm kiếm và duyệt thông tin trên một UDDI registry; phần còn lại
dung để xử lý lỗi gọi dịch vụ.
Thành phần xử lý chính là bộ đăng ký UDDI, đó là file XML dùng để mô
tả thực thể kinh doanh (business entity) kèm theo các Web service đi những
web service mà họ định cung cấp. Thông tin này được them vào UDDI registry
thông qua Web site hoặc sử dụng các công cụ lập trình sử dụng các dịch vụ
theo đúng đặc tả UDDI API cho lập trình viên.
Lược đồ XML UDDI định nghĩa bốn loại thông tin cơ bản để kết nối đến

Web service.
Lớp: DHTH7TH Trang 18
Đồ án học phần 1 GVHD: Lê Thị Ánh Tuyết
Hình 5: Mô hình UDDI
Như hình trên, cấu trúc thông tin bao gồm:
- Business entity: Một business entity chứa thông tin về công bao
gồm tên công ty, một đoạn mô tả ngắn gọn và một vài thông tin
liên lạc cơ bản( địa chỉ, số điện thoại, email,…). Mỗi doanh nghiệp
được cấp một định doanh duy nhất.’
- Business service: Liên kết với mỗi business entity là một danh sách
các business service cung cấp bởi business entity đó. Mỗi thành
phần chứa thông tin mô tả về dịch vụ, về thông tin phân loại của
dịch vụ và danh sách các binding template liên quan đến thông tin
kỹ thuật của dịch vụ. mỗi business service cần có ít nhất một
binding template.
- Binding template: Gắn với mỗi business service là một danh sách
các binding template cung cấp thông tin về địa điểm có thể tìm
thấu Web Service và làm cách nào để sử dụng nó. Một cấu trúc
binding template mô tả thông tin interface của Web Service và các
địa chỉ URL. Mỗi binding template được định danh duy nhất thông
Lớp: DHTH7TH Trang 19
Đồ án học phần 1 GVHD: Lê Thị Ánh Tuyết
qua số phát sinh tự động UUID lưu trong binding Key.
- tModels: Mục đích của tModels là dung để liên kết đến metadata
bên ngoài UDDI. Thành phần quan trọng nhất của tModels là một
URL trỏ đến một tài liệu mô tả thông tin metadata. Tài liệu này có
thể là tài liệu bất kì HTML, Word, …. Tùy ý mô tả một đặc tả kỹ
thuật nào đó, ví dụ như giao thức mạng, dạng thức trao đổi hoặc
luật tuần tự mà thông thường nhất là file mô tả thông tin service
WSDL. Có hai thuộc tính cơ bản bên trong một tModel: tModelKey

đóng vai trò định danh duy nhất giữa các tModel với nhau và
name dung cung cấp một tên với đầy đủ ngữ nghĩa cho tModel.
Tóm lại SOAP. WSDL và UDDI có thể kết hợp với nhau như sau:
- Nhà cung cấp Web service mô tả Web Service trong một tài liệu
WSDL và đăng ký nó lên một UDDI bằng cách sử dụng Publisher
API.
- Một người sử dụng dịch vụ UDDI Inquiry API để tìm thông tin về
nhà cung cấp dịch vụ thích hợp. Nếu có, nó sẽ tìm kiếm tiếp tModel
rồi từ đó lấy ra tài liệu mô tả WSDL.
- Một yêu cầu dạng SOAP được tạo ra dựa trên tài liệu mô tả WSDL.
- Yêu cầu SOAP trên sẽ được gửi đến nhà cung cấp dịch vụ và được
xử lý rồi kết quả được trả lại cho người dung.
1.7. SOAP– Simple Object Access Protocol
SOAP là một giao thức giao tiếp có cấu trúc như XML và mã hóa thành
định dạng chung cho các ứng dụng trao đổi với nhau. SOAP được xem như là
cấu trúc xương sống của các ứng dụng phân tán xây dựng từ nhiều ngôn ngữ,
hệ điều hành khác nhau.
SOAP là một đặc tả việc sử dụng các tài liệu XML theo dạng các thông
điệp. Bản than SOAP không định ra các ngữ nghĩa ứng dụng hoặc cách cài đặt
chi tiết. SOAP cung cấp một cơ chế đơn giản và gọn nhẹ cho việc trao đổi
thông tin có cấu trúc và định dạng giữa các thành phần trong một môi
Lớp: DHTH7TH Trang 20
Đồ án học phần 1 GVHD: Lê Thị Ánh Tuyết
trường phân tán sử dụng XML. SOAP được thiết kế dựa trên những chuẩn
nhằm giảm chi phí tích hợp các hệ thống phân tán xây dựng trên nhiều nền
tảng khác nhau ở mức càng thấp càng tốt. Đặc tả về SOAP định nghĩa một mô
hình trao đổi dữ liệu dựa trên 3 khái niệm cơ bản: các thông điệp là các tài
liệu XML, chúng được truyền đi từ bên gửi đến bên nhận, bên nhận có thể
chuyển tiếp dữ liệu đến nơi khác.
Khái niệm cơ bản nhất của mô hình SOAP là việc sử dụng các tài liệu

XML như những thông điệp trao đổi. Điều này có nhiều ưu điểm hơn các giao
thức truyền dữ liệu khác. Các thông điệp XML có thể được tổng hợp và đọc với
một bộ soạn thảo văn bản đơn giản, ta có thể làm việc với XML trên hầu hết
mọi nền tảng.
1.7.1. Đặc trưng SOAP
SOAP có những đặc trưng sau:
- SOAP được thiết kế đơn giản và dễ mở rộng.
- Tất cả các message SOAP đều được mã hóa sử dụng XML.
- SOAP sử dụng giao thức truyền dữ liệu riêng.
- Không có garbage collection phân tán, và cũng không có cơ chế
tham chiếu. vì thể SOAP client không giữ bất kỳ một tham chiếu
đầy đủ nào về các đối tượng ở xa.
- SOAP không bị rang buộc bởi bất kỳ một ngôn ngữ lập trình nào
hoặc công nghệ nào.
Vì những đặc trưng này, nó không quan tâm đến công nghệ gì được sử
dụng để thực hiện miễn là người dung sử dụng các message theo định dạng
XML. Tương tự, service có thể được thực hiện trong bất kỳ ngôn ngữ nào,
miến là nó có thể xử lý được những message theo định dạng XML.
Khi trao đổi các thông điệp SOAP, có hai thành phần liên quan: Bên gửi
và bên nhận. Thông điệp sẽ được chuyển từ bên gửi sang bên nhận. Đây là ý
niệm đơn giản nhất trong trao đổi thông điệp SOAP. Trong nhiều trường hợp,
kiểu trao đổi này không cung cấp đủ chức năng. Nhưng đây là mô hình cơ
Lớp: DHTH7TH Trang 21
Đồ án học phần 1 GVHD: Lê Thị Ánh Tuyết
bản, dựa trên đó sẽ phát triển các mô hình trao đổi phức tạp hơn.
Hình 6: Một SOAP đơn giản
1.7.2. Cấu trúc một message theo dạng SOAP
Một cấu trúc SOAP được định nghĩa gồm các phần : <Envelope>,
<Header> và <Body>.
Hình 7: Cấu trúc thông điệp SOAP

Evelope là thành phần gốc của một thông điệp SOAP, nó chứa các thành
phần Header và Body. Thành phần Header là một cơ chế mở cho phép thêm
các tính năng vào bên trong một thông điệp SOAP. Mỗi thành phần con của
Header gọi là một Header Entry. Các Header Entry dung để diễn giải, quy định
một số ngữ nghĩa của thông điệp SOAP. Các ứng dụng có thể xử lý và định
tuyến các thông điệp dựa trên thông tin header và thông tin bên trong thông
điệp đó. Đây là ưu điểm mà các mô hình kiến trúc như DCOM, CORBA và RMI
Lớp: DHTH7TH Trang 22
Đồ án học phần 1 GVHD: Lê Thị Ánh Tuyết
không có được, vì các protocol header của chúng phải được chỉ định chi tiết
cho mỗi ứng dụng.
1.7.3. Các kiểu truyền thông
SOAP hỗ trợ hai kiểu truyền thông khác nhau:
- Remote procedure call(RPC) : cho phép gọi hàm hoặc thủ tục qua
mạng. Kiểu này được khai thác bởi nhiều web service và nhiều trợ
giúp.
- Document (tương đương với kiểu hướng thông điệp).
1.7.4. Mô hình dữ liệu
Mục đích của mô hình dữ liệu SOAP là cung cấp sự trừu tượng hóa độc
lập ngôn ngữ cho các kiểu dữ liệu, các kiểu này bao gồm :
- Những kiểu dữ liệu nguyên thủy đơn giản như int, string, date,…
- Những kiểu phức tạp : như struct và array
Lớp: DHTH7TH Trang 23
Đồ án học phần 1 GVHD: Lê Thị Ánh Tuyết
CHƯƠNG 2:
QUY TRÌNH XÂY DỰNG WEBSERVICE
2.1. Các giai đoạn xây dựng WebService
Hình 8. Quy trình xây dựng Webservice
Có 4 giai đoạn chính để xây dựng một Webservice là xây dựng, triển khai,
tiến hành và quản lí.

Giai đoạn xây dựng bao gồm phát triển và chạy thử web, xây dựng các
chức năng và định nghĩa dịch vụ. có 2 cách khác nhau để tiến hành trong giai
đoạn này đó là Red –Path –Solod và Blue – path – dashed. Với Red – Path –
solod chúng ta có thể xây dựng một dịch vụ web mới từ trạng thái ban đầu
hoặc với một dịch vụ đã có sẵn. Từ đó xây dựng định nghĩa service (WSDL),
với các đối tượng hàm chức năng mà chúng ta mong muốn. nếu theo cách
Blue – path – dashed , dịch vụ web sẽ được xây dựng từ ban đầu hoặc từ một
định nghĩa dịch vụ WSDL. Sử dụng WSDL, xây dựng hoặc sửa đổi lại mã để
thực hiện các yêu cầu mog muốn trong dịch vụ web .
Giai đoạn triển khai: công bố định nghĩa dịch vụ , xây dựng WSDL và
triển khai mã thực thi của dịch vụ web. Triển khai một dịch vụ web tới một
ứng dụng phía server, sau đó sẽ công bố dịch vụ web lên mạng Internet để các
Client có thể nhìn thấy. Sử dụng UDDI registry để công bố lên mạng.
Giai đoạn tiến hành: tìm kiếm và thực thi dịch vụ web bởi những người
Lớp: DHTH7TH Trang 24
Đồ án học phần 1 GVHD: Lê Thị Ánh Tuyết
dùng muốn sử dụng dịch vụ.
Quản lí: quản lí và quản trị dịch vụ, duy trì sự ổn định của dịch vụ, cập
nhật thông tin mới, sửa lỗi khi nó xảy ra….
Để xây dựng được dịch vụ web chúng ta cần hiểu được những điều cần
phải làm và nên bắt đầu từ đâu. Có 3 cách tiếp cận chủ yếu để xây dựng nên
một dịch vụ web, có thể từ một ứng dụng đã có (bottom - up); từ một định
nghĩa dịch vụ, WSDL để phát sinh một ứng dụng mới (top - down) hoặc có thể
từ moottj nhóm các dịch vụ web hiện có, kết hợp lại với nhau để tạo nên các
chức năng mới hoặc mở rộng thêm chức năng. Những hướng tiếp cận này
dựa trên những gì mà chúng ta đã có, tùy thuộc vào yêu cầu, của hệ thống,
trong đó tối đa việc sử dụng lại các chức năng, các thành phần, các modun đã
được xây dựng.
2.2. Quy trình xây dựng một dịch vụ web
Hình 9. Quy trình xây dựng một dịch vụ web

1. Định nghĩa và xây dựng các chức năng, các dịch vụ mà dịch vụ sẽ cung
cấp (sử dụng ngôn ngữ java chẳng hạn).
Lớp: DHTH7TH Trang 25

×