J2EE vs .NET 应用开发走向何处?
(元框架meta-framework冉冉升起)译者:板桥里人
(本篇是简译)原文:http://java.sys-con.com/read/49198.htm (JDJ首页)
JDJ的这篇文章试图说明:元框架已经日趋成熟,目前应用开发走向何处?下一个cool的东东是什么呢?答案很多,很多民间高手明白标准和API充满各种误区和陷阱,他们知道正确方向。Toplink,
Lucene, Struts 等都被称为好的技术,当然你得深深进入一个完全不同的技术和API以及学习曲线。
这也就是作者认为.NET 有很多优点的原因,它是元框架:一站式商店;不用否认,在J2EE世界中存在很多稀奇古怪的解决方案和框架,但是在正规公司超市中,这些作为独立孤岛的功能产品很难卖出去,我们可以看看一个成功的被广泛的采取的
产品是什么样的,Take Struts for instance (love it or hate it). 但是,作者认为Struts不是一个元框架.
作者对元框架的定义:
- Broad Scope(范围广阔) - 框架应该涵盖UI创建、页面流程控制和多个服务提供商整合,包括EJB、Web服务、POJO等等.
框架不一定要封装一个现成的服务提供者,既可以用EJB,也可以用POJO+Toplink(hibernate),给使用者一个选择。(笔者设计的Jdon框架和Spring框架都支持EJB和POJO,Spring支持POJO比支持EJB方便一些;而Jdon支持EJB和POJO一样方法,当然Jdon的AOP功能定制方便性要低于Spring)
- Coexistence(共存) - 框架必须和其它部分实现松耦合,与其它服务和技术共存。
当所有的组件装配在一起测试时,有没有classload问题?这些组件是否是同一个API等,元框架必须和其它组件和平共处。
- Abstraction(抽象) - where you have choice you need abstraction.
当更换新的O/R Mapping技术时,不必更新其它服务绑定,元框架可以
遵循通用的数据绑定目标如JSR 227。抽象能让元框架增加更多价值,并导向下一代:永寿。
- Longevity
(永寿)- 元框架应该增加一层顶端,只需面向元框架编程,这样当底层API改变时,你的应用不必更改,Oracle
Form已经存活20年了是一个例证。
(这是笔者在2004年软件技术大会上提倡的跨J2SE、WEB和EJB平台,保护业务逻辑的生命周期:http://vbook.china-pub.com/vbook/vinfo.asp?id=10)。
元框架另外一个优点就是稳定。
- Tooling (工具)- 元框架整合了抽象代码层,和大量的元配置,提供GUI设计工具将是未来完善的地方
为什么是元框架?
为什么说元框架是发展方向?其实我们并没有看到围绕SOA之类的大量产品。作者认为在这些静悄悄的表面上有一种暗流涌动,如果视线从vendorJ2EE产品供应商上转移开来,此刻什么是最大的动向?好的POJO和IOC,EJB3.0、Spring等等。
当然,作者也认为目前JSF标准是一个亮点。如果使用JSF,就能为主流浏览器、手持终端和任何工业telnet设备编程。
原文作者最后举例的元框架有: Oracle
ADF framework
、Spring framework和Keel
(笔者设计的Jdon
framework,当然还有很多地方待改进。)
Jdon前期相关话题讨论:
国人最早开源IOC/AOP框架JdonFramework
JiveJdon3全新架构文档和源码
用了struts的体会
Pico、JMX、微容器以及对象的易管理性
J2EE中几种业务代理模式的实现和比较
更多框架专题
进入元框架讨论
|