文章 姚 鑫 · 八月 25, 2022 4m read

第十二章 配置数据库(四)

重定位本地数据库

要将本地数据库的 IRIS.DAT 文件移动到不同的目录,必须执行以下操作:

  1. 记下当前的数据库目录。可以从本地数据库页面(系统管理 > 配置 > 系统配置 > 本地数据库)查看此信息。
  2. 彻底关闭实例,例如使用 iris stop 命令。
  3. IRIS.DAT 文件和流目录从当前数据库目录复制到所需位置

重要提示:如果数据库目录中有 iris.lck 文件,请不要移动数据库。这意味着数据库仍在使用中,移动它可能会导致无法预料的问题。

注意: 不支持在配置数据库目录时使用符号链接,并建议为新的数据库位置选择完全解析的物理路径。

  1. 在文本编辑器中打开实例的 iris.cpf 文件。该文件通常位于安装目录中。

  2. 在 [Databases] 部分下方找到数据库的名称。用新路径替换旧目录路径,然后保存 iris.cpf

  3. 启动 IRIS 实例,并查看本地数据库页面以确认目录已设置为新位置。如果数据库是镜像的,则需要激活并赶上它。

  4. 删除旧的数据库目录。

重要提示:重定位本地数据库目录后,还必须更新任何远程访问数据库的系统(例如 ECP 应用程序服务器)。在每个远程系统上,将远程数据库目录更新到新位置,如远程数据库中所述。

删除本地数据库

要删除本地数据库,请单击相应行中的删除链接。

0
0 256
文章 姚 鑫 · 八月 24, 2022 5m read

# 第十一章 配置数据库(三)

## 编辑本地数据库的属性

显示的信息取决于数据库是否被镜像。本节确定以下字段:

### 部分编辑非镜像本地数据库属性

单击非镜像数据库的名称可查看以下数据库属性并更改其中一些属性。 (“创建本地数据库”部分描述了其中的许多字段。)

- `Name `
- `Directory` 目录(此设置必须始终反映 `IRIS.DAT` 数据库文件的位置)
- `Encrypted`加密(无法更改)
- `Mirrored` 已镜像 — 单击添加到 `Mirrormirror_name` 链接以将数据库添加到其中 `IRIS` 实例是主要故障转移成员的镜像。 (仅当实例是镜像中的主实例时,此选项才可用。)
- `Block Size (Bytes)`块大小(字节)(无法更改)
- `Size` 大小 (MB) — 共有三种大小设置,如下所示:
  - `Change Current` 修改数据库的当前大小。
  - `Expansion` 扩展设置在需要时扩展数据库的数量;默认(和推荐)设置为零 (`0`) 表示当前大小的 `12%` 或 `10` MB,以较大者为准。使用当前大小的 `12%` 时,扩展大小不会大于 1GB。
  - `Maximum` 最大值指定数据库可以增长到的最大大小,以兆字节为单位;默认设置为零 (`0`) 表示没有最大值。

0
0 134
文章 姚 鑫 · 八月 23, 2022 3m read

第十章 配置数据库(二)

本地数据库

“本地数据库”页面显示关于系统上的数据库的以下信息:

  • Name—数据库名称。
  • Mirror——如果数据库是镜像的,则镜像的名称;
  • Directory - IRIS.DAT 文件的位置。
  • Size 大小 (MB) — 以 MB 为单位的数据库大小。
  • Status 状态 — 指定数据库是挂载、卸载还是卸载;如果已挂载,则指定它是否具有只读或读写权限。
  • Resource Name资源名称 — 控制对数据库的访问的数据库资源的名称;
  • Encrypted — 指定数据库是否加密;
  • Journal 指定数据库是否被记录;

创建本地数据库

要创建本地数据库,请导航到本地数据库页面(系统管理 > 配置 > 系统配置 > 本地数据库)。

  1. 单击创建新数据库以打开数据库向导。

  2. 在文本框中输入数据库名称。数据库名称必须:

  • 尚未在 IRIS 实例中使用
  • 长度在 130 个字符之间
  • 以字母字符或下划线开头;其余部分可以包括字母数字字符、破折号或下划线
  1. 首次使用特定浏览器在 IRIS 实例中创建本地数据库时,必须
  • 输入数据库目录的名称,在这种情况下,包含 IRIS.DAT 文件的目录在确认后将在 c:\InterSystems\mgr 中创建
  • 单击文件夹图标浏览到现有目录,在这种情况下,将在该目录中创建 IRIS.
