Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 25 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
25
Dung lượng
445,42 KB
Nội dung
1 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TRẦN QUỐC VIỆT SO SÁNH HIỆU NĂNG CỦA CÁC TRÌNH XỬ LÝ BPEL Chun ngành: Cơng nghê ̣ phầ n mề m Mã số: 60 48 10 TÓM TẮT LUẬN VĂN THẠC SĨ Hà Nội - 2012 MỤC LỤC LỜI MỞ ĐẦU Chương 1: TỔNG QUAN VỀ SOA VÀ NGÔN NGỮ BPEL 1.1 Tổng quan SOA 1.2 Phối hợp dịch vụ SOA 1.3 Ngôn ngữ WS-BPEL 2.0 1.3.1 Giới thiê ̣u 1.3.2 Nguyên tắ t hoa ̣t đô ̣ng của mô ̣t tiế n trình BPEL 1.3.3 Cấ u trúc của mô ̣t tiế n trình BPEL 1.3.4 Các thành phần và ký hiệu BPEL 1.3.5 Quản lý các ngoại lệ và các variable Error! Bookmark not defined 1.3.6 Xử lý lỗi (Fault Handling) Error! Bookmark not defined Chương 2: TÌM HIỂU CÁC TRÌNH XỬ LÝ BPEL .10 2.1 Khái niệm trình xử lý BPEL 10 2.2 Các trình xử lý BPEL tiêu biểu nay: Apache ODE, ActiveVOS, Oracle BPEL Process Manager .11 2.3.1 Trình xử lý Apache ODE 11 2.3.2 Trình xử lý ActiveVOS 12 2.3.3 Trình xử lý Oracle BPEL Process Manager 12 Chương 3: ĐO ĐẠC VÀ ĐÁNH GIÁ HIỆU NĂNG CỦA MỘT SỐ TRÌNH XỬ LÝ BPEL: APACHE ODE, ACTIVEVOS VÀ ORACLE BPEL PROCESS MANAGER .13 3.1 Mơ hình đo hiệu cho trình xử lý BPEL .13 3.2 Xây dựng hệ thống đo đạc 14 3.2.1 Phạm vi toán đo hiệu các trình xử lý BPEL 14 3.2.2 Cài đặt trình xử lý BPEL 14 3.2.3 Xây dựng ứng dụng dịch vụ Web 15 3.3 Thực đo .15 3.4 So sánh và đánh giá hiệu từ kết quả đo đạc .17 3.4.1 Đánh giá hiệu các trình xử lý 17 3.4.2 So sánh thời gian xử lý trình BPEL 19 LỜI MỞ ĐẦU Mục tiêu nghiên cứu đề tài Ngày nay, ứng dụng công nghệ thơng tin doanh nghiệp có nghiệp vụ ngày phức tạp, thường xuyên đòi hỏi ứng dụng đáp ứng thay đổi nghiệp vụ giới cạnh tranh Với số lượng ứng dụng phát triển ngày nhiều đòi hỏi phải có cơng nghệ tảng hệ tầng đồng để kết hợp hệ thống cũ và Kiến trúc hướng dịch vụ (SOA) đời nhằm giải bài toán thơng qua việc phối hợp dịch vụ đơn lẻ hệ thống có sẵn thành quy trình thống mà khơng phải sửa đổi ứng dụng cũ SOA sử dụng ngôn ngữ BPEL để xây dựng thực thi tiến trình nghiệp vụ Phiên bản BPEL WS-BPEL 2.0, ngơn ngữ để mơ hình hóa tiến trình nghiệp vụ cho ứng dụng theo kiến trúc hướng dịch vụ Các tiến trình xây dựng ngơn ngữ BPEL ngồi phép tốn cấu trúc thơng thường có lời gọi đến dịch vụ bên ngoài để thực thi chức Kiến trúc SOA sử dụng chuẩn giao tiếp WSDL để kết nối với ứng dụng khác, hệ thống hệ thống cũ không cần sửa đổi nhiều để kết nối với ứng dụng Tiến trình BPEL sau xây dựng xong thực thi trình xử lý BPEL (BPEL engines) Tốc độ thực tiến trình hay ứng dụng phụ thuộc vào hiệu trình xử lý Vì thế, việc lựa chọn trình xử lý BPEL phù hợp với yêu cầu hoạt động ứng dụng toán khó doanh nghiệp đòi hỏi phải có so sánh đánh giá xác hiệu trình xử lý BPEL 4 Một số kết đạt Với đề tài nghiên cứu đã đạt số kết quả định sau Nghiên cứu tổng quát kiến trúc hướng dịch vụ (SOA) phối hợp dịch vụ SOA Tìm hiểu đặc tả ngơn ngữ thực thi tiến trình nghiệp vụ WSBPEL 2.0 Tìm hiểu kiến trúc trình xử lý BPEL số trình xử lý BPEL tiêu biểu: Apache ODE, ActiveVOS Oracle BPEL Process Manager Đo đạc và đánh giá, so sánh hiệu trình xử lý BPEL phản hồi yêu cầu người dùng Bố cục luận văn Bố cục luận văn chia làm chương 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ình xử lý BPEL, cụ thể sau: Chương 1.Nghiên cứu lý thuyết kiến trúc SOA, nhấn mạnh mơ hình xây dựng ứng dụng nghiệp vụ từ dịch vụ đơn lẻ ứng dụng tảng công nghệ khác sử dụng ngôn ngữ WSBPEL 2.0 Ngơn ngữ BPEL WS-BPEL 2.0 ngồi tác vụ cấu trúc thơng thường có khẳ gọi dịch vụ bên ngồi thơng qua dịch vụ Web(Web Service) Những tác vụ này đóng vai trò quan trọng, ảnh hưởng đến hiệu hoạt động tiến trình nghiệp vụ Chương Tìm hiểu kiến trúc hoạt động chung 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 trình xử lý BPEL Có nhiều trình xử lý BPEL nay, nhiên lựa chọn tìm hiểu 03 trình xử lý tiêu biểu: Apache, Oracle BPEL Manager Việc nghiên cứu kiến trúc trình xử lý giúp có nhìn tổng quan kiến trúc hiểu cách thức làm việc trình xử lý Chương Sử dụng phương pháp đo đạc định lượng triển khai trình xử lý sử dụng cơng cụ để đo thời gian thực chúng Trong phạm vi luận văn này, tác giả lựa chọn tác vụ bản quan trọng ngôn ngữ WS-BPEL: If-else, Flow, FlowDep (flow dùng link), While, Sequence, Invoke để đánh giá hiệu trình xử lý BPEL.Công cụ đo Apache Jmeter sử dụng để thực đo thời gian phản hồi gửi yêu cầu đến trình xử lý Số lượng yêu cầu tăng dần, tương ứng với số lượng người dùng tăng lên từ 1,2… 500 Kết quả đo đạc lưu lại để phân tích, so sánh và đánh giá Kết luận Kết luận và đánh giá điểm làm và chưa làm luận văn và nêu hướng phát triển đề tài lần nghiên cứu Chương 1: TỔNG QUAN VỀ SOA VÀ NGÔN NGỮ BPEL 1.1 Tổng quan SOA SOA - Service Oriented Architecture (Kiến trúc Định hướng Dịch vụ), theo định nghĩa DotNetGuru, 'Khái niệm hệ thống ứng dụng xem nguồn cung cấp dịch vụ'.Nói cách đơn giản kiến trúc hướng dịch vụ (SOA) hướng tiếp cận với việc thiết kế tích hợp phần mềm, chức năng, hệ thống theo dạng module có khả truy cập thơng qua môi trường mạng Hệ thống SOA tập hợp dịch vụ chuẩn hóa mạng trao đổi với ngữ cảnh tiến trình nghiệp vụ Phối hợp dịch vụ SOA Ngày nay, với phát triển ứng dụng nghiệp vụ đòi hỏi ứng dụng Cơng nghệ thơng tin phải có hạ tầng mềm dẻo linh hoạt để nhanh chóng thay đổi và đáp ứng Tuy nhiên, ứng dụng CNTT truyền thống thường thiết kế theo hướng chức và thường phục vụ nghiệp vụ định, khó có khả thay đổi nghiệp vụ cần Kết quả nhiều tổ chức tiếp tục sử dụng lại hệ thống cũ khơng thể tích hợp với thiết kế hệ thống Một bài toán đặt sử dụng lại chức hệ thống cũ để tạo hệ thống mới, nhằm tiết kiệm chi phí đầu tư CNTT môi trường cạnh tranh Kiến trúc SOA đời nhằm giải bài toán đó, người ta dùng thuật ngữ “Orchestration” – tạm dịch phối hợp dịch vụ Kiến trúc SOA cho phép phối hợp dịch vụ rời rạc thành ứng dụng nghiệp vụ thống mà không làm thay đổi kiến trúc ứng dụng Để làm điều này, kiến trúc SOA sử dụng ngôn ngữ mô thực thi tiến trình nghiệp vụ có tên BPEL Ngơn ngữ BPEL định nghĩa tiến trình các tác vụ thực tiến trình Với dịch vụ bên ngoài, kiến trúc SOA hỗ trợ giao tiếp qua chuẩn WSDL Chuẩn giao tiếp phù hợp với ứng dụng SOA tại mà có khả tương thích với hệ thống cũ mà không cần sửa đổi hệ thống Để hiểu rõ ngơn ngữ BPEL, tìm hiểu thành phần phần 1.2 Ngơn ngữ WS-BPEL 2.0 1.3.1 Giới thiêụ BPEL (Business Process Execution Language ) là ngôn ngữ dùng để hổ trợ phát triể n các ứng du ̣ng phức ta ̣p , lớn đòi hỏi phải tổ ng hơ ̣p nhiề u dich ̣ vu ̣ web khác BPEL cho phép ba ̣n mô tả và xử lý luồ ng công viê ̣c bằ ng cách sử du ̣ng trình soa ̣n thảo đồ ho ̣a thân thiê ̣n với người Ngoài BPEL đinh ̣ nghiã các cách qu ản lý kiện ngoại lệ, chế bảo tồn liệu có ngoại lệ xảy BPEL hoa ̣t đô ̣ng dựa nguyên tắ c g ửi các thông điệp dạng XML đến dịch vụ khác, thao tác cấu trúc XML, nhận thông điệp XML (đồng hay không đồng bộ) từ service bên ngồi Nó phụ thuộc vào bốn chuẩn XML bản xem là các đặt tả để thực thi mô ̣t tiế n trình BPEL : WSDL, XML Schema 2.0, XPath 2.0 WS-Addressing 1.3.2 Nguyên tắ t hoa ̣t đô ̣ng của mô ̣t tiế n trin ̀ h B PEL Trong số các đă ̣c tả : WSDL, XML Schema 2.0,XPath 2.0 WS Addressing thì WSDL đóng vai trò cố t lõi mô ̣t tiế n triǹ h BPEL Cố t lõi của BPEL là khái niê ̣m peer -to-peer là sự tương tác các dịch vụ web mô t ả WSDL Mô ̣t tiế n trình BPEL đă ̣t tả làm thế nào để phố i hơ ̣p giữa các dich ̣ vu ̣ khác và kế t hơ ̣p các dich ̣ vu ̣ đó la ̣i thành mô ̣t tiế n trin ̀ h hoàn chin̉ h Điề u này có nghĩa tiến trình BPEL định nghĩa hoặ c cung cấ p từ mô ̣t hoă ̣c nhiề u đă ̣t tả WSDL khác , và cung cấp đặt tả riêng quá trình tở ng hơ ̣p các dich ̣ vu ̣ này 1.3.3 Cấ u trúc của mô ̣t tiế n trin ̀ h BPEL Mô ̣t tiế n trình BPEL là mô ̣t mô tả dưới da ̣ng tài liê ̣u XML Quy trình mơ tả BPEL giao tiếp với trang web dịch vụ trao đổi tài liệu XML(SOAP) Các khái niệm tiến trình BPEL bao gồm: Process: Mọi file BPEL bắt đầu với thẻ Các mô tả cho tiế n trình cũng c ác namespace liên quan định nghĩa thẻ này Imports: Chứa thông tin các tâ ̣p tin WSDL đươ ̣c import vào PartnerLinks: Chứa tập hợp các partnerLink sử dụng tiến trình Mỗi partnerLink thiết lập quan hệ bản thân process với service bên Variables: Phần này định nghĩa các biến dùng tiến trình Mỗi biến phải tham chiếu đến kiểu thông điệp (messageType) mô tả tập tin WSDL Sequence: Đây là phần mơ tả logic tiến trình Trong sequence 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ó nhiệm vụ cụ thể tiến trình BPEL Bản thân sequence là tác vụ, chứa cấu trúc song song khác 1.3.4 Các thành phần ký hiệ u BPEL Một tiến trình BPEL thể qua Tác vụ, Tác vụ BPEL thực theo cấu trúc khai báo tiến trình Trong BPEL 2.0 Tác vụ chia làm ba nhóm bản sau: Tác vụ bản: tác vụ đơn thể, khơng thể chứa tác vụ khác bên 9 Tác vụ cấu trúc: Tác vụ có cấu trúc, chứa Tác vụ khác bên Tác vụ xử lý lỗi: Tác vụ này sử dụng để thụ lý lỗi ngoại lệ xảy trình hoạt động tiến trình Tùy theo nhu cầu và các trường hợp cụ thể mà ta chọn sử dụng Tác vụ khác Bảng sau mô tả chi tiết số tác vụ BPEL 2.0: Bảng 1.1 Một số tác vụ BPEL 2.0 Tên Các trường hợp sử dụng Các tác vụ Empty Là tác vụ đặc biệt, khơng làm hết gọi Tác vụ này dùng cần có tác vụ khơng thật cần hành động xảy Invoke Gọi webservice để thự c hiê ̣n mô ̣t tác vu ̣ nào đó Receive Reply Assign Validate Nhận thông điệp từ service partner Thông thường là tác vụ bắt đầu tiến trình Gửi trả thơng điệp cho mô ̣t đố i tươ ̣ng bên ngoài tiế n trình Dùng để khởi tạo ho ặc gán giá trị cho các biến tiến trình BPEL Kiểm tra tính hợp lệ biến và các biể u thức d ựa định nghĩa (chẳng hạn định nghĩa dựa XML Schema, hay WSDL…) Các tác vụ điều khiể n và có cấ u trúc If/Else Pick Định nghĩa cấu trúc điều kiện Đinh nghĩa cách lựa chọn phương án hành động (hành động thực kiện tương ứng mà quy định 10 While Repeat …Until Foreach Wait Sequence Scope xảy ra, khơng có kiện xảy thời gian định trước hành động thực hiện…) Lă ̣p la ̣i mô ̣t tiế n trin ̀ h nào đó process ở da ̣ng while Lă ̣p la ̣i mô ̣t tiế n trình nào đó process ở da ̣ng while Đinh ̣ nghiã vòng lă ̣p để duyê ̣t qua mô ̣t tâ ̣p hơ ̣p Dừng tiế n trin ̀ h mô ̣t khoản thời gian đươ ̣c thiế t lâ ̣p trước Dùng để thiết lập hoạt động các Tác vụ Dùng để chia nhỏ tiến trình thành tác vụ có nhiệm vụ liên quan với (khi tiến trình trở nên phức tạp) Chương 2: TÌM HIỂU CÁC TRÌNH XỬ LÝ BPEL 2.1 Khái niệm trình xử lý BPEL Như đã giới thiệu chương 1, BPEL là ngơn ngữ để mơ hình hóa quy trình nghiệp vụ phối hợp dịch vụ đơn lẻ thành quy trình thống Sau quy trình tạo ra, triển khai trình xử lý BPEL, công cụ thực thi cụ thể hóa quy trình Trình xử lý BPEL định nghĩa là: “Trình xử lý BPEL trình xử lý luồng cơng việc mà thực thi tiến trình thiết kế ngơn ngữ BPEL” “Trình xử lý BPEL thành phần phần mềm có khả 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à thành phần phần mềm kiến trúc BPEL Kiến trúc BPEL bao gồm 03 thành phần là: trình thiết kế BPEL, mẫu tiến trình trình xử lý BPEL Trình thiết kế BPEL: Trình thiết kế BPEL sử dụng để định nghĩa các tiến trình nghiệp vụ, thường độc lập với tảng ứng 11 dụng Đây là công cụ hỗ trợ đắc lực cho chuyên viên nghiệp vụ để định nghĩa cá tiến trình mà khơng cần biết sâu kỹ thuật Sau thiết kế xong, tự động sinh mẫu tiến trình lơ gic dạng mã nguồn BPEL Mẫu tiến trình logic: Mẫu tiến trình logic có định dạng theo đặc tả BPEL Mẫu tiến trình này sinh trình thiết kế BPEL thực thi trình xử lý BPEL Trình xử lý BPEL: Nhiệm vụ trình xử lý BPEL thực thi mẫu tiến trình logic theo chuẩn BPEL Trong q trình thực hiện, gọi dịch vụ Web, ánh xạ liệu với các thông điệp, xử lý lỗi, đảm bảo giao dịch toàn vẹn tính bảo mật Trình xử lý BPEL thường tích hợp với máy chủ ứng dụng (Application Server) Hiện có nhiều sản phẩm trình xử lý BPEL mang tính thương mại mã nguồn mở, nhiên khơng có kiến trúc chung nào sử dụng, khơng có chuẩn thiết kế mà trình xử lý BPEL tuân theo.Trong phần tiếp theo, tìm hiểu kiến trúc trình xử lý BPEL tiêu biểu nay: Apache ODE, ActiveVOS Oracle BPEL Process Manager Apache ODE trình xử lý mã nguồn mở phổ biến nay, ActiveVOS trình xử lý đầu tiên, Oracle BPEL Process Manager sản phẩm dành cho doanh nghiệp 2.2 Kiến trúc số trình xử lý BPEL tiêu biểu 2.3.1 Trình xử lý Apache ODE Các thành phần kiến trúc ODE bao gồm biên dịch ODE BPEL, trình chạy ứng dụng BPEL, các đối tượng truy cập liệu, lớp tích hợp cơng cụ người dùng Mơ hình quan 12 hệ mức cao thành phần mơ tả hình Có thể tổng kết lại là” Bộ biên dịch chuyển đổi mã nguồn BPEL sang dạng thực thi Q trình thực thi giao tiếp với CSDL thông qua DAO, giao tiếp với mơi trường bên ngồi thơng qua lớp tích hợp” 2.3.2 Trình xử lý ActiveVOS Kiến trúc 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 kiến trúc ActiveVOS xử lý trung tâm ActiveVOS Nhiệm vụ là xác định, đánh giá và thực thi mẫu tiến trình viết ngôn ngữ BPEL Thành phần thứ 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, tiến trình, hàng đợi, lưu trữ, nhiệm vụ xử lý kiện phức tạp Thành phần tảng thứ đóng vai trò quan trọng việc giao tiếp với hệ thống khác, thông qua việc hỗ trợ giao thức : WS, JMS, POJO, REST 2.3.3 Trình xử lý Oracle BPEL Process Manager Oracle BPEL Process Manager cơng cụ để thực thi tiến trình nghiệp vụ Công cụ cung cấp giải pháp nâng cao, chuẩn hóa dễ dùng để tạo, triển khai quản lý tiến trình nghiệp vụ tự động theo kiến trúc hướng dịch vụ Oracle BPEL Process Manager cơng cụ tích hợp thích hợp cho doanh nghiệp Nó có khả kết nối với hệ thống ngồi tiến trình, có nhiều cơng nghệ giao tiếp khác giúp dễ dàng xác định thực thi nghiệp vụ logic 13 Chương 3: Đ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 cho trình xử lý BPEL Để đánh giá hiệu hệ thống tốt hay không, người ta thường sử dụng các phép đo hiệu năng, mơ q trình xử lý yêu cầu hệ thống, thu thập liệu đo dựa số tiêu chí cuối tiến hành phân tích, đánh giá các liệu đo Để mơ q trình xử lý u cầu, người ta giả lập yêu cầu giống với môi trường thật gửi tới hệ thống Theo lý thuyết đo hiệu phần mềm Henry H.Liu [Note], người ta sử dụng phương pháp đo dựa tiêu chí là throughput và response time để đánh giá hiệu các hệ thống Throughput định nghĩa là số lượng các đối tượng (objects) xử lý giây (Throughput=objects/second), response time thời gian phản hồi từ hệ thống, tính từ sau người dùng submit yêu cầu đến nhận kết quả trả Trong hệ thống xử lý giao dịch trực tuyến (OLTP), “thời gian phản hồi” tiêu chí quan trọng để đánh giá hiệu hệ thống, “thơng lượng” thường sử dụng với hệ thống xử lý giao dịch dài lớn (ví dụ hệ thống chạy batch job) Để đo hiệu trình xử lý BPEL, sử dụng phương pháp để đo các tiêu chí dựa yêu cầu gửi đến hệ thống Tuy nhiên, bản thân trình xử lý BPEL khơng trực tiếp đón nhận u cầu từ phía người dùng trả kết quả Việc đón nhận yêu cầu trả kết quả thực ứng dụng Dịch vụ Web chạy trình xử lý BPEL, trình xử lý trực tiếp 14 thực tác vụ ứng dụng dịch vụ Web Như để đo hiệu trình xử lý BPEL, thực các phép đo tác động đến ứng dụng dịch vụ Web chạy trình xử lý 3.2 Xây dựng hệ thống đo đạc 3.2.1 Phạm vi toán đo hiệu các trình xử lý BPEL Dựa mơ hình hiệu trên, xác định thành phần mơ hình bao gồm: Các trình xử lý BPEL: gồm 03 trình xử lý Apache ODE, ActiveVOS Oracle BPEL Process Manager Về bản chất, trình xử lý BPEL khơng chạy độc lập mà liên kết với các mơ đun SOA khác Ngoài các trình xử lý BPEL này chạy thành phần khác Web Server hay CSDL Trong phạm vi luận văn này, ta cài đặt trình xử lý theo mặc định chúng, sản phẩm bao gồm thành phần: Web Server + CSDL + trình xử lý BPEL Ta đo hiệu sản phẩm Các dịch vụ Web: Mỗi Dịch vụ Web thể tác vụ BPEL Việc đo tác vụ cho ta cái nhìn độc lập khách quan hiệu trình xử lý BPEL thực tác vụ Từ kết quả đo cho tác vụ, ta tính toán hiệu cho ứng dụng tổng hợp nhiều tác vụ khác Công cụ đo: Ta sử dụng công cụ đo tự động Apache Jmeter[1] để tạo kịch bản đo theo ý muốn 3.2.2 Cài đặt trình xử lý BPEL 15 u cầu tốn thực đo 03 trình xử lý BPEL tiêu biểu nay: Apache ODE phát triển tổ chức Apache Foundation, ActiveVOS công ty Active Endpoints Inc, Oracle BPEL Process Manager 10G cơng ty Oracle Mỗi trình xử lý BPEL phần mềm có kiến trúc riêng hỗ trợ chuẩn chung WS-BPEL 2.0 3.2.3 Xây dựng ứng dụng dịch vụ Web Chúng ta xây dựng ứng dụng dịch vụ Web, ứng dụng thực tác vụ tiêu biểu ngôn ngữ WS-BPEL2.0 mà trình xử lý BPEL thực hiện: If-else, While, Flow, Sequence, Invoke Tác vụ Flow có ví dụ ứng với trường hợp thực song song - Flow (khơng có link) thực - FlowDep (có link liên kết giữ luồng) Chúng ta lựa chọn tác vụ tiêu biểu này chúng đã bao gồm toàn tác vụ khác ngơn ngữ WSBPEL 2.0: RepeatUntil mơ tác vụ While 3.2.4 Triển khai công cụ đo Để thực mô yêu cầu người dùng, sử dụng công cụ đo tự động Apache Jmeter Apache Jmeter cho phép giả lập số lượng người dùng với số lượng tùy ý, tạo test case theo ý muốn và lưu lại kết quả đo (throughput, response time) với độ xác cao Apache Jmeter phần mềm mã nguồn mở, viết 100% ngôn ngữ Java, thiết kế để thực phép kiểm thử chức đo hiệu theo mô hình Client/Server 3.3 Thực hiện đo Để đo các ứng dụng Dịch vụ Web, cần thực các bước sau đây: 16 Bật trình xử lý BPEL các “máy chủ”, đã deploy sẵn ứng dụng Dịch vụ Web Để cô lập môi trường, bật trình xử lý tại thời điểm Khởi động Jmeter máy trạm (nối cáp chéo) Tạo kịch bản Jmeter gửi yêu cầu đến máy chủ Jmeter ghi lại thời gian phản hồi theo thông số: thời gian phản hồi trung bình, nhỏ lớn Tăng dần số lượng người dùng đồng thời từ 1,2… 500 Các ứng dụng Dịch vụ Web triển khai trình xử lý BPEL Apache ODE, ActiveVOS, Oracle BPEL Process Manager chạy máy tính có hệ điều hành phiên bản Window Professional 32 bit có cấu hình: Intel Dual Core T9400 2.53 GHz, GB RAM Phần mềm Apache JMeter chạy máy tính khác có hệ điều hành phiên bản Window Professional 32 bit với cấu hình: Intel Dual Core E8400 3.00 GHz, GB RAM máy chủ kết nối với trực tiếp để lập mơi trường, đảm bảo tính khách quan kết quả đo Với ứng dụng trình xử lý BPEL, thực đo đạc nhiều lần, nhiều mức độ người sử dụng đồng thời Với đợt đo tương ứng với số lượng người dùng, thực đo nhiều lần lấy trung bình để tăng độ tin cậy kết quả đo Ngoài ra, để tăng tính xác việc mơ phỏng, cấu hình “think time” giống môi trường thật – “think time” là thời gian tính từ lúc người dùng nhận kết quả yêu cầu thứ đến lúc gửi yêu cầu thứ hai – cho yêu cầu đo đạc Do thời gian thường không cố định nên ta dùng xác suất với giá trị trung bình 17 là 1s (1000ms) và biên độ dao động 0.5s (500ms) Tham số cấu hình dựa đối tượng Gaussian Random Timer Apache Jmeter 3.4 So sánh đánh giá hiệu từ kết đo đạc 3.4.1 Đánh giá hiệu các trình xử lý Oracle BPEL Process Manager Các phép thử thành công với Oracle BPEL Process Manager, số lượng user tăng dần từ đến 500, mà không phát sinh lỗi Khi tăng số lượng người dùng kết nối đồng thời lên dần thời gian trả có tăng thêm đảm bảo không vượt thời gian timeout (30s) Như khẳng định trình xử lý Oracle BPEL có khả đáp ứng lúc 500 người dùng đồng thời So sánh kết quả tác vụ Flow FlowDep tác vụ FlowDep có thời gian trả trung bình khoảng >2000ms, tác vụ Flow có thời gian trả trung bình