摘要:为了缩短CRM软件的开发进程,进步软件的后台晋级和保护才干,提出了一种依据Android体系的自界说界面的规划办法。选用 JavaScript脚本言语操控流程进程、表单元数据间的数据逻辑,树立自界说表单界面解析引擎,完成了CRM软件的自界说功用模版由中心后台装备办理。剖析成果表明,该规划办法可以有用地缩短软件的研制周期,协助开发者快速地按需定制较为老练的CRM软件原型。
要害词:客户联系办理;Andmid渠道;JavaSeript解析;自定制表单
近年来,我国信息技能的迅猛发展和信息化水平的不断进步,给传统办理办法向信息化、体系化、集成化的改动发明了杰出的条件,CRM(Customer Relationship Manageme nt,客户联系办理)体系应运而生。但只是引入CRM体系并不意味着公司直接步入了制度化、主动化的事务流程。只要对事务流程进行持续改善,才干确保 CRM技能能融入到革新流程中。由于商场数据反常巨大,定性确认事务逻辑也较为杂乱,往往需求重复的运用与更改才干确认体系的底子纲要。这直接导致了软件开发周期的极大延伸。为了防止屡次开发所形成的研制时刻延伸和商场呼应速度下降,本文树立了事务流程处理元模型,提出了一种依据Android体系的 CRM软件自界说界面的规划办法,处理了传统CRM体系开发进程周期长、本钱高、复用率低一级问题。协助企业办理人员经过该体系快速了解、把握和传递商场信息,确保商场信息的时效性、实用性和价值性。
Android是美国谷歌开发的适用于便携产品运用的软件渠道。本文在研讨进程中考虑到CRM体系的实时性、高效性、高可拓展性等特色,充沛利用 Android操作体系扩展性、可移植性、易保护和开源等,将两者结合起来可使体系具有兼容性强、稳定性高、跨渠道、低本钱、易于保护和晋级等长处。
1 体系整体结构
该体系首要由浏览器客户端、服务器端和手持终端(Android操作体系)三部分组成。浏览器客户端首要对事务流程及办理逻辑进行界说,将界说模板存入服务器端数据库,而手持端向数据库恳求模板并进行解析和显现。体系的整体结构图如图1所示。

企业办理者经过统筹本企业的事务方向并结合详细商场运营情况,定制事务员的事务访问流程和标准,如:信息办理、门店访问流程。开发人员了解到详细的操作标准,收拾为操作模板,经过浏览器客户端进行模板装备,模板数据以Jason目标组帧存入到服务器数据库中。
事务员经过手持终端的CRM软件向服务器数据库恳求详细的操作模板,并由模板解析器将详细模板依照需求解析并显现,事务员即可经过手持端软件进行客户信息办理、门
店访问等相关操作。
2 体系软件规划
2.1 前端规划
体系网站前端选用了当时互联网上比较盛行的富客户端MVC规划方式,即前端页面的功用比较强壮,选用现在在企业ERP Web程序中比较盛行的EXT JS结构进行开发,该结构具有丰厚的界面组件与接口,经过它能开宣布接近于桌面运用程序用户界面的网页页面,可以给用户以杰出的用户体会。一起前端页面悉数经过AJAX的方式向后台服务器发送恳求,可以不影响用户操作的办法异步恳求呼应,然后有用地减低了呼应时刻与服务的担负。
详细的规划上,体系渠道前端又选用了插件式的模块加载办法,各个详细功用模块对应的JS文件经过动态创立Script元素的办法加载,选用的是LAZY LOAD的办法,即主页面加载时并不下载各详细模块的JS文件,只要在点击详细功用时才动态加载,这样可以有用地进步体系发动速度,给用户以杰出的体会。
2.2 后端规划
体系网站后端的操控层规划的十分简略,它的首要功用便是承受前端发送来的AJAX恳求,并从中提取出恳求的参数内容,并将这些参数传入对应的存储进程进行处理,然后将存储进程回来的成果组成Jason格局的数据回来给前端。
后端的功用十分简略,简直不触及任何详细的事务逻辑,也不担任改动前端显现,它仅有的作用是联络显现层与数据库耐久层。这种规划的意图便是减低网站从头布置的作业量(后端代码改动后需求从头编译布置,重启网站服务器,而前端的JS文件和数据库的存储进程修正后可以当即运用)。
2.3 数据库
本体系对事务逻辑的处理底子上集中于数据库的存储进程,这样做的长处是:首要很多削减了网站服务器与数据库服务器之间的数据通讯量;其次,由于存储进程都经过了预编译,缓存了履行计划,所以履行起来速度比直接履行SQL句子快得多;最终,可以向网站运用服务器屏蔽底层的数据结构,底层表改变时可以削减前端与后端代码的修正。削减布置的作业量,加速对客户的呼应速度;存储进程修正后运用程序服务器不需求重启。经过了解详细的操作标准,进行访问模板界说,首要的访问模版表界说如下:

