K2与业务系统对接的接口规范
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
K2与业务系统对接的接口规范1流程图
1.1.1通用流程--新建审批流程
1.1.2通用流程-审批过程
1.1.3通用流程-审批结束
1.1.4通用流程-打开业务对象
2业务系统相关规范
2.1业务系统信息模块
业务系统信息是用来保存和处理与K2有关联的所有业务系统信息的信息。接口程序可以通过业务系统信息查找到某一流程实例所对应的业务系统的URL,业务数据和在界面上的显示位置等。
2.2的定义
接口1是K2接口提供给业务系统的一个统一入口,因为需要打开K2的页面,所以将此接口设计成一个页面+参数的调用方式。调用格式如下:
Response.Redirect("http://workflow/Interface/Load.aspx?BSID=HT&BOID=200&ProcID=12");
其中BSID,BOID和ProcID都是关键字。
BSID对应的值不能为空,也必须是在业务系统信息中存在的一个ID。否则接口调用失败,接口不做任何处理。
BOID对应的值不能为空,BSID和BOID唯一指定一个业务对象。
ProcID是流程ID,可以为空。如果流程实例已经被创建成功,忽略此ID。直接打开流程实例并展示给用户。
如果ProcID为空,说明业务系统在创建或打开流程实例前并不知道具体用哪个流程。如此用户将见到流程选择的界面。
如果ProcID不为空,接口自动依照ProcID帮用户选好流程,进入流程审批表
2.3
接口2是业务系统为K2提供的统一接口,该接口为标准的Webservice。所有业务系统的Webservice接口需以http://*****/ K2Webservice.asmx的命名规则为准。
当用户从业务系统通过接口1创建一个新的流程实例时,K2接口会在流程实例处设置一个bool型的标志值--bCreatedFromBusinessSystem。如果该bool值为true,K2接口就会调用接口2。K2通过调用接口2,K2可以从业务系统获得重要业务数据,无需用户在K2系统中重新输入一次。
业务系统提供的接口2的定义如下:
public class BusinessObjectInfo
{
public string _BusinessDataID; //业务数据的ID。与业务数据信息
中//的BDID对应。
public string _BusinessDataValue; //属性的值数组。存储在流程实例
的//业务数据中
}
public BusinessObjectInfo[]GetInfo(string strBSID, string strBOID);
由于业务数据在K2接口中已经做了相应的配置,并且这里定义的接口是完全具有拓展性的,所以这样的接口可以被所有的业务系统实现,并且统一。
接口从业务系统信息的Interface2中获得业务系统为接口2提供的实际URL地址,然后可以直接调用该接口,无需为不同的业务系统单独实现接口调用方法。
如果该接口调用失败,则创建流程实例失败。
2.4的定义
接口3是业务系统为K2提供的统一接口,该接口为标准的Webservice。
K2在创建一个流程实例结束后(不管是成功还是失败),需要向业务系统回报创建结果,便于业务系统做后续的工作。
业务系统提供的接口3的定义如下:
public void CreateResult(string strBSID, string strBOID, bool bSuccess, int iProcInstID, string strMessage,Vanke.K2Message[] msg)
其中:
strBSID为业务系统ID。
strBOID为业务系统在接口1传入的业务对象ID。
bSuccess表示创建流程实例是否成功,true为成功,false为创建失败
iProcInstID为该业务对象对应的创建的流程实例ID。如果创建失败,则该值无效,置0。
strMessage为K2接口提供的信息反馈。
msg 为审批时需要传递给业务系统的额外信息。定义成K2Message的格式,是为了以后扩充的业务需求,这样无需再修改接口定义了。
如果该接口调用失败,K2不再向业务系统发送此信息,但会在log中生成一笔出错记录。
2.5的定义
接口4是也业务系统为K2提供的统一接口,该接口为标准的Webservice。
K2在流程审批中,需要向业务系统汇报审批进展,便于业务系统做后续的工作。当某用户在K2中审批同意或有疑意某一流程实例,K2就会调用接口4。
业务系统提供的接口4的定义如下:
public enum erAction
{
Active = 0, //审批中,不会在接口中传递此值。
Approved = 1, //同意
Denied, //不同意
Doubt //有疑意
}
//K2Message的具体定义需要与业务系统统一,并且同步实现。在实现之前,请更新 K2Message定义.xls
文
//件。并做到K2和业务系统的统一实现。
Public class Vanke.K2Message
{
String strMsgID; //信息ID
String strMsg; //信息内容
String strExtraInfo; //信息的补充说明
}
public void Audit(string strBSID, string strBOID, string strStepName, string strApprover, UserAction eAction, string strComment, DateTime dtTime, Vanke.K2Message[] msg);
其中: