Page tree
Skip to end of metadata
Go to start of metadata

Summary: This document provides basic information about the extension providing BPEL support.

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 Web Services 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

CAST AIP compatibility

This Technology Plug-in is compatible with:

CAST AIP release



Supported DBMS servers

This extension is compatible with the following DBMS servers:

Microsoft SQL Server(error)

Supported file types

*.bpelBPELscript files

Download and installation instructions

Include the extension using the interface in AIP Console:

There is nothing further to do. Follow the instructions below to run a new analysis/snapshot to generate new results:

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.

This discoverer corresponds to the following option in the legacy CAST Delivery Manager Tool:

Click to enlarge

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:

Click to enlarge

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:

Resulting link from BEPL to Java method:

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:


The following specific objects are displayed in CAST Enlighten:

IconMetamodel name

BPEL Invoke

BPEL Process

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.
  • No labels