2.4 终端软件规划
该软件客户端选用Android渠道。在整体规划上选用软件分层的办法,分为结构层和运用层。软件架构如图2。

1)运用层
该软件的UI规划严厉依照交互规划原型进行开发,并对要害公共部分视图做笼统处理。完好承继Activity的生命周期Activity与Activity之间根绝选用藕合的接口调用数据
办法,一切数据交互有必要选用Intent进行传递,确保各Activity数据的独立性。为了使类变量不被外部引证,一切Aetivity中的底子类型 (int,long,short,byte,boolean,char等)的类变量、实例变量都界说为私有变量,尽量少用或不必类变量,非底子类型的变量视情况而定。别的这些底子类型变量都有必要用onSaveInstanceState和onRestore Ins tance State进行备份和康复。当界面被内存收回后可以重绘界面控件并加载控件值,进步用户体会。其他一切界面都承继该公共类,使得软件界面风格共同,便于统一办理与修正。
软件的逻辑层封装首要体现在Task与Setvice的规划。在事务员运用软件进行相关事务操作时,将会不时地恳求、查询服务器后台数据,所以事务恳求和中心下发数据的解析处理,是事务逻辑的重要一环。对Task进行从头规划和封装,选用公共的句柄Handle用以处理Task所需求发送目标,回来类,回调办法,重传次数,超时时刻等要害变量。别的,Android中供给了Service组件可进行后台运转和跨进程访问。经过发动一个服务,可以在不显现界面的条件下在后台运转指定的使命,这样不会对当时客户操作行为产生影响。笼统出根底服务类并界说底子的创立、发动、毁掉等事情办法,由各个指定事务的服务承继该根底类用以办理特定事务目标的数据后台办理。
数据存储作为软件履行流程的必备功用模块,体系首要选用了Preterene和Android自带的SQLite轻量级数据库两张办法用于数据存储办理。其间,Preference用以存储体系公共参数;SQLite数据库用以存储用户的根底数据和访问数据等。数据层中不包括任何的事务逻辑结构和界面显现特性的需求,只是供给各数据库表中存储的底子数据信息。即,该层不能调用逻辑层与UI层代码,充沛阻隔数据办理与界面和逻辑层。支撑上层调用基层,而基层不允许访问上层。有用下降各功用模块耦合度,细化软件模块的区分,进步可拓展性。
2)结构层
结构层的规划首要是关于与服务器后台数据交互的完善。包括有通讯规划、协议解析规划。通讯规划首要选用了Android中供给的 HttpURLConnection和HttpClient接口。体系在承继HttpUr%&&&&&%onnection的根底上,持续完善通用的接口功用模块,支撑依据事务方式主动切换网关等,支撑重传机制和超时操控,完善网络过错提示和犯错处理;协议解析首要选用JSON格局和二进制流两种格局。每条协议独自一个文件,同地点事务模块放在同一个包下。协议文件以协议号进行命名,分上行和下行两种。协议的组帧和解析有必要用目标进行处理。一切协议的规划有必要契合协议要求,尽量规划成一个目标。支撑选用FastJason技能进行主动解析,到达削减作业量的意图。而且可以快速呼应协议的修正,而修正作业量不大。
2.5 JavaScript解析引擎
以上的规划方案为完成自定软件装备数据、事务数据的传送解析供给了结构根底,可以满意数据传送的时效性,确保办理者对终端软件的实时掌控,具有较强的体系改变才干。余下的要害问题在于终端软件怎么对接收到的模板数据进行视图展现并树立控件联络,由于表单中控件数量繁复,其杂乱特点底子无法经过言语描绘和类型区分来完成,为处理这一难点,咱们将其杂乱的事务逻辑操控运用JavaSeript言语完成。在JayaScript解析引擎的底子结构上构建完成出售子体系事务流和自界说表单的界面解析引擎和逻辑处理引擎。
1)视图解析引擎
中心下发数据经过。JSON解析后,存储数据在本地数据库中,树立与中心相对应的模板表:Table_Scheme、Table_Step、 Table_Ctrl。界面解析引擎选用流式布局的办法,顺次对各级组件进行解析展现。在获取组件特点信息后,依据其相关类别,树立模板、进程、控件视图,各组件的承继联系经过主键值进行相关。为了简化其创立流程机制,该视图解析引擎先剥离了一切的逻辑特点需求,只是完成组件的页面作用展现,而将杂乱的逻辑处理让逻辑处理引擎在后台履行。这种规划方案可以功用界面的完成快速展现,而无需考虑各种杂乱逻辑的穿插影响,大大缩减了视图展现的发动时刻,具有杰出的用户体会作用。
2)逻辑处理引擎
逻辑处理引擎首要处理各组件的内在联络。由于在组件的逻辑操控需求在Android环境下对JavaScript言语的动态编译,在开发和运转依据GUI 的运用程序时特别有用。在此根底上,逻辑处理引擎构建Android渠道下简直一切简略控件的监听事情ListenerType,依据组件的装备需求来判别是否履行相关脚本,其脚本内容CtrlListener以文本方式存放在特点字段中,经过Rhino完成Android渠道对JavaScript代码的履行,相同,在JavaScript履行代码中往往也存在对Android渠道信息的调用履行,渠道层供给了CallContext供给了视图控件值获取、写入,数据库访问等各项操作接口给JavaScript,一起也支撑其界说的Event事情进行操作。
2.6 运用剖析
依据元模型界说,可以定制一个“实时报告”的功用模块。经过浏览器客户端的标准操作和输入,可生成模板装备数据源存储于服务器端,当手持端经过HTTP建议模板下发恳求时,服务器端即可下发Jason组帧的源数据,用以装备手持段软件的详细履行标准模板。元模型和数据源示例如下:





