【问题标题】:Using client side reporting vs. server side reporting?使用客户端报告与服务器端报告?
【发布时间】:2008-09-26 02:33:45
【问题描述】:

我们什么时候使用客户端报告,什么时候使用服务器端报告?

哪种报告是最佳做法(客户端/服务器)?

这与 SSRS 报告有关。

【问题讨论】:

    标签: sql-server reporting-services reporting


    【解决方案1】:

    嗯...如果您有类似 winforms 客户端的东西,但您无法保证能够持续访问数据源,您会使用客户端报告。它可能在客户端缓存了一组数据,即使与服务器的连接不可用,您也需要报告这些数据。

    您将在需要简化报告分发和部署的场景中使用服务器端报告,因为您只需将报告部署到一个地方并且每个人都可以访问它们。这样做的缺点是始终要求服务器可以使用连接

    【讨论】:

    • Webforms 怎么样。是否值得使用网络表单进行客户端报告。
    • 不,不是。人们只有在不知道如何使用 ReportViewer web 控件代表 ASP.NET 用户进行身份验证时才会这样做(SSRS 需要域身份验证,ASP.NET 进程可以充当代理并满足用户的此要求)。
    【解决方案2】:

    当您的客户从不同的来源收集数据时,客户端报告也很方便。我们有一个内部公司应用程序,它调用内部服务从财务和我们单独的生产数据库中获取数据,并将它们组合成一个数据集,然后传递给 ReportViewer 控件。

    从美学的角度来看,将报告集成到应用程序中是很好的,这样用户就不会觉得他们正在离开应用程序来打印或导出应用程序的数据。

    【讨论】:

      【解决方案3】:

      客户网站报告

      如果以下情况之一为真,那么您应该使用客户端站点报告:

      • 如果您只有在客户端而不是在网络或服务器上的数据。这主要适用于桌面应用程序。
      • 没有服务器(家庭系统)。

      服务器站点报告

      如果满足以下条件之一,那么您应该使用服务器站点报告:

      • 数据位于服务器上或网络中的静态位置。
      • 您只有瘦客户端。
      • 应该安排报告。
      • 单个服务器的许可成本低于许多桌面安装。
      • 报告模板是共享的,并且可以经常更改。

      【讨论】:

        【解决方案4】:

        在这种情况下,这取决于您所说的“服务器”。正如您提到的 SSRS,我假设您将数据库(SQL Server)视为服务器。

        这完全取决于应用程序/项目结构和要求。如果您有一个还包含业务逻辑(存储过程)的数据库,并且您只想查询数据并显示/导出它,那么 SSRS 很方便。

        但是,如果您有一个带有持久层(数据库)的 Web 应用程序,它只是存储信息并确保信息是一致的,但是您的业务逻辑例如在查询的 Web API(即:RESTful API 项目)中/维护数据库数据(CRUD)并添加一些逻辑,然后将请求的结果/信息(即:使用JSON)响应HTTP请求到丰富的前端,然后我将在客户端(前端)添加报告功能) 例如,在浏览器中执行的 Javascript 库能够以任何方式显示检索到的数据,它能够将其导出到 DOC、Excel、电子邮件等。

        典型 Web 应用程序的关注点分离:

        • 持久层(数据库)用于存储信息并保证一致性
        • 业务层(后端 RESTful API)对每个 HTTP 请求的资源、计算、身份验证和授权执行所有智能操作。
        • 丰富的前端(Javascript + HTML + CSS)与用户交互并向后端请求/显示信息。 作为显示信息的一部分,这个前端也会生成报告。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-03-18
          • 1970-01-01
          • 2021-03-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多