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.

Recent Posts

CVOYA Graph v1.0 is out

Last week, I wrote about the evolution of the CVOYA Graph. After a lot of…

1 week ago

CVOYA Graph – Evolution

Last year, I released the "Graph Model" library for .NET as an open source project. It…

2 weeks ago

The boat is in the water: Spring Voyage is open source

Today I'm pushing Spring Voyage out of the harbor. You can track its journey on…

2 months ago

My Coding Agent Needed Its Own GitHub Identity

In my last post, I wrote that "the typing of code was parallelized and delegated.…

3 months ago

Rebuilding My AI Team in Twelve Days — And Why

In February, I wrote about the small team I'd stood up instead of hiring humans:…

3 months ago

How I Built My Own Team of AI Developers

Assembling a dream team without a single hire I've been making great progress on CVOYA's…

5 months ago