------------------------------------- | #### ###_____________________### | | # # # ## ### # # # | | ### ## # # # # ## ## ## | | # # # #### # # # ## # # | | # # ### # # #### # # ### | ------------------------------------- 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. 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, the release of a new version of the wsToolset2 (even if only limited to the BpelComposer) seems 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 (and relevant WSDL) 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 tools that are part of wsToolset2: 1. open a command shell 2. enter the folder containing the distribution of the wsToolset 3. run the 'setenv' script that comes along with the distribution Windows --> setenv.bat Linux --> setenv.sh 4. run the tool launch script, e.g., in the case of the BpelComposer: Windows --> bpelComposer.bat Linux --> bpelComposer.sh Here it follows a complete description of the options for all the tools that are part of the wsToolset2: BPELCOMPOSER ------------ bpelComposer.{sh | bat} [-v ] -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 BPELTOSTS --------- bpelToSts.{sh | bat} [-dv] [-h] [-v ] [ [] ... []] | } -dv, --disable-validation Disables validation -h, --help Shows the help screen -v, --verbosity 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 [] ... [] Specifies the process to be elaborated STSTOBPEL --------- stsToBpel.{sh | bat} [stsfile] [langmap] DATANETTOSTS ------------ datanetToSts.{ sh | bat} [ ... ] -chor FSTSTOSMV --------- fstsToSmv.{sh | bat} [ ... ] STSSYNTH -------- stsSynth [ ... ] -dn [ ... ] -chor STSTODOT -------- stsToDot.{ sh | bat} [ ... ] STSTODSTS --------- stsToDsts.{sh | bat} [ ... ] -composed [mode] [mode] = '-handle_eqs_via_comm' (default) | '-handle_eqs_by_placement' STSTOFSTS --------- stsToFsts.{sh | bat} [ ... ] ======== 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 running the 'setenv' script 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.astroproject.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. - 'clean' Ant task cleans what was generated with the 'dist' task. - 'cleanastrolibs' Ant task cleans the ASTRO libs from the dependencies folder. - 'clean-test' Ant task cleans what was generated with the 'test-*' tasks. - 'clean-sample' Ant task cleans what was generated by running the samples. - 'clean-package' Ant task cleans the folder containing the src and bin packages. - 'clean-all' performs all of the previous tasks. REMARK: the 'clean-test' (and thus also the 'clean-all') task requires to configure the environment by running the 'setenv' scripts explained in section 5. ================= 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 ===