Quy trình thiết kế tái sử dụng

Một phần của tài liệu Kỹ thuật phát triển ứng dụng web bằng ngôn ngữ Ws Bpel (Trang 63 - 66)

3. Hướng nghiên cứu của đề tài

2.5. Quy trình thiết kế tái sử dụng

Khi có dịch vụ Web thực hiện quy trình BPEL, có thể tích hợp quy trình này vào trong một ứng dụng khách. Sử dụng trình cắm thêm WTP Eclipse để tạo một khách hàng dịch vụ Web. Trước khi tạo mã khách hàng, cần phải thêm máy chủ Tomcat vào danh sách các máy chủ Eclipse. Nhấn mục trình đơn File - New - Other và chọn tùy chọn Server trong danh sách đó. Sau đó, đi qua các bước hướng dẫn của trình thủ thuật để tạo ra một máy chủ Tomcat mới cho vùng làm việc Eclipse của.

Một khi đã tạo ra máy chủ, nhấn chuột phải vào tệp WSDL và chọn mục trình đơn hiện lên Web Services > Generate Client. Hành động này khởi động trình thủ thuật khách của dịch vụ Web, tạo ra một dự án mới với các lớp cần thiết cho hoạt động với các dịch vụ Web.

Hình 2.35: Thiết lập khách hàng dịch vụ Web

Sau khi đã thực thi mã, các biến đầu ra sẽ chứa kết quả hoạt động của quy trình BPEL.

ODE đảm bảo truy cập thông qua các dịch vụ Web với một số các chức năng quản lý ứng dụng. Bằng cách sử dụng nó, bạn có thể kiểm soát quy trình đã triển khai trong ODE và các cá thể của chúng, hiện đang thực thi trên máy chủ. Mọi hoạt động được mô tả trong tệp pmapi.wsdl nằm trong thư mục webapps/ode/WEB-INF của ứng dụng Tomcat của bạn. Thật không may, pmapi.wsdl sử dụng kiểu tài liệu cũ RPC và khó sử dụng nó khi dùng công cụ thử nghiệm Web Services Explorer của Eclipse chẳng hạn.

Cách tốt nhất để truy cập Quản lý API là sử dụng các thư viện Axis2. Cụ thể, sử dụng lớp ServiceClientUtil, do thư viện ode-axis2 cung cấp. Axis2 phụ thuộc vào các thư viện khác, gồm Xerces, Stax, v.v. Hầu hết trong số đó được đưa vào tư liệu ode.war, do đó bạn có thể thêm nó vào trong các tùy thuộc của dự án của bạn.

Các mã sau đây biểu thị cách trích thông tin về cá thể của quy trình hiện tại.

ServiceClientUtil client = new ServiceClientUtil(); OMElement msg = client.

buildMessage("listAllInstances", new String[] {}, new String[] {}); OMElement result =

client.send(msg, "http://localhost:8080/ode/processes/InstanceManagement");

Iterator>OMElement> i = result.getChildElements();

while (i.hasNext()) {

OMElement omInstanceInfo = i.next(); OMElement omProcessName = omInstanceInfo.getFirstChildWithName( new QName("http://www.apache.org/ode/pmapi/types/2006/08/02/", "process-name")); OMElement omStatus = omInstanceInfo.getFirstChildWithName( new QName("http://www.apache.org/ode/pmapi/types/2006/08/02/", "status")); OMElement omStarted = omInstanceInfo.getFirstChildWithName( new QName("http://www.apache.org/ode/pmapi/types/2006/08/02/", "dt-started")); OMElement omLastActive = omInstanceInfo.getFirstChildWithName( new QName("http://www.apache.org/ode/pmapi/types/2006/08/02/", "dt-last-active"));

ProcessInfo process = new ProcessInfo();

process.setProcessName(omProcessName.getText()); process.setStatus(omStatus.getText()); process.setStarted(omStarted.getText()); process.setLastActive(omLastActive.getText()); processes.add(process); }

Chƣơng 3

XÂY DỰNG HỆ THỐNG THỬ NGHIỆM TÍCH HỢP DỊCH VỤ WEB TRÊN CƠ SỞ BPEL

Một phần của tài liệu Kỹ thuật phát triển ứng dụng web bằng ngôn ngữ Ws Bpel (Trang 63 - 66)

Tải bản đầy đủ (PDF)

(74 trang)