发明内容:
本发明的目的在于提供一种免编码集成应用软件平台系统,其能完全覆盖软件工程的全过程包含需求、设计、开发、测试、运行与维护等阶段做到全过程完全无编程化,并支持虚拟机级别的集群模式及云计算的虚拟计算框架,功能强大,成熟度较高;不仅能做为软件开发的平台,还可以做为一个商务运行平台。
为达成上述目的,本发明采用如下技术方案:
一种免编码集成应用软件平台系统,所述的软件平台系统包括:数据库及与其连接配合的运行管理平台、开发管理平台三部分,其中:
运行管理平台:与数据库对接,包括相互配合的Granite管理器及Granite服务引擎;
开发管理平台:与数据库对接,包括Dasher参数服务器及与其配合的Dasher控制台、Mixer开发工具;
数据库:储存开发管理平台对各个应用系统配置的参数结果供运行管理平台调取使用;
其中,作为运行的主体部分Granite服务引擎架构于Java EE技术平台之上,其立基于JEE开发环境,JEE架构各个层级如下:
数据层:其位于平台底层,存储各种数据模块;数据层存放应用系统处理的各种资源。
WEB容器层:位于数据层之上方,基于Java的应用环境,用于建立、部署和管理Web应用程序,本平台安装、运行于此层之上,所有支持WEB运行的程序都部署于此;Granite平台可以运行在多个知名WEB服务器之上。
Granite服务引擎层:是本平台的核心,位于WEB容器层上方,其中包括基础支撑组件群及行业应用组件群;支撑运行管理平台及运行客户端功能,完成对各个应用系统运行的支持工作。
应用系统层:位于Granite服务引擎层上方,运行于Granite服务引擎上的各种应用系统,由Granite-Mixer开发工具开发,受Granite管理器管理。
客户端:浏览器运行客户端,支持各种知名的浏览器,客户端无须安装插件。
Granite服务引擎主要负责对构建好的业务模型参数(由Mixer开发工具生成)进行解释执行,即包括对业务模型的加载、解析、执行、跟踪及控制;运行管理平台通过提供丰富的组件(包括基本的系统支撑组件和应用级的业务组件),实现流程管理、业务逻辑处理、业务展现控制、权限管理等系统支撑功能;通过应用组件的继承关系定义,实现业务组件的复用和多态化。
运行管理平台的Granite服务引擎包括基本支撑组件群及行业应用组件群,所述的基本支撑组件群主要包括流程处理组件、运行处理组件、基本处理组件及管理支撑组件,其中:
流程处理组件包括:
(1)功能流转模块:与客户端及外部系统连接,对各个模块信
息承接流转。
(2)通用的外部接口模块:连接功能流转模块及基本处理组件中的线上调试模块,根据接口对象参数的定义,支持各种的通讯方式以及不同格式的电文的解析与包装。
(3)后台任务调度模块:连接功能流转模块,通过设定的任务调度参数对象,以一定的时间点作为条件,同时判断时间点是否满足业务执行条件,在允许作业执行时根据参数设定调用相应的业务组件。
(4)站内短信、邮件系统接口模块:连接功能流转模块,通过设定业务组件对象参数的通知方式或在应用逻辑中直接调用相应的方法,系统会向目标(组件、角色、用户)发送信息,并且以事件的方式通知目标。
(5)工作流引擎模块:连接功能流转模块及运行处理组件的报表引擎模块、业务组件引擎模块、页面引擎模块,根据工作流对象参数的流程定义,通过业务组件引擎实现不同业务流程环节的控制。WVM(Workflow Virtual Machine)工作流虚拟机概念,内部统一接口,向外兼容BPML、BPEL、XPDL、WSCI等标准工作流定义语言。
运行处理组件包括:
(6)报表引擎模块:连接功能流转模块及基本处理组件的线上调试模块,通过访问对象参数的数据,按照报表定义模型的解释执行,在生成报表过程中,可以通过设定调用已定义的逻辑参数对象进行数据加工和计算,最终生成报表。
(7)业务组件引擎模块:连接功能流转模块、工作流引擎模块及基本处理组件的线上调试模块,通过对象参数的数据,按照组件定义的逻辑、页面展现,动态生成业务交互页面。
(8)批次处理模块:连接功能流转模块及基本处理组件的线上调试模块,批次处理是按照设定的一系列参数对象构造业务处理对象树,以并发或串行执行平台所能执行的业务组件(报表、图表、数据处理、程序接口…),支持组件节点的业务状态事件的发布以及处理。
(9)页面引擎模块:连接功能流转模块、工作流引擎模块及基本处理组件的线上调试模块,一个基于ajax的UI引擎,通过页面参数对象生成用户交互界面,支持客户端javascript和服务器端逻辑运算,支持页面输入栏位事件触发去执行相应业务组件。
(10)信息公告系统模块:连接功能流转模块及基本处理组件的线上调试模块,通过公告对象参数,生成消息主体,以广播订阅模式发布信息,用户可自定义公告系统的显示方式以及风格。
基本处理组件包括:
(11)线上调试模块:连接运行处理组件中的各个模块,当打开调试系统时,系统所执行的业务步骤会在前台页面中输出,如果遇到业务执行错误的时候,可以通过线上调试工具来查看错误的来源,并且可以在应用逻辑中输出用户自定义的输出语句,以便查看业务逻辑变量的变化。
(12)业务逻辑解析引擎模块:连接线上调试模块,业务组件运行需要有业务逻辑来支撑,Granite平台提供平台专用的业务逻辑脚本语言,可以很方便进行业务计算以及逻辑判断。
(13)面向对象的业务组件模块:连接业务逻辑解析引擎模块,通过组件的继承关系定义,可以实现业务组件的复用以及多态化,支持多重继承。
管理支撑组件包括:
(14)授权管理模块:连接流程管理组件,系统支持多组织结构、多用户、多角色、多功能模块等多级别的动态授权,另外,通过插件式组件动态支持外接AD或NDS等第三方用户权限管理系统。
(15)历史记录管理模块:连接运行处理组件,历史记录分为两种类型,一是IO记录,保存IO数据的前后状态;二是用户的操作记录,保存用户的所有操作事件,通过保存这些事件,可以重演用户的操作过程,做到应用历史记录对应用系统的可追溯、可恢复、可管理。
(16)对象参数管理模块:连接基本处理模块,通过分布式的缓存对系统级的参数对象进行缓存处理,提高系统性能。
所述的运行管理工具中的Granite管理器是专为平台系统管理员提供的管理工具,管理员使用该工具可施行配置、监控与维护等管理工作,主要包括:
(1)系统监控模块:连接Granite服务引擎、在线用户管理模块及业务对象操作模块,监控核心引擎各项服务的运行信息,管理者可以很直观的监视系统各个环节的运行状况,包括:系统信息:服务器各项资源使用情况。
(2)数据源管理模块:连接Granite服务引擎,系统的数据使用依赖于服务容器的数据源,但每个服务容器的数据源管理方式和使用方式不一样,用户有时在制定数据源的时候不得不经常查阅相关的数据库文档,Granite管理器提供统一的界面和操作方式管理数据源。
(3)配置管理模块:连接Granite服务引擎,用于运行日志、资源、系统、用户参数配置。
(4)缓存管理模块:连接支持系统监控模块及业务对象操作模块,运行管理服务引擎提供了缓存处理以加快运行速度;通过缓存管理可以管理这些缓存信息。
(5)在线用户管理模块:连接Granite服务引擎及系统监控模块、运行日志管理模块、交易监测模块,管理者可以查看用户使用平台服务的情况,方便掌握系统的使用状况;在线用户记录当前在线使用系统的用户信息。
(6)运行日志管理模块:连接支持在线用户管理模块及交易监测模块,按时间记录系统运行信息,当遇到运行错误时记录系统出错的异常信息、出错的操作、出错的时间和线程等相应信息。
(7)交易监测模块:连接Granite服务引擎及在线用户管理模块、运行日志管理模块、业务对象操作模块,系统可以实时监控用户的交易状况,也可以查看该用户操作历史记录,重演用户交易的操作过程,便于问题的追踪也可提供用户的绩效考核等二次开发的基础数据。
(8)业务对象操作模块:连接Granite服务引擎及交易监测模块、缓存管理模块,可以停止、挂起、继续业务对象的执行,查看当前业务对象的信息以及动态调整业务对象的属性。
所述的Mixer开发工具是一个业务建模工具,通过该工具可描绘不同的业务模型,实现不同的业务应用,Mixer开发工具通过与Dasher参数服务器交互,实现业务模型参数管理,主要包括:
(1)服务器交互模块:连接Dasher参数服务器,通过与Dasher服务器沟通,就可以实现参数对象的存取以及参数对象的版本管理。
(2)参数对象建模设计器模块:连接服务器交互模块及模板管理模块、授权管理模块,自由定义各种参数对象的设计工具。
(3)模版管理模块:连接服务器交互模块及参数对象建模设计器模块,方便生成、管理各种参数对象模版,开发人员经验累积,用于快速、定式的开发。
(4)目志管理模块:连接服务器交互模块,系统提供详细的开发过程记录、运行日志,可用于跟踪系统错误,协助解决问题;可对开发过程记录进行管理,实现系统灾后恢复处理、开发过程查询…等功能。
(5)版本控制模块:连接服务器交互模块及授权管理模块,实现各个参数对象模型的版本控制。各个参数对象模型的创建、更新、删除都会在版本控制管理体现,并且记录相应的版本号、用户ID、操作动作以及操作时间。
(6)管理工具模块:连接服务器交互模块,包含数据表管理、系统变量管理、资源配置管理、数据浏览、流水号管理等实用的工具。
(7)授权管理模块:连接服务器交互模块及参数对象建模设计器模块、版本控制模块,以功能、功能模块、功能菜单、角色及单位等多级别架构系统操作人员的授权管理机制,灵活、有效地管理操作人员与各业务参数对象的关系。
开发管理工具(Dasher控制台)是开发工具的管理工具,系统管理员使用该工具来进行开发管理的工作,包括:
(1)系统监控模块:连接Dasher参数服务器及运行管理模块,对当前服务器资源使用情况进行监控,直观展现各项系统资源使用情形。
(2)在线用户管理模块:连接Dasher参数服务器及运行管理模块,系统管理员可以进行在线用户管理,可以查看各单位用户使用情况,掌握目前开发用户信息,包括IP信息、登录时间等;可以停止、挂起、恢复指定的用户或单位。
(3)运行管理模块:连接Dasher参数服务器及系统监控模块、在线用户管理模块,系统提供详细的开发过程记录、运行日志,可用于跟踪系统错误,协助解决问题;可对开发过程记录进行管理,实现系统灾后恢复处理、开发过程查询…等功能。
所述的参数服务器包括流程处理参数平台、交易组件参数平台、基础支撑参数平台及外部连接平台。
所述的流程处理参数平台包括:
(1)任务调度模块:连接功能组件模块,一个时序管理的参数。它配置某个交易的启动时机、启动对象等信息。
(2)流程管理模块:对接功能组件模块,是交易组件间流程管理的参数,它控制着一个一个交易片段间的流转;它将各个交易组件依照要求的逻辑串接起来。
(3)批次作业模块:对接功能组件模块及交易组件参数平台上的数据处理模块、分析图表模块、数据报表模块、程序接口模块以及联处参数平台上的联外接口模块,是一个多层级的交易组件树。这棵树也可以被当成一个单一的功能使用。是一个流程管理参数也是一个交易组件参数。
(4)功能组件模块;连接各个模块,它是各种交易组件参数运行的主要入口。可以直接被授权使用、可以被流程控制参数叫起运行、可以接受任务调度启用。
所述的交易组件参数平台包括:
(1)数据清单模块:连接功能组件模块,条列式地显示指定的数据内容。一般使用在多笔显示某数据表的数据内容,用户在显示的清单选择了某笔记录后进行后续的查询、修改、删除作业。
(2)页面配置模块:连接功能组件模块,与用户交互的页面处理。包含了各式各样的画面组件,组合应用系统所需要的各种交互画面。
(3)数据处理模块:连接功能组件模块及批次处理模块,当需要对某些相同性质的数据同时做某些逻辑处理的时候,可以使用这个参数来配置完成。
(4)分析图表模块:连接功能组件模块及批次处理模块,将统计分析图表独立设计为一个参数集。可以独立形成一个功能使用也可以和页面配置参数搭配使用,作为一个画面组件嵌入画面中。
(5)数据报表模块:连接功能组件模块及批次处理模块,报表生成工具,可以生成各类应用报表;可以结合其他的第三方报表工具。
(6)报文处理模块:连接功能组件模块,为对各式规格化报文的处理工具。用于如S.W.I.F.T.、各类EDI、TELEX、…等报文的处理。
(7)程序接口模块:连接功能组件模块及批次处理模块,Granite为了一些特定用途、无法归纳整理出来形成参数的工作设计了一个参数集-程序接口参数集。这个参数集可以接上已经事先写好的java类,也可以直接写上java代码或者直接与某个资源做数据交互处理。
所述的基础支撑参数平台:
(1)表现支撑平台:用于支持页面表现与控制工作。;
(2)逻辑处理支撑平台:用于业务逻辑处理工作。
(3)基本支撑平台:用于资源配置、授权、信息提示、流水号管理及其它系统基本工作支持。所述的外部连接平台包括:
(1)联外服务模块:连接功能组件模块,提供外界接入的服务控制工作。
(2)联外接口模块:连接功能组件模块及批次作业模块,系统与外界资源交互处理工作。
(3)接口映射模块:连接联外接口模块,与外界数据交换的规则与处理。
采用上述技术方案,本发明具有的特点是:
功能性:平台总结应用软件的公共特征,以参数化方式描述应用系统的基本支撑组件形成了一整套可自由定义的业务措施,可由行业专业人员自行根据需求定义涵盖组织架构、业务流程以及全部所需要的业务功能的行业应用组件,并把用户与技术性应用软件相联而形成一个整体的系统,用于各行业企业、事业单位、政府机关的信息化业务操作与运行管理。
集成性:平台集成了组织架构、工作流程、业务功能分类组件、消息、排程等各项基本支撑组件;并把逻辑上相关联的组件连接在一起。完全取消重复的工作和多余的数据,优化操作与管理规程,以集成化的组织分工取代了传统的人工管理。平台基于Java EE标准化应用服务技术,采用JCA、JTA、JMS、EJB、JPA、BPM等各种符合国际标准规范的技术框架,支撑整个平台的消息、数据IO、流程、事务、资源的控制和管理。
开放性:平台集成各类应用中间件,通过配置通用接口组件,实现与第三方软件的集成或连接。平台的体系结构符合国际公认的标准,使客户得以突破专用硬件平台及专用系统技术的局限。平台开放基于TCP/IP、WS、RMI、RMI-IIOP、CORBA协议通用接口API程序,使之易于跟第三方软件集成。基于Java write once run anywhere的虚拟机技术,实现跨多种OS平台,客户端零插件、免安装、支持自定义风格。
组件化:平台总结应用软件的公共特征,将应用功能拆分成一个个基本支撑组件(如业务功能分类组件[流程、输入画面、表单、图表、逻辑、批量批次处理等]),并以图形化的界面形式表现出来,实现行业专业人员可自由编辑与组装来生成行业应用组件。
灵活性:平台的基本支撑组件设计通过被继承、剪裁、升级、组合等方式配置,实现了行业应用组件的可自由组合与拆分,从而满足各类用户、各种行业的共同或特定的需求;也可通过平台的通用接口组件界面可配置与已经实现的应用的直接调用或连接。
运行架构:系统支持大型企业级应用,支持虚拟机级别的集成部署,以此为基础,构建了基于云计算技术的运行架构。
另外,本平台系统可实现快速开发,大大节省了软件开发时间。
具体实施方式:
以下结合附图及实施例对本发明详述:
如图1-图7所示的本发明的实施方式,一种免编码集成应用软件平台系统,所述的软件平台系统包括:数据库1及与其连接配合的运行管理平台2、开发管理平台3三部分(图1),其中:
运行管理平台:与数据库对接,包括相互配合的Granite管理器21及Granite服务引擎22;
开发管理平台3:与数据库1对接,包括Dasher参数服务器31及与其配合的Dasher控制台32、Mixer开发工具33;
数据库:储存开发管理平台对各个应用系统配置的参数结果供运行管理平台调取使用;
其中,作为运行的主体部分Granite服务引擎架构于Java EE技术平台之上,其立基于JEE开发环境,JEE架构各个层级如下(图2):
数据层A:其位于平台底层,存储各种数据模块;数据层存放应用系统处理的各种资源。
WEB容器层B:位于数据层之上方,基于Java的应用环境,用于建立、部署和管理Web应用程序,本平台安装、运行于此层之上,所有支持WEB运行的程序都部署于此;Granite平台可以运行在多个知名WEB服务器之上。
Granite服务引擎层C:是本平台的核心,位于WEB容器层上方,其中包括基础支撑组件群及行业应用组件群;支撑运行管理平台及运行客户端功能,完成对各个应用系统运行的支持工作。
应用系统层D:位于Granite服务引擎层上方,运行于Granite服务引擎上的各种应用系统,由Granite-Mixer开发工具开发,受Granite管理。
客户端E:浏览器运行客户端,支持各种知名的浏览器,客户端无须安装插件。
Granite服务引擎主要负责对构建好的业务模型参数(由Mixer开发工具生成)进行解释执行,即包括对业务模型的加载、解析、执行、跟踪及控制;运行管理平台通过提供丰富的组件(包括基本的系统支撑组件和应用级的业务组件),实现流程管理、业务逻辑处理、业务展现控制、权限管理等系统支撑功能;通过应用组件的继承关系定义,实现业务组件的复用和多态化。
运行管理平台的Granite服务引擎22(图7)包括基本支撑组件群221及行业应用组件群222,所述的基本支撑组件群221主要包括流程处理组件2211、运行处理组件2212、基本处理组件2213及管理支撑组件2214,其中:
流程处理组件2211包括:
(1)功能流转模块22111:与客户端及外部系统连接,对各个
模块信息承接流转。
(2)通用的外部接口模块22112:连接功能流转模块及基本处理组件中的线上调试模块,根据接口对象参数的定义,支持各种的通讯方式以及不同格式的电文的解析与包装。
(3)后台任务调度模块22113:连接功能流转模块,通过设定的任务调度参数对象,以一定的时间点作为条件,同时判断时间点是否满足业务执行条件,在允许作业执行时根据参数设定调用相应的业务组件。
(4)站内短信、邮件系统接口模块22114:连接功能流转模块,通过设定业务组件对象参数的通知方式或在应用逻辑中直接调用相应的方法,系统会向目标(组件、角色、用户)发送信息,并且以事件的方式通知目标。
(5)工作流引擎模块22115:连接功能流转模块及运行处理组件的报表引擎模块、业务组件引擎模块、页面引擎模块,根据工作流对象参数的流程定义,通过业务组件引擎实现不同业务流程环节的控制。WVM(Workflow Virtual Machine)工作流虚拟机概念,内部统一接口,向外兼容BPML、BPEL、XPDL、WSCI等标准工作流定义语言。
运行处理组件2212包括:
(6)报表引擎模块22121:连接功能流转模块及基本处理组件的线上调试模块,通过访问对象参数的数据,按照报表定义模型的解释执行,在生成报表过程中,可以通过设定调用已定义的逻辑参数对象进行数据加工和计算,最终生成报表。
(7)业务组件引擎模块22122:连接功能流转模块、工作流引擎模块及基本处理组件的线上调试模块,通过对象参数的数据,按照组件定义的逻辑、页面展现,动态生成业务交互页面。
(8)批次处理模块22123:连接功能流转模块及基本处理组件的线上调试模块,批次处理是按照设定的一系列参数对象构造业务处理对象树,以并发或串行执行平台所能执行的业务组件(报表、图表、数据处理、程序接口…),支持组件节点的业务状态事件的发布以及处理。
(9)页面引擎模块22124:连接功能流转模块、工作流引擎模块及基本处理组件的线上调试模块,一个基于ajax的UI引擎,通过页面参数对象生成用户交互界面,支持客户端javascript和服务器端逻辑运算,支持页面输入栏位事件触发去执行相应业务组件。
(10)信息公告系统模块22125:连接功能流转模块及基本处理组件的线上调试模块,通过公告对象参数,生成消息主体,以广播订阅模式发布信息,用户可自定义公告系统的显示方式以及风格。
基本处理组件2213包括:
(11)线上调试模块22131:连接运行处理组件中的各个模块,当打开调试系统时,系统所执行的业务步骤会在前台页面中输出,如果遇到业务执行错误的时候,可以通过线上调试工具来查看错误的来源,并且可以在应用逻辑中输出用户自定义的输出语句,以便查看业务逻辑变量的变化。
(12)业务逻辑解析引擎模块22132:连接线上调试模块,业务组件运行需要有业务逻辑来支撑,Granite平台提供平台专用的业务逻辑脚本语言,可以很方便进行业务计算以及逻辑判断。
(13)面向对象的业务组件模块22133:连接业务逻辑解析引擎模块,通过组件的继承关系定义,可以实现业务组件的复用以及多态化,支持多重继承。
管理支撑组件2214包括:
(14)授权管理模块22141:连接流程管理组件,系统支持多组织结构、多用户、多角色、多功能模块等多级别的动态授权,另外,通过插件式组件动态支持外接AD或NDS等第三方用户权限管理系统。
(15)历史记录管理模块22142:连接运行处理组件,历史记录分为两种类型,一是IO记录,保存IO数据的前后状态;二是用户的操作记录,保存用户的所有操作事件,通过保存这些事件,可以重演用户的操作过程,做到应用历史记录对应用系统的可追溯、可恢复、可管理。
(16)对象参数管理模块22143:连接基本处理模块,通过分布式的缓存对系统级的参数对象进行缓存处理,提高系统性能。
所述的运行管理工具中的Granite管理器21(图6)是专为平台系统管理员提供的管理工具,管理员使用该工具可施行配置、监控与维护等管理工作,主要包括:
(1)系统监控模块211:连接Granite服务引擎、在线用户管理模块及业务对象操作模块,监控核心引擎各项服务的运行信息,管理者可以很直观的监视系统各个环节的运行状况,包括:系统信息:服务器各项资源使用情况。
(2)数据源管理模块212:连接Granite服务引擎,系统的数据使用依赖于服务容器的数据源,但每个服务容器的数据源管理方式和使用方式不一样,用户有时在制定数据源的时候不得不经常查阅相关的数据库文档,Granite管理器提供统一的界面和操作方式管理数据源。
(3)配置管理模块213:连接Granite服务引擎,用于运行日志、资源、系统、用户参数配置。
(4)缓存管理模块214:连接支持系统监控模块及业务对象操作模块,运行管理服务引擎提供了缓存处理以加快运行速度;通过缓存管理可以管理这些缓存信息。
(5)在线用户管理模块215:连接Granite服务引擎及系统监控模块、运行日志管理模块、交易监测模块,管理者可以查看用户使用平台服务的情况,方便掌握系统的使用状况;在线用户记录当前在线使用系统的用户信息。
(6)运行日志管理模块216:连接支持在线用户管理模块及交易监测模块,按时间记录系统运行信息,当遇到运行错误时记录系统出错的异常信息、出错的操作、出错的时间和线程等相应信息。
(7)交易监测模块217:连接Granite服务引擎及在线用户管理模块、运行日志管理模块、业务对象操作模块,系统可以实时监控用户的交易状况,也可以查看该用户操作历史记录,重演用户交易的操作过程,便于问题的追踪也可提供用户的绩效考核等二次开发的基础数据。
(8)业务对象操作模块218:连接Granite服务引擎及交易监测模块、缓存管理模块,可以停止、挂起、继续业务对象的执行,查看当前业务对象的信息以及动态调整业务对象的属性。
所述的Mixer开发工具33(图4)是一个业务建模工具,通过该工具可描绘不同的业务模型,实现不同的业务应用,Mixer开发工具通过与Dasher参数服务器交互,实现业务模型参数管理,包括:
(1)服务器交互模块331:连接Dasher参数服务器,通过与Dasher服务器沟通,就可以实现参数对象的存取以及参数对象的版本管理。
(2)参数对象建模设计器模块332:连接服务器交互模块及模板管理模块、授权管理模块,自由定义各种参数对象的设计工具。
(3)模版管理模块333:连接服务器交互模块及参数对象建模设计器模块,方便生成、管理各种参数对象模版,开发人员经验累积,用于快速、定式的开发。
(4)日志管理模块334:连接服务器交互模块,系统提供详细的开发过程记录、运行日志,可用于跟踪系统错误,协助解决问题;可对开发过程记录进行管理,实现系统灾后恢复处理、开发过程查询…等功能。
(5)版本控制模块335:连接服务器交互模块及授权管理模块,实现各个参数对象模型的版本控制。各个参数对象模型的创建、更新、删除都会在版本控制管理体现,并且记录相应的版本号、用户ID、操作动作以及操作时间。
(6)管理工具模块336:连接服务器交互模块,包含数据表管理、系统变量管理、资源配置管理、数据浏览、流水号管理等实用的工具。
(7)授权管理模块337:连接服务器交互模块及参数对象建模设计器模块、版本控制模块,以功能、功能模块、功能菜单、角色及单位等多级别架构系统操作人员的授权管理机制,灵活、有效地管理操作人员与各业务参数对象的关系。
开发管理工具(Dasher控制台)32(图5)是开发工具的管理工具,系统管理员使用该工具来进行开发管理的工作,包括:
(1)系统监控模块321:连接Dasher参数服务器及运行管理模块,对当前服务器资源使用情况进行监控,直观展现各项系统资源使用情形。
(2)在线用户管理模块322:连接Dasher参数服务器及运行管理模块,系统管理员可以进行在线用户管理,可以查看各单位用户使用情况,掌握目前开发用户信息,包括IP信息、登录时间等;可以停止、挂起、恢复指定的用户或单位。
(3)运行管理模块323:连接Dasher参数服务器及系统监控模块、在线用户管理模块,系统提供详细的开发过程记录、运行日志,可用于跟踪系统错误,协助解决问题;可对开发过程记录进行管理,实现系统灾后恢复处理、开发过程查询…等功能。
所述的参数服务器31(图3)包括流程处理参数平台311、交易组件参数平台312、基础支撑参数平台313及外部连接平台314。
所述的流程处理参数平台311包括:
(1)任务调度模块3111:连接功能组件模块,一个时序管理的参数。它配置某个交易的启动时机、启动对象等信息。
(2)流程管理模块3112:对接功能组件模块,是交易组件间流程管理的参数,它控制着一个一个交易片段间的流转;它将各个交易组件依照要求的逻辑串接起来。
(3)批次作业模块3113:对接功能组件模块及交易组件参数平台上的数据处理模块、分析图表模块、数据报表模块、程序接口模块以及联处参数平台上的联外接口模块,是一个多层级的交易组件树。这棵树也可以被当成一个单一的功能使用。是一个流程管理参数也是一个交易组件参数。
(4)功能组件模块3114;连接各个模块,它是各种交易组件参数运行的主要入口。可以直接被授权使用、可以被流程控制参数叫起运行、可以接受任务调度启用。
所述的交易组件参数平台312包括:
(5)数据清单模块3121:连接功能组件模块,条列式地显示指定的数据内容。一般使用在多笔显示某数据表的数据内容,用户在显示的清单选择了某笔记录后进行后续的查询、修改、删除作业。
(6)页面配置模块3122:连接功能组件模块,与用户交互的页面处理。包含了各式各样的画面组件,组合应用系统所需要的各种交互画面。
(7)数据处理模块3123:连接功能组件模块及批次处理模块,当需要对某些相同性质的数据同时做某些逻辑处理的时候,可以使用这个参数来配置完成。
(8)分析图表模块3124:连接功能组件模块及批次处理模块,将统计分析图表独立设计为一个参数集。可以独立形成一个功能使用也可以和页面配置参数搭配使用,作为一个画面组件嵌入画面中。
(9)数据报表模块3125:连接功能组件模块及批次处理模块,报表生成工具,可以生成各类应用报表;可以结合其他的第三方报表工具。
(10)报文处理模块3126:连接功能组件模块,为对各式规格化报文的处理工具。用于如S.W.I.F.T.、各类EDI、TELEX、…等报文的处理。
(11)程序接口模块3127:连接功能组件模块及批次处理模块,Granite为了一些特定用途、无法归纳整理出来形成参数的工作设计了一个参数集-程序接口参数集。这个参数集可以接上已经事先写好的java类,也可以直接写上java代码或者直接与某个资源做数据交互处理。
所述的基础支撑参数平台313包括:
(1)表现支撑平台3131:用于支持页面表现与控制工作。
(2)逻辑处理支撑平台3132:用于业务逻辑处理工作。
(3)基本支撑平台3133:用于资源配置、授权、信息提示、流水号管理及其它系统基本工作支持。
所述的外部连接平台314包括:
(1)联外服务模块3141:连接功能组件模块,提供外界接入的服务控制工作。
(2)联外接口模块3142:连接功能组件模块及批次作业模块,系统与外界资源交互处理工作。
(3)接口映射模块3143:连接联外接口模块,与外界数据交换的规则与处理。
本平台总结应用软件的公共特征,以参数化方式配置应用系统的基本支撑组件,形成了一整套可自由定义的、业务导向的开发与运行维护措施,可由行业专业人员自行根据需求定义涵盖组织架构、业务流程以及业务功能的行业应用软件,并把用户与技术性应用软件相连而形成一个整体的系统。Granite平台能动态生成行业应用系统,适用于各行业如银行、企业、事业单位、政府机关的信息化业务操作。本平台技术所依据的技术原理包括:
一、标准化的JPA架构
JPA(Java Persistence API)通过JDK 5.0注解或XML描述对象一关系表的映射关系,并将运行期的实体对象持久化到数据库中,JPA由EJB 3.0软件专家组开发,作为JSR-220实现的一部分。但它不囿于EJB 3.0,你可以在Web应用、甚至桌面应用中使用。JPA的总体思想和现有Hibernate、TopLink,JDO等ORM框架大体一致,主要包括以下3个内容:
1.ORM映射元数据,JPA支持XML和JDK 5.0注解两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中。
JPA的API,用来操作实体对象,执行CRUD(创建、读取、更新、删除)操作,框架在后台替我们完成所有的事情,开发者从繁琐的JDBC和SQL代码中解脱出来。
2.查询语言,这是持久化操作中很重要的一个方面,通过面向对象而非面向数据库的查询语言查询数据,避免程序的SQL语句紧密耦合,实现一次工作花费适用于各种环境的开发理想。
采用JPA作为本平台的ORM框架,减少数据库操作的工作量,简化开发、易于维护和查错。
二、标准化的JMX架构
JMX(Java Management Extensiohs)是一个为应用程序植入管理功能的框架。JMX是一套标准的代理和服务,实际上,用户可以在任何Java应用程序中使用这些代理和服务实现管理,它致力于解决分布式系统管理的问题,因此,能够适合于各种不同的环境是非常重要的;JMX注重于构造管理工具的软件框架,并尽量采用已成熟的技术。
本平台借助JMX标准化技术来支撑管理整个应用系统的管理控制中心,并且在分布式的本平台应用中集中管理每个应用结点,通过一套规范化的接口来定义平台引擎模块方法,易于监控应用服务运行:包括内存、CPU、用户操作、缓存、后台任务等等一系列核心服务,并且用XUL技术展现当前服务的状态,用户通过了查看当前服务状态的同时,可以进行系统性能的调优和管理。
三、标准化的JMS架构
JMS(Java Message Service,Java消息服务)是一组Java应用程序接口(Java API),它提供创建、发送、接收、读取消息的服务,定义了一组公共的应用程序接口和相应语法,使得Java程序能够和其他消息组件进行通信,目前各Java EE应用服务中间件都集成了JMS的实现作为消息处理服务。
本平台消息服务是基于JMS框架,支持同步或异步的点对点(P2P)和发布订阅(Pub/Sub)消息这两种消息模型,系统的内部信息、新闻公告、牌告等功能采用发Pub/Sub方式、提高系统的效率,另外,对业务原子性要求比较高的采用P2P方式来保证数据的完整性。
四、SWT和JFace组件技术
Eclipse是一个通用工具平台。它是一个开放的、可用于任何东西的可扩展IDE,它为工具开发人员提供了灵活性以及对软件技术的控制能力。Eclipse为开发人员提供了生产大量GUI驱动的工具和应用程序的基础。而这项功能的基础就是基于GUI库的SWT和JFace。
SWT(Standard Widget Toolkit)本身仅仅是Eclipse组织为了开发Eclipse IDE环境所编写的一组底层图形界面API。至今为止,SWT无论在性能上还是外观上,都超越了Sun公司提供的AWT和Swing。
SWT/JFace是Eclispe的基础,Eclipse的Workbench就是建立在SWT/JFace之上的。
RCP(Rich Client Platform)富客户端平台是基于Eclipse插件开发的一种应用,Granite平台采用上述的技术来支撑平台的开发工具、以插件式的功能模块来组装开发设计界面,可以根据不同的用户需求灵活地分发不同的插件,达到技术与用户需求、资源、成本最优化。
五、基于AOP技术的IOC容器
本平台基于自主研发POJO轻量级容器,对象的生命周期、当前的上下文环境、事务等等资源都统一由容器来管理,可以通过容器来利用普通Java对象(POJO)编程,使用依赖注入解析POJO间的依赖性,然后使用面向切面编程(AOP)将服务与它们相关联。Granite为IOC容器和AOP提供了很好的入口(on-ramp)。因此,不需要熟悉AOP就可以进行功能的开发。所需要知道的就是将要用AOP为示例应用程序声明式地添加事务支持,与使用EJB技术时的方式基本相同,平台开发者并不需要用编码的方式来获取上述的资源,只需在方法或对象头加入注解,由容器采用AOP技术动态注入当前的资源。
六、Java EE 5企业级服务框架
Java EE是成熟的技术平台和企业级应用架构,对于大型企业应用的性能和可维护性有很高的保证,对于面向对象有更好的支持,平台间的移植性极大的提高。
采用上述技术方案,本发明具有如下有益效果:
功能性:平台总结应用软件的公共特征,以参数化方式描述应用系统的基本支撑组件形成了一整套可自由定义的业务措施,可由行业专业人员自行根据需求定义涵盖组织架构、业务流程以及全部所需要的业务功能的行业应用组件,并把用户与技术性应用软件相联而形成一个整体的系统,用于各行业企业、事业单位、政府机关的信息化业务操作与运行管理。
集成性:平台集成了组织架构、工作流程、业务功能分类组件、消息、排程等各项基本支撑组件;并把逻辑上相关联的组件连接在一起。完全取消重复的工作和多余的数据,优化操作与管理规程,以集成化的组织分工取代了传统的人工管理。平台基于Java EE标准化应用服务技术,采用JCA、JTA、JMS、EJB、JPA、BPM等各种符合国际标准规范的技术框架,支撑整个平台的消息、数据IO、流程、事务、资源的控制和管理。开放性:平台集成各类应用中间件,通过配置通用接口组件,实现与第三方软件的集成或连接。平台的体系结构符合国际公认的标准,使客户得以突破专用硬件平台及专用系统技术的局限。平台开放基于TCP/IP、WS、RMI、RMI-IIOP、CORBA协议通用接口API程序,使之易于跟第三方软件集成。基于Java write once runanywhere的虚拟机技术,实现跨多种OS平台,客户端零插件、免安装、支持自定义风格。
组件化:平台总结应用软件的公共特征,将应用功能拆分成一个个基本支撑组件(如业务功能分类组件[流程、输入画面、表单、图表、逻辑、批量批次处理等]),并以图形化的界面形式表现出来,实现行业专业人员可自由编辑与组装来生成行业应用组件。
灵活性:平台的基本支撑组件设计通过被继承、剪裁、升级、组合等方式配置,实现了行业应用组件的可自由组合与拆分,从而满足各类用户、各种行业的共同或特定的需求;也可通过平台的通用接口组件界面可配置与已经实现的应用的直接调用或连接。
运行架构:系统支持大型企业级应用,支持虚拟机级别的集成部署,以此为基础,构建了基于云计算技术的运行架构。
本平台系统可实现快速开发,大大节省了软件开发时间。