文章
· 五月 15, 2023 阅读大约需 4 分钟
第五章 介绍Productions - 业务流程和业务逻辑

第五章 介绍Productions - 业务流程和业务逻辑

业务流程和业务逻辑

本章描述业务流程中支持的逻辑种类。

介绍

业务流程是production的中间部分。它们接受来自production内部主机类(业务服务或业务流程)的请求,然后处理请求或将它们转发到production内部的其他主机类进行处理。

建议在production中进行以下分工:使用业务服务从生产外部接收输入并将其(作为消息)简单地转发到production中。使用业务流程来处理任何需要的业务逻辑。使用业务操作从生产内部接收消息,并简单地为生产外部的目的地生成输出。也就是说,将业务逻辑集中在业务流程中。

因此,IRIS 为业务流程中的复杂逻辑提供了广泛的支持,并且该逻辑可以由非技术用户定义。

首先,业务流程可以包含自己的复杂逻辑。它还可以使用以下可重复使用的物品:

数据转换计算消息内容并将更改应用到消息内容。

业务规则在决策点更改业务流程的行为,或根据消息类型、消息内容或消息来源将消息发送到特定目的地。

0 0
0 75
InterSystems 开发者社区汇聚了 17,855 位出色的开发者
InterSystems IRIS 程序员可以在这里学习、分享、了解最新动态、成长,以及收获快乐!
文章
· 五月 26, 2023 阅读大约需 8 分钟
IRIS镜像配置(4)_配置后的步骤

题外话:我刚刚翻译了InterSystems专家Bob Binstock的Caché Mirroring 101:简要指南和常见问题解答。 尽管题目是Caché Mirror 101, 而且是写于2016年,但因为讲解的都是Mirror的基本原理,所以在大量使用IRIS的今天也完全适用。

前面的3篇文章,包括了配置Mirror的各个方面。如果您照着操作,现在已经有了一个工作的mirror环境,并加入了您的数据库。然而,还没完,这篇我来讨论一下后面的工作,首先的问题是:

Mirror不复制什么

0 0
0 138

第五十七章 镜像中断程序 - 在手动故障转移之前确定备份是否处于活动状态

在手动故障转移之前确定备份是否处于活动状态

假设有两个名为 IRIS AIRIS B 的故障转移成员。如果 ^MIRROR 例程确认备份 (IRIS B) 在与主 (IRIS A) 丢失联系时处于活动状态,因此具有最新的来自 IRIS A 的日志数据,可以使用单个过程手动进行故障转移。当连接因主要故障而丢失时,不会造成数据丢失的风险。但是,当发生多个故障时,活动备份可能没有来自主服务器的所有最新日志数据,因为主服务器在连接丢失后继续运行了一段时间。

使用以下过程确定备份是否处于活动状态:

1 0
1 58

第四十二章 开发Productions - ObjectScript Productions - 使用记录映射器 - 通用控制字符

通用控制字符

在记录映射中,可以在多个位置使用文字控制字符和可打印字符。例如,可以指定制表符(常用控制字符)和逗号(可打印字符)作为分隔符。还可以将控制字符指定为填充字符或记录终止符之一。要在这些上下文之一中指定控制字符,必须为该字符指定十六进制转义序列。如果选择空格或制表符作为填充字符,或选择 CRLF(回车后跟换行符)、CRLF 作为 Record Mapper 中的记录终止符,管理门户会自动生成十六进制表示。如果指定另一个控制字符作为填充字符或记录终止符或任何控制字符作为分隔符,则必须在相应的表单域中输入十六进制表示。下表列出了常用控制字符的十六进制转义序列:

0 0
0 67
文章
· 七月 7, 2023 阅读大约需 2 分钟
FAQ常见问题系列 - Production基础问题
  1. 主机和备机为什么总是切换,会不会是与仲裁机连接的心跳检测出问题了
    • 查看镜像状态 打开管理门户 - ‘系统操作’ - ‘镜像监视器’
    • 如遇到主备切换,可以通过消息日志查看切换原因 打开管理门户 - ‘系统操作’ - ‘系统日志’ - ‘消息日志’
  2. 基础问题怎么查询
    • 通过管理门户查看日志 打开管理门户 - ‘系统操作’ - ‘系统日志’ - ‘消息日志’
    • 通过监控告警日志 告警日志文件:<intall-dir>/mgr/alerts.log文件
1 0
0 119

第六十一章 开发Productions - ObjectScript Productions - 部署Production

部署Production

通常,在开发系统上开发Production,然后在测试部署上完成并测试生产后,将其部署在实时生产系统上。本页介绍如何使用管理门户打包开发系统中的部署,然后将其部署到另一个系统上。它还描述了如何开发和测试对生产的更改,然后将这些更新部署到使用实时业务数据运行的系统。

0 0
0 53

嗨,开发者们!

我们很高兴邀请您参加Idea-A-Thon创意马拉松,展示与 InterSystems 技术相关的好创意:

🎁第二届 InterSystems Idea-A-Thon创意马拉松🎁

8 月 1 日8 月 21 日期间,根据本次创意马拉松的主题发布创意,即可获得即可获得创意达成奖

最重要的是,此次赛事InterSystems的员工和社区成员都可以参与!

2 0
0 79
文章
· 八月 14, 2023 阅读大约需 2 分钟
调试管理门户加载图片失败的原因

在提交的 WRC case中(Intersystems 全球技术支持响应中心),我们经常看到客户提出有关新 Web 网关设置的问题,其中管理门户加载一半,但不显示图像。本文将解释为什么会出现此错误,以及如何修复它。本说明主要针对服务 InterSystems IRIS 实例的 Web 网关,但相同的说明也应适用于服务 Caché 实例的 CSP 网关。

问题:

1 0
0 58
文章
· 八月 26, 2023 阅读大约需 3 分钟
从患者端开始,建立全国统一的个人电子病历

今年两会期间,有多名两会委员联名提出了《关于建设全国统一医院电子病历系统的提案》,国家卫健委相关部门也马上给予回应,称正在研究建立全国统一的电子健康档案、电子病历。结合数字中国的主要目标之一,让数据多跑腿,群众少走路,在这一背景下,从患者端开始,建立全国统一的电子病历APP已经变得迫切而重要。这不仅有助于提高医疗服务的效率和质量,还能够让患者更好地参与到医疗决策中,实现信息的共享和整合。

电子病历与患者共享的必要性和重要性

0 0
0 99
文章
· 九月 3, 2023 阅读大约需 2 分钟
第十七章 ObjectScript - 使用宏和包含文件include file

第十七章 ObjectScript - 使用宏和包含文件

使用宏和包含文件

如前所述,可以定义宏并稍后在同一类或例程中使用它们。更常见的是,在包含文件中定义它们。

Macros

ObjectScript 支持定义替换的宏。定义可以是一个值、整行代码或(使用 ##continue 指令)多行。

要定义宏,请使用#define 指令或其他预处理器指令。例如:

#define macroname <definition> 

要引用宏,请使用以下语法:

$$$macroname

或者:

$$$macroname(arguments)

使用宏来确保一致性。例如:

0 0
0 40
文章
· 九月 20, 2023 阅读大约需 2 分钟
第三十二章 Objects

[toc]

第三十三章 Objects - OREFs

OREFs

对象类的 %New() 方法创建一个内部内存结构来包含对象的数据,并返回指向该结构的 OREF(对象引用)。 OREFIRIS 中的一种特殊值。应该记住以下几点:

  • 在终端中,OREF 的内容取决于所使用的语言:
    • ObjectScript 中,会看到一个由数字、@ 符号和类名称组成的字符串。
    • Python 中,会看到一个包含类名和内存中 18 个字符的唯一位置的字符串。

例如:

0 0
0 59
文章
· 十月 26, 2023 阅读大约需 10 分钟
FHIR CDS Hooks

CDS Hooks是FHIR生态下一个决策支持架构,是SMART(Substitutable Medical Applications and Reusable Technologies, 可替代的医学应用和可复用技术)下的一个项目。

FHIR标准下也有一个决策支持相关的模块 - FHIR的Clinical Reasoning模块。它和CDS Hooks是有区别的:

FHIR的Clinical Reasoning模块提供一系列资源模型和工件,用于构建决策支持相关的规则、医嘱集、临床协议和质量指标,并基于此对特定患者和人群进行评估,进而产生决策行为。它构建的是本地决策支持体系。

而CDS Hooks提供一个决策支持架构,打通外部决策支持系统和本地的决策数据源、业务流程。

0 0
0 80

想必大家都听说过 FHIR 是解决系统间所有互操作性和兼容性问题的灵丹妙药和解决方案。就在这里,我们可以看到他手持一份 FHIR 资源,愉快地享受其中:

但对于我们这些普通人,我们将做一个小小的介绍。

什么是 FHIR?

让我们直接进入定义:FHIR(Fast Healthcare Interoperability Resource)是由HL7(Health Level 7标准组)开发的一种互操作性标准,旨在实现医疗行业中不同系统之间的电子医疗数据交换。

FHIR 从根本上基于哪些技术?

主要是通过 REST API 和 JSON 格式进行 HTTP 调用的结合(尽管它可以是 XML 以及我们可用的任何其他通信,具体根据我们的使用情况)。

1 0
0 61
文章
· 十二月 17, 2023 阅读大约需 2 分钟
第三十八章 其他特殊主题

第三十八章 其他特殊主题

类和属性参数

  • XMLNAME
  • XMLSEQUENCE
  • XMLUNSWIZZLE
  • XMLPREFIX
  • XMLIGNOREINVALIDTAG
  • XMLIGNOREINVALIDATTRIBUTE

控制元素的关闭

XML 中,仅包含属性的元素可以用以下任一方式表示:

0 0
0 21

第十五章 创建Callout Library - 处理 UNIX 信号处理错误

处理 UNIX 信号处理错误

UNIX 及相关操作系统下运行时,如果进程收到信号,某些系统调用可能会失败,最常见的是打开、读取、写入、关闭、ioctl 和暂停。如果函数使用任何这些系统调用,代码必须能够区分真正的错误、Ctrl-C 和应重新启动的调用。

以下函数允许检查异步事件并在 $ZF 中设置新的警报处理程序。函数声明包含在 iris-cdzf.h 中:

sigrtclr()

int sigrtclr(); — 清除重试标志。应在使用 sigrtchk() 之前调用一次。

dzfalarm()

int dzfalarm(); — 建立新的 `SIGALRM 处理程序。

进入 $ZF 时,会自动保存先前的处理程序。退出时会自动恢复。用户程序不应改变任何其他信号的处理。

0 0
0 22
文章
· 三月 14 阅读大约需 6 分钟
教程:将 OpenAI 添加到互操作性生产中

人工智能(AI)最近受到广泛关注,因为它可以改变我们生活的许多领域。更好的计算机能力和更多数据帮助人工智能完成了许多惊人的事情,例如改进医学测试和制造自动驾驶汽车。人工智能还可以帮助企业做出更好的决策,提高工作效率,这也是人工智能越来越流行和广泛应用的原因。如何将 OpenAI API 调用集成到现有的 IRIS 互操作性应用程序中?

0 0
0 28

2024年3月29日-3月31日,由国家卫生健康委医院管理研究所主办、《中国数字医学》杂志社有限公司承办的“2024中华医院信息网络大会(CHINC)”将在青岛国际会展中心(红岛馆)举办。InterSystems诚邀您莅临展会,我们带来了内容丰富的Demo演示,包括:InterSystems IRIS 2024.1新特性、 InterSystems IRIS矢量存储和矢量查询、InterSystems FHIR数据资产化解决方案,以及InterSystems IRIS医疗版互联互通套件解决方案。

2024 CHINC期间,InterSystems在合作伙伴东华医为展位(B3馆-A02)设立Demo演示区,即日起即可预约现场Demo咨询,欢迎点击【此处】注册预约。

0 0
0 24

你好,开发者!

你们中的许多人在 Open Exchange 和 Github 上发布了 InterSystems ObjectScript 库。

但对于开发者来说,如何简化项目的使用和协作呢?

在本文中,我想介绍一种简单方法,只需将一组标准文件复制到你的仓库中,就可以启动任何 ObjectScript 项目和对其做出贡献。

我们开始吧!

0 0
0 154
文章
· 一月 10, 2021 阅读大约需 17 分钟
RESTful API (cn)

RESTful 应用程序编程接口 (API) 设计和文档编制初学者指南。 通过示例,您将学习一些常见的 RESTful API 模式。

在阅读之前

您需要知道

  • 如何在 Ensemble 中创建 RESTful Web 服务
  • 如何在 Ensemble 中使用 RESTful Web 服务
  • 如何传递服务参数
  • 如何返回服务结果

什么是服务 API?

什么是应用程序编程接口? 是具体化的东西吗? 是单一编程单元吗? API 的作用是什么? 在我看来,API 是由程序代码以间接方式决定的。 但完全定义的 API 是由运行可执行程序的容器(由部署设置控制)提供的。 因此,我宁愿将 API 定义为服务的公共描述。 该描述可以是人类可读的,也可以仅机器可读, 或者两者均可。 API 用于与将要使用服务的人员共享有关服务的基本信息。 API 说明了服务的作用、使用环境、功能以及管理的数据结构等。

0 0
0 152
文章
· 一月 11, 2021 阅读大约需 3 分钟
类、表和Globals——工作原理

当我向技术人员介绍InterSystems IRIS时,我一般会先讲其核心是一个多模型DBMS。

我认为这是其主要优势(在DBMS方面)。数据仅存储一次。您只需访问您想用的API。
- 您想要数据的概要?用SQL!
- 您想用一份记录做更多事情?用对象!
- 想要访问或设置一个值,并且您知道键?用Globals!

乍一看挺好的,简明扼要,又传达了信息,但当人们真正开始使用InterSystems IRIS时,问题就来了。类、表和Globals是如何关联的?它们之间有什么关系?数据是如何存储的?

本文我将尝试回答这些问题,并解释这些到底是怎么回事。

第一部分 模型偏见

处理数据的人往往对他们使用的模型有偏见。

开发者们把数据视为对象。对他们而言,数据库和表都是通过CRUD(增查改删,最好是基于ORM)交互的盒子,但底层的概念模型都是对象(当然这对于我们大多数使用面向对象编程语言的开发者来说没错)。

而DBA大部分时间都在搞关系型DBMS,他们把数据视为表。对象只是行的封装器。

对于InterSystems IRIS,持久类也是一个表,将数据存储在Global中,因此需要进行一些澄清。

1 0
0 107
文章
· 二月 17, 2021 阅读大约需 1 分钟
第三十七章 Caché 变量大全 $ZPARENT 变量

第三十七章 Caché 变量大全 $ZPARENT 变量

包含当前进程的父进程的ID

大纲

$ZPARENT
$ZP

描述

$ZPARENT包含使用JOB命令创建当前进程的父进程的ID。如果当前进程不是使用JOB命令创建的,则$ZPARENT包含0(零)。

不能使用SET命令修改此特殊变量。尝试这样做会导致<SYNTAX>错误。

第三十八章 Caché 变量大全 $ZPI 变量

包含pi的值。

大纲

$ZPI

描述

$zpi包含数值常量Pi到小数点后18位的值(3.141592653589793238)。

该值经常用于三角函数,例如正弦函数$ZSIN

0 0
0 41
文章
· 三月 5, 2021 阅读大约需 3 分钟
[InterSystems IRIS 初探] 让我们使用互操作性

大家好!

InterSystems IRIS 有一个名为 Interoperability(互操作性)的菜单。

它提供了轻松创建系统集成(适配器、记录映射、BPM、数据转换等)的机制,因此可以轻松连接不同的系统。

数据中继过程中可以包括各种操作,例如:为了连接没有正常连接的系统,可以根据目标系统的规范来接收(或发送)数据。 此外,在发送数据之前,可以从其他系统获取和添加信息。 还可以从数据库(IRIS 等)获取和更新信息。

在本系列文章中,我们将讨论以下主题,同时查看 示例代码 以帮助您了解工作原理以及在系统中集成互操作性时需要进行哪种开发。

1 0
0 71
文章
· 三月 16, 2021 阅读大约需 5 分钟
第十一章 SQL隐式联接(箭头语法)

第十一章 SQL隐式联接(箭头语法)

InterSystems SQL提供了一个特殊的–>运算符,作为从相关表中获取值的快捷方式,而在某些常见情况下无需指定显式的JOIN即可。可以使用此箭头语法代替显式联接语法,也可以将其与显式联接语法结合使用。箭头语法执行左外部联接。

箭头语法可用于类的属性或父表的关系属性的引用。其他类型的关系和外键不支持箭头语法。不能在ON子句中使用箭头语法(–>)。

属性引用

可以使用- >操作符作为从“引用表”获取值的简写。
例如,假设定义了两个类:Company:

0 0
0 112
文章
· 三月 25, 2021 阅读大约需 8 分钟
将 Python ODBC 连接到 IRIS 数据库 - 第 2 条快速笔记

关键字:PyODBC,unixODBC,IRIS,IntegratedML,Jupyter Notebook,Python 3

目的

几个月前,我简单谈到了关于“将 Python JDBC 连接到 IRIS”的话题。我后来频繁提起它, 因此决定再写一篇 5 分钟的笔记,说明如何“将 Python ODBC 连接到 IRIS”。

在 Windows 客户端中通常很容易设置 ODBC 和 PyODBC,不过我每次在 Linux/Unix 风格的服务器中设置 unixODBC 和 PyODBC 客户端时,都会遇到一些麻烦。

有没有一种简单连贯的方法,可以不安装任何 IRIS,在原版 Linux 客户端中让 PyODBC/unixODBC 针对远程 IRIS 服务器运行?

0 0
0 257

Caché Shadow

上次介绍了使用InterSystems IRIS/Caché的Reporting类型的异步镜像成员获取数据变更。但早期的Caché并不支持镜像,例如Caché 2008,它只支持Shadow。

在这些早期版本上是否也可以实利用Journal实现类似CDC的功能呢?答案是肯定的,就是利用Shadow服务器的Dejournaling filter routine (Dejournaling过滤器routine)。

Dejournaling filter routine

InterSystems Caché的 Dejournaling过滤器routine是一个用户自定义的routine,用于在Shadow服务器上过滤Journal记录。当配置了Dejournaling 过滤器后,Shadow服务器在redo journal前会自动调用Dejournaling过滤器routine。该routine传入参数以下:

0 0
0 351
文章
· 四月 3, 2021 阅读大约需 12 分钟
第十五章 使用管理门户SQL接口(二)

第十五章 使用管理门户SQL接口(二)

过滤模式内容

Management Portal SQL界面的左侧允许查看模式(或匹配筛选器模式的多个模式)的内容
1. 通过单击SQL interface页面顶部的Switch选项,指定希望使用的名称空间。
这将显示可用名称空间的列表,可以从中进行选择。
2. 应用筛选器或从模式下拉列表中选择模式。

可以使用Filter字段通过输入搜索模式来筛选列表。
可以在一个模式或多个模式中筛选模式,或筛选表/视图/过程名(项)。
搜索模式由模式名、点(.)和项目名组成——每个名称由文字和通配符的某种组合组成。字面值不区分大小写。
通配符是:

0 0
0 66