K2与业务系统对接的接口规范

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;

public string _BusinessDataValue; }

public BusinessObjectInfo[] GetInfo (string strBSID, string strBOID);

由于业务数据在K2接口中已经做了相应的配置,并且这里定义的接口是完全具有拓展性的,所以这样的接口可以被所有的业务系统实现,并且统一。

接口从业务系统信息的Interface2中获得业务系统为接口2提供的实际URL 地址,然后可以直接调用该接口,无需为不同的业务系统单独实现接口调用方法。 如果该接口调用失败,则创建流程实例失败。

//业务数据的ID 。与业务数据信息中//的BDID 对应。

//属性的值数组。存储在流程实例的//业务数据中

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 Vanke.UserAction {

Active = 0, //审批中,不会在接口中传递此值。 Approved = 1, //同意 Denied, Doubt }

//K2Message的具体定义需要与业务系统统一,并且同步实现。在实现之前,请更新 K2Message定义.xls 文

//件。并做到K2和业务系统的统一实现。 Public class Vanke.K2Message {

String strMsgID; String strMsg;

}

//信息ID //信息内容

//信息的补充说明 //不同意

//有疑意

String strExtraInfo;

public void Audit (string strBSID, string strBOID, string strStepName, string strApprover, UserAction eAction, string strComment, DateTime dtTime, Vanke.K2Message[] msg); 其中:

strBSID 为业务系统ID 。

strBOID 为保存在K2接口中的业务对象ID 。 strStepName 为审批时的步骤名称。 strApprover 表示审批者。

eAction 为用户对流程实例的审批意见。 strComments 为用户的审批意见备注。 dtTime 为审批时间。

msg 为审批时需要传递给业务系统的额外信息。定义成K2Message 的格式,是为了以后扩充的业务需求,这样无需再修改接口定义了。当前的业务需要是在用户审批通过后,将是否允许提前下发传递给变更系统。

如果该接口调用失败,K2不再向业务系统发送此信息,但会在log 中生成一笔出错记录。

2.6

的定义

接口5是K2接口为业务系统提供的统一接口,该接口为标准的Webservice 。

业务系统可以通过调用此接口查看目前流程实例的状态,上一个审批人,正在等待谁审批。

K2接口提供的接口5的定义如下:

public enum ProcessInstanceStatus {

None = 0, //不存在该流程实例 Active, //正在审批流程中 Approved, //已审批通过 Denied, //已被拒绝 Deleted //已被删除 }

public class ProcessInstanceInfo {

public Vanke. K2Interface.ProcessInstanceStatus _eProcessInstanceStatus;

public ApproveStepInfo _lastApproveStep; public ApproveStepInfo _currentApproveStep; }

public class ApproveStepInfo

{

public string _strApprover;

Vanke. K2Interface.UserAction _eAction; public sting _strStepName;

public string _strApproverComment; public DateTime _dtApproveTime; }

//获得所给对象ID 的流程实例状态

public ProcessInstanceInfo[] GetStatus(string strBSID, string[] strBOID); public ProcessInstanceInfo[] GetKindsStatus(string[] strBSID, string[] strBOID); //获得所给对象ID 的流程实例的所有已审批的步骤信息

public ApproveStepInfo[] GetAllProcessedSteps(string strBSID, string strBOID); 其中:

strBSID 为业务系统ID 。

strBOID 为保存在K2接口中的业务对象ID 。

2.7

的定义

接口6也是业务系统为K2提供的统一接口,该接口为标准的Webservice 。

K2在流程审批结束后(包括审批通过,不同意或被删除),需要向业务系统汇报审批结果,便于业务系统做后续的工作。 业务系统提供的接口6的定义如下:

public void Close (string strBSID, string strBOID, ProcessInstanceStatus eProcessInstanceResult, string strComment, DateTime dtTime, Vanke.K2Message[] msg ); 其中:

strBSID 为业务系统ID 。

strBOID 为保存在K2接口中的业务对象ID 。 eProcessInstanceResult 表示流程审批结果 strComments 为K2接口提供的信息反馈。 dtTime 我审批时间。

msg 为审批时需要传递给业务系统的额外信息。定义成K2Message 的格式,是为了以后扩充的业务需求,这样无需再修改接口定义了。

如果该接口调用失败,K2不再向业务系统发送此信息,但会在log 中生成一笔出错记录。

2.8

的定义

接口7是业务系统为K2提供的统一接口,因为需要打开业务系统的页面,所以将此接口设计成一个页面+参数的调用方式。调用格式如下:

Response.Redirect("http://

×

×

×

×

/K2InterfaceLoadObject.aspx?

BSID

HT&BOID=200&ExtInfo=Modification_UpdateCost");

其中:

BSID 为业务系统ID 。

BOID 为用户需要浏览的业务对象ID 。

ExtInfo 为K2调用业务对象时的扩展信息。以提供业务系统做更进一步的处理。 目前已明确定义的ExtInfo 如下:

Modification_UpdateCost

――更新成本(变更系统使用)

Modification_SetSendOut ――设置下发单位(变更系统使用)

如果该接口调用失败,K2不再向业务系统发送此信息。

3 Data Flow

3.1

打开业务对象

3.2 查看业务对象的审批流程

a) 创建流程实例

3.3 流程审批过程

3.4 审批过程状态处理

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;

public string _BusinessDataValue; }

