TouK on GitHub Part 1

Our company moving our Open Source projects from present host on github. It is a good moment to refresh knowledge why they can be useful and how run them.

In this post I want to focus on projects associated with Apache ODE. For somebody who is not familiar with this project: it is Orchestration Engine using BPEL as language to describe Business Projects. It can be used as web application deployed on Java EE container or as a Servicemix 3.x component.

Available projects:


This maven plugin allows you compile BPEL files with Apache ODE bpel compilator.

Maven pom.xml configuration

Following configuration will compile PrototypeCase.bpel file during maven compile phase:





Quoting mail of Maciek aka mpr on ode-dev mailing list:

In our project at touk we ended up having quite large & complex

processes. We found it difficult to do testing based e.g. on soapUI, as

we had to make many mock requests, responses and so on. We didn’t find

any tool enabling testing single scopes, sequences or assigns, so I

developed our own.

How it works:

Testing is based on processes compiled to .cbp format. The base class

for tests is pl.touk.ode.scopeEvaluator.ActivityTest.

The test looks more or less like this:

public void testAssign2() throws Exception {
     //we set value of string variable a to 'first'
     addVariable("a", "first");
     //we run activity with name = 'sequence1'
     //we assert after running activity the variable a has expected value
     assertEquals("firstsecondthird", getSimpleVariable("a"));

Currently things like picks, invokes, receives, extVars (limited) are

supported. The config (e.g. process properties) can be read from

deploy.xml file (we use only jbi packaging). Simple examples are in


There is also simple expressionEvaluator, which enables quick testing of

xpath/xquery read from process, also using defined variables.


This is a command line tool for validating expressions inside bpel processes using Saxon SA (Schema Aware).


ode-validator-1.0.0/bpelc -od process-dir process-dir/process.bpel



– I get errors “no schema imported for xsd namespace”.

This occurs if you declare variable in “element=’xsd:string'” way. There’s no element declaration in xsd namespace. So correct way is: “type=’xsd:string'” declaration.

– How to assign value to a complex type variable?

There’s an extension for it, you should do: (ode is a standard ODE extensions namespace: xmlns:ode=””)





– I’ve got problem while using schemas from subdirectories. They do not get imported.

In schema imports from inside subdirectory, currently there’s no relative path resolution. So you need to provide full paths for schemas from subdirs.


Proxy-generator is an utility to generation of jbi service assemblies, which will work as a proxies beetwen apache ode processes and SoapUI tests.

As an input, it takes apache ode project with bpel files, web service definitions and deploy.xml file. On output, it generates service assembly (zip file) with single http service unit which containts xbean.xml and necessary web service definitions.

This generator can be run from command line and as a maven plugin goal.

Generated service assembly has configurable uri of listening services and services which are invoke from process.

Sample run:

java -jar proxy-generator-console-0.1.0.jar path/to/sources -o output_name -luri -ouri
java -jar proxy-generator-console-0.1.0.jar sources_folder -o output_name -luri -ouri -p properties_file_name
java -jar proxy-generator-console-0.1.0.jar --help

SoapUI Improved


– TestCase Generator to generate TestCases for current TestSuite from getCommunication.xml file with communication of BPEL process returned by ODE

– Simple-in-use choosing mechanism of properties sets.

– Mechanism of running a single TestCase using SetupScript started from TestSuite

– Mechanism of running a single GroovyTestStep with the use of functions which are declared in SetupScripts in TestSuite and/or TestCase.

You May Also Like

Dziękujemy za twitowanie na dobroczynny celThanks for tweeting 4 charity

Zakończyliśmy akcję „Twit Vendors for charity” – dziękujemy, że się przyłączyliście! Razem przekazaliśmy 1000 PLN na fundusz konferencji 33rd Degree 4 charity. W sumie podczas imprezy zebrane zostało14059,54 PLN, które powędruje do potrzebujących.Our action „Twit Vendors 4 charity” is over – thank you for being a part of it! Together we donated a total of 1000 PLN to the 33rd Degree 4 charity conference. All the donations made during the event raised 14059,54 PLN for people in need.

Scalar – będziemy tam z ofertą pracy dla Was

Już w najbliższą sobotę – Scalar – bezpłatna konferencja dla wszystkich zainteresowanych Scalą. TouK ma przyjemność być jednym ze sponsorów wydarzenia. Podczas przerw będziemy rozglądać się za młodszym developerem Scali, więc jeśli jesteś zainteresowany pracą, wypatruj ludzi z TouK. This Saturday – Scalar – a free conference for funs and enthusiast of Scala. TouK has a pleasure to co-sponsor the event. During breaks we'll also look out for a junior Scala developers, so if you're interested, look out for TouK people.