Test-driven SOA

In today's screencast I explore Mindreef's Coral, a new tool for collaborative development of web services. As you'll see and hear in the screencast, that collaboration can include:

A project architect who specifies a new service (using any WSDL construction tool), checks the WSDL against public and internal standards, and creates simple unit tests that illustrate how the service is expected to behave;

A developer who takes the architect's executable specification, runs it under simulation, and then begins swapping out stubs for real implementations;

A support engineer who captures XML messages from internal and external systems, replays them in the Coral simulator, identifies reproducible success and failure scenarios, packages them up as problem reports, and routes them to the development team.

Debugging service-oriented architecture was a hot topic at our first SOA forum in May. A few weeks later I wrote a column on the topic, and expanded it with a blog entry and a podcast. One of the questions I asked was: "What does test-driven development look like in a service-oriented world?" Tim Ewald was on that panel and, although he dropped some hints, he mostly had to sit on his hands and squirm because Mindreef's answer was still six months away. It's great to finally see what they've been working on.

As customers start using Coral, I'll be curious to hear about their experiences working across organizational borders. In theory the product enables you to record, replay, analyze, simulate, and selectively intermediate XML transactions that touch a mixture of services -- including internal ones that you control and external ones that you don't. How that works out in practice will be fascinating to watch.

Former URL: http://weblog.infoworld.com/udell/2005/12/13.html#a1353