近一段时间来,2007版的动易系统正全力开发中,本来是预计使用尽可能多的web2.0技术来改善用户体验,不幸的是在开发准备期在另一个项目中大量应用ajax技术的同时,发现几个严重问题,也许是ajax的死穴。
第一个问题,与服务器安全的冲突。javascript在反馈信息的同时需要调用xml组件与服务器进行通信,不幸的是,它并不通过常规的80端口或iis指定端口进行信息反馈,而是随机打开某个端口进行工作,当服务器端使用了遵循最小安全规则的防火墙后,将截断这一通信途径,导致js反馈信息失败。
第二个问题,js本身的可靠性问题,由于ajax把大量的运算操作放在客户端运行,客户端js引擎的稳定程度将直接影响到使用这种技术网站本身的使用效果。
第三个问题,具体客户的应用环境问题,最近碰到的一个例子让我感到无可奈何。某部门(具体保密),安全级别很高,单位文件规定其内部计算机ie级别全部调置最高,导致100%基于domino平台的oa系统失效,最后以定制一套纯服务器端执行的asp程序方解决他们对oa的需求。
其实在使用.net系统开发中也会碰到上面第三个问题,微软为了安全,速度和回发的稳定性将很多页面操作均封装为js代码,提供了方便的同时,也导致n多问题,真不明白他们怎么想的?