报告网站的体系结构

时间:2008-12-02 11:13:55

标签: asp.net architecture

我之前在这个问题中已经提到了这个项目,但是重新设计的范围已经略微收紧,即我无法重新设计整个项目,所以我想就如何构建现有项目提出一些一般建议应用中的人工制品作为改进设计的渐进步骤。

  1. 该网站有两个功能区域,v.i.z。报告和维护。这是网站的主要功能,不是数据操作,而只是演示。该站点包含少量维护页面,这些页面使用标准GridView和FormView来维护一小块数据。这就是为什么我决定使用丰富,复杂的DAL来支持企业库DAAB和普通的vanilla数据集。

  2. 每个报告都是一个独立的页面,它使用动态SQL查询的结果显式呈现报告的HTML表行。为了不为每个报告维护mySQL和MSSQL的一组查询,我将移动对存储过程的所有数据访问,通过DAAB删除与任一数据库引擎的耦合。

  3. 我正在查看报表工具,以便将报表结构定义与报表演示文稿分离。我更愿意不在类中定义报告结构,就像telerik报告那样,但还没有查看其他报告工具。

  4. 所有报告共享一个公共过滤器页面,该页面在从菜单中选择报告时显示,一旦用户对其过滤器选择感到满意,该页面就会重定向到所选报告。对于我似乎必须继续重新发明的这种非常常见的情况,是否有任何可用的指导?

  5. 我正在寻找关于如何将其转向更好的结构化产品的一般建议,而不是实际重组整个项目。简单的事情,例如将维护页面与子目录中的报表页面分开等。

    我不是在寻找其他人来完成我的工作,并且会在适当的时候对我自己的工作做出很多改进,但我会很感激其他人如何处理这样的项目。

2 个答案:

答案 0 :(得分:1)

为了基于事实数据库呈现报告,我将研究已经实现了所有核心功能的工具之一,例如BIRT(我确信有一些.NET备选方案)。您可能认为数据表足以让智能人员进行解析,但有人会要求提供图形和PDF格式。

维护/管理页面可以是标准网站 - 表单和后端,使用您熟悉的任何框架。

在架构方面,您打算针对实时数据库或存档数据库(或故障转移/复制数据库)运行报告吗?

您是否正在生成聚合数据表(事实表)以从更复杂的主模式生成报告或针对更复杂的主模式运行?

答案 1 :(得分:0)

我将使用管理系统来获取报表上的元数据,使用DevExpress ASPxGridView为每个报表系统提供一个简单的目录结构。该网格能够满足此应用程序的报告需求。

我将实施维护和管理作为标准Web表单,使用大多数报表的共享过滤器表单,根据报表元数据动态配置。报告没有运行时维护,因为添加报告需要添加页面。这是可以接受的,因为维护很少。