Cell + XML + ADO
-―――构建企业级报表设计方案
信息化建设的兴起将给企业带来新的、巨大的商机,因此利用可靠、高效、迅捷的互联网获取信息、开展信息化管理是企业明智的选择,也是信息化时代发展的必然趋势。企业的业务和管理提供产品化的信息化解决方案也就成为了广大软件开发公司义不容辞的责任。
然而相应的问题也就随之而来了。如何保证目标推进和有效?如何保证产品质量的高低?等等一系列问题,将直接关系到企业信息化的成败、实施成本的控制等最终结果。开发信息系统一旦失败,成本是非常巨大的,寻找稳定高效便于使用并可以高度自定义的开发底层是降低风险的捷径。这里我们介绍一种将三层结构合理高效的连接在一起企业级报表解决方案“Cell+ADO”,希望能为需求设计和开发人员提供一些帮助。
轻便犀利的CELL:
CELL是用友华表公司推出的一个专门用于企业级报表开发的第三方控件(ActiveX)。是一个方便快捷,功能强大的客户端报表界面控件。它利用其领先的企业级报表设计工具使其用户的业务解决方案处于领先地位,并给用户带来了一个稳固的平台和强健的工具集,能够帮助客户扩展现有的交付成果,通过CELL服务于更多的用户。其最突出的是其复杂报表自定义功能和一组数目庞大的单元格格式接口,凭借此项特长CELL可以显示格式最复杂的报表。同时他还支持图表,单元格控件和自定义公式。该控件在多个大型软件项目中都有不俗的表现,在应用CELL的过程中给人的整体感觉是轻便而犀利。对于三层结构的报表项目来说,用CELL来做表示层是再适合不过的了,他的优势如下:
l 报表设计器极大的提升的报表设计功能,通过实现对常用报表文件的共享和报表格式的重用加速了开发和维护过程;
l 全面的客户端的报表和数字签名功能使用户可以在客户端得到最高的运行效率,将网络延时代来的损失降到最低;
l 更为紧密的web应用集成功能,其中包括全面的.NET支持和为海量数据提供的快速刷新模式。
l 完全开放的自定义接口,实现最大程度上的用户自定义。内置一套完整的自定义函数和公式体系。
l 统一兼容的数据类型和事件接口,使其在不同的集成开发环境下都有同样稳定的表现。
承上启下的XML:
扩展标记语言(XML)正快速地成为企业间数据交换的首选语言。他为实现安全、高效的企业对企业电子商务提供了一种开放的标准,它将把中小企业带入到电子商务之中。XML保证更好地在贸易伙伴之间实现数据的可移植性是未来发展不可阻挡的浪潮。它就象一条锁链将三层结构中的各个层次紧密的联系在一起。
简单易用的ADO:
ADO是Microsoft为最新和最强大的数据访问范例 OLE DB 而设计的,是一个便于使用的应用程序层接口。他最主要的优点是易于使用、速度快、内存支出少和磁盘遗迹小。相信已经有相当的开发人员已经对ADO和其他的数据访问对象了如指掌了,但是我在这里仍然要重申其优点,因为ADO是一组“组件对象模型”(COM) 接口,以统一的方式访问存储在不同信息源中的数据,其优势将突出表现在数据的WEB传输过程中。在B/S结构盛行的今天ADO无疑是个必选项。尤其是ADO. NET将为分布式体系结构的Web应用提供完美支持,利用ADO.NET提供的对象化架构的特性可以为开发带来极大的便利。这一点非常值的在.NET框架下开发的程序员
关注。
解决方案框架图
数据库数据在客户端实现的过程中要求客户端一定能够完成数据绑定是不现实的,尤其是对于复杂而不规则的报表来说更是如此。这样开发者在数据组织、分析、挖掘上就有了更多的可控空间。而XML由于其优秀的扩展性和灵活性使它允许描述不同种类应用软件中的数据,是数据传输媒体的最佳人选。
另外它开放的基于文本的格式使它可以和HTML一样使用HTTP协议进行传送,不需要对现存的网络进行变化。当然这也是由于防火墙对二进制数据的先天免疫所造成的。XML将整个三层结构紧密的联系起来,是系统中所有数据的传输的载体,作为连接Cell和ADO的纽带,为它定义一个饱满的便于扩展的结构将起到举足轻重的作用。这是关系到整个系统运行流畅性的关键问题。
另一个关键是数据分析算法,但是这里不想多说,其复杂性也不是能轻易说清楚的。他是在Cell+ADO平台的上层建筑,是中间层的核心,也是软件公司核心竞争力的所在。而Cell+ADO平台为上层建筑提供了底层保证和接口支持,是提高产品健壮性的基础。
数据流程如下:
数据库数据在客户端实现的过程中要求客户端一定能够完成数据绑定是不现实的,尤其是对于复杂而不规则的报表来说更是如此。这样开发者在数据组织、分析、挖掘上就有了更多的可控空间。而XML由于其优秀的扩展性和灵活性使它允许描述不同种类应用软件中的数据,是数据传输媒体的最佳人选。
另外它开放的基于文本的格式使它可以和HTML一样使用HTTP协议进行传送,不需要对现存的网络进行变化。当然这也是由于防火墙对二进制数据的先天免疫所造成的。XML将整个三层结构紧密的联系起来,是系统中所有数据的传输的载体,作为连接Cell和ADO的纽带,为它定义一个饱满的便于扩展的结构将起到举足轻重的作用。这是关系到整个系统运行流畅性的关键问题。
另一个关键是数据分析算法,但是这里不想多说,其复杂性也不是能轻易说清楚的。他是在Cell+ADO平台的上层建筑,是中间层的核心,也是软件公司核心竞争力的所在。而Cell+ADO平台为上层建筑提供了底层保证和接口支持,是提高产品健壮性的基础。
数据流程如下:
在数据流动过程中,首先ADO通过Connection事务与数据源建立联系,并创建接口对象,如:RecordSet。数据从数据库中得到后可以通过数据绑定与界面直接连接,当然由于缺乏灵活,这种方式被很多人所摒弃,因为这样你们的数据分析和挖掘模块将无用武之地了。分析后的数据大概能分2种,文本型和二进制流型的,我一直建议数据通过XML传递方式到客户端,客户端进行简单的组织就可以显示。在CELL中的SetCellString和SetCellDouble可以将数据按照数值和字符分类显示,而且它的ReadFromBuffer接口可以接受二进制流数据。
显然,通过上面的介绍您会发现在Cell+ADO的平台下,您只要关心数据处理和分析模块就可以简单的搭建起报表设计方案。随着Cell的不断升级和ADO.NET的推出,该组合的可行性也将不断的提高。希望他们能在企业的信息化建设中起到更加积极的作用。