Phát triển và thực thi các quy trình nghiệp vụ WS-BPEL V2.0 bằng cách sử dụng trình cắm thêm BPEL Eclipse

Kết hợp Tomcat và trình cắm thêm BPEL Eclipse để lập kế hoạch cho ứng dụng phức tạp bao gồm rất nhiều thành phần và dịch vụ Web

BPEL V2.0 là một ngôn ngữ mạnh dùng để trợ giúp phát triển các ứng dụng phức tạp, lớn, gồm nhiều thành phần và dịch vụ Web khác. BPEL cho phép bạn mô tả luồng công việc dài bằng cách sử dụng trình soạn thảo đồ họa để biểu thị luồng công việc trên các biểu đồ thân thiện với con người. Bài viết này mô tả cách kết hợp các trình cắm thêm BPEL Eclipse để phát triển các quy trình và ODE Apache cho việc thực hiện của chúng.

Ilya Platonov, Kỹ sư phần mềm, Axmor

Ilya Platonov là một kỹ sư phần mềm tại Axmor Software, cố vấn tại Phòng thí nghiệm giải pháp công nghệ cao cấp (ATS) của IBM ở Novosibirsk, Nga. Ông có bằng thạc sĩ về khoa học máy tính của Trường đại học quốc gia Novosibirsk. Gần đây, ông đã tham gia trên năm dự án ATS với tư cách là một kiến trúc sư hệ thống và kỹ sư phần mềm.



Artem Papkov, Kiến trúc sư IT, IBM

Artem Papkov hiện là kiến trúc sư giải pháp trong đội đổi mới máy khách của IBM, làm việc với các khách hàng và các đối tác kinh doanh để chọn các công nghệ mới nổi, như các dịch vụ SOA và Web. Sau tốt nghiệp Trường đại học quốc gia Belarus về Tin học và Vô tuyến điện tử vào năm 1998 với một bằng thạc sĩ về khoa học máy tính, ông đã gia nhập Research Triangle Park của IBM, N.C vào năm 2000. Kinh nghiệm của ông bao gồm phát triển phần mềm của các giải pháp nhiều tầng bằng cách sử dụng các công nghệ mới nổi, thiết kế kiến trúc và tích hợp các giải pháp dựa trên Internet. Trong ba năm qua, ông đã tập trung vào làm việc chặt chẽ với khách hàng để giúp họ chọn các dịch vụ Web như là công nghệ tích hợp chiến lược của IBM và SOA như là cách tiếp cận tích hợp



Jim Smith, Kiến trúc sư cao cấp về IT, IBM

Jim Smith đã có hơn 18 năm kinh nghiệm trong việc phát triển phần mềm. Ông bắt đầu sự nghiệp của mình tại các phòng thí nghiệm quốc gia Sandia ở Livermore, California, thiết kế các hệ thống thu thập dữ liệu tốc độ cao và các hệ thống máy tính phân tán sử dụng nhiều mã chính thức hiện có. Với kinh nghiệm sâu sắc về ngôn ngữ Java và các kỹ năng đương đầu với khách hàng, Jim chuyển đến đội các công nghệ Internet mới nổi tập trung vào việc thực hiện các giải pháp thực Java cho các khách hàng của IBM. Jim là một trong những người sáng lập giải pháp công nghệ cao cấp (ATS), các dịch vụ phần mềm toàn cầu và cơ quan phát triển với một nhiệm vụ phát triển, tinh chỉnh, các công nghệ nhượng quyền tiên tiến và quy trình nghiệp vụ nhẹ cho các phòng thí nghiệm phát triển, các đối tác kinh doanh và khách hàng của IBM, dẫn đến việc áp dụng và triển khai nhanh hơn về các công nghệ tiêu chuẩn và các sản phẩm của IBM



23 10 2009

Quỹ Apache gọi việc thực hiện Web Services Business Process Execution Language (WS-BPEL - Ngôn ngữ thực hiện quy trình nghiệp vụ của các Dịch vụ Web) phiên bản V2.0 của nó là Orchestration Director Engine (ODE - Bộ chỉ huy hòa âm). ODE thực hiện các quy trình WS-BPEL, có khả năng giao tiếp với các dịch vụ Web, gửi và nhận các thông báo, v.v. Dự án BPEL Eclipse là một dự án mã nguồn mở liên quan cung cấp một trình cắm thêm Eclipse để phát triển trực quan qui trình WS-BPEL V2. 0. (Xem "WS-BPEL là gì" nếu bạn chưa quen với công nghệ này).

WS-BPEL là gì?

WS-BPEL là một đặc tả của nhà cung cấp trung gian do OASIS phát triển để xác định qui trình nghiệp vụ như tập các tương tác giữa các dịch vụ Web. OASIS định nghĩa WS-BPEL như sau: "Các qui trình nghiệp vụ có thể được mô tả theo hai cách. Các quy trình nghiệp vụ thực hiện mô hình hóa hành vi thực tế của người tham gia trong tương tác nghiệp vụ. Các quy trình nghiệp vụ trừu tượng một phần là các quy trình xác định riêng, không nhằm đến việc thực hiện. Một quy trình nghiệp vụ trừu tượng có thể ẩn giấu đối với một vài chi tiết tác nghiệp cụ thể. Các quy trình trừu tượng dùng để mô tả, với hơn một trường hợp sử dụng, có hành vi quan sát và xử lý khuôn mẫu. WS-BPEL có nghĩa là được dùng để mô hình hóa hành vi của cả hai quy trình thực thi và trừu tượng.

"WS-BPEL cung cấp một ngôn ngữ để mô tả các quy trình nghiệp vụ Trừu tượng và Thực thi. Bằng cách đó, nó mở rộng mô hình tương tác các dịch vụ Web và cho phép nó hỗ trợ các giao dịch kinh doanh. WS-BPEL định nghĩa một mô hình tích hợp tương tác, sẽ tạo điều kiện mở rộng tích hợp quy trình tự động hóa trong cả không gian kinh doanh với kinh doanh và không gian trong nội bộ công ty".

Khi bài này được viết, ODE V1.1 và các kết quả dự án BPEL Eclipse M3 đã là các phiên bản hiện hành. Bài viết này kiểm tra các sản phẩm này và mô tả cách tạo ra quy trình BPEL của chính bạn và tích hợp nó vào trong ứng dụng có sử dụng ODE Apache và các dự án BPEL Eclipse.

Bạn có thể muốn xem lại các bài viết "Thực hiện quy trình kinh doanh với Eclipse" của Tyler Anderson trong developerWorks nếu bạn quen thuộc hơn với BPMN và cần một hướng dẫn về cách sử dụng Eclipse STP BPMN Modeler (Trình mô hình hóa BPMN STP Eclipse) để thao tác các quy trình nghiệp vụ (xem Tài nguyên).

Cài đặt phần mềm

Hệ điều hành của bạn có thể là một phiên bản hiện đại của Microsoft® Windows®, Linux® hoặc Mac OS X. Phần mềm này đã sử dụng Linux, vì vậy có thể cần phải điều chỉnh các vị trí tệp theo tùy chỉnh của hệ điều hành của bạn. Trước khi cài đặt ODE và BPEL cho Eclipse, hãy chắc chắn rằng phần sau đây đã được cài đặt trên máy tính của bạn:

  1. Java™ V5.0 hoặc mới hơn.
  2. Tomcat V5.5 hoặc mới hơn.
  3. Eclipse V3.3.x với các trình cắm thêm sau đây được cài đặt:
    • EMF V2.3.x
    • GEF V3.3.x
    • DTP STK V1.5.x
    • WTP (Web Tools Platform - Nền tảng của các dụng cụ Web) V2.0.x

Vui lòng tham khảo các hướng dẫn cài đặt của các ứng dụng để cài đặt chúng (xem Tài nguyên).

Cài đặt ODE Apache

