BlackPearl 的 ServiceObject 开发部署
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 filesk2 blackpearlServiceBrokerBrokerManagement.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导到正式环境。
- WordPress 根据浏览器 user-agent 按需加载CSS 文件
- memcached的最新状态
- [程序设计语言]-01:引言
- ASP.NET Ajax 库
- ASP.NET进程优化
- 多说 提速:js内页页脚加载、静态文件CDN
- 微信小程序的王者时代
- [程序设计语言]-[核心概念]-02:名字、作用域和约束(Bindings)
- NUMA架构
- 如何处理 Python 入门难以进步的现象?
- 编写前置和后置条件的连贯接口库:CuttingEdge.Conditions
- [程序设计语言]-[核心概念]-03:控制流
- 简单代码实现“网站维护中”“coming soon” 效果
- 使用Topshelf创建Windows 服务
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- ubuntu安装多个版本的CUDA并随时切换
- 如何在Ubuntu 18.04(实体机)上配置OpenWRT的开发环境
- Android 组合控件实现布局的复用的方法
- Android编程实现播放音频的方法示例
- 使用VSCode的Remote-SSH连接Linux进行远程开发
- Android ListView之EfficientAdapte的使用详解
- JavaScript:ECMAScript 2020中的新增功能
- Android编程实现播放视频的方法示例
- Android开发之RadioGroup的简单使用与监听示例
- Android 根据手势顶部View自动展示与隐藏效果
- Vue 3 如何安装
- Android实现状态栏(statusbar)渐变效果的示例
- Linux中stat函数和stat命令使用详解
- Android Beam 文件传输失败分析与解决方法
- Android实现修改状态栏背景、字体和图标颜色的方法