This is an architectural question:
I want to create an endpoint for Sharepoint 2010 for outer systems. Its basic functionality is that it is supposed to broadcast info about changes done to Sharepoint lists.
General idea is like this: event receivers utilize a service application that pushes messages to a message queue (MassTransit because NServiceBus licensing is... unacceptable) that contains information about which item was changed, how and which list does it pertain to.
Then a client should have an opportunity to download the changed items (not instantly but during the "sync period"). This should be available via WCF service hosted in Sharepoint.
And this part is slightly unclear to me (it is marked with the red circle).
I am aware of the Sharepoint 2010 REST interface existence. Now the question is: what is a more flexible, universal or just good looking approach. Should I just make an app for client that utilizes REST interface but then I wonder about things like: there might be pretty much anything in Sharepoint lists, they can have custom content types and lots of things like documents,music,pics,video. If it comes to content types then it is easy because REST interface returns its description. However, any binary files stored in lists are naturally not serialized and returned to the client through REST, we can only access them using a link and download them to our computer (and those links are not returned in a straightforward way, correct me if I am wrong).
Second thought is to use my own custom WCF service that will serve my needs but then I wonder how to achieve the same effect: being able to return description for any content type built-in or custom and so on? How to approach this issue?
The first approach is easier but limits me to REST interface boundaries. Second one gives me freedom but how to generate lists XML descriptions like those returned by Sharepoint's REST? Seems problematic to me at first glance.
Or maybe both of those are wrong and it should be thought of other way?
Thank you for any suggestions (if any of the lines above seem lame then I am sorry, I am not a Sharepoint guru... yet :))