文章
· 一月 4, 2023 阅读大约需 4 分钟
IRIS, Caché监控指导 - 介绍

本文章是一个系列,主要目的是介绍给IRIS,Caché的终端用户如何方便的监控您的系统。

InterSystems系统的监控很难吗?需要学习很多技术吗? 我的答案是还好。

关于Caché和IRIS监控,无论是那部分内容,在InterSystems的在线文档或者开发者论坛,其实都能找到相关的说明和方案。但问题是太多,太杂乱,没有一个“操作维护手册”的东西。结果是,如果您是一个新手的InterSystems产品的维护工程师或者管理员,您要花很多的时间在大量的文档里找答案。

还有一个问题是文档中很多章节的内容又太深,包含了一些开发人员才关心的内容,这是Caché或者IRIS的特性造成的,因为它首先是一个开发平台。结果是,对于管理员,很多文档的很不友好。

因此,我要写的这个文章的的目的是这样的:

  • 简单。只介绍管理维护人员需要的内容。只介绍和监控相关的内容。其他比如备份恢复,扩容,修改配置等等基本不涉及。

  • 易学。文章的期待读者是系统管理员,因此不需要您有编程能力或者InterSystems编程语言的基础。我系统对您的每个日常工作和关注的主题,给出最容易实现的操作步骤。

1 0
0 583
文章
· 十一月 26, 2022 阅读大约需 4 分钟
ZPM介绍(3)

建立私服(Porxy-Registry)

这张图解释了您的私服是怎么工作的, 整篇文章在这里: Proxy-Registry

搭建私服

您需要有一台自己的的服务器, 在上面安装IRIS, zpm, 然后用zpm去下载另一个软件包“zpm-registry"。象这样

2 0
0 148
文章
· 十一月 22, 2022 阅读大约需 3 分钟
ObjectScript的命名规范

命名规范,英文叫"name convention", 是对写代码取名字的一些”共识“。也就是说, 你可以不遵守,但大家都选择了遵守,照者一个规范来。为什么呢?因为有社区,大家要共享代码, 你不照着规矩来, 别人会鄙视你, 懒的用你的代码。

ObjectScript以前没什么社区,大家各写各的, 使用ObjectScript的大公司也没谁把自己的代码拿出来共享。因此,个人开发者基本就是参考官方InterSystems的命名规范。举个例子, 比如以下的代码:

Class Ens.Util.ResponseBodyMethods
{
   property NoFailWhileDisconnected as %Boolean;
   property FirstName as %String;
   parameter SETTINGS = "ReplyCodeActions";

   method OnKeepalive(pAdapterStatus As %Status) as %String
   {
      return "okay"
   }
}

我来简单总结一下:

1 2
0 229
文章
· 十一月 20, 2022 阅读大约需 7 分钟
ZPM介绍(2)

发布您自己的软件

首先:要发布您的软件,您要支持这个”命名规范。其中和zmp最相关的是包名和l类名的设计,你要定义成这样:

company.project.subpackage.TheClass.cls

如果您的Package Name定义是: Company.Project, 有大写字母,对不起,是无法用zpm打包的。

这个链接给了最简单的例子,但还不详细,我来总结一下:

发布您的软件前,有几件事情要了解:

  1. zpm的注册中心并不存代码,存的只是一个到您代码的链接。因此,您得找地方放您的代码。当前最常用的是github。

  2. 文件目录的结构

2 2
0 216
文章
· 十一月 14, 2022 阅读大约需 7 分钟
ZPM介绍(1)

ZPM介绍

有Developer听闻了InterSystems的包管理器ZPM, 希望我能介绍一下。正好刚刚看到一个开发者论坛的新闻: Open Exchange ZPM is now InterSystems Package Manager , 觉得更有必要了。

zpm是什么

简单说:zpm, 全称InterSystems ObjectScript Package Manager, 是一个包管理器, 开发者是Nikolay Soloviev和Dmitry Maslennikov。它先是在开发者社区里得到认可,以至于InterSystems开发者社区最近的一些比赛,要求参赛作品用zpm打包。然后就有了上面的链接的内容:InterSystems决定把它做为自己官方的打包工具, 将它改名字叫IPM(InterSystems Package Manager),同时保持它的开源状况不变。

