Presentation is loading. Please wait.

Presentation is loading. Please wait.

BPEL Development with ActiveBPEL Brendan Tansey. What is BPEL? Business Process Execution Language for Web Services (BPEL4WS) Web service orchestration.

Similar presentations


Presentation on theme: "BPEL Development with ActiveBPEL Brendan Tansey. What is BPEL? Business Process Execution Language for Web Services (BPEL4WS) Web service orchestration."— Presentation transcript:

1 BPEL Development with ActiveBPEL Brendan Tansey

2 What is BPEL? Business Process Execution Language for Web Services (BPEL4WS) Web service orchestration language Simple arithmetic and logical operators Lecture on Oct 26 th !

3 BPEL Development Requires: –BPEL Engine –BPEL Developer (or text editor, for the masochistic) BPEL Engine –Executes BPEL processes –IBM BPWS4J –ActiveBPEL Engine –Installation notes on Wiki

4 BPEL Developer Oracle BPEL Designer –Oracle BPEL Process Manager (OC4J, JBOSS, BEA WebLogic) Eclipse BPEL Project Parasoft BPEL Maestro Intalio Designer Many others

5 ActiveBPEL Designer Construct graphical workflows Assist with WSDL creation Simulate workflow execution Prepare service for deployment Deploy service to ActiveBPEL server Eclipse-based Makes your life easier

6 ActiveBPEL Designer Cons Windows-only –Windows lab in CSC 1-67 –Go to CSC 1-43 to get an account –Install onto network drive –Make workspace on network drive Quirky –Hence, presentation

7 ActiveBPEL Designer Demo Create a simple web service that adds 4 input numbers Uses an existing web service –Takes 4 numbers as input {a,b,c,d} –Returns two sums as output {a+b, c+d} Create client for service

8 Live Demo! (with slides) Using an external web service to add four numbers

9 Create project/BPEL Add external web references

10 Create sequence Drag ‘Sequence’ from palette In sequence, insert “Operation Wizard” Follow wizard instructions, creating a new WSDL file in your current project Refresh project so new WSDL is visible

11 Create service instance Force first element of sequence to create a new instance

12 Using external services Add WSDLs as imports

13 Using external services Create input and output variables for services

14 Create assignment activity Assign our service’s input to input for other service

15 Invoke web service Create invoke activity with Operation Wizard Select local copy of remote WSDL (can’t use remote copy – buggy) Choose port type and operation Create new PLT Add to existing WSDL (buggy)

16 Assign service output Use built-in arithmetic operator

17 Simulating execution

18 Providing sample input

19 Error! Need to initialize complex types before using Initialize with literals. 0.0 Red = Invoked service’s namespace Green = Your service’s namespace Yellow = Variable type & element types Magenta = Variable structure

20 Creating complex responses 4.2 5.7

21 Successful simulation Can now examine output variable

22 Deploying your service The ActiveBPEL Engine requires that all services are packaged into.bpr files. –These packages need deployment descriptors and manifests These files need to be placed in the Tomcat/bpr directory Or, deployed through ActiveBPEL Designer (easiest)

23 Creating a Deployment Descriptor

24 Finish deployment Change Deployment URL to Match ActiveBPEL Engine installation ‘Binding’ must be set to ‘RPC Encoded’

25 Creating a client See sample code on Wiki String endpoint = URL of service URL can be found in Axis servlet call.setOperationName(new QName(“”,” ”); from BPEL Admin Console

26 Engine admin client http://siffleur.cs.ualberta.ca:9999/active-bpel/ Can conflict with other Tomcat applications. Errors in the admin client are likely caused by this. Can view process graph for deployed services online

27 Tips If working from home, authenticate to access.cs.ualberta.ca to access non-standard remote ports. When creating an ‘invoke’ activity, copy remote WSDL to local project in order to use it. Local copy also needs to be added to web references.

28 More tips ‘Invoke’ creation wizard is buggy. If you can’t select your WSDL, click ‘Create new …’ then back to ‘Use existing …’. Remember the ‘…’ when creating static endpoints. There is more than one way to accomplish most things in ActiveBPEL.

29 Yet more tips If an import isn’t being read correctly, remove it and re-add it. If properties give errors when they should work, check imports, then re-select each value

30 References ActiveBPEL documentation: http://www.activebpel.org/docs/index.html http://www.activebpel.org/docs/index.html BPEL v1.1 Specifications: http://www- 128.ibm.com/developerworks/l ibrary/specification/ws-bpel/ http://www- 128.ibm.com/developerworks/l ibrary/specification/ws-bpel/ More on BPEL: next Tuesday in class


Download ppt "BPEL Development with ActiveBPEL Brendan Tansey. What is BPEL? Business Process Execution Language for Web Services (BPEL4WS) Web service orchestration."

Similar presentations


Ads by Google