Quality - The key to successful SOA

Post on 17-Jul-2015

738 views 1 download

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