3 1
0 234
文章
· 九月 17, 2022 阅读大约需 10 分钟
IRIS镜像配置(3)

把数据库添加进Mirror

以往的经验里, 用户在把数据库添加到镜像时遇到过各种各样的问题,以致必须请求外部帮助才能解决。除了步骤本身比较繁琐,很大的原因是阅读文档不细致。还有一个,就是对英文水平不太高的用户,有些英文句式并不是很好懂,比如说,文档中有这一句其实非常关键:

If you attempt to add a new database to the mirror on a nonprimary member that was not created as a mirrored database on the primary, but rather added to the mirror after it was created, an error message notes this and you cannot complete the operation.

我用最好的翻译器DeepL翻译后的中文是:

如果你试图在一个非主要成员上向镜像添加一个新的数据库,而这个数据库并不是在主要成员上作为镜像数据库创建的,而是在创建后添加到镜像中的,那么就会出现错误信息提示,你无法完成操作。

0 0
0 276
文章
· 九月 17, 2022 阅读大约需 8 分钟
IRIS的镜像配置(2)

Mirror的配置

这里详细介绍了主成员(Primary)和备用成员(Backup)的设置过程。 虽然也包括了异步成员配置的章节,其实我没有真的操作,我认为应该没有特别需要注意的。

配置Mirror应该有这么几步:

1. 启动Mirror服务

进入系统管理界面,选择系统管理>配置>镜像设置>启动镜像服务,勾选服务已启动, 保存退出。这是可以看到菜单栏的创建镜像条目已经从灰色变成正常的白色,表示您已经可以创建镜像。

仅仅是打开服务,并没有修改Journal文件

2. 创建镜像,添加主成员

在管理界面进入“系统>配置>镜像设置>创建镜像”,从这里开始镜像的创建工作。创建镜像的同时,这一步还包括把本机做为第一个镜像成员加入到镜像。第一个镜像成员被加入后会成为主镜像成员, 菜单里的英文是“Primary Failover Member"。

0 0
0 270
文章
· 九月 17, 2022 阅读大约需 7 分钟
IRIS的镜像配置(1)

因为篇幅太长, 我把它分为3篇贴在社区

配置前的准备

配置Mirror前要准备三件事儿:

  1. 规划网络连接。
  2. 在所有的服务器中启动ISCAgent服务。
  3. 准备服务器的SSL/TLS证书。可选, 但非常推荐。

我假设您在动手前一定已经对Mirror的原理和架构已经不陌生了,对镜像成员,DR(灾备)成员, Arbiter, ISCAgent等术语已经自动切换的概念有大概的认识。如果不是这样,请先阅读在线文档,或者这篇文章。

规划网络连接

Mirror应该配置两个网段:一个用于IRIS和外部的通信;另一个用于两个Mirror成员间的内部通信,也就是数据的同步。 尽管不是必须的,但Mirror作为一个高可用方案,为了保证服务器之间的内部通信不受和外部连接的干扰,把内部通信放在单独的网段是通常的做法,尤其是在生产环境。

0 0
0 269
文章
· 八月 10, 2022 阅读大约需 4 分钟
关于如何管理和减少Ensemble系占用空间的一些策略

我们中的许多人在几年前安装了Ensemble,估计空间是足够的,但现在却遇到了意外--硬盘已经满了!我们可以看看我们可以采取哪些措施来调查发生了什么,然后如何减少所占用的空间。 让我们来看看我们可以采取哪些措施来调查发生了什么,然后如何减少占用的空间。

是什么占用了Ensemble的空间?
让我们来看看在Ensemble中占用空间的东西的清单。

  1. Ensemble安装。
  2. 备份文件
  3. 日志文件
  4. Ensemble数据库。
  5. 流文件。
  6. 自定义应用程序文件

让我们逐一来看看这些文件。

Ensemble安装占用的空间

这是一个相对较小的空间,取决于版本,大约为1GB。如果你想减少它,你有可能删除一些开发包或第三方连接驱动ODBC/JDBC。你可以通过改变安装选项来做到这一点,见Ensemble安装手册。

