« Home « Kết quả tìm kiếm

So sánh hiệu năng của các trình xử lý BPEL


Tóm tắt Xem thử

- So sánh hiệu năng của các trình xử lý BPEL.
- Những tác vụ này đóng vai trò quan trọng, ảnh hưởng đến hiệu năng hoạt động của các tiến trình nghiệp vụ.
- Tìm hiểu kiến trúc hoạt động chung của BPEL với 03 thành phần chính: Trình thiết kế BPEL, mẫu tiến trình theo chuẩn ngôn ngữ WS-BPEL 2.0 và trình xử lý BPEL.
- Có rất nhiều các trình xử lý BPEL hiện nay, tìm hiểu 03 trình xử lý tiêu biểu: Apache, và Oracle BPEL Manager.
- Nghiên cứu kiến trúc của các trình xử lý này sẽ giúp chúng ta có được cái nhìn tổng quan về kiến trúc cũng như hiểu được cách thức làm việc của các trình xử lý.
- Sử dụng phương pháp đo đạc định lượng trong đó triển khai các trình xử lý và sử dụng các công cụ để đo thời gian thực hiện của chúng.
- Lựa chọn các tác vụ cơ bản và quan trọng nhất của ngôn ngữ WS-BPEL: If-else, Flow, FlowDep (flow dùng link), While, Sequence, Invoke để đánh giá hiệu năng của các trình xử lý BPEL.
- Công cụ đo Apache Jmeter sẽ được sử dụng để thực hiện đo thời gian phản hồi khi gửi các yêu cầu đến trình xử lý.
- Trình xử lý Content.
- Tiến trình BPEL sau khi được xây dựng xong sẽ thực thi trên các trình xử lý BPEL (BPEL engines).
- Tốc độ thực hiện của các tiến trình hay các ứng dụng này phụ thuộc vào hiệu năng của các trình xử lý.
- Vì thế, việc lựa chọn một trình xử lý BPEL phù hợp với yêu cầu hoạt động của ứng dụng là một bài toán khó đối với các doanh nghiệp đòi hỏi phải có những so sánh và đánh giá chính xác hiệu năng của các trình xử lý BPEL..
- Tìm hiểu kiến trúc của các trình xử lý BPEL và một số trình xử lý BPEL tiêu biểu:.
- Đo đạc và đánh giá, so sánh hiệu năng của các trình xử lý BPEL khi phản hồi các yêu cầu người dùng..
- Bố cục luận văn được chia làm 3 chương chính theo trình tự nghiên cứu từ lý thuyết tổng quan kiến trúc hướng dịch vụ, đặc tả BPEL đến thực tiễn đo đạc trên các trình xử lý BPEL, cụ thể như sau:.
- Những tác vụ này đóng vai trò quan trọng, ảnh hưởng đến hiệu năng hoạt động của các tiến trình nghiệp vụ..
- Có rất nhiều các trình xử lý BPEL hiện nay, tuy nhiên chúng ta sẽ lựa chọn tìm hiểu 03 trình xử lý tiêu biểu: Apache, và Oracle BPEL Manager.
- Việc nghiên cứu kiến trúc của các trình xử lý này sẽ giúp chúng ta có được cái nhìn tổng quan về kiến trúc cũng như hiểu được cách thức làm việc của các trình xử lý..
- Trong phạm vi luận văn này, tác giả sẽ lựa chọn các tác vụ cơ bản và quan trọng nhất của ngôn ngữ WS-BPEL: If-else, Flow, FlowDep (flow dùng link), While, Sequence, Invoke để đánh giá hiệu năng của các trình xử lý BPEL.Công cụ đo Apache Jmeter sẽ được sử dụng để thực hiện đo thời gian phản hồi khi gửi các yêu cầu đến.
- trình xử lý.
- Ngôn ngữ BPEL sẽ định nghĩa tiến trình cũng như các tác vụ thực hiện trên tiến trình đó.
- Trong một sequence sẽ chứa nhiều tác vụ (được trình bày chi tiết bên dưới).
- Mỗi tác vụ có một nhiệm vụ cụ thể trong tiến trình BPEL.
- Trong BPEL 2.0 thì các Tác vụ được chia làm ba nhóm cơ bản như sau:.
- Tác vụ xử lý lỗi: các Tác vụ này được sử dụng để thụ lý lỗi và các ngoại lệ xảy ra trong quá trình hoạt động của một tiến trình.
- Các tác vụ cơ bản.
- Thông thường đây là tác vụ bắt đầu một tiến trình mới.
- TÌM HIỂU CÁC TRÌNH XỬ LÝ BPEL.
- 2.1 Khái niệm trình xử lý BPEL.
- Sau khi quy trình được tạo ra, nó sẽ được triển khai trên trình xử lý BPEL, là công cụ thực thi và cụ thể hóa quy trình đó.
- Trình xử lý BPEL được định nghĩa là:.
- “Trình xử lý BPEL là một trình xử lý luồng công việc mà thực thi các tiến trình được thiết kế trên ngôn ngữ BPEL”..
- “Trình xử lý BPEL là một thành phần phần mềm có khả năng biên dịch ngôn ngữ BPEL”..
- Theo định nghĩa trên, trình xử lý BPEL không hoạt động độc lập mà là một thành phần phần mềm trong kiến trúc của BPEL.
- Kiến trúc của BPEL bao gồm 03 thành phần chính là: trình thiết kế BPEL, mẫu tiến trình và trình xử lý BPEL..
- Mẫu tiến trình này được sinh ra bởi trình thiết kế BPEL và thực thi bởi trình xử lý BPEL..
- Trình xử lý BPEL: Nhiệm vụ của trình xử lý BPEL là thực thi bất cứ mẫu tiến trình logic nào theo chuẩn BPEL.
- Trong quá trình thực hiện, nó sẽ gọi các dịch vụ Web, ánh xạ dữ liệu với các thông điệp, xử lý lỗi, đảm bảo giao dịch toàn vẹn và tính bảo mật.
- Trình xử lý BPEL thường được tích hợp với các máy chủ ứng dụng (Application Server).
- Hiện nay có rất nhiều các sản phẩm trình xử lý BPEL mang tính thương mại hoặc mã nguồn mở, tuy nhiên không có một kiến trúc chung nào được sử dụng, cũng như không có một chuẩn thiết kế nào mà một trình xử lý BPEL tuân theo.Trong phần tiếp theo, chúng ta sẽ đi tìm hiểu kiến trúc của 3 trình xử lý BPEL tiêu biểu hiện nay: Apache ODE, ActiveVOS và Oracle BPEL Process Manager.
- Apache ODE là trình xử lý mã nguồn mở phổ biến nhất hiện nay, ActiveVOS là một trong những trình xử lý đầu tiên, Oracle BPEL Process Manager là sản phẩm dành cho các doanh nghiệp..
- 2.2 Kiến trúc một số trình xử lý BPEL tiêu biểu 2.3.1 Trình xử lý Apache ODE.
- 2.3.2 Trình xử lý ActiveVOS.
- Kiến trúc của trình xử lý BPEL bao gồm 04 thành phần: Trình xử lý trung tâm, mô đun triển khai, mô đun các dịch vụ, mô đun quản trị.
- Phần quan trọng nhất trong kiến trúc của ActiveVOS là bộ xử lý trung tâm ActiveVOS.
- Thành phần thứ 2 là các trình quản lý máy chủ bao gồm: quản lý cảnh báo, cấu hình cụm, triển khai, các tiến trình, hàng đợi, lưu trữ, nhiệm vụ và xử lý các sự kiện phức tạp.
- 2.3.3 Trình xử lý Oracle BPEL Process Manager.
- ĐO ĐẠC VÀ SO SÁNH HIỆU NĂNG CỦA MỘT SỐ TRÌNH XỬ LÝ BPEL.
- 3.1 Mô hình đo hiệu năng cho trình xử lý BPEL.
- Để đánh giá một hiệu năng của một hệ thống là tốt hay không, người ta thường sử dụng các phép đo hiệu năng, trong đó mô phỏng quá trình xử lý yêu cầu của hệ thống, thu thập các dữ liệu đo dựa trên một số tiêu chí và cuối cùng tiến hành phân tích, đánh giá các dữ liệu đo.
- Để mô phỏng quá trình xử lý yêu cầu, người ta sẽ giả lập các yêu cầu giống với môi trường thật và gửi tới hệ thống.
- Trong các hệ thống xử lý giao dịch trực tuyến (OLTP), “thời gian phản hồi” là tiêu chí quan trọng để đánh giá hiệu năng của hệ thống, còn “thông lượng” thường được sử dụng với các hệ thống xử lý giao dịch dài và lớn (ví dụ các hệ thống chạy batch job)..
- Để đo hiệu năng của một trình xử lý BPEL, chúng ta cũng sử dụng phương pháp trên để đo các tiêu chí dựa trên các yêu cầu gửi đến hệ thống.
- Tuy nhiên, bản thân trình xử lý BPEL không.
- Việc đón nhận yêu cầu và trả kết quả được thực hiện bởi ứng dụng Dịch vụ Web chạy trên trình xử lý BPEL, mặc dù trình xử lý này trực tiếp thực hiện các tác vụ của ứng dụng dịch vụ Web.
- Như vậy để đo hiệu năng của một trình xử lý BPEL, chúng ta sẽ thực hiện các phép đo tác động đến ứng dụng dịch vụ Web chạy trên trình xử lý đó..
- 3.2.1 Phạm vi của bài toán đo hiệu năng các trình xử lý BPEL.
- Các trình xử lý BPEL: gồm 03 trình xử lý Apache ODE, ActiveVOS và Oracle BPEL Process Manager.
- Về bản chất, các trình xử lý BPEL này không chạy độc lập mà nó liên kết với các mô đun SOA khác.
- Ngoài ra các trình xử lý BPEL này cũng chạy trên các thành phần khác như Web Server hay CSDL.
- Trong phạm vi luận văn này, ta sẽ cài đặt các trình xử lý theo mặc định của chúng, là một sản phẩm bao gồm các thành phần:.
- Web Server + CSDL + trình xử lý BPEL.
- Các dịch vụ Web: Mỗi Dịch vụ Web thể hiện một tác vụ của BPEL.
- Việc đo từng tác vụ sẽ cho ta cái nhìn độc lập và khách quan về hiệu năng của trình xử lý BPEL khi thực hiện từng tác vụ đó.
- 3.2.2 Cài đặt trình xử lý BPEL.
- Yêu cầu bài toán của chúng ta sẽ thực hiện đo trên 03 trình xử lý BPEL tiêu biểu hiện nay:.
- Mỗi trình xử lý BPEL là một phần mềm có kiến trúc riêng nhưng đều hỗ trợ chuẩn chung WS-BPEL 2.0..
- Chúng ta sẽ xây dựng các ứng dụng dịch vụ Web, mỗi ứng dụng sẽ thực hiện một trong các tác vụ tiêu biểu của ngôn ngữ WS-BPEL2.0 mà trình xử lý BPEL thực hiện: If-else, While, Flow, Sequence, Invoke.
- Bật các trình xử lý BPEL trên các “máy chủ”, đã deploy sẵn các ứng dụng Dịch vụ Web.
- Để cô lập môi trường, chúng ta sẽ chỉ bật một trình xử lý ở tại một thời điểm..
- Các ứng dụng Dịch vụ Web được triển khai trên các trình xử lý BPEL Apache ODE, ActiveVOS, Oracle BPEL Process Manager chạy trên máy tính có hệ điều hành phiên bản Window 7 Professional 32 bit có cấu hình: Intel Dual Core T9400 2.53 GHz, 3 GB RAM.
- Với mỗi ứng dụng trên một trình xử lý BPEL, chúng ta sẽ thực hiện đo đạc nhiều lần, ở nhiều mức độ người sử dụng đồng thời..
- 3.4 So sánh và đánh giá hiệu năng từ kết quả đo đạc 3.4.1 Đánh giá hiệu năng các trình xử lý.
- Như vậy có thể khẳng định trình xử lý Oracle BPEL có khả năng đáp ứng được cùng lúc 500 người dùng đồng thời..
- Nhìn chung, các tác vụ mà trình xử lý ActiveVOS thực hiện đều vượt qua tất cả các phép thử, chỉ có tác vụ Invoke có đến 59.74% trường hợp lỗi khi có 500 người dùng đồng thời, và tác vụ While có 38.17% tỉ lệ lỗi khi có 200 người dùng đồng thời kết nối.
- Như vậy, ta đánh giá trình xử lý OS cho phép tối nhất 500 người dùng kết nối gửi yêu cầu đồng thời, với tác vụ While và Invoke chỉ cho tối đa 200 người dùng.
- Tác vụ FlowDep cũng trả về kết quả chậm hơn so với tác vụ Flow, điều nay tương tự như kết quả với trình xử lý Oracle BPEL Process Manager.
- Các tác vụ trên trình xử lý Apache ODE không vượt qua được tất cả các phép thử, hầu như các tác vụ đều gặp lỗi ở mức 25 người dùng đồng thời kết nối.
- Như vậy có thể khẳng định trình xử lý Apache ODE chỉ có thể phục vụ tối đa không quá 25 người dùng đồng thời..
- Phân tích các mã lỗi trả về cho thấy các lỗi đều liên quan đến Database, khi trình xử lý Apache ODE không thể ghi vào Database do có deadlock, dẫn đến không trả về kết quả cho người dùng.
- Những giao dịch mà trình xử lý không thể ghi vào trong Database sẽ được rollback và được lập lịch thực thi trong tương lai.
- Khi khởi động lại trình xử lý, các yêu cầu này tiếp tục được xử lý lại, gây nghẽn cho các yêu cầu mới gửi đến.
- Chỉ khi xóa thông tin của các yêu cầu được gửi đến trong Database thì trình xử lý Apache ODE mới ngừng thực hiện chúng.
- 3.4.2 So sánh thời gian xử lý của các trình BPEL While.
- So sánh thời gian phản hồi trung bình của tác vụ Flow với số lượng người dùng đồng thời nhỏ (<=10) trên các trình xử lý BPEL có thể thấy thời gian trên các trình xử lý có sự khác nhau không đáng kế.
- Trình xử lý Oracle BPEL Process Manager có thời gian phản hồi ổn định nhất cho dù số lượng người dùng tăng khá lớn từ 1 đến 500 người dùng..
- Với số lượng user <200, thời gian trả về của các trình xử lý ActiveVOS và Oracle không có sự khác nhau nhiều.
- Với số lượng người dùng <10, cả 3 trình xử lý có thời gian trả vể không khác nhau nhiều..
- Điều đó chứng tỏ trình xử lý Oracle BPEL luôn giữ được sự ổn định ngay cả khi số lượng người dùng đồng thời đạt đến 500..
- Với số lượng người dùng <10, thời gian trả về của 3 trình xử lý là như nhau.
- So sánh tác vụ If và tác vụ Invoke: Với số lượng người dùng nhỏ và vừa (1-100) thì thời gian trả về giữa các trình xử lý không có sự khác biệt.
- Như vậy so với các tác vụ khác thì thời gian mà ActiveVOS xử lý tiệm cận với Oracle cao hơn (đến mức 100 users, trong khi các tác vụ khác mới chỉ 25 user đã có sự thay đổi).
- Kết luận: Qua các số liệu đo đạc và phân tích ở trên, chúng ta có thể thấy được sự khác biệt giữa hiệu năng của các trình xử lý BPEL.
- Đánh giá thời gian trả về, khi số lượng người dùng nhỏ (<25) thì thời gian không có sự khác biệt đáng kể, tuy nhiên, khi số lượng người dùng đồng thời ở tăng cao (>=200), thì chỉ có trình xử lý ActiveVOS và Oracle là trả về được kết quả, trong.
- Luận văn cũng đã mô tả tổng quan về các tác vụ của ngôn ngữ thực thi tiến trình nghiệp vụ WS-BPEL 2.0..
- Luận văn đã tìm hiểu kiến trúc chung của BPEL và đi sâu vào tìm hiểu kiến trúc của từng trình xử lý BPEL cụ thể Apache ODE, ActiveVOS, Oracle BPEL Process Manager.
- Trong phần thực nghiệm, luận văn đã đưa ra mô hình đo hiệu năng cũng như triển khai các trình xử lý.
- Các ứng dụng dịch vụ Web được tạo ra cho từng tác vụ, sau đó được triển khai trên từng trình xử lý.
- Việc phân tích, đánh giá dữ liệu đo đem lại những kết quả quan trọng như: Kết quả so sánh hiệu năng giữa các trình xử lý, Apache ODE có hiệu năng thấp nhất và phục vụ được ít người dùng nhất, ActiveVOS có hiệu năng trung bình, còn Oracle BPEL Process Manager có hiệu năng tốt và ổn định nhất cho dù số lượng người dùng có tăng lên 500.
- Luận văn cũng đưa cho người dùng những khuyến cáo cần thiết về những yếu tố kỹ thuật khác khi lựa chọn một trình xử lý BPEL.