搜索​​​​

清除过滤器
公告
Claire Zheng · 一月 30, 2023

社区名人墙来了!2022 年InterSystems 社区顶级贡献者

亲爱的开发者们!是时候公布2022 年 InterSystems 开发者社区杰出贡献者了🎉 我们很高兴为所有社区站点(英文、西文、葡语、日文、中文和法语)中最活跃的贡献者提供奖励,包括: 顶级作者——热门作者; 顶级专家——InterSystems专家; 顶级舆论制造者——意见领袖; 还有一个最新提名......年度突破奖! 在我们分享最好的之前,我们想介绍一个令人兴奋的新徽章——年度突破奖。这是一个从今年开始并为我们社区的发展做出最大贡献的人。 让我们共同见证2022年的社区名人墙,用热烈的掌声向大家致意! 👏🏼 徽章名称 优胜者(来自社区) 优胜者(来自InterSystems) 提名:年度突破奖 授予在 2022 年开始做出贡献并在 2022 年拥有最多帖子、点赞、翻译和观看次数的成员。 2022年度突破奖 @Lucas.Enard2487 @Smythe.Smythee @Mark.OReilly – 提名:InterSystems 热门作者 授予其文章在 2022 年获得最多浏览量的作者。 第一名:2022 金牌热门作者 @Yuri Marx @Toshihiko Minamoto 第二名:2022 银牌热门作者 @Lucas.Enard2487 @Michael Lei 第三名:2022 青铜热门作者 @姚 鑫 @Evgeny Shvarov 4 - 10 名:2022 热门作者 @Muhammad Waseem @Evgeniy Potapov @Robert Cemper @José Roberto Pereira @Lorenzo Scalese @Iryna Mykhailova @Dmitry Maslennikov @Guillaume Rongier @Mihoko Iijima @Eduard Lebedyuk @Qiao Peng @Alberto Fuentes @Megumi Kakechi @Ricardo Paiva 提名:InterSystems 专家 授予在 2022 年获得最多接受答案的作者。 第一名:2022 金牌专家 @Robert Cemper @Eduard Lebedyuk 第二名:2022 银牌专家 @Julius Kavay @Michael Lei 第三名:2022 铜牌专家 @Vitaliy Serdtsev @Alexander Koblov 4 - 10 名:2022 社区专家 @Dmitry Maslennikov @Jeffrey Drumm @David Hockenbroch @Cristiano Silva @John Murray @Yaron Munz @Julian Matthews @Vic Sun @Marc Mundt @Timothy Leavitt @Guillaume Rongier @Alex Woodhead @Ben Spead @Evgeny Shvarov 提名:InterSystems 意见领袖 授予在 2022 年帖子和答案获得最高赞数的作者。 第一名:2022 金牌意见领袖 @Yuri Marx @Angelo Bruno Braga 第二名:2022 银牌意见领袖 @Robert Cemper @Eduard Lebedyuk 第三名:2022 铜牌意见领袖 @Dmitry Maslennikov @Guillaume Rongier 4 - 10 名:2022 社区意见领袖 @王喆 @Muhammad Waseem @Lorenzo Scalese @姚 鑫 @Lucas Enard @Kurro Lopez @Julius Kavay @Evgeny Shvarov @Ben Spead @Rochael Ribeiro @Timothy Leavitt @Bob Kuszewski @Danusa Calixto @Raj Singh 热烈祝贺以上优胜者!感谢你们在 2022 年为 InterSystems 开发者社区做出的巨大贡献! 欢迎参与我们的年度调查,帮助我们变得更好: 👉🏼 InterSystems 开发者社区年度调研(2022) 👈🏼 Congratulations to @姚 鑫 @王喆 @Michael Lei @Qiao Peng
文章
Lilian Huang · 十一月 24, 2023

现有系统通过使用InterSystems FHIR 适配器提供 FHIR 服务 - 简介

