xtoolscrm早在2004年就开始全面应用ajax技术了,尽管当时ajax技术尚未发布。本文将对此作简单讲解……
2005年底,程序员的眼球迅速被网络上传播的一种叫ajax的技术所吸引,不少新的开发平台也迅速宣称支持ajax技术。其实xtoolscrm早在2004年就开始全面应用ajax技术了,尽管当时ajax技术尚未发布。
1. 何为ajax技术
ajax(asynchronous javascript and xml)是结合了java技术、xml以及javascript等编程技术,可以让开发人员构建基于java技术的web应用,并打破了使用页面重载的惯例。ajax是使用客户端脚本与web服务器交换数据的web应用开发方法,可以肯定的说ajax将成为web开发的重要武器。
简单说:就是使用ajax技术,在用户使用b/s软件的时候实现局部页面刷新,让用户象使用c/s软件一样舒服、流畅的使用b/s软件。比如:
1.1. 后台数据提交后局部刷新样例:进行一个数据检索
在客户查询框中输入客户名称后提交,客户的基本信息的列表就会展现出查询结果,但是整个页面并没有刷新,整个过程平稳,流畅。
1.2. web控件集成样例:客户管理界面
1.3. 层提交功能样例:添加日程
第一步:点击日程的“新建”,系统就会如第二步一样显示出
层,可以填写日程信息,在填写日程信息的时候,选择完客户,系统会利用ajax技术自动获取该客户的联系人,显示在联系人字段的下拉框中;当日程数据输入完后,点击“保存”按钮,此时输入层消失,该页面的日程部分自动更新,但是页面的其他区域不动。
可以看到这种技术能够大幅度提高用户的易用性和人机界面的友好性。
2. xtoolscrm与ajax技术发展相关记要
2004年5月 为了全面适合“租用型”产品的需求,xtoolscrm开始开发基于ajax模式的构架平台,基础要求是局部刷新页面
2004年6月 google推出gmail,广泛应用局部刷新技术
2004年9月 xtoolscrm构架平台开发完成,开始产品设计
2004-12-2 xtoolscrm计算机软件著作权登记(软著登字号第031767号)
2004-12-15 xtoolscrm 正式发布
2005-2-18 一位叫做杰西•詹姆斯•加勒特(jesse james garrett)的美国人研究用户界面的adaptive path公司发表了一篇题为《ajax:一个web应用的新途径》的论文,正式提出ajax
2005-4-18 xtoolscrm发布2.0版本
2005年5月 google公司就使用ajax创建了一个类似桌面应用程序的web程序,这引起了巨大的轰动
2005年9月 网易邮箱开始推出采用ajax技术的“极速模式”,优良的人机界面得到广泛好评。
2005年10月后 各大厂商包括ibm,微软等都宣称支持ajax以及推出相应的软件包
3. xtoolscrm为什么使用这项技术
首先,我们来看一下ajax的优点:
可以看到,所有的一切都是为“租用型”产品设计的,因为“租用型”产品最先考虑的就是服务器低负载和人机界面的友好性。毫无疑问,作为“中文地区月租型crm第一品牌”的xtoolscrm当然要选择这项技术。
xtoolscrm所采用的技术与jesse james garrett提出的ajax 技术并不完全相同,毕竟xtoolscrm设计底层构架时要早于ajax的提出,但是我们所关注的是设计思想和趋势。
4. xtoolscrm平台实现方式
4.1. 整体设计
xtoolscrm在设计上直接考虑了运营模式,这也是很多程序人员忽略的问题,就是程序在设计期间并没有考虑到实际的商业运作逻辑,导致产品的设计失败。让我们来分析一下:
为此,选择linux平台,web server选择apache,在中间件上选择了自行开发的支持ajax和web控件的平台,在数据库上选择了效率最高的mysql,实际上所有的要求都要看这个自行设计的中间件是否能够满足实际需求。
下图是整个系统的逻辑图:
在整个系统中,在浏览器的前台,使用javascript控制着由前台操作带来的“前台事件”控制机制,用于和后台系统进行通讯。在中间件层,系统不光处理了由前台事件传递来的“前台事件”而且还处理了“web控件”的后台事件。
4.2. 中间件层
这是整个系统核心,对于一个很复杂的业务逻辑我们可以将其定义成相应的操作视图,比如在xtoolscrm中的客户视图。在该视图中,将客户所使用的全部信息展现出来,但是所对应的每一块数据都是采用web控件来实现的,也就是说,每一个web控件都可以指定相应的数据源,显示不同的数据,而此时,web控件又可以利用ajax技术进行操作,比如某个数据块:可以在数据块上直接编辑某条数据或者添加、删除数据,同时前台事件还可以引发其他控件的后台事件,从而使整个页面展现前所未有的活力。
web控件分为很多,常用的有:
控件名称 说明
数据库列表控件 指定数据库,设置一定属性(比如参与列表的字段),就直接可以在页面上显示出统一的数据列表,可以分页显示
数据显示控件 显示某条数据库的一个返回数据集,可以定义摸板,有相应的数据操作、关联的数据视图、允许数据的附加附件等等
数据搜索控件 针对列表和统计图形考虑
统计图形控件 显示可以控制的统计图形
日历控件 显示日历,需要这些功能的程序可以直接引用,不需要每个程序都从0写起