public BusinessObjectInfo[] GetInfo (string strBSID, string strBOID);

由于业务数据在K2接口中已经做了相应的配置,并且这里定义的接口是完全具有拓展性的,所以这样的接口可以被所有的业务系统实现,并且统一。

接口从业务系统信息的Interface2中获得业务系统为接口2提供的实际URL 地址,然后可以直接调用该接口,无需为不同的业务系统单独实现接口调用方法。 如果该接口调用失败,则创建流程实例失败。

//业务数据的ID 。与业务数据信息中//的BDID 对应。

//属性的值数组。存储在流程实例的//业务数据中

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 Vanke.UserAction {

Active = 0, //审批中,不会在接口中传递此值。 Approved = 1, //同意 Denied, Doubt }

//K2Message的具体定义需要与业务系统统一,并且同步实现。在实现之前,请更新 K2Message定义.xls 文

//件。并做到K2和业务系统的统一实现。 Public class Vanke.K2Message {

String strMsgID; String strMsg;

}

//信息ID //信息内容

//信息的补充说明 //不同意

//有疑意

String strExtraInfo;

public void Audit (string strBSID, string strBOID, string strStepName, string strApprover, UserAction eAction, string strComment, DateTime dtTime, Vanke.K2Message[] msg); 其中:

strBSID 为业务系统ID 。

strBOID 为保存在K2接口中的业务对象ID 。 strStepName 为审批时的步骤名称。 strApprover 表示审批者。

eAction 为用户对流程实例的审批意见。 strComments 为用户的审批意见备注。 dtTime 为审批时间。

msg 为审批时需要传递给业务系统的额外信息。定义成K2Message 的格式,是为了以后扩充的业务需求,这样无需再修改接口定义了。当前的业务需要是在用户审批通过后,将是否允许提前下发传递给变更系统。

如果该接口调用失败,K2不再向业务系统发送此信息,但会在log 中生成一笔出错记录。

2.6

的定义

接口5是K2接口为业务系统提供的统一接口,该接口为标准的Webservice 。

业务系统可以通过调用此接口查看目前流程实例的状态,上一个审批人,正在等待谁审批。

K2接口提供的接口5的定义如下:

