OGSA và Stateful service

Một phần của tài liệu BÁO CÁO SEMINAR MÔN HỌC TÍNH TOÁN LƯỚI Tìm hiểu về Applications of SOA and Web Services in (Trang 28 - 33)

Tuy nhiên, kiến trúc dịch vụ gird được coi là phù hợp nhất, nhưng vẫn chưa thỏa mãn được yêu cầu quan trọng của OGSA: middleware phải là stateful. Dịch vụ web theo lí thuyết có thể là stateful hoặc stateless, nhưng thường vẫn là stateless, và không có cách thức chuẩn nào để làm cho nó thành stateful. Do đó, dẫn tới sự ra đời WSRF, mà chi tiết sẽ được đề cập ở phần sau.

5.4 OGSA hiện thực trong GT3

Phiên bản Globus ToolKit 3.0 (GT3) ngoài việc kế thừa các chức năng quan trọng để xây dựng các giải pháp cho các ứng dụng gird, GT3 dựa trên cơ sở hạ tầng mới tuân theo chuẩn OGSA và hiện thực các chức năng lỏi được định nghĩa trong OGSI.

Trần Anh Điền-Lương Ngọc Nhơn-Bùi Thị Thu Giang Page 29

Hình 1.9: Cấu trúc của Globus ToolKit 3

GT3 bao gồm các thành phần sau:

 Hiện thực toàn bộ portType đặc tả trong OGSI.

 Cơ chế bảo mật: dựa trên GSI, cung cấp các service: mã hóa, authentication, and authorization.

 Các service mức hệ thống: Amin, Logging và Monitoring.

 Các service nền (Base services).

 User-defined services

 Grid Service Container.

 Hosting environment

a. Mô hình lập trình GT3

Về cơ bản, mô hình lập trình của phần lỏi GT3 tương tự như mô hình lập trình dịch vụ web. Sử dụng các stub phía client và các skeleton (trong GT3, gọi là

Trần Anh Điền-Lương Ngọc Nhơn-Bùi Thị Thu Giang Page 30

stub) phía server. Các stub này có độ kết dính thấp. Tuy nhiên, mô hình lập trình GT3 còn có thêm một số đặc tính sau:

 GT3 sử dụng GWSDL để định nghĩa các giao tiếp dịch vụ. GWSDL thực chất là WSDL bổ sung thêm các dạng đặc tả trong OGSI, các thông điệp, các portType và các namespace phù hợp trong OGSI.

 Web Services Deployment Descriptor (WSDD) chứa các thông tin liên quan đến việc triển khai các dịhc vụ lưới, như: tên của dịch vụ, tên của các thể hiện dịch vụ và các lớp cơ sở của thể hiện dịch vụ.

 Dịch vụ lưới có thể là các dịch vụ mang tính tạm thời. Chúng có thể được khởi tạo động và bị huỷ một cách tường minh.

 Dịch vụ lưới mang tính trạng thái (Stateful) và được kết hợp với dữ liệu dịch vụ.

 Dịch vụ lưới có tính phản hồi thông báo cho các client khi có nhu cầu.

Trần Anh Điền-Lương Ngọc Nhơn-Bùi Thị Thu Giang Page 31

Như vậy, một ứng dụng lưới được hiện thực trong GT3 với công cụ Apache Axis bao gồm các bước sau:

 Viết đặc tả giao diện (interface) dịch vụ lưới. Có thể sử dụng Java, WSDL hoặc GWSDL.

 Viết một dịch vụ để hiện thực giao diện dịch vụ lưới trên.

 Viết file WSDD để triển khai (deploy) một Grid Service factory.

 Sử dụng trình dịch của GT3 để biên dịch file đặc tả giao diện và file hiện thực để đóng gói thành GAR file.

 Sử dụng Apache Ant để triển khai GAR file vào bộ chứa dịch vụ lưới (Grid Service Container) cho phép sử dụng dịch vụ (pushlish the service).

 Viết file đặc tả yêu cầu dịch vụ phía client. Mục đích để kích hoạt thao tác tạo một thể hiện dịch vụ. Client sẽ nhận được một GSH của factory, sau đó, sẽ nhận GSR. Cuối cùng client sử dụng GSR của thể hiện để truy xuất thể hiện dịch vụ đó.

 Kích hoạt bộ chứa dịch vụ lưới.

 Kích hoạt ứng dụng phía client để yêu cầu dịch vụ vừa xây dựng.

Như vậy, có thể tóm tắt việc xây dựng một ứng dụng dịch vụ lưới cơ bản trên GT3, người xây dựng phải tiến hành theoo trình tự 8 bước trên. Kết quả tạo ra các thành phần cơ bản phía service và phía client như giới thiệu ở hình 1.11 và hình 1.12.

Trần Anh Điền-Lương Ngọc Nhơn-Bùi Thị Thu Giang Page 32

Hình 1.11: Các thành phần cơ bản phía Service trong GT3

Trần Anh Điền-Lương Ngọc Nhơn-Bùi Thị Thu Giang Page 33

Một phần của tài liệu BÁO CÁO SEMINAR MÔN HỌC TÍNH TOÁN LƯỚI Tìm hiểu về Applications of SOA and Web Services in (Trang 28 - 33)