SSDL: The SOAP Service Description Language

We are finally ready to request the community’s feedback on our latest work, the SOAP Service Description Language, or SSDL. Jim and I collaborated with a small team of people to produce a description language for Web Services that we think is exciting since it encourages us to reason in terms of messages, rather than ‘operations’, ‘interfaces’, and ‘inheritance’, when writing contracts.

The SSDL core specification defines the format of a contract document and mechanisms for Protocol Frameworks to reference the declared messages. Protocol frameworks are used to correlate the messages into simple MEPs or complex protocols. We have made available four such protocol frameworks: MEP, CSP, Rules, and SC). There are also an SSDL high-level overview document and a whitepaper available.

The structure of an SSDL contract is simple; you define structure using a schema language, you declare messages in terms of header and body elements (SOAP faults are messages too), and you define protocols by referencing the declared messages. If you want, you can put endpoints as WS-Addressing EPRs. That’s it.

We have also some tooling that validates and processes SSDL contracts and produces .NET 2.0 C# + WSE 2.0 code. The tooling promotes a message-oriented API for developing Web Services. Each message is represented as a class; appropriate send methods are provided for each message; and the arrival of messages is indicated by events. You can read all about it in the whitepaper. We haven’t yet released our tool but we’ll do soon. We are currently working on the plugin infrastructure.

Jim just posted a very good introduction/announcement to SSDL. You can find lots of information at http://ssdl.org. Please let us know what you think.

Comments are closed.