SOA may or may not be dead. It may or may not be pining for the fjords. But no one can doubt that there is still a lot of unknowns surrounding what constitutes good SOA. Many vendors offer SOA Readiness tools, ostensibly to determine whether or not you are ready to adopt SOA, at what stage you are on the overall adoption curve, but are typically another way to drive vendor adoption. For instance, as the IBM assessment states:
Where does your company stand when it comes to adopting service oriented architecture (SOA)? Do you understand your current SOA level of maturity and opportunities for improvement? With targeted recommendations for improving your maturity level, the IBM SOA assessment tool can help you unlock the full value of SOA.
But once you've adopted SOA (to whatever degree) you obviously need some way of testing it. Fortunately many of the same people who brought you those handy readiness assessment tools also have a solution here. But what constitutes a good SOA testing tool(s) and do you have to be tied into specific SOA infrastructures? This is the question that Eric Roch asks. He provides some selection criteria that he uses:
- Test-aware interfaces: standardized interface and messages for testing
- Message-based test automation: record, replay and management of test scripts
- Virtualization: the ability simulate virtual service providers and consumers
- Simulation: the ability to simulate applications as part of a regression test
- Load Test: the ability to stress test applications
- Validation: pass/fail verification at the component (messaging) and application (data store) levels.
- Components: Java and/or .NET component visibility
- Introspection: WSDL and XML support to generate data and operation tests
- Management: Manage test cases, scripts, data and results
- Security: SSL, WS security federation, digital signatures
- Industry Specific Data Formats: e.g. EDI, HL7
- Continual Test: Automated build, deploy and test
A couple of years ago InfoWorld reviewed a few SOAP-based testing tools:
Fundamentally, testing a SOAP-based Web service involves three activities: constructing a SOAP request, submitting it, and evaluating the response. As easy as that sounds, it is anything but. An effective SOAP-testing tool cannot simply rely on a user-friendly mechanism for building requests. It must also enable the user to organize and arrange requests in realistic sequences, provide a means of altering request input values, and intelligently tweak requests so as to expose the Web service to a range of good and bad usage scenarios. In short, you want the tool to run the Web service through a reasonable approximation of real-world activity.
Although the industry has recognized that Web Services are just one way or approaching the technological aspects of SOA, it seems that most of the tools today still assume SOAP and WSDL.
Do you have a favourite SOA testing tool(s) or would modify Eric's criteria? Or do you know of any good tools that can be used across implementation technologies?
Community comments
BPELUnit
by Leif Singer,
soapUI
by Rodrigo Silva,
Web service testing tools not SOA testing tools are available
by Sashwat Gupta,
Re: Web service testing tools not SOA testing tools are available
by J Philips,
A great SOA testing tool
by Amos Azaria,
My preferences - Parasoft SOATest
by William El Kaim,
COmparison of SOA testing tools
by vivek r,
SOA Testing Tools
by Torry Harris,
Re: SOA Testing Tools
by J Philips,
a new entrant SOArite from www.runzyme.com
by J Philips,
BPELUnit
by Leif Singer,
Your message is awaiting moderation. Thank you for participating in the discussion.
Daniel Lübke has written a short piece for our BPELUnit Eclipse plug-in, addressing the criteria from above where applicable.
soapUI
by Rodrigo Silva,
Your message is awaiting moderation. Thank you for participating in the discussion.
Here it is a good one: www.soapui.org/
Web service testing tools not SOA testing tools are available
by Sashwat Gupta,
Your message is awaiting moderation. Thank you for participating in the discussion.
I have seen quite a few testing tools for SOA. All of them turned out to be web service testing tools.
SOAP UI seemed to be most intuitive, but lacks quite some features.
WS-Security still leaves a lot to be desired (improving over last few releases).
Load testing is available
Mocking of services is possible
Extending the toolkit is possible (java/groovy script)
Continual test - don't think possible
Reporting is limited and leaves a lot to be desired
Validation at message level is possible, but not at datastore level (can be done by custom groovy scripts)
A great SOA testing tool
by Amos Azaria,
Your message is awaiting moderation. Thank you for participating in the discussion.
There is this great SOA testing tool called "SOA Clenaer". It is very user friendly, and very usable. It can be used for testing SOAP REST and also WCF. it can be found at xyrow.com.
My preferences - Parasoft SOATest
by William El Kaim,
Your message is awaiting moderation. Thank you for participating in the discussion.
I do like a lot Parasoft SOAtest and especially the capability to create easily policies. It manages security in an easy way. It supports well JMS and REST, functional and load testing. Price can vary greatly based on your configuration.
- Test-aware interfaces: standardized interface and messages for testing
yes
- Message-based test automation: record, replay and management of test scripts
yes supports multiple JMS
- Virtualization: the ability simulate virtual service providers and consumers
yes never used
- Simulation: the ability to simulate applications as part of a regression test
not sure
- Load Test: the ability to stress test applications
yes
- Validation: pass/fail verification at the component (messaging) and application (data store) levels.
no
- Components: Java and/or .NET component visibility
no
- Introspection: WSDL and XML support to generate data and operation tests
yes
- Management: Manage test cases, scripts, data and results
Yes, file based
- Security: SSL, WS security federation, digital signatures
yes
- Industry Specific Data Formats: e.g. EDI, HL7
no
- Continual Test: Automated build, deploy and test
no, but can be done through scripting engine
You can also try Actional diagnostic 8 which is limited but can provide good support.
Finally, ITKO is offering with Lisa
COmparison of SOA testing tools
by vivek r,
Your message is awaiting moderation. Thank you for participating in the discussion.
I have tried to put together a comparison of all major SOA testing tools.
You can refer this link towardssoa.wordpress.com
SOA Testing Tools
by Torry Harris,
Your message is awaiting moderation. Thank you for participating in the discussion.
SOA is definitely not dead. We at Torry Harris has been successfully implementing SOA for many enterprise clients. We have made an overview of the main Vendors and Open Source tools that offer benefits to SOA testing.
Re: Web service testing tools not SOA testing tools are available
by J Philips,
Your message is awaiting moderation. Thank you for participating in the discussion.
Hi Sashwat,
You are right. There is a lot of confusion between SOA and web services. One of the late entrant SOA testing tools is SOArite from www.runzyme.com. It provides SOA component and workflow testing of WS, REST and Http Services. In addition it also provides testing for JMS, JDBC and TCP for connectivity to legacy systems. Thats a lot more that webservices :-)
Re: SOA Testing Tools
by J Philips,
Your message is awaiting moderation. Thank you for participating in the discussion.
Tony,
I went through your article. It does list some useful tools. If you are on the lookout for quality SOA testing tool, check out the SOArite from www.runzyme.com. It provides SOA component and workflow testing of WS, REST and Http Services. In addition it also provides testing for JMS, JDBC and TCP for connectivity to legacy systems
a new entrant SOArite from www.runzyme.com
by J Philips,
Your message is awaiting moderation. Thank you for participating in the discussion.
It provides SOA component and workflow testing of WS, REST and Http Services. In addition it also provides testing for JMS, JDBC and TCP for connectivity to legacy systems