GENESIS has been developed to solve a major problem in the current state of the art of software development for Service-oriented Architecture (SOA). So far, software testing in the SOA domain has been mostly concentrated on checking individual Web services regarding their performance, stability, fault tolerance, and other quality attributes. In our opinion not enough effort has been invested into supporting the testing of complex SOA components which operate on (possibly large-scale) service-based environments. Examples of such components are workflow engines which invoke remote services, registries that monitor their services (e.g., VReSCo), governance systems, and many more. To verify the quality, engineers must test these components intensively at runtime and for this they need proper testbed infrastructures. Our motivation was to support the generation of such testbeds, which, so far, had to be done manually by the engineers. We have developed the GENESIS framework that aims at this issue and provides convenient means for engineers to set up customizable testbeds for testing SOA-based systems and/or evaluating SOA concepts at runtime.
Idea & Concepts
For the new version of GENESIS high priority has been assigned to a seamless extensibility of the framework in order to emulate arbitrarily structured testbeds composed of diverse SOA components, and to program their behavior. As depicted in the figure below, GENESIS comprises a front-end, from where testbeds are modeled and controlled, and a distributed back-end at which the models are transformed into real testbed instances. To ensure extensibility, GENESIS follows a modular approach and uses composable plugins that augment the testbed’s functionality. The plugins enhance the schema of the testbed model, providing model types for controlling their extensions, and transform the models into deployable components of a testbed. For an intuitive usage, we are applying Groovy as a compact scripting language for modeling testbeds and for programming their behavior. In a nutshell, engineers specify the testbed at the front-end, defining what shall be generated where, with which customizations, and the framework takes care of distributing the model to the back-end hosts where the emulated testbed is being generated and deployed. At runtime GENESIS maintains a virtual view on the testbed, allows users to manipulate it on-the-fly, and propagates changes to the back-end in order to adapt the running testbed.
For more information about GENESIS and the applications of our framework we recommend to read the papers listed below.
The Genesis2 (G2) prototype can be downloaded from .
The predecessor, Genesis (1), is still available at its prototype page.
Publications about GENESIS
- Juszczyk L., Dustdar S. (2011). Automating the Generation of Web Service Testbeds using AOP. 9th European Conference on Web Services (ECOWS'11), 14. - 16. September 2011, Lugano, Switzerland.
- Juszczyk L., Dustdar S. (2010). Programmable Fault Injection Testbeds for Complex SOA. 8th International Conference on Service Oriented Computing (ICSOC'10), 07. - 10. December 2010, San Francisco, USA.
Juszczyk L., Schall D., Mietzner R., Dustdar S., Leymann F. (2010). CAGE: Customizable Large-scale SOA Testbeds in the Cloud.
6th International Workshop on Engineering Service-Oriented Applications (WESOA). 8th International Conference on Service-Oriented Computing (ICSOC'10), 07. - 10. December 2010, San Francisco, USA.
- Juszczyk L., Dustdar S. (2010). A Programmble Fault Injection Testbed Generator for SOA . Demo Session @ 8th International Conference on Service Oriented Computing (ICSOC'10), 07. - 10. December 2010, San Francisco, USA.
- Juszczyk L., Dustdar S. (2010). Script-based Generation of Dynamic Testbeds for SOA. 8th IEEE International Conference on Web Services (ICWS'10), 5. - 10. July 2010, Miami, USA.
- Juszczyk L., Dustdar S. (2010). Testbeds for Emulating Dependability Issues of Mobile Web Services. 1st International Workshop on Engineering Mobile Service Oriented Systems (EMSOS). 6th IEEE World Congress on Services (SERVICES'10), 5. - 10. July 2010, Miami, USA.
- Juszczyk L., Truong H.-L., Dustdar S. (2008). GENESIS - A Framework for Automatic Generation and Steering of Testbeds of Complex Web Services. 13th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS'08), 31. March - 4. April 2008, Belfast, Northern Ireland.
Publications related to GENESIS
Psaier H., Skopik F., Schall D., Juszczyk L., Treiber M., Dustdar S. (2010). A Programming Model for Self-Adaptive Open Enterprise Systems.
5th Workshop on Middleware for Service Oriented Computing (MW4SOC). 11th ACM/IFIP/USENIX Middleware Conference, 29. November - 3. December 2010, Bangalore, India.
- Psaier H., Juszczyk L., Skopik F., Schall D., Dustdar S. (2010). Runtime Behavior Monitoring and Self-Adaptation in Service-Oriented Systems. 4th IEEE International Conference on Self-Adaptive and Self-Organizing Systems (SASO'10), 27. September - 01. October 2010, Budapest, Hungary.
- Treiber M., Juszczyk L., Schall D., Dustdar S. (2010). Programming Evolveable Web Services. 2nd International Workshop on Principles of Engineering Service-Oriented Systems (PESOS). 32nd ACM/IEEE International Conference on Software Engineering (ICSE'10), 2. - 8. May 2010, Cape Town, South Africa.