|
随着Max@X Analyser 5的发布,报表与数据分析系统的部署和集成模式正在发生变化。作为一个应用软件开发人员,现在你可以更好的把工作重点关注在数据的应用模型上。服务器的部署和集成变得越来越简单,并且模式变得多样;基于无缝集成的设计,也使应用中的授权控制与调用方式更加灵活。
Max@X Analyser同时支持两种不同的部署模式:独立部署与集成部署。在不同的需求中,我们可能需要选择不同的方案。
同时提供两种部署模式的目的,在于丰富您的可选性,使您集成了Max@X Analyser后的产品,具有适应更广泛应用需求的能力。
Ÿ 独立部署:
所谓独立部署,是指将Max@X Analyser Server作为一个独立的应用服务来进行安装和发布。具体表现形式,体现为一个独立的应用项目,在应用中包含了服务器管理、授权控制、任务调度、群组共享等内容。
使用独立部署的好处在于:
Ÿ 可以与应用系统分别部署在不同的服务器上,更有利于网络设备的负载均衡;
Ÿ 应用系统的后期维护工作中,报表与分析模型的追加、调整占了很大的比例,独立部署能最大化保障对流程管理模块的影响,减少因系统维护对客户带来的业务影响,同时降低维护成本,并提高维护效率;
Ÿ 全套的门户管理与授权机制,无需做额外开发,即装即用,应用更为简单。
Ÿ 集成部署:
集成部署,是指将Max@X Analyser的服务器引擎,作为应用服务器的一个组件进行安装和集成。在Java应用中,表现为一系列Jar文件;在VS.NET应用中,表现为一系列Web组件。
使用集成部署的好处在于:
Ÿ 作为当前应用程序内的一个组件进行整合,控制级别更高;
Ÿ 共享应用程序的授权机制,共用一个授权入口,权限控制更为紧密;
Ÿ 与应用程序集成发布,面对客户形象更为统一。
随着2003年Gartner Group发布第四代BI产品标准,几乎一夜之间,所有高端BI产品都给自己加上了“项目化设计部署”的标签。
然而,早在2001年Max@X Analyser第一个版本发布的时候,Max@X Analyser就已经开始采用项目化设计部署方案。
项目化部署给应用者带来的好处在于:
Ÿ 更有序
在项目化设计部署模式下,设计过程变得更加有序。所有的设计部分,如数据库连接、数据源、报表、OLAP、全局变量等,都在项目中有序分布,并能够相互引用、共享,使设计的便利性得到最大提高。
Ÿ 更适应团队开发
另一方面,项目化的结构,使开发过程中的协调管理变得更加简便,更适应团队的开发模式。Max@X Analyser为此还额外提供了项目导入(合并)的功能,使整体设计可复用性更高。
Ÿ 更稳定、更安全
此外,项目化部署也为部署过程的安全提供了保证。由于部署和调用都是针对项目而言,系统的稳定性从结构上得到了更多的保障。
Max@X Analyser 支持包括Windows、Linux和Unix在内的所有主流操作系统。
Max@X Analyser 支持包括MS SQL、Oracle、SysBase、DB2、MySQL等所有主流数据库。
此外,针对不同的应用环境,Max@X Analyser为Java和VS.NET提供了不同的服务器版本。
Ÿ Java版本
使用纯Java开发,可以自包括Windows、Unix、Linux等任何装有JDK 1.3以上版本的操作系统环境下运行。
Ÿ VS.NET版本
使用C#开发,支持VS.NET中的集成应用。
Max@X Analyser的推荐浏览模式,是在IE端以报表浏览器的形式调阅,这样您可以获得最大限度的数据应用,如精确打印、数据导出、二次分析、数据链等。
此外,您还可以根据您的需求,以纯HTML、PDF、EXCEL、JPG等形式调阅报表,通过服务器实时生成上述文件供阅读者浏览或下载。
在Max@X Analyser 5中,软件开发人员现在可以充分利用Max@X Analyser在复杂报表样式设计方面的优势来满足用户提出的任何苛刻要求。通过多数据源同步,你可以在报表中同步操作多个数据源来获得多数据对比和跨数据源计算的显示效果;通过实例化的对象对显示中每一个数据进行细节控制。此外,可控的逆向刷新,让报表在末端生成的结果可以直接影响前端的显示……。许多之前我们用其它工具难以实现的任务现在可以更容易的实现。
同时,系统还新增了数据微引擎和动态数据库指令:你可以通过脚本方式在报表生成过程中对数据进行SQL模式操作,并根据数据结果动态向数据库下达数据提取指令。你现在能够更好的利用已掌握的知识和技能获取更高效率的设计结果。
总之,Max@X Analyser 5的创新设计,能够使你更方便、更快速地满足用户的复杂需求。
Ÿ 多数据库
在一个报表项目中,可以创建多个数据库连接,这就意味着报表可以使用来源于多个不同数据库的数据:
Ÿ 多数据源
同一报表中,可以指定多个不同的数据源。这就意味着同一张报表同样可以直接利用多个数据库数据,而无需额外的数据整合工作。
此外,多数据源在报表中进行数据展现时,还可以直接进行跨域计算统计,这样无疑极大地增强了数据的可操作性,并降低了设计工作量。
在多数据源集成的基础上,我们可以进一步设定数据源的同步操作。
所谓数据源同步,是指在报表的设计区域中,如果在同一数据区域带,需要同时操作多个数据源数据,以获得对比、跨域计算等效果的话,可以在该区域中,设定多个数据源同步,以实现该效果。
由于Max@X Analyser设计模型支持对数据源的直接控制,解决此类问题非常轻松,只要设定需同步的数据源(联动数据源)在数据区域同步,就可以以非常传统的设计方式轻松解决整个问题。
在排序中,如果是规律的排序,让数据库返回按要求的数据源就可以了。然而,在实际使用中,可能出现这样的情况:
Ÿ 某些具有特殊值的数据记录需要以特殊的方式进行排序;
Ÿ 某些排序根据记录值需要同时有多个排序规则。
假设:字母A~Z是数据源返回的内容。如果在表现时,需要按A-Z或者Z-A的顺序,只需要在数据SQL中加上Order By就可以了。但是,如果设计需求是:G和F是报表浏览人更关注的内容,需要在开始部分浏览,其余按顺序排列。
Max@X Analyser支持报表中的个性化排序,每一个主数据区域,均带有数据源的再排序功能,我们可以通过向导界面,这样指定排序过程与排序优先级:
1、 字母=G;
2、 字母=F;
3、 剩余字母规律排序。
通过这种方式,不仅可轻松完成任意排序规则的组合,而且无需对数据源进行任何定义上的修改,使同样的数据源可以同时适应不同报表的个性需求。
复杂报表的一个重要特征,是需要对存在显示对象进行个性化处理,即在一般逻辑之下,需要对逻辑内部分显示内容进行特殊处理。
传统工具在这方面犹显薄弱,由于页面输出是以绘制点阵方式输出,无法针对某个显示区域进行特殊处理。
在Max@X Analyser中,报表页面的输出,将中每一个设计部件及其衍生显示,作为一个个独立的对象进行控制,每一个对象具有自身唯一的命名和属性特征。通过修改这些属性,我们可以在一般逻辑之外,对指定对象进行特性设定。
传统方式下,报表的生成按照之上而下的顺序生成。如果在报表某个位置显示的数据,由其下方显示所决定(比如,对下方显示数据的汇总),则必须在数据源中进行预先处理,或由报表先在内存中对下方显示进行计算,而后再决定该位置数据的内容。这样带来的不利之处是显而易见的:
Ÿ 如采用在数据源进行预先处理的话,无疑会加重数据库服务器的负担,同时也增加了数据源设计的复杂度;
Ÿ 如果在内存中进行预处理的话,一旦面临大数据量情况,极可能导致内存溢出或者需要长时间耐心等待。
Max@X Analyser基于“对象实例化”的模型,可以在报表生成过程中,对已生成部分进行逆向刷新。这样,我们就可以先直接在报表上生成下方数据,而后在条件成熟时逆向对上部显示进行刷新,既无需对数据源进行进一步复杂操作,也避免了长时间的等待。
报表动态创建,可以赋予报表更大的灵活性。比如,在某些场景下,我们需要根据浏览者的选择,在报表中以不同的样式显示不同的内容。
传统工具解决此问题的方法在于:在报表设计时穷尽种种可能,将报表设计得异常复杂,而后根据用户选择,对报表中部分内容进行隐藏。这种设计模式的缺陷在于两个方面:
Ÿ 设计者无法全面预计用户可能存在的选择组合,总有疏漏的一面;
Ÿ 设计过程复杂,逻辑混乱,导致效率降低,并且不便于维护。
由于采用了对象化模型,Max@X Analyser得以在报表编译过程中,动态创建报表显示对象。设计者要做的,仅仅是在逻辑上对客户选择的预计结果进行判断,具体对象、拜访形式、填充内容全部可以在报表编译时动态产生。由此带来的优势在于:
Ÿ 设计者在逻辑上进行清晰描述,有疏漏之处便于及时发现和更正。
Ÿ 设计工作量降低,使设计效率大为提高。
Ÿ 维护简单,调整逻辑即可适应更多更复杂的需求。
Max@X Analyser满足与应用无缝集成的另一设计在于:可以有效利用应用程序中已经创建的数据结果,进行报表展现。
此类集成方式有两种:
Ÿ 自定义数据源:
在Max@X Analyser中,只对数据源进行结构定义,而不作任何数据获取设计。在报表执行时,通过Max@X Analyser的服务器接口,设计者将应用程序中现有的数据内容置入自定义数据源供报表使用。
Ÿ 文件数据源:
与自定义数据源类似,不同之处在于数据置入的方法并非通过服务器接口,而是由服务器直接调用应用程序生成的数据文件,通过对数据文件的解析来获取报表数据。
使用传统报表工具,只能在数据源设计中,使用数据库服务器处理数据的SQL计算。这样带来的不便之处在于:
Ÿ 数据源的通用性降低,从而加重数据源设计的工作量。
Ÿ 无法根据报表执行过程中的数据或者环境变量反馈动态控制数据源。
Max@X Analyser的创新设计,通过在报表中集成数据微引擎改变了这一不便。
我们可以把数据微引擎看做一个微型的桌面数据库,通过这个引擎,可以在报表脚本中对现有数据进行进一步的SQL模式处理,从而满足更广泛的设计需求。
使用传统报表工具,报表所需的数据必须在报表生成之前准备完整,这种模式的缺陷在于:
Ÿ 无法根据报表执行过程中的数据或者环境变量反馈动态控制数据源获取内容和方式;
Ÿ 为满足动态需求,数据源需要包含所有报表可能需要的数据,从而加重数据库服务器和网络线路的负担,效率低下。
Max@X Analyser允许在报表中,根据报表执行过程反馈,动态向数据库下达数据获取指令,从而获得以下优势:
Ÿ 只从数据库服务器返回用户所请求的信息,数据传输和网络流量减少。
Ÿ 当用户需要通过Web根据实时数据制作报表时,面向用户的报表响应迅速,并能有效地与数据库服务器通讯。
数据源是一个包含多条记录的数据集合,如果报表不能对数据源当前记录位置进行控制的话,那么报表所能做的将仅仅是针对数据的简单摆放和罗列。
传统报表模型,通过设定数据源的自动循环来实现全数据集的逐条记录显示。这种模型的限制在于:
Ÿ 表现形式单一,数据仅能逐行显示;
Ÿ 对数据控制力度差,如果需要对数据源中多条记录数据进行计算的话,必须遍历这些记录,并且以变量的形式保存这些数据以作再计算,设计过程复杂并且运行效率低下。
Max@X Analyser允许设计者任意跳转数据源的当前指向,并且支持在指定记录位置设定标记,以便于在后续设计中快速定位。
Max@X Analyser数据源记录指针给设计者带来的便利在于:
Ÿ 可以将数据源用作一个摆放数据的容器,数据的表现应用与数据容器相剥离,应用更为灵活和丰富;
Ÿ 通过记录标记,实现当前记录快速定位,在需要进行记录错行、退格、跨域的计算和显示时,效率更高,同时计算更稳定;
Ÿ 满足对数据源分片显示的需求,可以将整体数据源(视做一个二维平面表格)拆分为多个片区,将不同片区显示在报表不同位置。
如果面对的是一份页数巨大的报表,比如一份400多页、汇总了所有重点客户近期交易详细记录的报告,尽管报表做了分组、排序,但是浏览者可能还是很难迅速定位到他希望了解信息的部分。
此外,对于这类大报表而言,能够尽可能简洁地先了解一下数据概要以及分布概要,对浏览者而言,可能会更有益处。
当然,在传统报表工具中,您也可以通过关键字的查找来定位需要检索的信息,但是如果有一个目录来帮助您了解目标信息的位置,并且帮助您直接将当前页面跳转到目标页面,无疑更加便于阅读。
如果您使用过Word,您一定对Word的目录和文档结构图具有非常深刻的影响。Max@X Analyser提供的纲要创建功能,使您可以为报表创建一个与此类似的结构视图,您可以以每一个分组标题、主数据标题等重要章节信息起始部分为关键点创建报表的大纲。这样报表的阅读者就可以顺序了解整个报表的数据分布,并能快速定位到所需要的信息位置。
以下描述的两个主题,仅仅是在实际应用中可能会预见的特殊实现目标的样例。我们希望通过这两个样例,证明Max@X Analyser在满足特殊需求方面所具备的原理性优势。
在实际实践中,您可以创造性地应用各个设计部件的组合,以满足更多的特殊需求。
Max@X Analyser采用控件方式设计报表,每个控件在设计界面中,均有自己的属性。同时,在报表运行中,根据设计逻辑生成的一个或多个控件实例,不仅继承了这些属性,并且可以通过脚本来动态地针对每一个独立的实例对象控制其属性特征。
但是在Max@X Analyser中,我们可以在表格中创建符合外观特征的控件(比如将一具有填充色的文本框用作周期进度条),并根据数据源中当前记录的检修周期为每一行周期进度条设定起始位置和长度属性,从而使此类报表的设计变得异常简单。
Ÿ 数据自动提交报表
Max@X Analyser具有非传统报表工具可比拟的后台扩展机制。通过对扩展接口的应用,加以一般设计功能的整合,我们可以突破传统工具的种种限制,满足更多特殊的应用需求。比如,如何实现数据的定时自动汇总提交。
我们知道,只有少量传统报表工具可以支持数据的输入和提交,并且这种功能还仅仅限制于简单的录入、提交过程,过程必须经过人工干预。然而在实际的需求中,大量的数据需要定期汇总后进行数据库写入,如果这个过程必须由人来干预,无疑是一种效率低下的行为。
利用Max@X Analyser的如下功能组合可以满足这个需求:
Ÿ 定时任务,可在后台定时自动生成汇总数据报表;
Ÿ 数据提交,不仅对于人工输入的数据,报表内任何数据都可进行提交操作;
Ÿ 动作控制接口,操作界面上的每一个按钮都可以接口形式进行代码调用,并非一定要人工干预。
通过以上三个功能的组合,我们可以在后台定时生成汇总数据报表,并通过接口控制报表内容自动提交至服务器。
|