您的位置:首页 > 其它

ezStudio,易用高效的业务基础平台开发工具

2006-12-28 09:29 477 查看
摘要

本文从业务基础平台谈起,引申出与业务基础平台息息相关的开发工具,通过对国内外开发工具现状与未来趋势的描述,引导读者对开发工具有一个较为全面的了解。最后对清华同方ezONE(易众)业务基础平台中的ezStudio开发工具作了重点介绍与说明。讨论的技术包括业务基础平台和eclipse开源框架。本文的读者对象是j2ee开发人员和业务基础平台开发人员。

引言

随着软件开发的成熟,J2EE的开发逐步演变成了构件化,模块化和组件化的开发。开发人员的重心也从学习技术转向了通晓业务,如何能快速灵活的帮助客户实现与搭建业务系统成为软件开发的一大难题。业务基础平台正是解决这难题的有效途径之一,它基于业务与实现分离的理念,以业务为根,以客户需求为本,从解决软件开发的根本任务出发,找到和利用某种描述业务的方法和开发工具,从而让这种方法在业务基础平台上能适应各种变化。

什么是业务基础平台

业务基础平台是一种由业务导向和驱动的,可快速构建应用软件的软件体系,是一个新出现的软件层级。
和操作系统平台、软件基础架构平台相比,业务基础平台和用户的管理及业务相关度比较大,是应用软件开发的通用基础平台。操作系统平台解决了“应用软件系统与硬件之间的交互与管理问题”,软件基础架构平台解决了“应用软件系统与操作系统平台之间的交互与管理问题”,而业务基础平台则是解决了“应用软件的业务描述与操作系统平台、软件基础架构平台之间的交互与管理问题”。因此,业务基础平台最大的特点就是面向业务和技术无关性。经CSDN和计世资讯的调查与研究表明:业务基础平台是2005年四大前沿技术,也可能是软件业发展史上一项革命性的技术。
业务基础平台能有效地解决软件的“三大世界难题:集成,适应变化和效率(计世资讯)。首先,它是一个天然的集成平台。如果一个用户所有的应用软件都是基于某一业务基础软件平台而研发的,则这些应用软件都将具有天然的集成性。他们有统一的数据模型,有统一的体系架构,也有统一的业务流程管理模型。如果用户还有建立其他平台上的遗留系统,则可以通过应用集成接口,应用EAI 技术将该系统集成进来。也就是说,它有效地解决了软件的“集成问题”。其次,它也能有效解决“适应变化的问题”。通过工作流程引擎、业务规则引擎、报表设计引擎及组织管理引擎,再加上高效的开发工具,业务基础软件平台能快速地适应用户的需求变化。最后,业务基础平台能解决软件研发的“效率问题”。 在业务基础平台中集成了运行平台的多个标准组成部分,并为应用软件的开发解决了最头痛的技术问题和最根本的组织结构问题。同时,业务基础平台提供了多个预设好的行业套件及业务组件,通过对这些套件及组件的重用和组装,用户可以在业务基础平台上快速灵活地搭建出复杂的应用软件系统。因此,业务基础平台极大地提高了应用软件系统的研发效率。

业务基础平台与开发工具的关系

俗话说“工欲善其事,必先利其器”,开发工具在开发人员编写程序,实现系统,搭建平台时扮演着一个重要的角色,发挥着巨大的用途。特别是,现在软件开发已从“算法+数据结构=程序”逐步发展到了“设计模式+对象组件+开发工具=程序”。开发工具,已经成为软件开发成功的重要要素之一。

业务基础平台作为新型的软件平台同样离不开开发工具的支持和辅助。一个标准的业务基础平台,其内含了开发工具这一组成部分。业务基础平台中的开发工具不但具有普通应用程序开发时所需要的功能,而且还具有在业务基础平台上进行有针对性开发所需要的一些特殊功能。比如说业务基础平台中的开发工具能提供模型驱动、工作流建模、业务规则定义或报表设计的功能,以帮助开发人员快速地开发企业应用系统。

事实上,没有开发工具的业务基础平台也难于快速地实现业务和降低开发难度,更难于在短时间内搭建客户所需求的系统和组件。而拥有一个好的开发工具的业务基础平台既可以能让用户通过使用开发工具来快速理解、掌握、应用好业务基础平台;又可以帮助用户在平台上快速地开发出行业套件及业务组件,甚至可以利用已有的行业套件、业务组件敏捷灵活地组装、搭建出客户所需要的应用软件系统。

