Tải bản đầy đủ (.pdf) (69 trang)

Tìm hiểu mô hình web service với uddi và cài đặt giải pháp cho phép tích hợp tự

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 (2.52 MB, 69 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
---------------------------------------

VŨ ĐÌNH PHÚ

TÌM HIỂU MÔ HÌNH WEB SERVICE VỚI UDDI VÀ CÀI ĐẶT GIẢI
PHÁP CHO PHÉP TÍCH HỢP TỰ ĐỘNG CÁC WEB SERVICE ĐỂ
TẠO DỊCH VỤ GIÁ TRỊ GIA TĂNG

Chuyên ngành: Công nghệ thông tin

LUẬN VĂN THẠC SĨ KỸ THUẬT
Công nghệ thông tin
NGƯỜI HƯỚNG DẪN KHOA HỌC:
1.TS. Phạm Huy Hoàng

Hà Nội – 2014

1


Lời cam đoan
Tôi – Vũ Đình Phú – Cam kết luận văn này là công trình nghiên cứu của bản
thân tôi dưới sự hướng dẫn của TS Phạm Huy Hoàng.
Các kết quả nêu trong luận văn này là trung thực, không phải là sao chép toàn
văn của bất kỳ một công trình nào khác.

2



Lời cảm ơn

Với lòng kính trọng và sự biết ơn sâu sắc, tôi xin được bày tỏ lời cảm ơn tới
thầy - Tiến sỹ Phạm Huy Hoàng- người đã tận tâm dìu dắt, hướng dẫn, chỉ dạy
những kiến thức quý báu đồng thời tạo mọi điều kiện thuận lợi để tôi hoàn thành
luận văn này.
Xin được chân thành cảm ơn các thầy, cô trường Đại học Bách Khoa Hà
Nội, đặc biệt là các thầy cô Viện Công nghệ thông tin và Truyền thông. Đồng thời,
xin được gửi lời cảm ơn sâu sắc tới các thầy cô và các bạn cùng lớp đã cùng giúp
đỡ, hỗ trợ tôi trong suốt quá trình nghiên cứu và thực hiện luận văn này.
Con xin dành lời cảm ơn sâu nặng nhất tới bố mẹ, gia đình - những người đã
luôn khích lệ, động viên, dìu dắt con suốt con đường dài.

Hà Nội, tháng 8 năm 2014

Vũ Đình Phú

3


Mục lục
Nội dung
Mục lục .................................................................................................................................. 4
Danh mục các ký hiệu, các chữ viết tắt ................................................................................. 6
Danh mục hình vẽ, bảng biểu ................................................................................................ 7
Chương mở đầu ..................................................................................................................... 9
Bối cảnh lựa chọn đề tài ..................................................................................................... 9
Nhiệm vụ đặt ra, đối tượng, phạm vi nghiên cứu............................................................. 10
Các luận điểm cơ bản và đóng góp mới của luận văn ...................................................... 10
Hướng tiếp cận, phương pháp nghiên cứu ....................................................................... 10

Cấu trúc luận văn ............................................................................................................. 11
Chương 1: Tìm hiểu tổng quan về web service ................................................................... 12
1. Giới thiệuchung về web service ............................................................................... 12
2. Kiến trúc web service ............................................................................................... 12
3. Các thành phần chính của dịch vụ web .................................................................... 15
Chương 2. Tìm hiểu tổng quan về UDDI, framework triển khai JUDDI ............................ 18
2.1. Sơ lược về UDDI và lịch sử hình thành .................................................................... 18
2.2. Kiến trúc UDDI ......................................................................................................... 20
2.2.1. Mô hình Pattern UDDI ....................................................................................... 20
2.2.2. Mô hình hóa dữ liệu UDDI................................................................................. 23
2.2.3. Đặc tả các UDDI API ......................................................................................... 32
2.2.4. Mô hình UDDI dịch vụ đám mây ....................................................................... 43
2.3. Giới thiệu JUDDI áp dụng vào thực thi cài đặt mô hình UDDI ............................... 44
Chương 3. Áp dụng mô hình UDDI vào phát triển, cài đặt dịch vụ tích hợp trong web site
du lịch .................................................................................................................................. 48
3.1. Phát biểu bài toán ...................................................................................................... 48
3.2. Thiết kế cấu trúc thông tin bổ trợ mô tả dịch vụ tích hợp vào UDDI ....................... 48
3.3. Triển khai, áp dụng mô hình UDDI trong hệ thống website du lịch ......................... 51
3.3.1. Với nhà quản trị hệ thống UDDI ........................................................................ 51
3.3.2. Với nhà cung cấp web service ............................................................................ 54
3.3.3. Với nhà phát triển dịch vụ giá trị gia tăng .......................................................... 59

4


Chương 4: Kết luận .............................................................................................................. 67
Các kết quả đạt được ........................................................................................................ 67
Các điểm còn hạn chế ...................................................................................................... 67
Hướng phát triển .............................................................................................................. 68
Danh mục tài liệu tham khảo ............................................................................................... 69


5


Danh mục các ký hiệu, các chữ viết tắt

Từ viết tắt
UDDI

Tên đầy đủ

Ý nghĩa

Universal Description

Mô hình dùng để mô tả,

Discovery & Integration

quảng bá, tìm kiếm và tích
hợp các web service.

SOA

Service Oriented

Kiến trúc hướng dịch vụ

Architecture
SOAP


Simple Object Access

Giao thức truy xuất đối

Protocol

tượng đơn giản, dùng để
truyền thông điệp trong
web service

WSDL

XML

Web service description

Ngôn ngữ miêu tả dịch vụ

language

web service

eXtensible Markup

Ngôn ngữ đánh đấu mở

Language

rộng


6


Danh mục hình vẽ, bảng biểu
Hình 1.2. 1. Chồng giao thức dịch vụ web................................................................................. 13
Hình 1.2. 2. Kiến trúc chi tiết của SOAP ................................................................................... 14
Hình 2.2. 1. Mô hình pattern UDDI ..................................................................................... 20
Hình 2.2. 2. Mối liên UDDI với SOAP ............................................................................... 21
Hình 2.2. 3. Cách hình thành một bản ghi ........................................................................... 22
Hình 2.2. 4. Các thực thể core trong mô hình kiến trúc UDDI........................................... 24
Hình 2.2. 5. Thực thể bussinessEntity ................................................................................. 25
Hình 2.2. 6. Dữ liệ mô tả cho thực thể businessEntity ........................................................ 25
Hình 2.2. 7. Thực thể businessService................................................................................. 26
Hình 2.2. 8. Dữ liệu minh họa cho thực thể businessService .............................................. 26
Hình 2.2. 9. Mô hình thực thể liên kết ................................................................................. 27
Hình 2.2. 10. Dữ liệu cho mô hình thực thể liên kết............................................................ 28
Hình 2.2. 11. Thực thể tModel............................................................................................. 30
Hình 2.2. 12. Dữ liệu mô tả cho tModel .............................................................................. 30
Hình 2.2. 13. Thực thể publisherAssertion .......................................................................... 31
Hình 2.2. 14. Dữ liệu cho thực thể publisherAssertion ....................................................... 31
Hình 2.2. 15. Mối quan hệ tiêu chí tìm kiếm trong findQualifiers ...................................... 34
Hình 2.2. 16. Các tiêu chí sắp xếp UDDI hỗ trợ .................................................................. 35
Hình 2.2. 17. Cấu trúc finding_business .............................................................................. 36
Hình 2.2. 18. Các ví dụ về phân đoạn khóa trong UDDI..................................................... 39
Hình 2.2. 19. save_service API............................................................................................ 41
Hình 2.2. 20. Mô hình UDDI theo kiến trúc đám mây ........................................................ 43
Hình 2.3. 1. Tập các API mà JUDDI hỗ trợ ........................................................................ 44
Hình 2.3. 2. JUDDI Administration ..................................................................................... 45
Hình 2.3. 3. Các enpoint SOAP mà JUDDI hỗ trợ .............................................................. 46

Hình 2.3. 4. Kiến trúc JUDDI core ...................................................................................... 47
Hình 3.3. 1. Cấu trúc bảng dữ liệu trong JUDDI ................................................................. 52
Hình 3.3. 2. Giao diện bên ngoài của apache JUDDI .......................................................... 53
Hình 3.3. 3. lưu trữ một publisher dùng soap-ui .................................................................. 53
Hình 3.3. 4. Dữ liệu của các publisher trong juddi .............................................................. 54
Hình 3.3. 5. Lưu trữ một thực thể nghiệp vụ bằng SOAP-UI.............................................. 55
Hình 3.3. 6. Lưu trữ một thực thể nghiệp vụ bằng giao diện web ....................................... 55
Hình 3.3. 7. Lưu trữ một thực thể nghiệp vụ bằng code java .............................................. 56
Hình 3.3. 8. Bảng dữ liệu các thực thể nghiệp vụ ................................................................ 57
Hình 3.3. 9. Danh sách các web service cài đặt demo ......................................................... 59
Hình 3.3. 10. Cách tìm kiến một web service theo top-down 1........................................... 61
Hình 3.3. 11. Cách tìm kiến một web service theo top-down 2........................................... 61
Hình 3.3. 12. Cách tìm kiến một web service theo top-down 3........................................... 62
Hình 3.3. 13. Ứng dụng tự động gọi web service ................................................................ 63
Hình 3.3. 14. Dữ liệu lưu trữ từ ứng dụng tự động .............................................................. 63

7


Hình 3.3. 15. Giao diện trang chủ website du lịch............................................................... 64
Hình 3.3. 16. Giao diện chi tiết phòng đặt ........................................................................... 65
Hình 3.3. 17. Giao diện khi có yêu cầu đặt phòng ............................................................... 65
Hình 3.3. 18. Giao diện khi yêu cầu đặt phòng nhanh ......................................................... 66

8


Chương mở đầu
Bối cảnh lựa chọn đề tài
Hiện nay từ những phần mềm đơn lẻ như phần mềm quản lý công nợ cho các

cửa hàng cho đến các phần mềm phức tạp, sử dụng trong doanh nghiệp lớn như giải
pháp tổng thể ERP đã đem lại rất nhiều tiện ích cho người dùng. Tuy nhiên do nhu
cầu phát triển, các phần mềm không ngừng được bảo trì, thêm các tính năng mới.
Nếu chỉ chạy theo xu hướng cũ, các phần mềm chỉ được phát triển độc lập ngôn
ngữ, chạy đơn nền gây ra việc lãng phí không tái sử dụng được những tài nguyên có
sẵn lẫn nhau, hoặc tính tương tác giữa các phần mềm thêm yếu kém. Đại bộ phận
doanh nghiệp cũng khó có thể sử dụng một giải pháp tổng thể như ERP vì chi phí
nó quá cao. Kiến trúc phần mềm theo xu hướng cũ đã không còn đáp ứng đầy đủ
theo nhu cầu phát triển nữa. Điều này đã nảy sinh một xu thế kiến trúc mới là kiến
trúc hướng dịch vụ-SOA. SOA là cấp độ cao hơn của phát triển ứng dụng, chú trọng
đến quy trình nghiệp vụ và dùng giao tiếp chuẩn để giúp che đi sự phức tạp kỹ thuật
bên dưới. Các thành phần được nối kết qua cổng giao tiếp, có tính kế thừa các thành
phần đang tồn tại, và sự tương tác giữa chúng không cần quan tâm đến việc chúng
được phát triển trên nền tảng công nghệ nào. Điều này khiến hệ thống có thể mở
rộng và tích hợp một cách dễ dàng.
Để triển khai được mô hình kiến trúc SOA, đại bộ phận các doanh nghiệp
thường sử dụng các dịch vụ web, đó là thông qua các đặc tả chuẩn web như SOAP,
XML, HTTP…Tuy nhiên bài toán đặt ra, khi các doanh nghiệp quảng bá các dịch
vụ web trên một môi trường internet rộng lớn, làm sao để cho những doanh nghiệp
khác có thể dễ dàng tìm kiếm, sử dụng lại các web service của doanh nghiệp này.
Hay nói cách khác “một web service mà được doanh nghiệp quảng bá trên môi
trường web, làm sao cho nó trở nên có ý nghĩa hơn?”. Một web service thực sự có
ý nghĩa khi mà những người dùng tiềm năng có thể tìm thấy đầy đủ thông tin mô tả
của nó như đầu vào, đẩu ra, giao thức kết nối, mục đích sử dụng… từ đó có thể cho
phép họ thực thi những yêu cầu theo nhu cầu sử dụng của họ…Vì nhu cầu muốn

9


cho việc tích hợp web service dễ dàng hơn, người dùng hiểu rõ hơn về web service

mà mình muống tích hợp, nảy sinh ra việc phát triển một chuẩn chung, sử dụng phổ
rộng, thống nhất, UDDI (Universal Description Discovery & Integration ) ra đời đã
giải quyết được điều này. Qua quá trình làm việc ở công ty là về các sản phẩm của
lớp giữa, cũng như việc tìm hiểu xu thế mong muốn của những nhà phát triển khi
muốn sử dụng tài nguyên chung web service, tác giả xin được thực hiện luận văn về
chuẩn UDDI: “Tìm hiểu mô hình web service với uddi và cài đặt giải pháp cho
phép tích hợp tự động các web service để tạo dịch vụ giá trị gia tăng”.
Nhiệm vụ đặt ra, đối tượng, phạm vi nghiên cứu
-

Tìm hiểu về dịch vụ web, mô hình UDDI, kỹ thuật cài đặt triển khai mô hình
UDDI thông qua công nghệ java JUDDI.

-

Tiến hành phân tích bài toán khi quảng bá và truy vấn các web service lên
UDDI server, từ đó đề xuất giải pháp thiết kế cấu trúc thông tin bổ trợ mô tả
dịch vụ tích hợp vào UDDI, nhằm tăng hiệu quả hơn khi tích hợp vào UDDI.

-

Cài đặt thử nghiệm hệ thống tích hợp các web service được quảng bá lên
UDDI server –tạo ra web site du lịch có sử dụng các web service từ hệ thống
UDDI. Từ đó đưa ra đánh giá, đề xuất hướng mở rộng, nhằm hiệu quả hơn
khi tương tác với các web service trên UDDI server.

Các luận điểm cơ bản và đóng góp mới của luận văn
-

Tác giả thiết kế, đề xuất cấu trúc thông tin bổ trợ mô tả dịch vụ tích hợp vào

UDDI, nhằm giúp cho việc truy xuất, tìm kiếm các web service trên UDDI
được dễ dàng hơn.

-

Tác giả đã tiến hành cài đặt, phát triển hệ thống web site du lịch trong đó có
một phần tích hợp tự động web service lấy từ UDDI server, tạo dịch vụ gia
tăng. Sau đó đưa hướng đề xuất, mở rộng khi làm việc với UDDI.

Hướng tiếp cận, phương pháp nghiên cứu
-

B1: Nghiên cứu sâu về đặc tả mô hình UDDI, đặc tả kỹ thuật JUDDI.

10


-

B2: Phân tích bài toán khi muốn áp dụng mô hình UDDI để tích hợp tự động
các web service, làm sao để truy vấn các web service tren UDDI nhanh hơn.

-

B3: Tiến hành cài đặt, đánh giá hệ thống, rút ra kết luận

Cấu trúc luận văn
Luận văn sẽ bao gồm 04 chương với nội dung mỗi chương như sau
-


Chương 1: Tóm tắt về tìm hiểu tổng quan về dịch vụ web service.

-

Chương 2: Trình bày tìm hiểu về UDDI như về kiến trúc, đặc tả, các
API, sau đó tìm hiểu framework JUDDI để cài đặt triển khai thử
nghiệm cho mô hình UDDI.

-

Chương 3: Áp dụng mô hình UDDI để phát triển cài đặt dịch vụ cho
phép tích hợp các web service tự động trong hệ thống web site du lịch.
Chương này cũng đưa ra nhận định, đề xuất của tác giã để giúp cho
khi triển khai mô hình UDDI thì người dùng được nhiều tiện ích hơn.

-

Và cuối cùng, chương 4, là chương trình bày kết luận và kiến nghị
cho toàn bộ nội dung luận văn.

11


Chương 1: Tìm hiểu tổng quan về web service
1. Giới thiệuchung về web service
Web service có thể được mô tả như các hàm được triển khai thông qua môi
trường web và có thể được gọi từ các ứng dụng thông thường hoặc qua một web
service khác.Web service có thể coi là giao thức dùng phổ biến nhất hiện nay. Lý do
web service dần phổ biến vì việc dùng web service khá đơn giản, giống như ta gọi
hàm trong các chương trình, hơn nữa web service giúp cho các bộ phận, công ty có

thể tái sử dụng code, không phụ thuộc vào môi trường cài đặt, rút ngắn thời gian tạo
một ứng dụng. Các giao thức liên quan sử dụng cho web service như: WSDL,
XML-RPC, SOAP, REST, WPS, UDDI,JSON-RPC, JSON-WSP, XLANG…Các
Framework dùng tạo web service như: Apache Axis, Apache Axis2 ( dùng ngôn
ngữ Java, C, C++), Apache CXF (Java), .Net Framework (C#, VB.NET), SOAP (C,
C+), CodeIgniter(PHP), Zend Framework (PHP)…Một web service bao gồm phần
mô tả về đầu vào, đầu ra của message truyền nhận, và các accessPoint( điểm truy
cập) để client có thể gọi và nhận phản hồi từ server.Web service có thể triển khai
thông qua mạng internet, hoặc chỉ cần thông qua mạng LAN, Intranet, miễn sao có
thông kết nối giữa bên cung cấp và bên yêu cầu gọi web service. Với sự phát triển
và lớn mạnh của Internet, web service thật sự là một công nghệ đáng được quan tâm
để giảm chi phí và độ phức tạp trong tích hợp và phát triển hệ thống.
2. Kiến trúc web service
Dịch vụ Web gồm có 3 chuẩn chính: SOAP, WSDL và UDDI. Hình vẽ
saumô tả chồng giao thức của dịch vụ Web:

12


Hình 1.2. 1. Chồng giao thức dịch vụ web

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:
 Dịch vụ vận chuyển: có nhiệm vụ truyền thông điệp giữa các ứng dụng
mạng, bao gồm những giao thức như HTTP, SMTP, FTP, JSM và gần đây
nhất là giao thức thay đổi khối mở rộng (Blocks Extensible Exchange
Protocol- BEEP).
 Thông điệp 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. Hiện tại,

những giao thức thực hiện nhiệm vụ này là XML-RPC, SOAP và REST.
 Mô tả dịch vụ: được sử dụng để miêu tả các giao diện chung cho một dịch
vụ Web cụ thể. WSDL là ngôn ngữ 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.

13


 Khám phá dịch vụ: tập trung dịch vụ vào trong một nơi được đăng ký, từ đó
giúp một dịch vụ Web có thể dễ dàng khám phá ra những dịch vụ nào đã có
trên mạng, tốt hơn trong việc tìm kiếm những dịch vụ khác để tương tác. Một
dịch vụ Web cũng phải tiến hành đăng ký để các dịch vụ khác có thể truy cập
và giao tiếp. Hiện tại, UDDI API thường được sử dụng để thực hiện công
việc này.
Kiến trúc sâu hơn được mô tả trong vẽ sau:

Hình 1.2. 2. Kiến trúc chi tiết của SOAP

Trong đó, tầng giao thức tương tác dịch vụ với công nghệ chuẩn là SOAP.
SOAP là giao thức nằm giữa tầng vận chuyển và tầng mô tả thông tin về dịch vụ,
cho phép người dùng triệu gọi một dịch vụ từ xa thông qua một thông điệp XML.
Ngoài ra, để các dịch vụ có tính an toàn, toàn vẹn và bảo mật thông tin, trong kiến
trúc dịch vụ Web, chúng ta có thêm các tầng Policy, Security, Transaction,
Management.

14



3. Các thành phần chính của dịch vụ web
3.1. XML – eXtensible Markup Language
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. 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ở.
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.
3.2. WSDL – Web Service Description Language
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 sẽ được sử dụng khi gọi các hàm của dịch
vụ Web.
 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 dịch vụ Web cộng với tên cho giao diện này).
