quality - the key to successful soa
TRANSCRIPT
Charitha KankanamgeWSO2 October 2011
Quality - The Key to Successful SOA
WSO2
• Founded in 2005 by acknowledged leaders in XML, Web Services Technologies & Standards and Open Source
• Producing entire middleware platform 100% open source under Apache license
• Business model is to sell comprehensive support & maintenance for our products
• Venture funded by Intel Capital
• Global corporation with offices in USA, UK & Sri Lanka
• 140+ employees and growing
Agenda
SOA – Quick look
Importance of quality in SOA
Traditional Software Testing
SOA Testing
Challenges in SOA Testing
SOA Testing in practice
Open Source SOA testing tools
Glance at SOA
A Service Oriented Architecture is a set of components which can be invoked and whose interface descriptions can be published and discovered.
Glance at SOA
Building blocks of SOA
Glance at SOA
Common Principles of SOA
Services are reusable
Glance at SOA
Common Principles of SOA
Services are loosely-coupled
Importance of Quality in SOA
Importance of Quality in SOA
Importance of Quality in SOA
Importance of Quality in SOA
Importance of Quality in SOA
Reusable Components
Importance of Quality in SOA
Business Flexibility
Importance of Quality in SOA
Higher level of integrations and diverse technologies
Traditional Software Testing
Traditional Software Testing
Test execution starts when an end-to-end solution is ready
Higher UI interactions
UI oriented test automation
Too much focus on black-box testing
SOA Testing
SOA Testing
• Component based testing
• Bottom-up test execution
• Early involvement in testing
• Collaborative testing
• Interop testing
• System testing (End-to-End)
SOA Testing
• Test Automation Unit
Integration
End-to-End
• Continuous Integration
• Performance Testing
SOA Testing – Planning and Design
• Study business requirements
• Identify components
• Identify service consumers
• Identify message exchanging patterns (MEPs)
• Identify testing techniques
• Set scope
SOA Testing Challenges
• Complex standards and specifications
• Message oriented tests
• Headless applications
• Defect isolation
• Complex test environments due to higher level of integrations
• Heterogeneous platforms
• Cloud complexities
SOA Testing in Practice
SOA Testing in Practice
Component Level Testing – Web Services
• Understand WSDL
• Mock Services based testing
• Service level performance testing
Web Services Testing with Quality Of Services (QoS)
• Service access is restricted using various policies (security, throttling)
• WS-Security
• WS-RM
Testing associated with Broker (ESB)
• Message routing
• Transformations
• Split/aggregate messages
Open Source Tools for SOA Testing – SOAPUI
• Easy-to-use
• Can be used for both functional and performance testing
• WS-* Support
• Service mocking
Open Source Tools for SOA Testing – Jmeter
• SOAP/XML-RPC or WebService Samplers can be used
• Can be used for both functional and performance testing
• Data-driven testing
Questions?
Engagement Model
• Quick Start- Combination of consulting, training and POC development in one week by WSO2 on-site team working hand-in-hand with customer team
• Development Support- On-going support for Customer's engineering teams
• Production Support- Full 24x7x365 enterprise support providing software maintenance and support
Selected Customers