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:

4 comments:

  1. Hi Jarett,

    Many thanks about all your posts about sData.

    I am retrieving information about SIF.
    Is the SIF github's URL broken? (https://github.com/Sage/SIF)
    Is a public repository?

    Regards,
    Ramon

    ReplyDelete
  2. Thanks for the feedback Ramon. Some of our resources on Github are private so you have to sign in. Many SData resources like the Client libraries are public (see https://github.com/Sage).

    Please email your contact information to na.sdata@sage.com and I'll see that you get access to the SIF on Github

    ReplyDelete
  3. This comment has been removed by the author.

    ReplyDelete