by
Bikram K Panda
© 2009 IBM Corporation
Testing Competency Solution Center
Web Services:-
What is SOA
SOA Approach
Web Service
WS Providers and Protocols
SOA Testing
Web Service Testing
JMS Testing
MQ Testing
Tool Recommendations for SOA Test
Q&A
2 © 2009 IBM Corporation
Testing Competency Solution Center
What is SOA:-
SOA stands for Service Oriented Architecture
Service-orientation is a design paradigm comprised of a specific set
of design principles.The fundamental unit of service-oriented solution logic is the service.
Service can be
• A repeatable Business Task- e.g Opening a New Account, Check Customer Credit etc etc.
• A Code that performs specific business task.
• A set of consistent data definitions- e.g Classification of tables, Quoting Formulas, Pricing Charts.
Service-A
Service-A • Capability A
• Capability B
3 © 2009 IBM Corporation
Testing Competency Solution Center
What is SOA Cont:-
Flexibly and
easily assemble
outfits from the
wardrobe.
Save money by
creating new outfits
with your existing
clothes.
Make those basics
work better just
by adding a great
sweater.
SOA is like your Think of each article of
wardrobe clothing in your SOA helps your
wardrobe as a business business become
service more stylish…
more innovative.
4
SOA is like your wardrobe… © 2009 IBM Corporation
Testing Competency Solution Center
What is SOA Cont:-
SOA also generally provides a way for consumers of services, such as web-based
applications, to be aware of available SOA-based services. For example, several
disparate departments within a company may develop and deploy SOA services in
different implementation languages; their respective clients will benefit from a well
understood, well defined interface to access them. XML is commonly used for
interfacing with SOA services, though this is not required.
SOA defines how to integrate widely disparate applications for a world that is Web
based and uses multiple implementation platforms. Rather than defining an API,
SOA defines the interface in terms of protocols and functionality. An endpoint is the
entry point for such an SOA implementation.
5 © 2009 IBM Corporation
Testing Competency Solution Center
SOA Approach :-
The best Approach of implementing SOA is by using Web services.
Web Services make functional building-blocks accessible over standard Internet protocols
independent of platforms and programming languages. These services can represent either new
applications or just wrappers around existing legacy systems to make them network-enabled.
Each SOA building block can play one or both of two roles:
1. Service Provider - The service provider is the creator a web service. Each provider must decide which
services to expose.
2. Service consumer - The service consumer or web service client is the Consumer of the Web Services.
Each Consumer decides where to Send the Request as a Service.
6 © 2009 IBM Corporation
Testing Competency Solution Center
Web Services:-
Ws is a software system designed to support interoperable machine-to-machine
Software that runs over a network and provides information services based on XML standards that are
accessed through a URI
WS a software component that supports machine-to-machine transactions over a network, in
particular, over the Internet.
The term Web services describes a standardized way of integrating Web-based applications using the
XML, SOAP, WSDL and UDDI open standards over an Internet protocol backbone. XML is used to
tag the data, SOAP is used to transfer the data, WSDL is used for describing the services available and
UDDI is used for listing what services are available. Used primarily as a means for businesses to
communicate with each other and with clients, Web services allow organizations to communicate data
without intimate knowledge of each other's IT systems behind the firewall.
7 © 2009 IBM Corporation
Testing Competency Solution Center
WS Providers and Protocols:-
Web Services can be designed using the below Providers:-
• HTTP / HTTPS – Hypertext Transfer Protocol
• JMS :- Java Messaging Services
• MQ :- Messaging Queue
Web Services can be Communicated through the below Communication Protocols
• SOAP :- Hypertext Transfer Protocol
• REST :- Representational State Transfer
• JSON :- JavaScript Object Notation
Most Commonly used Services are
SOAP/HTTP
SOAP/JMS
MQ Series
8 © 2009 IBM Corporation
Testing Competency Solution Center
SOA Testing:-
SOA Testing involves Testing of the Web Services
During SOA Testing we need to test the Web Services designed by implementing various Providers like
HTTP, JMS and MQ on various Communication Protocols like SOAP, REST or JSON
During SOA Testing we need to test the below commonly used services
SOA Testing requires lots of Planning and Analysis on the Web Services and Tools.
SOAP/HTTP
SOAP/JMS
MQ Series
The Below are the Deliverables from Dev team to Test Team for Testing WS
1. Web Services (Normally Its SOAP/HTTP) WSDL file or an End Point URI
2. SOAP/JMS XSD File and the Queue Details
3. MQ :- XSD File and the Queue Details like Queque Manager, Connection Factory details
9 © 2009 IBM Corporation
Testing Competency Solution Center
Web Service Testing:-
The Pre-requisite for Web Service Testing is End Point URI or an End Point URI (E.g
http://soatest.parasoft.com/store-01.wsdl )
In the Web Services we normally use to test the WS-Operations.
Open any WSDL File or Click on the End Point URI it will open the WSDL File for You
Search for the Key Word “Operation” inside the WSDL file.
List out all the Operations involved inside the WSDL
Web Services Understand the XML Format.
The Request will be in XML Message
The Response will be in XML Message
In the SOA Test Tool when you Invoke the End Point Uri it displayes the list of Operations
and Creates a Test Suite for you
Select the Test Suit You want to Test and Click on the Request.
It displays the List of Variables.
Set up your Test plan and click on Test Button.
A response XML will be generated which is the Out Put. Validate the Out Put XML File.
10 © 2009 IBM Corporation
Testing Competency Solution Center
SOAP/HTTP Testing:-
The Pre-requisite for SOAP/HTTP Testing is either a WSDL file or an End Point URI. The SOAP/HTTP Request runs on a Port .
Service Provider
Service Consumer
SOAP/HTTP Request
SOAP/HTTP Response HTTP-Port
11 © 2009 IBM Corporation
Testing Competency Solution Center
SOAP/JMS Testing:-
The Pre-requisite for SOAP/JMS Testing is XSD File, JMS Queue Names and the Corresponding JNDI Names
SOAP/JMS Request
Q3
Q1
Service Provider
Service Consumer
SOAP/JMS Response
Q2 Q4
12 © 2009 IBM Corporation
Testing Competency Solution Center
MQ Testing:-
The Pre-requisite for MQ Testing is XSD File, MQ Queue Names and the Corresponding Queue Managers.
Messaging Queue (MQ Layer)
Service Provider
Service Consumer
MQ Request MQ Request
MQ Response MQ Response
13 © 2009 IBM Corporation
Testing Competency Solution Center
Tool Recommendations for SOA Test:-
There are Various SOA Test Tools Available in the IT Market. Each Tool has it’s own merits and
de-merits.
IBM Rational SOA Test
HP-Parasoft SOA Test.
SOAP-UI
SOAP-Sonar
ITKO-Lisa
14 © 2009 IBM Corporation
Testing Competency Solution Center
Q & A:-
15 © 2009 IBM Corporation
Testing Competency Solution Center
16 © 2009 IBM Corporation