第二十六章 开发Productions - ObjectScript Productions - 定义业务流程

news2024/11/22 9:55:46

文章目录

  • 第二十六章 开发Productions - ObjectScript Productions - 定义业务流程
  • 介绍
  • 业务逻辑工具的比较

第二十六章 开发Productions - ObjectScript Productions - 定义业务流程

业务流程负责生产中的更高级别处理。本页介绍它们并讨论如何设计和开发业务流程类。

介绍

按照惯例,业务流程包含大部分的生产逻辑。它们可以包含自己的逻辑,可以调用业务规则和数据转换,其中每一个都包含专门的逻辑。下图说明了这一点:

在这里插入图片描述

请注意,此图仅显示请求消息。

业务流程有许多可能的用途。在某些情况下,业务流程协调一个或多个外部应用程序中的一系列操作。它包含确定处理的逻辑,并根据需要调用业务操作或其他业务流程。业务流程还可以包括人机交互;有关详细信息,请参阅开发工作流。

InterSystems IRIS 提供以下一般类型的业务流程:

  • BPL 流程,基于类 Ens.BusinessProcessBPL

只有 BPL 流程支持业务流程执行上下文和逻辑的图形显示。

  • 路由进程,基于类 EnsLib.MsgRouter.RoutingEngineEnsLib.MsgRouter.VDocRoutingEngine

IRIS 提供一组类来路由特定类型的消息。要使用这些子类,通常不需要编码。有关讨论这些类的书籍列表,请参阅 Introducing Interoperability Productions 中的业务流程类型。

  • 自定义业务流程,基于类 Ens.BusinessProcess

产品可以包括这些业务流程的任意组合。

注意Ens.BusinessProcessBPLEnsLib.MsgRouter.RoutingEngineEnsLib.MsgRouter.VDocRoutingEngine都是基于Ens.BusinessProcess

业务逻辑工具的比较

可能会结合使用的数据转换和业务规则来开发业务流程。数据转换和业务规则旨在包含特定类型的逻辑:

  • 数据转换改变消息
  • 业务规则返回值或指定发送消息的位置(或可能两者)

然而,在业务流程、数据转换和业务规则中可用的选项之间存在重叠。为了帮助确定如何创建这些项目,下表对它们进行了比较。它讨论了 BPL(最常见的业务流程)、DTL(最常见的数据转换)和业务规则。

OptionSupported in BPL?Supported in DTL?Supported in business rules?
Retrieving information about the business processYes (business execution context variables)NoNo
Assigning a valueYes ()Yes (assign action)Yes (assign action)
Calling a data transformationYes ()Yes (subtransform action)Yes (send action)
Calling a business ruleYes ()NoYes (delegate action)
Calling custom codeYes ()Yes (code action)No
Invoking SQLYes ()Yes (sql action)No
Conditional logicYes (, , ) Yes (if action)No
LoopingYes (, , )Yes (for each action )No
Sending an alertYes ()NoNo
Including trace elementsYes ()Yes (trace action)Yes (trace action)
Sending a request message to a business operation or processYes ()NoYes (send action)
Waiting for a response from asynchronous requestsYes ()NoNo
Deleting the messageNoNoYes (delete action)
Performing error handlingYes (, , and others)NoNo
Delaying execution for a specified duration or until a future timeYes ()NoNo
Sending a primary response before execution is completeYes ()NoNo
Using XPATH and XSLTYes (, )NoNo
Storing a message temporarily to acknowledge a milestoneYes ()NoNo

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/614493.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

三分钟快速了解什么是MES系统

近年来在制造业的推动下,大家是否会经常听到MES系统这一词,但是对于其具体能解决什么问题却不是很清晰。接下来,请允许我用一个简单的故事来让大家快速地了解一下到底什么是MES系统以及MES系统能够解决什么问题。本文仅限于科普,没…

STM32F103xx 的USART1 移植到STM32F105RBT6

1. STM32F103 和 STM32F105 的时钟配置区别&#xff0c;STM32F105 默认使用的外部晶振是25Mhz&#xff0c;需要改成8Mhz stm32f10x.h #if !defined HSE_VALUE#ifdef STM32F10X_CL#define HSE_VALUE ((uint32_t)8000000) /*!< Value of the External oscillator in Hz …

初学Mybatis

1、Mybatis概述 Mybatis基于java的持久层框架&#xff0c;内部封装了JDBC&#xff0c;开发者只需要关注SQL语句 特点 1、sql语句在xml里&#xff0c;便于统一管理和优化 2、解除sql与程序代码耦合&#xff1a;通过DAO层&#xff0c;将业务逻辑和数据访问逻辑分离 提供映射标签&…

Spark简介和三种部署方式

1.Spark简介 1.1 Spark介绍 开源集群计算系统&#xff0c;致力于更快的处理数据 Both fast to run and fast to wrtie Spark 是专为大规模数据处理而设计的快速通用的计算引擎 Spark 可以完成各种运算&#xff0c;包括 SQL 查询、文本处理、机器学习等 Spark由Scala语言开发&a…

【618期间】超过200小时的课程全都有优惠,全年最好的加入有三AI学习的时间来了~...

正值2023年618期间&#xff0c;既然是全民购物节&#xff0c;有三AI所有付费的视频课程开启优惠活动&#xff0c;即日起至节日结束&#xff08;6月18日晚23:59&#xff09;。 当前已有课程包括数据使用/模型分析/图像分类/图像分割/目标检测/图像生成/图像翻译/图像增强/视频分…

Promise.allSettled使用

