Java EE 5.0 规范的笔墨在EJB3.0与Web Service上,随着万众期待的Struts2.0揭开面纱,Java在Web应用开发上便变得沉闷乏味起来。
在JavaOne2007 上有篇 The Future of the Java Technology Web Tier宣讲了Sun的Servlet 3.0、REST、Comet计划,在大家渐渐失望的时候,又在前面吊了一个红萝卜。Servlet 3.0
Infoq 中文站:Sun向JCP提交了Servlet3.0规范
Infoq 英文站:Sun Submits Servlet 3.0 Specification to JCP
-
Annotation标注的servlets,可编程访问并动态改变的web.xml,使得以往经常需要重启的web应用配置终于拥有了动态特性,web framework们拥有了热插拔的能力。
-
Async and Comet support。
-
RESTul?Service。
-
一堆看上去也不错的特性,如file upload。
Sun,IBM,BEA,Oracle,Apache,RedHat,Interface21加上Hani Suleiman和Jason Hunter作为初始的专家组,Jetty的Greg Wilkins作为支撑成员。
Grizzly, Tomcat and Jetty 会对Comet API Review. Struts Shale, DWR, Spring Web Flow, Wicket会对可插拔Web Framework进行Review,看起来挺民主的。
Comet
??? 又一个新词,服务端在事件发生时主动向客户端推送--比如股票价格,聊天室信息,比客户端定时轮询服务器,在模型上高得多。但这种HTTP的PUSH的方式实际上有着重重困难如长连接的资源消耗,否则也早大规模实现了。
??? Cometed with Jetty ,Advanced IO and Tomcat 6.0? ,Glassfish的Grizzy子项目 ,三个项目在NIO的基础上分别用自己的方法作了支持,而Non-blocking input/output,Delay request handling/response close,Blocking - Non-blocking notification是Servlet 3.0的统一要求。
????Comet实现的新选择?(dlee)
????Real-World Comet-Based Applications(Javaone2007)
REST
???? REST作为最轻量级的Service方案(轻的,谁都会写的Service方案--REST与JSON),本来需要框架辅助的东西就不多。如果硬说有,就是URL Mapping,并分拆URL中的参数,以及结果集的转换。Cetia4就是作类似的东西,但在又冒出一堆的REST框架来之前,Servlet3.0先规范一下无疑是好的,真的被无数MVC框架吓怕了。
public?class?MyRestService?{
????@HttpMethod
????@ProduceMime(“application/jpeg”)
????public?InputStream?getImage(?@UriParam(“imageid”)?String?imageId){
??????????...
????}
}
其他方向
-
Ajax继续发展:Dojo,Yahoo,Spry,Scriptaculous,GWT。
-
Mashup:Web2.0 与Portal的发展进入Mashup时代。Blueprints for Mashups: Practical Strategies, Tips, and Code for Designing and Building(Javaone2007)
-
Feeds (RSS/Atom)继续发展:Yahoo pipes, Google Data,尤其是Atom,IETF的feed format 与publishing protocol, not only for blog。Project有ROME、ROME-Propono、Abdera。
-
Scripting:在Server端用Script如Javascript编程。Sun的Phobos项目,Project Phobos: Server-Side Scripting for the Java Platform(Javaone2007)
Cetia4在简化Java Web开发方面,要比现有的主流Java Web MVC框架都要好,这主要是因为两个原因:
1. 大量使用Annotation代替XML配置,并且使用明智选择的、直观的默认配置,使得开发者必须要写的配置降低到最少。
2. REST和面向资源的设计是一种对于服务器更加有效的抽象方式,可以得到更加有效的交互风格。
Java的问题是,在很多地方,意识到复杂性才是最大的问题,并且需要改变,这个时候已经太晚了。为了要等待遥遥无期的共产主义的实现,而不得不忍受现在的种种丑恶现象,还不如花上一个月学习成本,转到Ruby上面。
我现在越来越理解为何Java并不是开源社区最受欢迎的语言了,甚至还普遍遭到排斥。开源社区最受欢迎的语言,三年前是Python,现在是Ruby。它们在很多方面都要比Java强,尤其是开发效率。动态类型的语言已经胜利了,这就是现实。
复杂的东西可以通过js调用java
http://www.iteye.com/topic/94841
出口转内销?
Cetia4在简化Java Web开发方面,要比现有的主流Java Web MVC框架都要好,这主要是因为两个原因:
1. 大量使用Annotation代替XML配置,并且使用明智选择的、直观的默认配置,使得开发者必须要写的配置降低到最少。
2. REST和面向资源的设计是一种对于服务器更加有效的抽象方式,可以得到更加有效的交互风格。
Java的问题是,在很多地方,意识到复杂性才是最大的问题,并且需要改变,这个时候已经太晚了。为了要等待遥遥无期的共产主义的实现,而不得不忍受现在的种种丑恶现象,还不如花上一个月学习成本,转到Ruby上面。
我现在越来越理解为何Java并不是开源社区最受欢迎的语言了,甚至还普遍遭到排斥。开源社区最受欢迎的语言,三年前是Python,现在是Ruby。它们在很多方面都要比Java强,尤其是开发效率。动态类型的语言已经胜利了,这就是现实。
好像java最近才开源的说?
Cetia4在简化Java Web开发方面,要比现有的主流Java Web MVC框架都要好,这主要是因为两个原因:
1. 大量使用Annotation代替XML配置,并且使用明智选择的、直观的默认配置,使得开发者必须要写的配置降低到最少。
2. REST和面向资源的设计是一种对于服务器更加有效的抽象方式,可以得到更加有效的交互风格。
Java的问题是,在很多地方,意识到复杂性才是最大的问题,并且需要改变,这个时候已经太晚了。为了要等待遥遥无期的共产主义的实现,而不得不忍受现在的种种丑恶现象,还不如花上一个月学习成本,转到Ruby上面。
我现在越来越理解为何Java并不是开源社区最受欢迎的语言了,甚至还普遍遭到排斥。开源社区最受欢迎的语言,三年前是Python,现在是Ruby。它们在很多方面都要比Java强,尤其是开发效率。动态类型的语言已经胜利了,这就是现实。
好像java最近才开源的说?
JAVA一直都是开源的,只是JVM才是最近开源而已