WSO2Con EU 2015: API Readiness: Is Your API Ready for Primetime?
-
Upload
wso2 -
Category
Technology
-
view
110 -
download
0
Transcript of WSO2Con EU 2015: API Readiness: Is Your API Ready for Primetime?
API Readiness: Visualizing and
Virtualizing
Lorinda Brandon Director, API Partner Development
SmartBear So>ware @lindybrandon
Keys to a successful API
• documentaEon • tesEng • mocking • evangelism • management • monitoring
But how do you get there?
API Readiness
visualize
Service Defini+ons The best way to visualize your API
Describing is not really visualizing
“The best design gets out of the way between the viewer’s brain and the content.”
– Edward Tu>e
– Swagger.ed (credit -‐ @chefarchitect)
New Ideas Coloring outside the lines
Visualizing: New ideas
– Ardoq
New Ideas Coloring outside the lines
Visualizing: New ideas
– LucyBot
New Ideas Coloring outside the lines
API Readiness
visualize
validate
Func+onal Test Live up to your own hype
Load Test Don’t let success kill you
Security Test Know where the dangers are
API Readiness
visualize
validate
virtualize
Why virtualize your APIs?
Bootstrap Parallel dev and test
Test Design
Virtual API Generate from spec
or with tools
Client Development
Integration Development
Isolate Test execuEon and development
Test Execution (automated or manual)
Development
Component in dev or test
3rd party APIs (virtualized)
Other APIs (virtualized)
Legacy Systems
(virtualized)
• Simulate (un)expected behavior • Minimize impact on and usage of external systems • Assert usage of external components
Performance Test
Solution under test
Load Test Execution (automated or manual) 3rd party APIs
(virtualized)
Other APIs (virtualized)
Legacy Systems
(virtualized)
• Simulate (un)expected performance in external systems
• Minimize impact on and usage of external systems
• Triage Performance bottlenecks
Provide Sandbox
Hardware / Software Solution
API Virtual API
Evaluate
Integrate
Integration Test
Three Levels of API Virtualiza+on
StaEc Mocks
Static responses • Semantically
correct • No logic • Payloads
generated from schemas or examples
Code or generated from metadata
Dynamic Mocks
Dynamic responses • Based on input • Re-use input in
output • Scripting • Data-driven /
Data-generation • Simulate state Assertions on incoming content
Virtual APIs
Runtime behavior simulation Runtime management • Redirect traffic to
Virtual APIs dynamically • Access control • Deployment • Test execution
integration
API Readiness
visualize
validate
virtualize
monitor
MONITORING Virtual APIs
Mock Services
ProducEon APIs
Keep producEon stable Prevent boTlenecks
Test
Dev Test Dev
Test
Ongoing development
API Monitoring
visualize validate virtualize monitor
Thank You