文章
· 九月 22, 2022 阅读大约需 25 分钟
精华文章--漫谈应用集成的现在与未来

关注FHIR的大侠们估计都注意到了,FHIR更新了它支持的互操作范式,除了消息、文档、服务、API这4种,增加了2个:资源仓库、订阅。前面4个好理解,为什么资源仓库和订阅会成为FHIR的新的互操作范式?互操作与应用集成是什么关系?

这里借FHIR的新互操作范式,聊聊应用集成,看看集成平台是什么?有什么样的集成方案?以及怎么评价不同的方案。

8 0
3 565
文章
· 十月 6, 2022 阅读大约需 10 分钟
集成产品的业务行为监控

最近一些用户问到监控集成平台业务行为查询的问题,例如如何查询服务的平均耗时、发生错误的服务数量...

业务行为监控对于集成平台来说非常重要,可以帮助我们:

  • 监控系统健康情况 — 查看系统性能表现。例如发现队列积压和长耗时的消息处理,都可能是性能问题的表现。
  • 排查异常 — 通过查看业务行为数据,帮助我们判断特定的业务组件配置是否是造成性能瓶颈的主要原因。
  • 做业务规划 — 通过业务行为数据,了解各个业务量变化情况,并辅助我们做业务规划。
  • 做硬件规划 — 通过长期跟踪消息吞吐量的变化了解性能的变化和业务量的增长,进而辅助我们做硬件计划,避免出现在性能问题。

仅提供这些查询是很容易的,但要更好地监控集成平台的业务行为,需要更深入的了解InterSystems集成架构。

1 0
1 191
文章
· 十月 16, 2022 阅读大约需 4 分钟
第十八章 CSP Session 管理 - 与 CSP.Session 的Sessions

第十八章 CSP Session 管理 - 与 CSP.Session 的Sessions

`` 是一种无状态协议;每个请求都不知道以前的请求。虽然这适用于为用户提供简单静态内容的网站,但它使得开发交互式动态 Web 应用程序变得困难。为了解决这个问题,CSP 提供了所谓的Session 管理。

CSP.SessionSessions

Session 话表示在特定时间段内从特定客户端到特定应用程序的一系列请求。

CSP 自动提供会话跟踪;无需执行任何特殊操作即可启用它。 CSP 应用程序可以通过对象中的 %CSP.Session 查询和修改其会话的各个方面。 CSP 服务器通过 ObjectScript %session 变量使该对象可用。

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

建立私服(Porxy-Registry)

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

搭建私服

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

2 0
0 108
文章
· 十二月 20, 2022 阅读大约需 3 分钟
第十九章 使用系统监视器 - 配置系统监视器命名空间

第十九章 使用系统监视器 - 配置系统监视器命名空间

配置系统监视器命名空间

当一个实例启动时,系统监视器会在每个已配置的启动命名空间中作为一个单独的进程自动启动(默认情况下仅限 %SYS)。所有系统监视器配置和设置都是特定于命名空间的。当使用 ^%SYSMONMGR 进行更改时,更改仅影响启动该实用程序的命名空间。

注意:^%SYSMONMGR 的所有实例都将消息写入同一系统监视器日志。可以从任何命名空间配置启动命名空间。

当在主菜单中输入 3 时,将显示以下菜单:

1) Configure Components
2) Configure Startup Namespaces
3) Exit

输入 2 以显示配置命名空间的选项:

1) List Startup Namespaces
2) Add Namespace
3) Delete Namespace
4) Exit

输入 1 以列出当前配置的启动命名空间。

0 0
0 46
文章
· 一月 8, 2022 阅读大约需 1 分钟
第十八章 SQL函数 ASCII

第十八章 SQL函数 ASCII

一个字符串函数,返回字符串表达式的第一个(最左边)字符的整型ASCII码值。

大纲

ASCII(string-expression)

{fn ASCII(string-expression)}

参数

  • string-expression - 字符串表达式,它可以是列的名称、字符串字面值或另一个标量函数的结果,其中基础数据类型可以表示为任何字符类型(如CHARVARCHAR)。
    CHARVARCHAR类型的字符串表达式。

描述

