赛迪网 > IT技术 Java > 技术动态
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

J2EE Web的新变革:Apusic OperaMasks (1)

发布时间:2007.08.03 06:37     来源:赛迪网    作者:dxaw

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 下一页>>


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· Web开发技术:勇敢者挑战新世界 (08-02) · Web开发中用SQL语句完成分页的特效方法 (08-02)
· 详细讲解Java体系结构对信息安全的支持 (08-01) · Web开发中用sql语句完成分页的特效方法 (08-01)
· 黑客经验谈:关于一句话木马的更新思想 (07-24) · 开发狂想曲:如何在开源的Java下生存? (07-23)
· Java文萃:浅谈Java技术中的数据库应用 (07-20) · 为什么在Java编程中的继承多数是有害的 (07-19)
· 如何开发一个线程安全的Spring Web应用 (07-19) · 浅谈Ajax技术中的先进性与局限性 (07-19)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
· 北京新规不能霸王硬上弓 网店牌照缓期执行
· 软件外包之变的新台阶: 提高全球交付能力
· ERP案例分析 SaaS带来冲击 IT服务商面临挑战
· 通方期货CRM解决方案 房地产行业CRM解决方案
  IT博客 ·曾剑秋·项立刚·Java学习·网管
  IT技术论坛 ·开发·网管·安全·数据库·系统