Skip to content
This repository has been archived by the owner on Mar 21, 2022. It is now read-only.

ExplorViz is a monitoring and visualization approach, which uses dynamic analysis techniques to provide a live trace visualization of large software landscapes. This repository contains the backend.

License

Notifications You must be signed in to change notification settings

ExplorViz-Archive/explorviz-backend

Repository files navigation


TravsCI Build Status

Project Description

ExplorViz uses dynamic analysis techniques to provide live trace visualization of the communication in large software landscape. It targets system and program comprehension in those landscapes while still providing details on the communication within an application. A landscape perspective enriches current system visualizations with additional abstraction levels for efficient comprehension of communication between hundreds of applications which is often encountered in, for instance, Cloud environments. On the application level perspective, ExplorViz utilizes the 3D city metaphor combined with an interactive concept of showing only details that are in focus of the analysis. For best accessibility, ExplorViz is a web-based tool featuring cutting-edge technologies like WebGL and HTML 5.

Given the 3D city metaphor visualization of an application, we investigate new interaction styles and higher immersion for a more effective and efficient program comprehension process. For this purpose, we utilize uprising technologies and evaluate developed approaches in experiments with real test subjects.

The usability and effectiveness of ExplorViz has been investigated in controlled experiments which resulted in increased efficiency and effectiveness over competing approaches.

This project contains the modernized version of ExplorViz.

It substitutes GWT and it's (asynchronous) RPC framework with Jersey for creating a RESTful API. This is only the backend, you will need the explorviz-frontend as well.

This gradle project includes or installs every necessary dependency.

Citation

If you use this software, please cite

Citing ExplorViz' collaborative modularization process:

  • Zirkelbach, Christian, Krause, Alexander and Hasselbring, Wilhelm (2019): Modularization of Research Software for Collaborative Open Source Development. In Proceedings of the Ninth International Conference on Advanced Collaborative Networks, Systems and Applications (COLLA 2019), June 30 - July 04, 2019, Rome, Italy. [BibTex] | [Endnote]

Documentation

  • The API documentation is available here
  • The documentation for endpoints of services (SwaggerUI) is available here, once all services are started

Eclipse Setup

  1. Download the latest Eclipse IDE for Java Developers (ExplorViz requires JDK 11 compliance)
  2. Follow the CAU-SE guidelines for quality assurance (Only necessary if you contribute code)

Setup Development (Docker and docker-compose are required)

  1. Follow the previous Eclipse Setup
  2. Clone this repository
  3. Import project into Eclipse: via Import -> Gradle -> Existing Gradle project -> path/to/explorviz-backend
  4. Follow the instructions inside of the docker-compose folder to start mandatory docker-based services (e.g. MongoDB)
  5. Start explorviz-backend microservices via run configurations in the run-configurations folder: Right click single config -> Run as -> ExplorViz-X (where X is the name of a microservice)
  6. Setup and start explorviz-frontend

Further Information

  • To force the download of newly added dependencies: Right click on the project explorviz-backend -> Gradle -> Refresh Gradle Project. You might need to uncomment the respective lines in the build.gradle file.
  • Generating API Documentation: Travis CI automatically builds all Javadoc on successful master-branch builds

Quick start with sample (dummy) monitoring

  1. Follow the above Setup Development procedure
  2. Clone TestApplication
  3. Start the TestApplication as described here.
  4. Open explorviz-frontend

Important: Changes that are related to dependency injections require a recompilation of the application. Thus, restart the microservices. Afterwards, start the monitoring again.

About

ExplorViz is a monitoring and visualization approach, which uses dynamic analysis techniques to provide a live trace visualization of large software landscapes. This repository contains the backend.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages