Extending BPELUnit

 

BPELUnit has three extension points, and offers an API which can be used to create new BPELUnit clients. Additionally, the XML Schema of the test suite is available, which makes it possible to write a new, or enhance the existing tool support.

The three extension points can be used to add the following components to BPELUnit:

 

Adding a new BPEL Deployer

Extension Point: net.bpelunit.framework.client.eclipse.bpelDeployer.

BPELUnit comes with four BPEL deployers. Two of them are actual deployers, one deploying to the Oracle BPEL Server, and one to the ActiveBPEL engine. If you wish to add a new deployer, add an extension to your plugin.xml, like the following code:

<extension
   point="net.bpelunit.framework.client.eclipse.bpelDeployer">
   <bpelDeployer
		id="oracle"
		name="Oracle Deployer"
		deployerClass="net.bpelunit.framework.control.deploy.oracle.OracleDeployer"
		general_options="OracleDirectory,OracleDomain,OracleDomainPassword"
		suite_options="BPELJARFile"
   />
</extension>

The options are as follows:

 

Adding a new SOAP Encoder/Decoder

Extension Point: net.bpelunit.framework.client.eclipse.soapEncoder.

BPELUnit comes with two SOAP Encoder/Decoders - one for document/literal, and one for rpc/literal style. If you wish to add a new SOAP Encoder/Decoder, add an extension to your plugin.xml, like the following code:

<extension
point="net.bpelunit.framework.client.eclipse.soapEncoder">
<soapProcessor
id="document/literal" name="Document/Literal Encoder" encoderClass="net.bpelunit.framework.control.soap.DocumentLiteralEncoder"
/>
</extension>

The options are as follows:

 

Adding a new Header Processor

Extension Point: net.bpelunit.framework.client.eclipse.headerProcessor.

BPELUnit comes with one Header Processor, implementing the WS-Addressing protocol. If you wish to add a new Header Processor, add an extension to your plugin.xml, like the following code:

<extension
point="net.bpelunit.framework.client.eclipse.headerProcessor">
<headerProcessor
id="wsa"
name="WS-Adressing Header Processor"
processorClass="net.bpelunit.framework.control.soap.WSAHeaderProcessor"/>
</extension>

The options are as follows:

 

Writing new Clients

If you intend to write a new client for BPELUnit, have look at the API Documentation. It is also a good idea to download the source of the existing clients (command line, Ant, Eclipse) and have a look at that code.

 

Writing new Tools

The fastest way of creating new tools for writing test suites is directly coding against the XML Schema of the test suite, which is located here.