文章 姚 鑫 · 七月 31, 2022 阅读大约需 8 分钟 第十三章 手动创建 REST 服务(一) 第十三章 手动创建 REST 服务(一) 本附录描述了如何通过继承 %CSP.REST 类来手动创建 REST 服务;此过程创建了一个手动编码的 REST 服务,它不能与所有 API 管理工具一起使用。 手动创建 REST 服务的基础知识 要手动定义 REST 服务,请执行以下操作: #REST API #Caché 0 0 0 71
文章 Lele Yang · 七月 13, 2021 阅读大约需 2 分钟 FAQ 常见问题系列--互操作篇 使用SQL Outbound Adapter调用Oracle存储过程获取CLOB的正确方式 近日遇到客户反映在Business Operation中使用SQL Outbound Adapter调用Oracle存储过程时,无法获取CLOB完整的返回内容。借此在这里介绍下该如何调用,话不多说,直接上代码。 注意,以下代码片段直接应用于Business Operation中, #SQL 0 1 0 185
文章 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 3 1 394
文章 姚 鑫 · 七月 30, 2022 阅读大约需 3 分钟 第十二章 使用中的 OpenAPI 属性 第十二章 使用中的 OpenAPI 属性 本附录列出了 API 管理工具在生成 REST 服务类时使用的 OpenAPI 2.0 规范的属性。此处未列出的属性将被忽略。有几个扩展属性;它们的名称以 x-ISC 开头。 Swagger basePath consumes host produces definitions (请注意,API 管理工具在生成代码时不使用 Schema 对象的任何属性) parameters (for details, see “Parameter Object”) #REST API #Caché 0 0 0 133
文章 Michael Lei · 七月 29, 2022 阅读大约需 3 分钟 全球征文比赛分享--未来智慧医院畅想--利用Python来进行人脸识别和情绪感知 在这篇文章中,我试图找出多个领域来开发我们能够使用python和机器学习的功能。 每家医院都在努力利用技术和服务来提高其服务质量和效率。 医疗保健部门是一个非常大的、可供选择的服务领域,而python是做机器学习的最好技术之一。 在每个医院里,人们都会有一些感觉,如果这种感觉能够被计算机理解,使用技术就有机会提供更好的服务。 在这里,我们可以把这两者结合起来,在医疗部门,我正试图理解/识别各种选择,以提供更好的服务。 首先,我们可以尝试使用python的机器学习来识别人并了解他们目前的感受。比如,在医院信息系统中,每个病人至少有一张照片,使用该照片我们可以识别病人,然后一旦病人到达医院,使用视频监控和机器学习技术需要识别这个人的感觉。 在医院设施中会看到多种类型的感觉。 1)紧张 2)平静和冷静 3) 哭泣 4) 暴力的病人/亲属 5) 生病的病人 6) 高烧鉴定 像上面的情况,我们可以看到多种不同的类型。 如果一个已经登记的病人发高烧,那么使用闭路电视识别这个病人的情况,并捕捉温度热像仪,护理人员可以给予更好的支持,这在接待服务领域是非常大的区别。 #Artificial Intelligence (AI) #Python #Machine Learning (ML) #InterSystems IRIS #InterSystems IRIS BI (DeepSee) #TrakCare #其他 0 0 0 150
文章 姚 鑫 · 七月 29, 2022 阅读大约需 2 分钟 第十一章 api mgmnt API 参考 第十一章 /api/mgmnt/ API 参考 此参考列出了 /api/mgmnt/ 服务中的端点,所有这些端点都适用于较新的 REST 服务。下表总结了端点并指出它们是否也适用于手动编码的 REST 服务。 #REST API #Caché 0 0 0 55
文章 Jingwei Wang · 七月 29, 2022 阅读大约需 33 分钟 InterSystems SQL 的优化 - 第一部分 - 定义和构建索引 什么时候使用索引 索引提供了一种机制,通过维护常用数据的分类子集来优化查询。确定哪些字段应该被编入索引需要一些思考:太少或错误的索引,关键查询会运行得太慢;太多的索引会减慢INSERT和UPDATE的性能(因为索引值必须被设置或更新)。 索引什么 为了确定添加索引是否能提高查询性能,从管理门户的SQL界面运行查询,并在Performance中注意 global引用的数量。添加索引,然后重新运行查询,注意 global引用的数量。一个有用的索引应该减少 global引用的数量。你可以通过使用%NOINDEX关键字作为WHERE子句或ON子句条件的前言来阻止索引的使用。 你应该对JOIN中指定的字段(属性)进行索引。例如,LEFT OUTER JOIN从左表开始,然后查看右表,因此,你应该对右表的字段进行索引。在下面的例子中,你应该为T2.f2编制索引。一个INNER JOIN应该在两个ON子句字段上都有索引。 #SQL #InterSystems IRIS 1 0 0 132
文章 姚 鑫 · 七月 28, 2022 阅读大约需 4 分钟 第十章 发现和记录 REST API 第十章 发现和记录 REST API 本章讨论如何发现实例上可用的 REST 服务以及如何为 REST 服务生成文档。 使用 /api/mgmnt 服务发现 REST 服务 /api/mgmnt 服务包括可用于发现 REST 服务类和启用 REST 的 Web 应用程序的调用。 发现 REST 服务 要使用 /api/mgmnt 服务来发现实例上可用的 REST 服务,请使用以下 REST 调用: #REST API #Caché 0 0 0 86
文章 Frank Ma · 七月 28, 2022 阅读大约需 2 分钟 华山论剑-应用集成平台 应用集成平台市场上产品众多,商家专家观点纷纭,莫衷一是。Gartner公司从用户角度出发,搭建了Peer Insight “大众点评”平台,让用户能够为自己使用的产品发声,对各个产品打分。以下是来自用户的声音,供参考。 第一款产品是微软的BizTalk,综合得分3.9。 第二款产品是InterSystems的Ensemble,综合得分4.6。 第三款产品是IBM的WebSphere Enterprise Service Bus,综合得分3.8。 #Ensemble #InterSystems IRIS for Health 0 0 0 120
文章 Jingwei Wang · 七月 28, 2022 阅读大约需 8 分钟 InterSystems SQL 的使用 - 第八部分 - 存储和使用流数据(BLOBs和CLOBs) InterSystems SQL支持在InterSystems IRIS数据平台数据库中将流数据存储为BLOB(Binary Large Objects 二进制大对象)或CLOB(Character Large Objects字符大对象)的能力。 InterSystems SQL支持两种流字段: 字符流:用于大量的文本。 二进制流:用于图像、音频或视频。 BLOBs和CLOBs可以存储多达4GB的数据(JDBC和ODBC规范规定的限制)。除了在通过ODBC或JDBC客户端访问时如何处理字符编码转换(如Unicode到多字节)外,BLOB和CLOB的操作在各方面都是相同的:BLOB中的数据被视为二进制数据,决不转换为其他编码,而CLOB中的数据被视为字符数据,在必要时进行转换。 #SQL #InterSystems IRIS for Health 0 0 0 146
文章 Jingwei Wang · 七月 28, 2022 阅读大约需 4 分钟 InterSystems SQL 的使用 - 第七部分 - Stored Procedures 定义 Stored Procedures 可以使用以下方式定义stored procedures 使用DDL定义存储过程 使用类方法定义存储过程 使用DDL定义存储过程 CREATE PROCEDURE 可以创建一个查询,它总是作为一个存储过程被预测。一个查询可以返回一个单一的结果集。 #SQL #InterSystems IRIS for Health 0 0 0 179
文章 姚 鑫 · 七月 27, 2022 阅读大约需 3 分钟 第九章 REST 服务安全 第九章 REST 服务安全 如果 REST 服务正在访问机密数据,应该对服务使用身份验证。如果需要为不同的用户提供不同级别的访问权限,还要指定端点所需的权限。 为 REST 服务设置身份验证 可以对 IRIS REST 服务使用以下任何形式的身份验证: HTTP 身份验证标头 — 这是 REST 服务的推荐身份验证形式。 Web 会话身份验证 — 其中用户名和密码在 URL 中的问号后面指定。 OAuth 2.0 身份验证 - 请参阅以下小节。 REST 应用程序和 OAuth 2.0 要通过 OAuth 2.0 对 REST 应用程序进行身份验证,请执行以下所有操作: #REST API #Caché 0 0 0 82
文章 姚 鑫 · 七月 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 75
文章 Jingwei Wang · 七月 25, 2022 阅读大约需 4 分钟 ESB和注册中心概述 本章介绍了使用InterSystems IRIS作为企业服务总线,描述了InterSystems IRIS ESB架构,并提供了部署ESB的概述。 企业服务总线的概念 企业服务总线(ESB)提供了一个单点来访问和管理具有SOAP、REST或其他网络API的应用程序。ESB提供了以下功能。 #InterSystems IRIS for Health 0 0 0 442
公告 Michael Lei · 七月 25, 2022 InterSystems 即将举办“推动女性健康-FemTech不止是利基市场“在线论坛 Hi 大家好! 我们很荣幸地宣布InterSystems 将在剑桥总部举办 推动女性健康-FemTech不止是利基市场 高层论坛,论坛将在线上线下同步举行! ⏱ 时间: 7月 29日, 5:30 AM – 7:30 AM ,北京时间(July 28,5:30 PM – 7:30 PM ,EDT/美国东部时间)📍 地点: InterSystems 总部,1 Memorial Drive, Cambridge, MA #活动 #开发者社区官方 0 0 0 93
文章 姚 鑫 · 七月 24, 2022 阅读大约需 2 分钟 第六章 修改规范(SPEC)类 第六章 修改规范(SPEC)类 概述 下表列出了修改规范类的原因并简要总结了所需的更改: #REST API #Caché 0 0 0 102
文章 姚 鑫 · 七月 23, 2022 阅读大约需 2 分钟 第五章 修改实现(IMPL)类 第五章 修改实现(IMPL)类 本章讨论如何修改 REST 服务的实现类。 初始方法定义 实现类最初包含存根方法,如下例所示: #REST API #Caché 0 0 0 99
文章 姚 鑫 · 七月 22, 2022 阅读大约需 3 分钟 第四章 使用 %REST.API 类创建 REST 服务 第四章 使用 %REST.API 类创建 REST 服务 本章介绍如何使用 %REST.API 类来创建、更新和删除 REST 服务。 使用 %REST.API 类创建或更新 REST 服务 创建 REST 服务的推荐方法是从 REST 服务的 OpenAPI 2.0 规范开始,并使用它来生成 REST 服务类。要使用 %REST.API 类执行此操作: #REST API #Caché 0 0 0 96
公告 Claire Zheng · 十一月 22, 2021 参与Gartner Peer Insights同业评审,赢取价值$25的礼品卡 亲爱的社区开发者们,大家好! 现在参与Gartner Peer Insight同业评审对我们的产品做出评价,可获得价值 $25 美元的礼品卡。评论观点需中立客观(InterSystems员工不允许参加)并被Gartner审核通过。点击此处开始: https://gtnr.it/3ulVX4K 。 对流程不熟悉的同学,可以参考一下我们此前发布的一篇旧贴。 #其他 1 1 0 196
文章 Jingwei Wang · 七月 21, 2022 阅读大约需 5 分钟 DeepSee 的开发 - 第五部分 - 创建和打包透视表和仪表盘 在创建一个或多个立方体后,你通常会创建并打包一组透视表和仪表盘,而用户通常会根据需要创建新的透视表和仪表盘。 本章简要地引导你了解创建透视表和仪表盘的过程。它包括以下几个步骤。 创建透视表 创建一个仪表盘 导出并打包这些项目 创建透视表 在本教程的前面,我们创建了一个使用Patients cube的透视表。现在让我们创建使用你的新立方体Tutorial的透视表。 #仪表板 #分析器 #InterSystems IRIS BI (DeepSee) 0 0 0 148
文章 Jingwei Wang · 七月 21, 2022 阅读大约需 5 分钟 DeepSee 的开发 - 第四部分 - 创建主题区 一个主题区是一个子立方体,可以选择覆盖项目的名称。你定义一个主题区是为了使用户能够关注较小的数据集,出于安全原因或其他原因。本章讨论了以下主题。 简介 在本教程中,我们创建了两个主题区域,按邮政编码划分患者: Patient Set A: 居住在邮政编码为32006, 32007, or 36711区域的患者 Patient Set B: 居住在邮政编码为34577 or 38928区域的患者 创建主题领域 要创建主题区域,请做以下工作。 #仪表板 #分析器 #InterSystems IRIS BI (DeepSee) 0 0 0 89
文章 Jingwei Wang · 七月 21, 2022 阅读大约需 14 分钟 DeepSee 的开发 - 第三部分 - 扩展Cube 增加level 到目前为止,我们所创建的每个维度都包含一个具有一个level的层级结构。在这一节中,我们将在HomeD维度的层级结构中添加一个level。 #仪表板 #InterSystems IRIS BI (DeepSee) 0 0 0 174
文章 Jingwei Wang · 七月 21, 2022 阅读大约需 10 分钟 DeepSee 的开发 - 第二部分 - 创建Cube 创建Cube 点击主页,Analytics - > 模型。 #仪表板 #可视化 #InterSystems IRIS BI (DeepSee) 0 0 0 144
文章 Jingwei Wang · 七月 21, 2022 阅读大约需 7 分钟 精华文章系列 DeepSee 的开发 - 第一部分 - Cube 创建一个透视表 在模型内容窗格中展开DiagD维度。 将Diagnoses拖放到行中,或者双击诊断。 将Patient Count(病人计数)拖放到Measure(度量)中,或双击病人数。 将 Avg Age(平均年龄) 拖至Measure(度量),或双击 "平均年龄"。 单击保存。 系统显示一个对话框,你可以指定透视表的名称。 保存透视表并给它一个名字。当你这样做时,你是在保存检索数据的基础查询,以及以你选择的方式显示数据所需的信息。你不是在保存数据。 对于文件夹,键入Test #仪表板 #分析器 #可视化 #InterSystems IRIS BI (DeepSee) 0 0 0 122
文章 Jingwei Wang · 七月 21, 2022 阅读大约需 3 分钟 InterSystems SQL 的使用 - 第六部分 - SQL 数据的导入、导出 在InterSystems IRIS数据平台管理门户中,有一些工具用于导入和导出数据。这些工具使用动态SQL,这意味着查询是在运行时准备和执行的。可以导入或导出的行的最大尺寸是3,641,144个字符。 你也可以使用%SQL.Import.Mgr类或LOAD DATA SQL命令导入数据,并使用%SQL.Export.Mgr类导出数据。 从文本文件中导入数据(.csv 和.txt) 你可以从一个文本文件中导入数据到一个合适的InterSystems IRIS类。当你这样做时,系统会在该类的表中创建并保存新的行。该类必须已经存在并且必须被编译。 步骤如下: #SQL #InterSystems IRIS for Health 0 0 0 239
文章 Jingwei Wang · 七月 21, 2022 阅读大约需 4 分钟 InterSystems SQL 的使用 - 第五部分 - 导入SQL Code 本章介绍了如何将SQL code从文本文件导入InterSystems SQL。当你导入SQL code时,InterSystems IRIS 数据平台使用动态SQL准备并执行每一行的SQL。如果遇到无法解析的SQL code行,SQL导入会跳过该行code,继续准备和执行后续的code行,直到到达文件的末端。所有的SQL code导入操作都会导入到当前的命名空间。 SQL导入主要用于导入数据定义语言(DDL)命令,如CREATE TABLE,并使用INSERT、UPDATE和DELETE命令来填充表。SQL导入可以准备和执行SELECT查询,但不创建结果集。 #SQL #InterSystems IRIS for Health 0 0 0 161
文章 Jingwei Wang · 七月 21, 2022 阅读大约需 5 分钟 InterSystems SQL 的使用 - 第四部分 - 视图 视图为存储查询,提供了物理表的所有灵活性和安全权限。所有的视图都是可更新的或只读的。 注意:不能对只读的数据库中的数据创建视图。不能对存储在通过ODBC或JDBC网关连接的Informix表中的数据创建视图。这是因为InterSystems IRIS查询转换在FROM子句中使用子查询,而Informix不支持FROM子句的子查询。 #SQL #InterSystems IRIS for Health 0 0 0 227
文章 姚 鑫 · 七月 21, 2022 阅读大约需 3 分钟 第三章 使用 ^%REST 例程创建 REST 服务 第三章 使用 ^%REST 例程创建 REST 服务 本章介绍如何使用 ^%REST 例程创建和删除 REST 服务。 提示:还可以使用此例程更新REST服务;只需删除REST服务,然后重新创建它。 使用^%REST例程 ^%REST例程是一个简单的命令行界面。在任何提示下,可以输入以下答案: ^ - 使例程跳回上一个问题。 ? - 使例程显示一条列出所有当前选项的消息。 q或quit - 结束例程。 此外,每个问题都会在括号中显示该问题的默认答案。 #REST API #Caché 0 0 0 63
文章 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 192
文章 姚 鑫 · 七月 20, 2022 阅读大约需 4 分钟 第二章 使用 api mgmnt 服务 第二章 使用 /api/mgmnt/ 服务 本章介绍如何使用 /api/mgmnt 服务来创建、更新和删除 REST 服务。 /api/mgmnt 服务还提供了可用于发现和记录 Web 服务的选项,如本书后面所述。 使用 /api/mgmnt 服务创建 REST 服务 创建 REST 服务的推荐方法是为 REST 服务创建 OpenAPI 2.0(也称为 Swagger)描述,并使用它来生成 REST 服务类。如果您正在实现由第三方定义的 REST 服务,他们可能会提供此 OpenAPI 2.0 描述。有关 OpenAPI 2.0 描述格式的详细信息,请参阅 OpenAPI 2.0 规范。以下主题描述了如何使用 /api/mgmnt 服务来执行此操作。 #Caché 0 0 0 102