首页  韩国资源  酷站加油  我的展厅  设计名站  古典元素  推荐下载  设计欣赏  每周专访  招募精英  人才专区  网页教程  平面设计  编程开发  设计竞赛
当前位置:首页 > 编程开发 > JSP教程 > 正文
Google
J2EE Web的新变革:Apusic OperaMasks
来源:68design.net 2007年08月04日 10:34 网友评论:0条 点击:

Apusic OperaMasks――开箱即用的Web Framework,它以JSF为基础引擎,辅以独创的原生Ajax技术,同时提供丰富的组件和集成开发环境,使Web开发变得简单方便。无论是后台的事务、存储、分布式计算等基础服务,还是前端的UI展现与用户交互,以及后台与前端的会话过程,Apusic OperaMasks都提供了完整的解决方案,有效解决Web开发所面临的问题。

1.Standard & Open!

J2EE是一个开放的社区,是一个允许各种技术百花齐放、百家争鸣的社区,同时,也是一个遵循标准、推崇标准的社区。与.net相比,J2EE的标准是开放的标准,它并不是掌握在少数人或者少数厂商的手里,而是允许并鼓励人们参与标准的制定,并通过标准来规范与约束不同厂商的实现,从而有效保护客户的IT投资。

Apusic OperaMasks首先是标准的,它遵循并实现JSF规范,任何基于JSF技术构建的Web应用,都能够平滑移植到Apusic OperaMasks上;同时,它又是开放的,所有的源码,以及OperaMasks整个开发过程,全部通过开源社区OperaMasks.org进行。

那么,作为底层支持技术,JSF是否能够承担起“下一代J2EE Web开发框架”之重任?同样,有了标准与开放,是否就意味着Apusic OperaMasks能够引领Web开发技术的新潮流呢?

2.From the earth to the moon, and ready for Mars!

Apusic OperaMasks是一种不依赖任何具体展现技术的解决方案,它支持现有的Web标准,譬如HTML与WML,同时也为将来可能出现的新技术、新标准做好了准备。在Apusic OperaMasks中,所有的UI元素被封装成Component,而Component通过Render Kit进行界面的渲染,当系统需要支持其它展现层技术时,只需要替换Render Kit即可实现。

当AJAX出现之后,人们意识到Web应用可以更加丰富多彩,于是各种RIA技术方案层出不穷,目的是要在AJAX这种“过渡”技术的思想指引之下完成下一代Web技术的变革。面对未来可能的新技术,很多用户和开发者在迷茫中观望,对JSF并没有抱多大的热情,认为JSF也是行将被淘汰的技术。事实上这种概念是错误的,JSF是一种和具体展现技术无关的技术。在Apusic OperaMasks中唯一和具体展现相关的部分是Render Kit,而Render Kit的可插拔的性质决定了Apusic OperaMasks可以适应目前和将来的大多数RIA技术。每当一种新的RIA技术出现时,只需要针对这种RIA技术编写一个Render Kit,这种新的RIA技术立即就能在Apusic OperaMasks中获得支持,而以前所写的应用不需要做任何修改。

Apusic OperaMasks为任何新的展现层技术做好了准备!

3.Ajax Everything!

Ajax是当今红得发紫的技术,它改变了人们对传统Web应用的不佳印象,但同时,它的开发成本与维护成本过高。于是乎,各种各样的Ajax组件与框架应运而生。与Apusic OperaMasks相比,这些Ajax组件与框架所解决的问题,是简化Ajax的开发;Apusic OperaMasks则是使Ajax变得透明,是“干掉”了Ajax,用户甚至不需要知道Ajax的存在,而应用是自然而然的Ajax Enable的应用。

3.1 与其它JSF引擎相比

Apusic OperaMasks是世界上第一个“原生支持Ajax”的JSF引擎。其它常规JSF引擎(譬如MyFaces)往往是通过提供一些特殊组件库来完成对Ajax的支持,而Apusic OperaMasks则在引擎级别提供了对Ajax的原生支持。

举个简单的例子,在MyFaces中,为了达到Ajax效果,需要利用Sandbox子项目或者其它扩展组件,常规的标准JSF组件永远无法具备Ajax特性。但这些标准JSF组件,却可以在Apusic OperaMasks引擎上获得截然不同的效果:任何利用标准JSF组件构建的应用,只需要配置一个参数,就能够在Apusic OperaMasks引擎上获得完整的Ajax特性,包括与服务器端的异步交互、页面的局部刷新等。


<application>
    <default-render-kit-id>AJAX</default-render-kit-id>
</application>
换言之,仅仅将上述参数中的default-render-kit-id置成AJAX,Apusic OperaMasks就能够让标准的JSF应用具备Ajax特性!

