摘要
本文从业务基础平台谈起,引申出与业务基础平台息息相关的开发工具,通过对国内外开发工具现状与未来趋势的描述,引导读者对开发工具有一个较为全面的了解。最后对清华同方ezONE(易众)业务基础平台中的ezStudio开发工具作了重点介绍与说明。讨论的技术包括业务基础平台和eclipse开源框架。本文的读者对象是j2ee开发人员和业务基础平台开发人员。
引言
随着软件开发的成熟,J2EE的开发逐步演变成了构件化,模块化和组件化的开发。开发人员的重心也从学习技术转向了通晓业务,如何能快速灵活的帮助客户实现与搭建业务系统成为软件开发的一大难题。业务基础平台正是解决这难题的有效途径之一,它基于业务与实现分离的理念,以业务为根,以客户需求为本,从解决软件开发的根本任务出发,找到和利用某种描述业务的方法和开发工具,从而让这种方法在业务基础平台上能适应各种变化。
业务基础平台是一种由业务导向和驱动的,可快速构建应用软件的软件体系,是一个新出现的软件层级。
和操作系统平台、软件基础架构平台相比,业务基础平台和用户的管理及业务相关度比较大,是应用软件开发的通用基础平台。操作系统平台解决了“应用软件系统与硬件之间的交互与管理问题”,软件基础架构平台解决了“应用软件系统与操作系统平台之间的交互与管理问题”,而业务基础平台则是解决了“应用软件的业务描述与操作系统平台、软件基础架构平台之间的交互与管理问题”。因此,业务基础平台最大的特点就是面向业务和技术无关性。经CSDN和计世资讯的调查与研究表明:业务基础平台是2005年四大前沿技术,也可能是软件业发展史上一项革命性的技术。
业务基础平台能有效地解决软件的“三大世界难题:集成,适应变化和效率(计世资讯)。首先,它是一个天然的集成平台。如果一个用户所有的应用软件都是基于某一业务基础软件平台而研发的,则这些应用软件都将具有天然的集成性。他们有统一的数据模型,有统一的体系架构,也有统一的业务流程管理模型。如果用户还有建立其他平台上的遗留系统,则可以通过应用集成接口,应用EAI 技术将该系统集成进来。也就是说,它有效地解决了软件的“集成问题”。其次,它也能有效解决“适应变化的问题”。通过工作流程引擎、业务规则引擎、报表设计引擎及组织管理引擎,再加上高效的开发工具,业务基础软件平台能快速地适应用户的需求变化。最后,业务基础平台能解决软件研发的“效率问题”。 在业务基础平台中集成了运行平台的多个标准组成部分,并为应用软件的开发解决了最头痛的技术问题和最根本的组织结构问题。同时,业务基础平台提供了多个预设好的行业套件及业务组件,通过对这些套件及组件的重用和组装,用户可以在业务基础平台上快速灵活地搭建出复杂的应用软件系统。因此,业务基础平台极大地提高了应用软件系统的研发效率。
俗话说“工欲善其事,必先利其器”,开发工具在开发人员编写程序,实现系统,搭建平台时扮演着一个重要的角色,发挥着巨大的用途。特别是,现在软件开发已从“算法+数据结构=程序”逐步发展到了“设计模式+对象组件+开发工具=程序”。开发工具,已经成为软件开发成功的重要要素之一。
业务基础平台作为新型的软件平台同样离不开开发工具的支持和辅助。一个标准的业务基础平台,其内含了开发工具这一组成部分。业务基础平台中的开发工具不但具有普通应用程序开发时所需要的功能,而且还具有在业务基础平台上进行有针对性开发所需要的一些特殊功能。比如说业务基础平台中的开发工具能提供模型驱动、工作流建模、业务规则定义或报表设计的功能,以帮助开发人员快速地开发企业应用系统。
事实上,没有开发工具的业务基础平台也难于快速地实现业务和降低开发难度,更难于在短时间内搭建客户所需求的系统和组件。而拥有一个好的开发工具的业务基础平台既可以能让用户通过使用开发工具来快速理解、掌握、应用好业务基础平台;又可以帮助用户在平台上快速地开发出行业套件及业务组件,甚至可以利用已有的行业套件、业务组件敏捷灵活地组装、搭建出客户所需要的应用软件系统。
另一方面,开发工具也需要平台作基础。缺少平台作基础的开发工具一般只能提供一些语法高亮显示、代码提示、语法检查之类的与业务无关的功能,不能利用平台的一些专有资源和业务解决方案,不能为开发人员带来更多的边际价值,也不能为开发人员提供一些支持行业套件、业务组件及业务逻辑开发的功能。换句话说,这类工具只是面向技术,不是面向业务,只是从技术角度提供了一些辅助和帮助,而业务开发的解决方法及业务逻辑的定义此类开发工具却未能提供,开发人员还需利用别的手段或工