- 浏览: 639824 次
- 性别:
- 来自: 北京
最新评论
-
2047699523:
java hibernate demo使用实例教程源代码下载: ...
hibernate延迟加载的原理与实现 -
在世界的中心呼喚愛:
hantsy 写道这种lazy的解释只对了一半,按java p ...
hibernate延迟加载的原理与实现 -
moguicy:
看了下时间,不是楼主是否还在开发
【翻译】Wicket启示录——理论与实践(一) -
xfan0828:
"最后但并不是最不重要的一点就是" BZ, ...
【翻译】深入浅出 EJB3.1(上) -
doudou87323:
十分感谢,正在学习中,受益匪浅
【翻译】深入浅出 EJB3.1(上)
序
这是一篇很长很长的技术性演讲,但你无法从中得到一行代码。原文:http://www.theserverside.com/tt/knowledgecenter-is/knowledgecenter-is.tss?l=PodcastEdBurns
本周我推荐来自Sun高级工程师Ed Burns在TTS(TheServerSide)上关于JSF整合AJAX的精彩演讲.Ed Burns 作为 Sun Microsystems 的高级工程师,自从 1994 年以来,Ed 参加了各种客户端和服务器端 Web 技术的工作,包括 NCSA Mosaic、 Mozilla、Sun Java Plugin、Jakarta Tomcat 以及最新的 JavaServer Faces。Ed 现在是 JavaServer Faces 的联合带头人。因此Ed与先前我介绍的denny不同,前者来自于官方是规范的制定者,后者来自于“民间”,是规范的实现者,由此可见Ed才是真正直接影响JSF的关键性人物.
现在我简单介绍一下本次演讲的一些背景:
自从第一个web应用程序Struts于2001年6月发布开始,Java世界至今开始了长达7年的框架大战.JSF作为其中web 框架家族的一员,脱颖而出,被JCP青睐,荣登官方web标准.(JSF的主要架构师有Struts作者Craig R.McClanahan).仍然JSF一直发展的很不顺,Struts长期牢牢占据着市场份额,成为现实中的工业标准;而EJB2.0的没落,Spring,Hibernate的兴起更是让所谓的官方标准长期备受冷落.当Java开发者们为SSH整合而乐此不疲的时候,Sun带着它的JavaEE5又重新杀了回来,EJB3.0+JSF1.2(或EJB3.0+Seam)作为官方推荐的超级组合仍然没有从根本上撼动强大的开源社区,SSH仍然是Java企业级开发的第一选择.
但是!!!技术总是在不断向前发展的,我是一个Struts2的忠实拥护着,但最近也对Struts2感到有些不安,原因是Struts2是在Webwork的基础衍化而来,但你如果使用过Struts2的话,你会发现它其实与Webwork几乎没有什么区别,也就是说Struts2相对于Webwork没有根本的突破,最重要的是Struts2最近发布越来越慢,到今天为止Struts2.0.11版本已经发布大半了,仍然没有半点声响.而JSF最近却动作频频,MyFace新版本的发布,ICESoft无比强大的JSF组件的发布,以及Seam2.0中的Web框架就是JSF证明Sun这一次绝对是玩真的了.在我翻译的文章中《[翻译] Rod Johnson 为什么没有公司大到足够去拒绝开发人员他们所想得到的东西》,表明Sun越来越看重社区的力量,活跃的社区才代表你的技术真正被人接受认可,而并非几个少数寡头专家躲在“象牙塔”里研究那些过于复杂笨重的高深技术,所以Sun力挺JSF的真正原因还是想吸引大量的开发人员来壮大其社区,实际上Sun除了Java语言本身外,没有什么特别成功的东西:我们开发最常用的是Eclipse,技术是SSH,应用程序器开源的是Tomcat,商业的是Weblogic或Webshpere.但不要以为Sun真会傻到看不这些缺点,Soralar10, Netbeans6.0的推出,EJB3.1规范(草案快要出来了)的简洁,应用服务器GlassFish的支持,还有刚刚购买的MySQL,你会发现Sun这一条开发产品线非常齐全,而且比先前的有更明显的优势,所以Sun现在缺少的不再是技术,而是“天时,地利,人和”中的人和,如果挽回当年的EJB2.*之痛,还是需要时间的.
在我的另一篇文章《从职位中预测2008年Java框架之争》里,JSF如今已经有所起色了,相对于EJB3.0,JSF似乎更容易得到推广.JSF除可与EJB整合外,还可以与目前最流行的应用程序框架Spring进行整合,并且无论是从组件数量,还是供应商的支持来说,JSF都是最有优势的.因此本次演讲的作者Ed Burns以Sun的身份,不遗余力的借助于近年来最火爆的AJAX技术,向开发者们推广JSF.因此JSF作为Sun大举进攻开源社区的一个切入点,如果还能再加上EJB3.1 Lite(EJB3.1子集,可直接布署在Servlet容器上)的话,无疑会对当前的主流技术造成很大的冲击.但无论如何,作为Java Web开发人员,也许你根本对JSF毫无兴趣,或者觉得这只是一个官方的炒作,但了解技术的趋势总是需要的.那么我们开始正文吧。
正文
那么我所指的AJAX,也在这里告诉给大家吧:web应用程序通过使用异步机制与服务端进行交互,并且动态更新浏览器所显示页面的外观和行为.这么来定义AJAX我觉得还是有稍稍有点生硬.如果你与ICEsoft接触过,你会发现他们已经有了AJAX的“推”模式,使用了大量技术可以异步的将内容通过浏览器发送出去.大家熟知的Comet就是这种编程模式的一种实践,它在与AJAX整合时非常有用,不过今天我没有在幻灯片上提供任何关于它的信息,但是可以很明确地的说:Comet就是为与AJAX整合,当然也包括与JSF的整合.
好了,说完了本次演讲的目的后,正式开始我们今天的议程吧.为什么JSF要与AJAX整合?为什么我会强调AJAX对于web应用程序来说是必须的?JSF和AJAX的整合方法有很多.其中JSF本身的设计和特性就使得它适合协同AJAX进行开发.下面是我们调查到的一些问题和解决方案.
一个解决这些问题的方案来自于Project Dynamic Faces(JSF的一个AJAX扩展)和MCP(Mozilla Control Program,使用JUnit或TestNG来自动测试web应用程序的一个包).这是一个很早就有的解决方案,当时我还在www.mozilla.org工作时已经有些Alpha级的技术来自动测试AJAX程序.现在我手头上有一些关于它的demo,今天我们就在TheServerSide的大屏幕来测试一下.(然后作者在屏幕前,当场使用demo来测试所提到的Project Dynamic Faces和MCP).
所有的web应用程序必须经过下列过程.为确保万无一失(motherhood applepie:美国黑话或政治家惯用的说语),你需要进行数据转换和数据验证,需要一种机制来指定页面流程(page flow),需要整合数据库.当然,你也许还会用持久层技术,比直接就可用的JAP和Hiberante.你还需要alphabet soup,国际化,本地化,以及易于访问.而这说到的最后一点,自AJAX它诞生以来,就一直是开发人员的痛.AJAX的反对者们大声嚷嚷:“好啊,你别想向政府部门卖出任何AJAX应用程序,因为有Section 508法案(请看注1).”的确,有大量的实事摆在了面前,但不管怎么样,web应用程序必须是易于访问的.即使当你在制作页面的时候,你也需要考虑到对多语言的支持,以及基于CSS的样式设计.同样,它还需要保证,不管在单元测试还是系统测试级别上都要求是可测试的.最后一点就是用户体验了,所有这一切来来回回最终还是从开发人员到测试人员然后再到达最终用户.
现在,(列在屏幕上)各种不同整合JSF和AJAX的方法都是为了降低复杂度。我现在为这些解决方案亮起了红灯。(这些解决方案都)有很多的赞成和反对的声音,但亮起的红灯表明反对占了上风。那么我要说的第一个整合JSF的方式就是直接使用Naked AJAX(未经过任何封装的AJAX),你打算一切靠自己,什么都打算自己写! Frank Zammetti写了一本书,他发明了“Naked AJAX”这个术语,指的是你不使用任何AJAX框架,全部由自己亲自来完成。如果你这么做,你会深入的理解AJAX底层的技术,因此很可能你在职业上炙手可热并且这也一切也确实是你想要得到的话,那么我不得不说你太有才了。
你必须亲自处理所有的使用XMLHttpRequest的交互请求,这就要求你有扎实的JavaScript基本功,使用SetTimeout函数等以及一系列常人所不愿意使用的技术。到时候,你还不得不去解决跨浏览器之痛,而这种痛苦对于web开发人员来说已经持续多年,最后为了与它有一个了断,你还是陷入了开发自己框架的沼泽之中。
第二个解决方案显得更高级些,因为你使用了JavaScript框架。现在已经有大量可用的JS框架充斥在我们周围,比如Dojo,DWR,Prototype等,这些框架也是今天要讨论的内容。但使用这些JS框架的话,你仍然需要去为你的web应用程序编写代码,而且一旦在JSF中使用了某个JS框架(比如说Dojo)的话,你又要去编写那些侵入性代码了。
未完待续........
注1: Section 508是美国政府基于互联网协会的网页内容无障碍指导原则所制定的强制性法案,它规定了所有由联邦政府发展、取得、维持或使用的电子和信息技术都必须保证对残疾人群的无障碍。
评论
别忘了Sun是标准的制定者,加入俱乐部都是要交会费的!不要只看表面的东西。
先收藏了..
人们更乐于接受来自工业验证的东西
根据注释1来看,似乎是要达到对残疾人的无障碍浏览的目的。
还是没明白-_-!
发表评论
-
【翻译】深入浅出 EJB3.1(下)
2009-05-07 23:37 8913Global JNDI names( 统一的 全局 ... -
【翻译】深入浅出 EJB3.1(上)
2009-05-06 20:59 11164终于有空将EJB3.1的最新文章与大家分享,原文请看: ht ... -
【翻译】Java EE 6体系结构的变革
2009-02-09 10:01 4527又看到 Reza 同学为 -
【翻译】Java EE 6体系结构的变革(完)
2009-02-09 10:00 6473JSF 2.0 尽 ... -
垃圾收集器是一个“宝贝收藏家”?
2008-11-25 23:58 3081原文请看:http://java.dzone.com/ar ... -
深入理解JBoss Cache3.0——Naga
2008-11-12 09:12 9744原文请看: http://java.dzone.com/ ... -
【翻译】Rod Johnson——关于当选JCP执行委员会的之言片语
2008-11-03 10:42 3192SpringSource 在上月底被宣布被加入 JCP ... -
【翻译】EJB3.1真的来了吗?EJB3.1系列文章(五) 终章
2008-10-16 14:37 9229历时9 个多月的EJB3.1 系列文章终于要划上圆满的句 ... -
【翻译】Rod Johnson——平衡的质疑:Spring维护策略的再次调整(完)
2008-10-09 09:33 4073不管你承不承认,Spring实际上已经是实事上JAVA企业开 ... -
【云计算专家Joseph Ottinger系列】应用服务器本质论
2008-09-08 08:58 3483原文请看: http://www.t ... -
Spring破坏了JEE规范吗?
2008-09-02 13:33 4095[TTS 编辑注:这是 TTS 论坛上的原帖。我现在把它 ... -
【翻译】spring配置全书(下)——附PDF完整版下载
2008-07-14 12:30 10844JMS 命名空间简介 Schema URI ... -
【翻译】spring配置全书(上)
2008-07-07 23:11 8952作者简介: Craig Walls 是 Texa ... -
【翻译】EJB3.1真的来了吗?EJB3.1系列文章(四)
2008-06-18 23:10 38219前言 Raza 同学终于又出 EJB3.1 文章了 ... -
【翻译】Rod Johnson——Spring的宣言:开源,开放(完)
2008-06-10 16:51 5617前言 这是本文的第二部分,里面提到并回答许多Spring用 ... -
【翻译】Rod Johnson——Spring的宣言:开源,开放
2008-06-06 13:06 6117原文地址: http://blog.sp ... -
【翻译】EJB3.1真的来了吗?EJB3.1系列文章(三)
2008-05-01 13:53 8841文本继续和大家分享EJB3.1特性,今天谈到的EJB Lite ... -
【Danny hui】运用抽象工厂模式自己动手写一个IoC
2008-04-23 16:34 6360本文的作者Danny hui似乎是TTS上的新人,我从Goog ... -
【翻译】Wicket启示录——理论与实践(三)完
2008-04-11 01:09 6287接下来,我们再看看EditContact类,把新建联系人的话和 ... -
【翻译】Wicket启示录——理论与实践(二)
2008-04-09 23:47 5890第二部分 实践 Application(应用程序) 与 ...
相关推荐
经典JAVA EE企业应用实战基于WEBLOGIC JBOSS的JSF+EJB 3+JPA整合开发——源码.part1 其他部分详见我的上传列表,全部分卷下载完成才能解压。 本书介绍了Java EE规范的三大主要规范JSF、EJB 3和JPA,其中JSF是Sun...
经典JAVA EE企业应用实战基于WEBLOGIC JBOSS的JSF+EJB 3+JPA整合开发——源码第3章 其他部分详见我的上传列表 本书介绍了Java EE规范的三大主要规范JSF、EJB 3和JPA,其中JSF是Sun公司提供的JSF RI;EJB 3部分则包含...
经典JAVA EE企业应用实战基于WEBLOGIC JBOSS的JSF+EJB 3+JPA整合开发——源码第6章 其他部分详见我的上传列表。 本书介绍了Java EE规范的三大主要规范JSF、EJB 3和JPA,其中JSF是Sun公司提供的JSF RI;EJB 3部分则...
经典JAVA EE企业应用实战基于WEBLOGIC JBOSS的JSF+EJB 3+JPA整合开发——源码第9章 其他部分详见我的上传列表。 本书介绍了Java EE规范的三大主要规范JSF、EJB 3和JPA,其中JSF是Sun公司提供的JSF RI;EJB 3部分则...
经典JAVA EE企业应用实战基于WEBLOGIC JBOSS的JSF+EJB 3+JPA整合开发——源码.part5 其他部分详见我的上传列表,全部分卷下载完成才能解压。 本书介绍了Java EE规范的三大主要规范JSF、EJB 3和JPA,其中JSF是Sun...
经典JAVA EE企业应用实战基于WEBLOGIC JBOSS的JSF+EJB 3+JPA整合开发——源码第14章 其他部分详见我的上传列表。 本书介绍了Java EE规范的三大主要规范JSF、EJB 3和JPA,其中JSF是Sun公司提供的JSF RI;EJB 3部分...
经典JAVA EE企业应用实战基于WEBLOGIC JBOSS的JSF+EJB 3+JPA整合开发——源码.part2 其他部分详见我的上传列表,全部分卷下载完成才能解压。 本书介绍了Java EE规范的三大主要规范JSF、EJB 3和JPA,其中JSF是Sun公司...
经典JAVA EE企业应用实战基于WEBLOGIC JBOSS的JSF+EJB 3+JPA整合开发——源码.part3 其他部分详见我的上传列表,全部分卷下载完成才能解压。 本书介绍了Java EE规范的三大主要规范JSF、EJB 3和JPA,其中JSF是Sun公司...
经典JAVA EE企业应用实战基于WEBLOGIC JBOSS的JSF+EJB 3+JPA整合开发——源码.part4 其他部分详见我的上传列表,全部分卷下载完成才能解压。 本书介绍了Java EE规范的三大主要规范JSF、EJB 3和JPA,其中JSF是Sun...
经典JAVA EE企业应用实战基于WEBLOGIC JBOSS的JSF+EJB 3+JPA整合开发——源码第二章 其他部分详见我的上传列表。 本书介绍了Java EE规范的三大主要规范JSF、EJB 3和JPA,其中JSF是Sun公司提供的JSF RI;EJB 3部分...
经典JAVA EE企业应用实战基于WEBLOGIC JBOSS的JSF+EJB 3+JPA整合开发——源码第13章 其他部分详见我的上传列表。 本书介绍了Java EE规范的三大主要规范JSF、EJB 3和JPA,其中JSF是Sun公司提供的JSF RI;EJB 3部分...
经典JAVA EE企业应用实战基于WEBLOGIC JBOSS的JSF+EJB 3+JPA整合开发——源码第10章 其他部分详见我的上传列表。 本书介绍了Java EE规范的三大主要规范JSF、EJB 3和JPA,其中JSF是Sun公司提供的JSF RI;EJB 3部分...
经典JAVA EE企业应用实战基于WEBLOGIC JBOSS的JSF+EJB 3+JPA整合开发——源码第7章 其他部分详见我的上传列表。 本书介绍了Java EE规范的三大主要规范JSF、EJB 3和JPA,其中JSF是Sun公司提供的JSF RI;EJB 3部分则...
经典JAVA EE企业应用实战基于WEBLOGIC JBOSS的JSF+EJB 3+JPA整合开发——源码第5章 其他部分详见我的上传列表。 本书介绍了Java EE规范的三大主要规范JSF、EJB 3和JPA,其中JSF是Sun公司提供的JSF RI;EJB 3部分则...
经典JAVA EE企业应用实战基于WEBLOGIC JBOSS的JSF+EJB 3+JPA整合开发——源码第4章 其他部分详见我的上传列表。 本书介绍了Java EE规范的三大主要规范JSF、EJB 3和JPA,其中JSF是Sun公司提供的JSF RI;EJB 3部分则...
经典JAVA EE企业应用实战基于WEBLOGIC JBOSS的JSF+EJB 3+JPA整合开发——源码第11,12,15章 其他部分详见我的上传列表。 本书介绍了Java EE规范的三大主要规范JSF、EJB 3和JPA,其中JSF是Sun公司提供的JSF RI;...
Seam、JSF、RichFaces 和 Ajax4jsf 是四个重要的Java Web开发框架和技术,它们在构建现代、交互式Web应用程序中发挥着关键作用。让我们深入探讨这些技术及其结合使用时的知识点。 **1. Seam** Seam是一个开源的Java...
《Spring+JSF+Hibernate+Ajax 电子商务系统详解》 在现代互联网开发中,构建一个高效、可扩展的电子商务系统是至关重要的。本系统采用了一种流行的技术栈——Spring、JavaServer Faces (JSF)、Hibernate和Ajax,来...
在IT行业中,JavaScript Server Faces(JSF)是一种用于构建企业级Web应用的Java框架,它提供了组件模型和事件驱动的编程模型。结合Spring框架,我们可以实现更灵活的依赖注入和服务管理,而Hibernate则是流行的ORM...
经典JAVA EE企业应用实战 基于WEBLOGIC JBOSS的JSF+EJB 3+JPA整合开发.part2