为什么需要动态表单系统?

Coordinator
May 10, 2008 at 6:57 AM

有参与过一些项目的朋友大概都知道,大部分的项目,其实归根结底是帮助用户实现一些业务流程。
既然是流程,就需要一个载体来传递信息。

  • 传统的情况下,我们大多数使用纸质的表单来传递。
  • 信息化的浪潮首先改造了纸质的表单。我们会在应用程序里面通过一些界面接受用户的输入,而且我们会把这些信息收集起来,统一放到数据库里面去管理。
  • 有一个事实就是,因为表单所包含的信息差异性比较大,所以,如果用户要增加或者修改一个表单的时候,我们大多时候要修改应用程序来满足。这带来了一系列问题,诸如维护成本等等。
  • 实际上,很难有通用的表单系统,因为没有两个公司的流程会一模一样。

我曾经和一些朋友谈论到了动态表单系统。有一些思路就是把表单定义存储在数据库(可以涉及到需要动态构建很多表),然后在应用程序加载的时候,可以去读取这些字段信息等等。这种方式有个比较大的问题,就是数据库结构其实是预先无法确定的,这将带来诸如性能等一些问题。我一直在思考会不会有更加好的方式呢?

而事实上,微软已经推出的Form Server+Infopath就是试图实现这样的理想:客户所有的表单都可以自定义(而且可以比较方便定义),在表单定义的同时,可以绑定一些流程。同时,表单的填写可以有很多方式。这是一种比较好的解决方案。

那么,我们为什么还是想开发这个Business Process Template Suite呢?总的来说,我们是想探索在XML的基础上,实现可以嵌入到现有应用程序(例如用户的windows程序,或者网站)之中的动态表单模组。我们相用模块化的方式来做。

关于这一点,如果你有什么好的想法和建议,特别是你开发过类似的动态表单系统,请不吝赐教!