This documentation is not maintained. Please refer to doc.castsoftware.com/technologies to find the latest updates.

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

Extension ID

com.castsoftware.bpel

What's new?

See BPEL 2.2 - Release Notes.

Description 

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 com.castsoftware.wbslinker.

Function Point, Quality and Sizing support

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

CAST Imaging Core compatibility

ReleaseOperating SystemSupported
8.3.xMicrosoft Windows(tick)

Supported file types

FileDescription
*.bpelBPELscript files

Download and installation instructions

The extension will be automatically installed by CAST Imaging Console when a *.bpel file is delivered for analysis.

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 CAST Imaging Console.

What results can you expect?

Example of BPEL Invoke, Process and Receive:


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">
      <wpc:script>
        <wpc:javaCode>
           <![CDATA[
           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);]
          ]>
         </wpc:javaCode>
      </wpc:script>
</bpws:invoke>

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:input>
        <wpc:parameter name="order" variable="processingOrder"/>
      </wpc:input>
      <wpc:output>
  ...
</bpws:invoke>

Resulting link from BEPL to web service:


Objects 

IconMetamodel name

BPEL Invoke

BPEL Process

BPEL Receive
  • BPEL Receive > BPEL Process

  • BPEL Invoke > BPEL Receive

  • BPEL Process > BPEL Invoke

Structural Rules

None.

Limitations

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