K2“BlackPearl”提供一个平台,用于管理和利用现有的跨越任何数量的业务系统的业务信息,以降低成本。SmartObject在K2 blackpearl扮演着流程数据提供者这个非常关键角色,整个K2 blackpearl平台中SmartObject无处不在,它的部署需要注意一下标记SmartObject的GUID必须相同。
K2“BlackPearl”提供一个平台,用于管理和利用现有的跨越任何数量的业务系统的业务信息,以降低成本。它考虑到决策的制定,线路的排定以及报告,并根据360度的可见性进入到业务实体中,譬如客户,职员,订单和发票。
它的“SmartObject”设计器提供一个允许开发人员搭建和部署这些复合实体的可视化界面。开发人员可以通过K2提供的技术,Web服务,或 K2 ADO.NET 数据提供程序,从业务系统中建立属性和方法,建立实体之间的联系,以及联合字段显示数据。同时也可以在“SmartObject”设计器中设定个人化的属性。所有信息都可以被存储并且在运行时灵活的说明。实体可以在局部被创建和使用或为其它开发人员共享使用。
SmartObject在K2 blackpearl扮演着流程数据提供者这个非常关键角色,整个K2 blackpearl平台中SmartObject无处不在。关于SmartObject和ServiceObject,有2点你是必须清楚的:
SmartObject Service:
- · 提供与LOB系统交互的能力,并通过通用的接口对外暴露其数据
- · 对外提供可执行的方法,通常是CRUD(Create, Read,Update,Delete)
- · 类型必须在K2中注册,并且需要在K2 Workspace中创建实例(当然在ServiceBroker工具中也可以)
SmartObject:
- · 一个类的定义:它的成员(或称为数据)映射到SmartObject Service提供的方法
- · SmartObject能以可视化的方法在K2流程定义中使用,与外部系统交互
- · SmartObject提供了API,能被企业架构中的其它层面方便地使用
实现ServiceObject的步骤:
1. 后端系统接口的实现,可以是任何.NET类型,例如普通类,WCF服务。权限系统同工作流集成的是权限系统的WCF服务。
2. 编写ServiceObject代码,通过泛型DataAccess<T>类和辅助类ServiceObjectHelper简化开发。
3. 编写ServiceBroker代码,通过泛型类ServiceBroker<T>简化开发,下面是类图
4. 打开c:\program files\k2 blackpearl\ServiceBroker\BrokerManagement.exe 位置的Broker 管理工具,选择Configure Servcies
选择注册一个Service Object
5. 填写服务信息,注册服务实例
K2 Service Object/SmartObject开发环境向正式环境部署
- 将Service Object通过BrokerManagement.exe部署到正式环境
- 记录下测试环境的Service Object实例名字和GUID,使用相同的实例名和GUID注册Service Object实例
- 使用BrokerManagement.exe 的Export SmartObject和Import SmartObject将开发环境的SmartObject导到正式环境。