如果传入一个NULL或空字符串值,ASCII将返回NULL
空字符串返回NULLSQL Server一致。

0 0
0 67
文章
· 一月 22, 2022 阅读大约需 8 分钟
第三十一章 SQL函数 CONVERT

第三十一章 SQL函数 CONVERT

将给定表达式转换为指定数据类型的函数。

CONVERT(datatype,expression[,format-code])

{fn CONVERT(expression,datatype)}

参数

  • expression - 要转换的表达式。
  • datatype - 要将表达式转换为的数据类型。
  • format - 可选-指定日期和时间格式的整数代码,用于在日期/时间/时间戳数据类型和字符数据类型之间进行转换。
    此参数仅用于通用标量语法形式。

描述

这里描述了CONVERT函数的两种不同实现。
两者都将一种数据类型中的表达式转换为另一种数据类型中的相应值。
两者都执行日期和时间转换。

0 0
0 74
文章
· 二月 11, 2022 阅读大约需 4 分钟
第五十一章 SQL函数 DECODE

第五十一章 SQL函数 DECODE

计算给定表达式并返回指定值的函数。

大纲

DECODE(expr {,search,result}[,default])

参数

  • expr - 要解码的表达式。
  • search - 要与Expr进行比较的值。
  • result - Expr匹配搜索时返回的值。
  • default - 可选-如果expr与任何搜索都不匹配,则返回默认值。

描述

可以指定多个搜索和结果对,以逗号分隔。您可以指定一个默认值。DECODE表达式(包括EXPRSEARCHRESULTDEFAULT)中的最大参数数约为100。搜索、结果和默认值可以从表达式派生。

0 0
0 57
文章
· 二月 20, 2022 阅读大约需 4 分钟
第六十章 SQL函数 GETUTCDATE

第六十章 SQL函数 GETUTCDATE

日期/时间函数,返回当前UTC日期和时间。

大纲

GETUTCDATE([precision])

参数

  • precision - 可选-一个正整数,指定时间精度为小数秒的位数。
    默认值是0(没有小数秒);
    这个默认值是可配置的。

描述

GETUTCDATE返回通用时间常数(UTC)日期和时间作为时间戳。由于UTC时间在地球上的任何地方都是相同的,不依赖于当地时区,也不受当地时差(如夏令时)的影响,因此当不同时区的用户访问同一数据库时,此函数对于应用一致的时间戳非常有用。

0 0
0 64
文章
· 三月 2, 2022 阅读大约需 3 分钟
密码有多安全?

如何检查密码是否足够强大,使其不会很快被破解? 又如何制作一个强大的密码?

我开发了一个工具,可能对这个问题有帮助。你可以在OpenExchange上找到它。用zpm安装。

zpm "install passwords-tool"

这个模块将只安装一个类 caretdev.Passwords中,其中包含一些有用的方法。

安全密码

要获得一个安全的密码,通常只需使用大写和小写的字母、数字和特殊符号,而且至少要有8个符号的长度。

Generate方法使用的参数:

0 0
0 82
文章
· 三月 12, 2022 阅读大约需 5 分钟
在Linux上设置TZ环境变量

在Linux上设置TZ环境变量

v2015.1的更新检查表建议在Linux平台上设置TZ环境变量,并指出了tzset的手册。建议这样做是为了提高Caché的时间相关功能的性能。你可以在下文找到更多关于这个的信息:

Linux TZ环境变量未被设置以及对Caché的影响

我的CentOS 7测试系统上的manpage(RHEL 6也是这样说的)有这样的说法。

"tzset()函数从TZ环境变量初始化tzname变量。 这个函数会被其他依赖时区的时间转换函数自动调用"。

那么,你如何设置TZ?它是如何影响Linux服务器上的时间的?让我们来看看我们能学到什么:

0 0
0 995

注意:下面内存设置数值仅限参考,具体内存数值的设置是否合适,依赖于更多实际使用情况决定。

主要需要设置下面几个内存相关配置:

(下面比例适用于服务器仅运行单实例InterSystems IRIS)
数据库缓存Database cache:
建议小于64G内存设置总内存50%,大于等于64G内存设置70%总内存
程序缓存routine cache:
建议设置1023MB
gmheap:
建议设置1048576KB(1024MB)
LockSize:
建议最少设置134217728 Bytes (128MB),如果在系统日志中提示locksize相关错误或警报,应相应增加。

