旗正商业规则定制平台软件杭州旗正信息技术有限公司第1页旗正商业规则定制平台软件1需求概述信息化目前已经深入到企业经营活动的各个环节,越来越多的企业都采用信息化系统来对企业进行管理。特别是对于一些信息化程度高的企业,在企业内部一般都有多套系统在进行运行。但是目前碰到的困惑就是这些信息化系统不能及时的适应企业发展的变化,系统需要专人进行维护,升级换代时不能继承原先的工作成果。特别是在系统升级时,数据可以通过数据库系统保留和继承下来,但是原先系统中设计的业务流程和业务逻辑,却需要重新进行开发和设计,不能保留和继承下来。为了使开发后的系统,在实际应用中可以不断适应企业发展的变化,特别是升级换代时能够尽可能的保留和继承原先的工作成果。除了将数据采用数据库管理系统来实现之外,还需要将业务逻辑采用业务规则管理系统来实现和管理。业务规则管理系统将系统中易变的业务逻辑从程序中脱离出来,采用独立的规则配置器来配置业务逻辑,并提供规则引擎接口供程序进行调用。采用业务规则管理系统来实现业务逻辑,可以在系统运行阶段,随着业务发展需要由业务人员或者技术支持人员随时变更业务逻辑,而不必需要依赖程序员的参与。同时在系统的升级换代中,可能将原先用到的业务逻辑完整的继承下来,节约投资。业务规则管理系统的应用,最大化的将业务逻辑和技术实现进行了分离,解放了业务逻辑层的实现。大大减轻了业务逻辑层的设计、开发、测试、维护的工作量。业务规则管理系统适用于基于数据库的管理系统实现,特别针对数据库中数据的存取、处理、分析等功能做了简化工作。管理系统在实现时,只需要关注界面的布局和美观等,而对于后台数据处理等工作可以全部交给业务规则管理系统进行配置实现。业务规则管理系统也适用于嵌入到各类软件快速开发平台中,比如工作流平台、web快速开发平台、行业快速开发平台等。增强其灵活调整业务逻辑的功能。VisualRulesSolution是业务规则管理系统的完整实现,同时在中文处理以及批量数据处理上,做了特定的优化工作。更加适合于国内信息化系统的特殊要求等。旗正商业规则定制平台软件杭州旗正信息技术有限公司第2页2VRS是否适合您如果您的系统是基于数据库的信息化管理系统,并且您的系统在实施完成之后,还需要根据业务发展需要进行调整时,或者说业务需求在项目实施之初或者之后都有可能发生变化的情况,那么VRS将非常适合您。VRS可能帮您解决如下的困惑:1、业务需求不确定项目实施之初,需求调研阶段,由于企业的信息化程度的变化、客户需求的变化、沟通等等原因,业务需求总是存在很大的不确定性。VRS可以随着业务需求的不断变化,灵活的适应调整。保证项目实施的人力成本和时间成本,保证项目实施的可控性。同时减少了业务需求在项目后期变化的可能性,减少了烂尾工程的发生。2、对软件工程师的过度依赖国内的项目特点是项目开发往往是由年轻工程师实施的,在开发过程中以及实施完毕后,也需要依赖原先实施的工程师。当工程师发生流动时,对项目造成很大的冲击。VRS的使用将开发人员的工作重心转移到规则配置的角度方面来,更加侧重于业务逻辑设计,而实现本身变得非常容易,不必再依赖具体实施的工程师。因此VRS的应用加强了项目经理和架构师对项目的控制能力,保证了项目的开发实施,也不必在为项目启动时招不到合适的工程师而犯愁。3、对同类客户的定制开发如果您的系统是针对某个客户开发完成后,想全行业的推广到同类客户。或者针对总部制作了某套系统之后,想要推广到分支机构。或者说您正在为某个行业中多个同类客户提供某项服务。而这些同类客户,需要用到的信息化系统中,需要做一些个性化的定制开发或者调整时,那么VRS特别适合您。VRS可以帮助您将为某个客户个性化定制的系统,轻易的调整并复制到其他同类的客户中。4、周期性的业务规则调整如果您的系统在实施完成之后,每隔一定的时间(比如一周、一月、一个季度)等,其中用到的某些业务规则会相应的做一些变更。而这些调整某些情况下甚至涉及到旗正商业规则定制平台软件杭州旗正信息技术有限公司第3页外部数据源的调正以及一些公式和算法的调整,那么VRS将会特别适合您。系统可以将定期需要调整的业务规则交由VRS进行实现,之后业务人员可以定期通过VRS对变动的业务规则进行调整,快速的适应业务需求的变化。3谁会对VRS感兴趣如果您是以下类型企业的成员,相信您会对VRS感兴趣:1、有自主开发能力的企业IT部门信息化程度较高的企业一般都成立了信息中心来建设和管理整个企业的信息化项目,信息中心采用购买或者外包的方式交由其他的软件公司或者系统集成商,进行项目的建设工作,某些信息中心甚至自己承担开发和建设信息化项目的工作。这些购买或者自己开发的信息化项目,最终系统的维护和更新工作,还是落在了信息中心的身上,因此信息中心特别需要信息化系统易于维护,特别是能自己维护而不是再与软件公司协调变更或者升级的事宜。因此信息中心可以在自己开发的信息化系统或者外包给其他公司开发的系统中,采用VRS来进行实现,这样就可以使得将来交付给信息中心的系统是易于维护和变更的。2、IT外包服务商IT外包服务商需要为不同的客户提供不同的软件系统,客户经常会是某行业同类客户,而且随着业务量的增大,客户数量也会逐渐增加。在同时面对这些客户的要求来实现系统时,技术员往往不能很好的去深入了解某个客户的需求,因此对客户的服务也会变得越来越困难。采用VRS,可以将各个客户的各类特色规则单独进行管理,可以更加规范和简便的进行开发和维护工作,有条不紊的适应客户数量的增加。3、独立的系统集成商系统集成商在为客户提供产品和服务时,在提供硬件的同时往往需要搭配提供相应的软件,某些系统集成商偏重于硬件,并不擅长制作软件项目。因此系统集成商,往往需要为软件项目专门招聘一批软件工程师进行项目的开发和维护,使得软件开发的成本居高不下。VRS可以帮助系统集成商,较少软件项目开发的工作量以及降低对软件工程师的要求,最终降低软件项目开发的成本和维护的成本。旗正商业规则定制平台软件杭州旗正信息技术有限公司第4页4、云计算开发平台提供商在提供云计算服务时,需要首先建立一个云计算的开发平台,供客户可以在云计算的开发平台上构建适合自己的应用。VRS可以嵌入到云计算开发平台中,为客户提供灵活配置业务逻辑的功能,增加云计算开发平台的功能和适用面。4系统概述4.1【业务规则管理系统】业务规则管理系统用于实现系统中用到的各类业务规则,因此业务规则管理系统需要提供涵盖业务规则的设计、开发、测试、部署、维护等各个环节的工具和产品。VisualRulesSolution提供的规则配置器集成了用于实现规则的设计、开发、测试、部署等功能,同时提供规则服务器用于对规则的共享开发和维护工作。VRS软件系统架构规则库规则配置器规则设计规则开发规则测试规则打包规则管理系统规则查询规则审核规则发布规则执行规则服务器规则引擎Java接口C#接口SOAP接口Socket接口权限控制版本控制规则共享定时执行旗正商业规则定制平台软件杭州旗正信息技术有限公司第5页4.2【系统接口】VRS将业务逻辑从程序中脱离处理,进行单独管理和实现,同时提供了多种接口供不同语言的外部程序进行调用。目前提供的接口主要包括Java规则引擎接口,外部java程序只需引用engine.jar包,就可以通过类方法直接调用VRS中的规则包并加以执行。WebService规则服务,其他语言如C#等可以通过webservice接口来访问VRS中的规则服务。特别是目前VRS专门为C#语言封装了C#规则引擎接口,外部程序只需要引用engine.dll以及配置规则服务器的ip地址,就可以直接调用VRS中的规则包。Socket规则服务,为了性能以及安全性等考虑,VRS提供了socket通讯方式的规则服务,VRS专门为C#语言封装了规则引擎方式的接口,外部程序只需要引用engine.dll以及配置规则服务的ip地址以及通讯端口号,就可以直接调用VRS中的规则包。Servlet规则服务,web程序可以直接通过HttpRequest提交等方式来访问VRS中的规则包,返回的数据结构以及xml结构方式来存取数据,也可以通过配置方式,实现以Json结构来返回数据。4.3【业务规则管理流程】在系统中应用了VRS之后,因为需要将系统中涉及的业务规则单独在VRS进行管理,因此针对业务规则的管理,也从软件工程的管理中脱离出来,进行专门的业务规则的管理。和传统的软件工程的流程类似,业务规则管理流程也需要进行需求、分析、设计、开发、测试、部署、变更等多个环节。但是具体的每个实现阶段,业务人员可以更多的参与其中,Java规则引擎SocketWebServiceServletC#远程调用Java远程调用Ajax调用Java本地调用旗正商业规则定制平台软件杭州旗正信息技术有限公司第6页甚至有些规则,不需要由软件工程师来加以实现,直接由业务人员加以实现即可。在业务规则的需求整理阶段,业务人员最好采用word或者Excel等方式来描述业务规则,这样可以有利于采用规则实现有很好的业务语言参考。特别是在定义业务规则时,直接采用业务语言来定义具体的数据对象和操作环节。在业务规则的分析设计阶段,架构师需要根据Excel等数据结构,分析采用怎样的数据库结构,并进行模块和功能分解,分析出采用多少个规则包来处理这些结构和处理逻辑。对规则包的名称、用途、数据结构、处理逻辑等进行定义。在业务规则的实现阶段,软件工程师根据需要实现的规则包的功能,配置实现具体的对象库、规则、表格等,并对其进行调试。在业务规则的测试阶段,软件工程师将调试完成的规则包共享到规则服务器中,测试人员下载相应的规则包,并采用已经定义好的测试用例,对规则包进行测试。当测试人员通过了规则包测试之后,规则包就交给技术支持工程师进行正式部署和发布了。技术支持人员可以将编译好的规则包正式发布到正式环境中运行。在系统的维护阶段,当需要变更规则包时,对于一般的变更,都只需要由技术支持人员在业务人员的指导下,直接修改规则包中具体的逻辑就行。然后直接由技术支持人员发布到系统中。规则服务器会对变更情况进行版本控制。规则整理业务人员采用word、Excel等描述业务数据结构和处理逻辑规则分析架构师分析规则包以及具体规则涉及的数据结构和逻辑规则实现软件工程师根据数据库结构配置数据结构和处理逻辑规则测试测试员根据测试用例测试规则包的正确性规则发布技术支持人员将规则包发布到正式环境的系统中规则变更技术支持人员在业务人员的指导下变更规则旗正商业规则定制平台软件杭州旗正信息技术有限公司第7页4.4【VRS总体架构】VRS分为开发模块和运行模块。开发模块主要提供页面配置器、规则配置器、数据库配置器等,对系统中需要实现的业务逻辑和操作界面进行设置,同时生成对应的代码并编译,集成到运行模块中。运行模块中,外部程序可以通过规则引擎直接调用规则库中,已经经过编译之后的规则包。同时也可以通过规则服务来访问规则库中的规则包。目前规则服务提供多种接口,包括SOAP、Socket、Http等多种方式。数据传输接口支持XML、JSon等多种格式。规则引擎可以和其他的组件集成,嵌入到现有的系统架构中。同时规则引擎还实现了动态ORMapping、XML操作、Soap操作、Excel操作等多种方式,直接可以在规则中调用数据库、XML、SOAP服务、Excel文件等多种对象。在规则中,几乎可以配置所有可以用语言实现的功能,真正的实现了全配置开发模式。5产品价值5.1【规范业务规则管理】VRS可以对软件项目中用到的各种业务规则和政策进行单独管理,就像企业的数据一旗正商业规则定制平台软件杭州旗正信息技术有限公司第8页样,将这些业务规则和政策作为企业的资产统一管理起来。让这些业务规则和政策可以在软件项目的不断升级过程中保留和继承下来,并且可以让这些业务规则和政策供多个项目共享。作为公司管理部门,可以统一管理和控制公司中各项政策的落实情况,规范了公司的管理。5.2【保护企业的投资】由于当今社会的迅速发展,企业的发展也是日新月异,