Một WSDL hợp lệ gồm hai phần: phần giao diện (mô tả giao diện và phương
thức kết nối) và phần thi hành mô tả thông tin truy xuất CSDL. Cả hai phần này sẽ
được lưu trong hai tập tin XML tương ứng là tập tin giao diện dịch vụ và tập tin thi

15



hành dịch vụ. Giao diện của một dịch vụ Web được miêu tả trong phần này đưa ra
cách thức làm thế nào để giao tiếp qua dịch vụ Web. Tên, giao thức liên kết và định
dạng thông điệp yêu cầu để tương tác với dịch vụ Web được đưa vào thư mục của
WSDL.
WSDL thường được sử dụng kết hợp với XSD (XML Schema) và SOAP để
cung cấp dịch vụ Web qua Internet. Một client khi kết nối tới dịch vụ Web có thể
đọc WSDL để xác định những chức năng sẵn có trên server. Sau đó, client có thể sử
dụng SOAP để lấy ra chức năng chính xác có trong WSDL.
3.3. SOAP – Simple Object Access Protocol
Chúng ta đã hiểu cơ bản dịch vụ Web như thế nào, bao gồm những thành
phần cơ bản nào nhưng vẫn còn một vấn đề quan trọng: đó là, làm thế nào để truy
xuất dịch vụ khi đã tìm thấy một dịch vụ? Câu trả lời là các dịch vụ Web có thể truy
xuất bằng một giao thức là SOAP. Nói cách khác chúng ta có thể truy xuất đến các
dịch vụ web được đăng kí ở UDDI, lấy các miêu tả dịch vụ web WSDL và sau đó
gọi các hàm được dịch vụ web đó cung cấp bằng các lệnh gọi hoàn toàn theo định
dạng của SOAP.
SOAP là một giao thức giao tiếp có cấu trúc như XML. Nó được xem là cấu
trúc xương sống của các ứng dụng phân tán được xây dựng từ nhiều ngôn ngữ và
các hệ điều hành khác nhau. SOAP là giao thức thay đổi các thông điệp dựa trên
XML qua mạng máy tính, thông thường sử dụng giao thức HTTP.
Một client sẽ gửi thông điệp yêu cầu tới server và ngay lập tức server sẽ gửi
những thông điệp trả lời tới client. Cả SMTP và HTTP đều là những giao thức ở lớp
ứng dụng của SOAP nhưng HTTP được sử dụng và chấp nhận rộng rãi hơn bởi
ngày nay nó có thể làm việc rất tốt với cơ sở hạ tầng Internet.
3.4. Universal Description, Discovery, and Integration (UDDI)

