巴军 庄少清
摘要:多项目调试管理系统(CNPE-MPCM)是基于SIEMENS的PLM管理平台TEAMCENTER进行开发的信息管理系统,该系统的报表指标模块基于采用BIRT的BI应用框架实现。BIRT的BI应用框架基于TEAMCENTER的查询构建器、ITK扩展、SOA服务开发的对象数据抽取服务和BIRT系统的BIRT服务层,直接获取调试业务对象数据。通过BIRT数据提取服务,直接从数据集类中提取业务数据,经过BIRT数据转换、图形生成,通过BIRT Viewer展示报表。
关键词:TEAMCENTER;BIRT;商业智能
中图分类号:TP3 文献标识码:A
文章编号:1009-3044(2021)02-0038-02
1 前言
TEAMCENTER是端到端、一体化、模块化的全寿期管理平台,能够全面支持全生命周期的每一个关键环节,贯穿电厂设计、建造安装、调试、运行维修、退役、回收等阶段;而随着系统的投产,系统中会积累大量的业务数据,对于系统的使用者或者工程的决策者来说对调试业务当前与历史数据的分析就显得越来越重要起来。目前,主流的数据挖掘与展现中间件,分为ETL(Extraction-Transformation-Loading)与BI(Business Intelligence)两个系统组成,其中ETL负责从数据库中抽取需要分析的数据,而BI则主要负责针对抽取的数据进行运算、统计与结果展示。
但是这些中间件产品对于数据源的选定大多基于数据库的表空间,而TEAMCENTER的数据层对于实施开发者来说是不透明的,其暴露给实施者是经过封装的面向对象的数据结构而非数据库的表空间。这对于实施与二次开发来说是非常方便与可靠的方式,可以保证后台数据的一致性与可用性,这也是TC的优势所在。但是对于数据挖掘与展示来说就,因为TEAMCENTER没有将其表空间的数据字典暴露给开发与实施者,是个完全的黑盒子,因此主流的BI中间件方案在TEAMCENTER的二次开发中无法发挥作用。
BIRT是一个Eclipse-based开放源代码报表系统,它后台ETL组件部署在基于Java与J2EE的应用程序栈上,BI展现层则可以部署在Eclipse-RPC中。BIRT主要由两部分组成:一个是基于Eclipse的报表设计系统和一个可以加载到你应用服务器的运行期组件。BIRT同时也提供一个图形报表制作引擎,拥有和Dreamweaver一般的操作界面,可以自定义报表,可以将报表导出成图片、导出Excel、html分页,展示的样式比script设置简单。另外,BIRT还有OLAP导航功能。BIRT虽然是个轻量级的BI与ETL工具,但是对于实现CNPE-MPCM项目的报表展示模块来说则是可行的解决方案。
本文将介绍采用BIRT的BI应用框架,基于TEAMCENTER的查询构建器、ITK扩张、SOA服务开发的对象数据抽取服务。该应用框架开发技巧可以满足从应用系统业务对象BMIDE模型出发,设计BI报表指标模型,抽取、转换调试业务数据,通过BIRT View进行前端展示。
2 TEAMCENTER的应用
TEAMCENTER架构如图1所示,该信息系统的架构是基于TEAMCENTER的4层架构,包括资源层、企业层、Web层、客户端层、文件管理系统(FMS)。
1)FMS提供文件存储、缓存、分发的模块,保证文件高效、完整、安全的传输。
2)企業层提供了PLM UI框架支持UI显示,SOA框架提供SOA服务支持,PLM XML框架支持、业务建模器扩展框架、PLM数据模型支持PLM建模、模型管理,PLM逻辑业务实现支持业务逻辑实现。
3)PLM保密服务提供用户认证、权限管理,PLM Web服务提供Web服务。
3 基于BIRT的BI应用思路
基于BIRT的TEAMCENTER面向对象模型BI应用框架如图2所示,包含TEAMCENTER企业应用层、BIRT服务层、客户端展示层。
1)TEAMCENTER企业应用层,包含了完整的TEAMCENTER企业应用,包括资源层(数据库、文件系统)、企业层(PLM数据模型、PLM业务逻辑、PLM UI、SOA服务、PLM XML框架)、WEB层(PLM保密服务、PLM Web服务)、客户端层。
2)BIRT服务层,包含对象数据抽取服务、报表引擎、BIRT View三部分。
① 对象数据抽取服务,通过TEAMCENTER SOA服务调用TEAMCENTER的查询构建器、ITK扩展,获取企业服务中获取业务对象数据,对数据进行处理、转换,将数据保存在数据集类中,供后期处理。
② 报表引擎,使用BIRT报表设计文件生成相关报表,报表引擎包含提取服务(从数据源中提取数据)、数据转换服务、图形引擎(用于设计和生成报表图形)、展示服务。
③ BIRT Viewer,BIRT项目提供的报表查看器,用于展示BIRT报表,可以部署在Java EE 服务中,也可以使用在RCP应用中。
3)客户端展示层,用于展示BIRT报表,可以通过浏览器展示,也可以在RCP视图中展示。
4 TEAMCENTER业务对象数据抽取
在TEAMCENTER中设置查询用户,设置用户访问控制权限(ACL),通过BIRT服务层的对象数据抽取服务,从TEAMCENTER服务中抽取业务对象数据。
1) TEAMCENTER包,提供如何从TEAMCENTER企业服务中获取数据的类,包括QueryHelper、TCHelper类、ClientX类。
① 其中QueryHelper类是查询数据的通用类,可以根据实际业务进行扩展,默认是通过调用TEAMCENTER服务的查询构建器获取数据。
② TCHelper类,实现提取TEAMCENTER业务对象属性基本操作。
③ ClientX类,包含一系列类,实现调用TEAMCENTER的SOA服务以及错误处理。
2)业务对象模型包,包含要进行BI分析的业务对象JavaBean类。
3)数据集包,对BIRT提供服务提供数据,提供不同的接口,返回包含业务对象模型集合。
5 BIRT报表设计
1)定义数据源,对于从业务对象数据抽取服务中提取数据,设置Scripted Data Source数据源。
2)定义数据集,根据报表展示的业务对象,添加数据集,设置数据集列。
3)定义数据提取方法,采用JavaScript语言编写,从业务对象数据抽取服务中的数据集类中提前数据。
4)设计报表,根据需要定义报表格式、展示方式等。
5)发布报表到报表服务器或RCP应用中。
6 BIRT报表展示
本例展示了BIRT BI应用框架在CNPE-MPCM项目中某个应用场景,在CNPE-MPCM开发过程及应用中,采用BIRT服务层单独部署与Web服务器中,通过RCP应用调用BIRT Viewer,展示业务的指标和报表。
7 结论
随着TEAMCENTER企业应用的数据积累,需要引入商业智能将系统中数据转换成知识、分析和结论,以辅助业务或者决策者做出正确且明智的决定,帮助企业更好地利用数据提高决策质量。商业智能系统应具有的主要功能有数据仓库、数据ETL、数据统计输出(报表)、分析功能。针对TEAMCENTER平台采用面向对象建模的系统,如果采用从数据资源层(数据库、文件系统)抽取数据,有以下方面问题:
1)需要解析TEAMCENTER的数据存储结构,这涉及TEAMCENTER的内部处理机制,不能通过TEAMCENTER公开接口获取;
2)不能有复用企业应用的BMIDE模型。
本文采用的框架开发技巧,可以避开以上两方面问题,通过SOA获取BMIDE模型对象数据,然后通过Java程序對数据进行处理,保存到数据集对象中,实现数据ETL功能。
本文中的业务数据抽取服务,可以进一步开发将数据保存到数据仓库中,将业务数据抽取模块作为一个针对TEAMCENTER平台的BI ETL工具,集成到BI系统中。
参考文献:
[1] 周志明,谢小明.深入理解OSGi:Equinox原理、应用与最佳实践[M].北京:机械工业出版社,2013.
[2] 陆阳.Eclipse RCP与Spring OSGi:技术详解与最佳实践[M].北京:机械工业出版社,2013.
【通联编辑:代影】