2004年Java世界发生了巨大变化,主要方面是诞生和发展了几个新名词:IOC 、AOP、SOA、MDA,当然,除了这些都是决定Java技术未来走向的革命性发展以外,还有很多细部和微观的发展,我们先来谈谈这些重要的细节技术发展。
首先, Java的根基JDK已经跨越到了J2SE 1.5,或者称为J2SE 5.0,不过,我更喜欢称它为1.5,延续性是我们应用程序员更关心的,当然革命性是那些新技术发明者更陶醉的,所以他们曾经取名J2SE 2.0,现在,为了表示这种跨越,而且跨越是非常巨大,一下子达到了J2SE5.0,非常夸张,不过老外在技术上确实经常极端,"偏执者才能生存"我想是其行动主义文化的主要基础。
J2SE1.5 最吸引眼球的我认为主要是annotate特性,该特性可以大大降低程序员的编程量,它和Java Relfect机制结合,可以编制出相当灵活的软件系统或框架。
从J2SE1.5看出,SUN正在试图简化Java,但是也许这一简化动作来得迟了点。
同样,珊珊来迟的是J2EE Web层的一个标准JSF,JSF使得程序员在开发J2EE的Web程序时,能够如同开发SWING那样实现可视化开发,提高了开发效率,但是必须有高级开发工具支持。
由于好东西来得太迟,在一份最近调查中显示,开源项目Struts已经在J2EE实际Web层开发中占据主导地位,Struts在2004年是达到成熟顶点,它的主要特点是将Form表单对象化,同时提供简单的XML标签替代以前Jsp中的Java语言,这样在Jsp中彻底消灭了Java代码,除了Struts,Tapestry这种彻底抛弃Jsp的开源Web框架产品也值得一提,它和WebWork一起成为一颗引人注目的星星。
2004年发生了太多新的激动人心的事情,其中最引人注目的是AOP和SOA的迅速发展,Java世界的发展一直以来是分两条路线,第一条是工业路线,以SUN、IBM、BEA和Oracle等工业巨头为代表的业界标准,当工业巨头制定出EJB 2.0以后,他们认为在JavaBeans技术框架内EJB已经走到极限,基本无需太多发展,因此,他们将关注目光投向软件系统服务功能上,当一个个EJB组件提供了可重用的功能后,如何向不同客户输出这些强大的、可重用的功能呢?是反复安装拷贝这些组件功能?还是以一种服务的方式适时提供全面的租用?SOA面向服务架构因此提出来,并且得到工业界巨头的大量投入和发展,同时,他们还在关注流程的可定制化和可视化开发,通过强大的开发平台,可以很轻松地完成工作流的业务定制和修改。