另一方面,开发工具也需要平台作基础。缺少平台作基础的开发工具一般只能提供一些语法高亮显示、代码提示、语法检查之类的与业务无关的功能,不能利用平台的一些专有资源和业务解决方案,不能为开发人员带来更多的边际价值,也不能为开发人员提供一些支持行业套件、业务组件及业务逻辑开发的功能。换句话说,这类工具只是面向技术,不是面向业务,只是从技术角度提供了一些辅助和帮助,而业务开发的解决方法及业务逻辑的定义此类开发工具却未能提供,开发人员还需利用别的手段或工具才能解决业务开发的一系列问题。

所以,业务基础平台与开发工具是一个包含与被包含的关系,同时也是一个相辅相成、唇齿相依、合作共赢的关系。

国内外开发工具的现状

这几年,随着java语言的大行其道,java开发工具也如雨后春笋般纷纷涌现。据一些权威机构的调查,国外java开发工具已经有上百种之多。这些工具各有侧重点,也各有优势,其中以Eclipse、NetBeans、Rational Developer和JBuilder最具代表性。Eclipse是近两届(第14届和第15届)jolt最佳开发工具得主,在今年初,更是吸引了Borland,Sybase,Bea和CA等知名公司加入其董事会和战略开发阵营,可谓是“后来居上,一枝独秀”。NetBeans则是Sun公司的旗舰产品,同样采用了和Eclipse一样的技术路线:Platform + Java IDE + Plugins,同样有语法检验、代码完成和代码合并,都允许编译、运行和调试代码,并都具有Ant、CVS 和 JUnit 支持。和Eclipse最大的不同点是NetBeans采用纯Java开发并以Swing库编写GUI,因此界面色调偏暗,使用起来跟本机程序感觉不同,而Eclipse则采用swt界面库来编写GUI,因此界面相当漂亮,且简洁友好。Rational Developer则是以Eclipse 3.0 为基础的 IBM 公司的核心应用程序开发提供物。它为创建和维护适应J2EE的企业应用程序系统,提供一个全面和多产的应用程序开发环境。它也包括Eclipse没有的许多功能,并能以IBM、IBM商业伙伴和Eclipse社区的最佳产物作为插件工具,以满足客户的需要,同时最大化开发人员的生产力。而JBuilder虽然这两年的市场占有率有所下降,但仍然是目前全球市场占有率第一的开发工具,其功能强大齐全,界面美观友好,但其最大的缺点是占用的机器资源太多,启动和运行速度偏慢。另外,JBuilder和Rational Developer一样是商业软件,价格不菲。Eclipse与NetBeans则是开源免费的软件,开发者还可以根据自己的需要和喜好,利用自己的技术开发出各式各样、功能丰富的插件,从而为自由开源贡献自己的力量。仔细分析国外这四种工具,不难看出,Rational Developer和JBuilder已经开始从单纯的java开发工具向综合的企业应用开发工具进行转变了,提供了一些业务开发时所必须的功能,如水晶报表设计,Portal门户集成等。而Eclipse和NetBeans目前仍偏重java的开发,对企业应用开发时所需的功能,都由它们的外界插件来提供。这些插件虽然也能融合到Eclipse或NetBeans中去,但由于缺乏统一规范和统一管理,再加上一些插件厂商的商业意识,造成了这些插件多且乱,繁且杂,不能很好地无缝地相互协作和相互调用,不能流水线式地生产制造出企业应用软件系统。
反观国内,整个市场上鲜有几款国产的有自主知识产权的java开发工具,业务基础平台开发工具更是凤毛麟角。究其原因,一方面是由于没有国外软件开发的技术,另一方面就是国内产商普遍认为自主研发工具是件吃力不讨好的事----见效慢,收益小。这两年随着国内业务基础平台的发展,国内有些厂商逐步意识到研发出与业务基础平台紧密结合的开发工具已经到了势在必行的时候,并相应地投入了一些人力和物力。从去年下半年开始,市场上相继出现了一些开发工具产品。这些产品采用的技术路线各有千秋:有基于eclipse技术开发出来的,有基于C#技术开发出来的,也有基于java中Swing技术开发出来的;产品的具体功能也千差万别。这些产品中有些可以快速开发出企业应用软件系统,但开发过程中规则规定比较呆板,开发步骤比较僵化,不利于协同和敏捷开发;开发完成后,系统难于维护也难于自由扩展。总体说来国内业务基础平台的开发工具还处于发展阶段,产品不太成熟,性能不太稳定,提供的功能有限,易用性不强,难于让用户快速高效地开发企业应用系统。

