Trong số các ngôn ngữ luồng hiện có, Business Process Execution Language (BPEL) đã nhận được sự chú ý và chấp nhận nhiều nhất để kết hợp các ứng dụng dựa trên các thành phần (component based applications). Lý do chính là BPEL cho phép kết hợp của hai ngôn ngữ luồng: XLANG (của hãng Microsoft) và Workflow (của hãng IBM) thông qua kết hợp các dịch vụ WEB hiện có thành các dịch vụ WEB hoặc ứng dụng phức tạp hơn. Nhiều công cụ hỗ trợ BPEL đã và đang được phát triển như các bộ soạn thảo, các engine thực thi (enactment engines), v,v. Do đó, nghiên cứu của luận án tập trung vào các khung có hỗ trợ BPEL.
Các khung có hỗ trợ BPEL
CGPCE
Trong CGPCE (Collaborative Grid Process Creation Environment – Môi trường tạo tiến trình lưới cộng tác) [94], [95], BPEL được sử dụng để biểu diễn và soạn thảo tiến trình ảo, cho phép nhiều người dùng phân tán có thể cộng tác với nhau để thiết kế và chạy các tiến trình. Một mở rộng lưới của BPEL, gọi là Grid-For-Each (GFE), được đề xuất và cài đặt nhằm tăng cường việc thực thi song song các hoạt động BPEL một tiến trình lưới.
Trong tài liệu [95], các chi tiết của mở rộng này (giải pháp và cài đặt) đã được trình bày. Lý do chính là do BPEL 1.1 không hỗ trợ các dịch vụ WEB có trạng thái, trong khi đó đa số các dịch vụ lưới là có trạng thái. Giải pháp để khắc phục hạn chế này là đưa vào một hoạt động mới trong BPEL gọi là gridInvoke.
Hệ thống GFE có một số hạn chế. Thứ nhất, việc cộng tác hoàn toàn dựa trên Eclipse Communication Framework (ECF), kiến trúc chỉ hỗ trợ các cộng tác đa năng (General
Purpose Collaboration). Do vậy, để hữu dụng với các ứng dụng cộng tác lưới, sẽ mất rất nhiều thời gian và công sức. Thứ hai, hệ thống không tuân theo tiếp cận hướng dịch vụ (SOA), và điều này sẽ làm hạn chế tính mềm dẻo trong việc phát triển các ứng dụng lưới.
Collaborative BPEL Design Tool with Rich Internet Application
Công cụ này [40] giải quyết được khá nhiều vấn đề khó khăn khi soạn thảo thiết kế cộng tác (collaborative design editor) như: khả năng WYSIWIS (What You See Is What I See), gia nhập muộn (late joining), cơ chế khóa (locking mechanisms) kiểm soát tính cố kết của nội dung thiết kế. Tuy nhiên, công cụ này chưa quan tâm đến các dịch vụ lưới, cũng như cơ chế để thực thi dịch vụ luôn ở mức thiết kế chi tiết.
Grid Service Composition in BPEL
Trong các nghiên cứu [71], [72], các tác giả đã đề cập vấn đề sử dụng BPEL kết hợp với các dịch vụ lưới: Giải pháp được áp dụng là kết hợp các dịch vụ lưới theo chuẩn WSRF trong các ứng dụng tin học y sinh. Hạn chế chủ yếu của hệ thống này là chỉ tập trung vào việc kết hợp các dịch vụ lưới, không quan tâm đến việc cộng tác của nhiều người dùng khi thực hiện công việc.
Khung hỗ trợ ngôn ngữ luồng khác
GridCole
GridCole [67] là một hệ thống E-learning cộng tác có hỗ trợ việc thực hiện các tình huống học theo kịch bản, trong đó mỗi tình huống đó bao gồm một dãy các hoạt động. Hơn nữa, với khả năng tùy chỉnh, người dùng cuối của hệ thống (những giảng viên và sinh viên) có thể tích hợp các công cụ bên ngoài vào trong tình huống học. Sử dụng cách tiếp cận dịch vụ lưới cho phép sự tích hợp các loại công cụ khác nhau, thậm chí là với các yêu cầu về siêu máy tính hay các phần cứng chuyên dụng. Trong hệ thống này, đặc tả IMS Learning Design (IMS-LD) được sử dụng để mô tả các tình huống học. Có hai loại công cụ bên ngoài trong GridCole là cá nhân và cộng tác, trong đó, các công cụ cộng tác sẽ được sử dụng để điều phối các hoạt động bên trong mỗi tình huống.
Mô tả của các tình huống học cộng tác là một bài học theo đặc tả IMS-LD. Hai loại bài học được sử dụng: hoàn chỉnh và không hoàn chỉnh. Các bài học hoàn chỉnh là các bài học chứa tất cả các thông tin cần thiết cho việc tích hợp các công cụ trong giai đoạn thực thi các tình huống học. Trái lại, các bài học không hoàn chỉnh không có những thông tin như vậy, chỉ có các mô tả chung về các công cụ cần có. Do đó, các bài học không hoàn chỉnh chưa thể được thực thi chừng nào chúng còn chưa được chuyển đối sang bài học hoàn chỉnh.
Hạn chế chủ yếu của hệ thống là không có sự hỗ trợ kế hoạch. Các bài học không hoàn chỉnh có thể đóng vai trò của các kế hoạch, nhưng vẫn không phải là các kế hoạch độc lập.