文章 Michael Lei · 四月 9, 2022 阅读大约需 1 分钟 一种浏览Globals的新方法 我想介绍一下我参加Globals竞赛的新项目。一个非常新的Globals浏览器视图 #Globals #竞赛 #Caché #InterSystems IRIS #InterSystems IRIS for Health Open Exchange app 0 0 0 81
文章 Michael Lei · 四月 25, 2022 阅读大约需 4 分钟 重大升级后重新编译类和程序的方法 在一次重大的版本升级中,建议重新编译你所有命名空间的类和例程。 (主要版本的安装后任务). do $system.OBJ.CompileAllNamespaces("u") do ##Class(%Routine).CompileAllNamespaces() 为了自动完成这项管理任务并记录任何错误,下面是一个导入并编译到USER命名空间的类的例子,你可以在每次升级后使用它 : admin.utils.cls #系统管理 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 59
公告 Michael Lei · 四月 29, 2022 InterSystems 2022年度编程大奖赛投票开始! 年度InterSystems IRIS开发者大赛来了,我们特别兴奋能够邀请大家参加我们今年的年度大奖赛,利用InterSystems IRIS数据平台创建开源解决方案! 🏆 InterSystems2022年度编程大奖赛 🏆 时间: 2021年5月9日 - 6月5日(美东时间) 总奖金超过$22,000美金,比去年提高37%!!! #活动 #竞赛 #InterSystems IRIS #Open Exchange 0 0 0 104
文章 Michael Lei · 五月 15, 2022 阅读大约需 1 分钟 InterSystems IRIS最佳实践---在TLS/SSL中使用操作系统的证书库 有一个简单的新方法可以在Windows和Mac上的InterSystems IRIS 2019.1(和2018.1.2)的SSL/TLS配置中添加证书授权(CA)证书。 你可以通过输入以下内容要求IRIS使用操作系统的证书存储。 %OSCertificateStore 在 "包含受信任证书颁发机构X.509证书的文件 "栏中输入:%OSCertificateStore。 这里有一张如何在门户中这样做的图片: 这里有一个描述这个问题的文档链接。 它在 "包含受信任的证书颁发机构证书的文件 "的选项列表中。 这就是你需要做的所有事情! 现在,这个配置将接受由操作系统证书库中列出的任何CA颁发的证书。 #SSL #安全 #提示和技巧 #InterSystems IRIS 0 0 0 95
文章 姚 鑫 · 五月 28, 2022 阅读大约需 2 分钟 第155章 SQL函数 UPPER 第155章 SQL函数 UPPER 将字符串表达式中的所有小写字母转换为大写字母的大小写转换函数。 大纲 UPPER(expression) UPPER expression 参数 expression - 字符串表达式,可以是列名、字符串文字或另一个函数的结果,其中基础数据类型可以表示为任何字符类型(例如 CHAR 或 VARCHAR)。 描述 UPPER 函数将所有字母字符转换为大写字母。这是 LOWER 函数的反函数。 UPPER 保留不变的数字、标点符号和前导或尾随空格。 UPPER 不强制将数字解释为字符串。 SQL 从数字中删除前导零和尾随零。指定为字符串的数字保留前导零和尾随零。 也可以使用 UPPER() 方法调用从 ObjectScript 调用此函数: #SQL #Caché 0 0 0 34
文章 Michael Lei · 六月 7, 2022 阅读大约需 3 分钟 绕过ODBC使用ObjectScript访问远程系统 绕过ODBC使用ObjectScript访问远程系统 这是一个在 IRIS 2020.1 和 Caché 2018.1.3 上工作的代码示例 不会与新版本保持同步 也不会获得 InterSystems 提供的支持服务! 我们经常会遇到这样的情况,由于各种原因ODBC是访问一个远程系统的唯一选择。如果你只需要检查或改变表,这就足够了。但你不能直接执行一些命令或改变一些Global。 特别感谢@Anna.Golitsyna 启发我发表此文。 这个例子提供了3种 SQLprocedure 方法来实现访问远程系统这个目的,如果其他的访问方式被阻止,通常是被一些防火墙阻止。 #ObjectScript #ODBC #SQL #Globals #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 68
文章 Frank Ma · 六月 13, 2022 阅读大约需 2 分钟 Python和ObjectsScript中消息响应时间的对比测试 这是一个在InterSystems IRIS中用python和objectscript建立的对比测试。 测试目的是比较在python和objectscript中从BP到BO来回发送一千条请求/消息的速度。 更多信息,请访问 https://github.com/LucasEnard/benchmark-python-objectscript。 重要提示 : 这里用的是python, graph objectscipt和objectscript从一个BP到一个BO来回发送1000条消息的时间,单位是秒。 字符串信息是由十个字符串变量组成。 对象信息由十个对象变量组成,每个对象都是它自己的int、float、str和List(str)。 #ObjectScript #Python #InterSystems IRIS 1 0 0 49
Job Tingting Jiang · 六月 21, 2022 InterSystems热门职位(1):Market Development Representative InterSystems正在招聘Market Development Representative欢迎您的自荐、推荐。 #工作机会 0 0 0 73
文章 姚 鑫 · 六月 27, 2022 阅读大约需 7 分钟 第十二章 信号(二)- 生产者消费者示例 第十二章 信号(二)- 生产者消费者示例 下面是一系列使用信号量实现生产者/消费者场景的类。 “主”进程初始化信号量并等待用户指示活动已全部完成。生产者在循环中随机增加一个信号量值,更新之间的延迟可变。消费者尝试在随机时间从信号量中删除随机数量,也是在循环中。该示例由 5 个类组成: - Main – 初始化环境并等待信号量上的活动完成的类。 - Counter – 实现信号量本身的类。它记录它的创建以及由于信号量在等待列表中而发生的任何回调。 - Producer – 一个类,其主要方法增加信号量值。增量是一个随机选择的小整数。完成增量后,该方法会在下一个增量之前延迟一小段随机数秒。 - Consumer 消费者——这是对生产者的补充。此类的主要方法尝试将信号量减少一个随机选择的小整数。它将递减请求添加到其等待列表中,等待时间也是随机选择的秒数。 - Util - 这个类有几个方法被示例的其他类使用。几种方法解决了为所有活动维护公共日志的问题;其他人解决了多个消费者和多个生产者的命名问题。 #SQL #Caché 0 0 0 35
文章 姚 鑫 · 七月 5, 2022 阅读大约需 5 分钟 第十九章 使用工作队列管理器(二) 第十九章 使用工作队列管理器(二) 基本工作流程 可以通过执行以下步骤来使用工作队列管理器: 将ObjectScript 代码划分为工作单元,这些工作单元是满足特定要求的类方法或子例程。 创建一个工作队列,它是 %SYSTEM.WorkMgr 类的一个实例。为此,请调用 %SYSTEM.WorkMgr 类的 %New() 方法。该方法返回一个工作队列。 可以指定要使用的并行worker jobs的数量,也可以使用默认值,这取决于机器和操作系统。此外,如果已创建类别,则可以指定应从中获取job的类别。 创建工作队列时,工作队列管理器会创建以下工件: - 包含有关工作队列的信息的全局变量,例如工作队列在哪个命名空间中运行 - 工作队列必须处理的序列化工作单元的位置和事件队列 - 在工作队列完成处理工作单元时创建的完成事件的位置和事件队列 #SQL #Caché 0 0 0 41
文章 姚 鑫 · 七月 13, 2022 阅读大约需 3 分钟 第四章 使用嵌入式 Python(一) 第四章 使用嵌入式 Python (一) 嵌入式 Python 允许使用 Python 作为编程 IRIS 应用程序的本机选项。 预备知识 使用嵌入式 Python 所需的 Python 版本取决于运行的平台。 在 Microsoft Windows 上,IRIS 安装工具包安装正确版本的 Python(当前为 3.9.5),仅用于嵌入式 Python。如果在开发机器上并希望将 Python 用于一般用途,建议从 https://www.python.org/downloads/ 下载并安装相同的版本。 #SQL #Caché 0 0 0 91
文章 Michael Lei · 七月 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 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 93
文章 姚 鑫 · 七月 25, 2022 阅读大约需 6 分钟 第七章 在 REST 服务中支持 CORS 第七章 在 REST 服务中支持 CORS 概述 本节提供 CORS 的概述以及如何在 IRIS REST 服务中启用 CORS 的概述。 CORS 简介 跨域资源共享 (CORS) 允许在另一个域中运行的脚本访问服务。 通常,当浏览器从一个域运行脚本时,它允许对同一个域进行 XMLHttpRequest 调用,但在对另一个域进行调用时不允许它们。此浏览器行为限制某人创建可滥用机密数据的恶意脚本。恶意脚本可能允许用户使用授予用户的权限访问另一个域中的信息,但随后在用户不知道的情况下,将机密信息用于其他用途。为了避免这种安全问题,浏览器一般不允许这种跨域调用。 在不使用跨域资源共享 (CORS) 的情况下,具有访问 REST 服务的脚本的网页通常必须与提供 REST 服务的服务器位于同一域中。在某些环境中,将带有脚本的网页与提供 REST 服务的服务器放在不同的域中是很有用的。 CORS 支持这种安排。 #REST API #Caché 0 0 0 28
文章 Claire Zheng · 八月 3, 2022 阅读大约需 3 分钟 西安交通大学(生物医学语义理解研究组)李辰:数字化转型中的智能病理诊断 今天推荐一篇智能病历诊断方面的文章(点击阅读全文)。 #其他 0 0 0 123
文章 Michael Lei · 八月 9, 2022 阅读大约需 1 分钟 GitHub上的VSCode-ObjectScript 不久前,GitHub推出了在浏览器中快速运行VSCode的功能,可以在任何仓库中运行。 在任何仓库或拉动请求上按下 . 键,或将URL中的.com换成.dev,就可以直接进入浏览器中的VS Code环境。 这个VSCode是桌面版的轻型版本,完全基于浏览器。由于这个原因,它对允许以这种方式工作的扩展插件有限制。让我介绍一下VSCode-ObjectScript扩展的新版本1.2.1,它现在支持在浏览器模式下运行。 #开发环境 #InterSystems IRIS #VSCode 0 0 0 134
公告 Michael Lei · 八月 13, 2022 [视频] 机器学习201--神经网络和图像识别 嗨,开发者们。 不要错过这个由InterSystems Healthcare副总裁@Donald.Woodlock主持的动手实践环节: ⏯ Machine Learning 201 - Neural Networks and Image Recognition #Python #机器学习 #视频 #InterSystems IRIS 0 0 0 62
公告 Claire Zheng · 八月 22, 2022 InterSystems开发者大赛:以互操作性技术为可持续发展构建解决方案 亲爱的开发者们! 到了展示互操作性技术的时候了!来参加我们最新的竞赛吧! 🏆 InterSystems开发者大赛:以互操作性技术为可持续发展构建解决方案 🏆 时间: 8月29日-9月19日(北京时间) 奖金更高: $13,500 – 请留意,奖金分配跟以往有所不同! #互操作性 #活动 #竞赛 #InterSystems IRIS #IRIS竞赛 1 0 0 126
公告 Claire Zheng · 九月 5, 2022 欢迎中文社区新版主@张特特 亲爱的社区开发者们, 我很高兴地向大家介绍一位我们的新版主 @Tete Zhang (张特特)! @Tete Zhang (张特特) 目前任职于InterSystems中国,在WRC部门任职资深技术支持专家一职。 以下是@Tete Zhang (张特特)的自我介绍: 在2015年夏天实习结束后,我于2016年正式作为技术支持工程师加入InterSystems,从那时起,我在InterSystems全球支持中心北美分部工作了六年,2022年,我调职至北京,服务于InterSystems中国,希望能为成长中的中国市场出一份力。 很高兴可以在社区与大家相遇,希望能与大家一起努力,创造更精彩的社区! #开发者社区官方 0 0 0 62
文章 Jingwei Wang · 九月 16, 2022 阅读大约需 3 分钟 C++ 应用程序连接到InterSystems IRIS数据库 - 使用 ODBC 连接前准备: C++ 开发环境 InterSystems ODBC 驱动 (ODBC 驱动会随InterSystems IRIS安装包自动安装在服务器中) Connection String 步骤: #C++ #ODBC #InterSystems IRIS for Health 0 0 0 51
文章 Jingwei Wang · 九月 20, 2022 阅读大约需 2 分钟 在虚拟化环境中使用镜像的注意事项 在虚拟化环境中使用镜像,构成镜像的InterSystems IRIS实例被安装在虚拟主机上,创造了一个混合的高可用性解决方案,将镜像的优点与虚拟化的优点结合起来。镜像通过自动故障切换对计划内或计划外的故障提供即时响应,而虚拟化HA软件在计划外的机器或操作系统故障后自动重新启动承载镜像成员的虚拟机。这允许失败的成员迅速重新加入镜像,充当备份(或在必要时作为主机)。 当镜像被配置在虚拟化环境中时,请参考以下建议: #镜像 #高可用性 #InterSystems IRIS for Health 1 0 0 48
文章 Qiao Peng · 十月 6, 2022 阅读大约需 10 分钟 集成产品的业务行为监控 最近一些用户问到监控集成平台业务行为查询的问题,例如如何查询服务的平均耗时、发生错误的服务数量... 业务行为监控对于集成平台来说非常重要,可以帮助我们: 监控系统健康情况 — 查看系统性能表现。例如发现队列积压和长耗时的消息处理,都可能是性能问题的表现。 排查异常 — 通过查看业务行为数据,帮助我们判断特定的业务组件配置是否是造成性能瓶颈的主要原因。 做业务规划 — 通过业务行为数据,了解各个业务量变化情况,并辅助我们做业务规划。 做硬件规划 — 通过长期跟踪消息吞吐量的变化了解性能的变化和业务量的增长,进而辅助我们做硬件计划,避免出现在性能问题。 仅提供这些查询是很容易的,但要更好地监控集成平台的业务行为,需要更深入的了解InterSystems集成架构。 #开发运维 #Ensemble #HealthShare #InterSystems IRIS for Health 1 0 0 146
文章 姚 鑫 · 十月 15, 2022 阅读大约需 2 分钟 第十七章 CSP 中的 HTTP 请求 - %CSP.Response 对象和 OnPreHTTP 方法 第十七章 CSP 中的 HTTP 请求 - %CSP.Response 对象和 OnPreHTTP 方法 %CSP.Response 对象和 OnPreHTTP 方法 可以使用对象中的 %CSP.Response 控制将哪些响应标头发送回 HTTP 客户端。 CSP 服务器自动创建此类的一个实例,并将对它的引用放在变量 %response 中。 由于 %response 对象控制 HTTP 标头,因此通常在类中的 %CSP.Page 的 OnPreHTTP 方法中设置其属性。例如,要重定向传入的 HTTP 请求,请定义以下 OnPreHTTP 方法: #CSP #Caché 1 0 0 30
文章 Qiao Peng · 十月 22, 2022 阅读大约需 4 分钟 SQL业务服务和业务操作 1. 新的系统SQL业务服务/业务操作 接连SQL数据源和操作SQL数据目标是常见的集成业务场景。使用SQL适配器监控SQL数据源和操作SQL目标库时,我们需要开发自定义BS或BO,写不少代码。例如开发自定义SQL服务需要: 1. 开发响应消息类,用于承接SQL快照数据; 2. 开发自定义业务服务BS类,用于将SQL快照按字段赋值给对应的消息,并将消息发送给目标(业务流程或业务操作)。 而要开发自定义SQL操作,更麻烦些: 1. 开发请求和响应消息类,用于向BO传输数据和接收返回数据; 2. 开发自定义业务服务BO类,设置消息响应表,根据不同请求消息类型编写方法; 3. 在方法中根据请求消息数据拼写SQL语句; 4. 在方法中将SQL执行结果存入响应消息。 虽然很简单,但编程过程枯燥乏味。而且当修改SQL语句时,还要修改对应的消息类和BS/BO类。 从2021.2开始,InterSystems IRIS增加了2套系统SQL业务服务和SQL业务操作: #业务服务 #互操作性 #InterSystems IRIS #InterSystems IRIS for Health 3 0 0 284
公告 Claire Zheng · 十一月 2, 2022 【动画视频】要想运维功夫硬,日常应该怎么做? 构建系统夯基础,日常运维是保障。运维工作杂又细,业务连续是关键。等保评级都看它,日常练兵保安全。日常运维很重要,想要干好不容易。要想运维功夫硬,日常应该怎么做? #视频 #InterSystems IRIS for Health 1 0 0 46
公告 Claire Zheng · 十二月 5, 2022 为社区成员提供的全新在线分析仪表板(Analytics Dashboard)! 开发者们大家好! 我们非常激动地与您分享我们为每个社区成员提供的在线分析仪表板(Online Analytics Dashboard)这一全新的强大功能🔥 从现在开始,您可以看到您自己的当周、月和所有时间的详细统计数据,包括: 浏览量,点赞量,评论量,关注量 时间轴图——针对浏览量、点赞、关于您的帖子的行动、评论 包含关于您的每个帖子的浏览量、评论和点赞信息的表 #开发者社区官方 1 0 0 62
文章 姚 鑫 · 十二月 14, 2022 阅读大约需 4 分钟 第十三章 使用系统监视器 - 系统监视器 第十三章 使用系统监视器 - 系统监视器 System Monitor 是一种灵活的、用户可扩展的实用程序,用于监控 数据平台实例,并在一个或多个指标的值表明存在潜在问题时生成通知。如所提供的,System Monitor 包含以下实例监控工具: #Caché 0 0 0 84
文章 Lilian Huang · 十二月 31, 2022 阅读大约需 10 分钟 HL7 ADT消息的类型和ADT^A04的例子 在上一篇文章中,我们讨论了标准 HL7v2 的起源、结构和消息类型。现在让我们看一下最常用的消息类型之一及其结构示例。我说的是 ADT。 HL7 ADT 消息(入院、出院、转院)用于在医疗机构传达基本患者信息、就诊信息和患者状态。 ADT 消息是使用最广泛且容量最大的 HL7 消息类型之一,因为它为许多触发事件提供信息,包括患者入院、注册、取消、更新、出院、患者数据合并等。 #HL7 #Ensemble #HealthShare #InterSystems IRIS for Health 2 0 0 445
文章 Jingwei Wang · 一月 19 阅读大约需 6 分钟 介绍使用嵌入式 Python 进行 Web 抓取 什么是网页抓取: 简单来说,网络抓取、网络收获或网络数据提取是从网站收集大数据(非结构化)的自动化过程。用户可以根据需要提取特定站点上的所有数据或特定数据。收集的数据可以以结构化格式存储以供进一步分析。 网页抓取涉及的步骤: 找到您要抓取的网页的 URL 通过检查选择特定元素 编写代码获取被选元素的内容 以需要的格式存储数据 就这么简单! ##嵌入式 Python #ObjectScript #InterSystems IRIS for Health 0 0 0 75
文章 姚 鑫 · 一月 28 阅读大约需 3 分钟 第五十九章 使用 ^PERFSAMPLE 监控进程 - 收集样本 第五十九章 使用 ^PERFSAMPLE 监控进程 - 收集样本 本主题介绍 ^PERFSAMPLE 实用程序,这是一种用于分析 IRIS® 数据平台流程的工具。该实用程序处理实时系统上的活动,并呈现采样活动的易于导航的细分,这可以提供对系统的洞察力。例如,可以通过检查 ECP 请求来发现应用程序瓶颈,或者通过查看等待事件的类型来识别整个系统的瓶颈。 要开始,请从感兴趣的 IRIS 实例上的 %SYS 命名空间运行 ^PERFSAMPLE: USER>set $namespace = "%SYS" %SYS>do ^PERFSAMPLE Collecting Samples 运行^PERFSAMPLE后,立即显示以下消息: #Caché 0 0 0 59
文章 姚 鑫 · 二月 5 阅读大约需 3 分钟 第六十七章 使用 Web 服务监控 IRIS - 监控 Web 服务的 URL 第六十七章 使用 Web 服务监控 IRIS - 监控 Web 服务的 URL 对于给定的 IRIS 实例,日志监控 Web 服务可从以下 URL 获得: http://server:port/csp/sys/SYS.WSMon.Service.cls 其中,服务器是运行 IRIS 的服务器,端口是 IRIS Web 服务服务器使用的端口。例如: http://localhost:52773/csp/sys/SYS.WSMon.Service.cls 同样,此 Web 服务的 WSDL 可从以下 URL 获得: #Caché 0 0 0 68