public enum ProcessInstanceStatus {

None = 0, //不存在该流程实例 Active, //正在审批流程中 Approved, //已审批通过 Denied, //已被拒绝 Deleted //已被删除 }

public class ProcessInstanceInfo {

public Vanke. K2Interface.ProcessInstanceStatus _eProcessInstanceStatus;

public ApproveStepInfo _lastApproveStep; public ApproveStepInfo _currentApproveStep; }

public class ApproveStepInfo

{

public string _strApprover;

Vanke. K2Interface.UserAction _eAction; public sting _strStepName;

public string _strApproverComment; public DateTime _dtApproveTime; }

//获得所给对象ID 的流程实例状态

public ProcessInstanceInfo[] GetStatus(string strBSID, string[] strBOID); public ProcessInstanceInfo[] GetKindsStatus(string[] strBSID, string[] strBOID); //获得所给对象ID 的流程实例的所有已审批的步骤信息

public ApproveStepInfo[] GetAllProcessedSteps(string strBSID, string strBOID); 其中:

strBSID 为业务系统ID 。

strBOID 为保存在K2接口中的业务对象ID 。

2.7

的定义

接口6也是业务系统为K2提供的统一接口,该接口为标准的Webservice 。

K2在流程审批结束后(包括审批通过,不同意或被删除),需要向业务系统汇报审批结果,便于业务系统做后续的工作。 业务系统提供的接口6的定义如下:

public void Close (string strBSID, string strBOID, ProcessInstanceStatus eProcessInstanceResult, string strComment, DateTime dtTime, Vanke.K2Message[] msg ); 其中:

strBSID 为业务系统ID 。

strBOID 为保存在K2接口中的业务对象ID 。 eProcessInstanceResult 表示流程审批结果 strComments 为K2接口提供的信息反馈。 dtTime 我审批时间。

msg 为审批时需要传递给业务系统的额外信息。定义成K2Message 的格式,是为了以后扩充的业务需求,这样无需再修改接口定义了。

如果该接口调用失败,K2不再向业务系统发送此信息,但会在log 中生成一笔出错记录。

2.8

的定义

接口7是业务系统为K2提供的统一接口,因为需要打开业务系统的页面,所以将此接口设计成一个页面+参数的调用方式。调用格式如下:

Response.Redirect("http://

×

×

×

×

/K2InterfaceLoadObject.aspx?

BSID

HT&BOID=200&ExtInfo=Modification_UpdateCost");

其中:

BSID 为业务系统ID 。

BOID 为用户需要浏览的业务对象ID 。

ExtInfo 为K2调用业务对象时的扩展信息。以提供业务系统做更进一步的处理。 目前已明确定义的ExtInfo 如下:

Modification_UpdateCost

――更新成本(变更系统使用)

Modification_SetSendOut ――设置下发单位(变更系统使用)

如果该接口调用失败,K2不再向业务系统发送此信息。

3 Data Flow

3.1

打开业务对象

3.2 查看业务对象的审批流程

a) 创建流程实例

3.3 流程审批过程

3.4 审批过程状态处理


相关文章

  • 政务数据资源交换平台系统
  • 政务数据资源交换平台系统 目 录 第一章 1 2 3 总则 . ........................................................................................ ...查看


  • 软件工程标准规范
  • CreatMap 地理信息共享服务云平台 软件工程标准规范 河北省制图院 2015年1月30日 1. 前言 1.1项目背景 当前,我国国家信息化建设与应用不断深入,网络化地理信息应用如同雨后春笋, 政府部门和社会大众使用地理信息的方式与频率 ...查看


  • 电子证照管理系统建设方案
  • 电子证照管理系统 建议方案 二〇一六年五月 目录 第1章. 项目概述...................................................................................... ...查看


  • XX项目-可行性分析报告
  • 可行性分析报告 版本:v1.0 编制单位:信息管理部 编 制 人: 审 核: 批 准: 文档发送范围: 信息管理部项目经理.部门经理. 目录 1 1.1 1.2 1.3 2 3 4 4.1 4.2 4.3 4.4 5 6 7 8 引言 .. ...查看


  • 粮油仓储信息化建设指南
  • 粮油仓储信息化建设指南(试行) 本指南是粮油仓储信息化指导性文件.各级粮食行政管理部门可参照本指南来规范本地区信息化建设工作,有关企业可参照本指南开展粮油仓储信息化工作. 本指南明确了粮油仓储企业信息化的定义与功能.建设目标.建设原则以及各 ...查看


  • 粮油仓储信息化建设指南(试行)
  • 粮油仓储信息化建设指南(试行) - 2 - 本指南是粮油仓储信息化指导性文件.各级粮食行政管理部门可参照本指南来规范本地区信息化建设工作,有关企业可参照本指南开展粮油仓储信息化工作. 本指南明确了粮油仓储企业信息化的定义与功能.建设目标.建 ...查看


  • 概要设计说明书V1.1
  • 保密级别:□绝密 □机密 ■秘密 □内部公开 企业级影像管理平台系统 概要设计说明书 晋商银行股份有限公司 二〇一三年六月 文档修订记录 *变化状态:A--增加,M--修改,D--删除 目录 1. 引言 .................. ...查看


  • 浅析缓存平台技术在业务支撑系统的应用
  • [摘要] 本文阐述了业务发展带来的业务支撑系统的瓶颈,分析了缓存平台技术,从而提出缓存平台技术在业务支撑系统的应用. [关键词] 缓存平台 业务支撑系统 API 应用程序接口(Application Program Interface) 全 ...查看


  • 论信息系统项目的质量管理
  • 信息共享服务平台项目素材: 项目难点: ⏹ 安全通道(边界接入平台)是共享平台的安全基础.在平台正式部署之前,各州地局应优先考虑安全通道的建设. ⏹ 共享平台与外单位协调工作量大.应充分发挥各地州.各警种的积极性,最大限度的获取各类社会信息 ...查看


热门内容