Chương 3. CÁC GIẢI PHÁP CHO VIỆC THỰC THI CÁC QUY TRÌNH
3.3 Tìm hiểu về UDDI và cách thức tổ chức lưu trữ dữ liệu
3.3.2 Cấu trúc dữ liệu của UDDI
UDDI định nghĩa một tập các lƣợt đồ XML để mô tả các kiểu dữ liệu.Các kiểu dữ liệu đƣợc UDDI tổ chức và mối liên hệ giữa chúng đƣợc thể hiện trong sơ đồ sau:
62
Hình 3.9-Sơ đồ các cấu trúc dữ liệu trong UDDI
BusinessEntity
Là một cấu trúc mô tả các thông tin cơ bản về doanh nghiệp. Các thông tin này bao gồm: thông tin liên lạc, thông tin phân loại (category), định danh,mô tả, và các mối liên hệ với các thực thể kinh doanh khác. Mỗi thể hiện của cấu trúc businessEntity biểu diễn thông tin về một tổ chức hay công ty publish các webservice.
businessEntity chứa các businessService thể hiện các service mà tổ chức đó cung cấp. Sơ đồ cấu trúc businessEntity nhƣ sau:
Hình 3.10-Sơ đồ cấu trúc businessEntity [ 30 ].
63
Mô tả :
uddi:DiscoveryURLs: Là danh sách các URL. Thường các URL này dùng để tìm kiếm các thông tin thêm về tổ chức, công ty đƣợc diễn tả.
uddi:name: description, uddi:contacts là các thông tin về tổ chức, công ty.
uddi:businessServices: danh sách các business service đƣợc cung cấp bởi businessEntity.
uddi:identifierBag: để xác định duy nhất business entity bên cạnh businessKey.
uddi:categoryBag: là danh sách các category, mỗi category diễn tả một lĩnh vực kinh doanh của businessEntity.
dsig:Signature: chữ ký điện tử của business entity.
uddi:bindingTemplate:là danh sách các diễn tả kĩ thuật mà webservice cung cấp.
businessEntity còn chứa một thuộc tính là businesKey để xác định duy nhất businessEntity trong UDDI.
Publisher Assertion
Là một cơ cấu dùng để thiết lập mối quan hệ giữa hai cấu trúc BusinessEntity. Mối quan hệ này không thể đƣợc nhìn thấy công khai tr khi có sự chứng thực giữa hai doanh nghiệp với hai tài liệu Publisher Assertion riêng biệt. Một doanh nghiệp chỉ có thể thiết lập với một doanh nghiệp khác khi có sự chứng thực t phía đối tác, mối quan hệ này chỉ có thể đƣợc public khi phía doanh nghiệp đối tác cũng có mối quan hệ ngƣợc lại và có một tài liệu Publisher Assertion riêng biệt. Ví dụ Doanh nghiệp A thiết lập mối quan hệ với doanh nghiệp B (fromKey=A toKey=B) và mối quan hệ này sẽ đƣợc public khi doanh nghiệp B cũng thiết lập mối quan hệ với doanh nghiệp A(fromKey = B, toKey = A).
BusinessService
Một BusinessEntity có thể chứa một hoặc nhiều cấu trúc businessService.Cấu trúc businessService tƣợng trƣng cho một service, diễn tả các thông tin về mặt business của service. Mỗi businessService là con về mặt logic của một businessEntity. Các
64
thông tin về mặt kĩ thuật của service đƣợc diễn tả trong các bindingTemplate. Sơ đồ cấu trúc businessService nhƣ sau:
Hình 3.11-Sơ đồ cấu trúc ServirceBus [ 30 ] Mô tả:
uddi:name, uddi:description: tên và các chú thích cho businessService.
uddi:categoryBag: một danh sách các category cho service. Mỗi category diễn tả một lĩnh vực kinh doanh mà service có thể thuộc về.
bindingTemplate: là danh sách các diễn tả kĩ thuật mà web service cung cấp.
businessService còn có 2 thuộc tính là businessKey xác định businessEntity mà service thuộc về và serviceKey xác định duy nhất service.
Về mặt kĩ thuật, mỗi element wsdl:service trong tài liệu WSDL sẽ đƣợc thể hiện là một businessService trong UDDI.
Cấu trúc bindingTemplate
BindingTemplate là cấu trúc biểu diễn các thông tin kĩ thuật về service. Mỗi bindingTemplate diễn tả một thể hiện của service với một địa chỉ URL để truy cập đến service nó diễn tả. bindingTemplate cũng diễn tả loại service mà nó diễn tả bằng cách tham chiếu đến một tModel. Sơ đồ cấu trúc bindingTemplate nhƣ sau:
65
Hình 3.12- Sơ đồ cấu trúc bindingTemplate [ 30 ].
Mô tả :
uddi:description:thông tin mô tả các Template
uddi:accessPoint:là địa chỉ URL thích hợp để invoke service đƣợc diễn tả.
uddi:tModelInstanceDetails: danh sách các cấu trúc tModelInstanceInfo.
Mỗi tModelInstanceInfo chứa một tModelKey tương ứng với tModel mà bindingTemplate tham chiếu tới.
uddi:categoryBag: gồm một danh sách các category. Mỗi category diễn tả môt lĩnh vực mà bindingTemplate có thể thuộc về.
Cấu trúc tModel:
Mục tiêu của cấu trúc tModel là biểu diễn các thông tin dùng cho người và máy tính biết đƣợc làm cách nào để giao tiếp với service khi họ không biết nhiều về service đó. Các thông tin đó bao gồm: cách thức hoạt động, cách thức giao tiếp hay các chuẩn mà service tuân theo. Có hai mục đích sử dụng tModel là:
Xác định sự thích hợp của webservice với nhu cầu người dùng
Cung cấp hệ thống các tham chiếu. hệ thống này có thể được sử dụng để lưu các thông tin liên quan hay thông tin mở rộng về webservice.
66
Về mặt kĩ thuật, tModel có thể đƣợc sử dụng để mô tả interface (PortType), operation hay binding. Hay có thể đƣợc dùng để định nghĩa hệ thống category cho các tModel khác tham chiếu đến.Sơ đồ cấu trúc của tModel nhƣ sau:
Hình 3.13- Sơ đồ cấu trúc tModel Mô tả:
uddi:name, uddi:description: tên và chú thích của một tModel
uddi:overviewDoc:diễn tả các thông tin tổng quan về một tModel.
uddi:identifierBag:danh sách các identifier xác định tModel.
categoryBag:bao gồm danh sách các category để tham chiếu bởi tModel.