V1.6.229 - Maintenance Release
This V1.6 release of Wilma is focusing on documentation, code quality and on example usages.
- Several example plugins are developed. These plug-ins can be found as sources under "wilma-extras" folder:
- Plugin: Look-And-Say - see details here: https://en.wikipedia.org/wiki/Look-and-say_sequence nothing special, just to show that Wilma is able to provide an independent web service. Issue: #78. See details here.
- Plugin: ShortCircuit - in case a request has happened before, and the answer is known, Wilma uses the previously recorded answer (so stub it), otherwise act as proxy and record the answer - next time can be used. So technically this is a cache plugin. Issue: #71. See more details here.
- Plugin: Replicator - an example that shows how to send the original request (meanwhile normally proxying it) to another target too -> later the 2 request and response can be compared. Good for comparing the behavior of 2 different (maybe just in version) component that receives the same request. Good to deliver a request to both a legacy and a new service. Issue: #79. See more details here.
- Plugin: Bulkhead - An example implementation of using Wilma as a Bulkhead. What is Bulkhead? Bulkhead takes its name from a principle of ship design where walls or barriers separate the ship into watertight compartments so that, if the hull is breached, the failure is limited to a specific compartment and prevents (or delays) the ship from sinking. The "water" in this analogy is heavy request load saturating the system entry points (a component entry points) or the failure of a dependent service. In cloud application architecture or microservices architecture, using bulkheads between components/microservices of the system means protecting specific components/microservices from heavy lead/when it is replaced, etc.. Issue: #72. See more details here.
- Plugin: Random Error Generator - The Random Error Generator's job is to touch the responses randomly and instead of letting the original response arriving, cause: E404, E500s and request timeouts. The idea is very close to Chaos Monkey of Netflix - just not for instances, but for services. Issue: #70. See more details here.
- Plugin: Circuit Breaker - If you are familiar with microservices, then you know what "Circuit Breaker" means. This plugin is an example implementation. Issue: #60. See more details here.
- Plugin: Reverse Proxy - An example implementation of Reverse Proxy functionality by using Wilma. Issue: #73. See more details here.
- Further improvements:
- Brand new Postman collection is available to give example on majority of Wilma API calls, and for example plugins (only works when the plugin is loaded properly).
- Visibility of active interceptors is added to the UI - However it is easy to get information about the active interceptors via API and/or by checking the source of the stub configuration, it would be a little bit better to see them listed on UI too. Issue: #74 - implemented.
- Using all built-in condition classes with their short names - In the past, it was possibble to use several built-in condition classes only by using their full class name. With this enhancement, using their short class name is enough. See more details at issues #95.
- Further code quality enhancements - see issue: #9, #97.
- Gradle build was upgraded to version 4.9, SonarQube to 7.2.1
- This release is supposed to be the latest release using Oracle Java 8.
As usual, the release is available as docker images too.