------------------------------------- | #### ###_____________________### | | # # # ## ### # # # | | ### ## # # # # ## ## ## | | # # # #### # # # ## # # | | # # ### # # #### # # ### | ------------------------------------- The wsToolset2 is a toolset for performing the composition, the monitoring and the verification of Web services. The wsToolset2 is made of several tools (BpelComposer, wsynth, wmon, NuSMV2). The current release of the wsToolset2 addresses only a subset of the features that the old wsToolset used to manage. In particular the current version of the wsToolset2 addresses only the Web service composition problem and, in particular, the 'datanet' composition technique. This task is accomplished, within the toolset, by the BpelComposer tool, that coordinates the execution of the other tools (wmon and wsynth). For this reason the current documentation mainly refers to the BpelComposer rather than to all the wsToolset. The porting of the other features that were present in wsToolset 1.x.x such as 'ground level' composition, 'knowledge level' composition, verification and monitoring has been postponed. Nevertheless, due to the great improvements occurred to the BpelComposer in terms of features and design, a new release of the wsToolset2 (even if only limited to the BpelComposer) seems, at this stage, more than appropriate. The BpelComposer is a tool for the composition of Web services. The tool takes in input a set of abstract BPEL processes plus a set of requirements and generates concrete (executable) BPEL processes that coordinates the source processes according to the requirements. The result of the BpelComposer can be either a single process that orchestrate the source processes or a set of processes that enable the choreographic composition of the source processes. The BpelComposer is a tool developed by FBK-irst and University of Trento. =========== 0. CONTENTS =========== 1. Copyright 2. Features 3. System requirements 4. Build 5. Run 6. Tests 7. Samples 8. Clean 9. Documentation 10. Contact info 11. Acknowledgements ============ 1. COPYRIGHT ============ Copyright (C) 2004-2005 by FBK-irst and University of Trento - DIT The wsTranslator is free software; you can redistribute it and/or modify it under the terms of the LGPL (GNU Lesser General Public) License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The wsTranslator is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to: Free Software Foundation, Inc. 59 Temple Place, Suite 330 Boston, MA 02111-1307 USA =========== 2. FEATURES =========== The BpelComposer is a cross-platform tool written in pure Java code. The main features of the BpelComposer are: - translate a BPEL process into a State Transition System (STS) - generate a BPEL process that orchestrates of a set of BPEL processses accordingly to the requirements - generate a set of BPEL processes that perform the choreographic composition of a set of BPEL processses accordingly to the requirements - support for both asynchronoous and synchronous processes - support for loops in the processes - BPEL 2.0 specification of processes The BpelComposer is actually a toolchain. The goal of composing abstract BPEL processes is achieved through a set of sequential elaboration steps that transform the initial BPEL processes and the requirements. The architecture of the tool respects this high degree of modularity of the algorithm and has determined the creation of a number of libraries and tools that can also be run and test separately thus enlarging the number of features that the BpelComposer exposes. This set of tools can be found in the 'astro' folder under the form of Java libraries. For a better explanation of the feature of each of these modules please read the README files inside each module and refer to the developers guide. REMARK: the generation of the BPEL processes for the choreographic/distributed composition misses the generation of the WSDL that can enable the execution of the processes onto an engine. Such a feature will be available in the next release. ====================== 3. SYSTEM REQUIREMENTS ====================== The BpelComposer is a cross-platform tool that has been tested on the Linux and Windows operating systems platforms (specifically, Ubuntu and XP). The BpelComposer requires the Java runtime environment (version 6). Java execution environment can be downloaded from URL: http://openjdk.java.net ======== 4. BUILD ======== For building the BpelComposer a Java compiler and the Ant tool must be installed on your system. The build of the BpelComposer has been tested with OpenJDK 1.6.0. Java development environment can be downloaded from URL: http://openjdk.java.net The Ant tool can be downloaded from URL: http://ant.apache.org It is possible to build the BpelComposer tool by executing at a shell prompt the command: ant -f build-all.xml dist Upon a successful build the ASTRO libraries and tools will lie within the 'dist' folder. ====== 5. RUN ====== In order to run the tool: 1. set the TMP variable 2. set the BPELCOMPOSER_HOME variable to the directory containing the 'bpelComposer.jar' library. - for the binary distribution: Windows --> Linux --> - for the source distribution: Windows --> \dist Linux --> /dist 3. set the PATH environment variable to the directory containing the 'wmon'/'wsynth' executables and bpelComposer script: - typically, for the binary distribution: Windows --> %BPELCOMPOSER_HOME%\bin\windows Linux --> ${BPELCOMPOSER_HOME}/bin/linux - typically, for the source distribution: Windows --> %BPELCOMPOSER_HOME%\dist\bin\windows Linux --> ${BPELCOMPOSER_HOME}/dist/bin/linux 4. run the bpelComposer launch script contained in the executable folder: Windows --> bpelComposer.bat Linux --> bpelComposer.sh REMARK: if you are running Windows, when you are setting environment variables, consider using quotation marks in case your path include blanks Here it follows a complete description of bpelComposer usage with all its possible options: USAGE: bpelComposer.{sh | bat} [-v ] OPTIONS: -h, --help Shows help screen -v, --verbosity Enable verbosity -vl, --verbosity-level Sets the verbosity level. Possible values are: 0 = FATAL log only fatal errors 1 = ERROR log errors too 2 = WARN log warning too 3 = INFO log info too 4 = DEBUG log debug too ======== 6. TESTS ======== The source distribution comes with a set of test scenarios. The test scenarios are used to verify the correctness of the several features implemented within the BpelComposer tool. The run of the tests can be automated by using the relevant Ant tasks defined within the 'build.xml' and 'build-all.xml' files. The 'test-centralized', 'test-distributed' and 'test-all' Ant tasks can be run after setting the TMP, the BPELCOMPOSER_HOME and the PATH environment variables as explained in section 5. ========== 7. SAMPLES ========== Both the source distribution and the binary come with a set of sample scenarios. Samples represents versions of the scenarios whose result (the executable BPEL process) can be succesfully deployed and executed from within the ASTRO demo suite (www.astroporject.org). Samples do not have Ant task associated to let them run. Samples must be executed from within their folder, due to path assumptions in the launch scripts. Refer to the README files within the relevant folders. ======== 8. CLEAN ======== After building and running the tool (samples, test), the distribution can be brought back to its initial situation by running the 'clean-*'Ant task. The 'clean' Ant task cleans what was generated with the 'dist' task. The 'clean-test' Ant task cleans what was generated with the 'test-*' tasks and by running the samples. The 'clean-package' Ant task cleans the folder containing the src and bin packages. The 'clean-all' performs all of the previous tasks. The 'clean-test' (and thus also the 'clean-all') task requires to configure the environment by running the 'setenv' script that lies in the root folder of the distribution after customizing it: for Windows users: - edit the 'setenv.bat' script - run the 'setenv.bat' script for Linux users - edit the 'setenv' script - run the 'setenv' script The minimal customization amounts to setting the WSTRANSLATOR_HOME. The other possible modifications can occur at your own will. ================= 9. DOCUMENTATION ================= Source code documentation can be generated by typing 'ant doc' in the root directory of the project. This documentation includes the Javadoc API documentation of each components. ================ 10. CONTACT INFO ================ Links ----- * ASTRO project official site: http://www.astroproject.org Teams ----- * DEVELOPERS pilolli@fbk.eu marconi@fbk.eu mtrainotti@fbk.eu raman@fbk.eu * CONTRIBUTORS pistore@fbk.eu zacco@fbk.eu * TESTING pilolli@fbk.eu pistore@fbk.eu zacco@fbk.eu khurshid@fbk.eu Mailing lists ------------- * To get info about the tool, please contact: info@astroproject.org * To get info about the ASTRO Project, please contact: astro@astroproject.org * To report bugs, please contact: support@astroproject.org ==================== 11. ACKNOWLEDGEMENTS ==================== Ant URL --> http://ant.apache.org feature --> tool build and packaging license --> Jakarta Ant License file --> ant/jakarta-ant.license Ant-contrib: URL --> http://ant-contrib.sourceforge.net feature --> extensions to ant build license --> Apache Software License v2.0 ByaccJ: URL --> http://byaccj.sourceforge.net feature --> parser generator license --> Public domain JFlex: URL --> http://jflex.de feature --> lexical analyzer generator license --> GPL Log4J: URL --> http://logging.apache.org/log4j feature --> logging and debugging license --> Apache Software License v2.0 file --> lib/log4j/log4j.license === EOF ===