资源描述
企业级业务基础平台概述
文 / 宋庆华
(北京京天威科技发展有限公司 软件技术部,北京 100085)
1. 软件现状
随着软件产业的发展,我国企业级应用软件也在不断发展壮大。特别是进入互联网时代,企业应用软件对于企业的重要程度也越来越高,逐步成为支撑企业业务发展的一个十分重要的因素,然而日益复杂的应用需求、不断变换的商业环境,却使得应用软件一步一步走向困境,表现为:项目周期超长;无法快速适应变化;软件质量低下,Bug多 ;软件复用率低,重复开发;人才流动,知识无法传递。
针对以上情况,目前的开发方式,似乎都陷入问题的泥潭无法自拔,只能在“软件危机”的无奈中挣扎。显然问题的根源在于落后的软件开发方式,当面对数量众多的、大型的、复杂的应用系统时,势必造成开发的低效率和应用系统的低质量,无法快速满足变化的软件需求,最终导致企业成本居高不下,供需矛盾日益突出。
2. 解决方案—业务基础平台
面对这种日益广阔的市场空间和用户高要求的矛盾,几乎每个应用软件提供商都在思考,寻找更合适的软件开发方式。经过近几年发展,特别是进入21世纪以后,在探索解决之道的过程中,大家基本形成共识,业务基础平台能够大大提高企业软件的开发效率,因此“ 业务基础平台 ”成为解决该问题的首选。
实际上,一个企业应用系统的应用架构就是通过业务功能、系统层次、软件技术三要素相互影响、有机结合形成的。在以往的J2EE应用项目中,应用架构需要考虑的是软件层次(例如,遵??MVC的设计模式)和功能实现(合理的对象设计以及模式应用)。这就意味着,对一个J2EE应用项目组而言,既要求熟悉相关的业务领域知识,同时又要求技术能力较高,这样对项目组造成了很大的压力。
因此,在Java的开源世界里,出现了很多像Struts、Spring、Hibernate等优秀的框架,这些开源框架从某种程度上说良好地解决了我们应用架构设计的很多问题,然而,从根本上,这些架构并没有为我们提供一整套完整的架构体系,从而又会出现新的问题。基础业务平台则能够完美的解决这些问题:
(1)从应用功能维度上,是通过组件来承载业务功能,一个应用可以由多个组件构成,每个组件实现了一组具有相关性的业务功能。
(2)从软件层次维度上,每个组件包又按照MVC的思想抽象形成了不同层次的组件元素,组件之间不相互影响,通过接口进行交互,各组件能有效的扩展。
因此业务基础平台的特点:业务逻辑与底层技术是相对分离的;系统架构具有了良好的开放性和扩展能力;提高了开发效率;方便于系统的后期维护。
2.1 平台组成
平台由运行平台、辅助工具、RICH控件组成。
运行平台:是中间件的核心部分。主要包括:平台底层架构,工作流引擎以及安全体系等。另外,平台应该提供常用的公用组件,如人事管理,权限管理,流程管理等每个系统必备部分,从而节省了重新开发的工作量,而且这些组件也应易于扩展,以满足各种业务需要。
辅助工具:在开发阶段使用,主要目的是为了提高开发效率。在Miracle平台中提供一个Eclipse 插件来实现此功能,使用方便。
RICH控件:一直以来,软件开发人员都在为如何满足Web应用程序的用户体验、如何提高Web表现层开发效率的道路上艰难地探索着,RICH控件是一种有效的解决方案,能够解决困扰软件开发人员已久的Web表现层开发两大难题:快速开发和实现复杂交互界面,充分满足用户体验。
2.2 平台特点
基础平台主要强调技术与业务的分离,提高通用部分的复用性,减少重复开发的浪费。然而,平台的搭建是需要长期的知识积累,包括技术积累和业务积累,生命周期也相对较长,因此选择的技术方向必须是符合发展潮流和主流标准的。例如J2EE,已经发展为一个成熟而稳定的技术。以京天威的Miracle为例,介绍一般平台要满足的标准:
·开放性和标准性
基础平台是为软件开发商服务的,因此,必须开放所有开发的接口,使开发人员能够应对各种复杂情况,不会因为某个功能而使项目暂停。
标准性,主要是涉及异构集成和学习成本两方面。非主流标准的基础平台,产品集成和开发人员学习的成本是巨大的。因此选择主流的标准对平台也是非常重要的。
·高性能、稳定性、可扩展性和安全性
这几个方面是构建平台时必须考虑的,这需要一些底层技术的工程?-验和深厚的理论基础,是需要长期经验的积累。在Miracle中这些性能得到很好的体现,如可扩展性,在该平台中,开发人员可以对前后台的实现进行自由扩展,大大提高系统了的灵活性。在安全性方面也是通过多种手段来防止各种入侵,增加系统的安全性,在此暂不介绍。
2.3 组件特点
这里所说的组件也可以称为“服务”,是用来描述一个完整的业务,是对一个完整业务功能的映射,以解决高复杂度的大型企业应用的根本性问题(即牵一发而动全身)。组件的描述一般有两种方式:一种是代码描述,一种是脚本描述,各有优缺点,在Miracle平台中,采用代码描述的方式,使用纯JAVA代码,方便灵活,开发人员不再需要额外的学习即可进行开发,大大减少了工作量。完整的组件要包括几方面内容:
·完整性
每个组件是一个完整的业务描述,封装了一个业务目标所需的各种技术,包括系统层次,业务逻辑。组件间相互不影响,只能通过指定的组件接口进行交互,从而实现组件间的低耦合性。
·可继承、可扩展性
随着对业务的不断调整,组件也会出现不同历史阶段的版本,这就需要通过业务的方式进行扩展,要求平台和业务组件构架中含有良好的二次开发构架,从而达到业务组件的扩展在技术上是低耦合度的,分离的,以减少对原有业务逻辑-的破坏。
·自适应性
按照组件标准开发出来的组件应该具有自适应性,平台能够自动加载组件,使之能够正常运行,而不需要进行任何的软件修改,这样有利于组件的迁移和复用。
2.4 辅助工具
一般情况下,业务基础平台都有一个与之相对应的辅助开发工具,辅助工具的主要作用是用来减少开发工作量。在Miracle平台中提供Eclipse插件,用来描述组件定制流程以及组件生成发布,这样既能够充分保证代码的质量,又能够大幅度地减少工作量,节省开发成本。另外,因为生成的代码是纯JAVA代码,是开放的,因此扩展起来是非常方便的。
实践证明,业务基础平台是目前最有效的解决软件危机的手段,能够大大降低企业级应用软件的开发成本,快速适应客户的需求。
展开阅读全文