2005 就要过去了。
过去的一年,Mustang 没能出来,EJB3刚刚才提交最终草案,Ajax兴起但是五花八门不知道应该用谁,ASPectj 5出来了,但是缺乏惊喜。
或许我们会说,过去的2005,Java界缺乏成绩,但是却毫无疑问,Java遥遥领先于其他语言。从11月的语言排行榜Java遥遥领先,到今年的Java图书销售统计上,Java图书销售总数是C#的2倍,PHP的2.5倍,Perl的4倍,Ruby/Python的9倍。
这足以让我们对2006布满想象。
不过,还是让我们先回顾下2005吧……
1.2005 之 Java 对手
过去的2005,Java无疑是最受欢迎的语言。但是Java也面临其他语言的挑战,其中BrUCe A. Tate,在一文中,提出了有可能挑战Java开发的4种技术,包括动态语言,Continuation,Conventions,元编程等。
Ruby可以说是最有可能挑战Java的语言,刚刚发布的Rails1.0引起了Fans的疯狂。Rails会不会是下一代伟大的框架?有可能。要做一个选择的话,Rails应该会是在使用Ruby或是其他动态编程语言的元编程框架潮流中的第一个。但是Java已经开始引进Ruby的特性了,比如Trails,Groovy.
2.2005 之 Java 新玩意
。Drools:Drools 是一个基于Charles Forgy's的Rete算法的,专为Java语言所设计的规则引擎。Rete算法应用于面向对象的接口将使基于商业对象的商业规则的表达更为自然。Drools是用Java写的,但能同时运行在Java和。Net上。Drools提供了声明式程序设计(Declarative Programming),并且使用域描述语言(Domain Specific Languages (DSL))。Web和持久层框架我们已经有很多选择了,但是处在中间层的商务逻辑有好的框架吗?你希望每次经理给你一个新的命令就不得不重编译那些复杂的if …… then 意大利面条代码吗?Drools- 商务逻辑框架的选择这篇文章中,保罗布朗推荐的Drools的规则引擎或许是完成这类任务的最好选择;为你的基于SPRING的应用增加简单规则引擎描述如何为流行的Spring框架开发简单的规则引擎;在你的企业级java应用中使用Drools一文则向你展示如何在企业级Java应用中使用Drools.
。Portlet:“Portlets是一种Web组件-就像servlets-是专为将合成页面里的内容聚集在一起而设计的。通常请求一个portal页面会引发多个portlets被调用。每个portlet都会生成标记段,并与别的portlets生成的标记段组合在一起嵌入到portal页面的标记内。”(摘自Portlet规范,JSR 168)。2005,Portlet框架层出不穷。什么是Portlet ?让你的Portlet之旅从这里开始。
。Ajax:2005年,还有什么比Ajax更火呢?Ajax兴起, 传统Web框架将走向何方? 引起广泛讨论,一度让人感受到了Ajax的凶猛之势。虽然Ajax和Java没有直接关系,但是毫无疑问Ajax也是Java界关心的东西。Ajax: Web应用的新方法介绍了这个将令人们兴奋的技术。
Ajax的应用也层出不穷,比如Google就成功地使用了Ajax.用AJAX来控制书签和回退按钮告诉我们如何用AJAX来控制书签和回退按钮。
一系列框架也随之而出来,比如DWR, Ajaxanywhere,Ajaxtags.其中:DWR让AJAX如此简单展示DWR如何使得AJAX的应用既简单又快捷。初探AjaxTags展示如何使用Ajaxtags进行Ajax开发。
。SOA:当然,2005不仅是框架,2005还有SOA,BEA, IBM, Oracle…… 一家又一家企业公布了他们的SOA方案, 宣称他们的产品支持SOA功能。 SCA和SDO也将组成新的SOA编程模型。SCA和SDO将组成新的SOA编程模型说明了如何在实现了J2EE1.4规范的应用服务器之间,比如Oracle Application Server 10g,使用J2EE1.4建立可互操作的,轻便灵活的服务;SOA架构中的事件驱动服务讨论使用Mule实现一个高效的事件驱动和面向服务的平台; 面对SOA, 你预备好了吗?
。RPC:Web应用的RPC方式调用,随着Web2.0的兴起,RPC方式逐渐成为Web调用的一种方式。
。分布式组件开发:在一个分布式应用当中,提供一个统一对外接口,通过可重用的外部API来满足需求。Java组件开发:一个概念框架提出了一个构建概念框架地解决方案。