搜索​​​​

清除过滤器
公告
Claire Zheng · 八月 16, 2023

2023 InterSystems开发者竞赛:Python 编程大赛

嗨,开发者, 我们很高兴邀请大家参加新的以 Python 为主题的 InterSystems 在线编程竞赛! 🏆 InterSystems Python 编程大赛🏆 时间: 2023年9月4日至24日(美国东部时间) 奖金池: 14,000 美元 话题 我们邀请您在新的编程竞赛中使用Embedded Python !也欢迎您使用Native API for Python或PEX for Python 开发应用程序。 提交一个开源的应用程序,通过InterSystems IRIS或InterSystems IRIS for Health(医疗版)使用嵌入式Python或原生Python API或Python PEX。 一般要求: 有效应用程序:100%全新的Open Exchange Apps或已有的应用程序(但有显著提升)。所有参赛者/团队提交的应用程序只有经过我们团队的审核之后才会被批准参赛。 该应用程序应在 IRIS Community Edition 或 IRIS for Health Community Edition 上运行。两者都可作为host (Mac, Windows)版从Evaluation Site下载,或者可以按从InterSystems Container Registry或Community Container中提取的容器形式使用: intersystemsdc/iris-community:latest 或 intersystemsdc/irishealth-community:latest 。 该应用需开源并在GitHub上发布。 该应用的README文件应为英文,包含安装步骤,并包含视频demo或/和应用程序如何运行的描述。 一名开发者只允许提交 3 份作品。 奖品 1. 专家提名奖(Experts Nomination)——获奖者由我们特别挑选的专家团选出: 🥇第一名 - 5,000 美元 🥈第二名 - 3,000 美元 🥉第三名 - 1,500 美元 🏅第四名 - 750 美元 🏅第五名 - 500 美元 🌟第 6-10 位 - 100 美元 2. 社区提名奖(Community Nomination)- 获得总票数最多的应用程序: 🥇第一名 - 1,000 美元 🥈第二名 - 750 美元 🥉第三名 - 500 美元 🏅第四名 - 300 美元 🏅第五名 - 200 美元 如果几位参与者获得相同数量的选票,他们都将被视为获胜者,奖金由获胜者分享。 谁可以参加? 任何开发者社区的成员均可参加,InterSystems内部员工除外(InterSystems contractor员工可以参加)。还没有账号?现在来建一个! 👥开发人员可以组队创建协作应用程序。一个团队允许 2 到 5 名开发人员。 请注意,要在您的README文件中标注您的团队成员——社区用户profil 重要截止日期: 🛠 应用程序开发和注册阶段: 2023 年 9 月 4 日(美国东部时间 00:00):比赛开始。 2023 年 9月 17日(美国东部时间 23:59):提交截止日期。 ✅ 投票时间: 2023 年 9月 18 日(美国东部时间 00:00):投票开始。 2023 年 9月 24 日(美国东部时间 23:59):投票结束。 注意:在整个参赛期间(开发与投票期间),开发者可持续编辑、提升其应 资源助力 1. 使用 InterSystems IRIS 开发 Python 应用程序: Learning Path Writing Python Application with InterSystems Embedded Python Documentation Native API for Python Documentation PEX Documentation 2. ObjectScript Package Manager (IPM)初学者: How to Build, Test and Publish ZPM Package with REST Application for InterSystems IRIS Package First Development Approach with InterSystems IRIS and ZPM 3. 如何将您的APP提交给大赛: 如何在 Open Exchange 上发布应用程序 如何提交比赛申请 4. 应用示例: embedded-python-template interoperability-python interoperability-python-template pex-demo python-examples django-iris-template Python Faker 5. 视频: Introduction to Embedded Python Embedded Python: Bring the Python Ecosystem to Your ObjectScript App Embedded Python for ObjectScript Developers: Working with Python and ObjectScript Side-By-Side Embedded Python with Interoperability InterSystems IRIS Native Python API in AWS Lambda 需要帮忙? 加入 InterSystems Discord 服务器上的竞赛频道或在本文评论中与我们交谈。 期待您的精彩提交 - 加入我们的编码大赛吧!来赢得胜利! ❗️参加本次比赛即表示您同意此处列出的比赛条款。请在继续之前仔细阅读它们。 ❗️
公告
Claire Zheng · 九月 4, 2023

第二届InterSystems Idea 创意马拉松获奖名单公布!

大家好! 我们的第二届 InterSystems Idea-A-Thon创意马拉松顺利结束,产生了29 个与竞赛主题相关的精彩创意: 💡使用 InterSystems IRIS 快速、安全、绿色地运行解决方案💡 感谢大家的想法、评论和投票! 现在是时候宣布获奖者了! 专家奖 🥇第一名 @Andre Larsen Barbosa 创意 Light version InterSystems IRIS 获胜者将获得🎁 Apple Watch SE / Fairphone Fairbuds XL 耳机 🥈第二名 @yurimarx Marx 创意 Support for Liquibase获胜者将获得🎁 扬声器套装 JBL Pulse 5 / Apple AirPods Pro 第二代 / 乐高星球大战 R2-D2。 🥉第三名 @Heloisa Paiva 创意 InterSystems IRIS for Energy management 获胜者将获得🎁 乐高保时捷 911 / Beeline 自行车 GPS 电脑 - Velo 2 。 社区奖 🌟 获奖者@Andre Larsen Barbosa 创意Light version InterSystems IRIS获胜者将获得🎁 乐高保时捷 911 / Beeline 自行车 GPS 电脑 - Velo 2 。 所有获胜者都将获得名为“Idea-A-Thon Winner(创意马拉松获胜者)”的Global Master特制徽章。 🔥 我们想重点介绍所有参与者及其创意: 精简版 InterSystems IRIS by @Andre Larsen Barbosa 让 IRIS 成为 Spring Cloud 的一部分by @王喆 👀InterSystems IRIS“绿色时间”配置文件, by @Pietro Montorfano VS Code 中的表面测试覆盖率信息,by @John Murray 将条形码/QR 码识别纳入标准功能,by @David Hockenbroch每个生产/业务组件的能源消耗估算报告,by @Rob Ellis当流程并行运行时,使互操作性的视觉跟踪易于检查。by @Yuji Ohata 无连接限制的 IRIS 社区,by@Dmitry Maslennikov 对 Liquibase 的支持 by @yurimarx Marx 二进制索引实现 by @Akio Hashimoto将整个工作室迁移到 VSCode by @Akio Hashimoto 数据库缓存(全局缓冲区)需要优化 by @王喆 👀用于能源管理的 InterSystems IRIS by @Heloisa Paiva 用于碳追踪的 InterSystems IRIS by @Heloisa Paiva InterSystems IRIS 的高级实时数据处理优化,by @Yone Moreno InterSystems IRIS 微服务测试框架,by @dinesh babu InterSystems IRIS 测试仪表板, by @dinesh babu 为 InterSystems IRIS 区块链应用程序开发测试框架,by @dinesh babu添加对 AI 驱动的测试自动化的支持 by @dinesh babu云上的 InterSystems IRIS。by @Yuji Ohata 下载面向界面分析师的 HL7v2 浏览器扩展by @Rob Ellis将“创建新路由器”选项添加到业务操作向导中,by @VICTORIA CASTILLO 通过排队论和模糊逻辑:使用 InterSystems IRIS 优化医院患者队列管理 by @Yone Moreno AI 驱动的 GreenIRIS:通过人工智能实现 InterSystems IRIS 解决方案的优化和可持续性 by @Yone Moreno 计划报告 by @yurimarx Marx 使用 IRIS 和 Python Streamlit Web 框架创建真实世界的应用程序 by @Muhammad Waseem AntiMatter 代码加速器 by@Alex Woodhead IRIS 的可选“绿色模式”配置设置, by @Nelson Tarr为什么要为从未使用过的索引使用存储?by @Nelson Tarr 第二届创意马拉松的所有参赛者都将获得我们的特别礼物——无线充电鼠标垫。 还有更多…... 👏 特别感谢@Dmitry Maslennikov ,他创建了一个liquibase-iris应用程序,以实现由 @yurimarx Marx 为创意马拉松提交的创意:Support for Liquibase 我们想通过最高奖项之一来表彰 Dimitri 的努力! 我们祝贺所有获奖者和参与者! 感谢您对 InterSystems 官方反馈门户做出的重大贡献 💥 重要提示:奖品正在制作中,届时我们将与获奖者取得联系。
文章
Hao Ma · 九月 22, 2021

IRIS 2021 技术文档 First Look 8 - 技术概要:ODBC和InterSystems数据库

技术概要:ODBC 和 InterSystems 数据库 如果您希望在 InterSystems IRIS®数据平台上使用 ODBC,本文将介绍如何设置它。要浏览所有的技术概要(First Look),包括可以在 InterSystems IRIS 免费的评估实例上执行的那些,请参见 InterSystems 技术概要(InterSystems First Looks)。 1 ODBC: 如何在 InterSystems IRIS 中使用它InterSystems 提供了一个完全兼容的(ODBC 3.5)ODBC 驱动程序,您可以使用它通过 ODBC 访问 InterSystems IRIS 数据库。当您安装 InterSystems IRIS 时,默认安装该驱动程序。为了开始在 InterSystems IRIS 中使用 ODBC,您只需要在 InterSystems IRIS 实例上配置驱动程序。本技术概要(First Look)文档对这一过程进行了概述。如果您还不熟悉 ODBC,请参见本文档末尾的 "了解更多信息" 一节中的链接,以获得更多信息。 2 用前须知要使用这个程序,您需要一个安装了 InterSystems IRIS 实例的 Windows 系统。有关如何安装和授权 InterSystems IRIS 开发实例的说明,请参见InterSystems IRIS Basics: Installation(《InterSystems IRIS 基础:安装》)。 3 在 Windows 上设置 ODBC本节介绍如何在 Windows 上为 InterSystems IRIS 数据库创建 DSN。本节中的说明假定您已经安装了 InterSystems ODBC 驱动程序。默认情况下,标准的 InterSystems IRIS 安装过程会安装驱动程序,所以除非您执行了自定义安装,否则驱动程序应该存在于您的实例中。要使应用程序能够通过 ODBC 访问 InterSystems IRIS 数据库,您需要创建一个 DSN,该 DSN 为 ODBC 客户端驱动程序定义数据库的位置。在 Windows 上,您可以从 Windows 控制面板执行此操作,如下所示:1. 打开Windows Administrative Tools control panel(Windows 管理工具控制面板)。2. 选择 Data Sources(数据源)(ODBC)。3. 在 User DSN(用户 DSN) 标签上,选择 Add(添加)。4. 选择 InterSystems ODBC 并点击 Finish(完成)。 技术概要:ODBC 和 InterSystems 数据库 1 了解更多有关 ODBC 的信息 DSN 创建完成后,将显示 InterSystems ODBC Data Source Setup (InterSystems ODBC 数据源设置)对话框。图 1:InterSystems ODBC 数据源设置对话框 5. 输入必要的配置细节:• 输入 DSN 的名称和描述。• 输入与此 DSN 代表的 InterSystems IRIS 数据库相对应的 IP 地址、端口号和命名空间。• 选择一种身份验证方法,并输入或选择适合 InterSystems IRIS 实例的其他安全信息。 6. 选择 Test Connection(测试连接) 按钮来测试您的设置是否正确。 如果连接测试成功,那么恭喜您!您已经完成了 InterSystems IRIS 数据库的设置,以使用 ODBC。现在您可以修改支持 ODBC 的应用程序,以使用刚刚创建的 DSN。 4 了解更多有关 ODBC 的信息如果您更喜欢使用文件 DSN,请参见Using the InterSystems ODBC Driver guide(《使用 InterSystems ODBC 驱动程序指南》)中的 " Using File DSNs and DSN-less Connections(使用文件 DSN 和无 DSN 连接) "一章,以了解相关说明。InterSystems IRIS 还支持 UNIX®上的 ODBC;详情请参见Using the InterSystems ODBC Driver guide(《使用 InterSystems ODBC 驱动程序指南》)中的 " Using an InterSystems Database as an ODBC Data Source on UNIX®(在 UNIX®上使用 InterSystems 数据库作为 ODBC 数据源)"一章。若要在 Windows 上使用 TLS 保护 ODBC 连接,请参见Connecting from a Windows Client Using a Settings File(《使用设置文件从 Windows 客户端进行连接》)。 要了解更多有关 ODBC 和 InterSystems IRIS 的信息,请参见:• Using the InterSystems ODBC Driver(《使用 InterSystems ODBC 驱动程序》) — InterSystems 文档:使用 ODBC 的逐步说明• Using InterSystems SQL(《使用 InterSystems SQL》) — InterSystems 文档:使用 SQL 的逐步说明• InterSystems SQL Reference(《InterSystems SQL 参考文献》) — InterSystems 文档:SQL 参考文献 2 技术概要: ODBC 和 InterSystems 数据库 了解更多有关 ODBC 的信息 • SQL Optimization Guide(《SQL 优化指南》) — InterSystems 文档:优化 InterSystems SQL 性能的指南
文章
Jingwei Wang · 十一月 2, 2021

IRIS 2021 最新技术文档 First Look 1 技术概要

