文章 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 258
文章 Qiao Peng · 二月 22, 2023 阅读大约需 12 分钟 InterSystems IRIS的面向对象数据库特性 面向对象编程的优势 在应用程序开发时,我们使用的大多数开发语言都是面向对象编程 object-oriented programming (OOP)语言,例如大家熟悉的Java、.NET。而TIOBE的2023年2月的最新开发语言流行排行榜上,前5大语言都是面向对象编程语言,连排名第六的Visual Basic都有了越来越多的OO特性: #多模型 #对象数据模型 #数据模型 #语言 #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 258
文章 Hao Ma · 四月 29, 2021 阅读大约需 3 分钟 WebGateway系列(4): 配置HTTPS访问IRIS的Web服务 经常被问到有关IRIS如何支持SSL,HTTPS的问题,有必要写个东西介绍一下。 HTTPS的原理 简单的说,https实现两个目的:一是访问网站加密,2是确认被访问的网站是真的。 首先,被访问的网站要申请一个证书,这个证书必须是权威机构发放的,比如google, VeriSign等等,所有的浏览器里有预装了这些组织的公钥(Public Key),因此能确认你提供的证书真是这些组织给出的,而这个证书可以证明你的网站的身份。注意证书证明的是提供服务的组织和服务的真实性,和用什么设备没关系,也就是说,IRIS不管证书的事儿。 接下去,被访问的服务器可以生成公钥和私钥,和客户端交换key,生成整个世界只有两者知道的security code,用来两者之间数据的交换。详细的过程和消息交互可以在网上找到很多很好的文章和视频,比如这个: How does HTTPS work? What's a CA? What's a self-signed Certificate?。 #新手 #部署 #Caché 0 0 0 257
文章 Michael Lei · 五月 12, 2021 阅读大约需 11 分钟 InterSystems 数据平台和性能 - 第 5 篇 使用 SNMP 进行监控 InterSystems 数据平台和性能 - 第 5 部分 使用 SNMP 进行监控 在之前的帖子中,我展示了如何使用 pButtons 收集历史性能指标。 我首选 pButtons 是因为我知道它随每个数据平台实例(Ensemble、Caché、...)一起安装。 不过,还有其他方法可以实时收集、处理和显示 Caché 性能指标,以进行简单的监视,或进行更重要的并且复杂得多的运营分析和容量计划。 最常见的数据收集方法之一是使用 SNMP(简单网络管理协议)。 SNMP 是 Caché 向各种管理工具提供管理和监控信息的标准方式。 Caché 在线文档包含了 Caché 和 SNMP 之间接口的详细信息。 虽然 SNMP 应该可以直接与 Caché 配合工作,但仍有一些配置技巧和陷阱。 我经历了很多次错误的开始,并且在 InterSystems 其他同事的帮助下,才让 Caché 与操作系统 SNMP 主代理建立对话,所以我写了这篇帖子,希望您可以避免同样的痛苦。 在本帖中,我将介绍如何为 Red Hat Linux 上的 Caché 设置和配置 SNMP,您应该能够对其他 *nix 版本使用相同步骤。 我使用 Red Hat 写这篇文章是因为在 Linux 上进行设置更棘手一些;在 Windows 上,Caché 会自动安装一个 DLL 来与标准 Windows SNMP 服务连接,所以应该更容易配置。 #InterSystems 业务解决方案和架构 #性能 #监视 #系统管理 #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 2 1 256
问题 Michael Lei · 五月 5, 2021 来自海外的问题: 使用自身作为参数的%Persistent类中的查询方法 大家好, 我想知道是否有可能获取自身的值来运行查询。 我想创建一些查询以在%Persistent类中找到一个值,但是每个查询都使用不同的值。 #SQL #Caché #Ensemble 0 1 0 256
文章 Michael Lei · 五月 15, 2022 阅读大约需 7 分钟 InterSystems 最佳实践之 掌握 %SYSTEM.Encryption 加密类 InterSystems IRIS对加密、解密和哈希操作有很好的支持。在%SYSTEM.Encryption(https://docs.intersystems.com/iris20212/csp/documatic/%25CSP.Documatic.c...)类中,有市场上主要算法的类方法。 IRIS算法和加密/解密类型 正如你所看到的,这些操作是基于密钥的,包括3个类: #安全 #InterSystems IRIS Open Exchange app 0 0 0 256
文章 Hao Ma · 一月 10, 2021 阅读大约需 11 分钟 使用规范优先的方式开发REST API 在本文中,我想谈一谈规范优先的 REST API 开发方式。 传统的代码优先 REST API 开发是这样的: 编写代码 使其支持 REST 形成文档(成为 REST API) 规范优先遵循同样的步骤,不过是反过来的。 我们先制定规范(同时兼做文档),然后根据它生成一个样板 REST 应用,最后编写一些业务逻辑。 这是有好处的,因为: 对于想要使用你的 REST API 的外部或前端开发者,你总是有相关且有用的文档 使用 OAS (Swagger) 创建的规范可以导入各种工具,从而进行编辑、客户端生成、API 管理、单元测试和自动化,或者许多其他任务的简化 改进了 API 架构。 在代码优先的方式中,API 是逐个方法开发的,因此开发者很容易失去对整体 API 架构的跟踪,但在规范优先的方式中,开发者被强制从 API 使用者的角度与 API 进行交互,这通常有助于设计出更简洁的 API 架构 更快的开发速度 - 由于所有样板代码都是自动生成的,你无需编写代码,只需开发业务逻辑。 更快的反馈循环 - 使用者可以立即查看 API,并且只需修改规范即可轻松提供建议 让我们以规范优先的方式开发 API 吧! #API #InterSystems API管理器(IAM) #REST API #InterSystems IRIS 0 0 0 256
文章 王喆 👀 · 九月 13, 2022 阅读大约需 4 分钟 IRIS快速查询服务思路分享 背景 作为集成平台厂商,在医院同其它系统联调的时候所做的事情中,多的不是开发代码而是查消息。我先演示一下目前我正在使用的IRIS查消息的方式: #InterSystems 业务解决方案和架构 #ObjectScript #可视化 #HealthShare #InterSystems IRIS #InterSystems 想法门户 Open Exchange app 21 3 0 256
文章 姚 鑫 · 九月 25, 2022 阅读大约需 78 分钟 IRIS与Caché的23种设计模式 IRIS的23种设计模式 第一章 Caché 设计模式 简单工厂模式 定义 简单工厂模式属于创建型模式,又可称为静态工厂模式,这是由一个工厂对象决定创建出哪一种产品类的实例 使用场景 工厂类负责创建的对象比较少 客户只需知道传入工厂类的参数,而无须关心创建对象的逻辑 优点 使用户根据参数获得对一个的类实例,避免了直接实例化类型,降低了耦合性 能把客户类和具体子类的实现解耦,客户类不再需要知道有哪些子类以及应当实例化哪个子类:客户类往往有多个,如果不使用简单工厂,那么所有的客户类都要知道所有子类的细节。而且一旦子类发生改变,所有的客户类都要进行修改 缺点 可实例化的类型在编译期间已经被确定。 如果增加新类型,则需要修改工厂,这违背了开放封闭原则 子类多过不适合使用 示例 用Caché 实现一个计算器控制台程序,要求输入两个数和运算符号。 #Caché #InterSystems IRIS #InterSystems IRIS for Health 17 2 1 255
文章 姚 鑫 · 三月 11, 2021 阅读大约需 10 分钟 第八章 SQL修改数据库 第八章 SQL修改数据库 可以对现有的表使用SQL语句,也可以对相应的持久化类使用ObjectScript操作来修改InterSystems IRIS®数据平台数据库的内容。 不能修改定义为只读的持久类(表)。 使用SQL命令为维护数据的完整性提供了自动支持。 SQL命令是一个原子操作(全部或没有)。 如果表上定义了索引,SQL将自动更新它们以反映更改。 如果定义了任何数据或引用完整性约束,SQL将自动执行它们。 如果有任何已定义的触发器,执行这些操作将拉动相应的触发器。 插入数据 可以使用SQL语句或设置和保存持久化类属性将数据插入表中。 使用SQL插入数据 INSERT语句将一条新记录插入SQL表中。 可以插入一条记录或多条记录。 下面的示例插入一条记录。 它是插入单个记录的几种可用语法形式之一: #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 255
问题 Botai Zhang · 四月 19, 2021 IRIS中WebService接口获取调用方IP 关于WebService接口采用适配器为 Parameter ADAPTER; 有方式可以获取到调用方的IP地址等信息吗? #业务运营 #Ensemble #InterSystems IRIS for Health 0 2 0 255
文章 Hao Ma · 三月 25, 2021 阅读大约需 8 分钟 将 Python ODBC 连接到 IRIS 数据库 - 第 2 条快速笔记 关键字:PyODBC,unixODBC,IRIS,IntegratedML,Jupyter Notebook,Python 3 目的 几个月前,我简单谈到了关于“将 Python JDBC 连接到 IRIS”的话题。我后来频繁提起它, 因此决定再写一篇 5 分钟的笔记,说明如何“将 Python ODBC 连接到 IRIS”。 在 Windows 客户端中通常很容易设置 ODBC 和 PyODBC,不过我每次在 Linux/Unix 风格的服务器中设置 unixODBC 和 PyODBC 客户端时,都会遇到一些麻烦。 有没有一种简单连贯的方法,可以不安装任何 IRIS,在原版 Linux 客户端中让 PyODBC/unixODBC 针对远程 IRIS 服务器运行? #AI #分析 #机器学习 #InterSystems IRIS 0 0 0 255
公告 Nicky Zhu · 三月 30, 2021 Caché、Ensemble和InterSystems IRIS的维护版本发布 现已推出三套新的维护版本: #Caché #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 254
文章 Hao Ma · 三月 25, 2021 阅读大约需 1 分钟 机器学习架构到海量数据 对于有海量数据运算场景的机器学习项目来说,IRIS 是一个很好的选择,原因包括: #InterSystems 业务解决方案和架构 #机器学习 #InterSystems IRIS 0 0 0 254
文章 bai hongtao · 十月 7, 2022 阅读大约需 4 分钟 第三方HA软件结合MIRROR使用方法探讨 在Cache 2018之前的版本中,数据库的高可用是通过第三方HA软件保障的,Cache数据库在2018以后及IRIS支持MIRROR技术,通过MIRROR可以保障数据库的高可用及数据的冗余,那么在新版本中,第三方HA软件与MIRROR是否可以同时使用以实现更高的数据库可用性?使用起来有哪些需要注意的?本文重点介绍探讨上述两个问题。 #故障转移 #数据库 #现场测试 #镜像 #高可用性 #Caché #InterSystems IRIS #其他 12 0 0 253
文章 Qianzhu Liu · 四月 25, 2021 阅读大约需 7 分钟 鱼与熊掌兼得 – 利用医院信息系统实践《医疗机构处方审核规范》 如何做到处方审核便捷性与安全性共存,一直是个“鱼与熊掌”的情形。开始正文前,先说个故事—— #HL7 #工具 #TrakCare 1 1 0 252
问题 Liang Jianhui · 四月 22, 2022 如何创建dashboard 导入了一个global(.gof文件),如何利用导入的数据生成dashboard,求指导。 #InterSystems IRIS 0 1 0 252
文章 Qiao Peng · 十月 17, 2023 阅读大约需 14 分钟 FHIR生态 2023年6月底,世卫组织(WHO)和HL7签署了合作协议,利用HL7 FHIR提供互操作性,来支撑WHO的SMART指南(SMART Guideline)愿景 - 使用数智化的方式推动并加速一致化的健康干预措施建议,让 #FHIR #HealthShare #InterSystems IRIS for Health #其他 1 0 0 252
文章 Qiao Peng · 三月 29, 2021 阅读大约需 4 分钟 CDC系列之四:使用DSTIME特性在InterSystems IRIS/Caché上实现CDC功能 前面介绍了通过mirroring或shadow,使用journal日志过滤器的方式,在不改动数据模型的情况下实现InterSystems IRIS/Caché上的CDC能力。但如果你可以修改InterSystems IRIS/Caché上的数据模型,也可以考虑使用DSTIME特性实现变更数据捕获。 DSTIME特性 DSTIME特性是InterSystems IRIS/Caché的嵌入式实时BI工具DeepSee用于跟踪数据变更的。InterSystems IRIS和2011版之后的Caché,都支持DSTIME特性。它会自动记录数据库中SQL表记录或持久化对象的变更,并将变更记录写入持久化的多维数组^OBJ.DSTIME中。 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 251
问题 Shuai Wang · 二月 15, 2023 您好,如下下载 cache linux 版本安装包? 您好,我们的客户仍在使用较旧的 cache 2016.1 版本,我们这边需要适配 python 作为 client 连接 cache 进行一些操作。 但是查阅相关文档后发现,需要自行编译安装 python 驱动。 我们手头上只有 windows 版本的 cache 安装包,但是我们python适配的环境是 linux。 所以我想找一下是否有 cache 现有的 python 安装包或者 cache linux 安装版本,我自行安装。 谢谢。 #Python #Caché 0 2 0 251
问题 j ay · 三月 22, 2023 如何使用java连接cache2016数据库 1、java如何连接cache2016数据库 2、java如何调用cache的函数 "Backup.General", "ExternalFreeze", #Java #Caché 0 1 0 251
问题 jiang yucong · 七月 26, 2023 如何下载cache-2016的安装包? 从哪里可以下载到cache-2016的安装包?包括windows、macOS以及Linux #Java #Caché 0 1 0 251
文章 Heng Zhang · 十月 7, 2021 阅读大约需 1 分钟 FAQ常见问题系列--关于备份删除问题 生产环境中会定时生成备份(全备,增备),因为服务器空间有限,所以需要定时删除。 请问:IRIS2021 是否有工具或者代码可以实现定时删除3周前备份文件的功能。如果是代码实现,思路是什么,能否给个Demo。 #备份 #开发运维 #部署 #InterSystems IRIS 0 1 0 251
文章 姚 鑫 · 四月 11, 2021 阅读大约需 16 分钟 人月神话 人月神话 焦油坑 编程系统产品开发的工作量是供个人使用的,独立开发的构件程序的9倍。我估计软件构件产品化引起了3倍工作量,将软件构件整合成完成系统所需要的设计,集成和测试又强加了3倍工作量,这些高成本的构件在根本上是互相独立的。 编程行业“满足我们内心深处的创造渴望和愉悦所有人的共有情感”,其提供了五种乐趣: 创建事物的快乐 开发对其他人有用的东西的乐趣 将可以活动,相互啮合的零部件组装成类似迷宫的东西,这个过程所体现出令人神魂颠倒的魅力。 面对不重复的任务,不断学习的乐趣。 纯粹的思维活动。 同样,这个行业具有一些内在固有的苦恼: - 将做事方式调正到追求完美是学习编程的最困难的部分。 - 由其他人设定目标,并且必须依靠自己无法控制的事物,权威不等同于责任 - 任何创造性活动都伴随着枯燥艰苦的劳动,编程也不例外 - 人们通常期望项目在接近结束时,软件项目能收敛得快一些,然后,情况却是越接近完成,收敛得越慢。 #InterSystems IRIS 0 1 0 251
文章 Hao Ma · 二月 16, 2023 阅读大约需 9 分钟 ChatGPT 为您创建消息转换? A "big" or a "little" ask for ChatGPT? 几周前我尝试了 OpenAI GPT 的编码模型,看看它是否可以在医疗保健系统之间进行一些消息转换。它肯定可以,在相当大的程度上。已经将近 3 周了,对于 ChatGPT 来说是很长很长的时间,所以我想知道它现在成长得有多快,以及它是否可以为我们做一些集成工程师的工作,例如它是否可以创建一个 InterSystems COS DTL将 HL7 转换为 FHIR 信息? 在不到一两分钟的时间内,我立即得到了一些答案。 测试 首先我想测试一下我是在和它背后的正确“人”说话 问题一:如何将HL7 V2.4报文转为FHIR STU3? ChatGPT: #AI #FHIR #HL7 #HealthShare #InterSystems IRIS #其他 1 2 0 250
文章 Michael Lei · 八月 9, 2022 阅读大约需 1 分钟 Caché ObjectScript 快速参考 在Caché基础课程中,同学们同时学习了Caché开发和ObjectScript语法。为了帮助大家完成练习,我们提供了ObjectScript快速参考(俗称 "小抄")。 它不是所有ObjectScript的参考资料! 它是学生在课程中使用的ObjectScript命令和函数的列表,以及对象、集合等的常用语法。它还包含一些有用的宏。 我们正在为开发者社区提供一个pdf版本。 #对象数据模型 #ObjectScript #语言 #Caché 0 0 0 250
文章 Louis Lu · 十一月 2, 2021 阅读大约需 11 分钟 IRIS 2021 技术文档 First Look 25 -- 数据库加密 本文档向您介绍 InterSystems IRIS®数据平台如何处理数据库加密,这是所有企业安全战略的重要组成部分。 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 249
文章 Hao Ma · 五月 4, 2023 阅读大约需 6 分钟 IRIS, Caché监控指导 - 警告和告警 当系统发生严重危机,一般错误,以及其他需要管理员关注的其他事件发生时, 管理员必须及时的收到系统发出的警告信息。 上篇文章中介绍了控制台日志。这是个文本文件,包含几乎所有的系统级别的错误信息,并且有严重级别的标识,那么使用工具来监控控制台日志文件,并给管理员发送通知是可行的方案吗? 当然。实际上,有些用户正是这样来管理Caceh'/IRIS的。他们有自己熟悉的监控工具,实时读取控制台日志,分析内容,并完成警告通知的发送。 这篇文章我来介绍的是Cache'/IRIS内置的处理警告的机制和配置方法。 通过把严重的错误和事件写入另一个文本文件alert.log,并配置邮件,SNMP, API接口发送通知,可以基本的实现caceh'/IRIS系统的警告通知工作。 Alerts.log 控制台日志中最严重的两个级别(级别2和3), 的记录会被写入另一个文本文件,名字是Alert.log。 默认存储于\installDir\mgr\路径。 在操作门户中“系统>系统日志>控制台日志” ,你会发现 Alerts.log的内容会以红色的字体显示在最上方。比如下图中有2个严重级别的Alert。 #新手 #系统管理 #InterSystems IRIS 2 0 0 249
文章 Qiao Peng · 八月 23, 2022 阅读大约需 6 分钟 InterSystems 常用术语 任何技术总是有些自己独特的术语,尤其是一些英文术语,对于新的用户来说往往即陌生又迷惑。这里整理了一下常听到的InterSystems术语,帮助大家尽快进入InterSystems技术圈子。 #提示和技巧 #Caché #InterSystems IRIS #InterSystems IRIS for Health 4 1 2 249
文章 Qiao Peng · 一月 14, 2021 阅读大约需 12 分钟 InterSystems IRIS 开放授权框架 (OAuth 2.0) 实现 – 第 1 部分 本文以及后面两篇该系列文章,是为需要在其基于 InterSystems 产品的应用程序中使用 OAuth 2.0 框架(下文简称为 OAUTH)的开发人员或系统管理员提供的指南。 #OAuth2 #安全 #访问控制 #身份认证 #Caché #InterSystems IRIS 0 0 0 248