Trong thời gian gần đây, BPEL đang trở thành một ngôn ngữ được chấp nhận một cách rộng rãi để cấu thành các tiến trình nghiệp vụ mới từ các Web service. Các tiến trình BPEL, bản thân cũng là các Web service, có thể được sử dụng để cấu thành các tiến trình nghiệp vụ mới. Ưu điểm của tiến trình BPEL so với các Web service thông thường, đó là một tiến trình BPEL cho phép sự phối hợp giữa các Web service bên trong và bên ngoài theo các yêu cầu nghiệp vụ. Tuy nhiên, các tiến trình BPEL không thể khai thác và chạy bởi các Web service server như Apache Tomcat và Axis. Chúng cần có các BPEL engine đặc thù mà thường được xây dựng dựa trên các Web service server. Cho đến nay, đang tồn tại một số BPEL engine như Active EndPoint ActiveBPEL, Java Business Integration của Sun và Orchestration Director Engine (ODE) của Apache. Trong số engine trên, ODE đang nổi lên như một engine mạnh, dễ sử dụng và là mã nguồn mở. Hơn nữa, engine này cũng có thể dễ dàng được tích hợp trong các môi trường BPEL khác. Ví dụ như Eclipse BPEL Designer đã tích hợp ODE làm BPEL engine của mình.
Để khai thác một tiến trình BPEL trong ODE, một loạt các bước cần được tiến hành. Đầu tiên, các Partner Link phải được tạo ra từ các tệp WSDL và từ bản thân tiến trình
36
BPEL. Ngoại trừ một Parner Link mà đại diện cho các thực thể sẽ sử dụng tiến trình BPEL, các Parner Link khác đại diện cho các Web service bên ngoài mà sẽ được gọi (invoke) trong tiến trình BPEL. Sau đó, một tệp khai thác đặc thù (có tên là deploy.xml) phải được tạo ra tuân theo đặc tả cấu trúc của ODE. Cuối cùng, tất cả các tệp cần thiết liên quan đến tiến trình BPEL sẽ được copy vào một thư mục đặc thù và rồi chúng sẽ được kiểm tra lỗi và biên dịch. Nếu có lỗi được phát hiện (đây là tình huống thường xảy ra), log tệp của Web server đang hosting ODE phải được kiểm tra một cách thủ công để tìm thông báo lỗi và từ đó tìm nguyên nhân lỗi. Dù việc biên dịch có thành công, thì lỗi chạy (runtime error) vẫn có thể tồn tại, quá trình kiểm tra và đoán lỗi sẽ phải lặp đi lặp lại cho đến khi tìm ra.
Từ mô tả trên, có thể thấy quá trình tiền khai thác khá phức tạp, mất thời gian và dễ gây lỗi. Thậm chí với một người đã quen thuộc với việc khai thác các Web service, vẫn còn có những bước làm thủ công phức tạp không cần thiết. Ngoài ra, nó cũng đòi hỏi sự hiểu biết về BPEL, kiến thức sâu về cấu trúc và cú pháp của WSDL và cấu trúc đặc thù của tệp
deploy.xml của ODE. Việc tạo ra các Partner Link trong các tệp WSDL khác nhau và tệp
deploy.xml cũng là một quá trình tẻ nhạt, mất thời gian và rất dễ gây ra lỗi. Công việc tẻ nhạt và tốn thời gian nhất là quá trình tìm lỗi trong tệp log, mà nó thường rất dài và không có cấu trúc, vì nó chứa tất cả các loại thông báo từ Web server chứ không chỉ các thông báo liên quan đến quá trình khai thác tiến trình BPEL. Điều này cho thấy sự cần thiết phải có một công cụ để tự động hóa quá trình khai thác.
Ở đây luận án sẽ giới thiệu một công cụ hỗ trợ quá trình khai thác tiến trình BPEL trong ODE. Công cụ này sẽ giải quyết được các vấn đề nêu ở trên bằng việc cung cấp các tính năng sau:
- Tự động kiểm tra tính hợp lệ của tệp tiến trình BPEL và các tệp WSDL liên quan. Nếu tất cả các tệp này đều hợp lệ thì tệp deploy.xml cần thiết sẽ được tạo ra. - Tự động thu thập các tệp cần thiết vào trong thư mục khai thác của ODE, và khởi
tạo quá trình biên dịch.
- Lọc và trả về chỉ các thông báo liên quan, hữu ích về các lỗi tiềm năng gắn với quá trình chuẩn bị và biên dịch.
- Đề xuất các giải pháp và các lý do có thể gây ra lỗi. - Hỗ trợ việc tích hợp với trình soạn thảo BPEL.