文章 姚 鑫 · 五月 31, 2023 4m read

第二十一章 开发Productions - ObjectScript Productions - 延迟发送

延迟发送

除了同步(等待)和异步(不等待)的直接选择之外,还可以使用称为延迟响应的机制在 IRIS 之外发送消息。

假设一个业务流程希望在 IRIS 之外调用一个动作。它向业务操作发送请求,业务操作执行调用并返回响应。业务流程是任何响应的预期接收者;业务操作只是请求发出和响应进来的方式。如果业务流程同步发出请求,或者如果它发出请求并请求异步响应,业务操作将中继回响应。下图总结了这种机制。

现在假设从业务流程接收请求的业务操作已被编写为使用延迟响应功能。原始发件人不知道响应将被业务操作延迟这一事实。延迟响应是业务运营开发人员做出的设计决策。如果业务操作确实延迟了响应,那么当原始发送者在延迟期结束时收到响应时,它不知道响应曾经被延迟过。

业务操作通过调用其 DeferResponse() 方法来生成表示原始发送者和原始请求的令牌来延迟响应。业务运营还必须找到一种方法将此令牌传达给外部实体,然后外部实体负责将此令牌包含在对 IRIS 的任何后续响应中。例如,如果外部目的地是电子邮件,业务操作可以在外发电子邮件的主题行中包含令牌字符串。接收此电子邮件的实体可以从请求主题行中提取此令牌,并在响应主题行中使用它。在下图中,项目 t 代表此令牌。

0
0 128
文章 姚 鑫 · 五月 30, 2023 3m read

第二十章 开发Productions - ObjectScript Productions - 指定设置的默认值

当定义业务主机类(可能还有适配器类)时,应该考虑如何控制这些项目的任何设置的默认值。 IRIS 可以从三个来源之一获取设置的默认值:

  • production定义。
  • IRIS 实例定义的值,但存储在production定义之外。有关信息,请参阅配置制作中的定义制作默认值。
  • 主机类中定义的属性的默认值。在这种情况下,默认值由 InitialExpression 属性关键字确定。

某些设置取决于环境,例如 TCP/IP 地址或文件路径;通常,将这些设置配置为在生产之外提供它们的源,而其他设置(例如 ReplyCodeActions)是设计决策,并且很可能开发应用程序以从生产定义中检索这些设置。

可以开发作品,使配置设置来自不同的来源。主要目的是更轻松地将制作从一个 IRIS 实例转移到另一个实例,例如从测试转移到现场。

定义生产后,可以在管理门户的生产配置页面上更改生产和业务主机设置的来源。有关详细信息,请参阅配置制作。

0
0 124
问题 kun an · 八月 16, 2021

我在官网上提供的java方式访问cache下载了一个示例代码 下载地址为:https://gettingstarted.intersystems.com/language-quickstarts/java-quick…

我在示例代码中看到有这样一种调用 irisNative.functionString("functionName", "routineName") ,请问functionName和routineName主要指什么东西,我在studio中创建了routine,但是也不需要通过functionName来访问呀。

1
0 439
文章 Hao Ma · 五月 24, 2023 4m read

Manifest也许应该被翻译成“清单”, 字典上是这么解释的: 提供船舶及其货物和其他物品、乘客和船员的全面细节的文件,供海关官员使用,比如:飞机上的乘客或货物清单; 一辆货运列车的车厢清单。

在计算机语言中, Manifest可以是各种格式,用的最多的是xml和json,在IRIS中,manifest是xml格式的, 放在objectscript类的XDATA块里。

编写mainfest

IRIS用manifest来做配置。内部工具*%install*, 会读取manifest, 生成真正的objectscript代码来配置IRIS。我们来看个基本的例子。

基本用法

下面的User.Manifest.cls` ,它配置了IRIS的global buff, bbsize等等, 然后还创建了一个命名空间。

1
0 230
文章 Michael Lei · 五月 29, 2023 2m read

开发者们可以让轻松让全世界了解他们如何与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 228
文章 Hao Ma · 五月 26, 2023 8m read

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

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

Mirror不复制什么

简单说,Caché/IRIS镜像是数据库复制(Database Replication)。在Caché/IRIS里什么是数据库?也就是Cache.dat和iris.dat文件。数据库的修改日志,也就是journal,从主机被传送到其他镜像成员。而除此之外的内容,需要维护人员来分别的个个处理, 解决这些内容在各个镜像成员间的拷贝。需要很多的计划和细心。

系统数据库, 包括IRISSYS, IRISTEMP, IRISLIB等等, 这些Caché/IRIS本身的数据库不应该被加入Mirror,在大多数Caché/IRIS版本里也都设置成不可以加入入MIRROR。

例外的HealthCare产品, HSSYS需要做Mirror, HSCustom可以做Mirror, 而HSLIB不可以Mirror

0
0 465
文章 姚 鑫 · 五月 25, 2023 4m read

第十五章 开发Productions - ObjectScript Productions - 开发Productions介绍

互操作性产品允许连接可能使用不同通信协议和不同消息格式的系统。可以使用 Java.NETObjectScriptSQL 或业务流程、数据转换和业务规则的图形编辑器来开发产品。

文档

  • 互操作性生产概述
  • ObjectScript 中开发
  • 使用 PEXJava.NET 中开发
  • 使用 SQL
  • 业务流程 (BPL)
  • 数据转换 (DTL)
  • 业务规则
  • 配置生产
  • 使用推送通知定义工作流

在线内容

  • ObjectScript:开发系统集成
  • ObjectScript:构建自定义业务组件
  • 创建数据转换

开发Productions介绍

本页介绍产品开发的过程。

环境考虑

只能在具有特定 Web 应用程序的支持互操作性的名称空间内使用 IRIS 互操作性。创建类时,应避免使用保留的包名称。以下小节提供了详细信息。

支持Production的命名空间

支持互操作性的名称空间是具有全局映射、例程映射和包映射的名称空间,这些映射使支持产品的类、数据和菜单对其可用。有关映射的一般信息,请参阅系统管理指南中的配置命名空间。

0
0 143
文章 Hao Ma · 五月 24, 2023 16m read

镜像101

Caché 镜像是一种可靠、廉价且易于实施的高可用性和灾难恢复解决方案,适用于基于 Caché 和 Ensemble 的应用程序。镜像在广泛的计划内和计划外中断情况下提供自动故障转移,应用程序恢复时间通常限制在几秒钟内。逻辑数据复制消除了存储作为单点故障和数据损坏的根源。升级可以在很少或没有停机时间的情况下执行。

但是,部署 Caché 镜像确实需要大量规划,并且涉及许多不同的过程。与任何其他关键基础设施组件一样,操作镜像需要持续监控和维护。

您可以通过两种方式使用本文:作为常见问题列表,或作为理解和评估镜像规划镜像配置镜像操作镜像的简要顺序指南。每个答案都包含指向每个主题的详细讨论以及每个任务的分步过程的链接。

当您准备好开始规划镜像部署时,您的起点应该始终是Caché 高可用性指南“镜像”一章的镜像架构和规划部分。

0
0 480
文章 Claire Zheng · 五月 23, 2023 1m read

实现医疗系统之间的互操作性是一项艰巨的挑战。随着FHIR日渐普及,对FHIR标准的兼容如今已成为许多国家医疗信息系统的全国性强制性要求。FHIR标准最有价值的一方面就是所有内容可被机器读取,使得FHIR应用跨机构使用成为可能,帮助您距离“语义互操作性”更近一步。

0
0 246
文章 Claire Zheng · 五月 23, 2023 1m read

不同系统在“对话”时候,如何让它们明白“带黑色条纹的白马”和“带白色条纹的黑马”是同一种动物(斑马)呢?FHIR是HL7国际(HL7 International)为满足当前医疗数据环境中的互操作性需求而创建的医疗数据标准,如今已成为许多国家医疗信息系统的全国性强制性要求。本视频介绍了FHIR的设计理念和关键构成,包括FHIR资源、FHIR Profile、FHIR扩展等。

0
0 191
文章 姚 鑫 · 五月 19, 2023 3m read

第九章 Productions最佳实践 - Productions开发的最佳实践

Productions开发的最佳实践

本章是一个总体概述,旨在帮助团队成员为从事生产项目做好准备。它概述了开发任务并确定了有关 数据平台和企业集成的信息来源。本章中的信息适用于所有类型的生产项目。

项目目标

任何Productions开发项目的目标都是连接两个或多个系统。Productions是专门的软件和文档包,可为企业客户解决特定的集成问题。有关概述,请参阅互操作性产品简介。

本节从应用程序开发人员必须创建和配置以提供解决方案的软件元素的角度描述 IRIS。下一节“项目交付”总结了 IRIS 开发项目的顺序和结果。

项目交付

IRIS 产品架构支持向企业交付的各种风格:

  • Productions可能包含企业的整个集成解决方案,或者产品可以适合企业已有的现有解决方案(或部分解决方案)。
  • Productions可以根据需要替换、升级遗留系统或向遗留系统添加新功能,而无需删除或更改遗留系统的任何部分。
  • IRIS 支持增量开发项目,因此开发团队可以根据企业的需要选择快速或缓慢地推进新旧系统之间的界限。

许多 IRIS 开发项目遵循与此类似的阶段顺序:

0
0 121
文章 姚 鑫 · 五月 18, 2023 5m read

第八章 准备创建Productions - 规划 IRIS 服务器部署

容量和性能清单

IRIS 服务器的性能通过其处理峰值消息负载的能力来衡量。 IRIS 服务器的性能取决于许多组件和设置之间的复杂交互。 IRIS 服务器的负载主要取决于:

  • 消息的数量和大小——峰值负载和每日负载都很重要。
  • 每条消息都需要处理——在大多数情况下,希望简化消息的处理。例如,虽然验证消息有很多优势,但完整的验证可能会增加处理每条消息的大量处理负载。

在许多情况下, IRIS 系统上的消息负载会随着时间的推移而增加。这种增加可能是由于在生产中支持更多的业务功能或业务量的增加。服务器处理此负载的能力取决于许多组件和配置设置之间的复杂交互,包括 CPU 内核数量、多处理器架构、存储大小和速度、网络带宽和配置、操作系统缓冲区分配以及 IRIS 配置。没有简单的公式可以预测 IRIS 服务器的性能,因为它是一个复杂的交互,但可以估计、计划、原型和跟踪性能以确保 IRIS 服务器满足业务需求。

为确保 IRIS 服务器具有足够的容量并能够有效地处理其负载,应该

0
0 182
文章 姚 鑫 · 五月 17, 2023 2m read

第七章 准备创建Productions - 使用 Productions 的路线图

以下部分概述了可能希望从中着手的文档资源,具体取决于角色。

IRIS 生产开发人员

如果是准备使用 IRIS 产品的开发人员,请参阅以下资源:

  1. Introducing Interoperability Productions 概述了 IRIS 互操作性和可能希望包含在productions中的选项,并提供了指向更详细信息的指针。

  2. 创建作品的最佳实践描述了设计、开发和维护作品的最佳实践。

  3. Developing Productions,反过来,它会向指出应用程序开发集中的特定主题:创建Productions和其他指南。

  4. 配置Productions描述了在作品中配置项目的详细信息。

IRIS 管理员

如果是准备使用产品的管理员,请参阅以下资源:

  1. Introducing Interoperability Productions 概述了产品功能。
  2. Managing Productions 解释了如何使用基于浏览器的管理门户来管理生产环境,并指出了使用管理门户执行的特定功能的详细描述。
  3. 配置制作解释了如何构建和配置制作和制作组件以及更新现有制作的配置。
  4. Monitoring Productions 解释了如何监控生产环境和各种生产组件。

规划 IRIS 服务器部署

0
0 126
文章 Hao Ma · 五月 17, 2023 12m read

Caché, IRIS在系统产生了最严重的问题时会产生错误信息并通知客户,但这并不足够。一是客户需要更多更灵活的通知消息,二是客户通常会有第3方的监控系统,因此得到Cache, IRIS的监控指标是必须的。

在所有的指标中,用户最关心的是以下几类:

  • 硬件资源的使用,CPU, 内存, IO性能
  • 数据库使用的硬盘的占用
  • Cache, IRIS Journal的硬盘占有
  • Mirror的状态
  • License的使用情况
  • Caché的性能指标

除此之外,第3方监控系统还需要获得Caché的一些系统信息,比如版本,instance名字等等。

指标的获得

有以下几个获得指标的方法

1. 系统仪表板及其Web服务

Caché的系统仪表板显示的数据包括:系统性能;系统运行状态 (运行时间,上一次备份,数据库,Journal状况等; 事务和进程情况;软件许可使用情况;任务,ECP等,还有就是错误和警告的数量。

系统仪表板包含4个子面板:Global和Routine统计数据;ECP统计数据;磁盘和缓冲器统计数据;系统资源统计数据。(IRIS和Caché稍有不同,缺少了“磁盘和缓冲器统计数据”) 。它们分别对应主仪表板中的相应模块,给出了更详细的数据。

0
1 549
文章 姚 鑫 · 五月 16, 2023 3m read

第六章 介绍Productions - 其他Production 选项

本章概述了与制作相关的其他选项。

用户门户

Studio 和管理门户等后端工具不同,用户门户(正式名称为 用户门户)旨在供最终用户直接使用。下面显示了一个例子:

用户门户旨在使最终用户能够执行以下任务:

  • 视图和仪表板,其中可以包括生产业务指标,将在本章后面介绍。
  • 查看和管理工作流任务,将在下一节介绍。
  • 向用户门户的其他用户发送消息,如上图左上角所示。

工作流

IRIS 为制作中的工作流程提供支持。工作流使得将人机交互合并到自动化业务流程中成为可能。企业内工作流的使用可能包括订单输入、订单履行、合同批准或服务台活动。

production 使用业务流程和业务操作集实现工作流。业务流程接收请求,组织完成该请求所需的任务,然后调用业务操作来执行这些任务。

这些业务操作中的每一个都将任务分配给一个工作流角色,该角色将任务放入属于该角色的每个用户的工作流收件箱中。要访问此收件箱,用户需要使用上一主题中介绍的用户门户。

当用户将任务标记为完成时,工作流引擎将继续执行下一个处理步骤。

业务活动监控

IRIS 包括将业务活动监控 (BAM) 作为企业集成项目的一部分所需的所有元素。

0
0 173
文章 姚 鑫 · 五月 15, 2023 4m read

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

业务流程和业务逻辑

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

介绍

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

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

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

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

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

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

IRIS 提供的工具使非技术用户能够定义业务流程、数据转换和业务规则。这些用户无需编程或绘图技能即可直观地查看和编辑逻辑。

请注意,业务流程、数据转换和业务规则中可用的较低级别选项之间存在重叠。有关比较,请参阅 Developing Productions 中的“业务逻辑工具的比较”。在决定如何组织逻辑之前,有必要查看这些选项。

0
0 173
文章 姚 鑫 · 五月 12, 2023 4m read

第二章 介绍Productions - 互操作性制作简介

互操作性产品的目的是使能够连接系统,以便可以在它们之间转换和路由消息。要连接系统,需要开发、配置、部署和管理集成多个软件系统的产品。本章介绍产生式和一些基本术语。

介绍Productions

互操作性产品是用于轻松连接系统和开发互操作性应用程序的集成框架。产品提供到各种消息格式和通信协议的内置连接。可以轻松添加其他格式和协议,并通过编码或使用图形界面定义业务逻辑和消息转换。Products提供了消息的持久存储,允许跟踪消息的路径并审核消息是否成功传递。一部作品中的元素被称为business hosts。business hosts.有三种,用途不同,具体如下:

  • 业务服务Business services与外部系统连接并接收来自它们的消息。业务服务将消息中继到生产中的其他业务主机。
  • 业务流程Businessprocesses允许定义业务逻辑,包括路由和消息转换。业务流程从生产中的其他业务主机接收消息,然后处理请求或将请求转发给其他业务主机。
  • 业务操作Businessoperations与外部系统连接,并将消息发送给外部系统。业务操作从生产中的其他业务主机接收消息,并通常将它们发送到外部系统。

下图提供了生产和业务主机的概念性概述。

业务主机通过消息相互通信。所有消息都存储在 IRIS 数据库中,可以通过管理门户查看。

0
0 187
文章 姚 鑫 · 五月 11, 2023 3m read

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

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

为什么要连接系统?

连接系统涉及允许来自一个系统的消息由另一个系统处理。例如,以下场景需要连接系统:

  • 为了提高效率,需要集成最初设计用于执行单一功能的系统。例如,可以通过集成跟踪库存、订购材料、记录销售和控制运输的各个系统来提高效率。
  • 合并后,在独立组织中执行相同功能的系统需要协同工作,以使统一组织有效。

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

  • 系统使用不同的通信协议:一个系统可能使用 TCP,另一个使用 SOAP,第三个使用 REST
  • 系统使用不同格式或基于不同标准的不同消息。
  • 可能需要保证消息成功传递到正确的系统,并能够检测和纠正故障。
  • 必须监视传输消息的系统,如果一次有太多消息,则提供消息队列,并监视整体系统性能以确保没有任何障碍。

虽然可以编写自定义应用程序来连接系统,但开发IRIS 产品会更容易、更快捷。 IRIS 提供了一个框架,允许连接系统并最大限度地减少或消除对自定义代码的需求。

介绍Productions

0
0 148
文章 Claire Zheng · 五月 11, 2023 1m read

2023年4月14日-16日,2023 CHITEC在合肥圆满举办!此次盛会期间,创新的数据技术提供商InterSystems通过展位展示、主题研讨会、分论坛演讲等方式,全方位多角度展示了“加速评测,助力公立医院高效建设互联互通平台和数据中心”的能力,吸引了众多参会嘉宾。

0
0 101