BPEL - 2.2

Extension ID


What’s new?

Please see BPEL 2.2 - Release Notes  for more information.


This extension provides support for applications using BPELscript (Business Process Execution Language script).

In what situation should you install this extension?

This extension should be installed when you want to analyze an application that uses BPELscript and WSDL service files.

BPELscript is a language used to specify BPEL processes. It provides a compact syntax inspired by scripting languages such as JavaScript and Ruby and offers a full coverage of all features provided by BPEL. A BPEL process specifies in which order Web services should be invoked. This means that when a BPEL process receives a request, it will invoke the appropriate Web services to fulfil the request and then responds back to the requester. It is also possible that a Web service can depend on previously invoked Web services.

Note that the WSDL service files are handled by the Universal Linker .

Function Point, Quality and Sizing support

This extension provides the following support:

  • Function Points (transactions): a green tick indicates that OMG Function Point counting and Transaction Risk Index are supported
  • Quality and Sizing: a green tick indicates that CAST can measure size and that a minimum set of Quality Rules exist
Function Points
Quality and Sizing
(tick) (error)

CAST Imaging Core compatibility

Release Supported
8.3.x (tick)

Supported file types

File Description
*.bpel BPELscript files

Download and installation instructions

Include the extension using the interface in CAST Imaging Console:

Alt text

Source code discovery

A discoverer is provided with the extension to automatically detect BPEL code: when a .bpel file is found in a folder, one “BPEL” project will be discovered, resulting in a corresponding Analysis Unit in AIP Console.

What results can you expect?

Once the analysis/snapshot generation has completed, you can view the results in the normal manner.

CAST Enlighten

Example of BPEL Invoke, Process and Receive:

Alt text

Dependency to Java

Links will be created where there is a dependency with Java source code. Take the following two examples:

Example 1

Java embedded in BPEL source code:

<bpws:invoke name="Vorinitialisierung" operation="null" partnerLink="null" portType="wpc:null" wpc:continueOnError="inherit" wpc:displayName="Vorinitialisierung" wpc:id="45">
           commonj.sdo.DataObject dO = (commonj.sdo.DataObject)SIInputDataWrapper.getDataObject("SGMIMPORT")
           commonj.sdo.DataObject ordnungsbegriffTypFeld = dO.getDataObject("DOKIMPORT[1]/DOKREF/CONTENTPARAM/VORGREF[1]/KEY");
           styp = ordnungsbegriffTypFeld.getString("styp");
           vorgangsnummer =  dO.getDataObject("DOKIMPORT[1]/DOKREF/CONTENTPARAM/VORGREF[1]/KEY").getString(0);]

Corresponding Java source code:

Alt text

Resulting link from BEPL to Java method:

Alt text

Example 2

BPEL Web Service invoking web services:

<bpws:invoke name="InvokeSDPOrderDBretrieveBaseOrder" operation="retrieveBaseOrder" partner-Link="SDPOrderDBCompensableService_InterfacePartner" portType="ns3:SDPOrderDBCompensableService_Interface" wpc:continueOnError="inherit" wpc:displayName="InvokeSDPOrderDB.retrieveBaseOrder" wpc :id="72">
        <wpc:parameter name="order" variable="processingOrder"/>

Resulting link from BEPL to web service:

Alt text


Icon Metamodel name
Alt text BPEL Invoke
Alt text BPEL Process
Alt text BPEL Receive
  • BPEL Receive > BPEL Process

  • BPEL Invoke > BPEL Receive

  • BPEL Process > BPEL Invoke




  • Invokes inside Pick activities are not currently created. Their modelization (together with onMessage and onAlarm elements) will be considered in forthcoming releases.