Thursday, April 19, 2012
Sage Integration Framework (SIF)
A proprietary framework called the Sage Integration Framework (SIF) is currently the de facto standard foundation for building SData web services in .NET; within Sage most teams developing SData services in .NET use the SIF.
The SIF handles parsing URIs, serialization, etc., and makes it easy to provide SData feeds without actually having to know much about the specifics of the SData protocol. The SIF can provide XML or JSON content.
Developers plug-in to the SIF by registering "Adapters" that handle requests for specific resources. The SIF packages up incoming requests for those resources, deserialize the SData XML and/or JSON payloads and passes the request to the Adapter. When the Adapters done with the request and has read data, etc., it passes Entity objects back to the SIF which creates a valid SData response; the SIF serializes the data model, creating valid SData payload, error responses, etc.
There's a reference implementation of the SIF and a sample Adapter that provides SData web services for the Northwind sample database.
Example SIF Project:
The SIF is a great framework for providing SData: