因为正在做这方面的一些工作,昨天我粗略研究了书生、infopath、还有方成的eform三套系统。
书生的定位很清楚就是为了解决中国电子政务表单自定义的问题,所以一系列产品基本涵盖了表单自定义的全部范畴。有设计工具,有填写工具,有服务器端的html解析和流转以及数据库转换工具,也提供了一系列的开发接口。另外就是它自称的电子印章和加密功能了。相对来说涵盖面广阔,也比较灵活。
infopath 现在感觉还只能算是一个设计和填写工具,服务器端的功能都没有,如果采用infopath作平台来处理表单自定义的话,需要作不少工作,首要解决的就是怎么将这个表单给变为在web界面上可以填写的表单。infopath的优势是设计界面和填写界面都比较漂亮,而且操作比书生的表单设计简单不少。感觉书生的表单设计还是停留在报表设计阶段,需要人工去画线什么的,而infopath的是web思路。用infopath作表单自定义最好的方式还是用infopath进行表单设计,利用web方式来展示表单。可惜现在还没看到可以将infopath直接变为web表单的系统。否则的话很不错,infopath提供的接口也秉承微软一贯风格,灵活,可定制性强。infopath用了用,感觉微软强行推出来似的,不少必要的功能都没有,举个例子,它的数据源在表单设计前定义好后,就不能修改了。微软建议数据源改了后,重新作表单。据说office2003 sp1解决了这个问题,没有深入研究了。
eform则简单的多,它支持web方式的表单设计,涵盖了数据库维护,表单设计,web表单输入和查询的功能。表单设计功能弱,特别是数据校验功能弱,可定制功能弱。但它的优势就是基本可以不用你写一行代码就可以实现一个简单的OA可以使用的表单自定义模块,基于web方式,操作简单。不过eform还有个重大劣势,那就是它的实现方式感觉不爽,它的基本思路是通过javascript代码,调用服务器端的方法,服务器返回xml,然后利用javascript进行展示。要想实现一些复杂功能,必须自己进行定制,但是它的代码感觉比较乱,维护起来是个问题。另外就是它的代码中大量采用了sql语句,不爽。