Pages

Monday, 6 April 2020

Wilma

Service Virtualization Solution – a combined Service Stub and Transparent Proxy.

Wilma is a Service Virtualization tool, that combines the capabilities of a Service Stub and a HTTP/HTTPS Transparent Proxy. Its main purpose is to support development and testing applications/services/components those functionality relies/depends on another application/services/components that can be owned by you or can be owned by 3rd party as well. The selected architecture approach makes it capable to use it in unit, integration, functional, end-to-end, performance test environments and environments those contains microservices. It can be used for manual tests too. It is expandable easily via plugins and configurable on-the-fly. It is written in Java, and the solution consists of two standalone applications:
  • Wilma application is the highly configurable Service Virtualization tool
  • Wilma Message Search application (optional component) provides high performance searching capability of the request-response pairs that were logged by Wilma application.

Quick intro for end users

Wilma application

Requirements

  • JRE 8 (pls use earlier Wilma releases than V1.6.x when you need to use Java 7 version)
  • The latest release of Wilma application downloaded and extracted into a folder.

Configuring Components/Services to use Wilma

The most simple way to do this is by configuring the Component/Service to use Wilma as HTTP(S) proxy. In case of Java components/services, this can be done by adding a few VM arguments to the run configuration:
JAVA_PROXY_FLAGS=-Dhttp.proxyHost=[wilma-url] -Dhttp.proxyPort=[wilma-proxy-port] -Dhttps.proxyHost=[wilma-url] -Dhttps.proxyPort=[wilma-proxy-port]
java ${JAVA_PROXY_FLAGS} ...

Configure and run Wilma

To run Wilma with simplest configuration, just download the release, extract it and run: java -jar wilma-x.y.z.jar wilma.conf.properties
See this page for more detailed information on how to configure Wilma, and Component/Service that uses Wilma.

Docker Image of Wilma

  • Docker image of Wilma is available on DockerHub, see details here

Contact, questions and answers

In order to get the latest news, follow this project on GitHub. The latest documentation can be found at http://epam.github.io/Wilma/. Feel free to seek for assistance/advise, or discuss usage scenarios by submitting new Issue on GitHub or by joining to wilma-users mailing list.

Wilma Message Search application

  • Running Wilma Message Search application is optional, Wilma itself does not require it.
  • This optional component just makes your life easier in case you would like to run quick searches on the messages logged by Wilma.
  • To run Wilma Message Search application, java JDK must be used. With JRE, it will not work properly.
  • Docker image of combined Wilma and Wilma Message Search application is available on DockerHub, see details here

Requirements

  • JDK 8 (pls use earlier Wilma releases than V1.6.x when you need to use Java 7 version)
  • The latest release of Wilma Message Search application downloaded and extracted into a folder.

Running

java -jar wilma-message-search-x.y.z.jar message.search.conf.properties

Quick intro for developers/contributors

There are several ways you can help us:
  • Raise an issue. Have you found something that does not work as expected? Let us know about it.
  • Suggest a feature by submitting an issue or by sending an e-mail to us. It's even better if you come up with a new feature and write us about it.
  • Write some code. We would love to see pull requests to this tool. Feel free to contribute (send pull request) on GitHub.

Advised working environment

  • Java JDK 8
  • IntelliJ / Eclipse
  • Gradle, Checkstyle, Git Integration for the IDE

Building with Gradle

The project can be built by following the instructions described here. This way of build is recommended for contributors only, End-Users, please use the pre-built downloadable releases from here, or use the docker image.
Build Status Quality Gate Status

Detailed information

---

Wilma - a combined Universal Stub and Transparent Proxy

Wilma is a Service Virtualization tool, that combines the capabilities of a Service Stub and a HTTP/HTTPS Transparent Proxy. Its main purpose is to support development and testing applications/services/components those functionality relies/depends on another - usually 3rd party - service or services. The selected architecture approach makes it capable to use it in performance test environment and environment that contains microservices. It is written in Java, and the solution consists of two standalone applications:
  • Wilma application
  • Wilma Message Search application
Wilma application is the highly configurable Service Virtualization tool. It logs the messages, and meanwhile acts as a proxy between the components, makes it possible to stub responses based on configuration defined in XML file(s). It is also possible to alter/modify the messages, real-time. It is designed for use in development and test environments where test automation is in use (unit, integration, functional or end-to-end). Also can be used for manual tests. It is expandable easily via plugins.
Wilma Message Search application provides high performance searching of the request-response pairs those were logged by Wilma application.

Detailed information