文章 Hao Ma · 十月 28, 2024 阅读大约需 3 分钟 配置IRIS Container - 使用iris-main 使用iris-main iris-main是IRIS镜像的的ENTRYPOINT程序。 在Container中,ENTRYPOINT 指令允许你指定一个可执行程序或者脚本,作为容器启动后运行的主程序。这个程序会在容器启动时自动执行。 执行docker ps命令可以看到当前container的ENTRYPOINT是什么: #新手 #部署 #InterSystems IRIS 0 0 0 42
文章 Hao Ma · 十月 28, 2024 阅读大约需 2 分钟 配置Webgateway Conainter-补充 把CSP.conf保存在container之外 在创建webgateway的container时,可以使用ISC_DATA_DIRECTORY=参数, 选择把CSP文保存在主机而不仅仅是container内部。如下面的例子: 使用volumnes映射了主机的./dur-wg-a目录到container的/dur目录, 而command中的ISC_DATA_DIRECTORY=/dur会讲webgateway的配置文件, log文件等保存在主机。 #新手 #部署 #InterSystems IRIS 0 0 0 55
文章 Hao Ma · 十月 28, 2024 阅读大约需 7 分钟 配置Webgateway Conainter 上一篇文章使用人工配置的方法简单的配置了webgateway container. 接下来来介绍如何在docker-compose里做自动化部署。 先总结我们要做的事情: 配置到IRIS的连接。定义连接的iris的IP地址或者DNS, 以及连接的用户名密码 以及其他的对默认值的修改。 配置apache2的配置文件,保证到IRIS的HTTP请求能发送给CSP Webgateway。 很多时候,用户会希望使用HTTPS访问IRIS,因此需要在apache2上支持TLS。 这些是最基本的功能。除此之外, 用户还可能会要求建立WebGateway到IRIS的TLS连接,或者在Apache2部署自己的网页等等。后面的文章会一一介绍。 配置CSP.ini 上一篇文章中,我通过Webgateway管理页面定义了Webgateway到IRIS的连接,其实是定义了webgateway的配置文件CSP.ini。 无论WebServer是什么类型,IIS,Apache, Nginx, CSP.ini的都是一样的。在Linux中, CSP.ini位于/opt/webgateway/bin目录。 #新手 #部署 #InterSystems IRIS 0 0 0 72
文章 Hao Ma · 十月 28, 2024 阅读大约需 6 分钟 IRIS images的下载和简单的搭建测试环境 IRIS image下载 参考:下载Images的在线文档 在https://containers.intersystems.com网站上获得可以下载的InterSystems的各种docker镜像。如果只是安装Community版本, 不需要注册。如果是下载安装正式的版本,需要在网站注册,然后获得Login Token登陆。 #新手 #部署 #InterSystems IRIS 0 0 0 137
文章 Hao Ma · 十月 28, 2024 阅读大约需 1 分钟 安装IRIS docker container - 索引 我在3年前写过同样内容的文章。随着IRIS版本的更新,安装的细节有了些变化,而且,尤其是2024年以后的版本不再使用PWS(Private Web Server), 安装最新版本的IRIS通常同时要安装一个外部的Web服务器,Apache或者nginx。 另外, 大家对自动部署的需要越来越多,因此我也会在下面的内容里面包括自动部署,配置iris, 安装软件等等内容。希望给各位一个基本完整的介绍。 内容列表如下: 基础篇 IRIS images的下载和docker run apache-webgateway container到iris的连接 nginx-webgateway container到iris的连接 iris-main和在container外保存iris数据 配置iris的新方法:CPF merge ... 随时更新 #新手 #部署 #InterSystems IRIS 1 0 0 112
文章 姚 鑫 · 十月 27, 2024 阅读大约需 1 分钟 第三章 I O 输入输出简介 - Use 命令 第三章 I O 输入输出简介 - Use 命令 Use 命令 此命令使指定设备成为当前设备,并将特殊变量$IO设置为该设备。要使用主设备以外的设备,必须首先对其发出OPEN命令;否则,将收到错误。参数的含义与OPEN命令中的相同。 语法 USE device:(args):"mnespace" device 所需的设备名称、ID 号或别名。设备的最大长度为 256 个字符。 args 可选— 某些设备所需的附加信息。管道(进程间通信) 、文件和终端 I/O的可用参数不同。 mnespace 可选— IRIS 例程的名称,包含控制助记符的定义,当将 I/O 定向到该设备时,可以与WRITE /mnemonic 命令一起使用。 #InterSystems IRIS for Health 1 0 0 59
文章 姚 鑫 · 十月 26, 2024 阅读大约需 2 分钟 第二章 I O 输入输出简介 - Open 命令 第二章 I O 输入输出简介 - Open 命令 Open 命令 OPEN建立指定设备的所有权并打开指定设备的 I/O 通道。此所有权将持续存在,直到发出CLOSE命令、进程终止或某些物理操作关闭设备。对于物理 I/O 设备或进程间通信(例如 TCP 连接),此所有权会阻止所有其他进程访问该设备。对于逻辑 I/O 设备(例如顺序文件),此所有权可能允许其他进程以某种形式共享访问该文件。打开同一顺序文件的多个进程的处理高度依赖于平台。强烈建议使用LOCK命令来限制对顺序文件的访问。 语法 OPEN device{:{(parameters)}{:{timeout}{:"mnespace"}}} device 所需的设备名称、ID 号或助记符。设备的最大长度为 256 个字符。 #InterSystems IRIS for Health 1 0 0 43
文章 姚 鑫 · 十月 25, 2024 阅读大约需 2 分钟 第一章 I O 输入 输出简介 第一章 I/O 输入/输出简介 本页概括地描述了如何在 IRIS 数据平台应用程序中以及在 IRIS 提示符下使用 I/O 设备。 介绍 IRIS 数据平台为多种不同类型的逻辑和物理设备提供支持。支持的逻辑设备包括: - 主要装置 - 文件 - 管道 - TCP连接 - 作业间通信 (IJC) 设备用于在 IRIS 进程之间进行通信 - 假脱机程序 支持的物理设备包括 终端 打印机 I/O 命令概述 I/O 命令允许拥有、使用、读取、写入和关闭设备。要将 I/O 操作定向到设备,请首先发出以下命令: #InterSystems IRIS for Health 1 0 0 61
文章 Michael Lei · 十月 24, 2024 阅读大约需 1 分钟 InterSystems FAQ 常见问题系列--命名空间和数据库的最大数量 InterSystems FAQ 一个实例上的最大命名空间数量是 2047. 但是,要使用这么大量的命名空间,你需要相应地配置好内存。 一个实例里可以创建的数据库的最大数量(包括远程数据库) 15998. 根据授权的类型,可能会有所限制。具体细节请参考以下文档。Database Configuration [IRIS]Database Configuration #数据库 #系统管理 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 70
文章 姚 鑫 · 十月 24, 2024 阅读大约需 1 分钟 第五十五章 安全元素的详细信息 - ReferenceList 详情 第五十五章 安全元素的详细信息 - 详情 本节讨论在消息头中用作 <Security>子元素的 <ReferenceList> 元素。当以这种方式使用 <ReferenceList> 时,可以在签名之前执行加密。以下显示了此元素的一个示例: #InterSystems IRIS for Health 1 0 0 49
文章 姚 鑫 · 十月 23, 2024 阅读大约需 1 分钟 第五十四章 安全元素的详细信息 - DerivedKeyToken 详情 第五十四章 安全元素的详细信息 - 详情 <DerivedKeyToken> 的目的是携带发送者和接收者可以独立使用的信息来生成相同的对称密钥。这些方可以使用该对称密钥对 SOAP 消息的相关部分进行加密、解密、签名和签名验证。 以下显示了部分示例: #InterSystems IRIS for Health 0 0 0 38
文章 Cryze Zhang · 十月 23, 2024 阅读大约需 1 分钟 file2Xml 一个将文件转换成Studio导出的xml格式的工具 file2Xml 一个将文件转换成Studio导出的xml格式的工具 #工具 #Caché #Ensemble #InterSystems IRIS 1 0 0 67
文章 姚 鑫 · 十月 22, 2024 阅读大约需 1 分钟 第五十三章 安全元素的详细信息 - Signature 详情 第五十三章 安全元素的详细信息 - 详情 <Signature>的目的是携带可由消息接收者验证的数字签名。可以使用数字签名来检测消息更改,或者只是验证消息的某个部分是否确实由列出的实体生成。与传统的手写签名一样,数字签名是对文档的附加,只能由文档的创建者创建,并且不易伪造。 以下显示了部分示例: #InterSystems IRIS for Health 0 0 0 47
文章 姚 鑫 · 十月 21, 2024 阅读大约需 1 分钟 第五十二章 安全元素的详细信息 - EncryptedData 详情 第五十二章 安全元素的详细信息 - 详情 <EncryptedData> 的作用是携带加密数据,部分示例如下: #InterSystems IRIS for Health 1 0 0 49
文章 姚 鑫 · 十月 20, 2024 阅读大约需 2 分钟 第五十一章 安全元素的详细信息 - EncryptedKey 详情 第五十一章 安全元素的详细信息 - 详情 详情 该元素的各部分如下: <EncryptionMethod> 表示用于加密对称密钥的算法。 在 IRIS 中,可以指定密钥传输算法(由 <EncryptionMethod> 的 Algorithm 属性显示)。请参阅指定密钥传输算法。 #InterSystems IRIS for Health 0 0 0 42
文章 姚 鑫 · 十月 17, 2024 阅读大约需 2 分钟 第五十章 安全元素的详细信息 第五十章 安全元素的详细信息 本主题讨论 SOAP 消息中较常见的安全元素,特别是 IRIS Web 服务和客户端可以发送的变体。此信息旨在帮助那些不经常使用 SOAP 的人重温记忆。此处的详细信息也可能有助于故障排除。 <BinarySecurityToken> <BinarySecurityToken> 的目的是携带消息中其他元素使用的安全凭证,供消息接收者使用。安全凭证以序列化、编码的形式携带。以下显示了部分示例: #InterSystems IRIS for Health 0 0 0 41
文章 姚 鑫 · 十月 16, 2024 阅读大约需 1 分钟 第四十九章 解决安全问题 - 可能出现的错误 第四十九章 解决安全问题 - 可能出现的错误 可能出现的错误 本节讨论 IRIS Web 服务和 Web 客户端中可能出现的与安全相关的错误: 如果刚刚生成了 IRIS Web 服务或客户端,则可能尚未配置为识别 WS-Security 标头。在这种情况下,当您尝试执行 Web 方法时,会收到如下一般错误: <ZSOAP>zInvokeClient+269^%SOAP.WebClient.1 将以下内容添加到Web服务或客户端并重新编译: Parameter SECURITYIN="REQUIRE"; 这种一般错误也可能是由于错误地调用 Web 方法(例如,在 Web 方法没有返回值时引用返回值)造成的。 如果使用 WS-Policy,则此项不适用。 #InterSystems IRIS for Health 1 0 0 56
文章 姚 鑫 · 十月 15, 2024 阅读大约需 2 分钟 第四十八章 解决安全问题 第四十八章 解决安全问题 本主题提供信息来帮助识别 IRIS 中 SOAP 安全问题的原因。 有关与安全无关的问题的信息,请参阅 IRIS 中的 SOAP 问题故障排除。 故障排除所需的信息 要解决 SOAP 问题,通常需要以下信息: #InterSystems IRIS for Health 1 0 0 46
文章 姚 鑫 · 十月 14, 2024 阅读大约需 2 分钟 第四十七章 创建和添加 SAML 令牌 - SubjectConfirmation与 EncryptedKey 第四十七章 创建和添加 SAML 令牌 - 与 <SubjectConfirmation>与 <EncryptedKey> 要添加带有 <SubjectConfirmationData>(其中包含 <EncryptedKey> 元素)的 <SubjectConfirmation>,请执行以下操作: 按照以编程方式检索凭证集中所述,创建 %SYS.X509Credentials 的实例。 或者使用与签署断言时使用的相同凭证集。 #InterSystems IRIS for Health 0 0 0 45
文章 姚 鑫 · 十月 13, 2024 阅读大约需 2 分钟 第四十六章 创建和添加 SAML 令牌 - SubjectConfirmation 使用方法 Holder-of-key 第四十六章 创建和添加 SAML 令牌 - 使用方法 Holder-of-key 添加<Subject>元素 要将 <Subject> 元素添加到 %SAML.Assertion 实例,执行以下操作: 1. 创建 %SAML.Subject 的新实例。 2. 根据需要设置主题的属性。 3. 将断言对象的 Subject 属性设置为等于此实例。 添加 <SubjectConfirmation> 元素 要将 <SubjectConfirmation> 元素添加到的 %SAML.Assertion 实例,请使用以下某个小节中的步骤。 #InterSystems IRIS for Health 0 0 0 45
文章 姚 鑫 · 十月 11, 2024 阅读大约需 2 分钟 第四十五章 创建和添加 SAML 令牌 - 变体:不使用 BinarySecurityToken 第四十五章 创建和添加 SAML 令牌 - 变体:不使用 变体:不使用 <BinarySecurityToken> <BinarySecurityToken> 包含序列化、base-64 编码格式的证书。可以忽略此令牌,而改用标识证书的信息;接收方使用此信息从相应位置检索证书。为此,请使用上述步骤,并进行以下更改: #InterSystems IRIS for Health 0 0 0 41
文章 姚 鑫 · 十月 10, 2024 阅读大约需 3 分钟 第四十四章 创建和添加 SAML 令牌 第四十四章 创建和添加 SAML 令牌 本主题描述如何将SAML 令牌添加到 WS-Security 标头元素。 另请参阅 %SAML.Assertion 的类参考和相关类。 未实现完整的 SAML 支持。 IRIS 中的 SAML 支持仅指 IRIS 中的 WS-Security 支持中列出的详细信息。 概述 借助 IRIS SOAP 支持,可以将 SAML 令牌添加到 WS-Security 标头元素。 #InterSystems IRIS for Health 0 0 0 45
文章 Nicky Zhu · 十月 10, 2024 阅读大约需 7 分钟 FHIRValidation - 用IRIS验证你自己的FHIR IG 本演示程序用于展示如何采用自定义FHIR profile来验证数据合规性。自定义FHIR实施指南基于FHIR R4版本开发,在本例中实现了对Organization资源的扩展并用于验证数据的合规性。 #Docker #FHIR #Git #GitHub #HL7 #JSON #REST API #InterSystems IRIS for Health Open Exchange app 1 0 0 81
文章 姚 鑫 · 十月 9, 2024 阅读大约需 3 分钟 第四十三章 使用 WS-ReliableMessaging - 对 WS-ReliableMessaging 标头进行签名 第四十三章 使用 WS-ReliableMessaging - 对 WS-ReliableMessaging 标头进行签名 对 WS-ReliableMessaging 标头进行签名 可以通过以下任一方式签署 WS-ReliableMessaging 标头。 使用 SecurityContextToken 对标头进行签名 如果还使用 WS-SecureConversation,则 Web 客户端的 SecurityContextToken 属性包含一个对称密钥,可以使用该密钥对 WS-ReliableMessaging 标头元素进行签名。为此,请在调用 %SOAP.RM.CreateSequence实例的 AddSTR() 方法,并将 SecurityContextToken 属性作为参数传递: #InterSystems IRIS for Health 0 0 0 36
文章 Jingwei Wang · 十月 9, 2024 阅读大约需 2 分钟 在 IRIS 中使用 Foreign Table(外部表) Foreign Table 的概念 Foreign Table 是 IRIS SQL 中一种特殊类型的表。它不代表 IRIS 本地全局管理的数据,而是投射出来的,由 “外部服务器 ”管理的外部数据。从 SQL 的角度来看,外部表与普通表一样,可以在查询中使用,没有任何特定限制。 在数据编织中可以帮助整合不同的来源的数据,以支持各种应用、分析并提供智能洞察力。 #InterSystems IRIS for Health 1 0 0 88
文章 姚 鑫 · 十月 8, 2024 阅读大约需 2 分钟 第四十二章 使用 WS-ReliableMessaging 第四十二章 使用 WS-ReliableMessaging IRIS 支持 WS-ReliableMessaging 规范的部分内容,如简介中所述。此规范提供了一种按顺序可靠地传递一系列消息的机制。本页介绍如何手动使用可靠消息传递。 从 Web 客户端发送一系列消息 要将一系列消息从 IRIS Web 客户端可靠地发送到支持 WS-ReliableMessaging 的 Web 服务,请执行以下操作: 根据需要指定 Web 客户端的安全标头元素。 如果正在使用 WS-SecureConversation,请启动安全对话。 调用 %SOAP.RM.CreateSequence的 Create() 类方法。这将返回该类的一个实例。 此方法具有以下签名: #InterSystems IRIS for Health 1 0 0 40
文章 Louis Lu · 十月 8, 2024 阅读大约需 5 分钟 FHIR Object Model 简介 挑战 在使用FHIR进行开发的过程中,我们会面对海量的FHIR规范中定义的数据结构,具体来说在FHIR规范中定义了超过150个资源、700多个资源内元素。每个定义里都包括了对自身结构的描述以及数据约束、数据绑定值集等。对于一个开发人员要记住这些内容非常困难。 同时FHIR数据,特别是Json格式的FHIR数据是典型的“有向图”结构,它的资源中嵌套元素定义、集合以及复杂的资源间“关系”,在这些复杂结构的数据间导航并操作,非常困难。 解决方案 在InterSystems IRIS for Health 2024.1之前,我们会将FHIR数据以Json文档的方式载入 %DynamicAbstractObject,例如下面的代码 #InterSystems IRIS for Health 2 0 0 137
文章 姚 鑫 · 十月 7, 2024 阅读大约需 2 分钟 第四十一章 创建安全对话 - 使用 SecurityContextToken 第四十一章 创建安全对话 - 使用 在 Web 服务使用 <SecurityContextToken>, 做出响应后,客户端实例和服务实例可以访问相同的对称密钥。有关此密钥的信息包含在两个实例的 SecurityContextToken 属性中。建议的程序如下: 在客户端中,将 SecurityOut 属性设置为 null,以删除请求消息中使用的安全标头。 在 Web 服务中不需要这样做,因为 Web 服务会在每次调用后自动清除安全标头。 #InterSystems IRIS for Health 1 0 0 53
文章 姚 鑫 · 十月 7, 2024 阅读大约需 3 分钟 第四十章 创建安全对话 - 启用 IRIS Web 服务以支持 WS-SecureConversation 第四十章 创建安全对话 - 启用 IRIS Web 服务以支持 WS-SecureConversation 启用 IRIS Web 服务以支持 WS-SecureConversation 当 Web 客户端向 Web 服务发送请求安全对话的消息时,安全对话就开始了。作为响应,Web 服务发送双方都可以使用的 <SecurityContextToken>。 要使 IRIS Web 服务能够使用此令牌进行响应,请重写 Web 服务的 OnStartSecureConversation() 方法。此方法具有以下签名: #InterSystems IRIS for Health 1 0 0 63
文章 姚 鑫 · 十月 4, 2024 阅读大约需 3 分钟 第三十九章 创建安全对话 第三十九章 创建安全对话 IRIS 支持安全对话,遵循 WS-SecureConversation 1.3 规范。本页介绍如何手动创建安全对话。 概述 在安全对话中,Web 客户端向 Web 服务发出初始请求并接收包含 <SecurityContextToken> 的消息。此元素包含双方都可以使用的对称密钥的信息。此信息指的是只有双方知道的共享密钥。然后双方可以在后续交换中使用对称密钥,直到令牌过期或客户端取消令牌。 双方不应该直接使用 <SecurityContextToken> 执行这些任务(不推荐),而应该从中生成一个 <SecurityContextToken>,然后使用它进行加密、签名、解密和签名验证。 共享密钥可以通过以下任一方式指定: #InterSystems IRIS for Health 1 0 0 35