16


Để 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.
Nội dung chính của đồ án có tập trung nghiên cứu sâu về đặc tả UDDI, và
được trình bày ở chương tiếp theo.

17


Chương 2. Tìm hiểu tổng quan về UDDI, framework triển khai JUDDI
2.1. Sơ lược về UDDI và lịch sử hình thành
Vì nhu cầu bài toán muốn cho việc tích hợp web service dễ dàng hơn, người
dùng hiểu rõ hơn về ý nghĩa web service mà mình muốn tích hợp, nảy sinh ra việc
phát triển một chuẩn chung, sử dụng phổ rộng, thống nhất. Chính vì thế UDDI
(Universal Description Discovery & Integration ) ra đời đã giải quyết được điều
này. UDDI được đề xuất từ tháng 12 năm 2000 do những công ty phần mềm nổi
tiếng toàn cầu như Microsoft, IBM và Ariba tạo thành một chuẩn chung. Sau khi
công bố chuẩn chung đầu tiên, UDDI đã dần phát triển với hơn 300 công ty lớn như
Dell, Fujisu, HP, Hitachi, SAP, Sun… tham gia vào. Đến ngày nay, UDDI được tài
trợ chính thức bởi tổ chức OASIS (Open Standards for the Information Society), và
đã ra đời với chuẩn UDDI v3. UDDI được sử dụng cho nhiều mục đích, nó có thể
được dùng chung cho các công ty phần mềm và các doanh nghiệp muốn tham gia
vào việc quảng bá, giới thiệu web service của họ, những doanh nghiệp này mong
muốn sử dụng tài nguyên web service lẫn nhau, hoặc UDDI cũng có thể dùng cho
nôi bộ một doanh nghiệp, một công ty phần mềm, khi mà họ phát sinh nhu cầu tích
hợp giữa các hệ thống là quá nhiều, họ không muốn kiểm soát web service của
mình bằng cách thủ công nữa.
UDDI là một nền tảng không phụ thuộc vào các ngôn ngữ, môi trường phát
triển, và là một framework mở, các công ty phần mềm có thể tham gia đóng góp
vào để cho UDDI càng hoàn chỉnh hơn. UDDI có thể được dùng thông qua các giao

