Thư viện tri thức trực tuyến
Kho tài liệu với 50,000+ tài liệu học thuật
© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

CÔNG NGHỆ GRID COMPUTING VÀ ỨNG DỤNG THỬ NGHIỆM TRONG BÀI TOÁN QUẢN TRỊ MẠNG - 10 ppt
Nội dung xem thử
Mô tả chi tiết
Phụ lục
- 193 -
<xsd:sequence>
<xsd:element name="value" type="xsd:int"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="addResponse">
<xsd:complexType/>
</xsd:element>
</xsd:schema>
</types>
<!-- Messages -->
<!-- PortType -->
</definitions>
Ở đây định nghĩa các kiểu của các thành phần add và addResponse.
Trên đây vừa trình bày sơ nét về cấu trúc cơ bản của file GWSDL, có thể thêm
các kiểu mới, mở rộng bằng cách tham khảo các không gian tên đã được định nghĩa
sẵn.
C. Kỹ thuật cài đặt các chức năng cơ bản của Grid
Service
C.1. Kỹ thuật cài đặt Operation Provider
Như đã giới thiệu, GT3 hỗ trợ 2 cách cài đặt interface trong ngôn ngữ lập trình,
cách thứ nhất là kỹ thuật sử dụng tính kế thừa, ở đây lớp MathImpl kế thừa từ lớp
GridServiceImpl, do GridServiceImpl có tất cả các chức năng cơ bản nên MathImpl
chỉ cần cài đặt tất cả các phương thức của Math portType là đủ. Như trên hình 0-1,
lớp MathImpl chứa tất cả các hàm cài đặt cho các phương thức của portType (Lưu
ý, ở đây có nhiều hàm hơn). Tuy nhiên, cài đặt tất cả các phương thức của portType
chỉ trong một lớp có thể gây ra nhiều bất tiện đặc biệt là đối với các portType lớn,
có nhiều phương thức. Và kỹ thuật này, đối với Java, lớp MathImpl không thể kế
thừa từ một lớp nào nữa, điều này hạn chế việc tái sử dụng mã.
Phụ lục
- 194 -
Hình 8-1 Lớp triển khai interface của Grid service bằng kỹ thuật kế thừa.
GT3 đưa một hướng tiếp cận mới để giải quyết khuyết điểm của kỹ thuật sử
dụng tính kế thừa, đó là kỹ thuật uỷ quyền. Hướng tiếp cận này cho phép phân tán
các nhóm phương thức vào các lớp khác nhau, các lớp này được gọi là Operation
Provider. Như trên hình 0-2, có thể chia lớp MathImpl thành 3 lớp, ứng với từng
nhóm phương thức.
Hình 8-2 Cài đặt intrface củaGrid service bằng kỹ thuật Operation Provider
Lưu ý là 3 lớp này không thừa kế từ lớp nào hết, chúng chỉ cài đặt một interface
tên là Operation Provider. Lúc này các chức năng của lớp GridServiceImpl không
được kế thừa từ đây mà được yêu cầu Grid service container cung cấp thông qua
bản đặc tả triển khai. Khi tiến hành cài đặt theo cách tiếp cận này, có một số thay
đổi nhỏ so với kỹ thuật sử dụng tính kế thừa, như trình bày dưới đây.
Lớp cung cấp hoạt động (Operation Provider) ở đây gọi là MathProvider cũng
giống như các lớp của MathImpl trước đây, chỉ khác là ở đây cài đặt thêm interface
OperationProvider, file :
$GRIDSER_DEMO/org/globus/progtutorial/services/core/providers/impl
/MathProvider.java