Sun最近在开始开源,用户也开始严肃地对待Sun的开源政策。
Sun GlassFish在开源的应用服务器中是一个迟迟来到者,不过好象正在开始吸引众多的关注。重要的是,它确实很棒。很多interface21的同事们,包括Costin 和Juergen,都在一览GlassFish后树起了大拇指(虽然我们还没把它引入产品)。从我听到的来说,性能是非常卓越的-可能是由于引入了基于 NIO的servelt引擎,还有JPA实现-Toplink Essentials-基于Toplink引擎,也是性能卓越的。
还有一个重要的事,举例来说,澳大利亚的酒店预定网站Wotif.com引入了GlassFish,以我最近去澳大利亚的所见所闻来看,Wotif是一个和ebay,lastminute.com一样的,广为人知的平台。
自然,Wotif.com也用了Spring.我认为,能够让Sun在企业级JAVA中举足轻重,很大范围上来讲,是因为它把当今世界上很多优秀的研究结果插入自己的主板,并运行。
Sun GlassFish已经在很多方面进行了对Spring的支持,值得关注的是Web services栈。这很有趣,把web services做GlassFish的一部分。
Sun GlassFish 的开发者Kohsuke Kawaguchi最近在博客中谈到了Spring对JAX-WS的支持。它写到了用Spring2.0 namespace处理机进行工作的过程,这非常酷。值得注意的是JAX-WS namespace与Spring beans namespace一起的用法,允许Spring的bean定义配置与JAX一同使用:
- <?xml version="1.0" encoding="UTF-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:ws= "http://jax-ws.dev.java.net/spring/core"
- xmlns:wss="http://jax-ws.dev.java.net/spring/servlet" …>
- <wss:bindings id="jax-ws.http">
- <wss:bindings>
- <wss:binding url="/stockQuote">
- <wss:service><!– nested bean is of course fine –>
- <ws:service impl="foo.MyService">
- <ws:handlers>
- <ref bean="myHandler" />
- </ws:handlers>
- </ws:service>
- </wss:service>
- </wss:binding>
- </wss:bindings>
- </wss:bindings>
- <bean id="myHandler" class="foo.MyHandler" />
- </beans>
这给了Spring远程调用的使用另一条路,Spring直接利用远程技术进行调用,比Spring暴露的services接口更好,不过这也是很好的继承,方便使用。推测,应该允许引入其他Spring配置文件来激活已经存在的bean定义。
Kohsuke加了下面的有趣想法:"自从Spring的支持开始,将可以允许其他的JAX-WS扩展,举例来说我们能配置JMS传送,或者JSON编码,等等"现在Web service可以直接调用Spring提供的:所有配置能力,声明服务以及企业集成。
Spring的支持好象也得到了GlassFish社区的广泛好评。这在Spring社区里应该也是很另人兴奋的,同时,你最喜欢的GlassFish集成入的功能是什么呢?一些功能被WebLogic采用可能是一个好的开始,比如增强的事务管理和JMX/控制台集成.
我们当然也在Spring2.0中做了很多JPA和Toplink Essentials以及GlassFish中的JPA RI和持久化引擎的研究工作,Mike Keith,EJB3.0 的带头人,TopLink和通用ORM的领导开发者,给了我们很多帮助,我们也感觉到了整个TopLink团队的积极配合。
【编辑推荐】