背景信息
从20世纪70年代的报表生成器开始,到目前高端的商业智能平台,报表问题层出不穷。呼声最高的就是客户希望非程序员人员能够自助创建报表。传统的瀑布模式一般会按照先搜集需求,然后以特定程序语言设计、编码、测试、发布报表这一流程来工作,但这无法满足动态的报表需求,用户更多期望的是一种即时高效的信息传输方式,这也是应用程序的首要功能。不幸的是,编写报表一直被认为是不需要太多的IT和ISV资源。报表一般是在有了主要的应用程序之后才生成的,设计欠缺导致维护起来很困难,而且通常格式只支持HTML或是PDF一种格式,没有任何自助式的用途。这种报表对工程师们来说是很难维护的,加几个功能就需要几周甚至几个月,功能虽然加上了,但是耗时太长,一些报表内容已经过时了,又要进行新的修改。
对于独立软体开发商来说,他们不断地从客户那里收到改动请求,上述问题实为棘手。这种情况下,他们要么提前做预测,收取相关改动的费用成本,要么把报表改动也作为合同条款。无论哪一种情况,工程师们都是在把大量的时间花费在为现有的客户做一些定制工作。与研发出售新软件的高额利润相比,做这些事情的回报真的是太少了。
相比只有少数人员的IT部门,为客户选择最恰当的商业智能工具对独立软体开发商而言尤为重要。每当独立软体开发商接收到一个新客户,创建新报表和修改已有报表的请求都会相应增加,独立软体开发商取得的成就越多,报表工作量增加的也越多。并且,新的客户还会要求报表遵循自己的风格线路及企业品牌,这些都是IT部门完全不需要考虑的。
迅速的报表部署
独立软体开发商必须要为客户提供简易生成,无需太多培训即可创建的报表,而且他们还需要具有能够快速创建出终端用户不能自助创建的报表的能力。每个客户所需要的报表输出格式不一样,如RIA AJAX、HTML、PDF、Excel、Printed、Word、XML等,每个客户对报表页数、字体、颜色、图片、标志、版权注释等的要求也不一样,所以独立软体开发商的应用程序一定是可以进行自定义设计的产品,这样每个用户都会觉得自己是在使用量身定做的产品。
无缝集成
报表工具应该既可以轻松地单独使用,也可以与独立软体开发商应用程序软件结合使用,而且要让客户觉得他们的报表工具就是应用程序原有的一部分。用户界面包括字体、颜色、信息、帮助及安装目录结构也要与应用程序软件集成,决不能让用户明显的察觉到有第三方产品安装在系统中。
安装及许可
商业智能工具的安装、许可也应该与独立软体开发商的应用程序无缝集成。如果对多个不同的产品如DBMS及商业智能工具以第三方的形式分别进行安装的话,一定程度上会削弱独立软体开发商产品的价值,而且也会使产品自身更难维护。独立软体开发商需要保证的是,包括第三方产品在内的整个应用程序在用户看来就是一个完整的整体,并且只通过一个软件许可来管理。如果产品中包含一些商业工具,那么执行指定用户许可的时候就会出现诸多困难,这会给独立软体开发商带来很大的风险。其他像GPL这样的开源许可,可以撤销贩卖及发布软件的限制。
跨平台服务支持
独立软体开发商应该提供跨平台的服务支持。商业智能必须能够满足用户在任何潜在的平台上运行报表的需求。这些平台可以是像IBM及Unisys这样的大型主机,可以是像AS-400s、Sun和HP Unix系统这样的中型计算机,也可以是一系列基于Windows和Linux系统的计算机。而恰恰是只有那些完全生成在Java中,可以在任何应用程序服务器上运行的商业智能工具,才可以提供这样的跨平台服务支持。
基于Java的商业智能工具不需要用户购买额外的硬件,或是需要独立软体开发商来分别创建安装包就可以实现跨平台服务支持。如果需要用户购买额外的硬件,或是需要独立软体开发商来分别创建安装包的话,独立软体开发商的成本会变高,产品也就很难卖出了。
终端用户的自助服务
就像用户可以对预定的报表进行个性化的更改一样,独立软体开发商可以让用户进行自助式的报表设计,这样用户可以轻易地创建新报表,依据特定的模板、风格来更改目前的报表。而且不需要用户学习SQL或如何以最佳的方式访问数据,用户就应该可以用浏览器界面或导向等常见工具来轻松地创建新报表。
每一次使用都要个性化?
每一个终端用户都应该可以不需要独立软体开发商或IT部门的干预,利用分组、筛选、排序等功能就能创建出个性化的报表,而且每个用户也要能够创建个人档案,然后可以用与用户登录信息一致的语言、样式、格式等来浏览报表。
灵活的软件开发包(SDK)
独立软体开发商可以提供一个API,这样用户可以向应用程序添加其他功能。商业智能工具也需要提供一个SDK,这样应用程序的所有功能就可以供用户来使用了。商业智能工具供应商提供的SDK应该可以在以下任何IDE环境中工作:Oracle JDeveloper、 Sun/Oracle NetBeans、 IntelliJIDEA、 IBM WebSphere Studio、 Embarcadero JBuilder和Eclipse。许多商业智能工具只单纯的支持IDE,像Eclipse的一个插件那样,很可能客户端的工程师根本不了解。
JReport的解决方案
既然我们已经清楚独立软体开发商需要的是什么了,那么JReport是如何满足这些需求的呢?
快速的报表生成
JReport设计器是一个基于Java Swing,可以实现所见即所得的报表设计工具。它可以让独立软体开发商创建通过创建资源库来支持可用的数据资源、查询、商务视图、报表模块、公式及安全政策等。资源库中的对象支持任何数量的报表模板,每个模板中可以有任何数量的主报表及子报表,JReport是唯一一个能够让用户把若干个报表放到一个模板文件中的产品,这样独立软体开发商就可以轻松地管理报表了。我们把资源加到资源库中而不是直接加到模板中,就是为了方便直接把资源库及报表模板锁定到客户的物理数据URL上,这就意味着无需修改报表模板就能对样式及标示进行修改。这样一来,为客户提供个性化的报表就不再是什么难事,而实际上,提供给每个独立软体开发商客户的报表其实都是一样的,不同的只是一些外部属性文件、图像及样式。
无缝集成
大多数独立软体开发商都希望商业智能工具的用户界面能够与应用程序界面进行无缝集成。一些开源工具只会告诉你这需要开放式资源的产品才能做到,但是他们却没有说你如果确实下载了资源,更改了代码他们不会提供任何技术支持给你。而且开源代码样式及界面不是那么容易就能改变的。商业产品,因为自身不提供资源代码因而一般情况下不会实现无缝集成。这些工具在独立软体开发商应用程序那边看起来各不相同,用户需要分别学习新的命令才能使用商业智能工具。
JReport却在上述两中极端案例之间达到了一种平衡。JReport的用户界面是100%基于JSP、 JavaScript及属性文件的,因此界面是可以通过独立软体开发商进行更改,实现无缝集成的。而且我们不仅会为用户的更改提供技术支持,我们也很鼓励用户这样做,我们的培训课程会为用户演示如何轻松地进行相关操作。
安装及许可
大多数商业智能工具都需要产品完全的安装到客户的计算机上,菜单上目录索引要有商业智能工具供应商的许可控制及可视化等选项。独立软体开发商可以将JReport以无需安装,无需许可的单独WAR文件的形式发布。这也是我们发现像IBM那种有着自己商业智能产品的公司依然会将JReport作为嵌入式报表工具的原因所在,因为他们自己工具不能作为独立软体开发商应用程序的一部分来实现无缝嵌入、安装及许可过程。
100%基于Java的跨平台操作
JReport100%基于Java,既可以在任何应用程序的服务器上运行,也可以作为商业智能工具
单独运行。现在大多数商业智能产品供应商都会提供Java界面,但是要想运行整个服务器,启动安全、性能、集群等所有功能,您需要在有限的平台上使用特定的操作系统进行安装。这样就会限制独立软体开发商产品的销售,特别是会失去与那些完全不懂平台操作的客户合作的机会。
一旦JReport嵌入到了您的应用程序中,经过安装、许可、无缝集成等程序后,您还需要解决一下自助层面的问题,这样在有任何改动的情况下,用户也无需向独立软体开发商寻求帮助。要是没有自助服务的话,用户要么自己付费来进行改动,要么使用独立软体开发商的一些资源来免费做改动。
JReport网络自助服务
JReport支持网络自助服务,报表设计者可以通过在查询上创建元数据层让报表的终端用户浏览报表中可访问的数据。设计者可以创建符合报表模板的报表立方,并为终端用户提供一个资源视图,方便终端用户在运行环境中对报表做更改。通过配置文件,高端用户可以隐藏域,移除域,或者是向报表中添加新的域,也可以改变域的宽度及格式,更改组、筛选器、排序及样式等。换句话说,只要用户有相应的权限,就可以在运行环境中对报表做任何更改。甚至是一般个人都可以对报表模板进行修改并将其保存在“我的报表”中,这样就能在不影响其他用户的情况下让每个用户拥有自己的私人定制报表。
终端用户也可以用应用程序资源库中定义的报表立方来创建即时报表,无需知晓底层的数据资源是SQL、预存程序、视图,从其他应用程序导入的SQL语句、XML文件、Java对象还是其他任何数据源,用户都可以轻松地创建一个新报表组件,具体包括带状报表、表格、交叉表、图表。用户还可以轻松地拖拽数据域、公式等。另外,表示报表页数、日期、时间、图片、参数等详细的属性信息也可以更改。
JReport用户文件
JReport允许管理员为每个用户或用户群组建立默认的用户文件,这样用户在无需更改报表模板的情况下,就可以浏览基于CSS样式的颜色、字体、输出方式等该用户特定的相关属性。
与手动为不同用户分别修改模板相比,上述方式可以为独立软件开发商节约大量的成本和时间,而且这种方式还可以在不改动模板的情况下为几百位用户维护模板。
JReport软件开发包
JReport提供完整的SDK。凡是JReport设计器和服务器能够做到的用户都可以通过应用程序直接进行API调用来实现。SDK不会识别IDE,所以独立软件开发商及其客户可以使用其内部的IDE,这相比于那些需要Eclipse插件的工具来说要灵活的多,但是如果您想用Eclipse来进行开发及模板设计,您也可以通过免费升级JReport来实现。
个案研究
Passkey是一个业内领先的网络团体预约供应商。报表对其日常业务来说尤为重要,不仅是他们的客户要通过报表来进行商务运作,Passkey自身也要通过报表来分析他们的账户。
Passkey起初使用的是一种内部解决方案,但是随着业务的增多,新报表及功能需求也增多,上述方式明显已经满足不了需要了。
所以Passkey就开始测评几款不同的商业智能工具,最后选择了JReport,是因为JReport不仅功能丰富,简单易用,其一体化及高级的安全模式也十分出色。
通过使用JReport,Passkey实现了有史以来第一次得以快速地部署报表,使用钻取等功能来及时地向客户反馈信息。随着经济形式的变化,报表的测量方式显得尤为重要,通过JReport,Passkey可以及时地部署不同的测量方式。下图即为Passkey的仪表盘示例。
联系我们
网站:http://www.jinfonet.com.cn
邮箱:jianfeng.wang@jinfeng-bi.com
关于金峰软件
金峰软件致力于通过先进的视觉化技术向广大的企业用户提供灵活,及时,可操作的信息。金峰软件总部在马里兰州罗克韦尔市1-270科技走廊的核心地带,有一支由160名专家组成的Java研发队伍,提供领先的嵌入式Java报表解决方案。自1998年成立以来,金峰软件一直以良好的业绩不断成长着,目前已经发布了JReport的第13个版本。
关于JReport
JReport系列产品包括JReport设计器,服务器及JDashboard。这一全套的报表软件是嵌入式智能报表解决方案的领军者,用户可以直接从现有的应用程序中进行最为直观的报表设计。JReport自问世以来为分布在世界各地900家企业数以百万的用户提供智能报表的服务。