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面向服务架构因此提出来,并且得到工业界巨头的大量投入和发展,同时,他们还在关注流程的可定制化和可视化开发,通过强大的开发平台,可以很轻松地完成工作流的业务定制和修改。 当业界巨头关注重点从javabeans结构转移时,一种新的设计思想和编程风格aop(面向方面编程)诞生了,面向方面编程是oop面向对象编程的延续,aop于2003年底已经在国外热起来,到了2004年应该算是全面开花,各种aop产品如jboss 4.0、spring、aspectwerkz等迅速诞生和发展,带给程序员全新的概念和理念冲击,aop编程方法可以应用在软件开发的各个领域,当你发现某个功能具有普遍性和通用性以后,那么这个功能也许可以使用aop实现,这样你的代码优雅,同时可维护性和拓展性大大增强。
ioc反转控制应该说有着aop类似解耦思路,通过ioc模式或容器,可以比较彻底分离javabeans之间的调用和被调用关系,达到真正地面向接口编程,是ioc使的面向接口编程变得更具有意义而且重要,ioc的产品如纯洁的picocontainer以及spring等等。
开源和业界标准的分歧不仅仅体现在javabeans体系发展上,还体现在对象持久化方式上,在2004年有三种流行的对象持久化在被广泛使用:ejb的cmp、hibernate和jdo,这三者之间的区别和联系也是很多程序员津津乐道的,特别是hibernate的创始人gavin king不断对jdo的质疑,使的hibernate名气大升,也使的jdo一直未能够进入ejb的持久化标准,spring+hibernate架构以及使用基于jboss的ejb架构成为低成本高质量j2ee流行架构。
这种"混乱"的局面下,ejb 3.0标准preview方案被2004年java one大会首次提出,ejb 3.0试图取悦那些轻量方案的追随者,同时又能兼顾过去ejb标准的系列发展,jboss迅速地提供了对ejb3.0支持包,其中我们看到了gavin king这位斗士的身影。
同时,hibernate向何处去是我们应用系统程序员关心的,struts 2.0正在向jsf标准靠拢和迁移,hibernate是否能够一直孤军作战?目前一项旨在统一j2ee持久层技术的标准方案正在启动中,我们期望简单统一的持久层方案出台,减少程序员选择迁移之苦。
2004年又是java世界吵闹的一年,有的程序员说:现在学java却越学越糊涂,看了很多东西,不但大脑里没有头绪,反而有种走火入魔的感觉,因为各种技术派别都在争夺话语权,话语权的争夺意味着商机的诞生,jboss和spring的开发团体先后转为商业公司是一个证明。对于应用者来说,没有永远的解决方案,只有合适的工具,java世界提供给你的是工具箱,而非一种选择,需求是选择工具的唯一原因。
让我们视野从j2ee思想和技术之争转移到需求分析领域的领域,在这个领域一直也存在两种意见:面向数据表分析还是面向模型分析?也就是说,建立一个新的系统,是先分析设计数据表还是模型,前者是以前数据库系统经常采取的方式,但是这一传统的方式目前也受到oo对象的冲击,mda(面向模型分析)在2004年成熟开花,各种java成品也如雨后春笋一样遍地开花,mda思想提出了极端观点:将来只有建模专家(其它程序员都变成蓝领工人了),只要建模专家通过uml设计出一个系统的模型,通过特定的java mda工具就可自动生成相应的代码,好像真的不需要普通程序员了。
结束语
总之,2004年的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面向服务架构因此提出来,并且得到工业界巨头的大量投入和发展,同时,他们还在关注流程的可定制化和可视化开发,通过强大的开发平台,可以很轻松地完成工作流的业务定制和修改。 当业界巨头关注重点从javabeans结构转移时,一种新的设计思想和编程风格aop(面向方面编程)诞生了,面向方面编程是oop面向对象编程的延续,aop于2003年底已经在国外热起来,到了2004年应该算是全面开花,各种aop产品如jboss 4.0、spring、aspectwerkz等迅速诞生和发展,带给程序员全新的概念和理念冲击,aop编程方法可以应用在软件开发的各个领域,当你发现某个功能具有普遍性和通用性以后,那么这个功能也许可以使用aop实现,这样你的代码优雅,同时可维护性和拓展性大大增强。
ioc反转控制应该说有着aop类似解耦思路,通过ioc模式或容器,可以比较彻底分离javabeans之间的调用和被调用关系,达到真正地面向接口编程,是ioc使的面向接口编程变得更具有意义而且重要,ioc的产品如纯洁的picocontainer以及spring等等。
开源和业界标准的分歧不仅仅体现在javabeans体系发展上,还体现在对象持久化方式上,在2004年有三种流行的对象持久化在被广泛使用:ejb的cmp、hibernate和jdo,这三者之间的区别和联系也是很多程序员津津乐道的,特别是hibernate的创始人gavin king不断对jdo的质疑,使的hibernate名气大升,也使的jdo一直未能够进入ejb的持久化标准,spring+hibernate架构以及使用基于jboss的ejb架构成为低成本高质量j2ee流行架构。
这种"混乱"的局面下,ejb 3.0标准preview方案被2004年java one大会首次提出,ejb 3.0试图取悦那些轻量方案的追随者,同时又能兼顾过去ejb标准的系列发展,jboss迅速地提供了对ejb3.0支持包,其中我们看到了gavin king这位斗士的身影。
同时,hibernate向何处去是我们应用系统程序员关心的,struts 2.0正在向jsf标准靠拢和迁移,hibernate是否能够一直孤军作战?目前一项旨在统一j2ee持久层技术的标准方案正在启动中,我们期望简单统一的持久层方案出台,减少程序员选择迁移之苦。
2004年又是java世界吵闹的一年,有的程序员说:现在学java却越学越糊涂,看了很多东西,不但大脑里没有头绪,反而有种走火入魔的感觉,因为各种技术派别都在争夺话语权,话语权的争夺意味着商机的诞生,jboss和spring的开发团体先后转为商业公司是一个证明。对于应用者来说,没有永远的解决方案,只有合适的工具,java世界提供给你的是工具箱,而非一种选择,需求是选择工具的唯一原因。
让我们视野从j2ee思想和技术之争转移到需求分析领域的领域,在这个领域一直也存在两种意见:面向数据表分析还是面向模型分析?也就是说,建立一个新的系统,是先分析设计数据表还是模型,前者是以前数据库系统经常采取的方式,但是这一传统的方式目前也受到oo对象的冲击,mda(面向模型分析)在2004年成熟开花,各种java成品也如雨后春笋一样遍地开花,mda思想提出了极端观点:将来只有建模专家(其它程序员都变成蓝领工人了),只要建模专家通过uml设计出一个系统的模型,通过特定的java mda工具就可自动生成相应的代码,好像真的不需要普通程序员了。
结束语
总之,2004年的java技术带给我们更多的是激动和压力,新技术发展以月计算,作为程序员的我们如何跟上这些新技术发展,同时能够选择正确的技术引入我们自己的应用系统,这些才是我们的真正挑战。
闽公网安备 35060202000074号