#InterSystems IRIS

0 关注者 · 921 帖子

InterSystems IRIS 是一个完整的数据平台
InterSystems IRIS 为您提供了捕获、共享、理解组织最宝贵的资产(数据)并采取相应行动所需的一切。
作为一个完整的平台,InterSystems IRIS 不需要集成多种开发技术。应用程序需要更少的代码、更少的系统资源和更少的维护。

文章 Michael Lei · 六月 1, 2022 1m read

InterSystems Production 监控是管理门户中的一个页面,用于显示当前运行的Production监控信息。我喜欢这个页面的样子,但这并不适合所有人。

2022年5月13日,我在开发者社区上看到这个帖子。

https://community.intersystems.com/post/creating-custom-monitoring-page

我同意马克的观点,Production监控很复杂。我想创建一个更漂亮干净的监控页面。

我开始着手制作一个利用类方法提供Production数据的 CSP(Cache Server Page)页面。

我与马克分享了我的第一次尝试。他根据自己的想法定制了这个页面。我喜欢他对页面的布局,使其在视觉上更有吸引力。我把他的设计整合到我的应用程序Production监控中。

我看到马克对业务服务的显示进行了过滤,只显示需要注意的服务。他在页面的底部添加了服务器的名称和它的镜像状态。

你可以在Open Exchange和当前的竞赛中找到我的Production监控器的应用。

https://openexchange.intersystems.com/package/production-monitor

0
0 162
文章 Michael Lei · 五月 30, 2022 1m read

我的团队在在红帽OpenShift容器平台上运行IRIS互操作性解决方案。我想在数据被存储在Mirror的数据pods中的情况下,测试运行中的webgateway pods和计算节点 pods能处理多少消息。

为了增加测试难度,我部署了多个feeder容器,并在每个feeder上安排了任务,以在同一时间发送大量的消息。为了进入下一阶段的测试,我希望有多种类型的测试文件可以按需使用。我创建了test-data应用程序,能够请求生成大量的多种类型的文件。

我早期的一些测试依赖于复制一个样本文件和处理它。这在一次只复制一份的情况下效果不错。为了获得同一样本文件的许多副本,MakeFile函数获取一个样本文件、保存其副本、并以唯一的时间戳进行重命名。MakeFiles函数有一个参数,用于确定要制作的文件数量。

我找到了一个样本文件,它的输入和输出都是带分隔符和固定符的。我把它包含在我的应用程序中,并添加了一个转换来操作测试数据文件。在这种情况下,我把测试文件中的识别ID号替换成在一个类方法中生成的识别ID号,并且是随着文件而递增的。

我想在处理后审查测试文件中的数据,我喜欢看到一系列有顺序的数字,而不是一系列随机数字。

具体代码下载:https://openexchange.intersystems.com/package/test-data

0
0 111
文章 Lilian Huang · 五月 26, 2022 2m read

#Open Exchange

您可能已经看到邀请分享您的 Open Exchange 应用程序的演示:Share a Demo of Your Open Exchange Application
它背后的服务——InterSystems Online Demo Server (ODS)——这不是什么新事物

作为奖励积分,我在 21 年 3 月的 InterSystems 开发者工具大赛:InterSystems Developer Tools Contest 中第一次看到它。
在后来的比赛中成为一个固定的奖励项目。实际是#24。
到今天,我们已经看到 OEX 中列出了 80 个可在 ODS 上使用的软件包:80 packages listed in OEX as available on ODS 

对我来说,开发人员的优势是显而易见的:

0
0 170
文章 Frank Ma · 五月 24, 2022 6m read

让我们假设我们已经将一个数据源连接到Adaptive Analytics,创建了一个项目并在那里添加了表。

现在我们来准备Adaptive Analytics的工作。首先,我们需要从表中选择数据,使其可用于未来的报告。要做到这一点,我们需要从表的列中创建维度。创建维度通常是为了将我们的数据分解成不同的类别,例如用户住在哪个城市,或者购买是在哪个月进行的。然而,没有什么可以阻止我们从数字数据中创建维度,这样我们就可以在Intersystems Reports Designer中对它们应用函数。

创建维度的工具位于界面的右侧,如下图所示。要创建一个新的维度,右击位于 "过滤器 "(Filter)行右侧的汉堡包按钮,选择 "创建维度 "(Create Dimension),如图所示。

将出现以下窗口:


在创建了一个维度后,你可以使其具有层次性。要做到这一点,在左边表格的尺寸上双击鼠标左键,进入层次结构编辑器。

通过点击层次结构旁边的三个点,我们可以在层次结构中创建一个新的维度。在菜单中,维度可以在层次结构中向上/向下移动。由于层次结构的存在,我们可以制作不同层次的数据细节。例如,我们可以指定有多少人从国家、地区、城市访问过该网站。

你可以使用维度来创建表之间的关系。要做到这一点,你需要使用鼠标左键拖动表的所需字段,并将其放到所需的高亮维度中。链接创建窗口将出现。点击保存,我们的连接就准备好了。

0
0 177
文章 Frank Ma · 五月 24, 2022 5m read

同事们,大家好

在这篇文章中,我将告诉你我们如何将报告生成时间从28分钟减少到1分钟。让我告诉你我们是如何实现这一目标的

我希望,如果有必要,你将能够为自己重现同样的结果。这篇文章里有一些有用的链接,所以要读到最后。

让我们开始吧。

报告

我们使用Adaptive Analytics和InterSystems Reports Server为一家公司做报告。以前,这个报告是以DeepSee的屏幕截图形式生成的。总的来说,这并不坏,但它花费了大量的时间,而且看起来不是很可读。该报告本身由12页组成,为PDF格式。

一般来说,数据不是太大,不会使报告的生成花费很多时间

源数据

然而,在撰写本文时,有一个表包含11,330,263行。不是那么关键,但它造成了延迟。即使是计算行数的查询也需要近30秒

最初,系统的交互方案是这样的:

Atscale创建了自己的数据缓存,这导致了性能的提高。

Logi使用自己的数据缓存,这稍微加快了报告的开发速度。

但总的来说,这仍然导致了报告在28分钟内形成的事实。

鉴于报告只有12页,这个速度还是很慢的。

我们甚至故意添加了新的标签,并将报告中的小部件复制到那里,以便在开发或调试时不需要生成整个报告。也许这就是在Logi上开发时的一种日常技巧,或者说是一种正常的开发方法。总的来说,我们在工作中使用了它

0
0 221
文章 Michael Lei · 五月 23, 2022 1m read

大家是不是经常遇到以下情况:

  • 系统有 bug 但是无法在本地复现
  • 你需要在受影响的实例中运行几行代码
  • 能完整访问系统管理门户,但是没有终端或者管理控制台, 也不能访问 Studio, Atelier 或者 VSCode
  • 你要怎么运行你的几行代码来测试???
0
0 242
文章 Michael Lei · 五月 20, 2022 29m read

本文向你推荐一些使用IRIS创建REST API应用程序的模式。

注:所有源代码在https://github.com/yurimarx/movie

类模式到REST应用

首先,请看我对创建IRIS API应用程序所需类的建议:

  • IRISRESTApplication: CSP.REST 类会作为中央控制者来控制业务服务处理的所有REST请求和响应.
  • BusinessService: 具有业务主题的类实现。它可以使用一个或多个持久化域类来持久化和查询业务主题要求的数据。
  • Persistent Domain: 管理SQL表的持久化类.

环境准备

  • VSCode;
  • Docker Desktop;
  • InterSystems ObjectScript Extension Pack.

示例应用的类图

我将创建一个电影目录应用程序来演示文章中建议的模式:

Note: 感谢IRIS API 模版应用 https://openexchange.intersystems.com/package/iris-rest-api-template . 这是本教程的基础.

搭建样本应用

1. 在你的文件系统中创建一个movie文件夹。在一个新的VSCode窗口中打开这个文件夹。