1 0
0 92
文章
· 四月 17, 2022 阅读大约需 3 分钟
在IRIS容器里添加VSCode

在IRIS容器里添加VSCode

设置可重复的开发环境的最简单的方法之一是使用容器。我发现在快速迭代时,在我的开发环境容器里托管一个vscode实例是非常方便的。因此,我创建了一个快速的容器脚本,将一个基于浏览器的vscode添加到IRIS容器中。这应该适用于大多数2021.1以上的容器。我的代码库可以在这里找到

带VSCode 且预连接好的InterSystems IRIS 容器

0 0
0 273
文章
· 五月 1, 2022 阅读大约需 4 分钟
第129章 SQL函数 %SQLUPPER

第129章 SQL函数 %SQLUPPER

将值排序为大写字符串的排序规则函数。

大纲

%SQLUPPER(expression[,maxlen]) 

%SQLUPPER expression

参数

  • expression - 字符串表达式,可以是列名、字符串文字或另一个函数的结果,其中基础数据类型可以表示为任何字符类型(例如 CHARVARCHAR)。表达式可以是子查询。
  • maxlen - 可选 — 一个整数,指定整理后的值将被截断为 maxlen 的值。请注意, maxlen 包括附加的前导空格。您可以用双括号将 maxlen 括起来以抑制文字替换:((maxlen))。

描述

SQLUPPER 是默认排序规则。

0 0
0 77
文章
· 五月 10, 2022 阅读大约需 4 分钟
第138章 SQL函数 TIMESTAMPADD

第138章 SQL函数 TIMESTAMPADD

一个标量日期/时间函数,它返回一个新的时间戳,该时间戳是通过将指定日期部分的多个间隔添加到时间戳来计算的。

0 0
0 133
文章
· 五月 19, 2022 阅读大约需 10 分钟
第147章 SQL函数 TO_TIMESTAMP

第147章 SQL函数 TO_TIMESTAMP

将格式化字符串转换为时间戳的日期函数。

大纲

TO_TIMESTAMP(date_string[,format])

参数

  • date_string - 要转换为时间戳的字符串表达式。此表达式可能包含日期值、时间值或日期和时间值。
  • format - 可选 — 对应于 date_string 的日期和时间格式字符串。如果省略,则默认为 DD MON YYYY HH:MI:SS

描述

TO_TIMESTAMP 函数将各种格式的日期和时间字符串转换为标准时间戳,数据类型为 TIMESTAMPTO_TIMESTAMP 返回具有以下格式的时间戳:

0 0
0 105

北京协和医院现公开招聘信息类技术岗位。有关事项公告如下:
岗位1:运维工程师
任职要求:
1.年龄30岁以下,本科及以上学历,计算机相关专业;
2.熟悉计算机软硬件技术,熟练排除各种软硬件的故障;有基本的网络知识,了解DNS、DHCP原理,熟练使用Ping、tracert等简单命令;
3.有2年以上桌面运维工作经验者优先。

岗位2:数据库管理员
任职要求:
1. 本科及以上学历,计算机相关专业;
2. 精通InterSystems Caché数据库,精通MySQL,SQL Server,熟悉Oracle,精通SQL脚本编写;有丰富数据库管理、运维调优经验;
3. 5年以上数据库运维管理经验;
4. 有医疗行业经验优先。

0 0
0 286
文章
· 六月 16, 2022 阅读大约需 4 分钟
第二章 锁定和并发控制(二)

第二章 锁定和并发控制(二)

关于零超时的说明

如上所述,如果您将 timeout 指定为 0, 会添加锁。但是,如果使用零超时锁定父节点,并且已经在子节点上锁定,则忽略零超时并使用内部 1 秒超时。

删除锁

要删除默认类型的锁,请使用 LOCK 命令,如下所示:

LOCK -lockname

如果执行此命令的进程拥有具有给定名称的锁(默认类型),则此命令将删除该锁。或者,如果进程拥有多个锁(默认类型),此命令将删除其中一个。

