Generate BPEL - Part 1. Create WSDL diagram

Business Process Model Notation (BPMN) is defacto standard of designing business process. Business Process Execution Language (BPEL) is popular language for workflow engine to execute workflow. This tutorial teaches how to generate BPEL from BPMN's business process diagram and WSDL diagram.

September 16, 2009
User Rating: / 3
Views: 4,358
PDF Link Add comments
Edition: Analyst or above (Edition comparison)

  Part 2. Create Business Process Diagram for Customer Service >
  1. Select File > New Diagram > Business Process Modeling > WSDL Diagram to create a WSDL diagram.
    create wsdl diagram
  2. Click the Create from Synchronous Template button to create WSDL Diagram using predefined template.
    create from template
  3. Select root node wsdl:definitions. In the Name field, enter CustomerLT, and in the Target Namespace, enter http://demo.visual-paradigm.com/BPEL/Customer
    define root
  4. Select wsdl:definitions > wsdl:types > xsd:schema, and set the Target Namespace as http://demo.visual-paradigm.com/BPEL/Customer
    type namespace
  5. Select xsd:schema, and press the xsd:complexType button to create a complex type.
    create complex type
  6. Name the complex type as InvoiceType.
    invoice type
  7. Select InvoiceType, and press the xsd:sequence button to create a sequence.
    create sequence
  8. Select the sequence, and press the xsd:element button to create an element.
    create sequence element
  9. Name the element as SessionID.
    session ID
  10. Press the ... button next to Type, and change the type as string:XSDSimpleType.
    select type
  11. Create another element, InvoiceID with type as string:XSDSimpleType under InvoiceType.
    create invoice ID
  12. Create another complex type under xsd:schema, name it as NoticeType.
    create notice type
  13. Create a xsd:sequence under NoticeType, then create 2 elements, SessionID and NoticeID under the sequence. Both having type as string:XSDSimpleType.
    elements under notice type
  14. Rename the HelloElement under xsd:schema to Notice, and change type to NoticeType:XSDComplexType (press the ... button next to Type and select xsd:complexType - NoticeType).
    rename hello element
  15. Create a new element under xsd:schema, name it as Invoice and having type InvoiceType:XSDComplexType.
    create invoice type
  16. Select HelloMessage under wsdl:definitions > wsdl:message, and rename it to Notice.
    rename message
  17. Select the TestPart under wsdl:message - Notice, then change to name to Part. Specify the element as Notice:XSDElement by clicking the ... button next to Element field.
    change part
  18. Select the root node wsdl:definitions, then press the wsdl:message button to create a new message.
    create message
  19. Name the message as Invoice.
    rename created message
  20. Create a wsdl:part under Invoice message, name the part as Part, with Element as Invoice:XSDElement.
    setting part
  21. Rename the wsdl:portType under wsdl:definitions to CustomerPortType.
    rename port type
  22. Rename the wsdl:operation under CustomerPortType to sendNotice.
    rename operation
  23. Rename the wsdl:input as Input, and rename the wsdl:output as Output. The message field will be set to Notice:WSDLMessage by default.
    rename output
  24. Create an operation under CustomerPortType, name it as sendInvoice.
    create operation
  25. Create wsdl:input and wsdl:output under sendInvoice operation. Specify the element for both input and output as Invoice:WSDLMessage.
    create input output
  26. Right click on node HelloSoapBinding under wsdl:definitions > wsdl:binding and select Remove Node.
    rename node
  27. Press the Check and Fix button in diagram toolbar.
    check and fix
  28. Rename the HelloService under wsdl:definitions to CustomerService, and rename the HelloPort under CustomerService to CustomerPort.
    rename service and port
  29. Click the ... button next to Binding field in CustomerPort, and specify the binding as wsdl:binding - CustomerPortTypeBinding.
    select binding
  30. Enter http://localhost:8080/ode/processes/CustomerService in Value field under CustomerPort > xml:modelElement - soap address > location node.
    change location
  31. Rename the HelloPartnerLink under wsdl:definitions to CustomerPLT.
    rename partner link
  32. Rename the provider under CustomerPLT to CustomerServiceProvider.
    rename provider
  33. Create a bpws:property under wsdl:definition, and name it as SessionID, with the type string:XSDSimpleType.
    create property
  34. Create a bpws:propertyAlias under wsdl:definition and with the following configuration
    1. Name: NoticeSessionID
    2. Property Name: SessionID:BPWSProperty
    3. Message Type: Notice:WSDLMessage
    4. Part: Part:WSDLPart(under wsdl:message - Notice)
    5. Query: /Notice/SessionID

    alias
  35. Create another bpws:propertyAlias under wsdl:definition and with the following configuration
    1. Name: InvoiceSessionID
    2. Property Name: SessionID:BPWSProperty
    3. Message Type: Invoice:WSDLMessage
    4. Part: Part:WSDLPart(under wsdl:message - Invoice)
    5. Query: /Invoice/SessionID

    alias 2

  Part 2. Create Business Process Diagram for Customer Service >

Rate this Article

Click on one of the stars below to rate this article from 1 (lowest) to 5 (highest).

You may be interested in

  1. Drawing Data Flow Diagrams
  2. Develop as-is and to-be business process
  3. Drawing BPMN 2.0 business process diagram
  4. Define working procedures for business tasks in a business process diagram
  5. Introduction to BPMN Part I
Tags of this article:

Comments (9)

written by Hoai Nam on December 24, 2009

Good ^^

written by Ethan on January 27, 2010

These steps are too technical. Pls remember that the users of BPVA are normal end-users, not IT personnel. Even if it's IT personnel, I find the documentation too technical. It's not helping me to resolve my issue.

written by ? on January 27, 2010

I agree with you. Since there is large gap between diagram and executable language. User must go through a lot of step to convert. We will keep enhance the application and tutorial to make it simple and easy to use. Thank you for your comment.

written by Ethan on January 27, 2010

Are you able to come up with a more user-friendly BPEL tutorial now? I've already created my business process model. It would be gd if I could export the model in BPEL or XPDL format, so that I can import it into ARIS or WEBSPHERE.

written by Hec on February 4, 2010

The tutorial is one of the worst tutorials ive done in a while. When I do a step, I want to know what I am doing and why. How on earth am I going to generate my own BPEL? This has not helped. Any plans to make it more user friendly?

Ps. Where can I find more details on BPVA training.

written by Serial nr 45/23-00-78340 on February 4, 2010

Is this tutorial for robots that just receive instructions and execute them without the need to understand?

written by ? on February 4, 2010

In current implementation, the generation of BPEL includes a complex step. We keep enhance the UI to make it more simple to use in future release.

This tutorial is for user to learn a basic step of using the software.

written by b on April 26, 2010

b

written by Dennis on May 4, 2010

So what are the prerequisites of using these tutorials, it looks like you need a few years of experience with web services before you could really understand what you are doing. Some explanations in the steps being followed would be beneficial. After following through this tutorial, I have no idea what was/is going on. I'm not able to generate some BPEL code for my existing business process since I'm not sure what kind of data it is that I've been entering while following this tutorial.

Write comment

Rating

Comment

Enter the calculation result

security code