Tải về ODE. Khởi động thùng chứa Web Tomcat Apache của bạn và sử dụng trình quản lý Tomcat (Tomcat Manager) (Bạn nên tìm trình quản lý này trên máy tính của bạn tại http://localhost:8080/manager/html) để triển khai mô-đun ode.war từ kho tư liệu phân phối. Để kiểm tra thành công, hãy truy cập http://localhost:8080/ode/, để hiển thị trạng thái của dịch vụ Web ODE của máy tính của bạn.

Sự hỗ trợ BPEL cho Eclipse

Để thiết lập dự án BPEL Eclipse, hãy chạy ứng dụng Eclipse của bạn, khởi chạy trình quản lý cập nhật Eclipse (bằng cách nhấn vào trình đơn Help > Software Update > Find & Install) và chọn New feature để cài đặt một tùy chọn. Nhấn vào New Remote Site... và thêm URL http://download.eclipse.org/technology/bpel/update-site/ vào hộp thoại trên trang Web New Update Site (cập nhật mới) , rồi đặt tên trang Web BPEL. Hãy nhấn vào Finish (Kết thúc), chọn một máy nhân bản ở gần, chọn BPEL Designer for Eclipse (Trình thiết kế BPEL cho Elipse) chấp nhận các thuật ngữ cấp phép, chọn Select All (Chọn tất cả), sau đó nhấn NextFinish. Eclipse sẽ cảnh báo bạn về bất kỳ các xung đột trùng lắp tiềm ẩn nào, sau đó cảnh báo bạn về BPEL chưa được đánh dấu. Nhấn vào Install (Cài đặt) nếu nhà cung cấp là Eclipse.org. Khi việc cài đặt hoàn thành, Eclipse sẽ yêu cầu bạn khởi động lại nó.


Tạo một quy trình BPEL đơn giản

Trong phần này, chúng ta tạo ra một quy trình BPEL đơn giản và thử chạy nó trong ODE. quy trình này chỉ thực hiện thao tác chuỗi đơn giản. Hãy nhớ rằng nó chỉ là một ví dụ đơn giản và bạn có thể tạo quy trình phức tạp hơn bằng cách sử dụng đặc tả WS-BPEL V2.0.

Trình soạn thảo BPEL Eclipse

Để tạo một quy trình BPEL đơn giản, hãy chạy Eclipse và nhấn vào mục trình đơn File > New > Other, chọn tùy chọn BPEL 2.0 -> BPEL Project và tạo một dự án BPEL mới tên là HelloWorld. Sau khi đã tạo ra dự án, bạn đã sẵn sàng để tạo ra quy trình BPEL đầu tiên của bạn. Nhấn vào mục trình đơn File > New > Other một lần nữa và chọn tùy chọn BPEL 2.0 > New BPEL Process File để bắt đầu với trình thủ thuật tạo quy trình BPEL.

Hình 1. Tạo một tệp quy trình BPEL
Tạo một tệp quá trình BPEL

Hãy tạo một quy trình đồng bộ cũng có tên là HelloWorld. Trên trang tiếp theo của trình thủ thuật, bạn nên chọn vị trí của các tệp quy trình BPEL — chỉ cần chọn dự án đã tạo ra trước và nhấn Finish. quy trình mẫu sẽ được tạo ra.

Hình 2. Tạo một quy trình đồng bộ
Tạo một quá trình đồng bộ

Như đã chỉ ra, quy trình vừa được tạo ra có hai biến BPEL trong —đầu vào (input)đầu ra (output)— và một chuỗi với một phần tử thu nhận và một phần tử trả lời. Các khối thu nhận chịu trách nhiệm để tiếp nhận dữ liệu quy trình đầu vào BPEL và cho việc khởi tạo của biến đầu vào. Tương tự như vậy, khối trả lời là nhằm vào việc xuất dữ liệu của quy trình BPEL khi sử dụng biến đầu ra.

Cũng trong việc tạo quy trình BPEL, trình thủ thuật đã tạo ra tệp WSDL. Tệp này mô tả các kiểu dữ liệu đầu vào và đầu ra và một kiểu cổng mô tả quy trình BPEL. Cả hai kiểu dữ liệu đầu vào và đầu ra chỉ đơn giản chứa các trường chuỗi duy nhất.

Chúng ta đã sẵn sàng để thêm một số thao tác dữ liệu vào trong quy trình của chúng ta. Để thực hiện điều này, kéo và thả một khối Gán (Assign) bên phải giữa các khối receiveInputreplyOutput.

Hình 3. Kéo và thả một khối Assign
Kéo và thả một khối Assign

Một khi khối gán được lập, nhấn chuột phải vào khối Assign và chọn mục trình đơn ngữ cảnh Show In Properties để chỉ ra khung nhìn Properties và chọn tab Details. Khối Assign nên khởi tạo biến đầu ra với một cấu trúc thẻ XML ban đầu. Đây là thủ tục chung được hầu hết các máy xử lý quy trình BPEL yêu cầu. Nhấn vào nút New trên mục Detail để khởi động thủ tục gán đầu tiên. Chọn phần tử Fixed Value (Giá trị cố định) trong hộp chọn From và nhập dòng sau đây vào trong vùng văn bản:

>tns:HelloWorldResponse xmlns:tns="http://www.ibm.com/wd2/ode/HelloWorld">
     >tns:result/>
     >/tns:HelloWorldResponse>

Tiếp theo, chọn phần tử Variable (Biến) trong hộp chọn To và chọn output/payload (biến đầu ra/ tải) trong các cây của các biến, như chỉ ra dưới đây.

Hình 4. Khởi tạo các biến đầu ra
Khởi tạo các biến đầu ra

Khi các biến đầu ra được khởi tạo, chúng ta có thể tạo một thủ tục gán mới. Đối với quy trình mẫu, thủ tục này nhận một giá trị chuỗi từ biến đầu vào, liên kết nó với lời chào "Hello" và gán kết quả vào trường chuỗi biến đầu ra. Để làm việc này nhấn nút New và chọn giá trị Expression trong hộp chọn From Trong hộp văn bản hiển thị dưới đây, hãy nhập biểu thức sau: concat("Hello ", $input.payload/tns:input). Trong phần To, chọn biến output/payload/tns:result, như hình dưới đây.

Hình 5. Chọn output/payload/tns:result
Chọn output/payload/tns:result

Khối Assign đã sẵn sàng. Như bạn thấy, trình cắm thêm BPEL Eclipse đảm bảo đánh dấu XPath V1.0 và các tính năng hoàn thành mã để đơn giản hóa việc tạo ra các truy vấn XPath. (Xem Tài nguyên để tìm hiểu thêm về XPath).

Các thay đổi tệp WSDL

Tệp WSDL cho một quy trình BPEL sẽ mô tả các kiểu được sử dụng trong quy trình BPEL cũng như các kiểu cổng, các ràng buộc và các dịch vụ cho quy trình của bạn. WSDL tự động được tạo ra bởi trình thủ thuật đã chứa kiểu cổng và để tạo ra chức năng của quy trình, chúng ta cần phải tạo ràng buộc và dịch vụ cho nó.

Mở tệp WSDL trong trình soạn thảo tương ứng và xem định nghĩa đồ họa của kiểu cổng.

Hình 6. Xem định nghĩa đồ họa của kiểu cổng
Xem định nghĩa đồ họa của kiểu cổng

Để tạo ra một sự ràng buộc dịch vụ Web, nhấn chuột phải vào bất kỳ vùng trống trong trình soạn thảo WSDL và chọn tùy chọn Add Binding. Trong khung nhìn Properties đổi tên ràng buộc mới được tạo ra thành HelloWorldBinding và chọn HelloWorld làm kiểu cổng cho ràng buộc mới. Nhấn vào nút Generate Binding Content (Tạo nội dung ràng buộc) để đưa ra hộp thoại Binding Wizard.

Hình 7. Hộp thoại Binding Wizard
Hộp thoại Binding Wizard

Chọn giao thức SOAP trong hộp chọn Protocol kiểm tra tùy chọn tài liệu chữ trong phần SOAP Binding Options (Tùy chọn ràng buộc SOAP) và nhấn vào Finish.

Hình 8. Các tùy chọn ràng buộc
Các tùy chọn ràng buộc

Sau khi tạo ra sự ràng buộc, nhấn chuột phải vào bất kỳ vùng trống nào trong trình soạn thảo WSDL và chọn mục trình đơn Add Service để tạo ra một mục mới có tên là HelloWorldService. Sau đó chỉ định HelloWorldPort cho tên cổng của ràng buộc và địa chỉ của nó là URL http://localhost:8080/ode/processes/HelloWorld. Ngoài ra chọn HelloWorldBinding làm sự ràng buộc cho dịch vụ mới được tạo ra.

Hình 9. HelloWorldBinding
HelloWorldBinding

Tệp WSDL của chúng ta sẵn sàng để được dùng cho ứng dụng ODE.

Bộ mô tả triển khai

Điều cuối cùng mà chúng ta cần phải làm trước khi quy trình của chúng ta sẵn sàng sử dụng là tạo ra một bộ mô tả ODE. Bộ mô tả phải có tên là deploy.xml và phải được đặt trong cùng thư mục mà tệp BPEL và WSDL đã lưu trữ. Chỉ cần tạo ra một tệp văn bản mới deploy.xml và đặt nội dung sau đây ở đó.

Liệt kê 1. Tạo một tệp văn bản deploy.xml
>?xml version="1.0" encoding="UTF-8"?>
>deploy xmlns="http://ode.fivesight.com/schemas/2006/06/27/dd"
    xmlns:pns="http://www.ibm.com/wd2/ode/HelloWorld" 
    xmlns:wns="http://www.ibm.com/wd2/ode/HelloWorld">
  >process name="pns:HelloWorld">
    >active>true>/active>
    >provide partnerLink="client">
      >service name="wns:HelloWorldService" port="HelloWorldPort"/>
    >/provide>
  >/process>
  >/deploy>

Bộ mô tả xác định danh sách quy trình và các dịch vụ cho một đơn vị triển khai.


Cách sử dụng của quy trình BPEL

Bây giờ, khi quy trình HelloWorld BPEL sẵn sàng, chúng ta có thể dùng nó trong ứng dụng ODE và thử nghiệm nó.

Triển khai quy trình BPEL trong ODE

ODE hỗ trợ sử dụng nóng qui trình BPEL. Để triển khai quy trình đã tạo ra trong phần trước, chỉ cần chép thư mục chứa tất cả các tệp của quy trình vào thư mục webapps/ode/WEB-INF/processes của Tomcat Apache của bạn nơi mà ODE đã được triển khai. Để giám sát quy trình triển khai, bạn có thể nghiên cứu kỹ tệp nhật ký logs/catalina.out trong thư mục gốc Tomcat về bất kỳ điểm vào mới nào.

Một cách dễ dàng để kiểm tra quy trình được triển khai là sử dụng công cụ Eclipse Web Services Explorer (Trình thám hiểm các dịch vụ Web Elipse). Nhấn chuột phải vào tệp HelloWorld WSDL của bạn và chọn mục trình đơn hiện lên Web Services > Test with Web Services Explorer. Eclipse sẽ khởi động công cụ thử nghiệm Web Services Explorer. Khi sử dụng công cụ này, nhập một số văn bản cho tham số đầu vào và gọi thao tác Process. Như trong Hình 10, dịch vụ Web trả về lời chào mừng đối với văn bản mà bạn vừa nhập vào.

Hình 10. Gọi một hoạt động WSDL
Gọi một hoạt động WSDL

Tạo một quy trình khách BPEL

Khi chúng ta có dịch vụ Web thực hiện quy trình BPEL, chúng ta có thể tích hợp quy trình này vào trong một ứng dụng khách. Hãy sử dụng trình cắm thêm WTP Eclipse để tạo một khách hàng dịch vụ Web dựa trên-trục. Trước khi tạo mã khách hàng, bạn cần phải thêm máy chủ Tomcat của bạn 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 bạn.

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 của bạn.

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

Để làm việc với các tệp được tạo ra, sử dụng mã tương tự như sau.

Liệt kê 2. Tạo một khách hàng dịch vụ Web
HelloWorldServiceLocator locator = new HelloWorldServiceLocator();
HelloWorldRequest hwRequest = new HelloWorldRequest();
hwRequest.setInput("developerWorks!");
				
HelloWorldResponse hwResponse = locator.getHelloWorldPort().process(hwRequest);
String output = hwResponse.getResult();

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.


API quản lý ODE

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ác cá thể của quy trình hiện tại.

Liệt kê 3. Lấy ra thông tin về các 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");
			
List>ProcessInfo> processes = new ArrayList>ProcessInfo>();
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);
  }