thức: SOAP, CORBA, Java RMI… UDDI sử dụng đặc tả WSDL, thông qua các từ
khóa trong WSDL như tuần tự, chuổi (sequence), chọn lựa (choice), không bắt buộc
(optional)… để mô tả các giao diện cho các web services. UDDI là một chuẩn công
nghiệp mở, được khởi tạo để tạo điều kiện giúp các công ty, các tổ chức có thể tìm
kiếm những web service lẫn nhau và xác định làm thế nào để chúng tương tác với
nhau thông qua môi trường internet, làm giàu hơn tài nguyên web service trên
internet.

18


UDDI có thể được các doanh nghiệp, tổ chức dùng theo cách quảng bá
(publishing) hoặc dùng theo dạng bảo mật (private) bên trong nôi bộ. Một doanh
nghiệp hoặc tổ chức có thể đăng ký ba kiểu định dạng thông tin vào trong UDDI.
Những loại thông tin này giống như trong một cuốn sổ danh bạ, nên có cách gọi
khác về UDDI đó chính là cuốn sổ danh bạ điện thoại:
 White pages:
o Thông tin cơ bản về công ty và ngành nghề kinh doanh của nó.
o Thông tin cơ bản vềliên lạc của công ty như: địa chỉ nhà, số điện
thoại, địa chỉ email….
o Một mã định danh duy nhất về công ty thông qua mã số thuế. Thông
tin này cho phép các công ty, tổ chức khác có thể khám phá ra các
web service liên quan khác của công ty này dựa bằng việc lần từ mã
số thuế.
 Yellow pages:
