|
YOUR FEEDBACK
Did you read today's front page stories & breaking news?
SYS-CON.TV |
TODAY'S TOP SOA & WEBSERVICES LINKS Product Review SOA World Product Review: iTKO LISA 4 SOA Testing
A key enabler of broad SOA design and implementation
By: Paul O'Connor
Jan. 21, 2008 04:00 PM
The result was a lot of uncaught errors that led to a vicious cycle of patches and more testing, consuming valuable enterprise resources for no appreciable gain. Thankfully, SOA has served to break those monolithic components into manageable services, service infrastructure pieces, and integration components, and has brought to fruition collaborative service lifecycle governance. Test cases can be written against smaller components, shared among staff members with varying roles, and ultimately composed to test business processes across every level of the architecture. The result can mean deep integration of your testing regime and your solutions, and the automated collaboration of all contributors. But you're going to need some specialized SOA test tooling to get there.
Introducing LISA 4
LISA offers a unified UI that comprises LISA Enterprise functionality for creating and running test cases, as well as deploying and managing tests on a LISA Server. Figure 1 is a screen capture of an example Test Manager test case with the test steps expanded in the left explorer pane. Test steps are created to exercise the system under test, or execute utility functions, with a wide variety of transports, protocols, messaging styles, and data formats available. Response data can be filtered ("Filters" in the figure) and is tested against a set of assertions ("Assertions" in the view). Data sets are configured against a number of backing stores to drive the test data, and can be randomized. An interactive test run utility lets testers step though test cases and visualize the responses. LISA ships with the following test steps:
The sequence of test steps provide a complete test case and form a workflow that can be visualized in the flowchart view, as illustrated in Figure 2. And like any workflow, LISA supports parallel flow of test steps as well as looping. You could, for example, build a test case composed of ESB component service tests, a BPEL process test, a business rule service test, and validated results against a database system of record. Each type of test step has its own icon. The dotted line around the outside of the "Ferris Wheel" view constitutes the happy path. The lines extending to the middle stop node represents assertions that must be met for the test to continue. The flowchart view is useful for diagnosing workflow problems like infinite loops. As you should be able to tell by now, LISA operates as a holistic system test tool, able to test every layer of a solution architecture, from the data layer all the way through to the Web layer and all interconnects along the way. Figure 3 is a screen capture of Test Manager's test monitor for the example test case. Taking a deeper look at a Web Service test case, LISA includes steps for introducing WS-Security elements to service requests. You can generate a SAML token and put it into the SOAP Header, as well as encrypt fields and add digital signatures. You can also add custom transport headers and add client certificates for use in an SSL/TLS certificate exchange. LISA will also procure the Web Service access point from a UDDI inquiry service with a binding key, and even validate the response for WS-I compliance. You can even add attachments to your service requests.
Other LISA 4 Functions and Services One of LISA's coolest features is its comprehensive Virtual Service Environment or VSE. If you can give LISA a WSDL for a Web Service, or even point it to a UDDI registry inquiry service with a service key, it will create a virtualized version of the service suitable for use in your test case. The virtual service's responses can be fulfilled by multiple backing stores, including JDBC and XLS sources, and even a pre-recorded session of data from the real service. And you can configure your test case to switch over to the virtualized service, and dynamically recorded response data, when and if the real service becomes unavailable. Think of how empowering this is - a BPM developer can thoroughly test their business processes in the absence of underlying services and systems, thereby streamlining promotion to integration testing. And by eliminating a redundant test environment in most large enterprises LISA's cost can be returned tenfold. In this respect, LISA becomes a key enabler of implementing an SOA itself - removing dependencies between elements of the architecture means that they can be implemented in parallel and integrated later. Another LISA innovation is the Pathfinder, a code instrumentation tool that tracks requests as they are processed through the container. For some application services, e.g., JBoss, enabling Pathfinder is a configuration step. In other cases, it may be required to add an annotation to the code itself. And you must add a LISA code library to the deployment. Pathfinder can be used to probe Web pages, Web Services, ESB process flows, and Java classes, among others. After having enabled Pathfinder at the code execution point, leveraging the data in LISA's test client is a simple matter of adding a technology-specific filter to the test case. Then the interactive test run facility will display deep container metrics that can be extremely helpful in performing root cause analysis.
Conclusion YOUR FEEDBACK
SOA WORLD LATEST STORIES
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
|
SYS-CON FEATURED WHITEPAPERS MOST READ THIS WEEK |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||