想必大家都听说过 FHIR 是解决系统间所有互操作性和兼容性问题的灵丹妙药和解决方案。就在这里,我们可以看到他手持一份 FHIR 资源,愉快地享受其中: 但对于我们这些普通人,我们将做一个小小的介绍。 什么是 FHIR? 让我们直接进入定义:FHIR(Fast Healthcare Interoperability Resource)是由HL7(Health Level 7标准组)开发的一种互操作性标准,旨在实现医疗行业中不同系统之间的电子医疗数据交换。 FHIR 从根本上基于哪些技术? 主要是通过 REST API 和 JSON 格式进行 HTTP 调用的结合(尽管它可以是 XML 以及我们可用的任何其他通信,具体根据我们的使用情况)。 我们如何与 FHIR 合作? 一般来说,最简单的方式是拥有一个FHIR服务器,我们将使用诸如GET(从服务器获取数据)、PUT(更新数据)、POST(保存数据)和DELETE(删除数据)等HTTP调用与其通信。 FHIR处理了“资源”(Resource)的概念,用于在服务器和客户端之间发送和接收数据。这些资源旨在涵盖系统间80%的互通性需求。在这里,我们可以看到默认情况下可用的资源图示。 如您所见,每个资源都附带一个表示资源成熟度的数字或字母(其中N = 正式)。如果您访问官方的FHIR文档,您将能够获取到众多示例。 资源的一种扩展是“Bundle”,简言之,它是一组封装在同一JSON中的资源,用于对我们的服务器进行查询以及执行批量或事务中的CRUD操作。 完美,FHIR听起来很棒,但是...我们如何将其应用到我们的传统系统中,这些系统并不是按照FHIR定义的标准设计的呢? FHIR适配器 InterSystems 向其客户提供 FHIR 适配器功能,这将使他们能够在其传统现有系统之上设置业务层,开发所谓的 FHIR Façade。在接下来的文章中,我们将了解如何使用 FHIR 对象并与使用 PostgreSQL 数据库的 HIS(健康信息服务)系统的小型模拟进行交互。 为了理解这些解释,您可以使用一个 OpenExchange 应用程序,它将自动设置我们将在未来几天遵循的示例: 研讨进程 在接下来的文章中,我们将讨论以下几点: IRIS 实例中的 FHIR 适配器架构 在我们的 HIS 中注册患者类型资源。 使用 REST API 调用按 其ID 查询患者。 在我们的 HIS 中注册包含患者和医疗中心数据的捆绑包。 因此,如果您有兴趣...请在未来几天继续关注社区!
文章
Lilian Huang · 十一月 24, 2023

现有系统通过使用InterSystems FHIR 适配器提供 FHIR 服务 - 架构

我们继续使用FHIR适配器的示例,在本文中,我们将回顾如何在我们的IRIS实例中进行配置以及安装的结果。 配置项目的步骤与官方文档中所示的相同,您可以直接在此处查看。好吧,让我们开始工作吧! 安装 正如您在与本文相关的项目中看到的,我们将 IRIS 实例部署在 Docker 中,因此初始配置的主要部分将在 Dockerfile 中完成。别担心,我们不会详细介绍 Docker 配置。 要安装 FHIR 适配器,我们只需: 在我们的 IRIS 实例中使用互操作性功能创建一个名为ADAPTER的命名空间。 从 IRIS 终端访问我们的命名空间并执行以下命令。 set status = ##class (HS.FHIRServer.Installer).InteropAdapterConfig( "/Adapter/r4" ) 在我们的例子中,我们定义了将接收 REST 请求的 IRIS 端点的 URL 为/Adapter/r4 。 安装结果 FHIR 适配器安装完成后,我们可以查看 IRIS 实例中发生的情况。为此,我们首先查看 Web 应用程序菜单(系统管理 -> 安全 -> 应用程序 -> Web 应用程序) 正如我们所看到的,一个新的 Web 应用程序已添加到列表中,表明它对应于我们的 ADAPTER 命名空间。让我们访问它以更详细地查看其配置。 正如我们所看到的,创建的 Web 应用程序启用了 REST 调用的接收,并且负责管理这些调用的类是HS.FHIRServer.HC.FHIRInteropAdapter 。我们看到的另一个细节是密码身份验证和未经身份验证的调用均已启用。对于我们的示例,我们不会修改任何内容,但如果在任何生产环境中启用 JWT 身份验证,那就会很有趣。 让我们回顾一下命名空间的制作过程中发生了什么。 安装过程已经创建并部署了两个新组件,即业务服务 InteropService 和业务操作 InteropOperation。在我们的示例中,我们将仅使用 InteropService,它将负责转发接收到的FHIR消息,该消息将是类 HS.FHIRServer.Interop.Request 的实例,我们将在其上进行操作以提取接收到的信息。InteropService必须接收的响应以返回响应JSON将是 HS.FHIRServer.Interop.Response 类型的实例。 我们的“HIS”的配置 我们在上一篇文章中提到,我们将模拟与一个理论上的HIS的互操作性,为此,我们在 Docker 中部署了一个 PostgreSQL 实例以及一系列测试表。为了启动对此外部数据库的查询,我们包含并配置了 Java 网关,以便我们可以通过 JDBC 建立必要的连接。我们还包含了用于连接 PostgreSQL 的 JAVA 库。 让我们看看负责此连接的生产组件。 我们将 JavaGateway 配置为指向我们在 Docker 中部署的 Java 虚拟机: 业务操作FromAdapterToHIS将负责对我们的PostgreSQL进行查询,让我们看看它的配置: 正如我们所看到的,它使用EnsLib.SQL.OutboundAdapter作为 Adapter 类,这将允许我们直接连接到“HIS”的数据库。 DSN 值将是我们的 Docker 中部署的 PostgreSQL 实例的连接字符串。 总之... 让我们回顾一下我们在本文中所做的事情: 在我们的命名空间中安装FHIRAdapter并检查我们是否有一个端点可以将 FHIR 消息发送到。 检查我们的命名空间(InteropService 和 InteropOperation)生产中的缺陷所创建的组件。 创建与我们的“HIS”数据库通信所需的组件。 通过这些步骤,我们已准备好开始接收 JSON 格式的 FHIR 消息。在下一篇文章中,我们将创建负责处理接收到的消息的业务流程,并实现我们需要查阅和编写有关 PostgreSQL 数据库的不同功能。 非常感谢您的关注!
文章
Claire Zheng · 二月 9

