xJREB / research-modifiability-pattern-experiment

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Service-Oriented Modifiability Experiment

To provide empirical support for the modifiability of service-based systems this repo contains two functionally equivalent WebShop systems. The system is implemented in very basic fashion and provides CRUD operations for e.g. customers, products, or orders. For simplicity, no persistence of data is implemented, i.e. after restarting a service all changes to data will be reset.

Several tasks have to be performed on the systems within a certain timeframe. Both effectiveness and efficiency should be measured for each version.

To build and start services and components, several scripts are available (see _scripts folder in each workspace). The .sh scripts should work for both Linux and Mac and should also work with GitBash or Cygwin on Windows. Alternatively, there is also a folder with .bat scripts for the Windows command line (_scripts/win).

Prerequisites for the Experiment:

  • Make sure a JDK >=1.8 is installed and that the JAVA_HOME variable is set accordingly.
  • Make sure Maven >=3.5.0 is installed and mvn is available from the command line.
  • Make sure Node.js >=8.0.0 is installed and that npm is available from the command line.
  • For Version 2 of the system: make sure Apache Kafka >=1.1.0 is installed. The Windows build scripts for Kafka and Zookeeper currently expect all related files to reside in C:\dev\apache-kafka. If you installed Kafka somewhere else, be sure to adjust _scripts\win\1_start-zookeeper.bat and _scripts\win\2_start-kafka.bat with your custom path. In the provided Ubuntu VM, both Zookeeper and Kafka are already installed and run as services. So you won't need start scripts.
  • Install a Java IDE (recommended: Eclipse)
  • Install a Web IDE (recommended: Visual Studio Code)
  • Install a modern web browser (recommended: Mozilla Firefox)

Please choose a version and refer to the README in the respective workspace folder (workspace-version1 or workspace-version2). The evaluation web UI that checks if a task has been successfully finished is the same for both versions (see exercise-validation).

We also uploaded all artifacts related to the first conducted experiment with 69 Bachelor students as well as the results of the structural metric analysis (see _results). The data in CSV format, the R script for the analysis, the participant survey questions, as well as a spreadsheet with all metric values are provided.

About

License:MIT License


Languages

Language:Java 80.1%Language:R 6.2%Language:JavaScript 5.4%Language:HTML 4.8%Language:Shell 1.7%Language:Batchfile 1.4%Language:CSS 0.5%