New-age Transactional Systems - Not Your Grandpa's OLTP
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Mark Little on Mar 15, 2009
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:
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?
Daniel Lübke has written a short piece for our BPELUnit Eclipse plug-in, addressing the criteria from above where applicable.
Here it is a good one: www.soapui.org/
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)
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.
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
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.
Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.
Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).
Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.
Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.
One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.
InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.
5 comments
Watch Thread Reply