商讯信箱
用户名: @
密  码:   注册|忘记密码
登录
个人用户经销商
您的位置:首页 > 技术频道 > 正文

.NET挑战J2EE域对象



     【IT168 专稿】编者按:关于J2EE与.Net的争论中,在这场势均力敌的战斗中,一直没有一个真正胜利者,因为他们都有自已的绝杀武器和致命的命门。所以到底是孰是孰非,我们也不好下这个结论,那么我们就从域对象上来看谁是这个领域的胜者?

    企业域建模是J2EE的传统强项。正如我们在很多文章里看到的,J2EE的设计受很多方面的影响,其中诸如MVC的体系机构模式和像CORBA一样的企业对象分布式技术,因此这个框架从诞生的时候就具有内置的支持。

     由于.NET是在微软的Visual API基础上建立起来的,其重点是组件让应用程序“可视”。随着时间的过去,微软开始意识到自已的不足,也开发了比较强大的企业体系结构实践,同时也更倾向于企业特定领域的服务,因此在这个区域,.NET的出现着实给了J2EE重重的一击。

     什么叫域对象

     还好EJB3.0以及更多开源域对象的出现,让J2EE伤口得以迅速的复元,但是今天我们要这场对攻战中,必须要决出谁才是这个领域的王者,在进行两者之间比较之前,我们先了解一下概念,就是什么是域对象,域对象就是一种理论表示术语,用于描述任何代表真实事务实体的对象,诸如订单、条款、帐号等等。而且当说起域模型的时候,人们通常会联想到实体相关的服务,例如数据库持久性、生命周期管理等。和许多其他的面向对象的概念一样,很难给域对象下一个清晰完整的定义。从某种意义上说,域对象就是可以被计算机操作的所有事情。

    J2EE中的特定域对象

    在J2EE规范中,有90%的API以不同形式,都与某些域模型服务有关,其中最著名(也是质疑声最强的)的典型例子就是EJB这个庞然大物。

    还有就是数据连接规范(JDBC),目录综合服务(JNDI),Java事务处理API(JTA),远程调用API(RMI)等等,但是,更为重要的是两个开源框架,它与Hibernate和Spring造就了如今的J2EE域对象模式,也是现在比较流行组合型域对象模式(Hibernate,Spring)。

    Hibernate是一个免费的开源Java包,它使得与关系数据库打交道变得十分轻松,就像您的数据库中包含每天使用的普通Java对象一样,同时不必考虑他们如何从数据库表中进行存取,解决Java操作数据方面的先天不足。

    Spring是一个可以解决许多在J2EE开发中常见的问题的强大框架,同时也提供了管理业务对象的一致方法,Spring的架构基础是基于使用JavaBean属性的Inversion of Control容器。

    当Spring与Hibernate联合使用的时候,号称是当今最流行轻型架构,这也是J2EE最独特的域对象模式,它抛弃了EJB的雍肿,同时又保留了J2EE中优点。
1 2
©版权所有。未经许可,不得转载。
[责任编辑:赵恒]
[an error occurred while processing this directive]
[an error occurred while processing this directive]