专访开源项目Amoeba架构师陈思儒
DBA notes站长冯大辉(Fenng)代表InfoQ中文站采访了分布式数据库Proxy开源项目Amoeba的架构师和主要开发者陈思儒,内容包括Amoeba项目的起因、功能及其愿景等。
作者 Scott Delap译者 高昂 发布于 2007年7月5日 上午6时27分
Java EE 6(JSR 316)的提案已经发布。InfoQ在之前的文章中已经涵盖了开发者社区对于即将到来的JavaEE发布版的一些设想。此次发布版的两大主题是可扩充性和概要:
……这个新发布版本致力于欢迎并支持那些技术,将它们包含在整个Java EE愿景中,同时继续简化Java开发平台,以更好的服务于更多的开发者。为此,我们给新版本提出两项目标 —— 拓展性和概要。拓展性(Extensibility)
对于Java EE平台来说,并不适宜在没有限制的情况下,把所有Web开发和企业应用开发者认为有趣且有用的技术都包含进来。相反,我们认为应该让更多技术清晰地叠放在Java EE应用服务器上层,或者作为应用服务器的插件。通过增加拓展功能点并提供更多的服务接口,这些额外的功能可以简洁高效地加载到平台实现上面,让它们跟平台内建的设施一样便于开发者使用。
概要(Profiles)
Java EE的范围已经延伸的如此广泛,以至失去了原先所遵循的价值观。为了重新将Java EE的目标定位到特定类型的开发者和应用程序,我们提案引入Java EE平台“概要”。像是JCP定义的那样,概要将会引用Java EE平台,并且可能包含Java EE平台技术的一个子集,以及不属于Java EE基础平台的一些附加JCP技术。除了定义Java EE基本平台规范,这个规范还将定义在概要中引用Java EE平台技术的规则。这个专家组同时也会定义Java EE Web概要的第一个版本——面向Web应用开发的Java EE平台子集。这个概要将为Java EE平台提供一个更平缓的入门,同时只提供被大多数Web应用开发者所需要的技术,而不是那些有时会使得开发者产生迷惑的企业级技术……
该提案还主张使用概要配置来减少日益膨胀的Java平台规模。有人建议,在Java SE专家组中使用的过程同样可以应用在Java EE之上:
提案列举了一系列JSR提议作为Java EE 6新特性的候选,例如JSR-237《应用服务器的工作管理器》和JSR-299《Web Beans》等。除此之外,还有此前列入的技术如Servlets,EJB和JSF等内容。诸如JSR-168《Portlet规范》,JSR-170《Java内容仓库API》,JSR-225《XQuery Java API(XQJ)》等众多应用程序接口,则被推迟到未来的发布版本再考虑。
Interface 21的CEO Rod Johnson就新的提案撰写了长篇评论,宣布他们将支持JSR的提案:
Java EE(长期以来一直被称作J2EE)在创造Java中间件市场中扮演了重要的角色。然而,在将近十年的过程中,存在于这个平台上的严重问题已经出现,例如:Java EE 6对平台进行了重要的修正,有潜力解决所有这些问题。同时它也有可能解决另外的问题:事实上,如果Java EE开发商需要确保那些大多数消费者从没使用的功能,即意味着他们很难跟上规范的新变化,对于平稳地升级来说将是个重大挑战,而且在Java EE市场上有新加入竞争者的可能性几乎是零。最后一点说的是,在用户看来,责任重大并不是EE厂商慢吞吞的借口。此时此刻,就我所知,BEA是市场上所有领导厂商中唯一获得J2EE认证的,尽管Java EE 5规范已经发布了一年多;这充分证明了发布一个新平台版本的困难性。Java EE 5最有价值的部分,比如说JPA,在WebLogic最终版发布前几个月就已经完成,但由于在一些大多数WebLogic用户可能从来不会使用的的部分还存在技术问题,而无法发布一个正式版的产品……我认为,企业Java社区应该欢迎Java EE 6的到来,也应该欢迎Sun公司与时俱进,为加强企业级Java整体平台所采取的举措。在J2EE/Java EE中有许多很好的特性,但一些因素导致这些特性变得复杂晦涩起来。相信Java EE 6将会改变这一切!
- 对符合Java EE规范的服务器的需要被夸大了,它们支持一系列庞杂的功能,然而对于广大用户来说,只有很少一部分人对这些功能感兴趣
- 企业需求已经发生改变,因为J2EE原先“为所有应用建立统一模型的”理念已经显得越来越不适应形势了
- 事实上,由于开发框架(尤其是开放源代码框架)的出现,企业级Java应用开发的能力已大大加强,使得开发者更具有生产力并且应用产品更具有效率和可维护性
- 来自于Ruby on Rails甚至是.NET等开发框架的新生挑战,表明在追求快速变化和创新的时代里,每隔2-3年才慢悠悠地发布一个版本将会给整个平台带来危险。
查看英文原文:Profiles & Extensibility Major Refactorings in Proposed Java EE 6
DBA notes站长冯大辉(Fenng)代表InfoQ中文站采访了分布式数据库Proxy开源项目Amoeba的架构师和主要开发者陈思儒,内容包括Amoeba项目的起因、功能及其愿景等。
作为三期系列文章的第二部分,本文延续了上一期内容,介绍了RichFaces,包括如何把RichFaces集成到之前提到的示例应用中、如何部署RichFaces porlet和RichFaces的多种特性和功能。
Amazon Web Services(AWS)的传道者Jeff Barr讨论了SimpleDB、S3、EC2、SQS、云计算、Amazon的不同服务如何与应用交互、AWS的起源、SimpleDB和微软SQL Server Data Services、AWS cloud的全球化、三月份的AWS停机。
Erlang的并发模型很有名,它的健壮性也很有名。但其他方面呢?在这篇文章里,Dennis Byrne演示了如何用Erlang建立内部DSL。
本视频主要以FreeWheel为例,对一个基于Rails的企业级应用进行了剖析。其中包括:FreeWheel的架构、部署、数据库的问题、REST API、敏捷开发过程、如何去写测试以及持续集成等等。
JavaFX显示了Sun的Java系列产品市场方向的一个重大转变。随着1.0版的即将发布,InfoQ以JavaFX预览版为参考,与Sun高级工程师Joshua Marinacci探讨了即将发布的1.0正式版。
本文主要讲述了如何用JBoss Portlet Container 和JBoss Portlet Bridge创建新项目,怎样配置一个JSF应用去使用JBoss Portlet Bridge,以及JBoss Portlet Bridge所具备的功能。
1 条回复
回复