InterSystems开发者社区中文版恭祝开发者们龙年大吉!

农历甲辰龙年迤逦而来,InterSystems开发者社区在过去的一年里得到了各位开发者的厚爱与支持,在这新的一年里,恭祝大家龙行龘龘,前程朤朤!
公告
Claire Zheng · 四月 8, 2021

最新职位正在招聘:Sales Engineer

InterSystems中国正在招聘SE,具体职位需求以英文发布,详情如下,欢迎将简历砸过来 (claire.zheng@intersystems.com)or 私信联系 :) Job Details Seniority Level Mid-Senior level Industry Information Technology & Services Computer Software Employment Type Full-time Job Functions Sales Information Technology About the job Intersystems China 系联软件(北京)有限公司, is the trusted Healthcare IT solution provider for many World-Class hospitals and clinics in China, such as China’s largest foreign-invested hospital, United Family Healthcare 和睦家医疗, and one of China’s most prestige medical institution, Peking Union Medical College Hospital 北京协和医院。 The company has a small but collaborative team of talented and passionate individuals working the Greater China Region. Due to China’s economic growth, aging population and the government’s determination in the Healthcare reform, China has become one of InterSystems’ most important strategic regions with unparalleled growth potentials in the years to come. Based at our Beijing office, the Sales Engineer will provide guidance in the use of InterSystems' products as they best suit the requirements of the customer and its market. Product and business strategies are coordinated with the InterSystems Sales Team to apply existing and new products to customers' database and application needs. The role is very wide-ranging and challenging, requiring a mixture of design skills, hands-on coding, presentation skills, technical architecture, sales awareness, business acumen, evangelism, mentoring and training. This role requires regular travel across China and occasionally overseas. Responsibilities Investigate & demonstrate the use of InterSystems products with other 3rd party technologies. Manage the technical relationship with customer accounts, ensuring that they are aware of the latest product capabilities. Identify new opportunities within existing accounts. Build and demonstrate Proof of Concepts (POCs) for prospects and customers to illustrate the suitability, ease of use, performance, features, and reliability and/or connectivity capabilities of InterSystems technology. Participate in business and detailed technical discussions at all levels and in all departments of the customer's organisation to foster the adoption, use and deployment of InterSystems’ technologies. Recommend technical architecture, database schema, design patterns, migration and upgrade strategies and operational best practices. Install InterSystems software and assist with benchmarking exercises to determine optimal deployment configurations. Work as a hands-on lead application developer to coach partners and prospects, particularly in the early stages of adoption or during particularly technically challenging projects. Provide application programming in a variety of InterSystems technologies, and other technologies. Give corporate presentations to InterSystems' customers and prospects at site visits, marketing events and such venues. Topics include strategic and tactical considerations across both technical and business directions. Provide technical product demonstrations. Carry out formal training courses in InterSystems technologies. Support customers and prospects during beta test programmes or pre-launch activities and provide feedback to the software development groups. Assist with troubleshooting and interact with the World-wide Response Centre (WRC) to support resolution of technical problems. Provide consulting services for the Sales Department and other InterSystems departments (Marketing, Support, Development, Documentation among others) as requested Skills and Qualifications Extensive previous experience as a Sales Engineer or related role, preferably in the Healthcare industry. Outstanding interpersonal, communication and presentation skills Demonstrated expertise in developing and implementing the functional specifications for integration projects in the healthcare marketplace, including routing and/or transformation engines Demonstrated experience in all or most of the following: HTML, CSS, JavaScript, XML, XSLT, XPath, XSD, SAX, JSP/Servlets, ASP, SOAP, Web Services Demonstrated expertise in SQL and ODBC / JDBC Demonstrated experience in developing applications in various modern Object-oriented programming languages such as Java, C# and VB.Net Understanding of all or most of the following: Network domains and network configurations, IP Addressing, DNS, WINS, FTP, HTTP, SFTP, SMTP, TELNET and SNMP High level of understanding in Analytics and Business Intelligence concepts. Experience Broad knowledge of IT industry issues & trends including integration, data management, application development and cloud, with specific vertical market & technical knowledge in Integration (SOA, ESB, EAI, ETL, BI…). Proven experience or technical management in an application development environment. At least 4 years programming with demonstrable current hands-on expertise in object-oriented languages such as C#, C++ or Java / J2EE. Knowledge of ESB, Enterprise Application Integration (EAI) experience using InterSystems Ensemble, Health Connece, BEA Software, IBM, Oracle, Microsoft or similar. Ongoing experience within the design, development & deployment of complex applications. Knowledge of application frameworks, application servers and server-less programming models. Knowledge of agile software development processes and continuous development. Extensive use of 2 or more databases such as InterSystems Caché, Oracle, SQLServer, Sybase, Informix or DB2/UDB, including designing logical and physical database schema, good SQL and JDBC/ODBC expertise, installation and configuration skills, and performance tuning. Proven business analysis and problem-solving skills. Strong presentation, influencing and communication skills. Understanding of the business considerations of application development, support and deployment. Software Engineering experience. Familiarity with healthcare related integration in particular HL7 and FHIR standards and protocols. Experience with Business Intelligence and Analytics technologies and approaches. Familiarity with modern web-based development frameworks such as Angular, React, Vue.js or similar. Familiarity with Machine Learning tools and languages English language fluency. 欢迎简历继续砸过来。。。 我们又开始招人啦!
文章
Claire Zheng · 一月 4, 2023

