BLOG MOVED to blog.itko.com. SOA & Enterprise Integration Testing, Validation and Virtualization, Software Quality, and IT Governance discussion missives, with iTKO Founder/Chief Geek John Michelsen and other iTKO executives. Please visit the current blog at http://blog.itko.com.

11/18/07

Service Oriented Virtualization White Paper

Well you’ve seen quite a bit in this blog already about virtualization concepts applied to SOA. Scroll down if you haven’t :) It’s a rare opportunity when cool technology makes perfect sense to help enable an initiative that has tremendous business value. Virtualization up until this date has largely lived in the data center, where it has indeed saved significant hardware and configuration costs for a given set of servers. But this value has yet to extend to SOA, which is by nature much harder to replicate in this fashion. When you have so many distributed and heterogeneous technologies that are often not available for testing and development purposes, something needs to change to bring back that agility we expected from SOA. We at iTKO are really excited about our contribution to leveraging virtualization in SOA. We call it Service Oriented Virtualization, or SOV. We do so because we are identifying challenges encountered by so many living in the SOA world and articulating a solution to those challenges by applying virtualization. Please take a look at the SOV white paper. As always, I invite you to comment on the paper here. I would especially like to know how much you identify with the issues we raise and also how much you think that our solution will help.

Labels: , ,

8/20/07

Virtualization and SOA – Part 4: Virtual Services

Last but not least of the three types of virtualization you might want to consider for SOA is Virtualized Services. I don’t mean virtualizing access to services as I mentioned in a previous blog, I mean simulating the service’s existence, without actually creating it. Now, how can that be important? Virtualized Services are especially important to achieving the dream of agile SOA testing: shorter, iterative, requirement-driven test cycles, with testing happening every step of the way. Why? Because if you want to test earlier, you will need to test incomplete components, or “in progress” integrations. SOA applications are particularly prone to change, so if you have to wait for a finished app to test, that becomes a bottleneck to agility. For instance our SOA testing product incorporates this approach. LISA has the ability to analyze a WSDL and to generate by itself the actual service endpoint. What this means is that before your development group has even shown up to build the actual service, our product virtualizes the service and creates a simulated version of the real thing (which doesn’t exist yet) – such that your consumers can invoke this service as if it already existed. Now, in a simplistic world this can be done in a variety of ways with mock objects, or with other methods that provide a specific hard-coded response whenever they are stimulated. But in reality you are going to need a fairly dynamic service, even in a simulation. You can’t really spit back the same silly response to every single request, because your consumers are going to need a lot more richness and variability in the way that the service responds. So, the ideal approach to SOA testing allows you to not only virtualize the service but to make the actual behavior of the service dynamic, i.e.: reading from database tables or spread sheets for values, or doing look-ups based on input requests. While it sounds like you are actually building the service (which in some ways you are), in reality you are providing just enough very high productivity logic within the service that you have virtualized so that the consumers get what they need without having to wait for the actual service to be completely developed and tested. In fact, there’s a great “test first” model here, where developers of the actual service will know they’re done when tests written against the virtualized service work on the actual service. The consumers are confident that they will get what they need from the actual service when the virtualized service has been sufficiently executed against. And with that virtualized service testing out of they way, you can now point the actual service consumer to the actual service producer, and therefore, likely have a much more successful integration from the very first touch. I hope this series on Virtualization in SOA has been valuable, and feel free to ask me for clarification or more commentary on this or any other topic. Previous Virtualization Posts in this series:

Labels: , ,