Mô đun giao diện lập trình ứng dụng khách hàng (Client API)

Một phần của tài liệu Xây dựng khung đàm phán chất lượng dịch vụ cho dịch vụ web (Trang 46)

Axis2 rất mềm dẻo và linh hoạt trên khía cạnh triển khai một dịch vụ Web. Ngoài ra một yêu cầu khác khá quan trọng cần hỗ trợ từ Axis2 là khả năng cung cấp tiện ích cho việc gọi các dịch Web, sử dụng các dịch vụ Web. Nghĩa là chúng ta có các dịch vụ Web triển khai ở máy chủ, người dùng hay ứng dụng thực hiện gọi các dịch vụ Web để sử dụng chúng. Vì vậy, Axis2 cung cấp một mô đun giao diện lập trình ứng dụng cho khách hàng hay gọi tắt là Client API để xử lý việc gọi các dịch vụ Web. Sau đây là một số nội dung chính được Axis2 để cập đến trong mô đun ClientAPI: các dạng trao đổi thông điệp, cơ chế đồng bộ hay bất đồng bộ trong các lời gọi của dịch vụ Web, ServiceClient, OperationClient [3].

Axis2 có hai dạng trao đổi thông điệp. Thứ nhất là dạng trao đổi thông điệp vào ra (In-Out). Trong dạng này, khách hàng gửi một thông điệp SOAP đến máy chủ, thông điệp này được xử lý và gửi phản hồi lại. Ở dạng trao đổi thông điệp In-

Out thường dùng cho nhiệm vụ tìm kiếm thông tin, cung cấp thông tin trong các tình huống quan trọng. Thứ hai là dạng trao đổi thông điệp đến duy nhất (In -Only). Ở dạng này, khách hàng gửi một thông điệp SOAP đến máy chủ mà không mong đợi nhận phải hồi. Dạng In- Only thường dùng cho các hoạt động kiểm tra sự thông suốt của server bằng sử dụng lệnh Ping.

Cơ chế đồng bộ và bất đồng bộ trong lời gọi của dịch vụ Web. Axis2 có hai cơ chế gọi một dịch vụ Web là đồng bộ và bất đồng bộ. Lời gọi đồng bộ (Synchronous) là người sử dụng hay ứng dụng thực hiện gọi dịch vụ và chờ cho đến khi nhận được kết quả phản hồi của dịch đó. Vì vậy trong lời gọi đồng bộ ứng dụng sẽ bị chặn cho đến khi nó nhận được phản hồi. Hình 3-5 mình họa lời gọi dịch vụ đồng bộ.

Hình 3-5. Lời gọi dịch vụ Web đồng bộ [2].

Hình 3-6. Lời gọi dịch vụ Web bất đồng bộ [2].

Lời gọi dịch vụ bất đồng bộ (asynchronous) là người dùng hay ứng dụng thực hiện lời gọi và nó không quan tâm đến trạng thái đã nhận được kết quả hay chưa. Mà nó tiếp tục thực hiện làm việc khác. Vì vậy trong lời gọi bất đồng bộ, ứng dụng không bị chặn mà tiếp tục được làm việc. Hình 3-6 minh họa lời gọi dịch vụ không đồng bộ.

Thư viện ServiceClient [3]: Thư viện này cung cấp các lời gọi dịch vụ ở mức độ trung bình. Nghĩa là các lời gọi này chỉ có quyền truy cập vào phần tải trọng (payload) trên cả hai thông điệp gửi và thông điệp nhận, ngoài ra không có gì khác. Thư viện ServiceClient cũng hỗ trợ hai cơ chế gọi một dịch vụ Web đồng bộ và không đồng bộ.

Thư viện OperationClient [3]: Nếu như thư viện ServiceClient chỉ cho phép người dùng tương tác vào phần tải trọng (payload) của thông điệp SOAP, thì điều đó là không đủ. Vì vậy, thư viện OperationClient cho phép can thiệp vào thông điệp SOAP ở mức độ sâu hơn. OperationClient ngoài việc có quyền truy cập vào phần thân của thông điệp SOAP thì nó có quyền thêm tiêu đề, điều chỉnh tiêu đề của một thông điệp SOAP đến và thông điệp SOAP đi.

3.7 Tổng kết

Chương này đã trình bày các vấn đề tổng quan về Axis2, kiến trúc của Axis2, tập hợp các mô đun lõi và không lõi trong Axis2. Cụ thể, các mô đun lõi bao gồm: mô đun xử lý XML, mô đun thông tin, mô đun xử lý thông điệp SOAP, mô đun giao vận, mô đun triển khai, mô đun giao diện lập trình cho khách hàng. Ngoài ra, chương này giới thiệu một số mô đun không lõi trong Axis2. Đây là những mô đun mở do cộng đồng người dùng phát triển. Chương này giới thiệu một số ưu điểm nổi bật của Axis2 là sử dụng AXIOM và kỹ thuật PUSH để mã hóa dữ liệu XML, ưu điểm này cho phép Axis2 có thể xử lý các thông điệp SOAP có dung lượng lớn, giảm thiểu lưu trữ và xử lý thông điệp SOAP, khả năng tạo mới các Handler và đặc biệt là khả năng tạo mới và triển khai mô đun trên Axis2.

Chƣơng 4: XÂY DỰNG KHUNG ĐÀM PHÁN CHẤT LƢỢNG DỊCH VỤ CHO DỊCH VỤ WEB

Chương này trình bày việc xây dựng khung đàm phán chất lượng dịch vụ cho dịch vụ Web. Mục tiêu của khung đàm phán là xác định các thông số chất lượng dịch vụ mà các dịch vụ Web thành phần cần cung cấp. Khung đàm phán này sử dụng miền ứng dụng trong du lịch như là ngữ cảnh cụ thể để minh họa cách giải quyết bài toán. Các dịch vụ Web thành phần trong khung này có vai trò thực hiện các nghiệp vụ như đặt phòng khách sạn hay đặt tour du lịch, …. Ngoài ra, đặc điểm của các dịch vụ thành phần này cung cấp nhiều hàm chức năng có chức năng giống nhau và phân biệt nhau dựa vào chất lượng dịch vụ.

Một phần của tài liệu Xây dựng khung đàm phán chất lượng dịch vụ cho dịch vụ web (Trang 46)