BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

修剪Java EE

| 作者 Charles Humble 关注 798 他的粉丝 ,译者 张龙 关注 12 他的粉丝 发布于 2009年4月16日. 估计阅读时间: 5 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

Java EE平台成功的一个重要原因就是其广泛的覆盖面,但其涵盖的众多API和技术也是广大开发者和厂商所面临的一个难题。对于想要构建Java EE应用服务器的新厂商来说,整个规范使其很难介入该领域;而对于Java EE新手来说,为数众多的API和缩写词也使其茫茫然不知所措。这也是导致Java EE如此复杂的一个重要原因,同时一些新手会觉得Java EE并不适合开发简单的系统,比如基本的CRUD Web应用,他们总觉得Java EE是用来开发复杂系统的。鉴于此,Java EE 6的一个目标就是通过3种不同的技术来解决这些问题——配置(profile)修剪(pruning)及扩展(extensibility)。

Profile可以是Java EE平台技术的一部分,也可以是额外的JCP技术(并不属于基础的Java EE平台),抑或两者兼而有之。它们能给厂商带来很多好处,因为其可以降低厂商开发Java EE兼容产品的门槛,同时对Java EE平台新手也能起到帮助作用。随着Profile概念的逐步规范化,Java EE引入了第一个Java EE profile——Web Profile,InfoQ之前的文章对此进行过详细的报道。

与此同时,Java EE 6 API的移除工作也被提到了议事日程,所谓API移除,意即对于厂商和开发者来说,这些API的重要程度相对比较低,我们称其为修剪。该过程由几个步骤组成:首先在发布包中将其声明为候选者,同时在Javadoc中也将其标识出来;然后根据社区的反馈来决定是否在下一个发布中将其放到可选组件中。

对Java EE 6早期草案的审阅提出了两个修剪项。第一个是JAX-RPC[即JSR 101,Java APIs for XML-Based RPC],它定义了通过RPC来访问SOAP web services的客户端API,同时也定义了实现web service端点的技术。JAX-RPC存在很多局限性,最明显的就是JAX-RPC服务端点和处理器既不支持web service注解,也不支持注入。随着Java EE 5的发布,其API已经被JAX-WS所替代。第二个是JAXR[即JSR 93,Java API for XML Registries],它提供了一种标准的方式来访问不同类型的XML Registry以进行绑定、部署及探测web service,同时还包含了对ebXML Registry和UDDI Registry v2.0规范的绑定。尽管JAXR的替代者尚未出现,但其使用上却存在着很多限制。

对Java EE 6公开草案的审阅又增加了两个API修剪项。已经被Java Persistence API[以前作为JSR 220,Enterprise JavaBeans 3.0的一部分]成功取代的EJB 2.x Container Managed Persistence以及Java EE Application Deployment[JSR 88],后者定义了部署工具的运行环境和Java EE应用服务器所提供的插件组件之间的接口。理论上凭借该API,我们可以使用相同的部署工具将任何Java EE应用部署到任何Java EE兼容的环境中,但遗憾的是,厂商对其的支持实在是太弱了。

与JSR 88类似,专家组也在考虑移除Java EE Management[JSR 77],它向管理工具提供了API以查询Java EE应用服务器的当前状态、部署的应用等等。使用这些API构建的服务器管理工具可以跨厂商运行,这样就可以切换应用服务器而无需改变管理工具和过程,还可以管理多个Java EE服务器所构成的网络,而网络中可以包含多个厂商实现。与JSR-88一样,厂商对该API的支持力度也很弱。

随着API的裁剪,专家组希望减少那些使用量少的API,转而提供更多的扩展点。我们应该可以使用这些接口和插件点轻松创建平台的扩展技术,同时保持很好的集成性,这么做也会使规范本身重获新生。

查看英文原文:Pruning The Deadwood from Java EE

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT