清除过滤器
公告
Jeff Liu · 二月 8, 2022
InterSystems 数据平台团队非常高兴地宣布,InterSystems IRIS数据平台、InterSystems IRIS for Health和HealthShare Health Connect的2021.2版本现已向我们的客户和合作伙伴全面开放(GA)。
发布重点:
InterSystems IRIS数据平台2021.2使开发、部署和管理连接数据和应用孤岛的增强型应用和业务流程更加容易。它有许多新的功能和改进!
为应用程序和界面开发人员提供的增强功能,包括:
嵌入式Python
使用Python进行互操作性开发
对Visual Studio Code ObjectScript扩展包的更新
增加了新的业务服务和操作,允许用户以最少的自定义编码来设置和运行SQL查询
对分析和人工智能的增强,包括:
新的SQL LOAD命令有效地将CSV和JDBC源数据加载到表中
增强适应性分析的功能
对云计算和运营任务的加强,包括:
新的云连接器使得在InterSystems IRIS应用程序中访问和使用云服务变得简单。
IKO的改进提高了Kubernetes资源的可管理性
对数据库和系统管理员的增强,包括:
在线分片再平衡可以在不中断操作的情况下自动在各节点间分配数据
自适应SQL引擎使用快速块采样和自动化来收集高级表的统计数据,并利用运行时信息来改进查询规划
通过新的流和日志文件压缩设置,InterSystems IRIS的存储需求得以降低
支持TLS 1.3和OpenSSL 1.1.1,使用系统提供的库
新的^TRACE工具报告详细的进程统计数据,如缓存点击率和读取率
关于所有这些功能的更多细节可以在产品文档中找到:
InterSystems IRIS 2021.2 documentation and release notes
InterSystems IRIS for Health 2021.2 documentation and release notes
HealthShare Health Connect 2021.2 documentation and release notes
如何获得软件
InterSystems IRIS 2021.2是一个持续交付(CD)版本,现在带有所有支持平台的经典安装包,以及OCI(Open Container Initiative)(又称Docker容器格式)的容器镜像。 容器镜像可用于Linux x86-64和Linux ARM64的OCI兼容运行时引擎。 详见 支持平台文档.
每个持续交付产品的完整安装包都可以从WRC 支持中心的网站 获得 . 使用 "自定义 "安装选项使用户能够挑选他们需要的选项,如InterSystems Studio和IntegratedML,以正确地缩小他们的安装范围。
容器镜像 企业版本,和社区版本 和所有的相关组件都可以从 InterSystems Container Registry 使用以下命令获得:
docker pull containers.intersystems.com/intersystems/iris:2021.2.0.649.0
docker pull containers.intersystems.com/intersystems/iris-ml:2021.2.0.649.0
docker pull containers.intersystems.com/intersystems/irishealth:2021.2.0.649.0
docker pull containers.intersystems.com/intersystems/irishealth-ml:2021.2.0.649.0
有关可用镜像的完整列表,请参考 ICR 文档.
另外,所有容器镜像的tarball版本可以通过WRC的 CD容器产品下载网站获得。.
我们在主要云市场上的相应列表将在未来几天内更新。
分享你的经验
我们很高兴看到这个版本现在达到了GA的里程碑,并渴望听到你对新软件的体验。请不要犹豫,通过InterSystmes的销售团队或 开发者社区 与我们联系。
对于选定的新功能和产品,我们已经建立了早期试用计划,允许我们的用户在软件发布之前进行评估。通过这些有针对性的举措,我们可以向目标受众学习,确保新产品在发布时能满足他们的需求。如果你有兴趣参与其中的任何一项,请通过InterSystems销售团队或 开发者社区 与我们联系。
文章
Michael Lei · 六月 11, 2022
在检查我们的^pButtons(在IRIS中改名为^SystemPerformance)性能监控工具的文档时,一位客户告诉我。"我理解所有内容,但我希望它能更简单......更容易定义配置文件,管理它们等等"。
在这次会议之后,我认为尝试为其提供一些更简单的人机界面是一个不错的试验。
这方面的第一步是在现有的pButtons例程上包裹一个基于类的API。
我还能够添加一些更多的 "功能",比如显示当前正在运行的配置文件,它们剩余的运行时间,以前运行的进程等等。
下一步是在这个API的基础上添加一个REST API类。
有了这个工件(pButtons REST API),人们就可以在上面建立一个比较时髦的用户界面。
举个🌰: -
我在这里分享这个方法的几个步骤:
两个类是 "Basic "API –
以及REST API(包括一些单元测试类来测试这些)。
一个用于REST API的Swagger JSON。为了构建这个,我使用了当时(2017年)InterSystems IRIS中尚未发布的REST管理功能。在InterSystems IRIS提供的基本Swagger JSON的基础上,我添加了更多的信息。
以及一个更加简单的angular UI界面 (基于 http://websystique.com/angularjs/angularjs-crud-application-using-ngresource/)
几个重点提示:
大多数的 "Basic "API方法都使用有文档的和官方支持的pButtons/SystemPerformance rountine的入口点。但有些方法是访问由pButtons工具管理的内部结构。这些方法没有被记录下来,也不被支持,这些方法在升级后可能会停止工作而不被通知。
这段代码不应该作为使用InterSystems IRIS构建基于REST的Angular应用程序的 "最佳实践 "范例。UI部分只是作为一个例子/"预告 "和示例的起点,[例如,它并不完整--"常规部分"(例如,日志文件夹位置管理的占位符)没有实现;刷新内容并不完全工作,以及其他一些 "已知问题..."]
这段代码最早是在很久之前写的--所以:
(a) 我重新检查/测试/修改确保能在IRIS上运行 (包括改些名字等等).
(b) REST API并没有使用需求/设计优先的方法--我最初确实玩过(当时)IRIS-beta对生成Swagger的支持,现在用它把这个变成了需求/设计优先的方法.
(c) 这个可能没有用到最新的特性.
(d) 我现在还增加了对在Docker容器中运行的支持(有相关的Docker文件等)。
(e) 我还增加了能作为ZPM包安装的支持。
应用和源代码:https://openexchange.intersystems.com/package/sys-perf-restapi
公告
Michael Lei · 一月 10, 2023
我们刚刚发布了包管理器的一个小更新,如我们11 月宣布,我们已经将 ZPM 重命名为 IPM。现在这个是一个错误修复版本,正确解释 ROBOCOPY 返回代码并修复阻止安装某些包的回归。
在这里获取:
https://github.com/intersystems/ipm/releases/tag/v0.5.2
文章
Lele Yang · 二月 21, 2023
** 2018 年 2 月 12 日修订
虽然本文是关于 InterSystems IRIS 的,但它也适用于 Caché、Ensemble 和 HealthShare 发行版。
介绍
内存以页为单位进行管理。 Linux 系统上的默认页面大小为 4KB。 Red Hat Enterprise Linux 6、SUSE Linux Enterprise Server 11 和 Oracle Linux 6 引入了一种根据系统配置提供 2MB 或 1GB 大小的增加页面大小的方法,称为 HugePages。
起初 HugePages 需要在启动时分配,如果管理或计算不当可能会导致资源浪费。因此,各种 Linux 发行版引入了默认启用 2.6.38 内核的Transparent HugePages。这是一种自动创建、管理和使用 HugePages 的方法。以前的内核版本也可能具有此功能,但可能未标记为 [always] 而是设置为 [madvise]。
Transparent Huge Pages (THP) 是一种 Linux 内存管理系统,它通过使用更大的内存页面来减少在具有大量内存的机器上进行Translation Lookaside Buffer (TLB) 查找的开销。然而,在当前的 Linux 版本中,THP 只能映射单个进程的堆栈空间。
问题
任何 Caché 系统中的大部分内存分配都是共享内存段(全局和例程缓冲池),因为 THP 不处理这些共享内存段。因此,THP 不用于共享内存,而仅用于每个单独的进程。这可以使用一个简单的 shell 命令来确认。
以下是来自 InterSystems 的测试系统的示例,其中显示了分配给 Caché 进程的 2MB THP:
# grep -e AnonHugePages /proc/*/smaps | awk '{ if($2>4) print $0} ' | awk -F "/" '{print $0; system("ps -fp " $3)} '
/proc/2945/smaps:AnonHugePages: 2048 kB
UID PID PPID C STIME TTY TIME CMD
root 2945 1 0 2015 ? 01:35:41 /usr/sbin/rsyslogd -n
/proc/70937/smaps:AnonHugePages: 2048 kB
UID PID PPID C STIME TTY TIME CMD
root 70937 70897 0 Jan27 pts/0 00:01:58 /bench/EJR/ycsb161b641/bin/cache WD
/proc/70938/smaps:AnonHugePages: 2048 kB
UID PID PPID C STIME TTY TIME CMD
root 70938 70897 0 Jan27 pts/0 00:00:00 /bench/EJR/ycsb161b641/bin/cache GC
/proc/70939/smaps:AnonHugePages: 2048 kB
UID PID PPID C STIME TTY TIME CMD
root 70939 70897 0 Jan27 pts/0 00:00:39 /bench/EJR/ycsb161b641/bin/cache JD
/proc/70939/smaps:AnonHugePages: 4096 kB
UID PID PPID C STIME TTY TIME CMD
root 70939 70897 0 Jan27 pts/0 00:00:39 /bench/EJR/ycsb161b641/bin/cache JD
/proc/70940/smaps:AnonHugePages: 2048 kB
UID PID PPID C STIME TTY TIME CMD
root 70940 70897 0 Jan27 pts/0 00:00:29 /bench/EJR/ycsb161b641/bin/cache SWD 1
/proc/70941/smaps:AnonHugePages: 2048 kB
UID PID PPID C STIME TTY TIME CMD
root 70941 70897 0 Jan27 pts/0 00:00:29 /bench/EJR/ycsb161b641/bin/cache SWD 2
/proc/70942/smaps:AnonHugePages: 2048 kB
UID PID PPID C STIME TTY TIME CMD
root 70942 70897 0 Jan27 pts/0 00:00:29 /bench/EJR/ycsb161b641/bin/cache SWD 3
/proc/70943/smaps:AnonHugePages: 2048 kB
UID PID PPID C STIME TTY TIME CMD
root 70943 70897 0 Jan27 pts/0 00:00:33 /bench/EJR/ycsb161b641/bin/cache SWD 7
/proc/70944/smaps:AnonHugePages: 2048 kB
UID PID PPID C STIME TTY TIME CMD
root 70944 70897 0 Jan27 pts/0 00:00:29 /bench/EJR/ycsb161b641/bin/cache SWD 4
/proc/70945/smaps:AnonHugePages: 2048 kB
UID PID PPID C STIME TTY TIME CMD
root 70945 70897 0 Jan27 pts/0 00:00:30 /bench/EJR/ycsb161b641/bin/cache SWD 5
/proc/70946/smaps:AnonHugePages: 2048 kB
UID PID PPID C STIME TTY TIME CMD
root 70946 70897 0 Jan27 pts/0 00:00:30 /bench/EJR/ycsb161b641/bin/cache SWD 6
/proc/70947/smaps:AnonHugePages: 4096 kB
此外,运行时内存分配存在潜在的性能损失,尤其是对于具有高作业或进程创建率的应用程序。
建议
InterSystems 建议暂时禁用 THP,因为预期的性能提升不适用于 IRIS 共享内存段,并且可能会对某些应用程序产生负面性能影响。
通过运行以下命令检查您的 Linux 系统是否启用了 Transparent HugePages:
对于 Red Hat Enterprise Linux 内核:
# cat /sys/kernel/mm/redhat_transparent_hugepage/enabled
对于其它内核:
# cat /sys/kernel/mm/transparent_hugepage/enabled
上面的命令将显示是否启用了 [always]、[madvise] 或 [never] 标志。如果从内核中删除 THP,则 /sys/kernel/mm/redhat_transparent_hugepage 或 /sys/kernel/mm/redhat/transparent_hugepage 文件不存在。
要在引导期间禁用透明 HugePages,请执行以下步骤:
1. 将以下条目添加到 /etc/grub.conf 文件中的内核引导行:
transparent_hugepage=never
2.重启操作系统
有一种方法也可以即时禁用 THP,但这可能无法提供所需的结果,因为该方法只会停止为新进程创建和使用 THP。已经创建的 THP 不会被反汇编成常规内存页。建议完全重新启动系统以在启动时禁用 THP。
*注意:建议与您各自的 Linux 经销商确认以确认用于禁用 THP 的方法。
公告
Michael Lei · 六月 8, 2023
如果您已经使用%UnitTest 框架构建了单元测试,或者正在考虑这样做,请查看InterSystems 测试管理器Test Manager。
无需离开 VS Code,您现在可以浏览单元测试、运行或调试它们,并查看之前的运行结果。
InterSystems 测试管理器适用于 ObjectScript 扩展支持的两种源代码位置范例。您的单元测试类可以在 VS Code 的本地文件系统(“客户端编辑”范例)或服务器命名空间(“服务器端编辑”)中掌握。在这两种情况下,实际测试运行都发生在服务器命名空间中。
欢迎反馈。
公告
Louis Lu · 四月 23, 2021
InterSystems IRIS、IRIS for Health和HealthShare Health Connect的2021.1版本的预览版现已发布。
由于这是一个预览版,我们希望在下个月的通用版本发布之前了解您对这个新版本的体验。请通过开发者社区分享您的反馈,以便我们能够共同打造一个更好的产品。
InterSystems IRIS数据平台2021.1是一个扩展维护(EM)版本。自2020.1(上一个EM版本)以来,在持续交付(CD)版本中增加了许多重要的新功能和改进。请参考2020.2、2020.3和2020.4的发布说明,了解这些内容的概况。
这个版本的增强功能为开发人员提供了更大的自由度,可以用他们选择的语言构建快速和强大的应用程序,并使用户能够通过新的和更快的分析功能更有效地处理大量的信息。
通过InterSystems IRIS 2021.1,客户可以部署InterSystems IRIS Adaptive Analytics,这是一个附加产品,它扩展了InterSystems IRIS,为分析终端用户提供了更强大的易用性、灵活性、可扩展性以及效率,而不管他们选择何种商业智能(BI)工具。它能够定义一个利于分析的业务模型,并通过在后台自主构建和维护临时数据结构,透明地加速针对该模型运行分析查询时的工作负载。
这个版本中的其他重点新功能包括
一套综合的外部语言网关,改进了可管理性,现在包括R和Python,可以用您选择的语言构建强大和可扩展的服务器端代码InterSystems Kubernetes Operator(IKO)为您的环境提供声明式配置和自动化,现在还支持部署InterSystems System Alerting & Monitoring(SAM)。InterSystems API Manager v1.5,包括改进的用户体验和对Kafka的支持IntegratedML的主流版本,使SQL开发人员能够在纯粹的SQL环境中直接构建和部署机器学习模型
InterSystems IRIS for Health 2021.1包括InterSystems IRIS的所有增强功能。此外,该版本通过针对FHIR数据解析和评估FHIRPath表达式的API,进一步扩展了该平台对FHIR®标准的广泛支持。这是对2020.1以来发布的重要的FHIR相关功能的补充,包括对FHIR Profiles、FHIR R4 Transforms和FHIR客户端API的支持。
关于所有这些功能的更多细节可以在产品文档中找到。
InterSystems IRIS 2021.1文档和发布说明InterSystems IRIS for Health 2021.1文档和发布说明HealthShare Health Connect 2021.1 文档和发布说明
EM版本包括所有支持平台的传统安装包,以及OCI(Open Container Initiative)又称Docker容器格式的容器镜像。 完整的清单,请参考支持平台文档。
安装包和预览密钥可以从WRC的预览下载网站获得。
InterSystems IRIS和IRIS for Health的企业版的容器镜像以及所有相应的组件都可以从InterSystems容器注册处使用以下命令获得。
docker pull containers.intersystems.com/intersystems/iris:2021.1.0.205.0
docker pull containers.intersystems.com/intersystems/irishealth:2021.1.0.205.0
关于可用镜像的完整列表,请参考ICR文档。
社区版的容器镜像也可以使用以下命令从Docker商店拉取。
docker pull store/intersystems/iris-community:2021.1.0.205.0
docker pull store/intersystems/iris-community-arm64:2021.1.0.205.0
docker pull store/intersystems/irishealth-community:2021.1.0.205.0
docker pull store/intersystems/irishealth-community-arm64:2021.1.0.205.0
另外,所有容器镜像的tarball版本都可以通过WRC的预览下载网站获得。
InterSystems IRIS Studio 2021.1是一个独立的IDE,用于Microsoft Windows,可以通过WRC的预览下载网站下载。它与InterSystems IRIS和IRIS for Health 2021.1及以下版本一起使用。InterSystems还支持 VSCode-ObjectScript 插件,用于将 Visual Studio Code 做为 InterSystems IRIS 开发IDE,该插件可用于Microsoft Windows、Linux和MacOS。
其他独立的InterSystems IRIS 2021.1组件,如ODBC驱动程序和Web网关,可从同一页面获得。
该预览版的构建号是 2021.1.0.205.0。
通过www.DeepL.com/Translator(免费版)翻译
公告
Claire Zheng · 四月 22, 2024
Hi 开发者们,
我们非常高兴地邀请大家参加新的 InterSystems 在线编程竞赛,此次编程大赛关注生成式AI(GenAI), 向量搜索(Vector Search )与机器学习(Machine Learning)!
🏆 InterSystems 编程大赛:Vector Search, GenAI 与 ML 🏆
时间:2024年4月22日 - 5月19日 (美国东部时间)
奖金池: $14,000
主题
使用InterSystems IRIS或InterSystems IRIS for Health或IRIS Cloud SQL开发任意使用生成式AI和/或机器学习的解决方案。
为了让此次竞赛变得更有趣,通过向量搜索(Vector Search)开发的最具创新性的项目作者将被邀请参加InterSystems 2024 全球峰会*(最多3人)!
*受邀开发者将获得全球峰会的免费门票和免费酒店住宿。
一般要求
应用程序或库必须功能齐全。该应用程序不应该是另一种语言中已有库的导入或直接接口(C++ 除外,您确实需要做大量工作来为 IRIS 创建接口)。不允许对现有应用程序或库进行复制粘贴。
有效应用程序: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
🌟 第六名-第十名 - $100
2. 社区提名奖(Community Nomination)- 获得总票数最多的应用程序:
🥇 第一名 - $1,000
🥈 第二名 - $750
🥉 第三名 - $500
🏅 第四名 - $300
🏅 第五名 - $200
如果几位参与者获得相同数量的选票,他们都将被视为获胜者,奖金由获胜者分享。
谁可以参加?
任何开发者社区的成员均可参加,InterSystems内部员工除外(InterSystems contractor员工可以参加)。
✅ 还没有账号?点击此处创建一个账号!
👥开发人员可以组队创建协作应用程序。一个团队允许 2 到 5 名开发人员。
请注意,要在您的README文件中标注您的团队成员——社区用户profile。
重要截止日期:
🛠 应用程序开发和注册阶段:
2024年4月22日 (美国东部时间 00:00):比赛开始。
2024年5月12日(美国东部时间 23:59):提交截止日期。
✅投票期限:
2024年5月13日(美国东部时间 00:00):投票开始。
2024年5月19日(美国东部时间 23:59):投票结束。
注意:在整个参赛期间(开发与投票期间),开发者可持续编辑、提升其应用。
资源助力:
✓ 文档
InterSystems IRIS Vector Search documentation
InterSystems IntegratedML documentation
Boosting Facial Recognition Vector Search
✓ 应用示例与资料:
IRIS Vector Search
llamaindex-iris
langchain-iris
workshop-vector-face
IRIS FHIR SQL Builder DBT IntegratedML
integratedml-demo-template
integratedml-demo - Embedded Python demo suite
iris-local-ml - Hugging Face and python usage with IRIS
iris-fine-tune-ml - training and tuning ml models with python and InterSystems IRIS
QuinielaML - soccer match predictions with IntegratedML
workshop-integratedml-csv
iris-rag-demo - RAG demo implementation
✓ 在线课程:
Using Vector Search for Generative AI
IntegratedML Interactive Intro Course
Hands-on with IntegratedML
✓ 视频:
Using Vector Search for Generative AI
Adding AI into Interoperability Production
Building Models with integratedML in the cloud
Generative AI Use Cases in Healthcare
✓ IRIS初学者:
Build a Server-Side Application with InterSystems IRIS
Learning Path for beginners
✓ ObjectScript Package Manager (IPM) 初学者:
How to Build, Test and Publish IPM Package with REST Application for InterSystems IRIS
Package First Development Approach with InterSystems IRIS and IPM
✓ 如何将您的APP提交给大赛:
首先您需要发布应用:如何在 Open Exchange 上发布应用程序
然后,您可以提交申请:如何提交比赛申请
需要帮忙?
加入 InterSystems Discord 服务器上的竞赛频道或在本文评论中留言告诉我们。
期待您的精彩项目——加入我们的编码马拉松吧!
❗️参加本次比赛即表示您同意此处列出的比赛条款。请在继续之前仔细阅读它们。 ❗️
公告
Claire Zheng · 五月 20, 2024
Hi开发者们,
我们很开心地向大家公布 InterSystems编程大赛:Vector Search, GenAI 与 ML 的获奖者!
我们收到了 15份参赛作品 🔥,感谢这些出色的参赛者!
专家提名奖
🥇第一名,5,000 美元, @Maria.Nesterenko, @KATSIARYNA.Shaustruk, @Maria.Gladkova 提交的应用程序BG-AppealAI
🥈第二名,3,000 美元, @José.Pereira, @henry, @Henrique 提交的应用程序 iris-medicopilot
🥉 第三名,1,500 美元, @Ikram.Shah3431 提交的应用程序 IRIS AI Studio
🏅第四名,750 美元, @Zacchaeus.Chok, @crystalcheong 提交的应用程序iris-health-coach
🏅第五名,500美元,@Julio.Momente, @davimassaru.teixeiramuta, @Lucas.Fernandes7309 提交的应用程序 companies-search
🌟 100 美元, HackUPC24_Klìnic ,由 @Tanguy.Vansnick 提交
🌟 100 美元, geo-vector-search ,由 @Robert.Cemper1003 提交
🌟 100 美元, AriticleSimilarity ,由 @xuanyou.du 提交
🌟 100 美元, iris-VectorLab ,由 @Muhammad.Waseem 提交
🌟 100 美元, DNA-similarity-and-classify ,由 @davimassaru.teixeiramuta, @Nicole.Raimundo 提交
社区提名奖
🥇 第一名,1,000 美元,@José.Pereira, @henry, @Henrique 提交的应用 iris-medicopilot
🥈 第二名,750 美元, @Maria.Nesterenko, @KATSIARYNA.Shaustruk, @Maria.Gladkova 提交的应用 BG-AppealAI
🥉 第三名,500 美元, @shan.yue 提交的应用 iris-image-vector-search
🏅 第四名,300 美元,@xuanyou.du 提交的应用 AriticleSimilarity
🏅 第五名,200 美元, @Julio.Momente, @davimassaru.teixeiramuta, @Lucas.Fernandes7309 提交的应用 companies-search
我们向所有参赛者和获奖者表示最诚挚的祝贺!
下次再一起享受乐趣吧;) 热烈祝贺我们两位中文社区参赛朋友 @xuanyou du @shan yue !!!
文章
YuCheng Hu · 八月 1, 2024
针对 InterSystems IRIS 数据库的一些基本概念。
InterSystems IRIS 是什么
InterSystems IRIS 是基于 Caché/M 语言开发的一个数据库,这个数据库被大量使用在医疗系统中,也是北美地区医疗系统病历和文件管理中默认使用的事实标准。
Caché/M 是什么
Caché/M 是 MUMPS 程序语言 开发的数据库,Caché/M 提供了代码接口,可以直接使用 Caché/M 对数据库来进行操作。
Caché 是一个法语单词,但是又非常容易和英语使用的 Cache 搞混,所以大部分时候使用的是 Caché/M 来表达。
M 表达的意思是 Mumps 程序语言,简称 M 语言,Caché 使用 M 语言构建了不少函数。
InterSystems IRIS 不是开源数据库
因为涉及到医疗系统数据的使用,所以 InterSystems IRIS 并不是一个开源的数据库,你可以使用下面的链接:Evaluate InterSystems Products 8 来下载评估版本。
本文就是根据下载的链接来进行 Windows 安装的教程。
上面的页面在下载之前,你需要进行注册,并且提供你的信息。
双击运行
当下载完成后,可以双击运行安装程序。
我们会看到下面的安装界面:
同意许可协议后,单击下一步继续安装。
配置实例名
我们在这里使用默认的就可以,通常使用的 IRIS。
选择安装目录
我们使用默认的安装目录就可以了。
选择安装类型
因为我是需要安装这个测试工具,并且不不仅仅安装客户端。
我们还需要在我们的本地计算机上跑 IRIS 实例,所以我们就进行了完全的安装,这个和 MySQL 的安装差不多,可以在本地安装 MySQL 的实例和开发工具。
安全配置
这个地方和 MySQL 也是一样的,需要初始化安装配置,因为我们是使用的本地开发环境,我们也不需要为我们的服务器配置用户名和密码,所以我们就使用最低配置就可以了。
安装校验
在进行具体安装之前,你可以可以对配置进行一些修改。
因为我们是评估版本,所以我们这里是不会有许可证的。
安装进程
这里需要耐心等待下,根据计算机的不同,通常安装进程在 5 分钟左右。
安装完成
当看到下图界面时候,安装就已经完成了。
启动
当安装完成后,数据库服务器的进程是自动启动的。Web 页面的地址为:http://localhost/iris/csp/sys/UtilHome.csp 6
在这个界面中,通常可以看到服务器的一些配置信息。
如果你能够看到上面的界面,就说明你的服务器已经安装完成并且正常启动了。
总结
根据我们第一次安装 InterSystems IRIS 的经验, InterSystems IRIS 数据库的安装和 Windows 下安装 MySQL 的方法类似。
不仅仅会安装数据库服务器进程,同时还会安装相关的开发工具和 Web 管理界面。
整体安装过程比较简单,也没有遇到什么重要的问题,安装后直接用就可以了。
问题
xiao wang · 十二月 4, 2024
使用dbeaver 连接数据库, 弹出[InterSystems IRIS JDBC] Communication link failure: License Violation错误. 可能的原因包括:
1. 用户名密码错误
2. 授权失效、过期或已被占满
文章
姚 鑫 · 十二月 22, 2024
# 第五十五章 File 输入 输出 - 与非 InterSystems IRIS 软件的交互
# 与非 InterSystems IRIS 软件的交互
在 `Windows` 系统上,在 `IRIS` 中打开顺序文件以进行 `“WL”` 写入访问通常会阻止非 `IRIS` 应用程序打开顺序文件进行写入访问。同样,非 `IRIS` 应用程序打开顺序文件进行写入访问通常会阻止 `IRIS` 进程并发 `“WL”` 写入访问。
但是,某些非 `IRIS` 应用程序,包括记事本和写字板应用程序,会打开一个文件,在共享模式下复制文件,然后立即关闭它。因此,` IRIS` 进程仍然可以以 `“WL”` 模式打开文件。当这些非 `IRIS` 应用程序之一尝试将其副本中的更改保存到原始文件,或尝试重新打开原始文件时,将发生错误。更严重的情况可能发生如下:如果这些非 `IRIS` 应用程序之一打开了一个文件,然后 `IRIS` 打开、修改和关闭文件,然后非 `` 应用程序保存对文件的更改,两个进程所做的更改都被保存,文件数据的完整性可能会受到损害。
在 `UNIX` 系统上,在 `IRIS` 中打开一个顺序文件以进行 `“WL”` 写访问通常不会影响非 `IRIS` 应用程序的行为。您必须使用锁来可靠地限制来自非 `IRIS` 应用程序的写入访问。
# 示例
以下示例打开文件 `“LUDWIG.B“` 的 `ID` 文件。因为它没有指定 `mode` 参数,所以默认情况下,它以读取访问权限和 `stream` 模式打开文件:
```java
OPEN "LUDWIG.B"
```
以下示例将打开一个新文件 `“LIST.FILE“`,具有写入权限,采用流格式。请注意,如果只包含括号通常包含的第一个参数,则不需要括号。
```java
OPEN "LIST.FILE":"WNS"
```
以下示例在当前目录中打开一个文件 `“CARDS”`,该文件具有读取和写入访问权限,以及 `80` 个字符的固定长度记录。
```java
OPEN "CARDS":("FRW":80)
```
以下示例在目录 `c:\usr\dir` 中打开流格式文件 `“STRNG”`,其中包含非默认终止符
```java
OPEN "c:\usr\dir\STRNG":("S"::$CHAR(0)_$CHAR(255))
```
公告
Claire Zheng · 三月 17, 2021
亲爱的社区开发者们,大家好!
我们很高兴地宣布,新一轮InterSystems开发者竞赛开启了!
🏆 InterSystems 编程大赛:开发者工具 🏆
请提交具有如下特性的应用程序——能够加速开发、贡献更多高质量代码、帮助用户测试、部署、支持或监控基于InterSystems IRIS的解决方案。
时间: 2021年3月29日- 4月25日
Total prize: $8,500
奖项设置
1. 专家提名奖(Experts Nomination)- 获奖者由我们特别挑选的专家团选出:
🥇 第一名 - $4,000
🥈 第二名 - $2,000
🥉 第三名 - $1,000
2. 社区提名奖(Community Nomination)- 获得总投票数最多的应用:
🥇 第一名 - $750
🥈 第二名 - $500
🥉 第三名 - $250
如果同时多位参赛者获得同样的票数,均被视为优胜者,将平分奖金
谁可以参加?
任何开发者社区的成员均可参加,InterSystems内部员工除外。还没有账号?现在来建一个!
👥 开发者可以组团 创建一个协作应用程序,组团限定人数为2-5人。
请注意,要在您的README文件中标注您的团队成员——社区用户profile.
参赛时间安排
🛠 3月29日 - 4月18日: 应用开发、提交阶段(在此期间,您可以持续编辑自己的项目)
✅ 4月19日 - 25日: 投票阶段
🎉 4月26日: 宣布优胜者!
主题
💡 InterSystems IRIS开发者工具 💡
此次竞赛中,我们希望您提交的应用程序能够改善IRIS开发者的使用体验,贡献更多qualitative code,并帮助用户测试、部署、支持或监控基于InterSystems IRIS的解决方案。
以下是参赛须知
有效应用程序:100%全新的Apps或已有的应用程序(但有显著提升)。所有参赛者/团队提交的应用程序只有经过我们团队的审核之后才会被批准参赛。
应用程序的类型应匹配: UI框架, IDE, 数据库管理, 监控, 部署工具等等
应用程序需要在 IRIS Community Edition 或 IRIS for Health Community Edition 或 IRIS Advanced Analytics Community Edition 上运行。
应用程序应该开源并在GitHub上发布。
应用程序的README文件需要包含安装步骤,并包含视频demo或/和应用程序如何运行的描述。
应用程序的源代码应该以UDL(而非XML)格式提交, 举例说明。
上述要求可能会按需修订。
资源助力
示例程序:
iris-rad-studio - RAD for UI
cmPurgeBackup - backup tool
errors-global-analytics - errors visualization
objectscript-openapi-definition - open API generator
Test Coverage Tool - test coverage helper
and many more.
我们建议您从以下模板开始:
objectscript-docker模板
rest-api-contest模板
native-api-contest模板
iris-fhir模板
iris-fullstack模板
iris-interoperability模板
iris-analytics模板
如何将您的APP提交给大赛:
如何在InterSystems Open Exchange上发布应用程序
如何把参赛APP提交给大赛
参赛评比
我们已制定全新投票规则,欢迎关注!
期待您的精彩提交!加入我们的编程马拉松,赢取大奖!
❗️ 点击此处,查看 官方竞赛条款解读.❗️
最新竞赛启动啦!欢迎大家积极参赛!✿✿ヽ(°▽°)ノ✿(*^▽^*) Pls invite your customers to join. Thx! @Li.Yan @Lu.Wang @Jun.Qian @Peng.Qiao @Louis.Lu @Hao.Ma @Lin.Zhu @Jieliang.Liu 今天就可以开始提交作品啦!
公告
Tingting Jiang · 六月 21, 2022
InterSystems正在招聘Technical Specialist(Implementation),欢迎您的自荐、推荐。请将简历投递至Belinda.Glasson@intersystems.com,愿您的加入给我们带来新的活力,我们也将为您提供广阔的发展空间!
(由于岗位职能要求,职位说明以英文形式发布。)
Location:Beijing
Job Title:Technical Specialist
Department:Implementation
Reporting to:Program Director
What We Do Matters
Why are we here? To ensure that our customers have reliable access to the right information at the right time—information they can share and use to draw insights, leading to better decisions.
Job Summary
The Technical Specialist will be required to perform custom development tasks and provide support for InterSystems TrakCare and related products.
The Technical Specialist will be responsible for site specific software support and development activities and to ensure that the software satisfies project specifications and is delivered and deployed in line with project requirements.
The Technical Specialist must be available to visit client sites (e.g. hospitals/laboratories) and implementation partners for technical support and/or to provide technical training. International travel may be required.
Key Responsibilities of the Role
Liaise with client or business analyst in regard to ongoing support or enhancement requests.
Liaise with other InterSystems support and implementation team members to analyze problems and specify, document, test, and manage deployment of fixes for product functions or custom enhancements.
Liaise with client or business analyst on any requests for new or modified reports.
Advise and assist TrakCare Project Managers during implementation.
Manage the resolution of any outstanding acceptance issues before and after project go-live.
Develop custom/site specific software such as JavaScript, user defined functions, interfaces, reports, extracts, data migration scripts and conversions.
Provide technical support for custom development i.e. JavaScript, user defined functions, interfaces, reports, extracts, data migration scripts and conversions.
Provide support on the data dictionary.
Provide advice and best practices to Clients for technical areas such as networks, configurations, architectures, custom development, etc.
Provide technical support for troubleshooting and performance analysis for reports, stored procedures, interfaces, conversions, data migration scripts and user defined functions.
Monitoring and responding to Technical Team calls on the TRC problem management system.
Support and testing of all TrakCare related utilities, e.g. patching tool, print service etc.
Production of training materials for technical courses such as system custom development or reporting.
Production of technical documentation such as reference materials, installation instructions, user guides, knowledge-base articles and how-tos.
Responsible for participating in on-site technical training if required.
Responsible for participating in on-site technical implementations if required.
Responsible for participating in the on call 24 hour roster service.
Assistance in researching new development or report writing using InterSystems technologies and 3rd party products.
Other duties may be directed by the Company from time to time.
Experience and Qualifications
Graduate IT qualifications highly desirable.
Experience in an application development/programming position or a position providing technical support including analysis of program code.
Knowledge of web orientated languages, including SQL, HTML, JavaScript.
Proficient and knowledgeable in one or more of the following programming languages or equivalent: Java, C#, C, C++, Pascal, Perl, Python, Ruby, JavaScript, VisualBasic, Cache' Object Script, M (MUMPS).
Experience with data analysis and database methodologies.
Experience with Microsoft Office.
Be able to design and write technical documents.
Well versed in Internet / Intranet concepts including web development and web servers.
Experienced in customer focused support or implementation.
Proven ability to lead and deliver results as required within specific time frames.
Good presentation and communication skills.
Ability to conduct training and develop training materials.
Ability to work within a team in a cross cultural environment.
Available for out of office hours work and willing to travel.
Keen to learn new technologies and new applications.
Education and Training
Degree in Computer Science or Information Technology
文章
Lilian Huang · 六月 14, 2022
这篇文章是上一篇文章的延续https://cn.community.intersystems.com/post/首次使用intersystems-iris-互操作性-一个production是什么?
在上一篇文章:https://cn.community.intersystems.com/post/首次使用intersystems-iris-互操作性-一个production是什么? 我们查验了什么是Production. 我们运行了示例代码,并在Visual Trace 页面查验了如何将流动消息的内容引入进Production中。
本文将回顾消息messages的概念和定义,和消息如何在系统集成所需的开发内容中用于组件之间发送和接收数据。
Production生产http://[https://cn.community.intersystems.com/post/首次使用intersystems-iris-互操作性-一个production是什么?
Message消息
Components组件
Business Services业务服务
Business Processes业务流程
Business Operations业务操作
在创建 一个Message消息之前,让我们回顾一个案例研究。
一家公司经营着一个购物网站,并且正在为了适应季节而改变显示的产品信息顺序。
然而,有些商品无论季节如何都卖得很好,而有些商品在想不到的时间卖的很好,这与当前要更改顺序的显示规则不符。<br />因此,我们研究了更改显示商品顺序规则的可能性是匹配当天的温度而不是季节。 这就使得在购买商品时测量当时的温度变的很有必要。
由于一个外部的Web API可以查看天气信息,我们计划在商品购买时收集当时的天气信息并在将其录入数据库。
从本案例中,您可以看到以下内容:
从外部收到的信息是“购买的产品名称和城市名称”
从IRIS发送到外部系统以请求处理的信息是“城市名称”。该过程的结果是输入进的城市 “天气信息”
通过本案例研究,我们将执行系统集成所需的组件,在此之前,要运行这些组件,需要发送和接收messages消息,这些消息是中继转发数据,要使用这些messages消息,需要定义消息类。
一个消息类的设计需要考虑应该发送和接收哪些信息(即,messages消息),以使组件运行。
在此过程中,我们需要以下两类信息:
A) 要获取天气信息时发送给外部Web API 的城市名称。
B) 记录在数据库中的天气信息和购买的产品名称。
A)中的城市名称和B)中的购买产品名称可以被包含进输入给IRIS的信息中。
B) 中的天气信息可以从外部Web API的响应信息中检索。
下面的图表就是考虑了从可用数据中发送和接收每个组件所需的信息。
黄色方框的第一行描述消息类别名,第二行之后说明为属性设置。
在示例代码中,我们有以下三种类型的messages消息:
Start.Request(请求消息)
它用于发送购买的产品名称和城市,以获取天气信息。
Start.Response(响应消息)
它们用于返回操作的结果(天气信息)。
Start.InsertRequest(请求信息)
用于发送天气信息和购买产品的名称,以便在数据库系统注册。
The messages are specified in a superclass, Request message, and Response message are derived from Ens.Request and Ens.Response, respectively.
The following is an example of the definition of the Request message Start.Request.
messages 消息在超类别中指定,请求消息和响应消息派生自Ens.Request and Ens.Response,分别作出回应。
以下是Start.Request的定义示例:
以下是响应消息的一个示例,
请求消息, 将请求输入和数据库注册的请求信息发送至如下:
(我们计划将天气信息属性设置在Start.Response中,获取天气信息后再返回。)
如果要在Studio中创建,您也可以使用Wizard创建消息。
参考)在Studio中创建响应类的步骤。
总结关键的点在于消息设计的思路“应该发送和接收哪些信息(i.e., messages)”以使组建运行。
一旦消息类实现后(驱动每个组件的信息是什么),下一步即是为组件创建类别。
原文请参考:https://community.intersystems.com/post/intersystems-iris-first-time-interoperability-message written by Mihoko Iijima
文章
Claire Zheng · 三月 29, 2022
卓越是什么?是思维方式,理念,还是结果? 在InterSystems,我们用行动来定义卓越。卓越意味着设立非常高的标准并超越它;卓越意味着不管是最小的姿态,还是最大的努力都同等重要;卓越意味着积极主动,即使是在客户还不清楚的情况下也努力去了解客户真正需要的东西,在客户提问之前就准备好相应的解决方案;卓越意味着着眼未来,分析潜在趋势,发现机会并有效协同,将一个个创意转化成为可行动的计划。
卓越是驱动我们与像您一样珍贵的合作伙伴一起支持起全世界最核心的关键应用。卓越是我们为何和如何能持续解决问题,成为客户可信赖的合作伙伴,以及成为支撑最重要的关键系统背后的力量。我们全力追求卓越,为客户更好地解决问题。但是不要仅仅向我们提出问题,我们也非常欢迎您的创意和目标,让我们一起来实现它们!