0
0 167
文章 姚 鑫 · 八月 22, 2022 6m read

第九章 配置数据库(一)

数据库是使用数据库向导创建的 IRIS.DAT 文件。 IRIS数据库保存称为全局变量的多维数组中的数据和称为例程的可执行内容,以及类和表定义。 全局变量和例程包括方法、类、网页、SQL、BASIC和JavaScript文件

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

IRIS 数据库根据需要动态扩展(假设有可用空间),但可以指定最大大小。如果使用默认的 8KB 块大小,数据库可以增长到 32 TB

可以动态更改大多数数据库配置;可以在系统运行时创建和删除数据库以及修改数据库属性。

注意:这些主题描述了使用管理门户手动配置数据库的过程。 IRIS 还包含可用于自动化数据库配置的编程工具。可以使用新选项卡类中的 Config.Databases 来创建和配置数据库;还可以使用 ^DATABASE 命令行实用程序配置数据库。

0
0 262
文章 姚 鑫 · 八月 21, 2022 3m read

第八章 配置命名空间(三)

Routine Mappings

可以在覆盖命名空间例程的默认数据库映射的例程级别向命名空间添加映射:

  1. 导航到命名空间页面(系统管理 > 配置 > 系统配置 > 命名空间),然后单击要在其中映射全局的命名空间行中的常规映射。
  2. 在常规映射页面中,单击新建。
  3. 选择例程所在的 Routine database location 数据库。
  4. 输入例程名称。映射时例程不必存在(也就是说,它可以是计划创建的例程的名称)。
  5. 单击确定。

注意:新映射行的第一列中显示的 >> 表示已打开映射进行编辑。

  1. 要将映射保存在 cpf 文件中,请单击保存更改。

例如,使用前面的测试命名空间映射示例,如果计划在机场数据库(在 FlightSchedule 命名空间中)中创建一个计划例程(例如 BOSZZairline),并且希望它对 TravelAgent 命名空间中的用户可用,请导航到 Routine Mappings 页面(在 TravelAgent 命名空间行中),然后单击 New Routine Mapping。输入如下例程映射对话框中所示的信息:

  • Include files
  • Other routines
  • Classes
  • Tables
  • Globals

根据需要使用额外的例程、包和全局映射,以确保这些项目在目标命名空间中可用。

0
0 114
文章 姚 鑫 · 八月 20, 2022 3m read

第七章 配置命名空间(二)

将全局、例程和包映射添加到命名空间

除了可以访问映射数据库中的全局变量和例程之外,还可以映射来自相同或不同系统上的其他数据库的全局变量、例程和类包。这允许对可以存在于任何地方的数据进行简单引用,并且是命名空间的主要特征。可以映射整个全局变量或全局变量;此功能允许数据轻松跨磁盘。

注意:映射按字母顺序排序;如果指定了下标,则按名称和下标排序。

单击适当的选项开始映射:

  • Global Mappings
  • Routine Mappings
  • Package Mappings
  • Mapping Data to All Namespaces

以下是映射如何在示例航空公司预订应用程序中工作的示意图:

数据和程序存储在数据库数据库中,即物理存储位置,并由名称空间引用,即逻辑引用。

重要提示:如果存在与本地内容具有相同标识符的映射内容(例如包、类、全局或例程名称),则映射内容将可见,而不是本地内容。因此,应该尽可能具体地使用映射,以防止映射远离现有内容。 在命名内容和创建映射时,请务必遵循标识符规则和准则,以避免任何不必要的冲突。

Mappings

可以在全局和全局下标级别将新全局映射添加到命名空间,以覆盖命名空间全局变量的默认数据库映射:

  1. 导航到命名空间页面(系统管理 > 配置 > 系统配置 > 命名空间)并单击要在其中映射全局的命名空间行中的全局映射。

0
0 135
文章 姚 鑫 · 八月 19, 2022 5m read

第六章 配置命名空间(一)

命名空间是虚拟工作空间中的数据和程序的集合。在命名空间中,可以定义各种组或人员需要的全局变量Global。例如,如果审计部门需要使用存在于不同系统或不同目录中的某些全局变量Global,可以设置一个单一的命名空间来引用网络上的所有会计全局变量和数据库。

IRIS 带有以下预定义的命名空间:

  • %SYS — 系统管理信息和实用程序。 -USER — 安装时为空。通常用于应用程序开发。

可以在管理门户的命名空间页面上执行以下过程来配置命名空间,可以通过在主页上依次选择系统管理、配置、系统配置和命名空间来导航到该页面:

  • 创建/修改命名空间
  • 重命名命名空间或修改默认映射
  • 将全局、例程和包映射添加到命名空间
  • 删除命名空间

注意:上面列出的主题描述了使用管理门户手动配置命名空间的过程。 IRIS 还包含对自动化命名空间配置有用的编程工具。可以在新选项卡类中使用 Config.Namespaces 来创建和配置命名空间。

配置命名空间的另一种方法是将 CreateNamespaceModifyNamespaceDeleteNamespace 操作与配置合并结合使用。配置合并允许通过应用声明性合并文件来自定义 IRIS 实例,该文件指定要应用于该实例的设置和操作。

单个 IRIS 实例中命名空间数量的绝对限制为 2048。命名空间表的大小是自动的且不可配置。

0
0 345
文章 姚 鑫 · 八月 18, 2022 6m read

第五章 配置系统信息

IRIS 将系统范围的配置信息存储在称为配置参数文件 (CPF) 的文件中。该文件是一个重要工具,因为它包含IRIS 实例的大部分可配置设置。每个实例都部署了一个默认 CPF,它位于安装目录中。可以直接在文本编辑器中修改 CPF,也可以从管理门户或终端间接修改。在 UNIX®Linux 上,还可以通过指定配置合并文件在部署期间自定义 CPF IRIS 使用该文件在实例首次启动之前更新默认 CPF

对于任何新安装的实例,必须更改几个启动设置,以及应该查看的其他设置。本节讨论最初要考虑的这些设置:

内存和启动设置

当第一次安装 IRIS 时,应该查看和调整内存分配以及其他配置设置。在确定 IRIS 实例使用内存的方式时,必须采取三个主要操作,如下所示:

  • 使用内存和启动页面(系统管理 > 配置 > 系统配置 > 内存和启动)为数据库和例程缓存分配内存。

  • 设置 IRIS 进程可以使用的最大内存

  • 配置通用内存堆(也称为共享内存堆)的大小,这决定了 IRIS 可用于例程和数据库缓存之外的其他用途的内存;

重要提示:首次安装 IRIS 时,数据库和例程缓存内存分配设置为自动,在此情况下, IRIS 为数据库缓存(全局缓冲区)分配总物理内存的 25%

此设置不适用于生产用途。

0
0 244
文章 姚 鑫 · 八月 17, 2022 5m read

第四章 使用管理门户(四)

管理门户页面参考

管理门户由多个页面组成,分为以下功能区域:

  • 主页Home — 管理门户主页
  • 健康Health — 医疗保健页面。仅适用于 IRIS for Health™HealthShare® Health Connect
  • 分析AnalyticsIRIS® 商业智能页面
  • 互操作性Interoperability — 产品页面
  • 系统操作 — 系统操作页面
  • 系统资源管理器 — 数据库管理页面
  • 系统管理 — 系统管理页面

Home

主页包含许多用于导航管理门户的选项。

Health

IRIS for HealthHealth Connect 中的医疗保健特定功能显示在管理门户的 Health 部分的可用页面上。在访问这些健康页面之前,需要安装 Foundation 命名空间。

Analytics

商业智能页面分为管理门户的分析部分中显示的类别。

Interoperability

产品页面分为管理门户的互操作性部分中显示的类别。

System Operations

系统操作员页面分为管理门户的系统操作部分中显示的类别。下表显示了每个类别和相关的文档来源。

Menu Item Information
`System Dashboard 监控指南中的“使用管理门户监控 IRIS”。
0
0 324
文章 姚 鑫 · 八月 16, 2022 2m read

第三章 使用管理门户(三)

浏览管理门户

管理门户有两种不同的视图模式可供选择以进行页面导航。可以通过单击管理门户功能区中所需的查看按钮随时在查看模式之间切换。视图模式有:

  • 分栏视图 Columns view ——分栏显示页面;这是默认模式。此查看模式允许选择收藏夹并分配自定义资源。
  • 列表视图 List view — 在下拉列表中显示页面名称。

注意:除了使用视图导航管理门户外,还可以通过位于功能区中的搜索工具直接进入页面;有关详细信息,请参阅本章中的管理门户功能区部分。

Columns view

“列视图”显示用于到达目标页面的子菜单。如果单击最终子菜单中的标题/名称,则会显示目标页面;如果在框内单击而不是在标题/名称本身上单击,则操作窗格将显示在右侧。

操作窗格

操作窗格解释了一个菜单选项,并允许执行与其相关的多项操作。要在“列”视图中显示操作窗格,请在最终子菜单中的选项周围的框内单击,而不是在选项本身上单击。可以在操作窗格中执行以下操作:

  • 将目标页面添加到主页上的收藏夹列表中,如管理门户欢迎窗格中所述。
  • 查看加载页面和分配自定义资源所需的系统资源,如在管理门户中使用自定义资源中所述。

注意:如果资源的名称在操作窗格中被截断,请将指针移到名称上以查看其全部内容。

  • 单击 Go 转到目标页面。

操作窗格仅在“列”视图中可用。

0
0 311
文章 姚 鑫 · 八月 15, 2022 4m read

第二章 使用管理门户(二)

管理门户概述

本节介绍管理门户页面的一些常见布局元素。

注意:在管理门户中的任何位置,将光标移到菜单项上都会显示该项目的描述。

管理门户主页

管理门户主页的标题是 Welcome, 。在标题旁边,功能区包含以下选项:

  • 两个视图按钮,可让指定如何在菜单列中显示链接。
  • 搜索栏,位于功能区的右侧。当指定一个词并按 Enter 键时,将显示包含该词的所有页面的列表;然后,可以单击要显示的目标页面,而无需浏览子菜单。

以下部分描述了主页的区域:

管理门户菜单栏

位于主页左边缘的菜单栏是导航门户的主要方法。

管理门户欢迎窗格

欢迎窗格位于主页的中心,包括经常访问的页面的快捷方式。它包含以下字段:

  • 收藏夹Favorites — 列出选择为收藏夹的管理门户页面(请参阅操作窗格);可以单击每个页面标题直接转到该页面。
  • 最近Recent — 列出自上次启动 IRIS 以来最近显示的页面。
  • Did you know? — 显示提示。
  • 链接 Links - 指向可能想要访问的页面的链接。

管理门户消息窗格

位于主页右侧边缘的消息窗格显示一般系统信息并提供指向系统仪表板的链接。

如果实例是镜像成员,则消息窗格还显示它所属的镜像、其状态和成员类型以及指向镜像监视器的链接。

管理门户标题

页眉位于管理门户中每个页面的顶部,可用于快速导航门户。

标题包含以下链接:

  • 主页Home — 显示管理门户主页。
0
0 461
文章 姚 鑫 · 八月 14, 2022 3m read

[TOC]

第一章 使用管理门户(一)

IRIS数据平台使您能够通过 Web 应用程序Management Portal 执行系统管理和管理任务。这种方法的一个优点是 IRIS 不必安装在用来管理安装的系统上。现在,通过网络远程管理系统,受制于为站点建立的访问控制,变得更加容易。跨版本兼容性问题被最小化,因为数据及其格式信息都直接来自被管理的系统。

默认情况下,管理门户在安装了IRIS 的专用 Web 服务器上运行。可以选择禁用专用 Web 服务器(使用 WebServer 设置)并配置不同的 Web 服务器来运行管理门户。

启动管理门户

可以通过以下方式启动管理门户:

  • Microsoft Windows 平台上,单击 IRIS 启动器菜单上的管理门户(Management Portal)。
  • 在Web 浏览器中,直接转到管理门户 URI,格式如下:
http://machine:port/csp/sys/UtilHome.csp

其中 machine 是系统的 IP 地址(例如 localhost),portIRIS 安装的 Web 服务器(web service server)的端口号。例如,单个安装 IRIS 在本地服务器上的默认位置是 http://localhost:52773/csp/sys/UtilHome.

0
0 527
文章 姚 鑫 · 八月 13, 2022 2m read

第二十六章 源代码文件 REST API 参考(八)

GetEnsClassType

此方法返回用于创建产品的类的名称列表。可以指定要获取的类的类型,例如业务服务类。

URL

GET http://server:port/api/atelier/v1/namespace/ens/classes/type

type 是一个整数,并返回对应于该整数的类,如下所示:

  • Adapters 1

  • InboundAdapters 2

  • OutboundAdapters 3

  • Messages 4

  • Requests 5

  • Responses 6

  • BusinessServices 7

  • BusinessProcesses 8

  • BusinessOperations 9

  • DataTransformation 10

  • Production 11

  • BusinessHost 12

  • Dashboard 13

  • Rule 14

JSON Messages

以下返回的内容是一个类名数组:

{
  status: {
    errors: []
    summary: ""
  }
  console: []
  result: {
    content: [
        "Ens.Enterprise.MsgBank.BankTCPAdapter",
        "Ens.
0
0 262
文章 姚 鑫 · 八月 12, 2022 3m read

第二十五章 源代码文件 REST API 参考(七)

Query

此方法对 IRIS 表执行 SQL 查询并返回结果。请求正文是指定查询的 JSON 对象。它返回一个匹配查询条件的对象数组。每个返回的对象都包含与查询返回的一行相关的信息。

URL

POST http://server:port/api/atelier/v1/namespace/action/query

SQL 查询在 URL 请求的正文中指定。查询必须在指定的命名空间中指定一个数据库。

此调用需要标头 Content-Type application/json。

JSON Messages

返回内容是一个对象数组。

0
0 232
文章 姚 鑫 · 八月 11, 2022 4m read

第二十四章 源代码文件 REST API 参考(六)

Compile

此方法编译源代码文件。它允许一次编译多个源代码文件。它返回一个对应源代码文件对象的数组。

要编译的文件列表作为 JSON 数组在 http 请求的正文中传递。例如,[ "%Api.DocDB.cls", ... ]

有关示例和其他详细信息,请参阅本手册教程章节中的编译文件。

URL

POST http://server:port/api/atelier/v1/namespace/action/compile

此调用需要标头 Content-Type application/json

URL Parameters

  • 可以传递 URL 参数“flags”(默认为“cuk”),该参数将传递给编译器。

  • 如果不希望返回已编译的源代码文件的源,则可以使用值 0 传递 URL 参数 'source'

JSON Messages

以下是编译 Atelier.NewClass1 时返回的内容:

0
0 236
文章 姚 鑫 · 八月 10, 2022 4m read

第二十三章 源代码文件 REST API 参考(五)

DeleteDoc

此方法删除指定命名空间中的命名源代码文件。它返回相应的源代码文件对象。

与源代码文件有关的错误将在源代码文件对象的状态属性中。

有关示例和其他详细信息,请参阅本手册教程章节中的删除文件。

URL

DELETE http://server:port/api/atelier/v1/namespace/doc/doc-name

注意:如果要删除 CSP 文件 ,则 doc-name 的值包括 /(斜杠)字符。这就是定义 DeleteDocURLMap 包含此参数名称的 (.*) 而不是 :docname 的原因。有关详细信息,请参阅创建 REST 服务中的“为 REST 创建 URL 映射”。

JSON Messages

以下是源代码文件 xyz.macDELETE 的返回内容:

{
  "status": {
    "errors": [],
    "summary": ""
  },
  "console": [],
  "result": {
    "name": "xyz.
0
0 327
文章 姚 鑫 · 八月 9, 2022 6m read

第二十二章 源代码文件 REST API 参考(四)

PutDoc

此方法保存提供的源代码文件。如果文件不存在,此方法将创建它,如果文件存在,此方法将现有文件替换为指定的文件。为确保覆盖文件的正确版本,请指定 If-None-Match 标头以及先前 PutDocGetDocETAG 标头中返回的时间戳值。如果要覆盖文件而不检查版本,请指定 ?ignoreConflict=1 URL 参数。该方法返回一个对应的源代码文件对象。如果要保存二进制文件,请将传入 JSON 消息的 enc 元素设置为 true,并将文件内容包含为 base64 块数组。如果在保存过程中更改了服务器上的文本(例如通过源代码管理挂钩),则更新后的文本将在返回的源代码文件的内容数组中返回。

与源代码文件有关的错误将在返回的源代码文件对象的状态属性中。

版本 2 PutDoc 能够接受三种格式的文件内容:默认 UDL 格式、XML 格式和旧 %RO 导出实用程序使用的格式。 PutDoc 自动识别文件内容的格式。

有关示例和其他详细信息,请参阅本手册教程章节中的在命名空间中创建新文件或更新现有文件。

0
0 86
文章 姚 鑫 · 八月 8, 2022 3m read

第二十一章 源代码文件 REST API 参考(三)

GetDocNames

此方法返回源代码文件名列表。可选的 cattype 约束源代码文件的类型。

URL

GET http://server:port/api/atelier/v1/namespace/docnames

GET http://server:port/api/atelier/v1/namespace/docnames/cat

GET http://server:port/api/atelier/v1/namespace/docnames/cat/type

其中

  • cat 指定类别代码:CLS = class; RTN = routineCSP = CSP 文件OTH = other。默认为 *
  • type 指定源代码文件类型。可以是 * 通配符或文件类型。对于 CLS,类型必须是 *。对于 RTN,类型可以是 mac、int、inc、bas 、mvi 或 mvb。对于 CSPtype 可以是 jscss 等文件类型的列表,以逗号分隔。默认为 *

URL Parameters

  • URL 参数 'generated=1' 指定应包含生成的源代码文件。
  • URL 参数 'filter' 提供了一个可用于匹配名称的 SQL 过滤器。
0
0 323
文章 姚 鑫 · 八月 7, 2022 4m read

第二十章 源代码文件 REST API 参考(二)

GetMetaData

此方法返回命名数据库的 METADATA.zip 文件的二进制内容。 Atelier 使用此文件来存储索引信息,以便为将来的会话保留此信息。

URL

GET http://server:port/api/atelier/v1/%25SYS/metadata/database

注意:因为 %URL 特殊字符,所以要指定文字 %,必须在其后跟 25(百分号字符的十六进制代码)。因此,必须使用 %25SYS 来指定文字 %SYS

HTTP 返回码

  • HTTP 200 如果正常。
  • 如果源代码文件不存在,则返回 HTTP 404
  • HTTP 500 如果发生意外错误(详细信息将在状态错误数组中)。

GetCSPApps

此方法返回在服务器上定义或为服务器上指定命名空间定义的 Web 应用程序列表。

URL

GET http://server:port/api/atelier/v1/%25SYS/cspapps

GET http://server:port/api/atelier/v1/%25SYS/cspapps/namespace

其中:

namespace

指定命名空间的名称。如果未指定命名空间,则此方法返回所有命名空间的 Web 应用程序。

0
0 380
文章 姚 鑫 · 八月 6, 2022 3m read

第十九章 源代码文件 REST API 参考(一)

源代码文件 REST 接口支持以下方法:

  • GetServer:返回有关服务器的信息。
  • HeadServer:返回服务器的 HttpHeader
  • GetJobs:返回正在运行的jobs列表。
  • GetMetaData:返回命名数据库的 METADATA.zip 文件的内容。
  • GetCSPApps:返回 Web 应用程序列表。
  • GetNamespace:返回有关特定命名空间的信息。
  • GetDocNames:返回源代码文件名列表。
  • GetModifiedDocNames:返回自数据库具有指定哈希值以来已修改的源代码文件列表。
  • PutDoc:保存提供的源代码文件。
  • GetDoc:返回指定源代码文件的文本。
  • DeleteDoc:删除命名的源代码文件。
  • HeadDoc:返回命名源代码文件的 HttpHeader
  • GetDocs:返回所有指定源代码文件的文本。
  • DeleteDocs:删除命名源代码文件列表。
  • Compile编译:编译您指定的源代码文件。
  • Index索引:返回有关指定源代码文件的摘要信息。
  • Query查询:对任何表执行 SQL 查询并返回结果。
  • Search搜索:在数据库中搜索源代码文件。
  • GetEnsClassType:返回用于创建作品的类的名称列表。可以指定要获取的类的类型,例如业务服务类。
0
0 358
文章 姚 鑫 · 八月 5, 2022 3m read

第十八章 源代码文件 REST API 教程(三)

编译文件

Compile 方法编译传入 JSON 数组中名称指定的源代码文件。例如,要编译 xyz.mac,请发布以下内容:

http://localhost:52773/api/atelier/v1/INVENTORY/action/compile

使用以下 JSON 消息:

["xyz.mac"]

该方法返回:

{
  "status": {
    "errors": [],
    "summary": ""
  },
  "console": [
    "",
    "Compilation started on 08/14/2016 15:25:20 with qualifiers 'cuk'",
    "xyz.int is up to date. Compile of this item skipped.",
    "Compilation finished successfully in 0.008s."
  ],
  "result": {
    "content": []
  }
}

对于一些源代码文件,例如类,Compile 在返回的内容中返回存储信息。

删除文件

DeleteDoc 方法删除 URL 中指定的文件。

0
0 122
文章 姚 鑫 · 八月 4, 2022 3m read

第十七章 源代码文件 REST API 教程(二)

获取在命名空间中定义的源代码文件

要获取有关命名空间中源代码文件的信息:

  • 首先,使用 GetDocNames 方法获取文件的名称。
  • 然后用GetDoc 方法获取一个文件的内容,也可以用GetDocs 方法获取多个文件的内容。
  • 如果要提高应用程序的网络效率,可以保留源代码文件的名称和内容的本地缓存,并使用 GetModifiedDocNames 方法仅获取内容发生变化的源代码文件的名称或使用带有 If-None-Match HTTP 标头的 GetDoc 方法。

GetDocNames 方法返回映射到命名空间的所有数据库中的所有源代码文件的名称。

{
  "status": {
    "errors": [],
    "summary": ""
  },
  "console": [],
  "result": {
    "content": [
      {
        "name": "%Api.DocDB.cls",
        "cat": "CLS",
        "ts": "2016-08-03 20:01:42.000",
        "upd": true,
        "db": "IRISLIB",
        "gen": false
      },
      .
0
0 143
文章 姚 鑫 · 八月 3, 2022 3m read

第十六章 源代码文件 REST API 教程(一)

本章提供了一个简短的教程,通过一系列示例演示如何使用源代码文件 REST API。它包含以下部分:

API 基础

Atelier 用于访问 IRIS 源代码文件的 API 使用 REST 架构风格。 REST 的名字来源于“Representational State Transfer”。与许多 REST API 一样 IRIS 源代码文件 REST API 使用 HTTP GETPOSTPUTDELETEHEAD 方法,并将 JSON 用于传入和传出消息体。

要调用 API 方法,需要了解以下内容:

  • HTTP 方法——它是以下之一:GETPOSTPUTDELETEHEAD
  • HTTP 标头——为调用提供上下文信息。此 API 中使用的 HEADERS 包括:
    • 授权,它提供对服务器的访问。除非安装了具有最低安全性的服务器,否则需要提供用户名和密码才能访问 API。
    • Content-Type application/json,指定入站负载以 JSON 格式提供。必须为所有 POSTPUT 方法指定此标头。
    • If-None-Match,它允许 GetDocPutDoc 调用检查源代码文件自上次访问以来是否被修改。
0
0 271
文章 姚 鑫 · 八月 2, 2022 3m read

第十五章 源代码文件 REST API 简介

源代码文件 REST API 简介

REST API 提供对源代码文件的访问。我们开发此 API 是为了允许 Atelier(我们基于 EclipseIDE)访问 IRIS 服务器上的 IRIS 代码文件。可以使用 API 执行访问 IRIS 代码文件所需的操作。这些行动包括:

  • 获取 IRIS 实例上可用的命名空间
  • 查找命名空间中定义的类定义和例程
  • 获取类和例程的文本定义
  • 更新类定义或例程
  • 创建新的类定义或例程
  • 删除类定义或例程
  • 编译 IRIS 类或例程
  • 通过对表执行 SQL 查询来发现 IRIS 环境的属性

这些操作提供了访问 IRIS 源代码文件的机制。为了创建 IRIS 开发环境,应该了解此 API 并全面了解 IRIS 源代码文件如何在 IRIS 中使用。

这是一个特殊用途的 API。如果正在创建开发环境或处理类似的应用程序,例如类浏览器,可能会发现此 API 很有用。但是,它不是用于访问 IRIS 对象的通用 REST API

本文档描述了 IRIS 源代码文件 REST API 的版本 12IRIS 的未来版本可能支持此 REST API 的更高版本,提供额外的调用,但将始终能够调用早期版本。版本 1APIURL 中包含 /v1/,版本 2API 包含 /v2/

0
0 123
文章 姚 鑫 · 八月 1, 2022 4m read

第十四章 手动创建 REST 服务(二)

指定数据格式

可以定义 REST 服务以处理不同格式的数据,例如 JSONXML、文本或 CSVREST 调用可以通过在 HTTP 请求中指定 ContentType 元素来指定它期望发送的数据的形式,并且可以通过在 HTTP 请求中指定 Accept 元素来请求返回数据格式。

DocServer 示例中,GetNamespaces() 方法检查 REST 调用是否使用以下内容请求 JSON 数据:

If $Get(%request.CgiEnvs("HTTP_ACCEPT"))="application/json"

本地化 REST 服务

REST 服务返回的任何字符串值都可以本地化,以便服务器以不同语言存储多个版本的字符串。然后,当服务接收到包含 HTTP Accept-Language 标头的 HTTP 请求时,服务会使用相应版本的字符串进行响应。

0
0 86
文章 姚 鑫 · 七月 31, 2022 8m read

第十三章 手动创建 REST 服务(一)

本附录描述了如何通过继承 %CSP.REST 类来手动创建 REST 服务;此过程创建了一个手动编码的 REST 服务,它不能与所有 API 管理工具一起使用。

手动创建 REST 服务的基础知识

要手动定义 REST 服务,请执行以下操作:

  • 创建一个 REST 服务类 — %CSP.REST 的子类。在子类中:
    • 定义一个 URL 映射,该映射指定为 REST URLHTTP 方法执行的 IRIS 方法。
    • 可以选择指定 UseSession 参数。此参数控制每个 REST 调用是在其自己的 Web 会话下执行还是与其他 REST 调用共享一个会话。
    • (可选)覆盖错误处理方法。

如果想将实现代码与调度代码分开,可以在单独的类中定义实现 REST 服务的方法,并从 URL 映射中调用这些方法。

  • 定义一个使用 REST 服务类作为其调度类的 Web 应用程序。

要定义 Web 应用程序及其安全性,请转至 Web 应用程序页面(单击System Administration > Security > Applications > Web Applications)。

定义 Web 应用程序时,将 Dispatch Class 设置为 REST 服务类的名称。

此外,将应用程序的名称指定为 REST 调用的 URL 的第一部分。

0
0 113
文章 姚 鑫 · 七月 30, 2022 3m read

第十二章 使用中的 OpenAPI 属性

本附录列出了 API 管理工具在生成 REST 服务类时使用的 OpenAPI 2.0 规范的属性。此处未列出的属性将被忽略。有几个扩展属性;它们的名称以 x-ISC 开头。

Swagger

  • basePath

  • consumes

  • host

  • produces

  • definitions (请注意,API 管理工具在生成代码时不使用 Schema 对象的任何属性)

  • parameters (for details, see “Parameter Object”)

  • paths (for details, see “Path Item Object”)

  • info (for details, see “Info Object”)

  • swagger (must be "2.0")

有关这些属性的详细信息,请参阅 https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#swagger-object

0
0 193