0

As part of a development project I need to Integrate SSRS 2008 R2 with a Java application and expose to Internet/Extranet. The additional requirement is that we have LDAP authentication, so ideally when a user logs in to the webapp it gets authenticated to LDAP and when he clicks on Reports link in the Web App, he should get authenticated to the SSRS as well (more like a SSO) without asking any credentials. The reports should not loose any interactive features like Drill down, pagination, charts, sorting etc. Also there shouldn't be much overload on the Webfront as we have limited resource there.

I have gone through the below articles from Microsoft site where they have mentioned that we can expose SSRS configured in Report Manager Mode over Intranet. This I am already aware of and I know it works well with .net Platform. But what I need clarification is that when we integrate with Web developed in Java Platform whether this will work. Since I am not from a Web background I am not sure how Java integration will happen. If you feel that Java integration will not be problem/ I have missed something let me know.

http://msdn.microsoft.com/en-us/library/ms159272(v=sql.105).aspx

http://msdn.microsoft.com/en-us/library/ms153697.aspx

http://msdn.microsoft.com/en-us/library/ms345248(v=sql.105).aspx

http://searchitchannel.techtarget.com/feature/SQL-Server-2008-Reporting-Services-for-Internet-deployment

We can expose Report Manager to extranet, but we need to write custom security extension for Form Based Authentication. But this will work more as a standalone application and will not be integrated with our web application. So user may have to login separately which may not be ideal.

So I was exploring at other alternate option like using SSRS web service to integrate with Java.

The articles what I was going through was based on web service some of them are given below

Calling Reporting services rdl in Java application

http://blog.ponytailbob.com/2012/04/ssrs-reporting-in-java-web-site.html

http://javaworld.com/javaworld/jw-01-2005/jw-0110-sqlrs.html?page=1

Couple of issues that we could face -

  1. The report comes as an html – It looses lot of interactive features like Sorting, Drill through etc which are part of our reporting requirements of the project

  2. We loose pagination and incremental fetch in reporting

  3. We may end up taking additional effort in Web front if we want bring tool bars etc from reporting .
  4. They have mentioned that Images can be passed from SSRS to Java but we are not sure that Charts and other Graphs will be coming as static or it will can be generated dynamically.

Any help will be sincerely appreaciated.

Vyshak

4

1 回答 1

0

选项1


从您的 Java 应用程序调用 Reporting Services (RS) Web 服务。您的应用程序可能在 LDAP Auth 上,但您的 RS 实例可能继续在 Windows Auth 上,您需要在调用 RS Web 服务时使用 Java App 生成 Windows Auth。您可以生成 HTML 格式的断开连接报告并将其显示给最终用户。在这种情况下,您的 RS 将永远不会暴露给最终用户,用户和报告之间的通信将通过您的应用程序进行。您将失去 RS 的一些附加功能,例如按需渲染等。

选项 2


使用您自己的身份验证扩展在自定义身份验证上设置您的 Reporting Services(RS)。您的 java 应用程序将使用 LDAP Auth 对用户进行身份验证,并使用 URL 访问或 SOAP API 将身份验证 cookie/令牌传递给 Reporting Services。这是 SSO 部分,可能是唯一棘手的部分。您的自定义身份验证扩展应配备接收身份验证 cookie/令牌和设置会话。完成此操作后,您可以进行 URL 访问以在 iframe 中显示所需的报告,这将包括向最终用户提供的所有丰富的报告功能。当然,您需要像您的 Java 应用程序一样向最终用户公开您的 RS 实例。

于 2013-07-30T18:28:38.063 回答