经过装备数据源可以看出“实时报告”功用含有一个“作业日志”进程,进程中的界面展现两个控件,其间:“报告时刻”为文本框,界说了单击事情用以获取体系的当时时刻办法:“报告内容”控件为编辑框而且其最大输入长度为200个字节。别的,还可以给挑选时刻文本框加上时刻挑选约束,如不能大于当时时刻。只需为其特点的数据源CTRL _FUN_NAME、CTRL_FUN_BODY别离增加如下界说:

上述是一个十分简略的功用模块,各企业依据详细事务场景的需求,可以增加比如:“考勤办理”、“门店办理”、“门店访问”等各种功用。在增加功用或更改事务流程的进程中,只需从浏览器客户端进行模板界说的修正,服务器可依据从头装备的元模型更新数据源,经过无线网络下发至手持端软件即可完成事务流程的更新和改善,且各根底功用的模板界说具有较强的通用性,可以彼此学习引证。在事务逻辑杂乱的情况下,企业办理者可以依据事务员运用进程中反应的详细情况,不断调整各模板流程的操控规矩和活动联系,经过服务器后台进行灵敏的保护办理,以到达最佳的运用作用,且在此进程中完全不触及软件的二次开发,也无须付出昂扬的二次开发或晋级保护费用,其商场呼应速度也大大进步。
3 结束语
本文规划的自定制CRM软件结合了Android操作体系的优异特性,可以在Android手机、平板等终端设备上杰出地运用。经过浏览器客户端的简略地装备即可生成一个相对老练的CRM软件原型,该软件可以满意绝大部分的事务需求的操作流程模板,当有特定控件展现,只需增加详细事务逻辑控件及即可敏捷客户需求的改动,大大削减了体系营运的保护本钱与二次开发本钱。可以在短时刻内快速呼应商场改变并做出改善,为企业完成高效、精准的客户联系办理。