2009-04-23
企业平台(业务基础平台)的设计和应用
一、为什么需要企业平台
虽然IT行业技术发展日新月异,但国内信息管理系统的开发模式, 依然是在底层的技术基础平台上直接构建业务系统,从大型企业如电信行业的 Boss系统到一般企业的人员
管理系统,基本还是采用面向技术的开发模式:业 务模块都由开发者贯穿始终去实现,理解用户的业务逻辑, 并用
计算机技术去实 现,开发人员大部分的时间用在解决界面如何显示,数据库的连接与释放,用户 业务流程如何用编码方式贯通等问题上,整个项目周期,花在获取用户需求,理 解用户实际需要的时间太少,在实现用户需求的时间(编码阶段)又太长,而且 在每个项目的生命周期内, 这样的活动周而复始, 每个项目都要花时间处理其他 项目可能已经实现类似功能的代码,这种低层次的软件开发模式, 已实现的业务 逻辑无法重用,重复编码现象突出,业务组件无法重构,个人能力有效提升,使 信息系统的开发、维护和扩展困难重重,导致项目成员疲惫,工期延误,而用户 仍不满意。 现今,业界已有诸如.Net、J2EE、SOA、ESB、BPEL等技术基础平台, 提高了软件开发的性能与效率, 但从技术基础平台到用户应用系统, 为了能快速 高效的实现用户需求, 仍然需要预定义很多业务组件, 开发人员在新项目中利用 这些通用业务组件来实现用户的系统,设计良好的业务组件犹如黑箱系统, 软件 开发人员只需要业务组件的接口就能完成需要复杂编码才能完成的功能, 极大的 简化了编码工作, 减少了调试错误的时间,整个系统的健壮性也得到了较大的提 高。这些通用业务组件包括工作流引擎,规则引擎,报表系统,可视化的业务建 模工具, 可视化代码生成工具等, 通过合理的规划与设计, 形成了快速开发平台; 在软件开发平台的基础上加入ESB,SOA,数据格式抽取及转换,业务流程的编 制与编排,数据库系统,各种服务的在线监控等功能,形成了运行支撑平台。两 个平台统称为业务基础软件平台, 涵盖软件项目的详细设计-》 编码-》 测试-》 部署-》运营的周期,并作为一个具有生产力的解决方案提供给用户使用。
图1 传统项目开发和基于企业平台的 项目开发
综上所述,业务基础平台是指以业务为导向和驱动的、可快速构建应 用软件的企业平台(开发模式的比较见图1)。业务基础
软件平台包括快速开发 平台、运营支撑平台两个部分。从技术角度分析,业务基础软件平台为复杂应用 软件系统的开发提供了一个基本框架,并有与之相应的、 方便易用的开发与维护 管理工具。 这个框架给出了一些复杂应用软件的通用业务组件和实现代码,利用 这些通用组件来设计用户的业务功能,利用松耦合方式, 用业务流程把各个业务 功能串联起来,形成了完整的业务逻辑链,并用工作流引擎驱动业务流程。当业 务流程发生了变化,只需要用建模器重新设计并部署,就能实现新的业务流程, 加速了业务流程的重构。
在业务基础软件平台之上进行项目开发,能降低复杂性, 省去很多基础 性的研发工作,从而缩短研发周期,缩减开发人员,减少项目支出成本,提高研 发效率,很好的解决用户需求多变的场景,帮助企业提升信息化管理水平,有极 大的社会价值和
经济价值。
二、企业平台
运营。其中测试阶段,,特指支持流程测试,业务逻辑测试;API级 别的单元测试由开发者自行完成。 部署测试编码企业平台目前设想涵盖软件 生命周期的详细设计
企业平台包括两个部分:快速开发平台和运行支撑平台,从软件 生命周期来看,涵盖了详细设计-->编码-->测试-->部署-->运营等多个阶段。 快速开发平台提供一个嵌入式工作流引擎, 图形建模器以及向导工 具,系统的可视化部分基于eclipse插件的方式实现,非可视化