或者删除另一种类型的锁:

LOCK -lockname#locktype

其中 locktype 是一串锁类型代码。

LOCK 命令的其他基本变体

为了完整起见,本节讨论 LOCK 命令的其他基本变体:使用它来创建简单的锁并使用它来删除所有锁。这些变化在实践中并不常见。

0 0
0 44
文章
· 七月 7, 2022 阅读大约需 4 分钟
第二十一章 使用工作队列管理器(四)

第二十一章 使用工作队列管理器(四)

分离和附加工作队列

通常,初始化一组工作程序,将工作项排队,然后等待工作程序完成工作项。但是,可能会遇到工作人员作业完成工作项所需的时间比预期更长的情况,或者无法将单个进程专门用于等待。因此,工作队列管理器使能够将工作队列与进程分离,然后将工作队列附加到同一进程或不同的进程。

例如,假设队列引用了初始化的工作队列。还假设向工作队列中添加了几个工作项。在调用 Wait() 或 WaitForComplete() 来确定正在处理的工作的状态之前,可以使用以下方法:

Detach()

method Detach(ByRef token As %String, timeout As %Integer=86400) as Status
从初始化工作队列时创建的对象引用中分离工作队列对象。 Detach() 方法使任何正在进行的工作能够继续并保留工作队列的当前状态。

token 参数表示一个安全令牌,可以使用它随后将工作队列附加到另一个进程。 timeout 参数是可选的,它指示系统保留分离的工作队列对象的时间量(以秒为单位)。超时期限过后,系统会删除与工作队列关联的所有工作人员作业和信息。超时的默认值为 1 天。

0 0
0 59
文章
· 七月 15, 2022 阅读大约需 5 分钟
第六章 使用嵌入式 Python (三)

第六章 使用嵌入式 Python (三)

从 ObjectScript 调用嵌入式 Python 代码

使用 Python 库

嵌入式 Python 让可以轻松访问数以千计的有用库。通常称为“包”,它们需要从 Python 包索引 (PyPI) 安装到 <installdir>/mgr/python 目录中,然后才能使用。

例如,ReportLab Toolkit 是一个用于生成 PDF 和图形的开源库。以下命令使用软件包安装程序 irispipWindows 系统上安装 ReportLab

C:\InterSystems\IRIS\bin>irispip install --target C:\InterSystems\IRIS\mgr\python reportlab

在基于 UNIX 的系统上,使用:

0 0
0 61
文章
· 七月 21, 2022 阅读大约需 5 分钟
DeepSee 的开发 - 第四部分 - 创建主题区

一个主题区是一个子立方体,可以选择覆盖项目的名称。你定义一个主题区是为了使用户能够关注较小的数据集,出于安全原因或其他原因。本章讨论了以下主题。

简介

在本教程中,我们创建了两个主题区域,按邮政编码划分患者:

  • Patient Set A: 居住在邮政编码为32006, 32007, or 36711区域的患者
  • Patient Set B: 居住在邮政编码为34577 or 38928区域的患者

创建主题领域

要创建主题区域,请做以下工作。

0 0
0 44
文章
· 七月 30, 2022 阅读大约需 3 分钟
第十二章 使用中的 OpenAPI 属性

第十二章 使用中的 OpenAPI 属性

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

Swagger

  • basePath

  • consumes

  • host

  • produces

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

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

0 0
0 76
文章
· 八月 9, 2022 阅读大约需 1 分钟
在ObjectScript中运行shell命令

有时,有必要从主机操作系统的Shell(即你的ObjectScript程序所在的地方)执行命令,以启动程序、操作系统服务、安排crontasks以及其他活动。为此,该语言有一个叫做$ZF(-100). 的实用程序:

$ZF(-100,flags,program,args)

其中flags是你想执行的命令的类型。在我们的例子中,标志是"/ SHELL",用于在主机操作系统上执行shell命令。

Program是要执行的程序或服务的名称。

Args是传递给程序的执行参数。

一个例子是在提示符下打印一些内容,例如:

$ZF(-100,"/SHELL","echo","https://www.intersystems.com/")

如果你的程序依赖于改变当前目录,要运行该程序,在调用前使用以下命令:

0 0
0 235