#Caché

0 关注者 · 975 帖子

  

InterSystems Caché 是一个多模型 DBMS 和应用服务器。

查看此处提供的更多详细信息

文档

文章 姚 鑫 · 十月 5, 2022 3m read

第七章 CSP 架构 - URL 的 Web 服务器配置

URLWeb 服务器配置

提供了一个默认的 /csp 虚拟目录来运行 CSP 应用程序。如果正在运行多个 Caché 实例,它还提供了一个默认虚拟目录 /cacheinstance/csp 以供使用。如果正在运行多个 Caché 实例并使用虚拟目录 /csp 访问 CSP 应用程序,而之前没有 /cacheinstance,它将访问最后安装的 Caché 版本。如果计划允许使用以 http://localhost/csp 或 http//localhost/cacheinstance/csp 开头的应用程序路径调用所有 CSP 应用程序,则无需在 Web 服务器中进行任何更改配置。

如果要创建一个应用程序路径不是以 /csp/cacheinstance/csp 开头的 CSP 应用程序,则需要在 Web 服务器配置文件条目中进行更改,别名 /csp

下表显示了需要更改的配置文件。

0
0 126
文章 姚 鑫 · 十月 4, 2022 3m read

第六章 CSP 架构 - 静态文件

静态文件

数据库服务器为所有 CSP 提供服务。 数据库服务器还可以通过 CSP 网关为 Web 应用程序提供任何类型的静态文件。在标准 Web 应用程序中,Web 服务器通常提供静态内容。要在 Caché 上运行 Zen 应用程序,必须配置 Web 服务器以允许服务器通过 CSP 网关提供所有静态文件。

注意:要运行基于 Zen 的应用程序,请启用“服务文件”选项并配置 Web 服务器以允许 Caché 服务器提供静态文件。然后 Zen 框架将能够提供依赖图像和 JavaScript 帮助文档。

指示字符编码

CSP 引擎通过流服务器以与主流 Web 服务器一致的方式处理静态文件,以确定 JavaScript 文件的字符编码。

现代惯例是将所有 JavaScript 文件标记为 application/javascript Content-Type,并且确保页面上使用的所有 JavaScript 文件都是这种情况。

以这种方式标记的 JavaScript 文件:

  • 如果文件包含 BOM(字节顺序标记),浏览器会自动检测到这一点并使用正确的字符集来读取它。
  • 如果该文件不包含 BOM,则浏览器假定该文件是 UTF-8
0
0 98
文章 姚 鑫 · 十月 3, 2022 2m read

第五章 CSP 架构 - 组件,信息流

CSP 组件:Web 服务器、CSP 网关、CSP 服务器

CSP 使用三个软件组件:Web 服务器、CSP 网关和 CSP 服务器(在 Caché 服务器上运行):

  • CSP 组件

Web服务器和CSP服务器可以由一台或多台计算机实现。在开发过程中,所有三个组件(Web 服务器、CSP 网关和 CSP 服务器)可能都位于一台 PC 上。在大规模部署中,可能有多个 Web 服务器和 CSP 服务器采用两层或三层配置。

这些组件(Web 服务器、CSP 网关、CSP 服务器)视为各有一个。它将 CSP 描述为好像只提供 HTML 页面,尽管 CSP 也可以提供 XML 页面,以及其他文本格式和二进制格式,例如图像。

每个组件的作用

Web 服务器是一个软件实用程序,它执行以下操作:

  • 接受传入的 HTTP 请求,通常来自浏览器
  • 检查权限
  • 可以提供静态内容
  • CSP 网关发送对 CSP 内容(以 .csp.cls 结尾的 URL)的请求

CSP 网关是一个共享库、一个 .dll 文件或一个 CGI 脚本。它执行以下操作:

  • 确定将请求发送到哪个 Caché 服务器。
  • 将请求发送到正确的 Caché 服务器。
  • 维护与 Caché 服务器的连接(以避免必须不断打开新连接)。
0
0 139
文章 姚 鑫 · 十月 2, 2022 2m read

第四章 Caché 服务器页面简介 - 通过 html 创建 csp 页面

创建基于 HTML 标记的 CSP 页面

要使用 HTML 文件创建 Hello.World 页面,请执行以下操作:

  1. 启动 Studio 并选择 File > New > CSP File > Caché Server Page
  2. 将新 CSP 文件的内容替换为以下内容:
<html>
<body>
<b>Hello, World!</b>
</body>
</html>
  1. 选择文件 > 保存。
  2. 在显示的另存为窗口中,双击默认 CSP 应用程序 csp/user
  3. 输入文件名 Hello.csp 并单击另存为以保存文件。
  4. Studio 窗口中,选择查看 > 网页。

与前面的示例一样,会看到 Hello, World!显示在浏览器中。

CSP 应用程序可以由单个 CSP 页面或一组页面组成。 CSP 应用程序作为一个单元,使用适用于整个应用程序的设置。系统提供 csp/user 作为默认的 CSP 应用程序。

还可以使用文本编辑器或 HTML 编辑器创建 HTML 文件。将此文件作为 Hello.csp 保存在本地目录 cachesys/csp/user 中(其中 cachesys 是安装 Caché 的位置)。

Hello.csp 页面的工作方式如下:

0
0 165
文章 姚 鑫 · 十月 1, 2022 2m read

第三章 Caché 服务器页面简介 - 通过 cls 创建 csp 页面

创建第一个 CSP 页面

本节介绍如何以两种不同的方式创建 Hello, World CSP 页面:

创建基于类的 CSP 页面

通过创建 %CSP.Page 的子类并覆盖其 OnPage 方法来创建 CSP 页面。通过此方法写入主设备的任何输出都会自动发送到 Web 浏览器并显示为网页。

  1. 打开Studio
  2. 选择 File > New Project 在本地数据库 USER 命名空间中创建一个新项目。
  3. 在向导的第一页上,输入 Test 作为包名,并输入 Hello 作为类名
  4. 在第二页上,选择 CSP 作为类类型。
  5. 单击完成。可以在 Studio 类编辑器中看到新的 CSP 类定义:
Class Test.Hello Extends %CSP.Page
{

ClassMethod OnPage() As %Status
{
	&html<<html>
<head>
</head>
<body>>
	; To do...
	&html<</body>
</html>>
	Quit $$$OK
}

}

  1. OnPage 方法中,替换注释:
 ; To do...

使用 Write 语句:

 Write "<b>Hello, World</b>",!
  1. 使用 Build > Compile 保存并编译新类。
  2. 选择视图 > 网页。
0
0 104
文章 姚 鑫 · 九月 30, 2022 2m read

第二章 Caché 服务器页面简介 - 你应该知道

你应该知道什么

要高效使用 CSP,应该熟悉以下内容:

  • Caché objects and ObjectScript

  • HTML

  • JavaScript

  • SQL

CSP Samples

Caché 附带一组示例CSP 页面。要查看这些:

  1. 打开Caché

  2. 要查看 CSP 示例,请确保计算机上的 Web 服务器正在运行。

  3. 启动浏览器并转到 CSP 示例菜单(使用位于以下位置的私有 Web 服务器:http://localhost:57772/csp/samples/menu.csp或位于以下位置的外部 Web` 服务器:http://localhost /csp/samples/menu.csp 。

  4. 如果安装的 Caché 具有正常或锁的安全功能,则可能会显示登录页面。如果是这样,请登录。

  5. Caché 显示示例 CSP 页面的列表以及每个页面的简短描述。单击感兴趣的任何内容。

CSP 文档

可以在此处找到有关 CSP 的文档:

0
0 155
文章 姚 鑫 · 九月 29, 2022 3m read

第一章 Caché 服务器页面简介 - 什么是CSP

Caché Server Pages (CSP) 既是用于构建交互式 CSP 应用程序的架构又是工具集。 CSP 技术允许构建和部署高性能、高度可扩展的 Web 应用程序。 CSP 允许动态生成网页,通常使用来自 Caché 数据库的数据。 “动态Dynamically”意味着每次从最近更改的数据源请求同一页面时,它可能会提供不同的内容。

CSP 用途广泛。它可以

  • 显示每分钟都在变化的库存数据。
  • 支持拥有数千名活跃用户的网络社区。
  • 根据存储在 Caché 数据库中的用户信息个性化页面。
  • 根据不同用户的要求和安全权限,根据用户数据为不同用户定制页面。
  • 提供 HTMLXML、图像或其他二进制或文本数据。
  • 提供快速性能,因为它与高性能 数据库紧密耦合。

CSP 非常适合数据库应用程序。除了提供对内置 Caché 数据库的快速访问之外,它还提供了许多基于 Web 的数据库应用程序必不可少的功能,包括

  • 会话管理
  • 页面认证
  • 能够从网页中执行交互式数据库操作。

CSP 支持两种风格的 Web 开发。

  • 为了使用类开发应用程序,CSP 提供了一个对象框架。
  • 为了使用 HTML 文件开发应用程序,CSP 提供了一种基于 HTML 的标记语言,允许在网页中包含对象和服务器端脚本。可以在一个应用程序中结合这两种技术以获得最大的灵活性。

CSP 和 Zen

0
0 322
文章 姚 鑫 · 九月 27, 2022 2m read

第四十五章 配置第三方软件以与 InterSystems 产品结合使用

产品通常在与非 工具一起运行的环境中运行,我们的产品与此类工具之间的交互可能会产生有害影响。 关于最佳、可靠部署配置的指导假定我们的产品可以在不受第三方工具干扰的情况下进行部署。例如, 发现用于安全、系统监控或病毒扫描的软件可能会影响我们产品的安装、性能和功能。对于直接与属于 产品的一部分或被 产品使用的文件进行交互的工具(例如病毒扫描程序)尤其如此。

了解客户面临的业务、合规性和其他要求会影响有关在给定环境中运行哪些软件以及如何配置此类软件的决策。一般来说, 建议我们产品的服务器端安装通过物理安全和隔离来保护。这种保护应该减少对其他工具的需求,或者至少减少它们运行的频率。

病毒扫描仪观察:

  1. 为了交付经过病毒检查的软件, 产品在经过消毒的环境中交付给我们的客户,并通过提供校验和进行验证。
  2. 性能影响。

[对策] 出于扫描目的,排除以下文件和目录:

  • WIJ 文件和包含 WIJ 文件的目录*
  • 本指南“配置 IRIS”一章中的所有数据库文件 (.DAT) 和包含数据库文件的目录*(请参阅配置数据库)。
  • 存储或处理日志文件的任何目录*
  • IRIS® 数据平台运行所需的任何其他文件/目录*。例如备用日志目录*(请参阅数据完整性指南中的“日志”),或业务服务或生产使用的任何目录*。
  1. 可执行文件的误报。
0
0 92
文章 姚 鑫 · 四月 8, 2021 8m read

第二十章 用户、角色和权限

InterSystems IRIS®具有系统级安全性,以及一组与sql相关的额外安全性特性。 在数据库级保护之外,InterSystems SQL安全性提供了额外级别的安全功能。 SQL和系统级安全性之间的一些关键区别是:

  • SQL保护比系统级保护更细粒度。可以为表、视图和存储过程定义特权。
  • SQL权限既可以授予用户,也可以授予角色。 系统级权限只分配给角色。
  • 持有SQL特权会隐式授予执行SQL操作所需的任何相关系统特权。 (相反,系统级特权并不意味着表级特权。)

InterSystems SQL在InterSystems IRIS数据平台上对ODBC、JDBC、Dynamic SQL和SQL Shell接口进行权限检查。 嵌入式SQL语句不执行特权检查; 假定使用嵌入式SQL的应用程序在使用嵌入式SQL语句之前会检查特权。

SQL权限和系统权限

要通过特定于SQL的机制操作表或其他SQL实体,用户必须具有适当的SQL权限。 系统级权限不足。 用户可以直接被授予SQL权限,也可以属于具有SQL权限的角色。

注意:角色是由SQL和系统级安全共享的:单个角色可以包括系统和SQ权限。

下面的例子,以Windows机器上的InterSystems IRIS为例:

1
0 407
文章 姚 鑫 · 九月 26, 2022 2m read

[toc]

第四十四章 使用多个 IRIS 实例(四)

配置多个 IRIS 实例

可以在一台机器上安装并同时运行多个 IRIS 实例。像单一安装一样安装 IRIS,为每个实例提供唯一的名称、唯一的安装目录以及用于超级服务器、Web 服务器和 Telnet 的唯一端口号。

多个实例的特殊注意事项是:

  • 安装多个实例受到系统上仅存在一个的组件的限制。例如,通常系统上只有一个 Web 服务器;因此 IRIS 安装将 Web Gateway 配置为最新安装。存储在注册表中的 IRIS 客户端组件遇到了同样的问题。 IRIS 将其 ODBC 驱动程序存储在注册表中,每个驱动程序使用一个名称。目前,最后一次安装会更新这些组件以指向最后安装的实例。

努力将通用组件移动到可以在 IRIS 实例之间共享的通用目录中。

  • 多个实例可以共享同一个多服务器密钥,但如果这样做,它们必须使用同一个许可证服务器或一组许可证服务器。在一个或多个许可证服务器的支持下运行 IRIS 实例的每个系统都必须在每个实例中安装授权许可证密钥文件的本地副本。
  • 多个实例可以联网。
  • 包括对同时使用数据库的保护(即,每个实例必须有自己的数据库,并且不能访问或修改另一个实例的数据库)。
  • 每个实例必须具有唯一的端口号。有关如何设置端口号的信息,请参阅下一节。

设置端口号

0
0 93
文章 姚 鑫 · 九月 25, 2022 8m read

第四十三章 使用多个 IRIS 实例(三)

Windows 上的 iris 命令

Windows 上,必须从 install-dir\bin 目录运行 iris 命令(或在命令中包含完整路径)。

  • iris all 列出所有已安装实例的摘要信息,每行一个实例,如下所述。

注意:如果需要完整的信息,例如用于解析或报告目的,请使用 iris list

C:\InterSystems\IRISHealth\bin>iris all
    Instance          Version ID        Port   Directory
    -------------     ----------        ----   ---------
up  irishealth        2022.1.0.114.0    51773  c:\intersystems\irishealth
  • iris allw 为每个实例列出与 iris all 相同的信息,而不包含长字段值。可能会产生超过 80 个字符的行。
0
0 112
文章 姚 鑫 · 九月 24, 2022 14m read

第四十二章 使用多个 IRIS 实例(二)

控制 IRIS 实例

iris 命令支持终端以外的许多功能,并以 iris function instname arguments 格式调用,其中 instname 是在安装期间选择的实例名称,参数取决于函数。

重要提示: iris help 命令显示所有命令函数和参数; IRISHelp.html 文件位于 install-dir\Help 目录中。 iris 命令的某些功能在本文档中没有列出,但在帮助显示中显示。

0
0 183
文章 姚 鑫 · 九月 23, 2022 2m read

第四十一章 使用多个 IRIS 实例(一)

可以在单个主机系统上安装和运行多个 IRIS® 数据平台实例。每个实例都是一个独特的、独立的 IRIS 环境。

管理 IRIS 实例

有许多方法可以连接和管理 IRIS 实例,它可能是安装在给定系统上的几种方法之一。两种最常用的方法如下:

  • 安装在 Windows 系统上的每个 IRIS 实例在系统托盘中都有自己的启动器,除其他选项外,还可以:

    • 通过打开管理门户、 TerminalStudio 开发者客户端连接到实例。
    • 启动、停止和重新启动实例。
    • 打开用户和开发人员文档。

    从启动器中,还可以管理多个远程 IRIS 实例,包括但不限于运行远程备份、编辑配置设置以及创建和编译远程对象和例程。

  • iris command 在操作系统命令行上执行 iris 命令可让管理访问 IRIS 实例,其中包括其他选项,可以:

    • 使用 Terminal连接到实例。
    • 启动、停止和重新启动实例。
    • 显示有关该实例以及系统上安装的其他实例的信息。

    要在远程服务器上使用 iris 命令,请使用 TelnetSSH 客户端;要将它与容器化实例一起使用,请在容器内使用它,或者使用 docker exec 命令从容器外部运行它。

连接到 IRIS 实例

0
0 142
文章 体进 邓 · 九月 23, 2022 1m read

1、使用HTTPS前,需要在系统 > 安全管理 > SSL/TLS 配置 添加客户端的凭据

2、代码

0
0 158
文章 姚 鑫 · 九月 22, 2022 2m read

第四十章 连接到远程服务器(二)

使用可选的服务器字段

网络服务器 IP 地址 Web Server IP Address

如果计划使用与正在管理的 IRIS 实例不同的机器上存在的 Web 服务器,请在此字段中输入 Web 服务器机器的 IP 地址。如果未指定,则默认为 IP 地址。

CSP Server Instance

如果正在配置一个 Web 服务器以连接到多个 IRIS 实例,请在 CSP 服务器实例字段中输入要连接的 IRIS 实例名称。

例如,如果在 Windows 机器上安装了 IIS Web 服务器,并且还安装了 IRIS 的两个实例,iris1iris2,则默认情况下,使用作为 IRIS 一部分安装的自己的私有 Apache Web 服务器管理每个实例.

但是,也可以通过更改 Web 服务器端口(IIS 默认为 80)并在为每个实例创建服务器定义时在 CSP 服务器实例字段中指定 iris1iris2 来从公共 IIS Web 服务器管理这两个实例。这会在公共 Web 服务器上自动创建虚拟目录 /iris1/iris2,它们指向相应的 IRIS 实例。

当在 CSP 服务器实例字段中输入一个值并在此服务器的启动器上选择管理门户时,URI 形成如下:

0
0 103
文章 姚 鑫 · 九月 21, 2022 3m read

第三十九章 连接到远程服务器(一)

可以从 Telnet 会话、WindowsIRIS® 启动器上的远程系统访问子菜单或从 Web 服务器和实例信息生成的 URI 控制远程实例。

要为远程实例使用远程系统访问子菜单上的实用程序:

  1. 定义远程服务器连接以将服务器添加到首选服务器列表。
  2. 单击 IRIS 启动器并指向远程系统访问。
  3. 指向启动器实用程序,然后单击服务器名称。

还可以从 Telnet 会话连接到 IRIS 的远程实例:

  1. 单击 IRIS 启动器并指向远程系统访问。

  2. 单击 IRIS Telnet,连接到远程服务器,并使用用户名和密码登录 IRIS 系统。或者,如果服务器在首选服务器列表中,请指向终端,然后单击服务器名称。

可以从 PC 上运行的终端或任何能够运行 Telnet 的工作站客户端远程登录到任何受支持平台上的 IRIS 实例。此客户端可能只有实用程序,而没有 IRIS 服务器实例。大多数情况下,客户端计算机上的 IRIS 版本必须与其管理的 IRIS 系统的版本相同或更高。

注意:在 macOS 平台上,还可以从 Windows 上的命令提示符使用 SSH 连接到 macOS 机器,然后使用以下命令进行连接:

sudo /sbin/service telnet start
0
0 140
文章 姚 鑫 · 九月 20, 2022 2m read

第三十八章 在 UNIX®、Linux 和 macOS 上使用 IRIS(三)

管理 IRIS

shell 中,具有 sysmgr 组中任何用户 ID 的用户都可以运行 iris,它调用 install-dir/bin 目录中的 IRIS 可执行文件和脚本.以下部分描述了如何在 IRIS 实例上执行这些管理任务:

重要提示:安装的所有者拥有启动和停止实例、执行系统管理以及为该实例运行诊断程序的完全权限。

只有作为实例所有者的用户 ID 才能并且应该运行所有诊断活动。这确保创建的任何文件或资源都归实例所有者所有,而不是 root(这可能使非 root 用户无法访问这些资源)。因此,不建议 root 以任何方式管理不属于 root 的实例(包括启动和停止实例)。以 root 身份运行的用户应该只管理 root 拥有的实例。

启动 IRIS

要启动 IRIS,请在系统级别运行启动程序。此过程激活默认配置文件或您指定的配置文件。

注意:如果在启动 IRIS 时遇到任何问题,请按照“监控指南”的“监控日志文件”部分中的说明查看 messages.log 文件。

如果不在控制台机器上,请运行 Telnet 并连接到安装了 IRIS 的目标机器。在可以在 UNIX® 上启动 IRIS 之前,必须满足以下条件之一:

0
0 88
文章 姚 鑫 · 九月 12, 2022 3m read

第三十章 管理许可(三)

确定许可证容量和使用情况

如何知道已使用了多少许可证以及由谁使用?类中的 %SYSTEM.License 提供了到 IRIS 许可证应用程序编程接口 (API) 的接口,并提供了许多方法和相关查询,可以使用这些方法和相关查询来查询许可证容量和当前使用情况。

可以使用 %Library.%ResultSet 类的 RunQuery 方法运行多个许可查询。例如:

USER>do ##class(%ResultSet).RunQuery("%SYSTEM.License","Summary")
 
LicenseUnitUse:Local:Distributed:
当前使用的软件许可单元 :2:2:
使用的最大软件许可单元数 :3:2:
授权的软件许可单元 :25:25:
当前连接 :2:2:
最大连接数 :6:6:

可以从管理门户的许可证使用页面(系统操作 > 许可证使用)查看这些查询的输出,详细信息如下表所示:

1
0 166
文章 Jingwei Wang · 九月 20, 2022 2m read

1. VMWare快照引起的网络中断导致非计划内主备机切换问题

1.1 问题描述

在创建虚拟机快照时,虚拟机需要短时间的冻结,这个短时间冻结通常指虚拟机静默,在静默过程中网络连接处于中断状态。由于数据库的不断增长,使用VMWare快照的方式对虚拟机进行备份的时长也会不断增加,当对虚拟机进行快照的时长长于InterSystems镜像服务质量 (QoS) 超时时间,即当主机网络中断超过QoS超时时间,仲裁机与备机观察并相互确认与主机的连接丢失后,将发起切换过程,使原备机成为主机并将虚拟IP从主机MAC地址解绑后重绑定到备机的MAC地址上。特别需要注意的是,在这种由于网络中断引起的切换中,仲裁与备机都无法得知主机的实际工作状态。因此,在主机网络连接恢复后,为了为了避免因切换期间主机还在处理数据导致主备机间数据不一致,备机主动发起请求让主机下线,关闭主机,此时主机状态显示为关闭(Down)。

1.2 解决方案

对于由于虚拟机快照引起的网络中断造成的非计划内主备切换问题,请参考以下两种解决方案:

0
0 100
文章 姚 鑫 · 九月 19, 2022 3m read

第三十七章 在 UNIX®、Linux 和 macOS 上使用 IRIS(二)

在 UNIX® 上启动

IRIS 实例使用以下资源来控制启动、停止和创建新进程:

  • install-dir\mgr 目录中的 iris.ids 文件。
  • 共享内存。

守护进程资源锁

IRIS 使用建议文件锁定来防止同一实例在不同机器上的多次启动。使用咨询文件锁定,单个锁定文件(在本例中为 install-dir/mgr 目录中的文件 ilock)可用于独占锁定多个资源。控制进程、写入守护进程和日志守护进程分别锁定锁定文件的一个单独部分。如果 ilock 文件的这一部分已被锁定,则启动将终止。不同守护进程持有的锁称为守护进程资源锁。

文件锁由进程持有,直到进程终止。因此,如果持有任何锁,则表明某个节点上的某个守护进程正在运行。但是,它并不表示实例是否健康并正常运行。

iris.ids File

iris.ids 文件包含启动 IRIS 的节点的名称。 iris.ids 文件的存在充当 ObjectScript 实用程序和客户编写的脚本的标志,指示实例是否启动并运行。该文件在启动过程中经常被忽略。但是,如果在读取 iris.ids 时发生错误,则会阻止 IRIS 启动。在以前版本的 IRIS 中,共享内存标识符也存储在 iris.ids 文件中,但现在不再如此。

启动顺序

0
0 158
问题 争取在天亮前起床 · 七月 14, 2022

在更新医保码库前,我们想对旧码库做个备份,以防更新过程失败,还可以还原。
oracle支持 CREATE TABLE AS ..... 的语法快速备份一张表,cache 似乎不支持这个语法,
大家平时是怎么备份一张码表的呢?

最好是像 oracle 那样一条命令搞定的那种。

10
0 294
文章 姚 鑫 · 九月 17, 2022 7m read

第三十五章 在 Windows 上使用 IRIS(二)

IRIS 启动器

Microsoft Windows 平台上的主要IRIS 界面是 IRIS 启动器。从 IRIS 启动器,可以启动所有 IRIS 配置和管理工具。还可以从快捷方式或命令行调用每个启动器命令。

相应地,可以从 Windows 程序菜单中启动许多 IRIS 工具,方法是指向 IRIS 文件夹,然后指向启动 IRIS 以获得适当的 IRIS 实例名称。

当在基于 Windows 的系统上启动 IRIS 时, IRIS 启动器图标会出现在任务栏的系统托盘中。

当单击 IRIS 启动器时,会出现一个菜单,其中包含使用 ObjectScript 实用程序和编程环境的命令。

下表描述了 IRIS 启动器菜单中可用的命令。

0
0 254
文章 姚 鑫 · 九月 16, 2022 3m read

第三十四章 在 Windows 上使用 IRIS(一)

Microsoft Windows 平台上管理 IRIS 数据平台实例非常简单。可以使用管理门户和 IRIS 启动器执行大多数任务。还可以从命令提示符控制 IRIS 实例。

本主题使用 install-dir 来指代 IRIS 安装目录——可以在安装指南的默认安装目录部分找到默认目录。

注意:不要对 IRIS IRIS.DAT 数据库文件使用 Windows 文件压缩。 (通过右键单击 Windows 资源管理器中的文件或文件夹并选择属性,然后选择高级,然后压缩内容以节省磁盘空间来压缩文件;压缩后,文件夹名称或文件名在 Windows 资源管理器中呈现为蓝色。)如果压缩一个IRIS.DAT 文件,它所属的实例将无法启动,并出现误导性错误。

管理对 IRIS 实例的访问

InterSystems 服务

所有 IRIS job和进程都从 InterSystems 服务、 IRIS Controller for <instance-name> 运行。 InterSystems 服务具有的权限由其关联的 Windows 用户帐户决定。当这是本地 SYSTEM 帐户时, IRIS 可以访问 Windows 系统上的所有文件和权限。为了维护一个更安全和限制性更强的环境,应该为服务选择一个仅具有所需权限和访问权限的 Windows 帐户。

0
0 217
文章 姚 鑫 · 九月 15, 2022 3m read

第三十三章 管理许可(六)

应用许可

应用程序许可使应用程序合作伙伴能够利用 的许可功能来实现自己的许可目的。 IRIS 像管理自己的应用程序许可证一样管理客户应用程序许可证,维护使用计数并根据需要获取和返回用户许可证。当进程退出、停止或从进程表中删除时,或者当 Web 会话超时或被删除时,进程或 Web 会话使用的应用程序许可证与进程或会话使用的 IRIS 许可证一起自动释放。

应用程序许可证只是标准 .ini 格式的文件或此类文件的一部分,包含标识应用程序的部分标题和一些keyword=value对,在许可证中是唯一的,代表许可的功能。任何格式正确的应用程序许可证都可以在运行时由应用程序加载到 IRIS

应用程序许可 API 包括使应用程序能够代表用户使用和返回许可证的方法和查询,以及使程序能够获取有关应用程序和功能许可的信息,包括正在使用和仍然可用的许可证数量。

加载应用程序许可证

IRIS 实例可以在应用程序运行时使用 $SYSTEM.License.LoadAppLicenseFile 方法加载和激活任何应用程序许可,该方法记录在 %SYSTEM.License 的类参考中(请参阅应用程序许可 API)。以这种方式加载的应用程序许可证与活动的 IRIS 许可证无关,但由 IRIS 实例独立跟踪。

0
0 65
文章 Michael Lei · 九月 15, 2022 6m read

如果你读了我之前介绍QEWD微服务的文章,希望你会渴望了解如何使用它们。  所以在这篇文章中,我将解释你需要知道的东西,以便开始使用。

如果你在QEWD资源库中,你会发现目录: 

  https://github.com/robtweed/qewd/blob/master/example/jwt

在我之前关于JSON网络令牌(JWTs)和QEWD的文章中,我用这个示例应用程序来解释如何使用JWTs。  这个示例应用程序还演示了如何设置一个简单的微服务,在这种情况下是一个处理用户认证的服务。  所以,现在让我深入了解一下这个例子应用程序的这方面内容。

如果你想使用QEWD微服务,你也必须使用JWTs--它们提供了一种方法,用户的认证和会话可以被多个独立的QEWD服务器交叉通信和处理。  因此,请看一下启动文件:

   https://github.com/robtweed/qewd/blob/master/example/jwt/startup_file/q…

你会看到,它将QEWD配置为使用JWT,并定义了用于签署和加密JWT的加密字符串:

           jwt: {
            secret: 'someSecret123'
          },

而且,你可以看到如何定义微服务:

0
0 157
文章 姚 鑫 · 九月 14, 2022 6m read

第三十二章 管理许可(五)

Identifying Users

IRIS 许可系统识别不同的用户并为每个用户分配一个许可单元。用户由许可证用户 ID 标识,该 ID 可以是 IP 地址、用户名、Web 会话 ID 或其他标识符,具体取决于用户的连接方式。

由单个用户启动或为单个用户启动的多个进程共享一个许可证单元,最多可达每个用户的最大进程数。如果进程数超过此最大值,则会发生转换 IRIS 开始为该用户 ID 的每个进程分配一个许可单元。系统假设如果与用户 ID 关联的进程数超过最大值,则多个用户正在通过中介(例如防火墙系统)访问 IRIS,因此需要额外的许可证单元。 (由 Job 命令启动的进程计入调用该命令的用户 ID 下。)

即使用户 ID 下的进程数回落到最大值以下, IRIS 仍会继续为该用户 ID 的每个进程分配一个许可单元。只有当用户 ID 的所有连接都关闭并且用户 ID 下没有更多进程时,许可证分配才会重置为该用户 ID 的一个单位。

通过名称识别用户的应用程序消除了与使用基于客户端 IP 地址、Web 会话 ID 或其他连接派生用户 ID 的默认用户 ID 相关的问题。

例如,当使用防火墙或终端服务器软件时, IRIS 无法区分连接用户,因此它依赖于最大连接转换规则。使用来自同一客户端的混合连接也使得无法使用自动 ID 创建适当地计算用户数。

0
0 95
文章 姚 鑫 · 九月 13, 2022 4m read

[toc]

第三十一章 管理许可(四)

显示本地许可证信息的方法

下面列出的子例程转储实例共享内存中本地包含的许可证表的内容。一般来说,他们识别客户:

$System.License.DumpLocalAll 将所有本地许可证表条目转储到当前目录中的 all.dmp 文件中:

USER> Do $System.License.DumpLocalAll()
 
25 条目转储到 c:\intersystems\irishealth\mgr\user\all.dmp

all.dmp 文件的内容示例:

$System.License.DumpLocalInUse 将所有正在使用的本地许可证表条目转储到当前目录中的 inuse.dmp 文件:

USER> Do $System.License.DumpLocalInUse()
 
2 条目转储到 c:\intersystems\irishealth\mgr\user\inuse.dmp

inuse.dmp 文件内容示例:

$System.License.DumpLocalPID 将进程 ID 使用的本地许可证表转储到当前目录中的 piduse.dmp 文件中:

USER> Do $System.License.DumpLocalPID()
 
33 条目转储到 c:\intersystems\irishealth\mgr\user\piduse.dmp
0
0 84
文章 姚 鑫 · 九月 11, 2022 5m read

第二十九章 管理许可(二)

激活许可证密钥

IRIS 使用许可证密钥来确保其注册站点的正常运行、定义可用容量并控制对 IRIS 功能的访问。 许可证密钥以许可证密钥文件的形式提供,通常命名为 iris.key

安装 IRIS 后,使用以下程序激活许可证密钥。始终可以使用相同的过程为任何已安装的实例激活新的许可证密钥(即升级密钥)。可以激活放置在管理门户可访问的任何位置的许可证密钥;作为激活的一部分,许可证密钥将作为 iris.key 复制到实例的 install-dir/mgr 目录(如果尚未命名)。

注意:也可以在 Windows 安装期间选择许可证密钥。执行此操作时,许可证会自动激活,并且许可证密钥会作为 iris.key 复制到实例的 install-dir/mgr 目录中;不需要此处描述的激活过程。

本节还讨论了许可证故障排除和在所有许可证单元都在使用时从操作系统命令行升级许可证。

要激活许可证密钥,请使用以下过程:

0
0 186