J2EE vs .NET 应用开发走向何处?

(元框架meta-framework冉冉升起)译者:板桥里人

  (本篇是简译)原文:http://java.sys-con.com/read/49198.htmJDJ首页
  JDJ的这篇文章试图说明:元框架已经日趋成熟,目前应用开发走向何处?下一个cool的东东是什么呢?答案很多,很多民间高手明白标准和API充满各种误区和陷阱,他们知道正确方向。Toplink, Lucene, Struts 等都被称为好的技术,当然你得深深进入一个完全不同的技术和API以及学习曲线。

  这也就是作者认为.NET 有很多优点的原因,它是元框架:一站式商店;不用否认,在J2EE世界中存在很多稀奇古怪的解决方案和框架,但是在正规公司超市中,这些作为独立孤岛的功能产品很难卖出去,我们可以看看一个成功的被广泛的采取的 产品是什么样的,Take Struts for instance (love it or hate it). 但是,作者认为Struts不是一个元框架.

作者对元框架的定义:

  1. Broad Scope(范围广阔) - 框架应该涵盖UI创建、页面流程控制和多个服务提供商整合,包括EJB、Web服务、POJO等等. 框架不一定要封装一个现成的服务提供者,既可以用EJB,也可以用POJO+Toplink(hibernate),给使用者一个选择。(笔者设计的Jdon框架和Spring框架都支持EJB和POJO,Spring支持POJO比支持EJB方便一些;而Jdon支持EJB和POJO一样方法,当然Jdon的AOP功能定制方便性要低于Spring)
  2. Coexistence(共存) - 框架必须和其它部分实现松耦合,与其它服务和技术共存。 当所有的组件装配在一起测试时,有没有classload问题?这些组件是否是同一个API等,元框架必须和其它组件和平共处。
  3. Abstraction(抽象) - where you have choice you need abstraction. 当更换新的O/R Mapping技术时,不必更新其它服务绑定,元框架可以 遵循通用的数据绑定目标如JSR 227。抽象能让元框架增加更多价值,并导向下一代:永寿。
  4. Longevity (永寿)- 元框架应该增加一层顶端,只需面向元框架编程,这样当底层API改变时,你的应用不必更改,Oracle Form已经存活20年了是一个例证。
    (这是笔者在2004年软件技术大会上提倡的跨J2SE、WEB和EJB平台,保护业务逻辑的生命周期:http://vbook.china-pub.com/vbook/vinfo.asp?id=10)。

    元框架另外一个优点就是稳定。
  5. Tooling (工具)- 元框架整合了抽象代码层,和大量的元配置,提供GUI设计工具将是未来完善的地方

为什么是元框架?

为什么说元框架是发展方向?其实我们并没有看到围绕SOA之类的大量产品。作者认为在这些静悄悄的表面上有一种暗流涌动,如果视线从vendorJ2EE产品供应商上转移开来,此刻什么是最大的动向?好的POJO和IOC,EJB3.0、Spring等等。

当然,作者也认为目前JSF标准是一个亮点。如果使用JSF,就能为主流浏览器、手持终端和任何工业telnet设备编程。


原文作者最后举例的元框架有: Oracle ADF frameworkSpring frameworkKeel
(笔者设计的Jdon framework,当然还有很多地方待改进。)

Jdon前期相关话题讨论:

国人最早开源IOC/AOP框架JdonFramework

用了struts的体会

Pico、JMX、微容器以及对象的易管理性

J2EE中几种业务代理模式的实现和比较

更多框架专题

 

 

进入元框架讨论