浪潮GSP(GenerSoft Platform)是浪潮在多年企业管理软件开发过程中积累的大量经验及技术的基础上,基于微软.Net技术开发出的新一代通用业务平台。GSP的目标是随需应变,对开发过程,能快速构建高质量的应用系统,提高生产率、降低成本;对企业应用,能满足企业个性化需求,满足企业持续改进的要求。GSP平台研发项目,于2005年8月被国家发改委批准列入“国家级技术中心能力建设项目”,并获得了国家发改委的资金支持。
平台概述
1.问题分析
近十几年来软件的开发模式没有取得突破性的进展,软件产业依旧“高级劳动力密集型”的手工作坊式生产,不管是软件产品开发,还是项目开发,都是靠人力来堆积而成,生产效率、质量严重依赖软件开发者的个体素质。 即使是采用软件工程的思想,如ISO、CMM等,也没有从根本改变这种现状。具体的表现在如下几个方面:(1)软件开发团队工作环境不统一,软件开发过程中各个活动的工作产品难以转换和同步,设计无法自动转化为代码,代码的修改也无法即时更新设计。(2)软件可复用程度差,企业管理软件中相似的功能很多,代码级的复制粘贴很普遍,知识和最佳实践难积累难管理难使用。(3)工作产品质量难以保证,手工代码遗漏、手误等现象比比皆是,低级错误在所难免。因为软件复用差和质量无法保证,导致开发效率得不到根本性的提高。(4)产品适应性差,结构僵化不灵活,改造的难度大,造成二次开发量较大。业务流程固化,无法满足企业对流程的设计、管理和优化的需求。
通用的软件产品跟企业个性化之间存在矛盾。软件供应商对于产品的前期研究和开发投入非常大,为了降低开发成本,软件供应商迫切希望开发的通用产品能够上量销售,但是通用产品很难满足企业个性化的需求。(1)每个企业都有各自不同的特点,特别是中国企业的管理水平,信息化程度以及人员素质参差不齐,这就决定了一套通用产品难以满足企业的千变万化的个性化的要求。(2)企业为了取得市场生存和竞争的优势,适应瞬息万变的市场环境,需要快速响应市场的需求,不断调整自己的组织模式和再造自己的业务流程,业务流程的设计、优化和管理成为企业竞争的重要手段,企业迫切需要支持其业务流程再造的信息系统的支持。现有的大部分应用软件无法满足企业持续变革的需求。(3)随着企业应用的深入,其业务系统更加复杂,同时企业对应用系统灵活性要求的提高,造成系统开发成本加大、风险性提高,软件开发商希望能有快速开发具有灵活性应用系统的平台支持,降低开发的难度,提高开发的效率,提升应用系统的灵活性和伸缩性,降低维护费用和缩短维护周期。如何保证企业的竞争力,加快企业内部业务流程的自动化、规范化已经非常必要。
2.平台目标
快速搭建高质量的应用系统
浪潮GSP抽象了描述应用系统所有要素的元模型。提供图形化的设计器来设计应用系统的元数据,这些元数据是基于业务描述的,跟技术无关。平台提供了解析各种元数据的引擎,将元数据“翻译”成对应的功能。采用图形化的设计器,使得技术门槛降低,甚至经过简单培训的客户就可以自己来定制。浪潮具有多年的企业管理软件开发经验,所以平台为基于Internet的应用提供了大量的通用的业务逻辑。这些特点使得开发一个应用系统变得极为简单,90%以上的功能点不需要编写代码,开发效率有了极大的提高,因为绝大多数逻辑由经过检验的平台来处理,软件质量得到大幅度的提高。同时,使用者可以把最佳实践积累起来由GSP平台来管理,形成自己特色的行业构件库。
随需应变,满足企业个性化需求,满足企业持续改进的要求。
由于GSP平台的元数据跟实现技术无关的特点,使得元数据的修改变得特别简单。通过各种设计器就能快速调整对应的元数据。例如,增加一个字段并在界面上能够录入,通过平台来实现,仅仅需要几分钟,而传统开发模式下是无法想象的。通过GSP平台提供的定制工具,可以设计符合企业特点的流程,可以调整表单,查询,打印,报表等设置,支持应用系统的集成,这些措施可以弥补通用产品在扩展性方面的不足,使得通用产品能够快速满足企业的个性化需求。随着信息化的不断深入以及竞争的需要,企业需要不断调整自己的组织模式、业务流程、业务逻辑,基于GSP平台构建产品就能实现这个需要。企业信息化不应该“削足适履”,改变企业以适应通用产品,企业管理软件应该“量体裁衣”,为企业缝制一件“贴心小棉袄”,基于GSP的浪潮ERP产品就能很好的适应企业个性化和持续变革的需要。
总体架构
1.技术架构
GSP Studio:GSP提供定制环境,可以设计流程、业务模型、表单展现、打印查询等。
元数据:通过GSP Studio设计的工作产品,这是基于业务的跟技术无关的对整个系统的描述。应用系统所包括的所有要素,都能通过元数据描述出来。
引擎:基于微内核结构,负责解析元数据,将元数据“翻译”成业务功能。
核心组件:核心组件是跟业务无关的构建一个应用系统所必须的技术组件,通过使用这些组件使业务系统的开发人员只关注业务实现,而不需要关注底层技术。
管理监控:管理引擎需要的各种外部基础数据,如用户、权限等;监控引擎的运行情况,可以对引擎的运行进行调整。
2.业务架构
智能客户端框架SCF(SmartClientFramework):
内容:提供智能客户端架构下的部署、权限、安全、控件、日志、异常、国际化、数据访问等开发框架。
目标:基于这个框架的开发人员只需要考虑业务功能实现。
业务流程管理BPM(Business Process Manager)
内容:提供面向与人交互和系统交互的审批/业务流程设计、运行、监控和分析产品。
目标:能够处理事务流和业务流,流程可调整、可监控、可优化。
敏捷开发平台ADP(Agile Development Platform)
内容:提供元数据、图形化定制工具和解析引擎等一系列的产品。
目标:使开发过程变简单,使软件具有更高的灵活性和可扩展性,能快速响应变化。
企业服务总线ESB(Enterprise Service Bus)
内容:提供基于XML、多种适配器、数据映射等产品,配合工作流。
目标:使系统、人能够互连和协同工作。
平台特点
1.智能客户端框架SCF
部署简易:首次安装时只要将一个主程序文件下载到本地,直接运行即可,无须改变注册表或共享的系统组件,其他应用组件将在第一次运行前下载到本地即可。
自动更新:只需将新版本的程序发布在服务器上,由客户端自动发现最新版本的程序和应用组件,并自动下载和更新。
动态加载程序组件:将开发的应用组件从发布服务器下载到本地后,在运行时客户端应用程序框架将自动发现并动态加载该应用组件。
分包灵活,按需下载:针对不同应用场景,程序下载包可进行灵活的划分和发布(例如根据业务模块、岗位职责等),客户端可仅选择下载所需功能的下载包。
分服务器下载:在客户端以服务器为单位部署相应服务器发布的下载程序,多个服务器配置的下载包可同时存在,互不影响,连接哪个服务器,即使用哪个服务器对应的客户端程序。
脱机应用:提供客户端本地缓存机制,允许脱离服务器时,利用本地的客户端程序和应用组件进行工作。
个性化用户界面:用户可根据喜好自行设置客户端应用程序的界面样式、格局,可以将常用功能添加到收藏夹便于使用,可以通过直接输入功能代码的方式打开功能,可以根据用户工作的需要在个人首页中添加常用的功能操作,例如消息通知、待办任务等。
丰富的身份验证方式:除了框架本身预置的用户名、口令的验证方式,在架构上支持多种身份验证方式,例如Windows集成身份验证、智能卡/证书身份验证等,具有良好的可扩展性。
多维的组织结构:以行政维度的公司实体为基本单位,提供多种维度的组织形式,例如财务维度组织、销售维度组织等。
基于业务模型的开放式的授权管理: 以基于角色的访问控制(RBAC)为基础,结合对业务系统的业务实体的操作以及数据结构进行建模,构造业务系统的授权机制,可灵活实现业务系统的功能操作权限控制以及数据访问控制(行权限、字段权限),能提供完整的授权控制模型,具有良好的独立性和开放性,可以方便的和各种业务系统挂接,提供授权控制服务。
全面支持XPDL2.0和BPMN规范
图形化的拖曳方式设计流程模型
支持流程元素的复制,剪切,删除操作
支持串行、并行、选择、循环等流程模型
支持手工活动、发送消息活动、接收消息活动、脚本活动、调用活动、事件活动、路由活动、子流程活动、块活动
支持多种数据类型,字符、浮点、整数、布尔、时间、XSD、枚举、集合、数据集等
支持多种参与者,组织、角色、用户等
支持多种工作项的分配策略(例如所有、随机)和完成策略(例如所有、任意)
可无缝嵌入到任何应用中,可集成用户、权限等基础数据
支持表单的动作权限和字段权限
支持9种工作流业务应用模式,加签(加签回到本节点和下一个节点)、会签(顺序、并行)、回退、任意跳转、动态选审批人、临时授权、投票决策等,更加适合国情
支持流程、活动和工作项的状态改变的事件注册和消息通知,消息内容和发送方式(如邮件、即时通信、手机短信等)可选
支持工作流超时处理,超时前预警以及超时后的其他处理
支持图形化查看流程运行情况,对流程监控了如指掌
支持复杂业务规则,增强逻辑表达和灵活性
3.敏捷开发平台(ADP)
支持2种数据表导入方式,从PowerDesinger导入和已存在的数据库导入;也可以新建数据表
支持所有数据库的元素(表、视图、字段、数据类型等)的定义
支持对复杂的业务对象建模,支持关联、聚合、继承等关系
支持多种界面模版,如字典、单据、查询条件界面等;界面模版和相应的逻辑用户自己可以扩展,形成自己的表单库以及构件库
提供状态机模型,状态约束动作,菜单对应动作,可以灵活控制菜单的状态
菜单以及界面空间暴露大量事件,事件的逻辑可扩展
提供默认的持久化方法以及通用业务逻辑,可以满足大部分的表单业务需求
界面可以更换皮肤,用户可以选择自己
支持自定义打印,支持单据、列表、分组、交叉表打印
支持自定义查询,支持列表、分组、
交叉表查询,图形化展现
能动态调整数据库层、业务模型、表单展现、打印、查询的任何逻辑,无需编码实现
支持多种类型的构件,如.Net程序集、COM+组件、
Web服务、Sql存储过程等
构件支持事务
提供脚本支持,如C#、VB、JavaScript等
客户自己编写的构件,很方便注册到平台中,供平台调用
图形化的组件搭建过程,方便更改业务逻辑
4.企业服务总线ESB
支持消息的统一持久化存储
支持多种发送和接收的适配器,包括FTP,FILE,EMAIL,SOAP,HTTP,IM,短信以及GS产品嵌入式消息,可以连接多个应用
支持数据映射,提供映射组件以及设计器,支持任意两个数据架构间的映射和转换
支持消息的发布和订阅
支持历史消息的查询和打印
支持消息的本地化存储
消息发送/接收支持加密/解密,并可以扩展加密/解密组件
支持规则的灵活更改、部署和调用
规则的事实库支持多种数据形式和数据类型
支持多种操作符(+-*/)、自定义函数,控制符(if/then/ekse,while,foreach)
规则的动作库支持调用多种组件
规则引擎解析执行规则的性能好
主要客户
浪潮GSP目前客户如下:
天津天士力
深圳光汇集团
山西丰喜集团
烟台张裕集团
烟台日报社
济南大众日报社
山东国资委
湖北靖江水电