Using REST WCF data service as a data source for SQL Reporting services
Can anyone point me to a definitive Microsoft map for where Reporting Services is going using WCF Data Services (ADO.NET Data Services, Astoria) as a data source?
There's fragmented information out there. There is some about creating custom data providers, some about some sort of extension enable connection to the Azure storage layer (exposed as REST data service I believe) and some about connecting to latest versions of sharepoint (again, Sharepoint exposing its data as a REST service?). There doesn't seem to be any sort of unified vision as regards reporting on REST services. I'm particularly interested in WCF Data Services. Have I missed a portal? What's the story with these two technologies?
Bit of background; we have a system where we've got our data exposed via WCF (ADO.NET, Astoria) data services. In this layer we've got all sorts of business rules shaping the data returned. What we'd like to do is use SQL Reporting services for our reporting needs, but give it the data service as the data source. We're thinking of using either Report Builder or BI Studio to create the reports.
It looks like we'll have to generate our own data model, which is fine. We'll have to create a custom data provider - and then开发者_如何学编程 also create a semantic query extension to translate the report queries into REST calls. There's a disconnect between what the report queries can do and what the WCF Data services REST api can do.
This seems like a lot of work when Microsoft seem to be pushing WCF data services so hard. Have I missed something? Is there a gap in the story for reporting? Are we ahead of the curve with what MS will do eventually?
If your service returns XML you may be in luck if you can deal with several restrictions.
SSRS supports XML as a datasource, and supports retrieving that XML via a URL. This document has more details: http://msdn.microsoft.com/en-us/library/aa964129(SQL.90).aspx
Notice that only the HTTP protocol is supported (I assume that means https is not), and the request uses the GET method. However, if parameters are specified, the POST method will be used.
I have not attempted this myself (nor do I know anyone who has). The docs imply that it is possible, but there may be tears.
精彩评论