mở đầu tiên cho phép các quy trình thương mại điện tử có thể khám phá lẫn nhau và định nghĩa cách thức tương tác với nhau qua Internet. > Các thành phần của UDDI UDDI gồm 2 thành phan chính: © Phần đăng ký của tất cả cic Web Service’s metadata, bao gồm cả việc trỏ đến tài liệu WSDL mô tả địch vụ. © Phần thiết lập WSDLPort type định nghĩa cho các thao tác và tìm kiếm thông tin đăng ký. UDDI xây đựng dựa trên các giao thức chuẩn Internet được công bồ bởi W3C và IETF nhu XML, HTTP, và DNS.
UDDI sử dụng WSDL để mô tả giao diện của Web Sinh viên thực hiện: Nguyễn Quang Sách 12 Khóa luận tốt nghiệp đại học. Thêm nữa tính năng độc lập với nền tảng ngôn ngữ lập trình đá được điều hợp cùng với giao thức SOAP. > Mô hình dữ liệu của UDDI UDDI bao gồm lược đồ XML, mô tả bốn kiểu cấu trúc đữ liệu dưới đây: Eres eed E1 ng Forniy ofeervcen ¡| SE.4: Lược đồ XML UDDI định nghĩa bón loại thông tin Câu trúc đữ liệu businessEntity Cấu trúc đữ liệu businessEntity trình bày nhà cung cấp Web service. Cầu trúc này chứa các thông tin về công ty, bao gồm danh sách liên lạc, thông tin, phân biệt các tổ chức thương mại, và đanh sách các nhà cung cấp Web service.
Câu trúc đữ liệu businessService Liên kết với mỗi business entify 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 đị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 servi ce cần có ít nhất một binding template. Câu trúc đữ liệu bindingTemplate BindingTemplate là kĩ thuật mô tả của Web service được trình bày bởi cấu trúc dữ liệu Business Service.
Binding template trinh bày sự hoạt động thực tế của Web service, mô tả công nghệ sử dụng để giao tiếp với Web service. Một Business Service có thể có thể có nhiều binding template, cho nên địch vụ phải chỉ rõ các hành động cụ thể khác nhau trong cùng một dịch vụ. Sinh viên thực hiện: Nguyễn Quang Sách 18 Khóa luận tốt nghiệp đại học. Câu trúc đữ liệu Model fModel là lối trong cùng của kiểu dữ liệu, nhưng rất khó có khả năng để có thể nắm bắt được hết.
Model là chuẩn cho mô hình kĩ thuật. tModel là phương pháp để mô tả một vài quy trình thương mại, dịch vụ và các cầu trúc mẫu lưu trữ trong UDDI registry. Bắt kì một khái niệm trừu tượng nào đều có thể được đăng ký trong UDDI như là một tModel. Ví dụ: chúng ta có thể định nghĩa ra một kiểu cổng (port type) WSDL mới, và đồng nghĩa với đó ta có thể định nghĩa ra một fModel mới mà trình bày kiểu cổng đó trong UDDI.
Sau đó, ta có thể chỉ định ra dịch vụ thương mại mà thực thỉ kiểu cổng đó bằng việc kết hợp với tModel với một business service’s binding template. Câu trúc đữ liệu publisherAssertion Đây là một cấu trúc dữ liệu quan hệ mà nó đặt sự kết hợp giữa hai hoặc nhiều cầu trúc đữ liệu businessEnfify theo một kiểu quan hệ cụ thể, chẳng hạn như một công ty con hoặc một phòng ban. Kiến trúc Web service 1. Cơ chế hoạt ộng của Web service Cơ chế hoạt động của Web service yêu cầu phải có 3 thao tác đó là: Find, Public, Bind.
BH ee Publish| WSDL west. Service Bind Provider HTTP /SOAP Service Requestor Hinh 1.5: M6 hinh Web service - Mô hình Web service đơn giản định nghĩa cách thức tương tác giữa Service Requestor (bén str dung dich vu), Service Provider (bên cung cắp địch vy), Service Directory UDDI (bén trung gian). Sinh viên thực hiện: Nguyễn Quang Sách 14 Khóa luận tốt nghiệp đại học. - Bén sit dung địch vụ tìm kiếm các dịch vụ trong một UDDI Service Directory.
Chúng sẽ lấy thông tin mô tả WSDL của các Web service cung cấp bởi Service Providers từ trước thông qua Service Directory. Sau khi lấy được mô tả WSDL, bên yêu cầu dịch vụ kết nói đến nhà cung cấp dịch vụ bằng cách triệu gọi các dịch vụ thông qua giao thức SOAP. -_ Một số cơ chế tương tác giữa các thành phan này: " Service: là cơ chế cho phép client xác đỉnh và triệu gợi các dịch vụ từ xa thông qua mạng mà không phụ thuộc vào vị trí địa lí, hệ điều hành sử dụng hay ngôn ngữ lập trình sử dụng. = Message: 1a phuong tién giao tiếp giao tiếp giữa bên cung cấp địch vụ và bên sử dụng dịch vụ.
Một message có thể là một yêu cầu từ bên sử dụng địch vụ gửi đến bên cung cấp dich vụ hay là phản hồi từ bên cung cấp địch vụ về cho bên sử đụng dịch vụ. " Dynamic điscovery: là cơ chế được cài đặt dựa trên directory service. Về phía bên cung cấp, sẽ sử dụng đirecrtory service để tự đăng kí những địch vụ mà cung cấp. Còn về phía sử dụng, sẽ truy vấn để tìm ra các dịch vụ theo nhu cầu từ đirectory service thông qua mạng.
Điều này làm giảm sự lệ thuộc của bên sử dụng địch vụ vào bên cung cấp dich vu. " Publish: để có thể truy cập được thì một Web service cẩn phải được công bố để các Service Request có thể tìm thấy nó. Việc công bố có thể khác nhau tùy thuộc vào từng ứng đụng cụ thể. Nhưng thông thường, một mô tả dịch vụ (service description) bao gồm các thông tin sau: các interface, các kiểu dữ liệu, các toán tử, các thông tin kết nói, vị trí của địch vụ có thể truy cập được trên mang.
= Find trong thao tac tim kiếm Service request sé lay m6 td vé dich vụ đang được yêu cầu một cách trực tiếp hoặc thông qua Service Provider. Thao tac tim kiếm này có thể diễn ra trong hai vòng: thiết kế xây dựng (lập trình viên cần biết mô tả, interface của dịch vụ) và thực thi (xác định vị trí và tiến hành triệu gọi dịch vụ). Sinh viên thực hiện: Nguyễn Quang Sách 15 Khóa luận tốt nghiệp đại học. —====ẽh " Bind: để sử dụng được dịch vụ thì cần phải triệu gọi nó.
Trong thao tác bind, Service Request khi thực thi sẽ gọi hoặc khỏi tạo một luồng tương tác với dịch vụ dựa trên các thông tin trong mô tả dịch vụ mà nó thu được trước đó như: vị tri dich vụ, các liên lạc và tương tác với dich vu. Kiến trúc phân tằng của Web service Discovery Description Packaging Transport Network Hinh 1.6: Web service technology stack Mô hình kiến trúc phân tầng của Web service tương tự với mô hinh TCP/IP duoc sử dụng để mô tả kiến trúc Internet. Application Transport Network Link Hinh 1.7: TCP/IP network model Cac tang truyén théng nhu Packaging, Description, va Discovery trong mé hinh 'Web Service Stack 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. © Tầng Discovery: Tầng Discovery cung cấp cơ chế cho người dùng khả ning 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. Sinh viên thực hiện: Nguyễn Quang Sách 16 Khóa luận tốt nghiệp đại học. —====ẽh © Tầng Description: 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 ma nó sé hỗ trợ trong quá trình thực thi. Các mô tả về đị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 tang Description, céng nghé được sử dụng ở đây chính là WSDL. 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) va ngôn ngữ đánh đầu sự kiện DARPA. « Tầng Packazing: 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 đữ 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 đạng dữ liệu, mã hóa các giá trị đi kèm đữ liệu đó và các công việc khác.
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 ting XML. ¢ Tang Transport: Ting Transport cé vai tro dim nhiém viéc vận chuyển các Web Service Message, tai đâ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, SMTE.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. ¢ Tang Network: Tang Network trong công nghệ Web Service chính xác giống tầng Network trong mô hình giao thức TCP/TP.
Nó cung cấp khả năng giao tiếp cơ bản, định địa chỉ và định tuyến. Kiến trúc hướng dịch vụ SOA. Khái niệm kiến trúc hướng dịch vụ SOA. SOA - viết tắt của thuật ngữ Service Oriented Architecture (kiến trúc hướng địch vụ) là khái niệm về hệ thống trong đó mỗi ứng dụng được xem như một nguồn cung cấp dich vu.
Sinh viên thực hiện: Nguyễn Quang Sách 17 Khóa luận tốt nghiệp đại học. Dịch vụ là yếu tó then chốt trong SOA. Có thể hiểu địch vụ như là hàm chức năng (module phần mềm) thực hiện quy trình nghiệp vụ nào đó, một cách cơ bản, SOA là tập hợp các dịch vụ kết nối mềm dẻo với nhau (nghĩa là một ứng dụng có thể nói chuyện với một ứng dụng khác mà không cần biết các chỉ tiết kĩ thuật bên trong), có giao tiếp (dùng để gọi hàm dịch vụ) được định nghĩa rõ ràng và độc lập với nền tảng hệ thống, và có thể tái sử dụng. 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 của kĩ thuật bên dưới.
Thiết kế SOA tách riêng phản thực hiện dịch vụ (phần mềm) với giao tiếp gọi dịch vụ. Điều này tạo nên một giao tiếp nhất quán cho ứng dụng khách sử dụng dịch vụ bất chấp công nghệ thực hiện địch vụ. Thay vì xây dựng các ứng dụng đơn lẻ và đồ s, nhà phát triển sẽ xây đựng các dịch vụ có tính linh hoạt có thể triển khai và tái sử dụng trong toàn bộ quy trình nghiệp vụ.