0 0
0 366
文章
· 四月 19, 2022 阅读大约需 26 分钟
Linux系统IRIS安装总结

本文档只是给您一个大致的概念,方便您了解IRIS安装的方方面面。并非官方安装手册或者安装建议。生产环境的安装请仔细研究并参照IRIS官方的安装文档

操作系统的选择

IRIS支持多种Linux系统。详细的列表请参见各个版本的支持列表,比如这个是最新的2021IRIS的支持列表。需要注意的是, CentOS只支持作为测试系统, 并不支持生产系统的安装。

官方文档是以Redhat为主介绍的IRIS安装, 这是IRIS在生产环境中最常用的Linux系统之一。另一个Ubantu, InterSystems提供的docker版本是安装在Ubantu上的。

1 0
1 866
文章
· 十一月 17, 2021 阅读大约需 5 分钟
开发Ensemble REST服务

REF: https://docs.intersystems.com/healthconnectlatest/csp/docbook/Doc.View.c...

REF: https://docs.intersystems.com/healthconnectlatest/csp/docbook/DocBook.UI...

开发REST服务有两个方式, 一个是生生的写代码, 定义接口的标准,被称为"Manually Coding"。第2个方式是目前越来越流行的"Sepcification-first",也就是使用描述性的语言定义接口规范,然后通过这个规范生成接口代码。第2种方式更快捷,但这里我还是从第一种介绍起,对理解里面的代码层次更容易一些,而这是调试一个接口必须的。

从代码开发REST服务

0 0
1 250

本文档解释了如何使用 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 技术概要》)。

0 0
0 124
文章
· 十一月 2, 2021 阅读大约需 16 分钟
IRIS 2021 技术文档 First Look 28 - InterSystems 公钥基础设施 (PKI)

本文档介绍了 InterSystems 公钥基础设施(PKI),它可以在开发组织的安全策略中发挥重要作用。它提供有关公钥加密、证书颁发机构和 PKI 的信息。然后介绍一些与使用 InterSystems PKI 相关的初始任务。完成本指南后,您将有能力创建一个证书颁发机构 (CA),然后向 CA 客户端请求并接收证书。
虽然 InterSystems PKI 不用于生产系统,但您可以用它来熟悉 PKI 工具和安全基础设施。作为设计和探索过程的一部分,这对于创建全面的安全方法特别有帮助。
本指南使用 InterSystems IRIS®数据平台的默认设置,这使您能够熟悉 PKI 的基本原理,而不必处理其他在执行实现时很重要的细节问题。有关数据库加密的完整文档,请参见 The InterSystems Public Key Infrastructure(《 InterSystems 公钥基础设施》)。
要浏览所有的技术概要(First Look),包括可以在 InterSystems IRIS 免费的评估实例上执行的那些,请参见 InterSystems First Looks(《InterSystems 技术概要》)。

0 0
0 176

本文档将向您介绍 InterSystems IRIS®数据平台如何通过使用应用服务器进行分布式缓存,利用企业缓存协议(Enterprise Cache Protocol,ECP)来扩展用户容量(User Volume)。
本指南介绍了如何使用分布式缓存架构进行扩展,并介绍了与部署 InterSystems IRIS 分布式缓存集群相关的一些初始任务。一旦您完成了本指南,您将对分布式缓存集群的工作原理和设置方法有一个基本的了解。
这些活动被设计成只使用默认的设置和功能,这样您就可以熟悉该功能的基本原理,而不必处理细节(尽管这些细节在执行实现时可能很重要)。有关使用 InterSystems IRIS 分布式缓存和 ECP 的完整文档,请参见本指南末尾 " For More Information (更多信息)" 部分中的参考资料列表。
要浏览所有的技术概要(First Look),包括可以在 InterSystems IRIS 免费的评估实例上执行的那些,请参见 InterSystems First Looks(《InterSystems 技术概要》)。

0 0
0 259

本文档将向您展示如何开发 REST 接口。您可以将这些 REST 接口与 UI 工具(如 Angular)一起使用,以提供对数据库和互操作性产品的访问。您也可以使用它们支持外部系统访问 InterSystems IRIS®数据平台应用程序。
要浏览所有的技术概要(First Look),包括可以在 InterSystems IRIS 免费的评估实例上执行的那些,请参见 InterSystems First Looks(《InterSystems 技术概要》)。

