Soya is an open-source implementation of the SSDL specification. It provides users with a programming model and runtime environment for creating and executing SSDL-based Web Services.
Soya supports developers in building message-centric applications and offers mechanisms to define message structures and messaging behavior in a straightforward manner using C# attribute metadata in order to express Web Service contracts. Soya uses this metadata to infer SSDL contracts that can then be exposed to other services. Most importantly, it enables users to execute SSDL-based Web Services. It ensures that incoming and outgoing messages adhere to the messaging behavior defined in a deployed SSDL contract and dispatches the incoming messages to the service implementation according to the SSDL contract's protocol information.
Soya is written in C# and built on top of the Windows Communication Foundation (WCF) (formerly known as Indigo).
The SOAP Service Description Language (SSDL) is an XML-based language for describing Web Services in a purely message-oriented way, focusing on message abstraction as the building block for creating service-oriented applications. Hence fundamentally, SSDL provides the necessary mechanisms for describing the structure of SOAP messages. It further offers an extensible range of protocol frameworks that can be used to combine and relate messages into protocols. These protocols describe the messaging behavior of a Web Service and define how other services can interact with it. Additionally, some protocol frameworks may be formally verified using model checkers to ensure the absence of deadlocks or race conditions, for example. Further information can be found on the SSDL web site.
Soya is still at a relatively early development stage and we have plenty of additional features in our heads but, unfortunately, not enough time to realize all of them.
If you're interested in joining our team, please get in touch with us through the mailing list.
Soya started as a research project at the National ICT Australia (NICTA) which is funded through the Australian Government’s Backing Australia’s Ability initiative, in part through the Australian Research Council.