4. Build the interfaces into the service, both machine and human. Determine how the service will interact with the calling applications and through what mechanisms.
5. Last but not least, describe in detail how the service is to be tested. This is a very important and often neglected step, in which you lay out a test plan based on projected usage patterns. Define the test information, service invocation, and what qualifies as valid results.
What’s strange about this new, hot, and somewhat over-hyped space is the lack of comprehensive service design tools. Yes, you can find deployment, management, and development tools sold by large players such as BEA, IBM, and Microsoft. But for the most part, granular capabilities are poorly integrated with the big architectural picture as you design and build. Of the tools on the market, IBM Rational Software Development Platform and BEA’s WebLogic Workshop probably come closest. More will surely follow.