﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-Paul之Coder日记-文章分类-4、Ajax</title><link>http://www.blogjava.net/llxiong/category/8452.html</link><description>收藏。</description><language>zh-cn</language><lastBuildDate>Tue, 27 Feb 2007 12:19:34 GMT</lastBuildDate><pubDate>Tue, 27 Feb 2007 12:19:34 GMT</pubDate><ttl>60</ttl><item><title>关于AJAX构架的一点构想</title><link>http://www.blogjava.net/llxiong/articles/35351.html</link><dc:creator>xnabx</dc:creator><author>xnabx</author><pubDate>Wed, 15 Mar 2006 02:15:00 GMT</pubDate><guid>http://www.blogjava.net/llxiong/articles/35351.html</guid><wfw:comment>http://www.blogjava.net/llxiong/comments/35351.html</wfw:comment><comments>http://www.blogjava.net/llxiong/articles/35351.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/llxiong/comments/commentRss/35351.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/llxiong/services/trackbacks/35351.html</trackback:ping><description><![CDATA[<H3 class=title>关于AJAX构架的一点构想</H3>以前搞了一个XPP的编程平台，应该来说，不是一个成功的东东。XPP本身确实解决了目前编程的诸多问题，例如页面状态保持、统一的界面风格、良好的数据效验器，但并没有考虑到数据传输的问题，虽然采用了压缩流来传递数据，但同样也增加了服务器的压力。也许对于中小型的企业应用，XPP可以作为一个被选的平台，但作为大型的企业应用，XPP表现恐怕很难实用。<BR>在有了上次失败的经历后，考虑是否可以采用AJAX作为一个轻量级的框架(XPP的体系太过庞杂，过多在服务端考虑了前端的UI逻辑，也是这才是失败的根本)，侧重于业务逻辑层的调用，不再考虑UI层的逻辑。<BR>AJAX主要实现的主要技术:<BR><B>1、XmlHttpRequest</B><BR>主要考虑是否需要支持浏览器的差异性，目前至少提供对IE和Mozilla的支持，以后是否考虑对其他浏览器进行支持？<BR>这是是个很easy的问题，暂时不进行深入探索。<BR><BR><B>2、XML数据传输层的封装(AJAX的核心)</B><BR>AJAX的核心数据传递毫无疑问只能是基于XML的，如何有效地对XML数据输送层进行封装，来保证构架良好的可用性和扩展性？这里主要是需要考虑两个方面：良好的封装性和执行效率。<BR>我初步的想法是服务端采用类似buffalo的技术实现JAVA POJO与XML的序列化，客户端采用js实现类封装实现JAVA对象的映射(考虑采用服务器端自动生成js文件，并动态加载js对象，以提高浏览器的处理能力)，并在此基础上实现XML-PRC。<BR><BR><B>3、服务端集成</B><BR>考虑AJAX与其它架构集成的方案，并保证系统良好的安全性和执行效率。<BR><BR>暂时处于疑问中的几个问题：<BR><B>1、UI层如何表现？</B><BR>采用AJAX的话，是采用js构建页面还是采用XmlHttp获取服务端返回的页面信息？<BR><BR><B>2、数据效验问题？</B><BR>对于AJAX作RIA的应用，UI层的数据效验肯定是必要的，由于采用AJAX，用户绕过UI效验是很容易的事情，如果在服务端同样做数据效验的话，是否会增加代码的编写工作量？是否能够采用统一的数据效验？如何可以的话，如何实现？<BR><BR>
<P>目前buffalo主要有如下问题：<BR>a. JAVA Object的序列化逻辑与RPC的业务逻辑混在一起，不利于系统的扩展<BR>b. buffalo只支持UTF-8编码的XML，不支持GBK编码的XML<BR>c. buffalo可以调用服务的所有方法，可能会对服务器产生一定的安全隐患<BR></P><img src ="http://www.blogjava.net/llxiong/aggbug/35351.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/llxiong/" target="_blank">xnabx</a> 2006-03-15 10:15 <a href="http://www.blogjava.net/llxiong/articles/35351.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>