`
清泉风影
  • 浏览: 106653 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

浅谈EOS开发优缺点

    博客分类:
  • EOS
阅读更多
浅谈EOS开发优缺点


通过对EOS一年的使用,列出以下的相关优缺点:
优点
第一点:EOS有自己的理论基础:面向构件
所谓面向构件就是指:定义一个结构(可以认为是一个函数一样的东西)。在结构中,定义输入和输出,就形成了一个构件。每一个Http访问,会建立一个线程级(ThreadLocal)的变量,里面存放一棵xml树。在这个线程的运行过程中,会不停的增加,修改,查询定位树中的节点。这个过程使用xpath实现。据说xpath部分是他们自己重写过的,为了提高效率;
第二点:EOS的开发很方便,它已经定义好了很多构件,比如数据库存储构件(实际上是一组static的sql方法),只需要画图就可以完成一个功能。所以它的开发速度非常快;
第三点:EOS有一套完整的调试,发布,管理机制,它甚至有自己的Server,所以管理也是比较方便的
第四点:EOS有内嵌的工作流系统,只需要画画图就可以完成工作流的设计;
第五点:构件可以极为方便地发布为webservice、可以较为方便地开发简单的基于数据库的web应用(查
第六点:所提供的构件,都是经过厂商严格测试的,适用起来放心,图形化工具让出错的可能性降低了不少;
缺点
第一点:从技术角度及员工发展角度看,使用它的人,感觉自己的择业竞争力在一点点消失;
第二点:从工具角度看,EOS充其量是一个开发平台,不是其所吹嘘的SOA业务平台,所有的业务开发不能提供任何可用的业务框架。都要EOS的开发人员进行血和泪的总结后,再开发;
第三点:从系统角度看,EOS上开发的东西无任何移值的可能,你在EOS上开发了一个满意的模块,想使用到其它非EOS项目中,是完全不可能的。这对一个想做积累的公司或个人来说是个灾难;
第四点:相对于OO和J2EE传统开发,EOS易于上手,学习曲线较短。但是这一点有争议,EOS的知识不具备通用性。
第五点:EOS页面的开发很不方便,虽然有RIA的支持感觉没有其所吹嘘的那么好使
小结
现在市场上用得最多的还是EOS5,这个版本出来的时候是2005年,在当时而言,WEB开发平台有那么强已是很不错的,今年发布的EOS6,在目前来说,不说国际,至少国内没有一家能到比它好的。EOS5和EOS6表面上看区别不大,都是构件组装,实际上有很大的区别:
      在EOS5中,数据传递用的就是XML,但在6中使用JAVA对象,关这一变化,对性能就有一个质的飞跃。另外他是符合SCA和SDO标准,至少可以表现出他是一个开放的东西,不是闭门造车。如果软件是来规范业务的,EOS还是不错地;如果软件是来被使用者或者决策者肆虐的,EOS没有价值

补充内容
开发平台有几个问题需要考虑:
1、如何真正的对开发人员有提高
      很多手段和技术来保证提高工作效率,也有很多方法可以生成一个快速的系统。看国内现在这个多web快速开发平台就知道。但是开发平台最终是给开发人员用的。如何保证开发人员使用这个平台之后,以后的价值是会逐渐提高的。SAP其实也是一套独立的开发平台,其为什么能够快速的推广出来,关键还是SAP顾问和开发的工资很高,让技术人员愿意自己掏钱去学。
      如果开发平台最终会降低开发人员的价值。那最终只会使这个平台被开发人员放弃。
      我们最初在做开发平台也碰到这样的问题,最终我们发现,开发人员价值的提升其实不是编码的提升,而是分析设计能力、项目管理能力、更高要求的编码能力的提升。
      像我们开发平台,完全不用编码就可以实现业务逻辑层、数据库层以及界面的生成。很多简单的项目,都不需要编码了。以前一个人能最多只能做一个模块中一部分代码的工作,现在可以管理几个项目模块的实现,并且会需要分析数据库如何设计以及界面如何布局等各种问题。也就是说原来技术人员的面更广了,对其业务分析能力、设计能力以及整个项目管理能力是一个全面的锻炼。而这些能力原先是必须做到系统分析员才可能去锻炼的。
      另外编码能力并不是说完全不需要用,平台只是一个复用一些组件的工具。那么如何设计和实现优秀的组件,是需要编码实现之后,扩充到平台中的。这是更高层次的编码能力。
2、如何标准化,并且和其他的框架集成
      技术更新换代,自己的平台可能在某些方面可以一直保持领先地位,但是并不是所有方面都能领先。就像XML技术,当初推出的时候,很多人觉得配置XML比开发程序容易多了。但是现在很多框架用了XML配置之后,发现还不如直接写程序的类来的方便。现在智能化的编辑器可以自动生成大量的代码,以及优秀的纠错能力。XML反而变得更麻烦了,而且性能也成问题。
      因此要充分利用多个框架的技术,最好能轻易的集成其他的框架,或者来一种更好的实现。这样就是一个开发的系统。
3、复用性非常关键
      我们做技术的,用的最多的是复制、粘贴。这是一个最简单的复用的例子,并不是说一定要设计完全通用的组件化,才是复用的一种。
      开发平台能不能简单的将一些东西,完全进行复制、粘贴是衡量一个工具易用性的一个非常重要的指标。

分享到:

相关推荐

Global site tag (gtag.js) - Google Analytics