o Thông tin chi tiết hơn về công ty, bao gồm mô tả của khả năng công
ty có thể cung cấp cho bất cứ tổ chức, cá nhân nào mà muốn quan hệ
làm ăn với công ty.
o Nó sử dụng các tiêu chí phân loại thông dụng thường được chấp nhận
trong công nghiệp như: mã ngành công nghiệp, mã sản phẩm, mã định

danh của công ty, và các thông tin khác mà giúp các công ty, tổ chức
khác có thể tìm kiếm chính xác những gì mà họ muốn tìm.
 Green pages: Tiêu chí phân loại này chứa những thông tin về kỹ thuật về
một web service. Điều này cho phép một ai đó có thể liên kết tới web service
này sau khi họ tìm thấy nó ở mô tả. Bao gồm:
o Các giao diện (interface) cài đăt.
o Địa chỉ URL
o Các thông tin ràng buộc, quy ước để có thể truyền vào web service
này.

19


2.2. Kiến trúc UDDI
2.2.1. Mô hình Pattern UDDI
Phạm vi của đồ án nghiên cứu đặc tả mô hình UDDI mới nhất hiện nay là
UDDI v3. Mọi thông tin tìm hiểu đều dựa trên tài liệu tham chiếu là UDDI v3.
Trước hết chúng ta cùng xem qua mô hình pattern của UDDI:

Hình 2.2. 1. Mô hình pattern UDDI

Điểm mấu chốt trong mô hình pattern của UDDI chính là UDDI registry.
UDDI registry dùng để thực thi (cài đặt) đặc tả cho UDDI. UDDI registry được ví
như cuốn sổ danh bạ có thể bao gồm phân loại white page, yellow page và green
page. Registry không chỉ là nơi được thiết kế để lưu trữ thông tin về các công ty,
các service mà nó còn lưu trữ tham chiếu một cách chi tiết đến các tài liệu liên
quan.Nhìn mô hình chúng ta có thể hiểu được hoạt động của UDDI như sau:
1. Các công ty, tổ chức có những web service ở server, tiến hành thiết lập bảo
mật khi muốn tham gia vào UDDI. Sau đó đăng ký thông tin về web service
của mình vào UDDI Registry.


20


2. Client chính là những tổ chức, cá nhân có mong muốn tìm kiếm thông tin
web service phục vụ cho mục đích của riêng mình. Client tiến hành tìm kiếm
ở trong UDDI Registry ra thông tin web service mình mong muốn.
3. Sau khi tìm được web service phù hợp, client tiến hành gọi web service đó
trực tiếp vào server của các công ty, tổ chức cung cấp web service.
Từ mô hình pattern chúng ta sẽ tìm hiểu sâu hơn về cơ chế cách thức hoạt động
trong UDDI: Bản ghi của UDDI chứa 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ợ. Nó cũng chứa
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, gói gọn trong một phong bì
SOAP, và gửi qua HTTP.

Hình 2.2. 2. Mối liên UDDI với SOAP

21


Hình vẽ trên minh họa sự truyền tải 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 của hệ thống đăng ký tiếp nhận các thông điệp UDDI SOAP, xử lý
nó, và trả lại một kết quả SOAP đến máy khách. Theo chính sách của bản ghi, các
yêu cầu từ máy khách mà bắt buộc phải chỉnh sửa dữ liệu phải là các giao dịch đảm
bảo an ninh và được xác thực.

Hình sau minh họa cách một bản ghi UDDI được tạo thành với dữ liệu và
cách các khách hàng khám phá và sử dụng những thông tin.

Hình 2.2. 3. Cách hình thành một bản ghi

Một bản ghi UDDI được xây dựng trên dữ liệu cung cấp bởi khách hàng của
nó. Có vài bước để tạo ra dữ liệu hữu dụng trong UDDI:
Trong bước 1: công bố thông tin hữu ích đến bản ghi bắt đầu khi các công ty
phần mềm và các cá nhân định nghĩa các đặc tả liên quan đến công nghiệp hay kinh
doanh, mà họ đăng ký với UDDI. Những thứ này được biết như là các mô hình kỹ
thuật, hoặc thông dụng hơn là tModels.

22


Trong bước 2: các công ty cũng đăng ký bản mô tả kinh doanh các dịch vụ
của họ. Một bản ghi UDDI sẽ theo dõi tất cả các điểm này bằng cách gán cho mỗi
điểm một định danh duy nhất, được biết đến như là một khóa định danh phổ biến
duy nhất (Unique Universal Identifier - UUID).
Trong bước 3: Một khóa UUID được đảm bảo là duy nhất và không bao giờ
thay đổi trong một bản ghi UDDI. Những khóa này trông giống như một chuỗi số
thập lục phân ngẫu nhiên có định dạng hexa (ví dụ, C0B9FE13-179F-413D-8A5B5004DB8E5BB2). Chúng có thể được sử dụng để tham chiếu đến một điểm mà
chúng được gán vào. Các khóa UUID tạo trong một bản ghi chỉ có nghĩa nội trong
bản ghi đó.
Trong bước 4: Các khách hàng khác, như là e-Marketplaces, máy tìm kiếm,
và ứng dụng thương mại, sử dụng một bản ghi UDDI để khám phá các dịch vụ quan
tâm.
Trong bước 5: Và ngược lại, các doanh nghiệp khác có thể yêu cầu các dịch
vụ này, cho phép sự tích hợp đơn giản và thay đổi theo thời gian.
Những mục sau của chương, tác giả sẽ đi sâu vào chi tiết kiến trúc sử dụng trong