2. 在movie 文件夹中创建 Dockerfile 文件来在Docker container实例中运行IRIS社区版. 内容:

0
0 275
公告 Michael Lei · 五月 18, 2022

所有人现在可以在 https://evaluation.intersystems.com下载IRIS和IRIS for Health社区和企业版 。

客户以及潜在客户都可以尝试我们最新最强的功能,包括一些还没有发布的新特性。

如何访问:

对于潜在客户,只要选择名称中带有"(预览)"的选项,就可以下载预览软件。

对于客户和InterSystems员工--只需拨动预览复选框,这将包括可用版本菜单下拉中的预览软件:

更多资源:

https://community.intersystems.com/post/introducing-evaluation-service-community-edition-downloads  

https://community.intersystems.com/post/intersystems-evaluation-service
 

有任何问题欢迎拨打 4006019890 或咨询您的ISC客户经理。

0
0 416
文章 Michael Lei · 五月 17, 2022 3m read

在这篇文章中,我们将使用docker和 参数配置文件模版 这一新特性来运行IRIS集群且轻松配置好。

在 UNIX® 和 Linux 上,您可以使用声明式参数配置合并文件来修改默认的 iris.cpf。合并文件是一个部分 CPF,在实例启动时为任何数量的参数设置所需的值。CPF 合并操作对每个实例只起一次作用。

我们的集群架构非常简单,它将由一个主节点(Node1)和两个数据节点(检查所有可用角色)组成。不幸的是,docker-compose不能部署到几个服务器上(尽管它可以部署到远程主机上),所以这对本地开发分片的数据模型、测试等很有用。如果是生产的InterSystems IRIS集群部署,你应该使用ICM云管理器IKO K8S调度器

0
0 176
公告 Jeff Liu · 五月 15, 2022

嗨,开发者们!  

看看你如何用PyODBC和Native API在Python中开发并连接到InterSystems IRIS®数据平台。 

⏯ Using Python to Connect to InterSystems IRIS

<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="315" scrolling="no" src="//player.bilibili.com/player.html?aid=684120686&bvid=BV1zU4y1m7h7&cid=718939082&page=1" width="560"></iframe>

0
0 211
文章 Michael Lei · 五月 15, 2022 7m read

