Welcome to Soapower’s documentation!

Contents:

Overview

What’s Soapower ?

Soapower provides a GUI for

  • viewing webservices requests (live and search page),
  • download the data from the request and response,
  • getting response time,
  • viewing 90percentiles response times, etc ...
  • Soapower allows monitoring several applications across multiple environments.

It is also possible to set a threshold response time on soapaction, the alerts are rising if the receiver does not send the response back in time.

Administration interface is available for

  • Configure environments and webservices (local / remote target / timeout)
  • Set the thresholds for response time for each serviceaction
  • Import / export service configurations & settings
  • Set the purges data Content Data requests & Answers, All Data / environment
  • Monitoring CPU / Heap Memory / logs file

Screenshots

Live Page

_images/live.png

Search Page

_images/search.png

Analysis

_images/analysis.png

Monitoring

_images/monitoring.png

Environments

_images/environments.png

Edit an environment

_images/editEnvironment.png

Services

_images/services.png

Edit a service

_images/editService.png

Quickstart

You have to use docker to run Soapower.

docker run -i -d -p 49010:9010 --privileged -t -v /data/soapower/mongodb:/data/db -v /data/soapower/backups:/opt/soapower/backups yesnault/docker-soapower:215

Check Installation

Tips

  • You can forward port of mongoDB -p 49011:29017
  • There is a backup of configuration in directory /data/soapower/backups. The backup is made by a job in the crontab (at 23h30)
  • If you forward the ssh port -p 49012:22, you can connect to your container with :

ssh admin@localhost -p 49012 sudo su #to become root in the container

Usage

Send a request on a service already configured

  • Register manually environment, then service
  • Call http://<server>:<port>/soap/<environment>/<localTarget> for a SOAP service or http://<server>:<port>/rest/<environment>/<localTarget> for a REST service.

Send a request on a service not configured

Auto register SOAP service by calling http://<server>:<port>/autosoap/<group>/<environment>/<remoteTarget> Auto register REST service by calling http://<server>:<port>/autorest/<group>/<environment>/<remoteTarget>

Example : http://localhost:9010/autosoap/myNewGroup/myNewEnvironment/http://localhost:8080/myWebservices

Jenkins Integration

If a ServiceAction’s response time is > threshold, a failed test is generate and visible on Jenkins.

  • Create a job, with a shell execution:

rm *.xml ; wget http://<server>:<port>/statsAsJunit/yesterday/yesterday/ -O result.xml

  • Add a publish test Junit to view all ServiceAction’s result time.
  • Url parameters : http://<server>:<port>/statsAsJunit/<minDate>/<maxDate>/ with minDate / maxDate like : 2012-12-10T00:00, yesterday, today
  • You can add extra parameters to the URL, three parameters can be set : treshold, environment and service.

Example : http://localhost:9010/statsAsJunit/group/yesterday/today?service=myService&environment=dev&treshold=10000 This url create a Junit test that check if all actions result time of the ServiceAction ‘myService’ for the environment ‘dev’ are lower than 10 000 ms. You can also test all services of an environment (without setting the service parameter) or test a specific service on all the environments (without setting the environment parameter).