《技术架构及移动设备培训资料》由会员分享,可在线阅读,更多相关《技术架构及移动设备培训资料(65页珍藏版)》请在金锄头文库上搜索。
1、第1章 技术方案1.1 体系架构1.1.1 总体架构采用B/S架构,为了更好的扩展性和灵活性,总体分成4层,图如下:每一层之间有清晰的接口,每一层内部可以独立的扩展而不影响其它层。根据BI商务智能分析的特点,要求支持各种类型的数据库,支持复杂的统计分析函数,支持丰富的展现形式。1.1.1.1 数据层数据层分2个库,一个是元数据库,存储用户、报表、数据仓库模型等系统信息,一个是业务数据库,存储要分析的数据。两个库可以独立存储在不同的数据库中,也可以存储在同一个数据库中。同一个元数据库可以基于多个不同的业务数据库进行分析,大大降低了同一个企业机构实施多个项目的成本和周期。另外,允许元数据库和业务数
2、据库分开存储可以提高并发访问效率。1.1.1.2 执行引擎流行的数据库都兼容sql99标准,但是都有各自的扩展,为了最高的执行效率,执行引擎为不同的数据库产生不同的sql,并生成一致的查询结果给分析引擎。另外,很多报表的数据来自多张业务表,需要多次查询,通过对查询的合并可以大大提高查询性能。高效的执行引擎是性能的保证。1.1.1.3 分析引擎为了支持复杂的统计分析同期、上期、同比、环比、topN/top%等等,灵活的分析引擎必不可少。分析引擎是报表到查询对象的桥梁,强大的分析引擎可以让用户简单定义就查询出复杂的数据。除了支持不同的统计分析方法,还支持从多种展现对象中提取查询信息,包括表格、统计
3、图、多维分析、地图等。1.1.1.4 展现引擎报表的展现方式日新月异,从表格到统计图、地图,从个人电脑到移动设备,从浏览器方式查看到用excel、pdf、word格式查看,要能做到一张报表多种方式在多个设备上展现。1.1.2 多级缓存现在企业机关的数据量都比较大,查询一张报表可能要几分钟的时间,当不同的用户计算同一张报表时,如果每个人都要到数据库中进行查询,势必会很慢。为了在大数据量环境中仍有很快的查询性能,有必要建立多级缓存。1.1.2.1 计算结果的缓存报表在计算之后会生成结果表,将结果表存储起来,下次计算时直接从缓存中读取计算结果,这样可以最大限度提高查询效率。结果的缓存要同时考虑查询条
4、件、用户身份、权限等影响查询结果的因素,避免返回错误的缓存结果。对于结果的缓存,还要有定时清理机制,避免过多的缓存占用大量的磁盘空间。1.1.2.2 展现对象的缓存当多个用户查看同一张报表时只需要生成一个展现对象。在为每张报表生成展现对象时将展现的结果缓存起来,下次查看报表时可以立即先展现结果,而不需要经过计算过程。这样可以最大限度提高查看效率。展现对象通常都是文件,比如html文件、excel文件、paf文件,通常比较大,为了不占用过多数据库空间,它们将存储在本地文件系统中。1.1.2.3 统计图的缓存作为报表的重要组成部分,统计图可以让数据更直观。在浏览器或其它设备上查看报表时,统计图快速
5、显示是非常重要的。为了加快统计图的显示速度,有必要对它生成的内容进行缓存,避免每次都取生成。统计图缓存和报表的缓存类似,它的尺寸比较大,放在文件系统中更合适。1.1.3 第三方扩展接口产品很难做到面面俱到,为了满足不同用户的个性化需求,提供完善的扩展结果很有必要。当分析或者展现的需求不满足用户需求时,有条件的用户可以自己扩展功能,实现自己的需求。1.1.3.1 扩展分析引擎分析引擎产生的结果是一个通用的标准格式xml格式,用户可以采用通用的技术修改产生的结果。通过扩展分析引擎可以优化查询对象、统计方法。并且,用户在扩展分析引擎时不必关心分析结果如何执行,这个由执行引擎来负责执行。1.1.3.2
6、 允许扩展展现层用户对结果的显示往往是个性化的,根据不同的项目有不同的展现需求。当产品自带的展现不符合用户需求时,可以扩展展现层。展现层包括界面布局、图表、交互,这些元素都可以扩展。客户端的展现层提供面向对象的接口,内部采用ajax技术访问服务器。访问服务器的链接地址采用最新的rest风格的链接地址,可读方便。1.1.3.3 允许扩展新的分析函数在报表中支持使用用户自定义的分析函数。利用产品自带的常用分析函数,用户可以实现丰富的自定义分析。扩展的新的分析函数可以在不同的展现对象中使用,包括报表、多维分析、统计图、地图等,做到一次定义任意地方使用。1.1.4 插件机制为了方便扩展产品功能,所有的
7、扩展都可以作为插件放到产品中来,而不用升级产品。支持通过插件支持新的数据库,比如支持达梦数据库。通过插件支持新的皮肤、通过插件支持新的语言、通过插件支持新的分析函数、通过插件支持新的展现对象新地图、新统计图、通过插件扩展新的控件等等。产品对自定义插件提供了完善的支持,产品自带的一些功能本身就是以插件的形式提供的,比如地图。当项目稳定之后再要增加新功能时,插件机制可以通过最小的改动就增加新功能。这点对长期项目尤其重要。1.2 纯Web方式传统的插件式商业智能工具软件是存在一些问题的,这些问题很有可能给用户带来不便:1) 业务用户需要繁琐的安装和更新才可以使用系统a) 很多插件的安装是很繁琐的,如
8、:Applet的安装还需要附带安装Java虚拟机,下载慢、体积大、安装复杂;甚至有时候用户费尽周折后,只是为了看一眼报表而已,得不偿失;b) 还有一些插件需要和主系统以版本号进行对应,主系统升级后,插件也要对应进行更新。过程繁琐、容易出错,使用极为不遍;2) 存在系统兼容性问题a) 还有一些插件,在系统兼容性方面存在不足,如:有的ActiveX插件不兼容Win7、不兼容IE9,局限了用户使用商业智能工具软件的时间和场合;b) 甚至,使用了这些插件的商业智能工具软件都无法脱离Windows系统,完全无法满足使用非Windows系统(如:苹果电脑)用户的需求;3) 业务用户的安全性更容易受到威胁a
9、) 插件相对来说,是更容易感染和携带病毒,使业务用户的计算机在不知不觉中受到安全威胁;b) 业务用户有时会被伪造、伪装的恶意插件所欺骗,落入全套,引狼入室;采用纯Web方式的商业智能工具软件,由于在任何情况下都不采用任何形式的插件,所以完全不存在上述的问题:1) 纯Web方式由于脱离了插件,所以业务用户来说,不存任何安装过程,省去了很多麻烦;2) 纯Web方式依托于国际通行的W3C标准以及市场上的主流浏览器,可以在任何存在有浏览器的系统上访问和使用,不存在系统兼容问题;3) 纯Web方式由于脱离了插件,从而直接杜绝了病毒感染的途径,也断绝了恶意程序进行欺骗的源头;业务用户的安全性得到了最直接的
10、保证;SuccezBI就是这样一款商业智能工具软件,所有功能模块在任何情况下都不采用任何插件(如:ActiveX、Applet),采用纯WEB的方式完成。通过对这些功能模块的考察,就可以发现,SuccezBI对纯Web支持的相当彻底,并且在人机交互体验上,完全到了传统插件式商业智能工具软件采用插件、客户端才能达到的效果。这些功能模块主要划分为:1.2.1 报表制作和展示1.2.1.1 报表制作SuccezBI为业务用户提供了纯Web的在线报表设计工具,用户不需要任何客户端、插件的辅助,就可以在线制作报表。并且,SuccezBI在线报表设计工具的优势在于:它虽然是纯Web的,但并非一个简单的页面
11、,而是带有很强的可操作性以及良好的人机交互体验;与传统的客户端一样,它支持许多复杂的动作和功能:1.2.1.1.1 可视化的报表设计SuccezBI的报表设计器是一个高度集成的可视化报表设计工具,和现在流行的Word、Excel这类常用软件一样,具备菜单、工具栏、工作区域等可视化元素,可以进行各种各样的操作。基于纯Web的可视化报表设计界面基于纯Web的图形化菜单、工具栏1.2.1.1.2 排版和布局SuccezBI的报表设计器除了可视化的工作界面外,报表元素也是可视化的,如:1) 数据表格:用来填充、展示数据;2) 浮动文本:用来装载一段文本进行精确定位;3) 下拉框;4) 按钮;5) 图片
12、;6) 布局表格:对上述元素进行排版的参照元素;7) 等等;这些元素全部是纯Web实现,并且可以进行排版。基于纯Web的复杂排版的表样1基于纯Web的复杂排版的表样21.2.1.1.3 拖拉拽的直观操作虽然SuccezBI的报表设计工具是基于纯Web的,但是为了给业务用户提供最方便的操作感受,SuccezBI提供了直观而简便的拖拉拽式操作。所有可排版的报表元素(如上节所述),都可以拖进工作区域,并且以拖拉拽的方式进行排版。拖入一个数据表格正在拖动一个已存在的数据表格拖拽按钮,并产生对齐线1.2.1.1.4 丰富的快捷键一个成熟、高效的可视化工作界面,一定会具有丰富的快捷键,为业务用户提供快捷的
13、二维操作。SuccezBI报表设计工具在纯Web的基础上,提供了大量的快捷键供用户使用。并且,其中绝大部分的快捷键符合用户的日常软件使用习惯。支持快捷键1支持快捷件21.2.1.1.5 鼠标右键菜单SuccezBI报表设计工具,不仅提供了大量的快捷键,还提供了方便的鼠标右键菜单供业务用户使用。鼠标右键菜单1鼠标右键菜单2鼠标右键菜单31.2.1.1.6 对话框和拾取在传统对插件式商业智能工具软件中,对话框拾取是一定要借助于插件、客户端才能实现的功能。但是SuccezBI报表设计工具,完全基于纯Web实现了对话框拾取。正在进行拾取1.2.1.1.7 调色盘和颜色拾取SuccezBI报表设计工具,
14、提供了丰富的色盘拾取工具,让报表告别颜色单一的时代,变得丰富多彩。文字颜色拾取框背景颜色和图片拾取框1.2.1.1.8 图形统计图是商务职能项目中非常多见的元素,传统的插件式商业智能工具软件大部分需要依靠插件、客户端、第三方插件(如:Flash)来进行绘制。SuccezBI给业务用户提供了更多的选择,SVG统计图技术,使商务智能项目再也不需要插件来展示图形。纯Web的仪表盘1.2.1.2 报表查看和导出SuccezBI为业务用户提了纯Web的在线报表查看方式,用户不需要任何户端、插件的辅助,可以像浏览网页一样浏览报表的计算结果。这样的查看方式对于业务用户来说,清晰、直观、便捷。极大的方便了报表
15、通过网络的传阅和发布,只需要一个地址,所有人都能方便的看到他想看的东西;并且很容易和其他业务系统进行集成。SuccezBI的纯Web展示报表,并不是简单的数据罗列,而是真实的带有各种版式的报表,图文并茂;报表上的样式、排版、图文、都是严格按照业务用户在报表设计工具中指定的进行呈现,页面上的视觉效果和纸质报表并没有区别。当然,如果业务用户需要将报表集成进其他的文书,或者向无法访问系统的外网用户发送报表,SuccezBI支持将报表导出为其他格式的文件,如:Excel、PDF。业务用户只需要在报表查看界面刷好数据,并选择导出为需要的格式即可。交叉浮动表红灯预警基于纯Web的导出1.2.1.3 所见即所得对于业务用户来说,一张报表存在两个阶段:设计阶段、查看阶段。传统的商业智能工具软件在报表设计和查看阶段所看到的效果是不完全相同的,这种模式会导致各种问题,这些问题主要体现在如下方面:1) 在设计阶段无法同步得知报表最终的效果,无法进行针对性的调整,导致报表版式、图文不美观;2) 在设计阶段看到的表样和最终效果不一致,导致在设计阶段精心设计的效果到了展示阶段产生很大的偏差;3) 业务用户追求最终效果的完