InterSystems 技术概要 技术概要(First Look)是为用户提供InterSystems IRIS的关键技术和选项的实践经验的简短文档,其中涉及到的许多技术都可以在免费的评估实例上体验。所有这些技术都可以在已授权的InterSystems IRIS实例上完成。 部署 技术概要:InterSystems 云管理器(First Look: InterSystems Cloud Manager) 介绍InterSystems 云管理器,为您展示如何利用它在公有云上部署InterSystems产品。 技术概要: 容器中的InterSystems 产品(First Look: InterSystems Products in Containers) 介绍Docker容器和在容器中运行InterSystems产品。 InterSystems IRIS 基础:安装(InterSystems IRIS Basics: Installation 指导用户完成InterSystems IRIS的单实例安装,以便与其它技术概要(First Looks)一起使用。 架构 技术概要:使用InterSystems分布式缓存扩展系统的用户容量 介绍了使用由ECP支持的分布式缓存来扩展用户容量。 技术概要:部署InterSystems分片集群 介绍分片(sharding),以及如何使用分片扩展基于InterSystems的应用程序的数据量。 技术概要:数据弹性和镜像 介绍InterSystems产品的故障恢复、高可用性和灾备功能。 开发环境 InterSystems IRIS基础: 连接一个IDE 介绍如何将一个IDE连接到InterSystems IRIS上。 Java和JDBC 技术概要:JDBC 和 InterSystems数据库 介绍如何通过JDBC连接到InterSystems数据库:快速入门,并有机会自己尝试 技术概要: InterSystems IRIS Native API for Java 介绍如何使用InterSystems IRIS Native从Java应用程序中访问InterSystems globals。 技术概要:用XEP实现Java对象持久化 介绍如何使用XEP对象持久化API存储和检索持久化的Java对象。 技术概要:Java 网关和 InterSystems 产品 介绍InterSystems产品通过Java 网关与Java组件进行互操作的能力。 .NET和ODBC 技术概要: ODBC 和 InterSystems数据库 介绍如何通过ODBC连接到InterSystems数据库。 技术概要:InterSystems IRIS Native API for .NET 演示如何通过使用了IRIS Native的.NET应用程序访问InterSystems globals 技术概要:ADO.NET 和InterSystems产品 介绍了如何通过InterSystems ADO.NET Managed Provider连接到InterSystems产品 技术概要: 用XEP实现.Net对象持久化 介绍如何使用XEP对象持久化API存储和检索持久化的.NET对象 技术概要:InterSystems .NET网关 介绍如何使用InterSystems . NET网关(Gateway)。 嵌入式语言 技术概要: ObjectScript 介绍ObjectScript语言,演示如何使用它以多种方式访问数据。 技术概要: Globals 介绍Globals概念,这是InterSystems IRIS数据平台的底层存储结构。. 技术概要:InterSystems SQL 介绍InterSystems SQL、InterSystems产品中常用SQL语句的使用,以及优化查询性能的独特方法。 技术概要:使用InterSystems产品优化SQL性能 介绍InterSystems SQL查询优化技术。 技术概要:在InterSystems产品中开发REST接口 介绍在InterSystems产品中开发REST接口,以提供对数据库和应用程序的访问。 互操作Production 技术概要:使用带有互操作性的Production连接系统 Production介绍。 技术概要:使用 Production 进行大文件传输(Managed File Transfer,MFT) 介绍了大文件传输(MFT)特性,该特性允许用户将第三方文件传输服务直接轻松地包含到InterSystems互操作性产品中。 技术概要:数据转换 介绍DTL编辑器以及如何在互操作性产品中将数据转换为不同的格式。 分析 技术概要:使用InterSystems产品进行SQL搜索 介绍对SQL文本搜索的支持,它为非结构化文本数据提供了语义上下文搜索。 技术概要:InterSystems产品文本分析功能 介绍了对自然语言处理(NLP)文本分析的支持,它为各种自然语言中的非结构化文本数据提供语义分析。 技术概要:InterSystems IRIS 和 UIMA 介绍InterSystems IRIS如何实现并补充了UIMA分析管道. 安全 技术概要:基于角色的访问控制 介绍InterSystems产品中基于角色的访问控制:快速了解并尝试。 技术概要:LDAP和InterSystems产品 介绍如何使用LDAP服务器对InterSystems产品的用户进行身份验证和分配特权。 技术概要:数据加密 技术概要:数据加密 提供对InterSystems数据库加密工具的简要的实际操作介绍。 技术概要:InterSystems公开密钥基础设施 (PKI) 技术概要:InterSystems公开密钥基础设施 (PKI) 介绍了在InterSystems产品中可用的公钥加密、证书颁发机构(CAs)和PKI。 文档目录里面的链接打不开,请看看,谢谢!
文章
Lele Yang · 七月 13, 2021

FAQ 常见问题系列--系统管理篇 如何在Linux上配置InterSystems IRIS服务随机自启动?

与Windows上默认安装为服务随机自启动不同,我们在Linux上安装完InterSystems IRIS后,默认是没有配置系统服务的,需要做手动配置。本文提供使用systemd方式来配置InterSystems IRIS服务随机自启动的简单示例,供大家参考。 假设我们已经安装了InterSystems IRIS产品,安装完成后您可以通过iris list来来查看实例信息,包括安装路径,如:"/intersystems/iris" [root@RHEL8-64-001 ~]# iris list Configuration 'IRIS' (default) directory: /intersystems/iris versionid: 2021.2.0L.546.0 datadir: /intersystems/iris conf file: iris.cpf (SuperServer port = 51773, WebServer = 52773) status: running, since Mon May 31 05:03:09 2021 state: ok product: InterSystems IRIS 在安装完成后,用以下方式搜索不到iris.service, [root@RHEL8-64-001 ~]# systemctl list-unit-files --type=service|grep iris.service 如何将其配置为系统服务呢,下面是一个简单示例及操作步骤,供大家参考。注意:请使用root用户或者拥有root权限的用户来进行。 1. 创建systemd service,1) 在/usr/lib/systemd/system下创建文件,iris.service,内容如下, [root@RHEL8-64-001 system]# cat iris.service [Unit] Description=InterSystems IRIS [Service] Type=forking ExecStart=/bin/bash -c '/intersystems/iris/irisstart 2>&1 | logger -t iris_start' ExecStop=/bin/bash -c '/intersystems/iris/irisstop quietly 2>&1 | logger -t iris_stop' RemainAfterExit=yes [Install] WantedBy=multi-user.target 其中,/intersystems/iris为实例安装目录。2) 创建后,更改文件的属性, [root@RHEL8-64-001 system]# chmod 755 iris.service 更改后,文件属性如下,-rwxr-xr-x. 1 root root 225 May 31 07:32 iris.service 2. 启用该Service。1)启用,创建系统service的link, [root@RHEL8-64-001 system]# systemctl enable iris.service Created symlink /etc/systemd/system/multi-user.target.wants/iris.service → /usr/lib/systemd/system/iris.service. 2)确认状态,确保已经enabled [root@RHEL8-64-001 system]# systemctl list-unit-files --type=service|grep iris.service iris.service enabled 3. 测试该Service,1)进行到这个步骤,查看状态应为inactive(dead)。 [root@RHEL8-64-001 system]# systemctl status iris ● iris.service - InterSystems IRIS Loaded: loaded (/usr/lib/systemd/system/iris.service; enabled; vendor preset> Active: inactive (dead) lines 1-3/3 (END) 2) 下面来启动iris服务, [root@RHEL8-64-001 system]# systemctl start iris.service 3) 再次查看服务状态已经为active(running),启动成功。 [root@RHEL8-64-001 system]# systemctl status iris ● iris.service - InterSystems IRIS Loaded: loaded (/usr/lib/systemd/system/iris.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2021-05-31 07:57:43 EDT; 1min 37s ago Process: 1704 ExecStart=/bin/bash -c /intersystems/iris/irisstart 2>&1 | logger -t iris_start (code=exited, status=0/SUCCE> Tasks: 52 (limit: 11442) Memory: 246.0M CGroup: /system.slice/iris.service ├─2076 /intersystems/iris/bin/irisdb -s/intersystems/iris/mgr/ -w/intersystems/iris/mgr/ -cc -B -C/intersystems/i> ├─2085 /intersystems/iris/bin/irisdb WD > ├─2086 /intersystems/iris/bin/irisdb GC > ├─2087 /intersystems/iris/bin/irisdb JD > ├─2088 /intersystems/iris/bin/irisdb AUX7 > ├─2089 /intersystems/iris/bin/irisdb AUX6 > ├─2090 /intersystems/iris/bin/irisdb AUX5 > ├─2091 /intersystems/iris/bin/irisdb AUX4 > ├─2092 /intersystems/iris/bin/irisdb AUX3 > ├─2093 /intersystems/iris/bin/irisdb AUX2 > ├─2094 /intersystems/iris/bin/irisdb AUX1 > ├─2095 /intersystems/iris/bin/irisdb DBXD > ├─2098 /intersystems/iris/bin/irisdb -s/intersystems/iris/mgr -cj -p13 START^MONITOR ├─2102 /intersystems/iris/bin/irisdb -s/intersystems/iris/mgr -cj -p13 START^CLNDMN ├─2105 /intersystems/iris/bin/irisdb -s/intersystems/iris/mgr -cj -p13 stumonitor^JRNRESTO ├─2109 /intersystems/iris/bin/irisdb -s/intersystems/iris/mgr -cj -p13 ^RECEIVE 4)最后重启操作系统,测试iris可以随机自启动。 注:以上测试在Red Hat Linux Enterprise 8版本上进行。
文章
Johnny Wang · 二月 11, 2022

翻译文章-初学者资源库

Hello 家人们, InterSystems 学习网站有许多非常棒的课程。 因此,如果您想了解 InterSystems 并开始使用 InterSystems,希望这些资源可以帮到你: 概述: InterSystems 产品和技术简介 基础知识: InterSystems ObjectScript 基础知识 InterSystems SQL 概述 InterSystems IRIS 对象介绍 迁移到 IRIS 后端开发: 设置 RESTful 服务 在 InterSystems IRIS 中使用 JSON 面向开发人员的 InterSystems API Manager 动手实践 构建数据驱动的 Web 应用程序 集成开发: 集成架构 构建 BPL 业务流程 建立自定义业务运营 构建定制业务服务 数据转换基础 非常好的外部资源 互操作性课程 分析开发: IRIS BI 架构师 IRIS BI 分析器 BI 数据模型 InterSystems IRIS 自适应分析基础 InterSystems 报告入门 IntegratedML 动手实践 来自 learning.intersystems.com 的资源: 如果你想开始,您还可以根据您想要做的事情来个性化选择你需要的资源: 使用 InterSystems 构建服务器端应用程序 使用 InterSystems IRIS 构建业务集成 使用 InterSystems IRIS BI 分析数据 使用自适应分析构建数据模型 使用 InterSystems 报告以可视方式交付数据 在 InterSystems IRIS 中使用 IntegratedML 预测结果 或者,我们在这里为实施合作伙伴(或将做所有事情的其他人,资源对所有人开放)提供了一些更大的资源
文章
Hao Ma · 十一月 2, 2021

IRIS 2021 技术文档 First Look 33 - InterSystems IRIS Native API for Node.js

本文档解释了如何使用 Native API 从 Node.js 应用程序访问 InterSystems IRIS® globals。Native API 还允许您运行 ObjectScript 方法、函数和例程。在本文中,您将首先连接到 InterSystems IRIS。然后您将在 InterSystems IRIS 中设置和检索一个 global 节点的值,并在另一个 global 节点上进行迭代。您还将调用 InterSystems IRIS 类方法。所有这些活动都将在 Node.js 应用程序中执行。为了让您体验 Native API,而又不陷入细节的困境,本次探索特意设计得很简单。这些活动被设计成只使用默认设置和功能,这样您就可以熟悉功能的基本原理,而不必处理那些离题或过于复杂的细节。当您把 IRIS Native 引入您的生产系统时,您可能需要做一些不同的事情。本文档末尾提供的参考资料将使您对在生产中使 Native API 的情况有一个很好的了解。要浏览所有的技术概要(First Look),包括可以在 InterSystems IRIS 免费的评估实例上执行的那些,请参见 InterSystems First Looks(《InterSystems 技术概要》)。 1 InterSystems IRIS 存储结构简介 InterSystems IRIS 提供了一种易于使用的方法来将数据存储在持久化多维数组中。global 是存储在物理 InterSystems IRIS 数据库中的命名多维数组。在应用程序中,globals 到物理数据库的映射基于当前命名空间,命名空间提供一个或多个物理数据库的逻辑统一视图。例如,要使用一个名为^Settings 的 global 将值 "Red"与键 "Color"关联起来,请使用 InterSystems IRIS Basics:Connecting an IDE(《InterSystems IRIS 基础: 连接一个 IDE》)中的为您的实例描述的程序打开 InterSystems 终端(InterSystems Terminal),并输入以下代码:set ^Settings("Color")="Red" 您可以利用 globals 的多维特性来定义一个更复杂的结构: set ^Settings("Auto1","Properties","Color") = "Red" set ^Settings("Auto1","Properties","Model") = "SUV" set ^Settings("Auto2","Owner") = "Mo"set ^Settings("Auto2","Properties","Color") = "Green" 有关 globals 的更多信息,请参见 Using Globals(《使用 globals》)。 2 探索 Native API for Node.js 此时,您已准备好试验 Native API 了。这个简短的演示将向您演示如何在一个简单的 Node.js 应用程序中使用 Native API。想试试 InterSystems Native API for Node.js 的在线视频演示吗?请查看 Node.js QuickStart(Node.js 快速入门)! 探索 Native API for Node.js 2.1 用前须知要使用该程序,您需要一个安装了您最喜欢的 Node.js IDE 的系统来运行,并需要一个运行中的 InterSystems IRIS 实例来连接。您对 InterSystems IRIS 的选择包括多种类型的已授权的和免费的评估实例;该实例不需要由您正在工作的系统托管(尽管它们必须相互具有网络访问权限)。有关如何部署每种类型的实例的信息(如果您还没有可使用的实例),请参见 InterSystems IRIS Basics: Connecting an IDE(《InterSystems IRIS 基础:连接一个 IDE》)中的 Deploying InterSystems IRIS(部署 InterSystems IRIS)。使用同一文档中的 InterSystems IRIS Connection Information(InterSystems IRIS 连接信息)和 Node.js IDE 中的信息,将 IDE 连接到您的 InterSystems IRIS 实例。 2.2 设置您的项目接下来,您需要使用 npm 来设置您的项目,npm 是和 Node.js 一起发布的 JavaScript 包管理器。作为这个过程的一部分,您将安装 Native API 模块 intersystems-iris-native。使用这个程序:1. 在命令提示符下,为演示创建一个名为 IRISNative 的新文件夹,并切换到该目录。 例如: mkdir IRISNative cd IRISNative 2. 使用 npm 包管理器初始化新项目: npm init 3. 按照提示,创建 package.json 文件。4. 要安装 IRIS Native API 模块:• 如果您的 InterSystems IRIS 实例安装在您正在工作的系统上,请输入命令 npm install --save <install-dir>\dev\nodejs\intersystems-iris-native 其中 <install-dir> 是安装 InterSystems IRIS 的目录, 例如 C:\InterSystems\myIRIS。• 如果您的实例没有安装在您正在工作的系统上,请按照以下步骤操作:a. 下载或克隆以下 repo 到您的 IDE 中:https://github.com/intersystems/quickstarts-nodejsb. 如果您已经下载了 repo,请解压。c. 切换到您刚刚克隆或下载的 repo 的 Solutions 目录,例如: cd quickstarts-nodejs/Solutions d. 要安装 IRIS Native API 模块,请输入: npm install --save intersystems-iris-native 2.3 Native API 应用程序 现在您已经创建了项目,接下来您将创建一个小的应用程序,演示 Native API 的一些功能。1. 在您的 IDE 中,在 IRISNative 目录中创建一个新的源文件,将该文件保存为 IRISNative.js。 探索 Native API for Node.js 2. 将以下代码粘贴到 IRISNative.js 中, 将 InterSystems IRIS 实例的连接信息 替换为 connectionInfo 中的值。您可以指定所示的 USER 命名空间,也可以选择在实例上创建的另一个命名空间: const irisnative = require('intersystems-iris-native')// Modify connection info based on environment let connectionInfo = {host: '127.0.0.1',port: 1972, ns: 'USER',user: '_SYSTEM', pwd: 'SYS'};// create database connectionconst connection = irisnative.createConnection(connectionInfo);//create IRIS instanceconst dbnative = connection.createIris();console.log('[1] Setting and getting a global');// setting and getting a global// ObjectScript equivalent: set ^testglobal("1") = 8888 dbnative.set(8888, 'testglobal', '1');// ObjectScript equivalent: set globalValue = $get(^testglobal("1")) let globalValue = dbnative.get('testglobal','1');console.log('The value of testglobal is ' + globalValue); console.log();console.log('[2] Iterating over a global');// modify global to iterate over dbnative.set(7777, 'testglobal', '1');dbnative.set(8888, 'testglobal', '2');dbnative.set(9999, 'testglobal', '3');let subscriptIter = dbnative.iterator('testglobal'); console.log('walk forwards');for ([key,value] of subscriptIter) { console.log('subscript='+ key +', value=' + value);};console.log();console.log('Iterate backwards a different way');let revIter = dbnative.iterator('testglobal').reversed(); let node = revIter.next();while (!node.done) {console.log('subscript='+ node.value[0] +', value='+ node.value[1]); node = revIter.next();}console.log();console.log('[3] Calling a class method');// calling a class method// ObjectScript equivalent: set returnValue = ##class(%Library.Utility).Date(5) let returnValue = dbnative.classMethodValue("%Library.Utility", "Date", 5); console.log(returnValue);// close connection connection.close(); 示例代码分为三个部分:1. 第一部分展示了如何设置一个 global 的值以及稍后如何检索它。这部分里面执行的命令等同于 ObjectScript 的 SET 和 GET 命令。2. 第二部分展示了如何迭代 global 的子节点,类似于 $ORDER ObjectScript 函数。3. 第三部分展示了如何使用 Native API 从您的 Node.js 应用程序调用 ObjectScript 类方法。 注意: ObjectScript中的 Globals 以插入符号(^)开头。在使用 Native API 的 Node.js 应用程序中,这不是必需的。 了解有关 IRIS Native 的更多信息 2.4 运行练习现在您已经准备好运行演示应用程序了。如果示例执行成功,您应该会看到带有示例代码结果的打印输出:[1] Setting and getting a global The value of testglobal is 8888[2] Iterating over a global walk forwardssubscript=1, value=7777 subscript=2, value=8888 subscript=3, value=9999Iterate backwards a different way subscript=3, value=9999 subscript=2, value=8888 subscript=1, value=7777 [3] Calling a class method Apr 11, 2019 2.5 确认管理门户(Management Portal)中的变更接下来,使用以下程序在管理门户(Management Portal)中确认您的结果:1. 使用 InterSystems IRIS Basics:Connecting an IDE(《InterSystems IRIS 基础:连接一个 IDE》)中为您的实例描述的 URL,在浏览器中打开您的实例的管理门户(Management Portal)。2. 如果您不在代码指定的命名空间中,请切换到该命名空间。3. 导航到 Globals 页面(System Explorer(系统资源管理器) > Globals)。您应该会看到示例代码中创建的 testglobal global。点击 View(查看)来查看其内容。 您应该会看到 global 的两个节点:^testglobal(1) = 8888 和^testglobal(2) = 9999。 3 了解有关 IRIS Native 的更多信息有关 IRIS Native、globals 和 InterSystems IRIS 的更多信息,请参见:• Using the Native API for Node.js(《使用 Native API for Node.js》)• Using Globals(《使用 Globals》)
文章
姚 鑫 · 一月 20, 2023

第五十一章 使用 ^SystemPerformance 监视性能 - Apple macOS 平台的 InterSystems IRIS 性能数据报告

# 第五十一章 使用 ^SystemPerformance 监视性能 - Apple macOS 平台的 InterSystems IRIS 性能数据报告 - `%SS` - 使用 `ALL^%SS` 命令在运行过程中采集了四个样本。 - `Configuration *` - 来自服务器的 `IRIS` 实例名称和主机名、完整的 `IRIS` 版本字符串、许可客户名称和许可订单号。 - `cpf file *` - 当前活动配置文件的副本。 - `irisstat -c` - 使用命令 `irisstat cache -p-1 -c-1 -e1 -m8 -n2 -N127` 在运行过程中以均匀的间隔采集四个样本。以下是对每个参数的简要说明: - `-p-1`: 对进程表进行采样以包括进程和全局状态信息。 - `-c-1`: 对共享内存的计数器部分进行采样以显示日志、锁、磁盘和资源使用统计信息。 - `-e1: SYSLOG` 错误表。 - `-m8`: 文件表,其中包括所有 `IRIS.DAT` 文件及其属性。 - `-n2`: 网络结构表,包括本地到远程数据库的映射。 - `-N127`: 客户端和服务器连接的 `ECP` 统计信息。 - `irisstat -D` - 使用命令 `irisstat cache --f1 -D10,100` 在运行过程中以均匀的间隔采集八个样本。以下是对每个参数的简要说明: - `-fl`: 基本标志。 - `-D10,100`: 在 `10` 秒的总采样周期内,每 `100` 毫秒对块碰撞进行采样。 - `ipcs *` - 进程间通信配置信息,包括共享内存、信号量和消息队列; `ipcs -a` 命令的输出。 - `license *` - 使用 `Decode^%LICENSE` 和 `counts^%LICENSE` 的 `IRIS` 许可使用信息。 - `macOS Info *` - 操作系统版本和硬件信息。 `sw_vers`、`uname` `-a、mount` 和 `netstat` 命令的输出。 - `mgstat` - 使用 `^mgstat` 实用程序在运行过程中获取 `IRIS` 特定数据。请参阅 `Monitoring Guide` 的 `Monitoring Performance Using ^mgstat` 部分。 - `Profile *` - 有关创建此日志的 `^SystemPerformance` 配置文件的信息。 - `ps:` - 使用命令 `ps -eflv` 在运行过程中以均匀的间隔采集四个样本。 - `sar -d` - 磁盘(块)设备吞吐量和延迟统计信息。 - `sar -g` - 页面输出率。 - `sar -n DEV` - 网络设备吞吐量。 - `sar -n EDEV` - 网络设备错误率。 - `sar -p` - 页入和页错误率。 - `sar -u` - CPU 使用统计。 - `sysctl -a *` - 内核和系统参数设置。 - `vm_stat *` - 内存页面信息。
公告
Michael Lei · 二月 8, 2023

InterSystems IRIS、IRIS for Health 和 HealthShare Health Connect 2023.1 的开发者首次预览版发布

InterSystems 宣布其首个开发人员预览版,作为2023.1 版开发人员预览计划的一部分。 2023.1 中添加了许多更新和增强功能,还有全新的功能,例如对列存储Columnar Storage 的生产就绪支持、使用Bulk FHIR 的能力以及对MacOS 13 Ventura的支持。当前的开发人员预览版可能不提供其中一些功能或改进。 未来的预览版本预计每两周更新一次,我们将在功能准备就绪时添加它们。请通过开发者社区分享您的反馈,以便我们共同打造更好的产品。 可以在下面的这些链接中找到初始文档。它们将在接下来的几周内更新,直到正式宣布发布(一般可用性 - GA): InterSystems IRIS InterSystems IRIS医疗版 HealthShare HealthConnect 此外,查看此链接以获取与此版本相关的升级信息。 与往常一样,扩展维护 (EM) 版本附带适用于所有受支持平台的经典安装包,以及 Docker 容器格式的容器映像。有关完整列表,请参阅支持的平台文档。 安装包和预览密钥可从 WRC 的预览下载站点或通过评估服务网站获得(使用标记“显示预览软件”以访问 2023.1)。 InterSystems IRIS 和 IRIS for Health 的企业版和社区版的容器镜像以及所有相应的组件都可以从新的InterSystems Container Registry Web 界面获得。有关 docker 命令的更多信息,请参阅这篇文章: 宣布 InterSystems Container Registry Web 用户界面。 此开发人员预览版的内部版本号为2023.1.0.185.0 。 有关可用图像的完整列表,请参阅ICR 文档。或者,所有容器镜像的 tarball 版本都可以通过 WRC 的预览下载站点获得。
公告
jieliang liu · 四月 7, 2021

4月18日 Caché 系统运维培训线上实操课, 欢迎报名!

2021年4月18日,Caché 系统运维培训线上实操课,此次培训的主题包括, Intersystems Caché 架构,Intersystems Caché 备份与恢复,Intersystems Caché 高可用与数据库镜像,Intersystems Caché 安全,Intersystems Caché 监控和性能采集。 欢迎大家报名参加! 线上实操演练,机会难得,欢迎大家报名参会:) 名额有限,先到先得,速速报名啦!
公告
Claire Zheng · 三月 8, 2021

