1. Wiki (English)

This is the new starting page for the common wiki of the WS-BPEL testing tools developed at the UCASE research group at the University of Cádiz.

Research topics

These are our current research topics regarding WS-BPEL testing:

For more information about their usage and references to their published papers, please check the websites linked in the above items. All our projects are available under free software licenses, the source code is available from the SVN repository hosted at this project. Licenses vary from component to component.

You can also visit the personal web pages of some of the participants:

WS-BPEL Execution Environment

Both projects rely on a common execution environment and are tested through a common set of samples. We are currently using:

  • BPELUnit, an unit testing tool for WS-BPEL. We participate in the project as developers. The official Git repository is here. Interim versions are pushed to our fork at Github.
  • An improved and Mavenized version of ActiveBPEL 4.1, available from here, and extended with some new XPath functions (see source:trunk/src/ExtensionesXPathUCA). We have a self-contained version running on Jetty 7 which can be easily embedded into other applications.

Example WS-BPEL Compositions

Takuan and GAmera are being tested with a common suite of example WS-BPEL programs:

Other tools

We have several other tools that support our work, but can be used separately if desired:

Installation

Standalone tools

For installing Takuan and GAmera, the current best bet is to use the latest install.sh script available from this address, and run one of these commands:

  • ./install.sh gamera for installing GAmera, MuBPEL and its dependencies,
  • ./install.sh takuan for installing Takuan and its dependencies, or
  • ./install.sh both for installing both.

The above script has been tested with Ubuntu 9.10 to 11.04, openSUSE 11.3 and Arch Linux. The script can be run from a regular user account: it will use sudo when it needs root privileges.

After installing the dependencies, please do not forget to log out and back into your account, so the changes in ~/.profile are correctly loaded.

Eclipse plugins

We also have an Eclipse update site with some useful plugins for our work:

https://neptuno.uca.es/dav/eclipse/interim/

Currently, this update site provides a context menu entry for .bpel files for automatically generating the required .bpr files for testing with BPELUnit and ActiveBPEL, and a project nature which automates the invocation of this process.

Development

Most of our source code is written in Java and uses Maven as its build system. The latest code is available from our Subversion repository.

We recommend using our Maven repositories for compiling the tools, as they have the required artifacts for Takuan, GAmera and our execution environment:

The code is divided into three folders:

  • tycho: contains a set of Eclipse plugins which are built by Tycho. These plugins do not depend on anything else. Code in this folder should be written using Eclipse, as Tycho uses the PDE metadata.
  • src: contains a set of standard Maven modules. Developers are free to use Maven, Eclipse (with "mvn eclipse:eclipse" instead of M2Eclipse"), NetBeans or IntelliJ. Some modules depend on some of the tycho projects. Changes to tycho will only be propagated to src after the continuous integration server has approved and deployed the changes, or after we run "mvn install" locally in tycho. Most of the Java modules in this area are OSGi compatible.
  • tycho-src: contains a set of Eclipse plugins and features which reuse the OSGi bundles from tycho and src, and an update site that packages them together. Developers should work in this folder using a separate Eclipse workspace from the others and using the PDE target file in the es.uca.webservices.targetfile folder.

Additional documentation is available at our Maven-generated site. We use Jenkins to perform continuous integration for all the code in this repository and Sonar for continuous inspection of our codebase.

Our C++ code uses regular Makefiles. Our Perl code can be simply copied as-is to any directory. As for the Python and Bash code, it is currently limited to simple single-file scripts.

If you'd like to make a contribution to the Java parts of our system, please make sure to follow this style guide.

We also have a short introduction to some of the tools we use (in Spanish) at source:trunk/docs/introduccion_java_maven_sonar_eclipse.pdf.

Related bachelor's thesis

Many students from the University of Cádiz have contributed to this work as part of their bachelor's theses (in Spanish):

Ongoing documentation work

We are currently re-reviewing the existing WS-BPEL engines for our research work. See this page (in Spanish) for more information.