DANH MỤC HÌNH Hình 1 : Mô hình web Service 5 Hình 2: Kiến trúc của Web Service 6 Hình 3 : Cấu trúc WSDL 8 Hình 4: 2 file XML của WSDL 9 Hình 5: Mô hình UDDI 14 Hình 6: Một SOAP đơn giản 17 Hình 7: Cấu trúc thông điệp SOAP 17 Hình 8. Quy trình xây dựng Webservice 19 Hình 9. Quy trình xây dựng một dịch vụ web 20 MỤC LỤC CHƯƠNG1: TÌM HIỂU VỀ WEB SERVICES 1 1.1. Giới thiệu 1 1.2. Đặc điểm của Web Services 2 1.2.1. Đặc điểm 2 1.2.2. Ưu và nhược điểm 3 1.3. Mô hình hoạt động của Web Services 4 1.4. Kiếm trúc giao thức của Web Services 6 1.5. Các thành phần của Web Service 7 1.5.1. XML – eXensible Markup language 7 1.5.2. WSDL – Web service Description Language 7 1.5.3. Tập tin giao diện – Service Interface 10 1.5.4. Tập tin thi hành – Service Implementation 12 1.6. UDDI –Universal Description, Discovery and Intergration 12 1.7. SOAP– Simple Object Access Protocol 15 1.7.1. Đặc trưng SOAP 16 1.7.2. Cấu trúc một message theo dạng SOAP 17 1.7.3. Các kiểu truyền thông 18 1.7.4. Mô hình dữ liệu 18 CHƯƠNG 2:QUY TRÌNH XÂY DỰNG WEBSERVICE 19 2.1. Các giai đoạn xây dựng WebService 19 2.2. Quy trình xây dựng một dịch vụ web 20 2.3. Tích hợp Webservice theo chuẩn 21 2.4. Đêmo minh họa 23 2.4.1. Tạo Web Service. 23 1.4.2. Tạo consumer. 29 KẾT LUẬN 35 TÀI LIỆU THAM KHẢO 36 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ướngdịchvụ 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 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 : Đâ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.
Trang 1KHOA CÔNG NGHỆ - CƠ SỞ THANH HÓA
3. NGUYỄN THANH CHUNG - MSSV: 11036203
THANH HÓA, THÁNG 07 NĂM 2014
Trang 2NHẬ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
Trang 3NHẬ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
Trang 4DANH MỤC HÌNH
Trang 5MỤC LỤC
Trang 6CHƯƠ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
Trang 7nà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 :
Trang 8- Đâ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
Trang 9tá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
Service Directory
Trang 10cá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.
Trang 111.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
Trang 12Tầ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
Trang 13trừ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
Trang 14Mộ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
Trang 151.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.
Trang 16</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: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
Trang 17phạ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.
1.6 UDDI –Universal Description, Discovery and Intergration
Về cơ bản Universal Description, Discovery and Intergration(UDDI) là
Trang 18mộ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.
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.
Trang 19Hì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
Trang 20qua 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
Trang 21trườ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ơ