0 0
0 232
文章
· 十一月 2, 2021 阅读大约需 7 分钟
IRIS 2021 技术文档 First Look 13 - InterSystems IRIS Native API for Java

本文档解释了如何使用 InterSystems IRIS Native 功能从 Java 应用程序中访问 InterSystems IRIS®数据平台的 globals。在本文中,您将首先连接到 InterSystems IRIS。然后您将在 InterSystems IRIS 中设置和检索一个 global 节点的值,并在另一个 global 节点上进行迭代。您还将调用 InterSystems IRIS 类方法。所有这些活动都将在 Java 应用程序中执行。
为了让您体验 IRIS Native,而又不陷入细节困境,本次探索特意设计得很简单。这些活动被设计成只使用默认设置和功能,这样您就可以熟悉功能的基本原理,而不必处理那些离题或过于复杂的细节。当您把 IRIS Native 引入您的生产系统时,您可能需要做一些不同的事情。请确保不要把这种对 IRIS Native 的探索与真实的情况相混淆! 本文档末尾提供的参考资料将使您对在生产中使用 IRIS Native 的情况有一个很好的了解。
要浏览所有的技术概要(First Look),包括可以在 InterSystems IRIS 免费的评估实例上执行的那些,请参见 InterSystems First Looks(《InterSystems 技术概要》)。

0 0
0 202

技术概要: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,请参见本文档末尾的 "了解更多信息" 一节中的链接,以获得更多信息。

0 0
0 348
文章
· 九月 22, 2021 阅读大约需 22 分钟
IRIS 2021 技术文档 First Look 3 - 连接一个IDE

InterSystems IRIS 基础:连接一个 IDE

本文档告诉您如何快速连接您的集成开发环境(IDE),用于 ObjectScript、Java、.NET、Python 或 JavaScript/Node.js 的集成开发环境连接到 InterSystems IRIS® 的一个实例,并使用从 GitHub 下载的模板文件验证您是否已经成功连接。
此外,接下来的两节还包括以下内容:
• 部署 InterSystems IRIS
列出用于部署 InterSystems IRIS 的已授权和免费评估实例的选项。如果您还没有一个可以使用的实例,请查看本节。
• InterSystems IRIS 连接信息
详细介绍了将 IDE 连接到已授权或免费的 InterSystems IRIS 实例,以及以其他方式与之进行交互所需的信息 ,并解释了如何获得实例的信息。无论您想用哪个 IDE 连接到 InterSystems IRIS,都要查看涉及您所使用的实例类型的部分。

1 部署 InterSystems IRIS
本节涵盖了已授权的实例和免费的评估实例。

0 0
0 456
文章
· 六月 4, 2021 阅读大约需 3 分钟
JSON in IRIS (1) - Dynamic Object

之所以称为Dynamic,是说这个对象在代码编译的时候可以不定义对象的属性和结构,在runtime时才根据装入的数据来产生对象定义。IRIS里用Dynamic Object来处理JSON数据。简单说: 先定义一个Dynamic Object, 把JSON数据装进去,然后用对象的方式处理JSON文档。

让我们看看是它是怎么工作的。

创建一个Dynamic Object很简单, 标准而且啰嗦的写法是:

set dynObject1 = ##class(%DynamicObject).%New()

大家通常用简单的写法,像这样用一个{}来定义Dynamic Object:

0 0
0 244
文章
· 五月 31, 2021 阅读大约需 6 分钟
精华文章---HealthConnect中创建HTTP服务

HealthConnect中创建HTTP服务端

这里我说说怎么在HealthConnect上开发HTTP服务。

作为消息引擎,HealthConnect会需要从一个接口接收HTTP请求发送到另一个接口,中间做消息转换,路由等等,目的的接口可能是HTTP,或者SOAP,REST等等。这里只介绍HTTP服务的内容,也就是最简单的两种实现:

第一种:实现客户定制的HTTP服务业务服务组件(Business Servie)

创建Business Service类,继承EnsLib.HTTP.Service, 如下面的示例:

0 0
1 324