Download presentation
Presentation is loading. Please wait.
Published byChristine Anderson Modified over 9 years ago
1
1 Presentation will begin momentarily…
2
2 Service Stub and Transparent Proxy: Wilma INNOVATION WE MUST DO AUGUST 24, 2015
3
3 AGENDA Test Situation 1 Requirements to address the issues 2 Tool: Wilma 3 How it works? 4 Capabilities / Features 5 Future 6
4
4 THE TEST SITUATION – COMPONENT/SERVICE
5
5
6
6
7
7 ? ?
8
8 ? missing new feature
9
9 THE TEST SITUATION – COMPONENT/SERVICE
10
10 THE TEST SITUATION – COMPONENT/SERVICE -No answer -Malformed answer -invalid content-length -invalid content-type -Errors in response -E50x, E404, etc -Delayed answer, Timeout
11
11 THE TEST SITUATION – COMPONENT/SERVICE
12
12 THE TEST SITUATION – COMPONENT/SERVICE
13
13 THE TEST SITUATION – COMPONENT/SERVICE
14
14 THE TEST SITUATION – @ MICROSERVICES
15
15
16
16 REQUIREMENTS We must monitor the messages between the components/services so we need a Transparent Proxy that captures the messages We must generate component/service responses so we need a highly configurable Service Stub That means static and dynamic response contents Any message types and contents: HTML, XML, SOAP, JSON, REST, etc We must handle HTTP, HTTPS requests, even 2-way SSL We need intelligent selection between Proxying the request or generate Stub response We need easy integration with CI environments, test-automation friendly configuration The solution should be robust and very stable Shall offer extensibility
17
17 THE SOLUTION THE SOLUTION: WILMA
18
18 HOW WILMA WORKS?
19
19 HOW WILMA WORKS?
20
20 HOW WILMA WORKS? – Information-flow Diagram
21
21 HOW WILMA WORKS? – Transparent Proxy
22
22 HOW WILMA WORKS? – Message Logging
23
23 HOW WILMA WORKS? – Handling a Request as Proxy
24
24 HOW WILMA WORKS? – Handling a Request as Stub
25
25 HOW WILMA WORKS? – Configuring the Stub Service Configuration file: XML files Request/Response pairs are defined as Condition Descriptors and Response Descriptors Request – Condition Descriptors Built-in Conditions (check header / body content) Several conditions can be combined (and/or) and negated External conditions can be used Response – Response Generation Template files can be used (static answer) Built-in Template Formatters can be used to alter the templates Response can be generated (dynamic answer) External Template Generators and Template Formatters can be used And so on (delay the response, malformed responses, Exxx responses…)
26
26 HOW WILMA WORKS? – Configuring the Stub Service
27
27 HOW WILMA WORKS? – Configuring the Stub Service
28
28 WHERE WILMA CAN BE USED? Local development environment – analyse messages, stub services CI environment – can stub surrounding services of the tested service Integration test environment – analyse messages, stub services
29
29 HOW WILMA CAN BE USED? As proxy (even if STUB mode is used only):
30
30 HOW WILMA CAN BE USED? Single Wilma instance can serve many services in parallel
31
31 HOW WILMA CAN BE USED? Even can be used with microservices
32
32 SHOW WILMA IN ACTION! Config1 + https://info.epam.com/en/news.htmlhttps://info.epam.com/en/news.html Config2 + https://info.epam.com/registerhttps://info.epam.com/register
33
33 WHAT WILMA OFFERS IN ADDITION?
34
34 OPERATION MODES Wilma 1 Exclusive PROXY 2 Exclusive STUB 3
35
35 OPERATION MODE – Exclusive PROXY Mode
36
36 OPERATION MODE – Exclusive STUB Mode
37
37 WHAT WILMA OFFERS IN ADDITION? INTERCEPTORS Both Request and Response can be intercepted Any operation on the intercepted message can be performed External Interceptor classes can be used
38
38 INTERCEPTOR EXAMPLE – A CIRCUIT BREAKER Need stub configuration – to provide response instead of B, in case B is in bad shape An interceptor evaluates the responses If Service B gave bad response: – turns on STUB for Service B – After a defined timout turns off STUB for Service B
39
39 WHAT WILMA OFFERS IN ADDITION? RUN-TIME CONFIGURATION Stub configuration Upload and download templates, classes, jars, messages
40
40 RUN-TIME CONFIGURATION OF WILMA VIA UI
41
41 RUN-TIME CONFIGURATION OF WILMA VIA UI
42
42 WHAT WILMA OFFERS IN ADDITION? BROWSE/SEARCH ON LOGGED MESSAGES Via Wilma UI itself Via Wilma Message Search Application
43
43 MESSAGE BROWSING VIA WILMA UI
44
44 MESSAGE BROWSING VIA WILMA MESSAGE SEARCH Wilma Message Search application high performance search engine, offers searching of the request-response pairs those were logged by Wilma Correlation ID
45
45 WHAT WILMA OFFERS IN ADDITION? API Stub configuration Upload and download templates, classes, jars, messages Load information
46
46 WILMA HTTP API
47
47 WILMA-SERVICE-API LIBRARY
48
48 WILMA-SERVICE-API LIBRARY
49
49 WHAT WILMA OFFERS IN ADDITION? Built-in Safeguards Maintains amount of messages saved onto disk – no run out of disk space
50
50 WHAT WILMA OFFERS IN ADDITION? Built-in Safeguards Self protecting machanisms against overload Load information is available
51
51 WHAT WILMA OFFERS IN ADDITION?
52
52 WHAT WILMA OFFERS IN ADDITION? Open Sourced under license GNU GPL v3.0 Available via GitHub, including documentation Feedbacks are welcome and as well as contribution
53
53 FUTURE OF WILMA.NET API Service API lib enhancements Promotion within EPAM and for Customers Depends on the OS community
54
54 Any Questions? Wilma is @ https://github.com/epam/Wilma AUGUST 24, 2015
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.