InterSystems IRIS对加密、解密和哈希操作有很好的支持。在%SYSTEM.Encryption(https://docs.intersystems.com/iris20212/csp/documatic/%25CSP.Documatic…)类中,有市场上主要算法的类方法。


IRIS算法和加密/解密类型

正如你所看到的,这些操作是基于密钥的,包括3个类:

  • 对称密钥: 进行加密和解密操作的部分共享同一个秘密密钥。
  • 非对称密钥: 进行加密和解密操作的部分共享相同的秘密密钥进行加密。然而,对于解密,每个部分都有一个私人密钥。这个密钥不能与其他人共享,因为它是一个身份证明。
  • 哈希: 当你不需要解密,而只需要加密时使用。当涉及到存储用户密码时,这是一种常见的方法。

对称和非对称加密的区别

  • 对称加密使用一个单一的密钥,需要在需要接收信息的人之间共享,而非对称加密在通信时使用一对公共密钥和一个私人密钥来加密和解密信息。
  • 对称加密是比较老的技术,而非对称加密则相对较新。
  • 非对称加密的出现是为了补充对称加密模式中需要共享密钥的固有问题,通过使用一对公共-私有密钥来消除共享密钥的需要。
  • 非对称加密比对称加密花费的时间相对较多。
0
0 557
文章 Michael Lei · 五月 15, 2022 1m read

有一个简单的新方法可以在Windows和Mac上的InterSystems IRIS 2019.1(和2018.1.2)的SSL/TLS配置中添加证书授权(CA)证书。  你可以通过输入以下内容要求IRIS使用操作系统的证书存储。

%OSCertificateStore

在 "包含受信任证书颁发机构X.509证书的文件 "栏中输入:%OSCertificateStore。   这里有一张如何在门户中这样做的图片:

这里有一个描述这个问题的文档链接。  它在 "包含受信任的证书颁发机构证书的文件 "的选项列表中。

这就是你需要做的所有事情!  现在,这个配置将接受由操作系统证书库中列出的任何CA颁发的证书。

0
0 311
文章 Qiao Peng · 五月 15, 2022 9m read

     在软件开发和业务集成中,规则无处不在:会员折扣的计算规则、根据消息类型和内容将其路由到不同目标系统的路由规则。还有一个规则发挥重要作用的地方-  辅助决策规则,例如临床知识库和医疗质量指标规则。

规则经常需要随业务调整和知识积累进行调整,而规则的调整是业务和行业专家定的。如果规则是以代码硬编码的,这些调整需要程序员改动,一来不直观、需要业务专家与程序员大量的沟通成本,二来硬编码改动会对应用伤筋动骨,甚至带来风险,三来没法控制新规则生效的时间 – 总不能让程序员在新规则生效的那一刻去编译和部署吧。

InterSystems规则引擎可以帮助我们解决这些问题,于构建、执行和记录消息路由规则和普通的业务规则,带给应用和集成方案充分的灵活性和可用性。甚至业务专家和临床信息学家都可以通过低代码的、图形化的规则编辑器修改规则和指定规则生效和失效时间。

InterSystems规则引擎是InterSystems IRIS数据平台和Health Connect与Ensemble集成平台的组件。创建的规则可以被单独调用,也可以被业务流程调用。

本篇介绍规则的如何使用InterSystems规则编辑器创建规则和规则引擎执行规则的逻辑。

1. 规则基本概念

    在设计规则前,先了解一下规则的基本概念。

1.1 上下文

0
0 499
公告 Michael Lei · 五月 11, 2022

InterSystems Kubernetes Operation(IKO)3.3版现已通过WRC下载页面和InterSystems容器注册中心提供。
IKO通过提供一个易于使用的irisCluster资源定义,简化了在Kubernetes中使用InterSystems IRIS或InterSystems IRIS for Health的工作。完整的功能清单见IKO文档,包括轻松的分片、镜像和ECP的配置。

IKO 3.3 亮点:

  • 支持InterSystems IRIS和InterSystems IRIS for Health 2021.2 以及 2022.1版本
  • 支持 Kuberentes 1.21
  • 将常见的系统警报和监控(SAM)配置作为irisCluster的一部分进行部署
  • InterSystems API Manager(IAM)现在也可以作为 irisCluster的一部分进行部署和管理
  • 自动标记Mirror对的活跃端,因此服务可以始终指向激活的镜像成员
0
0 125
公告 Jingwei Wang · 五月 11, 2022

 

各位开发者们好,:

很高兴跟大家宣布,畅销书作家和技术专家杰弗里·摩尔将在6月22日InterSystems的全球峰会上做专题演讲。以下是他的简历:

杰弗里·摩尔是一名咨询专家,他最近的咨询业务包括Salesforce、微软、Autodesk、F5Networks、Gainsight、谷歌和Splunk。 他一生的工作都集中在颠覆性创新的市场动态上。他的第一本书《跨越鸿沟》是关于创业公司在从早期采用者过渡到主流客户时所面临的挑战,该书已售出超过一百万册。摩尔最近的作品《Zone to Win》探讨了大型企业在拥抱颠覆性创新时所面临的挑战。  摩尔每年发表50至80场演讲,最近他重点关注企业IT投资从记录系统向交互系统的转变。 

我将发布更多关于我们演讲者的信息。今年的全球峰会,演讲阵容很强大。

另外,你现在可以在我们的网站上建立你的会议和时间表。如果你还没有注册,可以点击马上注册. 

0
0 124
文章 Lilian Huang · 五月 10, 2022 2m read

InterSystems IRIS 2021.1 的发布引入了自适应分析(Adaptive Analytics)的介绍。 为了开始使用和熟悉 InterSystems IRIS BI cube示例,我们创建了一个用于自适应分析的 HoleFoods 应用程序示例模版。 此示例应用程序可在 Open Exchange 上获得, 还有一个学习服务课程learning services course 可用于了解有关自适应分析的更多信息。

0
0 176
文章 Jingwei Wang · 五月 4, 2022 8m read

你是否尝试过InterSystems IRIS IntegratedML学习平台?在这个平台中,你可以在再入院数据集上训练和测试一个模型,并能够预测一个病人何时会再入院,或计算其再入院的概率。

你不需要在你的系统上进行任何安装就可以尝试,你所要做的就是启动一个虚拟实验室环境(Zeppelin),然后玩一玩!

在这篇文章中,我们将利用这个实验室向你简要介绍IntegratedML,向你介绍要处理的问题,如何使用IntegratedML来创建一个再入院预测模型,以及如何分析其性能指标的一些见解。

什么是IntegratedML?

来源: https://github.com/intersystems-community/integratedml-demo-template

在开始本教程之前,让我们简单谈谈IRIS IntegratedML。这个工具使你能够直接在SQL语句中执行机器学习(ML)任务,抽象出复杂过程的实现,例如,选择哪些列和ML算法是对目标列进行分类或回归的最佳选择。

IntegratedML的另一个伟大功能是易于部署。一旦你的模型被训练并表现良好,你只需要运行SQL语句,以便让你的模型投入生产。

0
0 184
文章 Jingwei Wang · 五月 4, 2022 5m read

InterSystems IRIS IntegratedML功能用于使用AutoML技术获得机器学习的预测结果和概率。AutoML是一种机器学习技术,用于选择更好的机器学习算法/模型基于已有数据(用于训练AutoML模型的数据)来预测状态、数字和结果。你不需要一个数据科学家,因为AutoML会测试最常见的机器学习算法,并根据分析的数据特征选择更好的算法给你。在这篇文章中可以看到更多管乐IntegratedML的信息。

InterSystems IRIS有一个内置的AutoML引擎,但也允许你使用H2O和DataRobot。在这篇文章中,我将向你展示使用InterSystems AutoML引擎的每个步骤。

第1步 - 下载样例应用程序做练习

1. 转到 https://openexchange.intersystems.com/package/Health-Dataset

2. Clone/git 将 Repo拉到任何本地目录中

$ git clone https://github.com/yurimarx/automl-heart.git

3. 在同一个目录中打开一个Docker终端并运行

$ docker-compose build

4. 运行IRIS容器

$ docker-compose up -d

第2步--了解业务场景和可用数据

业务场景是利用过去的数据预测心脏疾病,数据如下:

0
0 122
公告 Michael Lei · 五月 3, 2022

nterSystems很高兴地宣布发布系统警报和监控(SAM)1.1版。

什么是SAM ?

SAM将IRIS基于标准的监控API日志监控与熟悉的行业标准工具如Grafana和Prometheus结合起来,为IRIS集群创建一个基本的监控和告警解决方案。

关于SAM的更多信息,请参阅《系统告警和监控指南》

SAM 1.1有什么新的内容?

你会注意到Grafana仪表盘图形的性能改进,特别是在处理大型数据集时。  如果你从SAM 1.0升级,你要确保你有足够的磁盘空间,因为SAM 1.1增加了额外的数据索引。

有关升级到SAM 1.1的更多信息,请参见发行说明

SAM 主页

SAM 实例详细页面

0
0 353
文章 Michael Lei · 五月 3, 2022 6m read

Hi 社区,

想象一下,使您的应用程序能够阅读文本?现在有了IRIS的新功能--嵌入式Python,这就成为可能。有了这个新功能,IRIS可以原生地运行任何开源或商业的Python库。gTTS(https://pypi.org/project/gTTS/)是一个免费的库,使用谷歌翻译服务将文本转换成音频。

怎么做

只要通过参数传递文本,gTTS就会返回一个将文本转换为音频的MP3文件。也就是说,你的应用程序可以播放任何文本的音频! 请看如何做到这一点。

1. 进入https://openexchange.intersystems.com/package/IRIS-Text2Audio,点击下载按钮。

2. 克隆/git pull repo到任何本地目录中

$ git clone https://github.com/yurimarx/iris-tts.git

3. 在这个目录中打开一个Docker终端,运行:

$ docker-compose build

4. 运行IRIS container:

$ docker-compose up -d 

5. 到Postman (或其他类似的 REST 客户端) 来配置请求,如图所示:

0
0 233
文章 Michael Lei · 五月 3, 2022 6m read

所有源代码均在: https://github.com/antonum/ha-iris-k8s 

在上一篇文章中,我们讨论了如何在k8s集群上建立具有高可用性的IRIS,基于分布式存储,而不是传统的镜像。作为一个例子,那篇文章使用了Azure AKS集群。在这一篇中,我们将继续探讨k8s上的高可用配置。这一次,基于Amazon EKS(AWS管理的Kubernetes服务),并将包括一个基于Kubernetes 快照进行数据库备份和恢复的选项。

安装

开始干活. 首先需要一个AWS账户,安装 AWS CLI,kubectl 和 eksctl 工具. 要创建新的集群,请运行以下命令:

eksctl create cluster \
--name my-cluster \
--node-type m5.2xlarge \
--nodes 3 \
--node-volume-size 500 \
--region us-east-1

这个命令需要大约15分钟,部署EKS集群并使其成为你的kubectl工具的默认集群。你可以通过运行以下代码来验证你的部署:

0
0 635
公告 Michael Lei · 四月 29, 2022

年度InterSystems IRIS开发者大赛来了,我们特别兴奋能够邀请大家参加我们今年的年度大奖赛,利用InterSystems IRIS数据平台创建开源解决方案!

🏆 InterSystems2022年度编程大奖赛 🏆

时间: 2021年5月9日 - 6月5日(美东时间)

总奖金超过$22,000美金,比去年提高37%!!! 


0
0 273
公告 Michael Lei · 四月 29, 2022

我们很高兴向您介绍我们新的反馈门户网站--InterSystems Ideas!

我们的目标是改善我们的反馈机制,使您可以建议我们的产品如何发展以满足您的业务挑战。在开发者社区提问是与您的同行就特定的代码问题进行互动的好方法,而我们的客户支持网站WRC则一如既往地是解决实时问题的方法。

这个新的门户是为了获得您更高层次的想法。不是关于今天如何,更多是关于未来,您想看到我们的产品在未来如何更好地工作。您可以发布您自己的反馈,也可以对其他人提供的反馈进行评论/投票。InterSystems将查看你提交的任何反馈,直接回应你的反馈,并且如果您的建议有了任何进展,我们将及时更新状态。

所以,欢迎提出您的想法,为了我们共同的未来!谢谢!

0
0 102
文章 Johnny Wang · 四月 27, 2022 3m read

    有时,我们在给客户提供技术支持时会得到重复的问题,某事或某人正在使用比预期更多的licenses,我们需要找到什么。

    我们经过分析后认为主要有两种原因。 第一种原因是在我们意识到,当应用程序无法运行或尝试通过终端连接并获得“lovely”时,许可证实际已用尽;

    <licenses限制超出> 消息:

    第二种情况是最终用户抱怨他们有时无法使用该应用程序,而当问题发生时我们发现已经太晚了。 在这些情况下,我们通常会在 messages.log 中看到以下“License Limit exceeded xxxx times”消息:

    我们要及时发现问题:

    对于第一种情况,我们看到问题正在发生,我们有一些替代方案:

  •     如果我们可以登录到系统管理门户,请转到licenses部分并检查什么在使用什么。
  •     使用 -B 参数通过终端连接(常规连接是不可能的,因为所有licenses都已使用)。 -B 参数用于在禁用登录或licenses用尽时进行管理员紧急登录。
  •     连接后,运行 License DumpLocalAll 方法以转储所有licenses并检查每个插槽的消耗量。 该文件将包含如下内容:
0
0 272