【GS22 视频】智能数据编织:重塑数据利用方式,激活创新!

InterSystems 2022年全球峰会上,InterSystems 数据平台负责人 Scott Gnau解读了智能数据编织(smart data fabric)及其实现方式。Scott 同时也是一位钢笔收藏家,他分享了自己学习收藏的过程,认为这种过程与智能数据编织有着异曲同工之妙。InterSystems IRIS数据平台的诸多优秀能力可以帮助用户实现智能数据编织,重塑数据利用方式!
公告
jieliang liu · 七月 5, 2023

[视频] 为什么横向扩展就像团队合作

嗨,开发者, 欣赏InterSystems Bilibili上的新视频: ⏯为什么水平可扩展性就像团队合作 @ 2022 年全球峰会 借助 InterSystems IRIS,您可以跨节点集群分配数据和工作负载、扩展和扩展以及根据需要动态重新平衡。在本次会议中,您将了解有关该技术和我们的一些部署的更多信息。 🗣演讲者:@Benjamin.DeBoe,InterSystems 产品经理 享受它并保持关注! 👍
公告
jieliang liu · 五月 21, 2021

Java业务主机现在已经不再使用

随着InterSystems IRIS 2020.1和InterSystems IRIS for Health 2020.1中PEX的发布,客户有了比Java Business Host更好的方式来构建Java的产品。PEX为构建互操作性组件提供了一套完整的API,并有Java和.NET两种版本。 从InterSystems IRIS和InterSystems IRIS for Health的2020.4版本开始,Java Business Host已经被删除。 我们鼓励使用Java商业主机的客户迁移到PEX。 PEX的优势 * 允许开发人员在Java或.NET中创建任何生产组件 * 组件之间可以传递更复杂的消息结构 * 简化设置 * S简化了开发工作流程,无需使用ObjectScript。 关于迁移到PEX的更多信息,请参见从Java Business Host迁移到PEX。
文章
Louis Lu · 十一月 2, 2021

IRIS 2021 技术文档 First Look 15 -- 使用 XEP 实例化存储 Java 对象