UDDI. Theo cách phân loại về kiến trúc UDDI được chia làm 3 cấu phần chính sau:
 Mô hình hóa dữ liệu UDDI
 Đặc tả các UDDI API
 UDDI cloud services
2.2.2. Mô hình hóa dữ liệu UDDI
UDDI được mô hình hóa dữ liệu thông qua một XML schema mô tả cấu trúc.
Một mô hình UDDI chuẩn mô tả bao gồm có 5 thành phần cấu trúc dữ liệu nền tảng
(core) sau:
 businessEntity
 businessService

23


 bindingTemplate
 tModel
 publisherAssertion
Hình vẽ sau mô tả mô hình các loại dữ liệu core trong cấu trúc mô hình hóa dữ liệu
UDDI.

Hình 2.2. 4. Các thực thể core trong mô hình kiến trúc UDDI

2.2.2.1.businessEntity- thực thể nghiệp vụ
Cấu trúc đầu tiên trong UDDI là businessEntity, dùng để đại diện thông tin
của các nhà kinh doanh và nhà cung cấp trong UDDI. Nó chứa thông tin mô tả về
nhà kinh doamh hoặc là nhà cung cấp và thông tin về service mà nó cung cấp. Nó
bao gồm thông tin như tên, địa chỉ, và mô tả với nhiều loại ngôn ngữ, thông tin liên
lạc và phân loại thông tin. Tùy thuộc vào ngữ cảnh của dữ liệu, trong thực thể
registry, việc lựa chọn mô hình phù hợp để đại diện một nhà cung cấp là rất đa
dạng. Nội tại bên trong một businessEntity là thông tin về bản thân Entity đó (hay

con gọi là white page), ngoài ra đi sâu hơn ở bên trong businessEntity chính là các
businessService (gọi là yellow page và green page). Hình vẽ sau mô tả cấu trúc của
một businessEntity:

24


Hình 2.2. 5. Thực thể bussinessEntity

Áp dụng mô hình cấu trúc trên, khi mô hình hóa cấu trúc businessEntity vào
thực tế chúng ta có ví dụ dữ liệu được truyền trong thực tế như sau:

Hình 2.2. 6. Dữ liệ mô tả cho thực thể businessEntity

25


×