Download Centre
Introduction
This page grants access to the download bundle for the Broker@Cloud
Verification and Testing Tool Suite. These tools were developed for
the EU FP7 Broker@Cloud project, to support the continuous quality
assurance objective.
The Broker@Cloud Verification and Testing Tool Suite is offered as
Open Source software, under the Apache 2 License. This license allows you
to download the source code for the tools and incorporate them in your own
Cloud service development framework. The tools consume and produce XML files,
which allows you to develop your own user interfaces to create XML input and
render the XML output in whatever way you like. The software bundle provides
one standalone Java Swing application for running all the tools; and another
set of CGI programs for offering each tool individually as a web service (as
demonstrated on this website). Please read the licensing terms before
downloading or using the software.
Software Licensing Terms
The Broker@Cloud Verification and Testing Tool Suite is copyright © 2015
Anthony J H Simons and Raluca Lefticaru, University of Sheffield, UK. All rights
reserved. DO NOT ALTER OR REMOVE COPYRIGHT NOTICES FROM THE SOFTWARE FILES.
The Broker@Cloud Verification and Testing Tool Suite (the "Software") is
developed as an output of the European Union collaborative research project,
Broker@Cloud: enabling continuous quality assurance and optimization in future
enterprise cloud service brokers, FP7-ICT-2011-8 no. 318392, and is licensed
under the Apache License, Version 2.0 (the "License"). You may not use the
Software except in compliance with the License. You may obtain a copy of the
License at:
Unless required by applicable law or agreed to in writing, Software distributed
under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
CONDITIONS OF ANY KIND, either express or implied. See the License for the
specific language governing permissions and limitations under the License.
The freedoms granted by the License to incorporate, redistribute, modify or extend
the software apply only to foreground software contributed by the
Broker@Cloud project; and not to any proprietary software, or background
software incorporated from other sources, which may be offered under different
terms of usage.
Please contact the Department of Computer Science, University of Sheffield, Regent
Court, 211 Portobello, Sheffield S1 4DP, UK or visit
www.sheffield.ac.uk/dcs if you need additional information
or have any questions.
Software Dependencies
Before downloading the software, you need to have appropriate versions of the
Java development tools (JDK) or the Eclipse IDE Java development framework. You
also need to be aware of the various dependencies that exist between the Broker@Cloud
Verification and Testing Tool Suite (VTTS) and other external libraries. Depending on
your preferred means of launching the tools, the following prerequisites should be
satisfied:
- Command line usage: To run the tools individually on a Unix or
Windows command line, we recommend that you have Java JDK 1.7 installed. You will
also need the JAST library.
- Java Swing demo GUI: To run the standalone Java Swing demonstration,
we recommend that you have Java JDK 1.7 installed. You will also need the JAST and
JSyntaxPane libraries.
- Eclipse IDE integration: To run the tools within the Eclipse IDE,
we recommend you have Java JDK 1.7 and Eclipse v4.0 (Luna) installed. You will also need
the JAST and JSyntaxPane libraries.
- JUnit test execution: To execute sample test suites generated in
Java for Java service clients, we also recommend you install JUnit 4.0 (also available as
a library within Eclipse).
- Web service execution: To execute SOAP or REST web service clients,
you will need to install additional libraries, some standard examples of which are included
below for convenience (all are available from the original providers).
Download and Installation
The main download bundles will be archived at the
Broker@Cloud GitHub, but can also be downloaded from this website. For convenience,
the software is split into two bundles:
Download and unizp both bundles. The main bundle should contain the source code Java
archive file brokeratcloud-vtts-1.0.jar . The library bundle should contain
a root folder brokeratcloud-vtts-lib , containing a number of folders, each
containing one or more library jar files.
Copy the contents of this library folder to somewhere on your machine from which your
Eclipse, or JDK CLASSPATH , can access the library files as external jar files.
Below, we will refer to the root of your library as lib , but you could use
some other name.
If using Eclipse, create a new Eclipse project BrokerAtCloudVTTS (select:
File -> New -> Java Project, and enter the project name). Import the main source code
Java archive file brokeratcloud-vtts-1.0.jar . You should be able to see a
collection of folders, which include:
src - the source code directory, containing Java sources
doc - the documentation directory, initially empty (see below)
xml - the xml directory, containing service specifications
You should also have some unresolved dependencies, showing as red checkboxes on
on folders containing Java packages.
In your Eclipse IDE, configure your build path (right-click on the project name
BrokerAtCloudVTTS , then select: Build Path -> Configure Build Path ->
Add External JARs) to include the following external jar-files provided in your root
library folder (here called lib , but use the name you gave it):
lib/jast/jast-1.1.jar - the Java Abstract Syntax Trees marshalling library
lib/jsyntaxpane/jsyntaxpane-1.0.0.jar - JSyntaxPane code formatting library
Select OK to complete this, after you have added both libraries, and ensure that the
red checkboxes have now disappeared.
The VTTS tools may now be used directly to analyse and verify the example XML service
specifications provided in the /xml folder. You may also generate high-level
test-suites, which are also stored as XML under the same folder. Please see the end-user
guide for further information on how to use the tools. The generated documentation (see
below) also has usage instructions for each tool.
Generating Documentation
Detailed navigable documentation may be created from the main source code bundle, using
the javadoc tool provided as part of your Java JDK installation. Eclipse may
not have a particular javadoc generator installed, and a dialog will ask you
to point to your particular JDK installation.
Generate Javadoc documentation in Eclipse (left-click the project name
BrokerAtCloudVTTS , menu select: Project -> Generate Javadoc).
This will open a dialog where you
must fill in the path to your JDK's javadoc program; and you should also tell
Eclipse where to put the generated documentation. For this, use the directory set up within
the project, ready to receive the documentation. These might look something like this
under Windows:
C:\Program Files\Java\jdk1.7.0_80\bin\javadoc.exe
<path-to-eclipse>\Eclipse\BrokerAtCloudVTTS\doc
Select OK to complete this, after ensuring both dialog fields point to the right places,
and you should see a log appear in the Eclipse output console as Javadoc is created. Note
that VTTS code should generate no Javadoc warnings; but user-generated classes added
subsequently may generate warnings, if not fully documented by the user. To view the
documentation, open the file:
<path-to-eclipse>\Eclipse\BrokerAtCloudVTTS\doc\index.html
Selection of External Libraries
You are free to translate the high-level XML test-suites generated by our tools into
whatever concrete format you need for your cloud service technology. For demonstration
purposes, we have provided three concrete groundings, which all assume Java clients to
invoke each service, and use JUnit as the technology to execute the tests. If you
generate concrete JUnit test-driver classes using our demonstration groundings, the
resulting test-drivers will have further dependencies, which may appear in the project
as red checkboxes.
- For testing simple Java clients (POJOs), you will only need to install JUnit 4.0, which is
provided as part of the Eclipse distribution. Your generated test-driver will depend on a
Java client to be tested.
- For testing JAX-WS Java clients for SOAP web services, you will have used JAX-WS to create
your web service and also to generate a Java client from the WSDL description of the service.
Your generated test-driver will depend on a Java resource class and a Java interface to the
service, in the style expected by JAX-WS.
- For testing JAX-RS Java clients for REST web services, you will have installed a suitable
REST service. Your generated test-driver will depend on the Apache Jersey reference
implementation of JAX-RS; and also on the Google Gson library for unmarshalling JSON data.
We assume that it is easy for you to obtain JUnit, JAX-WS and JAX-RS libraries as part of
your Java Enterprise Edition platform. For convenience we have bundled some of the other
libraries in the second download bundle. This bundle contains the root folder:
brokeratcloud-vtts-lib , which has the following structure:
gson - the Google Gson library for marshalling and unmarshalling
JSON format data (needed for our generated REST clients).
jackson - the Jackson library for processing JSON format data in
different ways (may be needed for future REST clients).
jast - the Java Abstract Syntax Trees library for marshalling and
unmarshalling XML (needed by all verification and testing tools).
jersey - the Apache Jersey reference implementation of a JAX-RS REST web
service (needed for our REST clients).
jsyntaxpane - the Google JSyntaxPane library for syntax highlighting of
code (needed by the standalone Java Swing application).
Add the relevant jar-files to your build path as and when you need them (in Eclipse, this will
be indicated by a red checkbox appearing on a generated Java file, when this file depends on
types that are as yet unknown to the environment). See the instructions above on how to
configure your build path.
|