Ví dụ sử dụng thư viện tiên đề (axiom) để lấy thông tin và lưu nó như là danh sách các đối tượng ProcessInfo. Chúng có thể được sử dụng từ bất kỳ phần khác của ứng dụng của bạn..


Bộ nghe sự kiện ODE

ODE cho phép bạn phát triển những bộ nghe (listener) cho bất kỳ hành động nào bên trong một ứng dụng ODE, như bắt đầu hoặc dừng các cá thể quy trình. Để tạo bộ nghe sự kiện riêng của bạn, cần triển khai thực hiện giao diện org.apache.ode.bpel.iapi.BpelEventListener đã định nghĩa trong thư viện ode-bpel-api.jar. Các mã sau biểu thị một sự thực hiện đơn giản là viết vào các sự kiện đưa vào luồng-kết quả đầu ra chuẩn và các dẫn chứng của các phương thức bộ nghe startup()shutdown().

Liệt kê 4. Các phương thức bộ nghe startup()shutdown().
/**
* {@inheritDoc}
*/
public void onEvent(BpelEvent event) {
  System.out.println(event);
}
	
/**
* {@inheritDoc}
*/
public void startup(Properties arg0) {
  System.out.println(this.getClass() + " startup");
}
	
/**
* {@inheritDoc}
*/
public void shutdown() {
  System.out.println(this.getClass() + " shutdown");
  }