开发工具的未来趋势

开发工具从无到有,从小到大,经历了一个不断发展的过程,最初的开发工具,只提供一些命令行式的界面和简单的编译、语法高亮显示及代码格式化等小功能。现在的开发工具不但提供易用美观的界面,还提供了方法属性提示、自动生成代码、自动发布部署和代码重构等强大的功能。

回首这几年,java开发工具“你方唱罢我登场,各领风骚数百天”。2002年,IntelliJ IDEA 得到了第12届jolt最佳开发工具称号;2003年,JBuilder得到了第13届jolt最佳开发工具称号;2004年,Eclipse得到了第14届jolt最佳开发工具称号;今年,第15届jolt最佳开发工具称号仍然被Eclipse获得。

众多的调查机构研究表明Eclipse之所以如此受人欢迎,主要原因有两点:其一是开源,其二是采用可扩展的插件机制。事实上,这两点也正符合人类在现实世界的追求,开源意味着自由开放,可扩展的插件机制意味着可持续的发展。

因此,未来的开发工具,也应具备这两个特点。开源,可以让其它人员了解自己的程序,指出程序的不足,修正程序的bug,“海纳百川,有容乃大”,获得广大开发人员鼎力支持的工具才会更完美,功能才会更完善。可扩展的插件机制,能充分调动开发人员的主观能动性和积极性,能使开发人员开发出各种各样插件,从而才能让已有工具的功能不断的得到充实和增加,才能让开发工具不断向前发展。

当然,要满足人们对开发工具的不断增长的需求,未来的开发工具必须能以最短的时间轻松创建出用户满意的行业套件、业务组件乃至整个企业应用软件系统。要达到这一目标,未来的工具应该还具有以几个特性:(1)能借助平台,利用平台的业务解决方案和业务规则;(2)操作智能化,自动化和图形化;(3)功能齐全,提供企业应用软件系统开发所需的所有功能,开发人员无须再利用别的手段或工具。也就是说未来的开发工具不再是一个单纯的开发工具,它还是一个业务开发平台。

另外,未来的开发工具还应该具有好的用户体验:具有界面美观友好;操作简单易用;启动、运行快速;性能高效稳定;并且支持团队协同开发等优点。

什么是ezStudio

清华同方作为国内知名的IT公司,经过几年的潜心研究,开发出一个具有国内领先水平的ezONE(易众)业务基础平台。该平台包含了ezPortal企业门户,ezFramework企业框架,ezCMS内容管理系统,ezWorkflow工作流系统,ezStudio开发工具和ezBI商业智能组件这六大既独立又合作产品,同时也内置了组织结构管理和安全权限管理等标准业务基础平台组件。

ezStudio是清华同方ezONE(易众)业务基础平台的标准组成部分之一,是利用目前最为流行、扩展性最强的ECLIPSE开源框架,结合ezONE业务基础平台先进技术的一款综合JAVA开发工具,内置了可视化和自动化的Portlet开发、工作流建模、表单设计、业务逻辑定义、数据建模和报表定制及发布部署等实用功能,提供了完善的向导、视图、编辑器和调试环境。能屏蔽技术复杂性,帮助用户降低开发难度,全面支持ezONE业务基础平台业务组件及行业套件的高效开发,同时支持普通web应用及J2EE企业级应用系统的快速开发。开发人员只使用ezStudio一个开发工具就可以完成所有的开发步骤,无须再借助和利用别的开发工具,减少了开发人员切换工具的麻烦,显著地提高了开发效率。下图为ezStudio的架构图:

从架构图中可以了解到,ezStudio利用了众多优秀的开源技术,使用了先进的体系架构,具备良好的扩展性和灵活性。

在ezONE(易众)业务基础平台中,ezStudio与其它五个组成部分(ezPortal企业门户,ezFramework企业框架,ezCMS内容管理系统,ezWorkflow工作流系统和ezBI商业智能组件)相辅相成,分别为它们提供了定制的功能。利用ezStudio,这五大组成部分能快速地开发出它们自己所需要代码与组件,减轻了它们的代码量和工作量,加快了它们这五个组成部分的开发和研制。

借助ezONE(易众)业务基础平台和ezStudio开发工具,开发人员能快速高效地搭建客户不同的业务系统,能极大地提高开发效率和降低开发成本。

ezStudio的组成

ezStudio以eclipse3.0为框架,遵循eclipse的架构,继承了eclipse所有的功能,在eclipse灵活的插件体系基础上,自主研发出eclipse3.0目前所缺乏且ezONE(易众)业务基础平台所需要的几个功能插件:

Portlet开发功能插件:是一个自动生成 portlet工程和代码的插件,通过向导和模版来输入必要的参数,能够自动构建portlet目录结构、自动生成开发代码和自动编写部署文件及编译、打包、部署portlet工程。

工作流建模功能插件:是一个工作流建模插件,能够可视化,图形化地创建,编辑工作流程,并提供流程描述文件合法性检测,自动生成描述文件等功能。帮助开发人员方便,快捷地定义工作流流程,配置好工作流流程的相关属性,减轻开发人员开发工作流的工作量。

表单设计功能插件:是一个帮助用户设计表单,开发页面的插件,提供图形化的JSP页面和HTML页面编辑功能,通过鼠标拖拽操作及部分属性定制工作即可完成表现层的全部编程工作,为用户提供Web的工具箱和ezFramework企业框架自带的多组控件,在主面板上以图形化的方式显示控件,以拖拽的方式进行布局,以属性框的方式对控件进行设置,能够较快的完成Web页面的设计。

业务逻辑定义功能插件:是一个定义、编写业务逻辑的插件,提供业务基础平台开发的运行、调试环境,提供Web开发的页面VO的支持和自动生成ezFramework企业框架业务逻辑代码功能,开发人员只需在生成的代码框架中编写少量的业务逻辑代码就可完成业务应用,从而能快速搭建各行业的业务组件。

数据建模功能插件:是一个数据建模和数据库建表的插件,提供业务数据建模功能,通过图形化的面向对象的操作方式,创建业务数据模型,并自动生成hibernate持久化类、映射文件和物理数据库建库、建表和建字段的DDL脚本。

报表定制功能插件:是一个定制、设计报表的插件,提供可视化,图形化的定制、设计和开发报表功能,能使用户无需过多的代码就可快速地完成报表的定义、设计、浏览、打印与输出,可以显著地缩短WEB报表的开发周期。

发布部署功能插件:是一个对工程、项目和产品进行打包,部署和发布的插件,提供对所创建的应用程序和工程自动打包,发布和部署功能,以友好的界面方式完成ant脚本的配置。

ezStudio的优点

一个好的开发工具不但可以降低编程语言的复杂度,更可以提高设计者、开发人员的生产力和创造力。反之,则会取到适得其反的效果。ezStudio秉承了Eclipse3.0的优点和ezONE业务基础平台的先进理念,参考了国内外众多开发工具,从实用角度出发,从易用方面着手,充分利用了ezONE业务基础平台具有的行业套件和业务组件,具有如下一些优点:

功能强大全面:拥有语法高亮显示,代码格式化,自动增量式编译,自动纠错,代码提示,bug跟踪和调试等实用功能,支持代码重构和团队协同开发,开发人员无须再利用别的工具既可完成所有的开发任务。

界面美观友好:ezStudio扩展了eclipse3.0的视图、向导、工作台等扩展点,并使用SWT组件库作为GUI解决方案,能够让用户拥有美观的图形化界面。

操作简单易用:ezStudio对其内置的功能插件都提供了向导功能,对菜单栏,工具条都进行了合理的布局,并增加了较多的鼠标右键操作和键盘快捷键操作,还配置了一些提示和帮助功能,使用户能操作简单,使用方便。