本文档介绍了 XEP API(com.intersystems.xep),它提供了在 InterSystems IRIS®数据平台上极其快速的对Java 对象存储和检索的能力。文档概述了使用 XEP 将 Java 对象持久化的方法,并引导您通过一个简单的场景来演示该API 的主要功能。 这些演示的内容、只使用默认设置和功能,这样您就可以熟悉 XEP 的基本原理,而不必处理超出本概述范围的细节问题。有关 XEP 的完整文档,请参见 Persisting Java Objects with InterSystems XEP(《使用 InterSystems XEP 持久化 Java 对象》)。 要浏览所有的技术概要(First Look),包括可以在 InterSystems IRIS 免费的评估实例上执行的那些,请参见 InterSystems First Looks(《InterSystems 技术概要》)。 快速的 Java 对象存储和检索 Java 是一种面向对象的语言,因此对于 Java 应用程序来说,将数据建模为对象是很自然的。然而,当应用程序需要将数据存储在数据库中时,这可能会出现问题。如果您使用 JDBC 来存储和检索对象,您就面临着将对象数据转换为一组关系表,然后再将查询结果集转化为对象的问题。这个问题的通常解决方案是使用对象-关系映射(ORM)框架——如 Hibernate——来自动化这个过程。InterSystems IRIS 提供了一个标准的 Hibernate 接口,InterSystems 推荐它用于大型、复杂的对象层次结构。 另一方面,对于执行实时数据采集等任务的应用程序,主要问题是速度而不是数据复杂性。虽然 Hibernate 绝对不慢(如果适当优化的话),但对于需要极其快速地存储和检索简单或中等复杂数据的任务来说,XEP 是一个更好的选择。在大多数情况下,它将比 Hibernate 或 JDBC 快得多。 XEP 是如何工作的? XEP 是一个轻量级的 Java API,它将 Java 对象数据作为持久化事件(persistent event)来处理。持久化事件(persistent event)是 InterSystems IRIS 类(通常是 %Persistent 的子类)的一个实例,包含 Java 对象中数据字段的副本。与任何此类实例一样,可以通过对象访问、SQL 查询或直接 global 访问来检索它。 在创建和存储持久化事件(persistent event)之前,XEP 必须分析相应的 Java 类,并将 schema 导入数据库。Schema 定义了用于存储 Java 对象的持久化事件类的结构。如果持久化事件类还不存在,导入 schema 将自动为其创建数据库定义。来自分析的信息可能是 XEP 导入 schema 所需要的全部信息。对于更复杂的结构,您可以提供额外的信息,允许 XEP 生成索引并覆盖导入字段的默认规则。 在为类创建 schema 之后,您可以使用各种 XEP 方法来存储、更新或删除事件、运行 SQL 查询,并遍历查询结果集。 试一试!XEP 的实际操作 现在是您自己尝试 XEP 的时候了。这个 XepSimple 演示是一个非常小的程序,但它提供了大多数重要的XEP 功能的示例,并概述了如何使用 XEP API。 想试试 InterSystems IRIS Java 开发和互操作性功能的在线视频演示吗?请查看 Java QuickStart(Java 快速入门)! 用前须知 要使用该程序,您需要在一个系统上安装 JDK 1.8 版本和任意的 Java IDE,并连接一个正在运行的 InterSystems IRIS 实例。您对 InterSystems IRIS 的选择包括多种已授权的和免费的评估实例;实例不需要是您正在工作的系统(尽管它们必须具有网络访问权限)。关于如何部署每种类型的实例的信息(如果您还没有可使用的实例),请参见 InterSystems IRIS Basics: Connecting an IDE(《InterSystems IRIS 基础:连接一个 IDE》)中的 Deploying InterSystems IRIS(部署 InterSystems IRIS)。使用同一文档中的 InterSystems IRIS Connection Information(InterSystems IRIS 连接信息)和 Java IDE 中的信息,将 IDE 连接到您的 InterSystems IRIS 实例。 添加示例代码 下面的演示向您演示如何使用 XEP 和 InterSystems IRIS。XepSimple 演示是一个非常小的程序,但它提供了大多数关键 XEP 功能的示例,并概述了如何使用 XEP API。 您可以阅读这里列出的代码,或者您可以从 InterSystems GitHub 存储库下载并自己运行它。下载的内容包括一个 ReadMe,其中包含开始时需要的所有信息。 演示程序分为四个部分,每个部分演示四个主要 XEP 类中的一个:EventPersister、Event、EventQuery 和 EventQueryIterator: class XepSimple package xepsimple; import com.intersystems.xep.*; import xep.samples.SingleStringSample; public class XepSimple { public static void main(String[] args) throws Exception { // Generate 12 SingleStringSample objects for use as test data SingleStringSample[] sampleArray = SingleStringSample.generateSampleData(12); // EventPersister EventPersister xepPersister = PersisterFactory.createPersister(); xepPersister.connect("127.0.0.1",51773,"User","_SYSTEM","SYS"); // connect to localhost xepPersister.deleteExtent("xep.samples.SingleStringSample"); // remove old test data xepPersister.importSchema("xep.samples.SingleStringSample"); // import flat schema // Event Event xepEvent = xepPersister.getEvent("xep.samples.SingleStringSample"); for (int i=0; i < sampleArray.length; i++) { SingleStringSample sample = sampleArray[i]; // array initialized on line 8 sample.name = "Sample object #" + i; xepEvent.store(sample); System.out.println("Persisted " + sample.name); } // EventQuery String sqlQuery = "SELECT * FROM xep_samples.SingleStringSample WHERE %ID BETWEEN ? AND ?"; EventQuery<SingleStringSample> xepQuery = xepEvent.createQuery(sqlQuery); xepQuery.setParameter(1,3); // assign value 3 to first SQL parameter xepQuery.setParameter(2,12); // assign value 12 to second SQL parameter xepQuery.execute(); // get resultset for IDs between 3 and 12 // EventQueryIterator EventQueryIterator<SingleStringSample> xepIter = xepQuery.getIterator(); while (xepIter.hasNext()) { SingleStringSample newSample = xepIter.next(); newSample.name = newSample.name + " has been updated"; xepIter.set(newSample); System.out.println(newSample.name); } xepQuery.close(); xepEvent.close(); xepPersister.close(); } // end main() } // end class XepSimple XepSimple 执行以下任务: 首先,通过调用示例数据类(sample data class) xep.samples.SingleStringSample 的方法生成一些示例对象。 EventPersister 是 XEP 的主要入口点(main entry point),并提供到数据库的连接。 它创建一个名为 xepPersister 的实例,该实例建立到数据库的连接并删除任何现有的示例数据。然后调用 importSchema() 来分析示例类并将 schema 发送到数据库,进而扩展空间保存持久化 SingleStringSample 对象。 EventPersister 包含连接 InterSystems IRIS 实例所需信息——主机名、端口、IRIS命名空间、用户名和密码。使用实例的正确信息更新它们,如 InterSystems IRIS Basics:Connecting an IDE( 《InterSystems IRIS 基础:连接一个 IDE》)中的 InterSystems IRIS Connection Information(InterSystems IRIS 连接信息)所述,这与您用来连接 IDE 和实例的信息相同。可以指定使用 USER 命名空间,或者使用您在已安装的实例中创建的另一个命名空间。如果实例是本地安装的,并且连接使用 localhost 作为服务器地址,程序将使用本地共享内存连接,这比标准的 TCP/IP 连接还要快。 Event 封装了(encapsulate) Java 对象和相应的数据库对象之间的接口。 一旦生成了 schema ,xepPersister 就可以为示例类创建一个名为 xepEvent 的 Event 对象。在循环中,SingleStringSample 的每个实例都将被修改,然后被持久化到数据库中。 xepEvent store() 方法使用了xepPersister 中定义的连接和 schema。 EventQuery 用于准备和执行 SQL 查询。 名为 xepQuery 的 EventQuery<SingleStringSample> 对象是通过将查询字符串传递给 xepEvent 对象的 createQuery() 方法创建的。 该字符串定义了一个接受两个参数(? 字符)的 SQL 查询。 参数值是通过调用 setParameter() 定义的,调用 execute() 可查询结果集。 EventQueryIterator 用于从结果集中读取行,并更新或删除相应的持久化对象。 现在 xepQuery 包含了查询结果集,可以通过调用 getIterator() 为它创建一个名为 xepIter 的迭代器。在循环中,迭代器的 next() 方法被用来获取每一行数据并将其分配给 SingleStringSample 对象。然后修改对象,迭代器的 set() 方法更新数据库中相应的持久化对象。 当处理完成后,它通过调用 XEP 对象的 close() 方法进行清理。 SingleStringSample 类 如果您感兴趣,下面是我们的示例类列表: 了解有关 XEP 和对象持久化的更多信息 xep.samples.SingleStringSample public class SingleStringSample { public String name; public SingleStringSample() {} SingleStringSample(String str) { name = str; } public static SingleStringSample[] generateSampleData(int objectCount) { SingleStringSample[] data = new SingleStringSample[objectCount]; for (int i=0;i<objectCount;i++) { data[i] = new SingleStringSample("single string test"); } return data; } } 之所以选择这个类,部分原因是在 XEP 生成 schema 之前不需要添加标注 annotation。大多数类都需要一个或多个标注来进行 schema 优化(这超出了本文的讨论范围)。 下一步 XepSimple 演示的目的是让您体验 XEP,而又不陷入细节困境,它并非用于实际生产代码的模型——它甚至没有进行异常检查。最重要的简化是在示例数据中。您不需要标注或其他机制来帮助 schema 的生成和优化,类持久化了一些很小的 Java 对象。实际应用程序通常需要一些标注(尽管通常比 Hibernate 少)。 当您把 XEP 引入生产系统时,您将需要了解 XEP 为提要优化、索引控制、批量加载和其他重要任务提供的全部工具 。主要的 XEP 书籍 Persisting Java Objects with InterSystems XEP (《使用 InterSystems XEP 持久化 Java 对象》)对这些功能进行了全面描述。本文档末尾列出的参考资料描述了 InterSystems IRIS 对 Java 支持的其他方面。 了解有关 XEP 和对象持久化的更多信息 要了解有关 Java 对象持久化和其他 InterSystems Java 互操作性技术的更多信息,请参见: First Look: JDBC and InterSystems Databases(《技术概要:JDBC 和 InterSystems 数据库》)介绍了如何通过 JDBC 连接到 InterSystems IRIS:它提供了产品简介、特殊功能介绍,以及一个亲自尝试的机会。这是一个简单了解并熟悉 InterSystems IRIS 对 Java 支持的起点。 Using Java with the InterSystems JDBC Driver (《在 InterSystems JDBC 驱动程序中使用 Java》)中的 “InterSystems Java Connectivity Options(InterSystems Java 连接选项)”概述了 JDBC 驱动程序支持的所有 InterSystems IRIS Java 技术。 InterSystems IRIS 提供了 Java API,通过 SQL 表、对象和多维存储轻松访问数据库。有关每种类型访问的详细信息,请参见以下书籍: Using Java with the InterSystems JDBC Driver(《在 InterSystems JDBC 驱动程序中使用 Java》)进行 SQL 表访问。InterSystems JDBC 驱动程序允许 InterSystems IRIS 建立到外部应用程序的 JDBC 连接,并通过 SQL 提供对外部数据源的访问。 Using the Native API for Java(《使用 Native API for Java》)进行本机多维存储访问。InterSystems IRIS 本机 API 允许您直接访问本机基于树的多维存储数据结构,这些结构是 InterSystems IRIS 对象和 SQL 表接口的基础 Persisting Java Objects with InterSystems XEP(《使用 InterSystems XEP 持久化 Java 对象》)进行对象访问。XEP 针对事务处理应用程序进行了优化,这些应用程序处理简单到中等复杂的对象层次结构,并需要极快的对象数据持久化和检索。 Implementation Reference for Java Third Party APIs(《Java 第三方 API 的实施参考 》)中的 "Hibernate Support(Hibernate 支持)"描述了 InterSystems IRIS 的 Hibernate 实现。这个实现了对 Java Persistence Architecture(JPA)的支持,这是推荐用于 Java 项目中大型、复杂对象层次结构的持久化技术。
问题
Yufeng Li · 四月 19, 2021

Nginx 怎么配置成IRIS web服务器

现在有windows上的 编译好的nginx 可以做为iris 的web 服务器吗? ngx_http_csp_module_sa.c , cspapi.h 这两个文件在哪下载? 请从Nginx官网:nginx.org 下载,InterSystems不提供nginx 下载。 文中提到的文件可以在InterSystems IRIS 安装目录的 \dev\csp\nginx 文件夹下找到。
公告
Claire Zheng · 十一月 30, 2022

荣誉!InterSystems被独立研究机构Forrester评为“事务分析型数据平台领导者”

2022 年 12 月 1 日,中国,北京——致力于帮助客户解决最关键的可扩展性、互操作性和速度问题的创新数据技术提供商 InterSystems 今天宣布,在Forrester日前公布的《The Forrester Wave™:事务分析型数据平台(2022年第4季度)》报告中,InterSystems IRIS® 数据平台被评为领导者。 Forrester 将事务分析型数据平台(Translytical data platform)定义为“构建在单一数据库引擎上来支持多种数据类型和数据模型的下一代数据平台,旨在支持事务、操作和分析工作负载,而不牺牲数据完整性、性能和分析规模”。 InterSystems 认为实时(real-time)功能对事务分析型平台至关重要,是智能数据编织(smart data farics)的一个关键组成部分。这种方法基于数据和实时分析,为业务线用户提供洞察,使组织能够更快地管理中断(manage disruption),并在充满不确定和竞争日益激烈的环境中发现新的机会。 在评估过程中,Forrester 根据三个类别的标准对供应商进行了评分:当前产品、战略和市场占有率。InterSystems 在以下这些标准中均获得了最高分:建模/工具;可延展性(扩展平台的功能);可扩展性;产品愿景(与客户当前和未来需求一致);执行路线图;公司业绩以及工程师数量。 InterSystems IRIS® 数据平台 使企业能够快速开发、部署和执行数据密集型分析应用程序。通过让构建高性能、支持机器学习的应用程序变得更容易(这些应用程序可以连接数据和应用孤岛),InterSystems IRIS 简化了架构,赋能关键任务应用程序——当今企业需要这些应用程序快速解决棘手的业务难题。 InterSystems 数据平台副总裁 Scott Gnau 表示:“我们知道,在一个竞争更激烈、更动荡的世界中,企业需要更快地获得洞察以改进决策。InterSystems为客户提供了一些全新视角,这些视角只能来自于对所有相关数据的深入分析。” 通过创建智能数据编织(smart data fabric)架构,InterSystems IRIS 使企业能够做出更智能的决策,实现更好的结果。目前,一家管理着超过1万亿美元资产的全球投资银行正在使用 InterSystems IRIS 为其实时多资产交易平台提供动力,与之前的实施相比,InterSystems IRIS 令平台的可靠性、可扩展性和成本效益都得到了提升。得益于 InterSystems IRIS,银行表现提高了 10 倍,运营成本降低了 75%,吞吐量增加了 5 倍。 InterSystems IRIS 拥有如 InterSystems IRIS 自适应分析(可实现业务用户的自助服务)、IntegratedML(可用于公众数据科学),以及在编程工作流中执行实时分析的极端性能等优秀功能。InterSystems IRIS 部署在全球各地,可在多个公共云市场上使用,包括 Amazon Web Services、Microsoft Azure 和谷歌云平台。 点击“这里”,下载《The Forrester Wave™:事务分析型数据平台(2022年第4季度)》。
文章
Claire Zheng · 一月 13, 2023

【GS22 视频】医疗IT行业趋势观察与解读

InterSystems 2022年全球峰会上,InterSystems HealthShare 产品管理总监 Jonathan Teich 及其团队解读了医疗与医疗IT行业的趋势,并分享了HealthShare的最新产品策略与路线图,演示了一些易用且具有前瞻性的功能和用例。
公告
jieliang liu · 四月 18, 2022

新视频!SQL性能--极品飞车!

各位开发者们好, 欢迎在我们的 Bilibili 频道观看新视频: 客户选择InterSystems IRIS的原因是其强大的数据引擎的纯粹速度。为了衡量我们的引擎改进对速度的贡献,我们不断地进行性能测试,包括内部测试和使用客户的数据和工作负载的测试。在过去的一年里,这些测试表明基于SQL的应用程序的性能有了很大的提高,我们将很高兴在这个视频中告诉你更多。 收获: InterSystems IRIS提供的SQL性能会让你大吃一惊。 演讲者: @Benjamin.DeBoe, InterSystems 产品经理 本视频的其他材料,你可以在 InterSystems Online Learning Course找到。 请继续关注! 👍🏼
公告
Claire Zheng · 一月 17, 2022

了解如何使用IRIS医疗版构建您的首款FHIR应用!

为了帮助您开始使用FHIR,我们发布了一个新的学习路径: Building Basic FHIR Integrations with InterSystems IRIS for Health. 通过这个路径,您可以学习FHIR的基础知识,学习如何在InterSystems IRIS医疗版中设置FHIR端点,将数据应用到FHIR存储库并转换FHIR数据,使用InterSystems API管理器管理FHIR API,以及使用客户端应用查询FHIR资源。该路径包括一些建议,例如使用SDA-FHIR转换将其他数据格式转换为FHIR。 我们还在考虑如何创建额外的内容,以指导您启用现有的应用程序并利用存储在FHIR存储库之外的数据。这些对您有用吗?关于如何使用FHIR和InterSystems产品,您还想学习什么?
文章
TZ Zhuang · 八月 6, 2021

FAQ 常见问题系列--系统管理篇 如何使用命令在Journal日志文件中搜索指定的Global

可以使用%SYS.Journal.File类中的ByTimeReverseOrder查询,以及%SYS.Journal.Record类中的List查询来实现。 下面是这两个查询的具体作用: A) %SYS.Journal.File类中的ByTimeReverseOrder查询这个查询会获取journal日志文件名并按降序排列 USER>set rs=##class(%ResultSet).%New("%SYS.Journal.File:ByTimeReverseOrder") USER>do rs.Execute() USER>while rs.Next() { write rs.Name,! } c:\intersystems\cache\mgr\journal\20190620.003 c:\intersystems\cache\mgr\journal\20190620.002 c:\intersystems\cache\mgr\journal\20190620.001 c:\intersystems\cache\mgr\journal\20190610.001 B) %SYS.Journal.Record类中的List查询这个查询可以从指定journal日志文件中获取日志记录 USER>set rs2=##class(%ResultSet).%New("%SYS.Journal.Record:List") USER>do rs2.Execute("c:\intersystems\cache\mgr\journal\20190620.003") USER>while rs2.Next() { if rs2.Get("GlobalReference")["TEST" write rs2.Get("GlobalReference"),!} ^["^^c:\intersystems\cache\mgr\user\"]TEST(1) ...... ^["^^c:\intersystems\cache\mgr\user\"]TEST(9) ^["^^c:\intersystems\cache\mgr\user\"]TEST(10) 这里我们可以把从A查询获得的结果传到B查询里。如果想了解从B查询里还能获得哪些字段的内容,请参考文档里的%SYS.Journal.Record类定义 下面是一个把A和B查询合并在一起的例子: ///参数 globalname: 需要查询的Global名字(不包括^) ClassMethod SearchAllJournals(globalname As %String) { if $get(globalname)="" { write "请指定Global名字",! quit } //从当前所有journal日志文件中搜索指定的global set rs1=##class(%ResultSet).%New() set rs1.ClassName="%SYS.Journal.File" set rs1.QueryName="ByTimeReverseOrder" do rs1.%Execute() while rs1.%Next() { set jrnfile=rs1.%Get("Name") set size=rs1.%Get("Size") write "Journal file:",jrnfile,!," File size:",size/1024/1024," MB",! do ..SearchGlobal(globalname,jrnfile) } do rs1.Close() } ///第一个参数 globalname: 需要查询的Global名字(不包括^) ///第二个参数 jrnfile: 指定的journal日志文件名字(包括路径) ClassMethod SearchGlobal(globalname As %String, jrnfile As %String) { set rs1=##class(%ResultSet).%New() set rs1.ClassName="%SYS.Journal.Record" set rs1.QueryName="List" //打开journal日志文件并搜索指定的Global do rs1.%Execute(jrnfile,"GlobalReference,NewValue",,,$lb("GlobalReference","[",globalname)) while rs1.%Next() { set glo=rs1.%Get("GlobalReference") write " ",glo," = ",rs1.%Get("NewValue"),! } do rs1.Close() }