Một khi một lớp bộ nghe sẵn sàng, bạn cần phải đặt nó vào đường dẫn của lớp ODE (có thể đặt một tệp JAR với lớp bộ nghe của bạn vào trong thư mục Tomcat webapps/ode/WEB-INF/lib). Bạn cũng cần tạo ra tệp thuộc tính webapps/ode/WEB-INF/conf/ode-axis2.properties và thêm ở đó dòng sau:

ode-axis2.event.listeners=com.ibm.wd2.bpel.eventlistener.WD2EventListener

Tên của lớp bộ nghe của bạn có thể khác với một tên ở trên.


Kết luận

BPEL V2.0 là một ngôn ngữ mạnh nhằm giúp phát triển các ứng dụng phức tạp bao gồm nhiều thành phần khác và các dịch vụ Web. BPEL cho phép mô tả luồng công việc dài hạn bằng cách sử dụng các trình soạn thảo đồ họa trên biểu đồ thân thiện với con người. Bạn có thể sử dụng sản phẩm mã nguồn mở cho việc tạo ra các ứng dụng bằng cách sử dụng đặc tả BPEL V2.0 từ các cộng đồng Apache và Eclipse được sử dụng cùng nhau — Dự án BPEL Eclipse cho sự phát triển của các quy trình và ODE Apache cho việc thực hiện chúng. Cả hai sản phẩm hoạt động thành công ít nhất trên các quy trình BPEL V2.0 đơn giản, như một sản phẩm đã mô tả ở trên. Tuy nhiên, chúng tôi khuyên bạn nên thăm dò các lý lẽ tán thành và phản đối về các công cụ mã nguồn mở trên một ứng dụng phức tạp hơn, trước khi đưa ra quyết định sử dụng chúng cho các ứng dụng nghiệp vụ thực tế.