有点像变魔术?Apusic OperaMasks是如何做到的?

我们说过:Apusic OperaMasks is “from earth to the moon, and ready for Mars”。Apusic OperaMasks不仅提供了默认的HTML_BASIC的Render Kit,还提供了内置的Ajax Render Kit。因此,我们只需要将系统默认Render Kit置成Ajax Render Kit,整个应用就自动变成Ajax Enable的应用!

3.2 与其它Ajax组件库的区别

Ajax组件库是为了简化Ajax的开发(譬如ajax4jsf),而Apusic OperaMasks则是“干掉了”Ajax。对OperaMasks的用户来说,应用对Ajax的支持是透明的,你所写的任何一个JSF应用都支持AJAX,但不需要编写任何JavaScript代码,甚至不需要了解AJAX的原理。举个简单的例子,用户希望点击一个按钮,web页面产生一次Ajax请求与响应并更新某个text文本框时,通过ajax4jsf,我们需要在页面中指定:

< h:outputText id="dup" value="#{bean.text}" />

< a4j:commandButton reRender="dup" value=" Submit"/>

用户不仅需要记住额外的tag用法,还需要知道此Ajax请求需要更新页面哪个控件的值。而通过Apusic OperaMasks技术,用户只需要采用标准JSF组件的写法:

< h:outputText value="#{bean.text}" />

< h:commandButton value="Server Submit" />

然后,用户只需要指定此form的Render Kit是Ajax,或者在配置文件faces-config.xml中,将全局Render Kit置成Ajax即可。用户无需记住其它tag的用法,也无需了解更新哪些控件,甚至根本就不必要关心什么是Ajax!

3.3 与其它Ajax开发框架的区别

同样,这个世界还存在许多Ajax Framework,譬如dojo。我们并不否认这些Ajax开发框架的优秀,但是,与它们的优点同样明显的局限之处是:dodo之类的Ajax开发框架仅仅解决了客户端的问题,对任何服务器端逻辑,dojo无能为力。J2EE是一个整体,它不仅需要解决表现层问题,也要解决数据层和逻辑层的问题,JSF是JavaEE 5.0的一个重要组成部分,这就使得Apusic OperaMasks不仅可以创建丰富的客户端体验,同时可以和JavaEE应用服务器结合,从而建立强大的服务器端逻辑绑定。

3.4 组件对Ajax的支持:

与此同时,Apusic OperaMasks提供了部分特殊组件,以更有效的支持Ajax特性,譬如:

renderGroup:能够改造过时的应用,使其支持AJAX。在AJAX出现之前或基于其他JSF框架所编写的组件或应用有时并不能很好地运行在OperaMasks中,renderGroup能够为这些组件提供一个AJAX的渲染环境,使其达到AJAX的运行效果。

updater:装载和刷新页面的一小部分,使页面变成桌面。我们可以将页面的某些区域定义成一个独立刷新区,这些区域具有独立的交互环境和生命周期,当在这些独立区域中进行交互操作时他们被单独刷新,页面的其他部分不受影响。你可以单独开发和调试一些小应用,然后用updater将这些小应用组装成一个完整的应用。使用这样的技术将不再需要购买昂贵的Portal Server,在运行的时候和Portal没有什么区别。

event binding:如果必要,可以在服务器端处理客户端事件(譬如当某个客户端事件需要从服务器中获取数据进行响应);

client validator:本该由服务器处理的数据校验可以在客户端执行。JSF默认提供了许多数据验证器,常规JSF引擎的实现总是在服务器端进行验证,这样的话,每次与服务器的交互总是会带来一定的性能损失,而Apusic OperaMasks能够在不更改代码的情况下,在客户端进行数据验证。

总而言之,Apusic OperaMasks对Ajax的支持是原生的,是从引擎级别予以支持的,在Apusic OperaMasks中,Ajax is Everything!

首页 上一页 [1] [2] 下一页 尾页
上一篇:J2EE Web开发技术期待一次新的技术变革   下一篇:JBoss中使用EJB有状态bean钝化时间设置
收藏此页】【打印】【关闭
 相关文章  我要点评
·J2EE Web开发技术期待一次新的技术变革

免责声明:本站刊载此文不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。对本文有任何异议,请联络:68design#163.com
转载要求:作者及来源信息必需保留。转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印。



关于我们 | 在线反馈 | 广告报价 | 友情链接 | 联系我们 | 免责声明 | 在线投稿 | 网站地图
Copyright © 2003-2007 68design.net, All Rights Reserve 【找网页设计师,当然上网页设计师联盟】