欢迎来到天天文库
浏览记录
ID:9049235
大小:34.50 KB
页数:3页
时间:2018-04-15
《框架之轻量级和重量级》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、框架之轻量级和重量级一:基本概念:量级主要是看容器的依赖性所决定的,依赖性越小,越轻量. 1、轻量级框架1.定义:在Java应用程序开发环境中,“轻量级Java”主要是指两个东西:简化的编程模型和更具响应能力的容器。轻量级Java旨在消除与传统J2EEAPI有关的不必要的复杂性和限制。它也将缩短应用程序的部署时间,这对于支持开发最佳实践(比如频繁单元测试)非常重要。 2.现在比较重要的轻量级以及对终端用户的帮助:控制反转(IoC)模式在这个领域有着重大的影响。使用IoC,开发人员不需要编写复杂的代码来执行查询、处理基础架构异常或管理连接,就能够解决
2、对象依赖性问题。这有助于简化代码、将业务逻辑与基础架构分离,从而使应用程序更易于维护。 轻量级Java的另一个关键特征是,它不会强迫业务对象遵循平台特定接口。这允许开发人员在普通旧式Java对象(POJO)中实现业务逻辑,从而提高生产率。 与具体的类相反,当把开发的最佳实践与界面相结合时,这些特性也使得对代码进行单元测试容易得多。由于业务逻辑实现在POJO中,所以不再需要将对象部署到重量级容器中以在单元测试中练习它。因此,将对象宿主在诸如JUnit之类的简单测试环境中和为快速迭代单元测试“模拟”外部依赖性就变得微不足道了。3.现在典型的轻量级框架:Struts
3、、Hibernate、Spring、Beehive.....注:感觉转向轻量级技术越来越猛了,传统的重量级EJB也推出EJB3.0也基本上是以使得轻量级Java盛行的概念为基础。 2、重量级框架dev2dev:人们在想起应用服务器供应商时,通常把它们置于“重量级阵营”。我想您正在努力改变这种状况,对吧?换言之,许多人认为应用程序供应商已经在实现重量级组件(比如EJB2.0)上付出了很大的代价,它们不愿意轻易放弃这些成果。Jim:首先,我认为没有理由放弃在EJB上的现有投资,因为在某些场景中它仍然是最好的技术,例如当您希望通过RMI远程公开业务服务时。当然,诸如
4、EJB之类的开放标准在保护客户投资方面的价值也不能低估。已经说过,我觉得人们经常过分强调EJB在应用服务器中的实际价值。尽管这一点未必对所有的应用服务器供应商都适用,但是BEA只投入了相对较少的一部分开发资源来支持J2EEAPI。我们工作最主要的目标是为宿主应用程序构建最可靠、可伸缩和容错的内核。这些品质以及分布式事务服务、高速消息传递、遗留系统集成、高级Web服务、配置管理、诊断和故障排除和高级安全性,代表了WebLogicServer的真正价值,而且对总体拥有成本(TCO)有着巨大的影响。幸运的是,这些附加值对基于Spring或Beehive的应用程序的相
5、关性和适用性与采用EJB构建的应用程序是一样的。虽然轻量级Java技术使得应用程序的开发和维护更容易,但是它们不会代替真正高端应用服务器的品质。实际上,我们认为轻量级Java与WebLogicServer是一致的。dev2dev:BEA有没有一个轻量级Java策略?BEA实现轻量级Java的方法是什么?Jim:我们的策略是接纳所有有利于提高开发人员生产率、在市场上为部署这些技术提供最佳平台的技术。轻量级Java有助于降低开发成本,WebLogicServer则有助于降低运营成本,它们是一个非常强大的组合。 3、应用程序框架 dev2dev:由BEA赞助的Bee
6、hive项目显然是一个轻量级Java组件模型。您能否谈谈关于Beehive的情况,以及它在你们的整个策略中的地位? Jim:Beehive是一个应用程序框架,致力于使J2EE应用程序和基于SOA的应用程序的开发更容易,它基于我们发布WebLogicWorkshop的经验。它基于POJO和用于配置依赖性、服务质量等的元数据提供一个编程模型。元数据以J2SE5.0代码注解和外部XML文件的形式获得支持。存在一些用于访问J2EE资源、定义业务和Web服务以及基于MVC模式开发Web应用程序的组件。在我们努力提高开发人员生产率、巩固Java整体市场的过程中,Beehi
7、ve是非常关键的一部分。 ev2dev:Beehive可以被认为是一个“应用程序框架”。在SpringFramework中提供了一种非常流行的轻量级Java方法。Spring(以及其他类似的框架)对于BEA有多重要? Jim:任何能够帮助我们的客户提高生产率的东西都对我们非常重要。我们欢迎并且接纳这些技术,在适当的时候也可以在技术层面上集成或者共享这些技术。 dev2dev:你们考虑过明确支持这些框架吗? Jim:就像我原来说过的,WebLogicServer具有很多方面的特性,能够提供基于轻量级Java技术的应用程序。许多都是隐含的,然而在某些情况下,最小量
8、的集成工作就能为轻量级Java开发人员
此文档下载收益归作者所有