Tài nguyên

Học tập

Lấy sản phẩm và công nghệ

Thảo luận

  • Các nhóm tin nền tảng Eclipse là bước đầu tiên của bạn để thảo luận các câu hỏi về Eclipse. (Chọn phần này sẽ khởi chạy ứng dụng đọc tin Usenet mặc định của bạn và mở eclipse.platform).
  • Các nhóm tin Eclipse có nhiều nguồn tài nguyên cho những người đã quan tâm đến việc sử dụng và mở rộng Eclipse.
  • Tham gia vào các blog developerWorks và dành hết tâm trí cho cộng đồng developerWorks.

Bình luận

developerWorks: Đăng nhập

Các trường được đánh dấu hoa thị là bắt buộc (*).


Bạn cần một ID của IBM?
Bạn quên định danh?


Bạn quên mật khẩu?
Đổi mật khẩu

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Ở lần bạn đăng nhập đầu tiên vào trang developerWorks, một hồ sơ cá nhân của bạn được tạo ra. Thông tin trong bản hồ sơ này (tên bạn, nước/vùng lãnh thổ, và tên cơ quan) sẽ được trưng ra cho mọi người và sẽ đi cùng các nội dung mà bạn đăng, trừ khi bạn chọn việc ẩn tên cơ quan của bạn. Bạn có thể cập nhật tài khoản trên trang IBM bất cứ khi nào.

Thông tin gửi đi được đảm bảo an toàn.

Chọn tên hiển thị của bạn



Lần đầu tiên bạn đăng nhập vào trang developerWorks, một bản trích ngang được tạo ra cho bạn, bạn cần phải chọn một tên để hiển thị. Tên hiển thị của bạn sẽ đi kèm theo các nội dung mà bạn đăng tải trên developerWorks.

Tên hiển thị cần có từ 3 đến 30 ký tự. Tên xuất hiện của bạn phải là duy nhất trên trang Cộng đồng developerWorks và vì lí do an ninh nó không phải là địa chỉ email của bạn.

Các trường được đánh dấu hoa thị là bắt buộc (*).

(Tên hiển thị cần có từ 3 đến 30 ký tự)

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Thông tin gửi đi được đảm bảo an toàn.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=70
Zone=Nguồn mở, SOA và dịch vụ Web
ArticleID=438495
ArticleTitle=Phát triển và thực thi các quy trình nghiệp vụ WS-BPEL V2.0 bằng cách sử dụng trình cắm thêm BPEL Eclipse
publish-date=10232009