文章
· 七月 20, 2022 阅读大约需 1 分钟
如何将IRIS的启动/停止状态输出到一个文件中

IRIS 命令qlist或list可以用来把输出结果输出到一个文件。

qlist的结果以文本格式输出,以^为分隔符。

第三部分,以^为界,包含运行状态数据。

$ iris qlist IRIS > iris.log

$ cat iris.log

IRIS^/Applications/iris^2022.1.0.164.0^running, since Thu Apr 7 16:37:03 2022^iris.cpf^1972^52773^0^alert^IRIS^^^/Applications/iris

在列表的情况下,以status:为前缀的一行包含运行状态数据。

对于基于Unix的操作系统

$ iris list IRIS > iris.log

$ cat iris.log

0 0
0 192
文章
· 七月 28, 2022 阅读大约需 2 分钟
华山论剑-应用集成平台

应用集成平台市场上产品众多,商家专家观点纷纭,莫衷一是。Gartner公司从用户角度出发,搭建了Peer Insight “大众点评”平台,让用户能够为自己使用的产品发声,对各个产品打分。以下是来自用户的声音,供参考。

第一款产品是微软的BizTalk,综合得分3.9。

第二款产品是InterSystems的Ensemble,综合得分4.6。

第三款产品是IBM的WebSphere Enterprise Service Bus,综合得分3.8。

0 0
0 120
文章
· 八月 5, 2022 阅读大约需 3 分钟
第十八章 源代码文件 REST API 教程(三)

第十八章 源代码文件 REST API 教程(三)

编译文件

Compile 方法编译传入 JSON 数组中名称指定的源代码文件。例如,要编译 xyz.mac,请发布以下内容:

http://localhost:52773/api/atelier/v1/INVENTORY/action/compile

使用以下 JSON 消息:

["xyz.mac"]

该方法返回:

0 0
0 90
文章
· 八月 20, 2022 阅读大约需 3 分钟
第七章 配置命名空间(二)

第七章 配置命名空间(二)

将全局、例程和包映射添加到命名空间

除了可以访问映射数据库中的全局变量和例程之外,还可以映射来自相同或不同系统上的其他数据库的全局变量、例程和类包。这允许对可以存在于任何地方的数据进行简单引用,并且是命名空间的主要特征。可以映射整个全局变量或全局变量;此功能允许数据轻松跨磁盘。

注意:映射按字母顺序排序;如果指定了下标,则按名称和下标排序。

单击适当的选项开始映射:

  • Global Mappings
  • Routine Mappings
  • Package Mappings
  • Mapping Data to All Namespaces

以下是映射如何在示例航空公司预订应用程序中工作的示意图:

数据和程序存储在数据库数据库中,即物理存储位置,并由名称空间引用,即逻辑引用。

0 0
0 99
文章
· 八月 31, 2022 阅读大约需 4 分钟
第十八章 维护本地数据库(三)

第十八章 维护本地数据库(三)

截断数据库

截断数据库会将数据库末尾的可用空间返回到底层文件系统。数据库在压缩后通常会被截断,这会将可用空间移动到数据库的末尾。

截断数据库时,指定数据库的目标大小。如果在数据库末尾有足够的可用空间,则该操作会删除足够的空间以将数据库减小到目标大小;如果没有,它会删除所有可以删除的内容。 (要了解数据库的可用空间到底有多少,请压缩数据库;无需完成显示当前总可用空间和末尾数量的操作。)

注意:此功能不适用于具有原始卷的数据库。

0 0
0 69
文章
· 九月 15, 2022 阅读大约需 6 分钟
创建 QEWD 微服务

如果你读了我之前介绍QEWD微服务的文章,希望你会渴望了解如何使用它们。 所以在这篇文章中,我将解释你需要知道的东西,以便开始使用。

如果你在QEWD资源库中,你会发现目录:

https://github.com/robtweed/qewd/blob/master/example/jwt

在我之前关于JSON网络令牌(JWTs)和QEWD的文章中,我用这个示例应用程序来解释如何使用JWTs。 这个示例应用程序还演示了如何设置一个简单的微服务,在这种情况下是一个处理用户认证的服务。 所以,现在让我深入了解一下这个例子应用程序的这方面内容。

如果你想使用QEWD微服务,你也必须使用JWTs--它们提供了一种方法,用户的认证和会话可以被多个独立的QEWD服务器交叉通信和处理。 因此,请看一下启动文件:

0 0
0 156
文章
· 九月 19, 2022 阅读大约需 3 分钟
第三十七章 在 UNIX®、Linux 和 macOS 上使用 IRIS(二)

第三十七章 在 UNIX®、Linux 和 macOS 上使用 IRIS(二)

在 UNIX® 上启动

IRIS 实例使用以下资源来控制启动、停止和创建新进程:

  • install-dir\mgr 目录中的 iris.ids 文件。
  • 共享内存。

守护进程资源锁

IRIS 使用建议文件锁定来防止同一实例在不同机器上的多次启动。使用咨询文件锁定,单个锁定文件(在本例中为 install-dir/mgr 目录中的文件 ilock)可用于独占锁定多个资源。控制进程、写入守护进程和日志守护进程分别锁定锁定文件的一个单独部分。如果 ilock 文件的这一部分已被锁定,则启动将终止。不同守护进程持有的锁称为守护进程资源锁。

文件锁由进程持有,直到进程终止。因此,如果持有任何锁,则表明某个节点上的某个守护进程正在运行。但是,它并不表示实例是否健康并正常运行。

2 0
0 158
文章
· 九月 24, 2022 阅读大约需 14 分钟
第四十二章 使用多个 IRIS 实例(二)

第四十二章 使用多个 IRIS 实例(二)

控制 IRIS 实例

iris 命令支持终端以外的许多功能,并以 iris function instname arguments 格式调用,其中 instname 是在安装期间选择的实例名称,参数取决于函数。

重要提示: iris help 命令显示所有命令函数和参数; IRISHelp.html 文件位于 install-dir\Help 目录中。 iris 命令的某些功能在本文档中没有列出,但在帮助显示中显示。

1 0
0 183
文章
· 九月 30, 2022 阅读大约需 2 分钟
第二章 Caché 服务器页面简介 - 你应该知道

第二章 Caché 服务器页面简介 - 你应该知道

你应该知道什么

要高效使用 CSP,应该熟悉以下内容:

  • Caché objects and ObjectScript

  • HTML

  • JavaScript

  • SQL

CSP Samples

Caché 附带一组示例CSP 页面。要查看这些:

2 0
0 155
文章
· 十月 10, 2022 阅读大约需 3 分钟
第十二章 CSP 中的 HTTP 请求 - CSP 运行时环境

第十二章 CSP 中的 HTTP 请求 - CSP 运行时环境

CSP 的主要任务是提供动态内容以响应传入的 HTTP(超文本传输协议)请求。本节介绍 CSP 如何处理 HTTP 请求的基础知识。

HTTP 是一种简单的协议,其中客户端向服务器发出请求。 HTTP 是一种无状态协议;客户端和服务器之间的连接只持续为服务请求所需的时间。每个 HTTP 请求都包含一个请求标头,该标头指定请求类型(例如 GETPOST)、一个 URL 和一个版本号。请求还可能包含附加信息。 CSP 自动确定它应该处理哪些 HTTP 请求,将它们分派到运行在 Caché 服务器上的适当类,并将请求信息打包成易于使用的对象(例如对象中的 %CSP.Request)。

1 0
0 112
文章
· 十月 20, 2022 阅读大约需 5 分钟
在集成产品中压缩解压文件

在InterSystems IRIS医疗版里有一个文件压缩解压的适配器HS.Util.Zip.Adapter和对应的文件压缩解压业务操作HS.Util.Zip.Operations。集成产品可以使用它们进行文件的压缩和解压操作。这2个类的联机文档说明较少,这里介绍它们的使用方法。

1. 基础配置

InterSystems IRIS使用操作系统的压缩和解压缩能力,因此需要注册操作系统执行压缩解压的命令。

在管理门户的Health标签页下,选中配置注册(Configuration Registry):

在其中增加2个注册项目:

\ZipUtility\UnZipCommand\ZipUtility\ZipCommand,分别代表解压和压缩命令。适配器HS.Util.Zip.Adapter会检查这2个注册项并得到相应的命令。各个操作系统的命令并不一样,示例如下:

3 0
1 103
文章
· 十一月 5, 2022 阅读大约需 7 分钟
Caché实现SM4分组密码算法

0. 算法概述

SM4算法是一种分组密码算法。其分组长度为128bit,密钥长度也为128bit。加密算法与密钥扩展算法均采用32轮非线性迭代结构,以字(32位)为单位进行加密运算,每一次迭代运算均为一轮变换函数F。SM4算法加/解密算法的结构相同,只是使用轮密钥相反,其中解密轮密钥是加密轮密钥的逆序。

1. 密钥及轮密钥

密钥长度为128比特,表示为MK=(MK(0),MK(1),MK(2),MK(3)),其中MKi(i=0,1,2,3)为字。
轮密钥表示为(rk(0),rk(1),...,rk(31)),其中rk(i)(i=0,...,31)为32比特字。轮密钥由秘钥生成。

密钥及轮密钥

2 0
0 517
文章
· 五月 15 阅读大约需 1 分钟
一些 FHIR 互操作性适配器示例

各位开发者,大家好!

或许您不得不实现一些场景,这些场景不需要 FHIR 仓库但需要转发 FHIR 请求、管理响应,并且可能运行转换或在两者之间提取一些值。 在这里,您会找到一些可以使用 InterSystems IRIS For HealthHealthShare Health Connect 实现的示例。

在这些示例中,我使用了具有 FHIR 互操作性适配器HS.FHIRServer.Interop.Request 消息的互操作性生产配置。

第一个场景从头开始构建 FHIR 请求(可以来自文件,也可以来自 SQL 查询),然后将其发送到外部 FHIR 服务。图片

0 0
0 39
文章
· 一月 12, 2023 阅读大约需 10 分钟
IRIS, Caché监控指导 - 诊断报告和性能报告

InterSystems公司的技术支持中心WRC(World Response Center)提供的服务包括故障报修,升级和数据迁移支持等等。当客户报告了系统故障或性能问题给WRC时, 会被要求收集以下的两份报告,以了解系统的运行情况和性能表现,它们是:诊断报告(Diagnostic Report)和系统性能报告

诊断报告(Diagnostic Report)

有关诊断报告,您需要知道:

  1. 诊断报告是当前系统的运行状况的数据收集。
  2. 是给InterSystems技术支持工程师的,维护人员基本不需要读它。
  3. 当出现紧急故障需要重启系统时,先做一次诊断报告的收集,会对WRC在故障过后分析故障原因提供极大的便利。

报告收集的步骤

进入管理门户页面,“系统管理>诊断报告”(System Operation > Diagnostic Reports),点击运行

0 0
0 246
文章
· 一月 25, 2023 阅读大约需 3 分钟
第五十六章 历史监视器 - 基本指标

第五十六章 历史监视器

History Monitor 维护性能和系统使用指标的历史数据库。其主要目的是:

  • 提供性能基准并帮助分析性能问题。
  • 帮助分析一段时间内的系统使用情况以进行容量规划。

该数据库在 SYS.History 类包中定义并保存在 %SYS 命名空间中。数据库结构的所有细节都在那里发布,并且可以通过 SQL 或正常的持久对象访问访问数据。 SYS.History 中的类文档还包含对所有可用的单个属性、方法和查询的描述。

0 0
0 74
文章
· 二月 5, 2023 阅读大约需 1 分钟
IRIS小工具--如何以最简单的方式部署生产系统

通常,如果你想部署一个解决方案,你需要手动添加项目、配置你的查找表和默认配置。
如果您拥有执行这些操作的所有权限,那也没关系。如果您想部署到客户的生产服务器,但您没有权限,则需要在文档中指明系统部署必须执行的所有步骤。

0 0
0 180

开发者您好!

这里向介绍@Lorenzo ScaleseOpenAPI-Suite (一个用于从OpenAPI 3.0生成 ObjectScript 代码的工具集)。这个工具集在 2023 年 InterSystems 开发工具大赛的21 个参赛作品中获得专家提名第三名

3 0
1 313
文章
· 三月 14, 2023 阅读大约需 10 分钟
医疗行业的生态创新:如何实现数据利用和应用创新

本文根据InterSystems中国技术总监乔鹏( @Qiao Peng )的演讲“互联互通套件赋能数据利用与应用创新”整理而成。

IRIS医疗版互联互通套件的缘起与发展演进

来源HL7:正在到来的挑战

http://hl7.org/fhir/change.html

这是来自HL7官网上的一张图,描述了我们在医疗卫生行业面临的一些挑战,以及信息化建设在应对挑战中发挥的作用。当今,医疗卫生、生物学、信息技术有很强的融合趋势,加之社会变革带来的经济方面的需求,同时构成颠覆传统医疗卫生行业的因素。

这张图显示了从“被动医疗”转向“主动医疗”过程中信息的爆炸式增长,信息共享交换推动了我们对信息的利用,在这一进程中,医疗卫生信息化起着核心作用——而让信息更具价值,赋予信息标准化和互操作能力的过程,这也是InterSystems一直努力的方向,我们在国内支持大量医院实现了互联互通建设。在建设过程中,我们注意到项目的定量部分的建设成本占比是比较高的,很多的工作都花在了合规性和相关管理工具的开发上——应用标准的实施是有成本的,而对于标准的理解在各个项目上水平不尽相同,这就进一步影响了互联互通项目的建设成果。

1 0
0 290
文章
· 三月 27, 2023 阅读大约需 4 分钟
第十章 镜像架构和规划 - 仲裁器中断的影响

第十章 镜像架构和规划 - 仲裁器中断的影响

仲裁器中断的影响

仲裁器的中断对镜像的可用性没有直接影响。但是,如果在恢复仲裁器之前发生了自动故障转移以响应主中断场景中的主中断场景56,则备份无法自动接管。

备份中断的影响

在主应用程序可以恢复处理之前,某些应用程序可能会经历短暂的暂停(大约是 QoS 超时)。如果没有配置仲裁器,或者如果仲裁器在备份中断之前变得不可用,则经历的暂停可能会稍微长一些(大约是QoS 超时的三倍)。如果在恢复备份之前发生主要中断,则结果是整个镜像中断。

主要和仲裁联合中断的影响

这种情况的后果在响应主要中断情况的自动故障转移中进行了介绍。简而言之,如果备份可以联系主的 ISCAgent,它就会接管;如果不是,结果是整个镜像中断,手动干预强制备份成为主要可能是一个合适的选择。

0 0
0 99

第三十一章 配置镜像 - 删除镜像成员时删除镜像数据库属性

删除镜像成员时删除镜像数据库属性

当从镜像中删除成员时,始终可以选择从属于该镜像的镜像数据库中删除镜像属性。后果如下:

  • 如果保留镜像属性并稍后将 IRIS 实例恢复到镜像,数据库将自动添加到镜像,但必须先激活它们,然后才能赶上并同步(请参阅激活和赶上镜像数据库)。

但是,如果保留镜像属性,则除非先执行以下操作之一,否则无法删除该数据库:

将成员恢复到从中删除它的同一个镜像。 (如果该成员是主故障转移成员,这不是一个选项,因为镜像不再存在。)然后可以从镜像中删除一个或多个数据库(请参阅从镜像中删除镜像数据库)并在以下情况下删除它们你希望。

  • 使用 ^MIRROR 例程的删除一个或多个镜像数据库选项(请参阅使用 ^MIRROR 例程)从一个或多个数据库中删除镜像属性,然后根据需要删除它们。

0 0
0 144
文章
· 五月 2, 2023 阅读大约需 5 分钟
第四十六章 管理镜像 - 更新镜像成员网络地址

第四十六章 管理镜像 - 更新镜像成员网络地址

当必须更新一个或多个镜像成员(包括主要成员)的一个或多个网络地址时,如编辑或删除故障转移成员中所述,通常会在主要成员上更改此信息。当您保存更改时,主节点将它们传播到所有连接的镜像成员(并在它们重新连接时传播到断开连接的成员)。不能更改连接的备份或异步成员上的任何镜像成员网络地址,因为镜像成员必须从主成员接收所有此类信息。但是,一般情况下有一些例外情况,如下所示:

  • 由于 IRIS 实例的超级服务器端口是其常规配置的一部分,因此必须在本地进行更改。因此,镜像成员的超级服务器端口是唯一始终在成员本身上更新的镜像网络信息。要更改主服务器的超级服务器端口,请转到主服务器的“编辑镜像”页面,要更改备份的,请转到备份的“编辑镜像”页面,依此类推。

注意:当在“编辑网络地址”对话框中单击本地成员超级服务器端口的“编辑端口”链接时,将出现一个包含管理门户内存和启动页面的对话框,以便更改端口号。但是,不要直接转到此页面来更改镜像成员的超级服务器端口;始终使用“编辑镜像”或“编辑异步配置”页面和“编辑网络地址”对话框来进行此更改。

0 0
0 85
文章
· 五月 11, 2023 阅读大约需 3 分钟
第一章 IRIS 基础知识:使用互操作性制作连接系统

第一章 IRIS 基础知识:使用互操作性制作连接系统

本文介绍了如何将系统与 IRIS 数据平台互操作性产品连接在一起。

为什么要连接系统?

连接系统涉及允许来自一个系统的消息由另一个系统处理。例如,以下场景需要连接系统:
- 为了提高效率,需要集成最初设计用于执行单一功能的系统。例如,可以通过集成跟踪库存、订购材料、记录销售和控制运输的各个系统来提高效率。
- 合并后,在独立组织中执行相同功能的系统需要协同工作,以使统一组织有效。

将系统连接在一起时,可能会面临以下挑战:

0 0
0 123

开发者们可以让轻松让全世界了解他们如何与Epic软件进行连接

2022年12月,全球排名第一的电子病历厂商Epic宣布发布Connection Hub供应商服务平台,供全球供应商来分享他们与Epic软件实现互操作能力的平台。

这个新网站于2023年1月9日开放,将允许所有与Epic有连接的供应商列出他们的应用,并自我报告他们是否已经实现了成功的数据交换。网站访问者,包括Epic客户,可以看到供应商提供的信息,如应用描述和网站链接。

Connection Hub将对所有供应商开放,目的是使供应商更容易加入其在线产品目录。希望被列入名录的供应商可以通过提供他们的信息和完成一个可选填的问卷来加入。除了Connection Hub,Epic还将推出供应商服务--提供Epic的新闻通讯、详细的教程、扩大的测试沙盒和技术支持的访问。

EPIC现有应用市场将进行更新并计划在今年晚些时候重新启动。 目前在应用市场的供应商将自动迁移到Connection Hub供应商服务平台。所有连接将不会受到影响,在应用市场中接受服务、API和测试工具的供应商将继续通过Connection Hub进行。对于那些目前在应用市场中列有实时连接的供应商,EPIC将为他们提供一个简单的方法,将其现有信息转移到Connection Hub。

0 0
0 169
文章
· 六月 8, 2023 阅读大约需 7 分钟
没有虚拟 IP 地址的数据库镜像

++ 更新:2018 年 8 月 1 日

使用内置于 Caché 数据库镜像的 InterSystems 虚拟 IP (VIP) 地址有一定的局限性。特别是,它只能在镜像成员驻留在同一网络子网时使用。当使用多个数据中心时,由于增加了网络复杂性( 此处有更详细的讨论),网络子网通常不会“延伸”到物理数据中心之外。出于类似的原因,当数据库托管在云端时,虚拟 IP 通常无法使用。

负载均衡器(物理或虚拟)等网络流量管理设备可用于实现相同级别的透明度,为客户端应用程序或设备提供单一地址。网络流量管理器自动将客户端重定向到当前镜像主服务器的真实 IP 地址。自动化旨在满足灾难后 HA 故障转移和 DR 升级的需求。

2 0
0 142
文章
· 六月 19, 2023 阅读大约需 5 分钟
IRIS通过SNMP发送警告通知的操作

上篇文章IRIS, Caché监控指导 - 警告和告警 发出后收到要求介绍一下发送SNMP通知的具体操作,这里介绍一下。

我省去了SNMP的原理,这个有需要的可以网上查找。这里只做一个配置的操作:测试怎么从一个Windows上安装的IRIS实例发送IRIS Alert给另一台Linux服务器。

第一步: 配置 Windows SNMP

因为安全原因,Windows 10不再默认安装中启动SNMP,用户需要手工安装SNMP启动服务。以下两个文章是古老的Window 2003和新的Windows 10中配置SNMP的安装,给各位做个参考。

2 0
1 211

第五十章 开发Productions - ObjectScript Productions - 高效处理批量记录

高效处理批量记录

RecordMap 功能一次导入一条记录,但如果正在导入或导出大量记录,则可以通过使用 RecordMap Batch 获得显着的效率提升。 RecordMap Batch 功能处理同类记录并一次处理一批中的所有记录。可以选择在批次之前加上一个标题记录,然后跟一个尾部记录。

要创建 RecordMap 批处理,需要实现一个继承自中的 %PersistentEnsLib.RecordMap.Batch的类。 Batch 类包含处理解析和写出与特定批次关联的任何标头和尾部的方法。必须提供解析和编写标头的代码。对于简单的表头和表尾,可以使用类中的 EnsLib.RecordMap.SimpleBatch,它继承自 Batch 类,并提供处理简单表头和表尾的代码。如果需要处理更复杂的标头和尾数据,可以扩展这两个批处理实现中的任何一个。

0 0
0 77
文章
· 七月 16, 2023 阅读大约需 13 分钟
一篇文章了解`IRIS/Caché`编码方案

一篇文章了解IRIS/Caché编码方案

一直以来,编码问题像幽灵一般,不少开发人员都受过它的困扰。

试想你请求一个数据,却得到一堆乱码,丈二和尚摸不着头脑。有同事质疑你的数据是乱码,虽然你很确定传了UTF-8 ,却也无法自证清白,更别说帮同事 debug 了。

有时,靠着百度和一手瞎调的手艺,乱码也能解决。尽管如此,还是很羡慕那些骨灰级程序员。为什么他们每次都能犀利地指出问题,并快速修复呢?原因在于,他们早就把编码问题背后的各种来龙去脉搞清楚了。

ASCII

标准ASCII 码,使用7 位二进制数(最高位为0)来表示所有的大写和小写字母,数字09、半角标点符号,以及在英语中使用的特殊控制符号。

1 0
0 400