XForm是W3C的标准,因此将其作为表单的呈现方式,可以使自己的开源产品更具有竞争力。
Orbeon 是一个支持XForm的FormServer,它将Xform转换成Ajax+Xhtml格式。但是Orbeon的后台处理框架,虽然也
是mvc的,但是controller部分是使用XPL,XML Pipe Line语言处理,这就原有系统(工作流)要求改动就很大了。
YAWL是一个学院派的工作流系统,它定义了自己的流程格式。也提供了一个支持Xform的客户端。它的程序有几个核心模块:
yawl.war: 工作流引擎,通过xml http响应和调用
XformServer.war : 表单服务器,当流程中需要编辑表单的时候,自动重定向到表单服务器。
worklist.war: 流程客户端的任务列表,在里面可以启动新的流程,接受(checkout)和处理流程。
其中FormServer将XForm转换成Ajax based xHtml是通过 Chiba引擎实现的。
至于工作流引擎用xml http调用。我想在新的系统里面完全可以用ESB + BPM JBI实现。