移植方便可靠:由于采用了eclipse3.0的框架,ezStudio能够支持windows,unix.linux操作系统,能够非常方便的从某一操作系统移植到另一操作系统去并稳定运行。满足开发人员在各种操作系统中开发的需要。

扩展自由灵活:ezStudio采用可扩展的插件体系,允许用户自由的开发出功能丰富的插件,允许用户灵活的选用不同的功能插件。从而能使ezStudio的功能不断得到增加和扩展。

性能稳定高效:ezStudio支持团队协同开发,能满足多人同时使用一个月不出现死机和崩溃现象。启动、编译快速;各项操作响应时间不大于6秒;窗口切换停顿时间不大于10秒;每个图像呈现时间不大于30秒,图像过渡平滑,不闪烁;数据转换和传送时间不大于30秒。

ezStudio产生的效益

ezStudio一方面充分利用ezONE业务基础平台的行业知识和技术积累,形成了一系列行业开发的解决方案,能够针对不对的行业(如社保,税务,智能建筑等)提供不同的开发流程和开发步骤。另一方面ezStudio借助了ezONE平台上的众多行业套件和业务组件,能自由灵活地组装、搭建用户所需的应用软件系统。具体的好处和效益如下所述:

1.帮助用户构建随需应变的应用系统

利用ezStudio强大、全面的功能,能使用户不管是开发portlet应用,web应用还是j2ee应用都能得心用手,而且利用ezStudio的工作流建模功能和业务逻辑定义功能及结合ezONE中的业务规则组件,能够非常方便的构建用户不断变化需求的应用系统而不用使整个应用系统推倒重来。

2.帮助用户开发行业套件和业务组件

ezONE平台积累了大量的行业背景和业务知识,并拥有了社保,建筑和税务等行业套件和业务组件,ezStudio能够充分利用平台已有的套件与组件并与ezONE平台的其它组成部分一起共同帮助用户快速开发出用户所需的行业套件与业务组件甚至整个应用软件系统。

3.为用户节省大量时间

借助ezStudio,能缩短用户50%以上的开发时间,能提升60%以上的开发效率,在实际开发过程中,80%左右的源代码不再需要开发人员手工编写。在ezStudio中还集成了调试,bug跟踪和单元测试及集成测试的功能,方便开发人员及时发现和修正程序的不足。

4.为用户节省总体成本

在ezStudio中大量运用了可视化和图形化的设计与开发,提供了众多的代码自动生成和编译功能,从而能使开发人员以一抵三,一个开发人员能完成以前须三个开发人员才能完成的工作,节省了开发人员成本。另外, ezStudio开发工具功能强大且全面,包含了开发应用系统所需的所有功能。因此,使用ezStudio基本上就不需再购买别的商业开发工具就能完整地开发应用系统和搭建企业应用,节省了软件购买和使用的费用。从而替用户节省了总体成本,增加了利润。

5.降低技术难度

ezStudio面向全体开发人员,即可以让开发高手发挥自己的才能,又能让新手在向导帮助下以可视化、图形化及参数化的方式开发出符合规范的系统代码和系统所需的各种xml文件,屏蔽了众多技术实现细节,简化了技术复杂性,降低了技术难度。对开发人员的技术要求也相应地大大降低。

6.降低项目风险

ezStudio的自动代码生成减少了程度员手工编写代码出错的机率;利用已有的行业套件和业务组件等能减少重新开发的Bug;协同开发功能保证了代码的完备的版本管理和配置管理,避免了多人同时开发产生的代码异步,代码冲突,版本不一致的危险。同时,由于是自动生成系统的框架和基础结构代码,保证了各个开发人员开发出来的总体结构和框架不致于出现偏差,有效地降低了项目风险。

结束语

选择开发工具,更多的是选择开发工具背后的平台或平台上的组件与套件。业务基础平台开发工具的市场占有率越高,意味着该业务基础平台的市场占有率越高。开发工具已经成为用户选择业务基础平台,选择软件开发商,选择应用服务的决定因素之一,广大厂商自然不会放弃对开发工具的重视与努力。

作为国内一款拥有主知识产权的开发工具,要在众多开发工具中脱颖而出,需要的不仅仅是勇气与信心,更需要汗水与心血。

路漫漫其修远,ezStudio必定会“上下求索”,为实现易用高效的目标而坚持不懈的努力。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: