文章 王喆 👀 · 九月 7, 2022 阅读大约需 4 分钟 IRIS如何进行CRUD操作 前言 #API #JSON #ObjectScript #管理门户 #Ensemble #HealthShare #InterSystems IRIS #VSCode #学习门户 40 7 5 412
文章 聆严 周 · 九月 30, 2022 阅读大约需 11 分钟 使用Prometheus监控Cache集群 使用Prometheus监控Cache集群 Executive Summary 生产级别的Cache集群往往由多个Cache实例组成,而Cache自带的管理界面不能满足对整个集群的监控,因此在实际使用中,往往需要投入人力对实例进行性能巡检。即便如此,这种巡检模式实时性低、告警的漏报错报率高、对既往数据追溯能力差。针对Cache/IRIS集群管理的这一缺憾,本文提出以Prometheus监控Cache集群的方案,最终实现了对集群全实例监控指标的自动化采集,以及准实时监控数据展示和告警提示。 #Caché #Ensemble #InterSystems IRIS 24 7 0 463
文章 王喆 👀 · 九月 13, 2022 阅读大约需 4 分钟 IRIS快速查询服务思路分享 背景 作为集成平台厂商,在医院同其它系统联调的时候所做的事情中,多的不是开发代码而是查消息。我先演示一下目前我正在使用的IRIS查消息的方式: #InterSystems 业务解决方案和架构 #ObjectScript #可视化 #HealthShare #InterSystems IRIS #InterSystems 想法门户 Open Exchange app 21 3 0 202
文章 he hf · 十月 8, 2022 阅读大约需 6 分钟 10分钟快速开发一个连接到InterSystems IRIS数据库的C#应用 安装InterSystems IRIS数据库的ODBC驱动,在Windows系统中配置数据源后,可以使用Microsoft Visual Studio 开发工具 中的服务器资源管理器很方便地连接到InterSystems IRIS数据库服务器,利用数据库连接的可视化视图,可以非常方便快捷地进行连接到InterSystems IRIS数据库的应用开发。本文将展示一个利用以上方式实现的例子,开发工具为Microsoft Visual Studio 2019,开发语言为C#,10分钟快速开发实现一个连接到InterSystems IRIS数据库的C#应用,在本例子中,可以通过选择日期和科室,查询指定日期和科室的就诊日志。 1、在成功安装InterSystems IRIS数据库的ODBC驱动后,从Windows的“控制面板”中选择“管理工具”,在“管理工具”中选择“ODBC数据源”。 #.NET #ODBC #SQL #开发环境 #数据库 #Caché #InterSystems IRIS 16 6 3 526
文章 姚 鑫 · 九月 25, 2022 阅读大约需 78 分钟 IRIS与Caché的23种设计模式 IRIS的23种设计模式 第一章 Caché 设计模式 简单工厂模式 定义 简单工厂模式属于创建型模式,又可称为静态工厂模式,这是由一个工厂对象决定创建出哪一种产品类的实例 使用场景 工厂类负责创建的对象比较少 客户只需知道传入工厂类的参数,而无须关心创建对象的逻辑 优点 使用户根据参数获得对一个的类实例,避免了直接实例化类型,降低了耦合性 能把客户类和具体子类的实现解耦,客户类不再需要知道有哪些子类以及应当实例化哪个子类:客户类往往有多个,如果不使用简单工厂,那么所有的客户类都要知道所有子类的细节。而且一旦子类发生改变,所有的客户类都要进行修改 缺点 可实例化的类型在编译期间已经被确定。 如果增加新类型,则需要修改工厂,这违背了开放封闭原则 子类多过不适合使用 示例 用Caché 实现一个计算器控制台程序,要求输入两个数和运算符号。 #Caché #InterSystems IRIS #InterSystems IRIS for Health 16 2 1 199
文章 王喆 👀 · 九月 12, 2022 阅读大约需 2 分钟 小工具:IRIS管理页打开显示查询功能 大家都用过IRIS的消息查看器吧,其实这个页面有一个隐藏的功能,就是显示【显示查询】,如图所示: #SQL #数据库 #管理门户 #Global Masters #HealthShare #InterSystems IRIS 16 0 0 139
文章 聆严 周 · 九月 27, 2022 阅读大约需 6 分钟 Cache / IRIS 操作数据的3种基本方式 背景 Cache起源于没有SQL的1970时代,当时各种高级计算机语言才刚刚诞生,其中M语言较为独特,它的诞生就是为了在没有操作系统的机器上,进行数据存储。别忘了,Unix在1971年才发布。M语言别具一格地采用了Global多维数组,统一了复杂的内存操作和文件读写,使之成为了1970年代数据库的事实标准,特别是在医疗行业。而后Intersystems在1978年接过M语言的旗帜,在M语言上添加了SQL兼容层和ObjectScript层,前者顺应了时代的潮流,后者不仅为M语言提供了强大的OOP和各种便捷的语法糖,还让数据能以对象形式进行访问,让数据和代码更加紧密。 本文将简述多维数组、SQL、对象这3种数据操作方式,提供实例代码片段,并在运行效率、开发效率、管理效率、实用性方面讨论它们的优缺点。 为方便讨论,以学校与学生为例。对每种操作方法,都列举3种典型的用例,分别为,访问某特定ID的学生(即数据库ID索引)、访问某特定studentID的学生(即遍历唯一索引)、和访问某学校的所有人(即遍历非唯一索引)。 现假设学生表/对象定义如下: #ObjectScript #SQL #Caché #InterSystems IRIS 16 3 1 318
文章 bai hongtao · 十月 7, 2022 阅读大约需 4 分钟 第三方HA软件结合MIRROR使用方法探讨 在Cache 2018之前的版本中,数据库的高可用是通过第三方HA软件保障的,Cache数据库在2018以后及IRIS支持MIRROR技术,通过MIRROR可以保障数据库的高可用及数据的冗余,那么在新版本中,第三方HA软件与MIRROR是否可以同时使用以实现更高的数据库可用性?使用起来有哪些需要注意的?本文重点介绍探讨上述两个问题。 #故障转移 #数据库 #现场测试 #镜像 #高可用性 #Caché #InterSystems IRIS #其他 12 0 0 182
文章 li dong · 十月 20, 2022 阅读大约需 3 分钟 实现Cache/IRIS中zip文件的下载、解压及读取 IRIS中实现zip文件的下载、解压及读取 0 前言 项目上做对账需求时,需要通过http方式下载第三方的对账的文件,是一个压缩文件,里边包含一个csv文件。 1 准备工作 1.1 安装解压缩软件 需要根据cache/iris服务器运行环境安装不同的解压缩软件。 本文是在windows环境下实现的,安装了WinRAR解压缩软件,安装目录为:”C:\Program Files\WinRAR“。 1.2 部署测试http服务器 部署一个web服务器,放一个zip文件。 本文在macOS系统中使用MAMP部署了一个简单的服务器,提供一个对外服务:http://192.168.1.107:8888/sss/Archive.zip 2 下载zip文件 主要思路: 通过http下载zip文件,然后另外到服务器上指定的文件夹下,并重命名。 代码 #InterSystems IRIS 10 2 0 277
文章 王喆 👀 · 十月 18, 2022 阅读大约需 4 分钟 COS的基本语法 ObjectScript是一种面向对象的编程语言,它是InterSystems公司的Caché和Ensemble数据库的核心语言之一。ObjectScript语言的语法类似于MUMPS语言,它支持面向对象编程、过程式编程、函数式编程等多种编程范式。ObjectScript语言主要用于开发Caché和Ensemble数据库应用程序,它可以访问数据库中的数据、调用数据库中的存储过程、触发器和事件,还可以与其他编程语言进行交互。 #Caché #Ensemble #InterSystems IRIS 8 2 0 129
文章 yaoguai wan · 九月 30, 2022 阅读大约需 4 分钟 IRIS架构的浅显理解以及windows10、docker安装IRIS Health详解流程及部分问题浅析 前言 本人因技术需要,了解到了IRIS Health产品,在听了产品介绍会之后,感觉该产品是否有趣,并且比较符合自己目前的需求,因此大概了解了下IRIS的架构。以下是本人的浅显理解,如有错误之处欢迎讨论。 本人从产品介绍和社区的文档中,了解到IRIS的大概功能分类 #Microsoft Windows #Ubuntu #容器化 #本地化 #InterSystems IRIS 7 2 0 104
文章 Qiao Peng · 一月 28 阅读大约需 9 分钟 微服务应用架构与微服务架构应用的集成 微服务架构作为一种软件开发架构,这些年越来越热。那微服务应用架构的优缺点有哪些?它是否适合我呢?以及如何做微服务架构应用的集成? 这里我谈谈自己的看法。 #业务流程 (BPL) #微服务 #InterSystems IRIS #InterSystems IRIS for Health 4 1 1 272
文章 Qiao Peng · 一月 17, 2022 阅读大约需 8 分钟 精华文章--多语言字符集系列文章--第一篇 多语言字符集和相关标准简史 各大技术社区常年充斥着关于字符集支持、乱码的问题。Cache’/Ensemble/HealthConnect/IRIS的用户也经常遇到这类问题。为何文字乱码在信息化发展这么久后还会困扰我们?因为字符集、多语言实在有点复杂。 我计划写三篇:第一篇花点时间回顾一下多语言字符集的简史,第二篇介绍一下各种技术对于字符集和字符编码的使用声明,最后一篇会介绍常见的ISC技术和工具的乱码、尤其是中文乱码的现象和解决办法。 #本地化 #语言 #Caché #InterSystems IRIS #InterSystems IRIS for Health #其他 4 0 3 482
文章 Qiao Peng · 十二月 18, 2021 阅读大约需 12 分钟 精华文章--从软件架构发展谈业务集成技术演进与展望 应用集成技术是市场上被广泛使用的,也是充斥着术语和概念的一个技术领域。集成平台、消息引擎、消息中间件、集成引擎、集成中间件、企业服务总线(ESB)、API网关、API管理… 很多概念与名词。到底它们是什么意思?有什么区别?哪种技术适合解决哪种集成问题? 业务集成的需求和技术的演进是紧随业务系统的软件架构发展而发展的。通过小结软件架构的发展,我们更容易梳理业务集成技术的演进、更容易看清楚各种集成架构的优势和未来发展方向。 #InterSystems API管理器(IAM) #InterSystems 业务解决方案和架构 #业务流程 (BPL) #持续集成 #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 4 0 0 705
文章 Qiao Peng · 八月 23, 2022 阅读大约需 6 分钟 InterSystems 常用术语 任何技术总是有些自己独特的术语,尤其是一些英文术语,对于新的用户来说往往即陌生又迷惑。这里整理了一下常听到的InterSystems术语,帮助大家尽快进入InterSystems技术圈子。 #提示和技巧 #Caché #InterSystems IRIS #InterSystems IRIS for Health 4 1 2 202
文章 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 253
文章 Tete Zhang · 二月 20 阅读大约需 11 分钟 OpenAPI-Suite(从 OpenAPI 3.0 生成 ObjectScript 代码的工具集):介绍 InterSystems 开发人员工具大赛 2023 获奖者 开发者您好! 这里向介绍@Lorenzo Scalese的OpenAPI-Suite (一个用于从OpenAPI 3.0生成 ObjectScript 代码的工具集)。这个工具集在 2023 年 InterSystems 开发工具大赛的21 个参赛作品中获得专家提名第三名。 #REST API #开发环境 #InterSystems IRIS #InterSystems IRIS for Health 3 0 1 143
公告 Claire Zheng · 二月 1, 2021 InterSystems 2021年度编程大奖赛 大家好! InterSystems IRIS开发者们,我们有一个好消息要跟大家分享! 我们很高兴能够邀请大家参加我们今年的年度大奖赛,利用InterSystems IRIS数据平台创建开源解决方案! 🏆 InterSystems编程大奖赛 🏆 时间: 2021年2月8日 - 3月8日 奖金总额: $16,000 #活动 #竞赛 #InterSystems IRIS #IRIS竞赛 #Open Exchange 3 12 1 349
公告 姚 鑫 · 六月 7, 2021 跟版主学Caché——大型史诗级免费技术培训Caché百讲 每周二晚六点 点击链接直接加入会议: https://meeting.tencent.com/p/8182989668?rs=25 会议 ID:818 298 9668 #活动 #Caché #InterSystems IRIS #学习门户 3 3 0 360
文章 Nicky Zhu · 二月 4, 2021 阅读大约需 7 分钟 案例: 建立只能使用SQL的用户 上一篇: IRIS中的权限管理 在上一篇文章中,我们介绍了IRIS中的权限控制体系。在本文中我们将以一个常见的实施需求为例介绍如何使用IRIS的权限配置出一个只能使用SQL的用户。 需求的分解 和所有用户需求一样,当用户提出一个需求时,除其语义显式的含义之外,还需分析其是否具有没有明确说明的含义。 对于一个只能使用SQL的用户这样一个需求,即应当结合平台的特征分解成为功能需求: 具有一个合法,可通过用户名和密码使用IRIS的用户 该用户的数据库权限 - 确认项:可以使用SQL访问所有数据库还是某几个特定的数据库? 该用户的SQL权限 - 确认项:对于特定的数据库,是否可以执行所有的DDL? - 确认项:对于特定的数据库,是否对每一张表都可以执行Select、Update等所有的DML 该用户的程序权限 - 确认项:用户是否可以通过Portal登录并管理IRIS? #安全 #数据库 #新手 #访问控制 #系统管理 #访问控制 #身份认证 #InterSystems IRIS #文档 3 3 1 192
文章 jingqi LIu · 三月 3, 2021 阅读大约需 1 分钟 酒店行业的第一个Iris应用 #InterSystems IRIS #Open Exchange Open Exchange app 3 5 0 132
文章 water huang · 三月 27 阅读大约需 9 分钟 医院信息化建设实战教程:如何在不允许使用Git的情况下自动备份代码/自动执行代码? 一、背景 1.1 我遇到了几个项目,他们的接口服务器崩溃了。 项目上希望尽快恢复服务器。他们的服务器在局域网上运行,他们不能使用git,服务器中有多个命名空间运行不同的服务,而且通常只有一台平台服务器。 1.2 如果消息中有字符流类型的属性,消息搜索页面不支持使用字符流属性进行过滤,因此很难找到想要的消息。 1.3 其他同事可能会更新服务器上的代码,代码中可能有些错误。 2.挑战 2.1 如何快速恢复? 2.2 如何支持字符流属性过滤消息? 2.3 如何在编译类时自动备份? 3.解决方案 1.编译时自动导出为备份文件 首先,我们定义一个名为“SYS.base”的类,它只有一个名为“ CLSBAKPATH”的参数,并设置它的值 #XML #工具 #教程 #编译器 #Caché #Ensemble #InterSystems IRIS 3 1 0 73
文章 Qiao Peng · 十月 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个注册项并得到相应的命令。各个操作系统的命令并不一样,示例如下: #开发运维 #提示和技巧 #InterSystems IRIS #InterSystems IRIS for Health 3 0 1 39
文章 Hao Ma · 一月 15, 2021 阅读大约需 5 分钟 ObjectScript错误管理 InterSystems编程语言的错误管理技术一直在发展。接下来,我们将展示几种不同的错误管理实现方式,以及为什么要使用TRY/THROW/CATCH机制。 您可以点击这里阅读官方的错误处理建议。 为了支持遗留应用程序,InterSystems不会废弃非推荐的错误管理方法。我们建议使用objectscriptQuality等工具来检测遗留的非推荐用例以及其他可能的问题和错误。 #错误处理 #ObjectScript #Caché #InterSystems IRIS Open Exchange app 2 0 0 82
文章 Hao Ma · 六月 19 阅读大约需 5 分钟 IRIS通过SNMP发送警告通知的操作 上篇文章IRIS, Caché监控指导 - 警告和告警 发出后收到要求介绍一下发送SNMP通知的具体操作,这里介绍一下。 我省去了SNMP的原理,这个有需要的可以网上查找。这里只做一个配置的操作:测试怎么从一个Windows上安装的IRIS实例发送IRIS Alert给另一台Linux服务器。 第一步: 配置 Windows SNMP 因为安全原因,Windows 10不再默认安装中启动SNMP,用户需要手工安装SNMP启动服务。以下两个文章是古老的Window 2003和新的Windows 10中配置SNMP的安装,给各位做个参考。 #系统管理 #Caché #InterSystems IRIS 2 0 1 61
文章 Qiao Peng · 五月 25, 2022 阅读大约需 1 分钟 如何通过Journal日志文件查询谁对特定数据做了什么操作 %SYS.Journal.Record 类有一个查询(query), List, 可以列出Journal文件中记录的数据修改历史。例如,要查询谁对global节点^QP(1,2)做过修改,可以使用如下代码。它查询Journal文件(输入参数pFilePath)中的global节点(输入参数pSearchGlobal)的操作: #Code Snippet #开发运维 #提示和技巧 #系统管理 #Caché #InterSystems IRIS #InterSystems IRIS for Health 2 0 2 190
文章 Lilian Huang · 九月 1, 2022 阅读大约需 6 分钟 InterSystems IRIS 中的数据模型 在我们开始谈论数据库和现有的不同数据模型之前,我们最好先谈谈什么是数据库以及如何使用它。 #多模型 #对象数据模型 #关系表 #数据库 #数据模型 #文档数据模型 (NoSQL) #非结构化数据 #InterSystems IRIS 2 0 0 123
文章 姚 鑫 · 三月 6, 2021 阅读大约需 16 分钟 第五章 SQL定义表(一) 第五章 SQL定义表 表名称和架构名称 可以通过定义表(使用CREATE TABLE)或通过定义投影到表的持久类来创建表: DDL:InterSystemsIRIS®数据平台使用CREATE TABLE中指定的表名来生成相应的持久类名,并使用指定的架构名来生成相应的包名。 类定义:InterSystemsIRIS®数据平台使用持久类名称来生成对应的表名,并使用包名称来生成对应的模式名。 由于以下原因,这两个名字之间的对应关系可能不相同: #Caché #InterSystems IRIS #InterSystems IRIS for Health 2 2 0 109
公告 Claire Zheng · 五月 31 欢迎参加InterSystems 2023年度编程大奖赛(Grand Prix)! Hi 开发者们!一年一度的 InterSystems IRIS 开发者大奖赛已启动! 我们非常高兴地邀请大家参加此次编程大赛——使用 InterSystems IRIS 数据平台构建开源解决方案! 🏆 InterSystems 2023 年度编程大奖赛🏆 时间: 2023年6月12日-7月9日(美国东部时间) 奖金池: 26,000 美元 #活动 #竞赛 #InterSystems IRIS #IRIS竞赛 #Open Exchange 2 2 1 175
文章 姚 鑫 · 二月 28, 2021 阅读大约需 7 分钟 第一章 InterSystems SQL简介 第一章 InterSystems SQL简介 InterSystems SQL提供对InterSystems IRIS®Data Platform数据库中存储的数据的无懈可击的标准关系访问。 InterSystems SQL提供以下优势: #Caché #InterSystems IRIS #InterSystems IRIS for Health 2 2 0 188