Feature Summary
Soya is still at a relatively early development stage. Consequently, not the full spectrum of the SSDL specification has been implemented.
The following are the key features of Soya to date:
- Based on the Windows Communication Foundation (WCF)
- Straightforward C# attribute-oriented programming model:
- less code and hence less scope for error introduction
- more easily maintainable due to single source location
- seamless integration with WCF’s programming model and provision of familiar idioms to existing C# programmers
- Programming abstractions that foster SSDL's underlying message-oriented model
- Deployment-time generation and validation of SSDL contracts from C# attribute meta-data
- Run-time validation of SOAP messages according to SSDL contract (XML schema, message structure, message position in conversation)
- Message correlation and conversation state maintenance purely based on WS-Addressing standard headers (i.e. MessageId, RelatesTo)
- Intelligent message dispatching to service methods based on conversation state
- Public API for sending messages makes Soya suitable to be used by both clients and servers
- HTTP GET meta-data retrieval using ?ssdl convention
- Implementation of the MEP protocol framework (programming model and runtime)
- Extensible architecture that allows further protocol frameworks to be plugged in
Limitations
A lot of SSDL features are still missing in Soya. For a list of limitations that we are currently aware of, please check out the project's issue tracker.