1. Bước 1: Người dùng đăng nhập (login) vào hệ thống. Ngoài tài khoản để đăng nhập như các hệ thống thông thường, đối với hệ thống lưới, người dùng phải có trước các bản chứng thực (certificate) hợp lệ, được cấp bởi một trong các tổ chức chứng thực có đủ tin cậy (Authorization Organization). Sau khi đăng nhập, người dùng có thể đăng ký vào trong các tổ chức ảo để bắt đầu các phiên làm việc. 2. Bước 2: Người dùng sử dụng các công cụ soạn thảo kế hoạch (ở đây là các
BPMN editor) để cập nhật các bản kế hoạch về một công việc nào đó. Việc soạn thảo này có thể được thực hiện phối hợp với nhau – nhóm người dùng vừa cùng trao đổi và cùng cập nhật bản kế hoạch để đưa ra được bản thảo tốt nhất tại thời điểm đó. Sau đó, nó vẫn có thể được điều chỉnh cho phù hợp hơn với tình hình mới.
3. Bước 3: Bản kế hoạch đã được thống nhất ở trên sẽ được dịch sang một bản thảo ở dạng mới (là BPEL trong hệ thống này) để phù hợp hơn với việc thực thi và giám sát việc thi hành này trên môi trường lưới.
4. Bước 4: Để chuẩn bị cho việc thực thi bản kế hoạch đã được dịch, cần phải tìm và định vị các tài nguyên (phần cứng, phần mềm) cần thiết.
5. Bước 5: Người sử dụng sẽ cho thực thi và trong quá trình đó giám sát các kết quả thực hiện, so sánh với kế hoạch đã đề ra ban đầu, từ đó có thể phát hiện kịp thời các vấn đề nảy sinh và có những điều chỉnh cần thiết.
104
4.2.3 Kết luận phần thiết kế
Trong phần thiết kế cho khung cộng tác, luận án đã đưa ra thiết kế ở cả hai mức sơ bộ và chi tiết. Khung cho phép tạo mới hoặc cập nhật các kế hoạch có tính cộng tác, các mục tiêu có thể được chia sẻ và cùng được tối ưu, và các hành động sẽ được phân bổ và được thực thi một cách tối ưu bởi các thành viên tham gia. Mục tiêu nhằm cung cấp một khung lưới đa dụng hỗ trợ cho những công việc cộng tác trong nhiều lĩnh vực ứng dụng khác nhau.
Luận án đã cài đặt môi trường lưới sử dụng Globus Tookit 4 [36] cho tầng điều phối tài nguyên của khung. Các cài đặt khác cho khung cộng tác sẽ được trình bày chi tiết hơn trong phần sau.
4.3 Cài đặt khung
Phần này sẽ trình bày các kết quả cài đặt bước đầu cho khung lưới cộng tác đa dụng, gồm các cài đặt chính như sau:
- Giải pháp gọi Dịch vụ lưới từ tiến trình BPEL. Tuy nhiên, giải pháp còn hạn chế là mới chỉ gọi được các dịch vụ lưới không an toàn, chứ chưa gọi được các dịch vụ lưới an toàn. Hạn chế này được khắc phục trong một giải pháp được nói đến ngay sau đây. Kết quả này đã được công bố trong [13][9].
- Giải pháp mở rộng mô hình điều khiển truy nhập cho các hệ thống luồng công việc trong môi trường lưới. Giải pháp nhằm hoàn thiện hơn giải pháp gọi dịch vụ lưới ở trên với việc cho phép gọi các dịch vụ lưới an toàn.
- Giải pháp tự động hóa khai thác tiến trình BPEL, với kết quả đã được công bố trong [11].
4.3.1 Giải pháp gọi dịch vụ lưới từ tiến trình BPEL
4.3.1.1 Khảo sát vấn đề
Hiện nay, engine ODE chỉ có thể gọi các dịch vụ Web, không thể gọi các dịch vụ lưới. Trong [13], luận án đã tiến hành khảo sát để làm rõ nguyên nhân của vấn đề trên. Trên cơ sở đó, đề xuất một giải pháp cho việc gọi dịch vụ lưới từ tiến trình BPEL trong engine ODE. Đầu tiên, phát triển một chương trình kiểm thử (test) nhằm xác định engine ODE gọi dịch vụ Web như thế nào và từ đó xác định chính xác vấn đề khi ODE gọi một dịch vụ lưới bên ngoài từ một tiến trình BPEL. Chương trình kiểm thử gồm có ba phần:
- Một dịch vụ lưới gọi là MathService đã được điều chỉnh từ một ví dụ trong [87] (ví dụ này chỉ chạy được với Globus Toolkit (GT) 4.0. Luận án đã có những thay đổi cần thiết để nó có thể chạy được với GT 4.2). Dịch vụ lưới này đã theo mẫu factory/instance [87]. Theo mẫu này, mỗi dịch vụ lưới sẽ có một dịch vụ factory, gọi là MathFactoryService, là một dịch vụ Web bình thường có vai trò là tạo ra các thể hiện của dịch vụ lưới. Bên cạnh việc tạo ra các thể hiện mới, thao tác này (gọi là createResource) cũng trả về các ResourceKeys (Khóa Tài Nguyên) cho các thể hiện. Công cụ Globus Toolkit 4.2 đã được sử dụng để khai thác dịch vụ lưới trong container dịch vụ Web.
105
- Một tiến trình BPEL được gọi là Test-FactoryGS-V2. Sơ đồ của tiến trình này được minh họa trong Hình 4-3. Chi tiết của tiến trình sẽ được giải thích ở phần sau. - ODE engine được khai thác trong Apache Tomcat 6.
Ngoài ra, công cụ SoapUI [85] cũng được sử dụng để chạy và kiểm tra tiến trình BPEL. Để xác định rõ vấn đề, tiến trình BPEL được thiết kế để kiểm tra ba hoạt động (activities):
- Hoạt động đầu tiên là gọi dịch vụ lưới để lấy ResourceKey của nó.
- Hoạt động thứ hai là gán giá trị ResourceKey này cho một PartnerLink, cho phép
PartnerLink này mang theo ResourceKey.
- Hoạt động thứ ba là sử dụng PartnerLink để gọi thao tác khác của dịch vụ lưới.