InterSystems编程大奖赛优胜者决出!祝贺大家!

亲爱的社区开发者们, InterSystems 编程大奖赛 圆满结束!这是一场令人难以置信的竞赛,参与的应用程序和开发者数量创下了记录! 谢谢大家的参与!现在是时候宣布获奖者了! 让我们把掌声送给这些开发者们! 🏆 专家提名奖(Experts Nomination)- 获奖者由我们特别挑选的专家团选出: 🥇 第一名,奖金 $6,000 获奖项目 e-intersystems-iris @Dmitry.Maslennikov 🥈 第二名,奖金 $3,000 获奖项目 iris-rad-studio @Henrique.GonçalvesDias 🥉 第三名,奖金 $2,000 获奖项目 HealthInfoQueryLayer @Botai.Zhang 🏆 社区提名奖(Community Nomination) - 获得总投票数最多的应用: 🥇 第一名,奖金 $3,000 获奖项目 HealthInfoQueryLayer @Botai.Zhang 🥈 第二名,奖金 $1,500 获奖项目 Dictionary comparison scheme of cache database @Weiwei.Yang 🥉 第三名,奖金 $500 获奖项目 vscode-intersystems-iris @Dmitry.Maslennikov 恭喜所有获奖者和参赛者! 感谢大家对本次大赛的关注和在本次大赛中付出的努力! 恭喜中国获奖者 @Botai.Zhang @Weiwei.Yang ! 感谢 @jingqi.LIu @Deming.xu 的参与! 期待其他开发者更多的作品! 非常荣幸参与其中,对所有的开发者来说,很棒的平台!
文章
Qiao Peng · 五月 15, 2022

InterSystems互操作进阶 - 第二篇:规则引擎 (第一部分)

在软件开发和业务集成中,规则无处不在:会员折扣的计算规则、根据消息类型和内容将其路由到不同目标系统的路由规则。还有一个规则发挥重要作用的地方- 辅助决策规则,例如临床知识库和医疗质量指标规则。 规则经常需要随业务调整和知识积累进行调整,而规则的调整是业务和行业专家定的。如果规则是以代码硬编码的,这些调整需要程序员改动,一来不直观、需要业务专家与程序员大量的沟通成本,二来硬编码改动会对应用伤筋动骨,甚至带来风险,三来没法控制新规则生效的时间 – 总不能让程序员在新规则生效的那一刻去编译和部署吧。 InterSystems规则引擎可以帮助我们解决这些问题,于构建、执行和记录消息路由规则和普通的业务规则,带给应用和集成方案充分的灵活性和可用性。甚至业务专家和临床信息学家都可以通过低代码的、图形化的规则编辑器修改规则和指定规则生效和失效时间。 InterSystems规则引擎是InterSystems IRIS数据平台和Health Connect与Ensemble集成平台的组件。创建的规则可以被单独调用,也可以被业务流程调用。 本篇介绍规则的如何使用InterSystems规则编辑器创建规则和规则引擎执行规则的逻辑。 1. 规则基本概念 在设计规则前,先了解一下规则的基本概念。 1.1 上下文 上下文是用于规则定义的数据模型。用于临床决策支持的上下文通常需要患者信息、诊断、体征与观察、过敏、医嘱等信息来制定规则。例如糖化血红蛋白(观察)超过10%,要提示紧急警告。因为上下文提供了建立规则判据的主要*数据,所以它非常关键。 医疗行业的数据格式非常复杂,有HL7 V2这种分隔符分隔的字符串、有HL7 CDA这样的XML字符串/字符流、有新的基于JSON的FHIR、还有SQL二维表的记录。这些数据格式都可能会被用做建立规则的上下文模型。 *注:除了上下文中的数据,还可以使用规则临时变量的数据作为判据。 1.2 规则类型 规则可以用于很多场景,InterSystems规则引擎支持多种规则类型,包括: 用于消息路由的规则 根据上下文(请求消息)信息类型和内容,决定消息路由的目标 InterSystems提供多种开箱即用的消息路由规则类,分别对应HL7 V2消息、行业虚拟文档消息(DICOM、X12等)、XML虚拟文档消息和普通对象消息 普通的业务判断规则 根据上下文内容,决定返回结果 上下文可以是普通对象、HL7消息、医疗行业虚拟文档、XML文档、JSON等 管理警告规则 根据系统警告信息路由警告给不同的用户 我们会介绍路由规则和普通业务规则。 无论创建哪种规则,InterSystems技术平台都以类定义保存规则逻辑,也就是创建规则类,从而方便的导入/导出。 1.3 规则辅助类 规则辅助类约束规则定义并决定规则可以使用哪些操作,例如路由规则可以使用“发送”操作,而普通业务规则可以使用“返回”操作。 系统提供的每个规则类型都有对应的规则辅助类,例如虚拟文档路由规则的规则辅助类是:EnsLib.MsgRouter.VDocRuleAssist。 在选定创建的规则类型后,规则编辑器会自动选择对应的规则辅助类,除非特殊场景,无需自己选择。通常规则辅助类不需要修改,我们将会在高级规则特性介绍文章中介绍用户自定义辅助规则类。 1.4 规则集、规则、条件、行为 规则定义由四层构成: 规则集:一个规则定义中可以定义一到多个规则集,同时只有一个规则集生效。当有多个规则集时,通常它们代表不同的版本,通过规则集不同的生效起止日期进行分别。这样,可以事先生成好新的规则集、并定义好生效时间,规则引擎会在生效时间开始后自动启用新的规则集。 规则:一个规则集中,可以有一到多个规则,这些规则同时生效。例如在HL7 V2路由规则定义中,每个规则可以处理不同类型的V2消息。规则按其在规则集中的顺序执行,只要规则没有返回(return)行为,后面的规则会继续执行。 规则条件:在一个规则中,可以处理多个规则条件,用when和otherwise定义。规则条件定义需要满足的条件和满足条件时的行为(action)。同一级别条件下,when可以有多个,但otherwise最多有一个,代表所有when都不满足的条件。不同条件间相当于if...elseif关系,因此一个条件满足时,后面的条件不会再进行判断。 行为:在规则条件下,可以执行一个或多个行为(action)。其中返回行为(return)是特殊行为,执行到这个行为会直接返回,进而中断后续的规则、条件和行为的执行。 2.使用规则编辑器 InterSystems规则引擎提供图形化的规则编辑器,通过管理门户>Interoperability>构建>业务规则 访问它。 第一步要确定我们要建立什么类型规则:是消息路由规则,还是普通业务规则,亦或是管理警告规则? 同时,规则是对象类,因此需要指定它的类包名(包)和类名(名称)。 2.1 消息路由规则的创建与编辑 本章介绍消息路由规则的创建与编辑,如果您是在找普通业务规则的创建方式,请跳到下一章。 消息路由流程本身是一种简单的业务流程,消息路由规则的上下文就是对应的业务流程对象,因此消息路由规则的上下文类型是固定的。 InterSystems提供4种开箱即用的消息路由规则,分别是: 路由规则类型 说明 上下文类 普通消息路由规则 用于用户自定义的对象类型消息的路由规则 EnsLib.MsgRouter.RoutingEngine HL7 消息路由规则 用于HL7 V2消息的路由规则 EnsLib.HL7.MsgRouter.RoutingEngine 虚拟文档消息路由规则 用于XML、EDIFACT等虚拟文档类型消息的路由规则 EnsLib.MsgRouter.VDocRoutingEngine 基于消息段的虚拟文档消息路由规则 用于XML、EDIFACT等虚拟文档类型消息的路由规则,基于消息段,而非完整消息 EnsLib.EDI.MsgRouter.SegmentedRoutingEngine 2.1.1 HL7 v2消息路由规则的创建和部署 HL7 v2消息是使用分割符分隔的字符串,在InterSystems数据平台上使用内建的虚拟文档来操作,因此可以将HL7 v2消息的段(Segment)和属性(Field)作为对象和属性方式操作,非常简单。同时,InterSystems数据平台提供开箱即用的路由production模版,直接基于模版编辑即可。 2.1.1.1 创建HL7 v2路由规则的方法 方法1: 使用HL7 v2 production模版向导创建 在production创建向导中,选择production类型为HL7消息发送。这时同时创建用户HL7 v2路由的production和对应路由规则类。这种方法最简单,如果目标就是建立一个路由HL7 v2的产品,推荐使用这个模版向导。 向导会自动应用模版,创建如下的HL7 v2路由产品,它带处理输入HL7文件的BS和输出HL7文件的BO、一个路由规则BP:MsgRouter和一个异常警告BP:Ens.Alert。 选择MsgRouter,在右侧的业务规则名称中可以看到,向导自动创建了名为HIP.Prod.HL7Router.RoutingRule的路由规则。点击后面的放大镜图标,即可对该规则进行编辑。 方法2: 直接使用规则向导创建规则 在规则创建向导中,选择规则类型为:HL7 Message Routing Rule。 2.1.1.2 编辑规则 使用HL7 v2 production模版向导创建的规则定义已经包含了一个规则集(ruleSet),其中有一个规则(rule),而该规则下只有一个条件(when)。使用规则向导创建的v2路由规则是完全空白的规则定义,只有一个规则集。 我们以HL7 v2 production模版向导创建的规则定义为例介绍规则的编辑。 在规则编辑器页面,右侧是规则辅助,由规则辅助类提供支持,列出可以执行的操作。选中ruleset、rule、条件(when/otherwise)和行为,都会显示不同的可以执行的操作和相应的解释。 规则集(ruleSet)是一系列的规则的组合。 规则集可以设置生效时间范围:effectiveBegin和effectiveEnd。如果未定义生效时间范围,规则定义编译后即刻生效。当定义多个ruleSet时,应该定义每个ruleSet的生效时间范围;如果有生效时间范围的重叠,会使用第一个生效的规则集。 规则集有名称 name,建议设置为有意义的规则集说明。 规则(rule)是一系列条件的组合。 选中ruleSet,点击+号就可以添加规则。 规则可以设置: 名称(name): 应该设置为有意义的字符串,例如” ADT文件消息处理”。 是否禁用(disabled):默认是启用的(false)。 约束(constraint):设置本规则的消息约束。双击constraint即可编辑。对于HL7 v2消息,可以对下列信息进行约束: 源(source):对消息来源进行约束,本例中源被默认为HL7FileService,就是HL7文件源。如果这个路由规则需要处理多个HL7消息源,例如文件和TCP,可以把源约束删除掉。 Schema类别(Schema Category):对HL7 v2消息的Schema版本进行约束。如果路由规则只处理特定版本的消息,可以进行选择,例如2.5.1。 文档名称(Document Name):因为HL7 v2被作为虚拟文档对象进行处理,因此每种类型的v2消息都是一种虚拟文档。如果要对处理的v2消息类型进行约束,可以多选v2消息类型,例如ADT_A01和ADT_A03。 注意,这些约束项都是可选的。任何不符合约束的消息,都不会被路由,并且会被记录在规则日志(rule log)中。 规则条件(when/otherwise)设定条件(condition)。 选中rule,点击+号,即可增加条件when或otherwise。增加后,双击condition即可编辑。可以用在条件的判据数据就是上下文中的属性(数据),在表达式编辑窗口的文本输入栏会有属性提示,打首字母就会提示,也可以打任意字符并删除,从而显示所有上下文可用属性。 HL7消息是一种虚拟文档*,因此有Document特殊变量用于访问其虚拟文档内的数据。如果在上一步的规则约束中选择了虚拟文档的类型,如ADT_A01,那么引擎还会在Document.{ 后提供所有对应HL7 v2虚拟文档的段和属性提示,如下图。 *注:关于虚拟文档,我将在下一篇文章中介绍。 在表达式编辑窗口中,点击op打开操作符向导,选择操作符,例如判等、大于、包含等。点击fx打开函数向导,选择函数,例如ConvertDateTime函数可以将HL7的时间格式(YYYYMMDDhhmmss)转为ODBC格式(YYYY-MM-DD hh:mm:ss)。也可以直接写表达式,而不使用这些操作符和函数向导。用户可以扩展自定义函数,见第二部分的规则函数扩展章节。 行为(action)定义了满足条件时的行为。 例如满足条件,将消息做模型转换后发送给外部HL7接口。在右侧的规则辅助窗口列出可以执行的行为。注意在同一个规则条件下,可以有多个行为,例如向多个目标发送不同的消息。 对于路由规则,通常的行为时发送(send)。发送前,选中转换(transform)可以选择发送前要执行的数据转换; 发送目标(target)会列出production中的所有业务操作和业务流程,可以多选。 注意1:规则(rule)也是一种行为,即满足条件时,可以执行子规则。 注意2:返回(return)行为会中断当前规则条件下的后续行为。 <<未完待续>>
文章
Lucy Ma · 五月 18, 2022

InterSystems最佳实践之-- IRIS商业智能:构建与同步

InterSystems IRIS商业智能支持用多种方式使你的模型保持数据同步。这篇文章将展示如何构建和同步。当然有多种方式可以手动同步,但是这些是特殊案例,几乎所有的模型保持数据同步的方式都是通过构建和自动同步。 什么是构建? 构建开始于将所有的数据从模型中移除。这样保证了构建的过程是从一个干净的起点开始的。接着构建会逐步从每个源类查询所有数据条目。这里会提取所有的数据条目,或者有限制的数据条目。当构建到对应的数据条目时候,被模型选择的数据会插入到模型中。最终,一旦所有的数据都被插入到模型里,索引会被构建。在这个过程中,模型是不可用的,数据也不能被查询。构建的执行过程是单线程或者多线程的。它可以被初始化于UI或者终端界面。UI界面会默认是多线程。从终端界面来运行构建过程会默认成多线程,除非过程中设置传入的参数。在更多的场景下,多线程构建是可行的。也有特殊的场景是不允许执行多线程构建的,那么构建过程只能通过单线程完成。 什么是同步? 如果一个模型的源类是启动了DSTIME (参见文档),它就可以被同步。DSTime允许通过更改源类来被追踪。当同步过程被启动,只有在模型中设定的需要变更的数据条目会被插入,更新或者删除。当同步过程正在运行,模型是可以用于查询数据的。同步机制只能通过终端界面来启动。它可以在UI界面的模型管理器中设置定时任务,但是不能够直接从UI界面执行。默认场景是,同步只能是单线程,但是也可以通过参数设置来启动多线程同步。 一个永远不会出错的办法是通过构建来初始化模型,然后通过同步机制来保持数据的更新。 差异回顾 构建 同步 多少数据需要更新? 所有 只有变更的数据 可在UI界面操作? 是 否 多线程 是,默认 是,非默认 模型是否可被使用 否(*1) 是 需要源类的变更 否 是,DSTIME需要开启 构建更新 (*1)从InterSystems IRIS 2020.1开始,选择性构建功能可以作为一个选项来构建模型了。这个功能将允许模型在构建过程中能够被使用。更多信息请参考 Getting Started with Selective Build 同步更新 从 InterSystems IRIS 2021.2开始,DSTIME会作为一个新的“条件”选项。这个改动将允许实施有条件的开启DSTIME选项,专门服务于特殊的场景和安装。
公告
Claire Zheng · 二月 16, 2022

2021 InterSystems在B站最受欢迎的视频有哪些?

亲爱的开发者们! “InterSystems中国”在B站现在已经有两百多位粉丝啦,欢迎查收2021年InterSystems中国在B站最受欢迎的视频列表! 2021 InterSystems中国在B站最受欢迎的视频(Top10) № 视频(点击查看) 播放量 1 从Caché数据库升级到InterSystems IRIS数据平台的N个理由 466 2 Caché从零基础到精通-第0讲 前言 397 3 Caché从零基础到精通-第1讲-Caché 简介 346 4 Caché从零基础到精通-第2讲_初识M程序 324 5 FHIR标准和国际基于FHIR的互联互通实践 229 6 乔鹏-IRIS数据库在医疗行业发展(1):InterSystems IRIS架构 221 7 InterSystems Caché系统运维培训:InterSystems Caché架构、备份与恢复 200 8 【中文字幕】经济学人访谈录:凝望医疗健康数字化的未来 192 9 Caché从零基础到精通-第3讲_语法规则 188 10 InterSystems Caché系统运维培训:InterSystems Caché系统高可用与数据库镜像 177 欢迎大家B站搜索“InterSystems中国”关注我们,我们将持续上传优秀视频!
文章
Claire Zheng · 十月 19, 2021

如何在InterSystems开发者社区学习?第二部分:标签(Tags)

Hi 亲爱的开发者们, 在这篇帖子中,我们将向您展示如何善用开发者社区的各类标签(Tags),让我们充分利用这个开发者社区的选项吧! 一个标签(Tag)就是一个描述帖子主题的单词或短语,是一种将开发者社区成员和专家与文章联系起来的方法,通过合理地运用标签(Tag),他们将能够讨论/给出正确的答案,将文章分类为具体的、定义明确的类别。 标签(Tag)也可以用来帮助你识别你感兴趣或相关的文章。 在开发者社区顶部的菜单中,你可以看到 标签(Tag)完整列表 标签(Tag)的类型和开发者社区的标签树(Tag Tree) 在开发者社区有两种标签: 标签组(Groups)– 所谓的主标签,用于标识广泛的主题,包括所有InterSystems技术。 标签(Tags)–用于更专门化主题的常规标签。 每个帖子必须至少有一个这样的组(Group)。你知道所有的组(Group)吗? 针对InterSystems technology的标签组 (9): 针对 Visual Studio Code的标签组: InterSystems开发者社区的官方声明标签组“official announcements” : 来自Worldwide Response Center (WRC)的警告和警报标签组: Open Exchange的一个标签组(InterSystems软件解决方案和框架的InterSystems库),另一个标签组是Global Masters(InterSystems游戏化平台),还有一个另一个标签组是Partner Directory (合作伙伴目录,客户和合作伙伴的InterSystems平台): 标签组Global Summit(全球峰会),这是InterSystems的年度盛会: 标签组Online Learning (在线学习)和Documentation(文档): 供用户进行评论、发表意见、提供建议的标签组 DC Feedback: 与InterSystems技术相关的工作标签组 job opportunity announcements (工作机会发布): 用以标记那些无法用前述标签归类的文章的标签组Others: 除了标签组(Group)之外,开发者社区成员还使用标签(Tags)来指定更多的帖子内容。 在 开发者社区标签树(Tag Tree),你会看到一些子标签(subtags),对标签的内容进行分类。 例如,在"语言(Languages)"标签下有如下子标签:"C++", "Python", "JavaScript", "MultiValue Basic", "ObjectScript", "Java" and ".NET". 需要注意的是,为帖子加标签(Tags)并非强制性的,但是在发帖前你必须为帖子选择至少一个"标签组(Groups)”: 标签(Tags)归类: 你可以通过 开发者社区标签树(Tag Tree)以三种不同方式为标签归类: 1. 按热门程度: 标签组(Groups)和标签(Tags)根据它们在帖子中被使用的次数排列,这个数字会出现在每个标签(Tag)旁边的括号内。 例如,标签“Open Exchange” 出现在了368篇帖子中: 2. 按名称: 标签组(Groups)和标签(Tags)按字母顺序排列。 3. 按新增: 在这种模式下,新增标签组(Groups)和标签(Tags)会出现在最前面。 标签(Tag)页:按标签关注、排序、筛选文章 每个标签(Tag)都有自己的URL/网页,在那里你可以看到所有使用该标签的帖子。 例如, "XML" 标签(Tag)的标签页面是:https://cn.community.intersystems.com/tags/xml, 在这个页面展示了所有使用这一标签的文章: 在标签页面上,所有的帖子都可以通过不同的标准进行再次排列:按更新时间、按日期、按点赞、按查看数、按回复。 它们也可以按发布类型分类:公告、文章、问题、讨论、视频或工作。你需要到左上角的菜单,选择你要找的文章类型。 快来关注你感兴趣的标签(Tags)吧! 如果你对某个主题感兴趣,你可以在开发者社区标签树(Tag Tree)中寻找它的标签,选择它,然后点击它旁边的“关注”按钮。当你关注了某一标签(Tags)时,你会收到所有使用该标签(Tags)的帖子的邮件。 我们推荐您可以关注以下标签: Best practices(最佳实践) | Tips and tricks(提示和技巧) | Beginner(初学者) | Tutorial(教程). 那么,现在就来看看开发者社区标签树(Tag Tree)吧——一大波儿有趣的主题(标签)和各种有用的内容正在等着你! 阅读所有与你感兴趣的主题相关的文章; 关注标签走,这样你就不会错过任何关于你最喜欢的话题的帖子了。 如果你有任何关于标签(Tags)的问题,或者你想@任何人,请在下面留下你的评论/建议!