1、const apiList await Promise.allSettled([systemApi]).then((result: any) > { if (result[0].status fulfilled) { console.log(result[0].value) return result[0].value.data } }) console.log(apiList, apiList) 2、 const systemApi new Promise((resolve, rej…

Selenium Webdriver原理、架构过往今生

下方查看历史精选文章 重磅发布 - 自动化框架基础指南pdfv1.1大数据测试过程、策略及挑战 测试框架原理&#xff0c;构建成功的基石 在自动化测试工作之前&#xff0c;你应该知道的10条建议 在自动化测试中&#xff0c;重要的不是工具 简介 Selenium是一种流行的自动化测试工具…

[深度学习入门案例2]基于卷积神经网络与Keras构建人脸识别模型

文章目录 一、工具与环境 二、深度学习环境的搭建 三、基于卷积神经网络人脸识别模型的构建与测试 1.核心代码 第一步&#xff1a;采集自己和他人的人脸特征数据&#xff0c;分别对应数据标签0和1 第二步&#xff1a;训练识别人脸特征的模型&#xff0c;并将模型保存为.h5…

网络排障全景指南手册v1.0pdf 全网发布

大家好&#xff0c;这里是极客重生&#xff0c;我是大师兄&#xff0c;我把之前关于丢包排障文章整理了一下&#xff0c;形成一个网络丢包排障手册pdf文档 &#xff0c;希望可以帮助大家快速排障网络问题。 当前版本主要针对是服务端网络问题排障&#xff0c;包括网卡&#xff…

怎么将文件转为扫描件

推荐两个工具&#xff0c;也算是给自己记一下 1、手机&#xff1a;扫描全能王APP 太好使了&#xff0c;可以直接拍照并转换为扫描件 不开会员的话会出现水印&#xff0c;因为我都是自己用或者交作业就没开 支持读取相册&#xff0c;一次一张、多张都可以 如果不想要水印也…

chatgpt赋能python:Python制图:让数据图像化

Python制图&#xff1a;让数据图像化 数据可视化是近年来越来越流行的技术&#xff0c;其能够将大量的数字和信息变成直观有趣的图形。Python是一个广泛使用的编程语言&#xff0c;也是制图利器。Python的绘图库非常丰富&#xff0c;包括流行的Matplotlib、Seaborn和Plotly等&…

进程的控制

文章目录 1. Linux线程创建和等待2. 线程ID3. 线程的局部存储4. 分离线程 1. Linux线程创建和等待 这是前面写过的创建线程的代码&#xff0c;现在我们把线程的ID打印看一下&#xff1a; 我们可以看到线程的id特别大&#xff0c;这是为什么呢&#xff1f;我们后面再说。 如果…

一文简介Spring的IOC和AOP

1、IOC 概念&#xff1a;所谓控制反转&#xff0c;就是把原先我们代码里面需要实现的对象创建、依赖的代码&#xff0c;反转给容器来帮忙实现。当应用了IoC&#xff0c;一个对象依赖的其它对象会通过被动的方式传递进来&#xff0c;而不是这个对象自己创建或者查找依赖对象。 …

飞桨AI Day落地澳门高校!助力大湾区打造产教融合新范式

为了推动大湾区建设产教融合的人工智能技术生态&#xff0c;加快培养助力社会经济高质量发展的复合型 AI 人才&#xff0c;飞桨校园 AI Day 登陆澳门&#xff0c;开展《AI 技术发展趋势与人才培养》主题讲座 &#xff0c;邀请多位澳门科技大学及百度嘉宾&#xff0c;解读当下AI…

【中兴ZXV10 B860A1.1】

这里写自定义目录标题 开启adb开启adb 部分盒子的ADB调试位置,在设置页面中可以有开启开发者选项。地区界面不同,位置不同有的在设置里。 如果找不到,直接按住遥控器【返回】不放,5秒后,快速不停按【左键】。 点击【打开ADB调试】这时侯让你输入密码 下载zikaikeji.ap…

chatgpt赋能python:Python如何创建集合——你必须知道的所有知识

Python 如何创建集合——你必须知道的所有知识 作为一位有10年 Python 编程经验的工程师&#xff0c;我可以告诉你&#xff0c;Python 集合是编程中非常重要的一部分。如果你不知道如何创建集合&#xff0c;那么你可能会错过很多东西。所以&#xff0c;让我们深入探讨 Python …

提供一个使用Npoi生成excel文档的例子,应能帮助到各位使用Npoi的朋友,因为具有多种情形处理

提供一个使用Npoi生成excel文档的例子&#xff0c;应能帮助到各位使用Npoi的朋友&#xff0c;因为具有多种情形处理 照例&#xff0c;文章开始之前&#xff0c;先看下最终效果&#xff1a; 实现的需求点如下&#xff1a; 1.第一行大标题加了背景色&#xff0c;且这个背景色&…

解密 JS 参数:逆向工程的实用技巧

大家好&#xff0c;我是安果&#xff01; 大部分网站都会对关键参数进行加密&#xff0c;JS 逆向时&#xff0c;我们首要任务是定位参数具体的加密逻辑 常见方式包含&#xff1a;关键字搜索、堆栈调试、XHR 及事件监听、AST 内存漫游、JS Hook 注入等 本篇文章以 JS Hook 注入定…

惊爆!Python打造花式照片墙!

大家注意&#xff1a;因为微信最近又改了推送机制&#xff0c;经常有小伙伴说错过了之前被删的文章&#xff0c;比如前阵子冒着风险写的爬虫&#xff0c;再比如一些限时福利&#xff0c;错过了就是错过了。 所以建议大家加个星标&#xff0c;就能第一时间收到推送。&#x1f44…

NXP IMX8M + Ethercat+Codesys工业实时运动控制解决方案

面向边缘计算应用的全新i.MX 8M Plus异构应用处理器&#xff0c;搭载专用神经网络加速器、独立实时子系统、双摄像头ISP、高性能DSP和GPU。 恩智浦半导体宣布推出i.MX 8M Plus应用处理器&#xff0c;进一步丰富其业界领先的产品组合。这是恩智浦首个集成了专用神经处理引擎&…