搜索​​​​

公告
Claire Zheng · 一月 4

InterSystems开发者竞赛:数据集

亲爱的社区开发者们,大家好! 欢迎积极参与新一轮InterSystems开发者竞赛! 随着 InterSystems IRIS 2021.2 预览版 的发布和全新的 LOAD DATA 功能,我们希望将其与最新的竞赛(数据集)结合起来! 🏆 InterSystems 数据集竞赛🏆 竞赛时间: 2021年12月27日-2022年1月16日 奖金总额: $9,450 奖项设置 1.专家提名奖(Experts Nomination)- 获奖者由我们特别挑选的专家团选出: 🥇 第一名 - $4,000 🥈 第二名 - $2,000 🥉 第三名 - $1,000 🌟 第四名-第十名 - $100 2. 社区提名奖(Community Nomination)- 获得总投票数最多的应用: 🥇 第一名 - $1,000 🥈 第二名 - $500 🥉 第三名 - $250 如果同时多位参赛者获得同样的票数,均被视为优胜者,将平分奖 谁可以参加? 任何开发者社区的成员均可参加,InterSystems内部员工除外(InterSystems contractor员工可以参加)。还没有账号?现在来建一个! 👥 开发者可以组团 创建一个协作应用程序,组团限定人数为2-5人。 请注意,要在您的README文件中标注您的团队成员——社区用户profile 参赛时间安排 🛠 12月27日 - 1月9日: 应用开发、提交阶段 ✅ 1月10日 - 16日:投票阶段 注意:在整个参赛期间(开发与投票期间),开发者可持续编辑、提升其应用 主题 在我们此前的竞赛中,最常被提及的问题之一是缺乏数据集(Dataset)。每当您有一个关于特定领域或行业的项目idea时,您就需要一个相关数据集。此次竞赛的部分工作就是寻找/准备/加载数据集。 这就是为什么我们要举办此次数据集竞赛!让我们为社区带来一些有用的数据集吧! 我们在寻找什么? 提供将数据集加载到InterSystems IRIS名称空间中的存储库。 理想情况下,这可以使用ZPM包来完成,数据可以在包(package)中,或者包可以有一个方法,将数据从URL加载到IRIS实例中。 无论如何,一旦安装您的项目,应该带来一个类(class)及其与特定主题、主题领域、想法,行业等相关的数据。 项目应该建议如何使用数据——SQL查询、REST API或两者兼用。 数据的可视化是加分项。可视化和API(如果有的话)都可以与其他项目一起交付,但不是强制性的。 我们不会限制您在存储库中存储数据的方式。 例如,这可能是: 导出global(-s) (最好是XML格式而不是GOF格式) 创建数据的SQL脚本 在IRIS中生成数据的ObjectScript (或 java, js, python等) 与外部数据API集成 以下是一些项目示例: Dataset-titanic, Dataset-countries, Posts and tags, Synthea 要求: 类(Class)的命名约定。Class命名以 dc.data.your_name.class格式。例如:如果有一个关于交易数据的数据集,Class名可以是dc.data.finance.transaction或者dc.data.finance.instrument. 对数据源的引用。如果您从Internet上的某个地方获取数据集,并将其调整为InterSystems IRIS格式,请提供源链接。 如果这是您自己的数据,请提供使用许可。 ZPM包应以“dataset-”名称开头,例如:dataset-countries, dataset-titanic. 针对docker, demo, 文章, zpm和视频等,我们照例会提供技术奖励。 为数据集提供许可。 👉 数据集的常用许可类型 (源链接) Spoiler Common licenses in order of most open to most restrictive: PUBLIC DOMAIN MARK - PUBLIC DOMAIN Dedicate your dataset to the public domain: This isn’t technically a license since you are relinquishing all your rights in your dataset by choosing to dedicate your dataset to the public domain. To donate your work to the public domain, you can select “public domain” from the license menu when creating your dataset. OPEN DATA COMMONS PUBLIC DOMAIN DEDICATION AND LICENSE - PDDL This license is one of the Open Data Commons licenses and is like a public domain dedication. It allows you, as a dataset owner, to use a license mechanism to surrender your rights in a dataset when you might not otherwise be able to dedicate your dataset to the public domain under applicable law. CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL CC-BY This license is one of the open Creative Commons licenses and allows users to share and adapt your dataset so long as they give credit to you. COMMUNITY DATA LICENSE AGREEMENT – CDLA PERMISSIVE-2.0 This Community Data License Agreement is similar to permissive open source licenses such as the MIT license. It allows users to use, modify and adapt your dataset and the data within it, and to share it. The CDLA-Permissive-2.0 terms explicitly do not impose any obligations or restrictions on results obtained from users’ computational use of the data. The 2.0 version is significantly shorter, uses plain language to express the grant of permissions and requirements. The only obligation is to "make available the text of this agreement with the shared Data," including the disclaimer of warranties and liability. OPEN DATA COMMONS ATTRIBUTION LICENSE - ODC-BY This license is one of the Open Data Commons licenses and allows users to share and adapt your dataset so long as they give credit to you. CREATIVE COMMONS ATTRIBUTION-SHAREALIKE 4.0 INTERNATIONAL - CC-BY-SA This license is one of the open Creative Commons licenses and allows users to share and adapt your dataset so long as they give credit to you and distribute any additions, transformations or changes to your dataset under this license. We consider this license (a.k.a a viral license) problematic since others may decide not to work with your CC-BY-SA licensed dataset if there is risk that by doing so their work on your dataset will need to be shared under this license when they would rather use another license. COMMUNITY DATA LICENSE AGREEMENT – CDLA-SHARING-1.0 This license is one of the Community Data License Agreement licenses and was designed to embody the principles of "copyleft" in a data license. It allows users to use, modify and adapt your dataset and the data within it, and to share the dataset and data with their changes so long as they do so under the CDLA-Sharing and give credit to you. The CDLA-Sharing terms explicitly do not impose any obligations or restrictions on results obtained from users’ computational use of the data. OPEN DATA COMMONS OPEN DATABASE LICENSE - ODC-ODBL This license is one of the Open Data Commons licenses and allows users to share and adapt your dataset so long as they give credit to you and distribute any additions, transformation or changes to your dataset under this license. We consider this license (a.k.a a viral license) problematic since others may decide not to work with your ODC-ODbL licensed dataset if there is risk that by doing so their work on your dataset will need to be shared under this license when they would rather use another license. CREATIVE COMMONS ATTRIBUTION-NONCOMMERCIAL 4.0 INTERNATIONAL - CC BY-NC This license is one of the more restrictive Creative Commons licenses. Users can share and adapt your dataset if they give credit to you and do not use your dataset for any commercial purposes. CREATIVE COMMONS ATTRIBUTION-NODERIVATIVES 4.0 INTERNATIONAL - CC BY-ND This license is one of the more restrictive Creative Commons licenses. Users can share your dataset if they give credit to you, but they cannot make any additions, transformations or changes to your dataset under this license. CREATIVE COMMONS ATTRIBUTION-NONCOMMERCIAL-SHAREALIKE 4.0 INTERNATIONAL - CC BY-NC-SA This license is one of the most restrictive Creative Commons licenses. Users can share your dataset only if they (1) give credit to you, (2) do not use your dataset for any commercial purposes, and (3) distribute any additions, transformations or changes to your dataset under this license. We consider this license a viral license since users will need to share their work on your dataset under this same license and any users of the adapted dataset would likewise need to share their work on the adapted dataset under this license and so on for any other changes to those modified datasets. CREATIVE COMMONS ATTRIBUTION-NONCOMMERCIAL-NODERIVATIVES 4.0 INTERNATIONAL - CC BY-NC-ND This license is one of the most restrictive Creative Commons licenses. Users can share only your unmodified dataset if they give credit to you and do not share it for commercial purposes. Users cannot make any additions, transformations or changes to your dataset under this license. ADDITIONAL LICENSE COVERAGE OPTIONS If a license is not listed in the data.world menu options, you may select Other and specify the details in the summary of your dataset. NO LICENSE SPECIFIED No one can use, share, distribute, re-post, add to, transform or change your dataset if you have not specified a license. These descriptions are only summaries of these licenses. For the actual text of the licenses, which we strongly encourage you to read, click on the links provided. Summary of common license types: PUBLIC DOMAIN The work has been dedicated to the public domain by waiving all rights to the work worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law. ATTRIBUTION You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use. SHARE-ALIKE If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original. NON-COMMERCIAL You may not use the material for commercial purposes. DATABASE ONLY License applies to the database only and not its contents or data. NO DERIVATIVES No Derivative Works. You may not alter, transform, or build upon this work. All licenses that begin with CC-BY in the table above refer to version 4.0 of those licenses. 一般要求: 有效应用程序:100%全新的Open Exchange Apps或已有的应用程序(但有显著提升)。所有参赛者/团队提交的应用程序只有经过我们团队的审核之后才会被批准参赛。 该应用可以在 IRIS Community Edition or IRIS for Health Community Edition or IRIS Advanced Analytics Community Edition上运行。 该应用需开源并在GitHub上发布。 该应用的README文件应为英文,包含安装步骤,并包含视频demo或/和应用程序如何运行的描述。 资源助力 1. InterSystems IRIS初学者: Build a Server-Side Application with InterSystems IRIS Learning Path for beginners 2. ObjectScript Package Manager (ZPM) 初学者: How to Build, Test and Publish ZPM Package with REST Application for InterSystems IRIS Package First Development Approach with InterSystems IRIS and ZPM 3. 如何将您的APP提交给大赛 如何在InterSystems Open Exchange上发布应用程序 如何把参赛APP提交给大赛 4. 更多 InterSystems IRIS 和 IRIS for Health 2021.2 预览版发布 LOAD DATA 参赛评比 投票规则即将发布,敬请期待! So! 期待您的精彩提交!加入我们的编程马拉松,赢取大奖。 ❗️ 点击此处,查看 官方竞赛条款解读. ❗️
公告
Louis Lu · 十二月 16, 2021

InterSystems IRIS 和 IRIS for Health 2021.2 预览版发布

InterSystems IRIS、IRIS for Health 以及 HealthShare Health Connect 的 2021.2 版本的预览版现已发布。 由于这是一个预览版,我们希望在下个通用版本发布之前了解您对这个新版本的体验。请通过开发者社区分享您的反馈,以便我们能够共同打造一个更好的产品。 InterSystems IRIS 数据平台 在 2021.2 版本中使开发、部署和管理用于连接数据、应用孤岛的增强型应用和业务流程变得更加容易。它有许多新的功能,包括: 为应用程序和界面开发人员提供的增强功能: 嵌入式Python 使用 Python 进行的互操作性Production开发 对Visual Studio Code ObjectScript扩展包的更新 增加了新的商业服务和操作,允许用户用最少的自定义编码来设置和运行SQL查询 对数据分析和人工智能的增强: 新的SQL LOAD命令有效地将CSV和JDBC源的数据加载到表中 增强自适应分析功能 对云和云上运营任务的增强: 新的云连接器使得在 InterSystems IRIS 应用程序中访问和使用云服务变得简单。 IKO的改进提高了Kubernetes 资源的可管理性 针对数据库和系统管理员的增强功能: 在线分片再平衡可以在不中断操作的情况下自动在各节点间分配数据 自适应 SQL 引擎使用快速块采样和自动化来收集高级表的统计数据,并利用运行时信息来改进查询规划 通过新的流类型数据和日志文件压缩设置,减少InterSystems IRIS的存储需求 使用系统提供的库,支持 TLS 1.3 和 OpenSSL 1.1.1 新的^TRACE工具报告详细的进程统计数据,如缓存点击率和读取率 关于所有这些功能的更多细节可以在产品文档中找到。 InterSystems IRIS 2021.1文档和发布说明 InterSystems IRIS for Health 2021.1 文档和发布说明 HealthShare Health Connect 2021.1 文档和发布说明 InterSystems IRIS 2021.2是一个持续交付(CD)版本,现在为所有支持的平台提供经典安装包,以及OCI(Open Container Initiative)又称Docker容器格式的容器镜像。 容器镜像可用于符合OCI标准的Linux x86-64和Linux ARM64的运行时引擎,详见支持平台。 每个产品的完整安装包都可以从WRC的产品下载网站获得。使用 "自定义 "安装选项,用户可以选择他们需要的选项,如 InterSystems Studio 和IntegratedML,以合理地缩小安装内容。 安装包和预览密钥可以从WRC的预览下载站点获得。 企业版、社区版和所有相应组件的容器镜像可以通过以下命令从 InterSystems容器注册中心获得。 docker pull containers.intersystems.com/intersystems/iris:2021.2.0.617.0 docker pull containers.intersystems.com/intersystems/iris-ml:2021.2.0.617.0 docker pull containers.intersystems.com/intersystems/irishealth:2021.2.0.617.0 docker pull containers.intersystems.com/intersystems/irishealth-ml:2021.2.0.617.0 关于可用镜像的完整列表,请参考ICR文档。 另外,所有容器镜像的tarball版本可以通过WRC的预览版下载网站获得。 该预览版的构建号是2021.2.0.617.0。
文章
Claire Zheng · 十二月 13, 2021

InterSystems IRIS 实用案例: 为什么说是时候迁移 Caché 和 Ensemble 应用了?

我在 InterSystems 工作了 35 年,期间见证了许多客户与我们共同成长。我们热忱地帮助客户取得成功——无论他们衡量成功的标准是什么——而成功的基石就是我们提供的技术。我们的名字现在通常与我们的 InterSystems IRIS 数据平台联系在一起,因为它实际上是我们经过验证的下一代数据管理软件。 在InterSystems IRIS 之前,我们以 Caché 和Ensemble 的强大功能而闻名,全球许多最重要的应用都是在它们的帮助下得以面世的。如果您也是我们的Caché 或 Ensemble 客户,这些平台如今无疑是您组织基础设施的重要组成部分,是一些优秀应用的基础。 然而,正如我们不断发展我们的技术,我们也希望帮助您发展现有技术,并使您能够利用最新的数据平台技术——即从人工智能(AI) 到云计算的各种最新技术。我们认为 InterSystems IRIS 的时代已来临,因此,我们将为所有现有的 Caché 和Ensemble 客户提供限时免费迁移到InterSystems IRIS 数据平台的机会。 我们理解,对业已成为您业务重要组成部分的现有解决方案进行任何更改,都将是一项艰巨的任务,但请相信我们,这一切都是值得的。我们的一面之词也许不足为信,但我们现有的许多客户已经做出了这样的转变,其中包括医疗软件公司Epic。 作为一个使用我们技术超过 40 年的忠实客户,Epic 去年决定迁移到InterSystems IRIS。其系统拥有 250 万并发用户,每秒处理大约 18 亿次数据库访问,因此,能够平稳迁移至关重要。通过我们的共同努力,迁移非常顺利。现在Epic 的客户体验到了更高的性能和更佳的可扩展性。 在此列举部分迁移到InterSystems IRIS 可拥有的优势: 更高的性能、可扩展性和资源效率 通过迁移,您将能够以小博大,用更少的资源做更多的事情,并同时管理多种不同类型的工作负载。为了让您更好地理解这一所指,我们通过速度测试(Speed Test)得出,与其他主流数据管理软件相比,InterSystems IRIS 在测试期间多摄取了 620.9% 的记录,在测试结束时多摄取了 717.3% 的记录。 开发人员生产力 InterSystemsIRIS 具有化繁为简的功能。您的开发人员可以在一个平台内构建和测试所有应用,现在使用嵌入式Python,您可以访问更大的开发资源池,以及数十万个可用的Python 库。从而让开发周期更短,控制和管理更简单。 云部署 作为一个“云中立”的平台,InterSystemsIRIS 不会将您与任何云供应商绑定。因此更加经济、高效和敏捷。 机器学习 我们的IntegratedML 功能为创建机器学习 (ML) 模型提供了一种简单的机制,让您更轻松地将 ML 模型实施到您的实时应用中。 Adaptive Analytics自适应分析 利用新的自适应分析 (Adaptive Analytics) 功能,您的组织无需依赖IT,即可更轻松地探索和分析数据。这意味着业务用户将能够获得他们所需的洞察力,从而做出明智的业务决策,并使您的 IT 团队专注于其他工作。 互操作性和 API 管理能力 通过迁移,您可以实时获得所有数据的统一视图。利用我们的数据平台,您可以连接不同的系统、技术和数据,为您的业务用户创建单一虚拟管理界面,或为您的企业应用创建实时连接。 轻松实现迁移 迁移到InterSystems IRIS 的理由,除了上述这些之外,还有很多。 如果您准备迁移到 InterSystems IRIS(已有数百个 Caché和 Ensemble 客户成功迁移),您可以登录www.intersystems.com/migrate了解更多关于如何迁移到 InterSystems IRIS 上的信息。 原文:Unleashing InterSystems IRIS: Why it’s time to migrate your Caché and Ensemble applications 关于作者 John Paladino负责InterSystems的支持、质量保证、内部计算机操作及客户教育工作。自1984年加入InterSystems以来,他帮助开发了自动化支持跟踪系统和针对所有InterSystems软件产品的客户培训项目,制定并实施了旨在改善响应性、提高客户满意度的服务标准,以及多个国内外团队建设计划。在加入InterSystems之前,他曾在New England Pathology担任了三年的系统工程经理,负责获取、实施和管理各类信息技术。Paladino曾在伍斯特理工学院和马萨诸塞大学卢维尔分校攻读电机工程专业。
公告
Jeff Liu · 二月 8

InterSystems IRIS 和 IRIS for Health 2021.2 正式发布!

InterSystems 数据平台团队非常高兴地宣布,InterSystems IRIS数据平台、InterSystems IRIS for Health和HealthShare Health Connect的2021.2版本现已向我们的客户和合作伙伴全面开放(GA)。 发布重点: InterSystems IRIS数据平台2021.2使开发、部署和管理连接数据和应用孤岛的增强型应用和业务流程更加容易。它有许多新的功能和改进! 为应用程序和界面开发人员提供的增强功能,包括: 嵌入式Python 使用Python进行互操作性开发 对Visual Studio Code ObjectScript扩展包的更新 增加了新的业务服务和操作,允许用户以最少的自定义编码来设置和运行SQL查询 对分析和人工智能的增强,包括: 新的SQL LOAD命令有效地将CSV和JDBC源数据加载到表中 增强适应性分析的功能 对云计算和运营任务的加强,包括: 新的云连接器使得在InterSystems IRIS应用程序中访问和使用云服务变得简单。 IKO的改进提高了Kubernetes资源的可管理性 对数据库和系统管理员的增强,包括: 在线分片再平衡可以在不中断操作的情况下自动在各节点间分配数据 自适应SQL引擎使用快速块采样和自动化来收集高级表的统计数据,并利用运行时信息来改进查询规划 通过新的流和日志文件压缩设置,InterSystems IRIS的存储需求得以降低 支持TLS 1.3和OpenSSL 1.1.1,使用系统提供的库 新的^TRACE工具报告详细的进程统计数据,如缓存点击率和读取率 关于所有这些功能的更多细节可以在产品文档中找到: InterSystems IRIS 2021.2 documentation and release notes InterSystems IRIS for Health 2021.2 documentation and release notes HealthShare Health Connect 2021.2 documentation and release notes 如何获得软件 InterSystems IRIS 2021.2是一个持续交付(CD)版本,现在带有所有支持平台的经典安装包,以及OCI(Open Container Initiative)(又称Docker容器格式)的容器镜像。 容器镜像可用于Linux x86-64和Linux ARM64的OCI兼容运行时引擎。 详见 支持平台文档. 每个持续交付产品的完整安装包都可以从WRC 支持中心的网站 获得 . 使用 "自定义 "安装选项使用户能够挑选他们需要的选项,如InterSystems Studio和IntegratedML,以正确地缩小他们的安装范围。 容器镜像 企业版本,和社区版本 和所有的相关组件都可以从 InterSystems Container Registry 使用以下命令获得: docker pull containers.intersystems.com/intersystems/iris:2021.2.0.649.0 docker pull containers.intersystems.com/intersystems/iris-ml:2021.2.0.649.0 docker pull containers.intersystems.com/intersystems/irishealth:2021.2.0.649.0 docker pull containers.intersystems.com/intersystems/irishealth-ml:2021.2.0.649.0 有关可用镜像的完整列表,请参考 ICR 文档. 另外,所有容器镜像的tarball版本可以通过WRC的 CD容器产品下载网站获得。. 我们在主要云市场上的相应列表将在未来几天内更新。 分享你的经验 我们很高兴看到这个版本现在达到了GA的里程碑,并渴望听到你对新软件的体验。请不要犹豫,通过InterSystmes的销售团队或 开发者社区 与我们联系。 对于选定的新功能和产品,我们已经建立了早期试用计划,允许我们的用户在软件发布之前进行评估。通过这些有针对性的举措,我们可以向目标受众学习,确保新产品在发布时能满足他们的需求。如果你有兴趣参与其中的任何一项,请通过InterSystems销售团队或 开发者社区 与我们联系。
文章
Michael Lei · 六月 11

InterSystems 最佳实践系列文章--系统性能组件SystemPerformance (原 pButtons) API和UI示例

在检查我们的^pButtons(在IRIS中改名为^SystemPerformance)性能监控工具的文档时,一位客户告诉我。"我理解所有内容,但我希望它能更简单......更容易定义配置文件,管理它们等等"。 在这次会议之后,我认为尝试为其提供一些更简单的人机界面是一个不错的试验。 这方面的第一步是在现有的pButtons例程上包裹一个基于类的API。 我还能够添加一些更多的 "功能",比如显示当前正在运行的配置文件,它们剩余的运行时间,以前运行的进程等等。 下一步是在这个API的基础上添加一个REST API类。 有了这个工件(pButtons REST API),人们就可以在上面建立一个比较时髦的用户界面。 举个🌰: - 我在这里分享这个方法的几个步骤: 两个类是 "Basic "API – 以及REST API(包括一些单元测试类来测试这些)。 一个用于REST API的Swagger JSON。为了构建这个,我使用了当时(2017年)InterSystems IRIS中尚未发布的REST管理功能。在InterSystems IRIS提供的基本Swagger JSON的基础上,我添加了更多的信息。 以及一个更加简单的angular UI界面 (基于 http://websystique.com/angularjs/angularjs-crud-application-using-ngresource/) 几个重点提示: 大多数的 "Basic "API方法都使用有文档的和官方支持的pButtons/SystemPerformance rountine的入口点。但有些方法是访问由pButtons工具管理的内部结构。这些方法没有被记录下来,也不被支持,这些方法在升级后可能会停止工作而不被通知。 这段代码不应该作为使用InterSystems IRIS构建基于REST的Angular应用程序的 "最佳实践 "范例。UI部分只是作为一个例子/"预告 "和示例的起点,[例如,它并不完整--"常规部分"(例如,日志文件夹位置管理的占位符)没有实现;刷新内容并不完全工作,以及其他一些 "已知问题..."] 这段代码最早是在很久之前写的--所以: (a) 我重新检查/测试/修改确保能在IRIS上运行 (包括改些名字等等). (b) REST API并没有使用需求/设计优先的方法--我最初确实玩过(当时)IRIS-beta对生成Swagger的支持,现在用它把这个变成了需求/设计优先的方法. (c) 这个可能没有用到最新的特性. (d) 我现在还增加了对在Docker容器中运行的支持(有相关的Docker文件等)。 (e) 我还增加了能作为ZPM包安装的支持。 应用和源代码:https://openexchange.intersystems.com/package/sys-perf-restapi
公告
Claire Zheng · 二月 23

【投票时间】InterSystems 开发者竞赛:Python

投票时间到! 来为你最欣赏的应用投上一票吧! 【投票时间】InterSystems 开发者竞赛:Python 🔥 为你的最爱投票 🔥 如何投票?请看以下细节。 Experts nomination(专家提名) InterSystems experts:InterSystems经验丰富的专家评审团将选出最好的应用程序,在Experts nomination(专家提名)中提名奖项。 有请InterSystems专家: ⭐️ @Benjamin.DeBoe, Product Manager⭐️ @Raj.Singh5479, Product Manager ⭐️ @Robert.Kuszewski, Product Manager⭐️ @Stefan.Wittmann, Product Manager⭐️ @Thomas.Dyar, Product Specialist⭐️ @Aleksandar.Kovacevic, Sales Engineer⭐️ @Eduard.Lebedyuk, Sales Engineer⭐️ @Sergey.Lukyanchikov, Sales Engineer⭐️ @Guillaume.Rongier7183, Sales Engineer⭐️ @Alexander.Woodhead, Technical Specialist ⭐️ @Jon.Willeke, Distinguished Quality Development Engineer⭐️ @Evgeny.Shvarov, Developer Ecosystem Manager Community nomination(社区提名) 每一个用户来说,你投出的每一票的分数,是根据下面两类中最高的分数来计: 满足条件 奖项排名 第一名 第二名 第三名 在社区发布一篇帖子,并在Open Exchange中上传一个App 9 6 3 在社区发布了至少一篇帖子 或 在Open Exchange上传了一个App 6 4 2 在社区进行了任何有效贡献,如回帖、提问、发帖等 3 2 1 等级 奖项排名 第一名 第二名 第三名 Global Masters 的 VIP 级别 或 InterSystems 产品经理 15 10 5 Global Masters 的 Ambassador级别 12 8 4 Global Masters的Expert 级别或开发者社区版主 9 6 3 Global Masters的Specialist级别 6 4 2 Global Masters的Advocate级别,或 InterSystems员工 3 2 1 Blind vote! 每个应用获得的投票数将对所有人不可见。我们会每天在这个帖子(英文原帖)的评论区发布一次排行榜。 在 竞赛页面 ,各项目将按以下进行排名:发布得越早,排名越靠前。 P.S. 不要忘记订阅本文(请订阅英文原帖),点击铃铛图标,即可收到最新评论。 在参与投票前,您需要: 登录 Open Exchange – 使用开发者社区账号即可。 在社区内进行有效贡献 ——回答问题、发帖、在Open Exchange发布新应用等等都可以,然后你的账号才可以参与投票。点击查看本帖 ,了解如何更好地成为有效的社区贡献者! 投票期间,如果你改了主意,可以随时将票改投给其他项目。 来支持你喜欢的项目吧! 注意:在投票期间,参赛者可以继续修复bug,提升应用,所以投票者不要错过最新发布的版本哦~
公告
Jeff Liu · 五月 15

[视频]使用Python连接到InterSystems IRIS

嗨,开发者们! 看看你如何用PyODBC和Native API在Python中开发并连接到InterSystems IRIS®数据平台。 ⏯ Using Python to Connect to InterSystems IRIS 欢迎大家来我们的 Bilibili主页观看更多视频!
公告
Michael Lei · 四月 9

在 Docker 20.10.14+ 使用 InterSystems IRIS 容器

Docker 20.10.14(2022年3月23日发布)改变了赋予容器的Linux能力,其方式与InterSystems IRIS 2021.1(及以上)容器的Linux能力检查器不兼容。 在Linux上运行Docker 20.10.14的用户会发现,IRIS 2021.1+容器将无法启动,并且日志会错误地报告缺少所需的Linux能力。 比如说。 [ERROR] Required Linux capability cap_setuid is missing. [ERROR] Required Linux capability cap_dac_override is missing. [ERROR] Required Linux capability cap_fowner is missing. [ERROR] Required Linux capability cap_setgid is missing. [ERROR] Required Linux capability cap_kill is missing. [FATAL] Your IRIS container is missing one or more required Linux capabilities. 解决方案 遇到这个问题的用户需要调整传递给容器入口的命令行,以禁用对Linux功能的检查。 在命令行中,在docker run或docker start命令中的镜像后面添加--check-caps false。 例如: docker run containers.intersystems.com/intersystems/iris-community:2022.1.0.152.0 --check-caps false 如果你使用的是docker-compose,相应的改动如下: command: --check-caps false 能力检查是在启动IRIS进程之前检查常见的错误配置的一种方式。 禁用Linux能力检查对容器中运行的IRIS进程没有影响。 更多阅读 Docker 20.10.14 release notes Running InterSystems Products in Containers
公告
Claire Zheng · 四月 6

【投票时间】InterSystems开发者竞赛:Globals

Hey 开发者们, 投票周开始了! 来为你最欣赏的应用投上一票吧!InterSystems开发者竞赛:Globals! 🔥 为你最欣赏的应用投票: 点此投票 🔥 如何投票?请看以下细节。 Experts nomination(专家提名) InterSystems experts:InterSystems经验丰富的专家评审团将选出最好的应用程序,在Experts nomination(专家提名)中提名奖项。 有请InterSystems专家: ⭐️ @Benjamin.DeBoe, Product Manager⭐️ @Alexander.Koblov, Support Specialist⭐️ @Robert.Kuszewski, Product Manager⭐️ @Daniel.Kutac, Senior Sales Engineer⭐️ @Stefan.Wittmann, Product Manager⭐️ @Joel.Solon, Senior Technical Trainer⭐️ @Eduard.Lebedyuk, Sales Engineer⭐️ @Timothy.Leavitt, Development Manager ⭐️ @Steve.Pisani, Senior Solution Architect⭐️ @Evgeny.Shvarov, Developer Ecosystem Manager Community nomination(社区提名) 每一个用户来说,你投出的每一票的分数,是根据下面两类中最高的分数来计: 条件 奖项排名 第一名 第二名 第三名 在社区发布一篇帖子,并在Open Exchange中上传一个App 9 6 3 在社区发布了至少一篇帖子 或 在Open Exchange上传了一个App 6 4 2 在社区进行了任何有效贡献,如回帖、提问、发帖等 3 2 1 等级 奖项排名 第一名 第二名 第三名 Global Masters 的 VIP 级别 或 InterSystems 产品经理 15 10 5 Global Masters 的 Ambassador级别 12 8 4 Global Masters的Expert 级别或开发者社区版主 9 6 3 Global Masters的Specialist级别 6 4 2 Global Masters的Advocate级别,或 InterSystems员工 3 2 1 Blind vote! 每个应用获得的投票数将对所有人不可见。我们会每天在这个帖子(英文原帖)的评论区发布一次排行榜。 在 竞赛页面 ,各项目将按以下进行排名:发布得越早,排名越靠前。 P.S. 不要忘记订阅本文(请订阅英文原帖),点击铃铛图标,即可收到最新评论。 在参与投票前,您需要: 登录 Open Exchange – 使用开发者社区账号即可。 在社区内进行有效贡献 ——回答问题、发帖、在Open Exchange发布新应用等等都可以,然后你的账号才可以参与投票。点击查看本帖 ,了解如何更好地成为有效的社区贡献者! 投票期间,如果你改了主意,可以随时将票改投给其他项目。 来支持你喜欢的项目吧! 注意:在投票期间,参赛者可以继续修复bug,提升应用,所以投票者不要错过最新发布的版本哦~
公告
Tingting Jiang · 六月 21

InterSystems热门职位(1):Market Development Representative

InterSystems正在招聘Market Development Representative欢迎您的自荐、推荐。请将简历投递至:Belinda.Glasson@intersystems.com,愿您的加入给我们带来新的活力,我们也将为您提供广阔的发展空间! (由于岗位职能要求,招聘职位说明以英文形式发布。) Location:Beijing Job Title:Market Development Representative Department:Marketing Reporting to:Marketing Manager What We Do Matters Why are we here? To ensure that our customers have reliable access to the right information at the right time—information they can share and use to draw insights, leading to better decisions. Job Summary This role will suit someone who is energised by the opportunity to develop and grow enterprise software sales pipelines in Healthcare IT markets. As a Market Development Representative, you’ll be working with a smart, entrepreneurial team to shape and grow our local business. Your primary focus will be development of a high quality and growing pipeline of data platform prospects and accounts that you will nurture. You will play a pivotal role in helping the team to identify, break into, and grow named accounts. In many instances you will represent the front line of InterSystems technology engagement with significantly sized enterprise accounts and healthcare providers. Key Responsibilities of the Role Make first contact and nurture a prospect relationship into a marketing qualified lead Partner with sales and marketing to develop and conduct prospecting strategies and build and execute on named account strategies Build and execute outbound prospecting plans for targeted accounts including but not limited to emails, phone calls and industry focused event attendance Develop brand and technology champions externally across target contacts Follow up inbound enquiries and marketing-generated leads Represent and promote InterSystems at industry events Manage and be accountable for growing your pipeline using technology to engage with your prospects and to track and report on progress Provide feedback and recommendations on marketing efforts based on real front-line interactions Conduct industry research to uncover pain points, find potential sales opportunities, build account profiles Handle a variety of communication including, but not limited to, inbound calls, warm follow-ups, social media, and email campaigns Work with 3rd party outbound call partners to support the success of new campaigns and other lead generation programs if needed. Experience and Qualifications BA or BSc in business/economics, marketing or technical Five or more years' experience of business development/inside sales in B2B field Experience qualifying and selling software or other technology products over the phone Strong listening and solution selling skills Proven ability to collaborate with field sales representatives and marketing team to plan and achieve goals Excellent oral and written communication skills in Chinese and English Knowledge of standard computer application skills, such as Word, Excel, PowerPoint, and Automation/CRM. Goal oriented and self-motivated; approaches work with a passion and enthusiasm Experience requirement Development and execution of a territory plan and mutually agreed strategic account plans. Proven success and experience in leading complex enterprise sales with large implementation projects. Demonstrable experience with tender responses and bid management. Proven experience in managing senior client relationships. Ability to develop relationships with customers at all levels across the business. Able to develop and maintain internal stakeholder relationships. Discover, qualify and develop new Data Platform business opportunities. Define and execute market plans and campaigns – together with marketing. Build a pipeline of new activity for Data Platform within and outside the customer base. Maintain an in-depth understanding of the political and organisational structure of a targeted prospect. Act as the principal liaison between InterSystems and partner/ customer accounts. Personal Specifications COMMUNICATION AND INFLUENCE - Is articulate and asks good questions; gives clear, concise, and focused answers to questions; explains opinions and positions; uses empathy to persuade others; keeps key people informed; ability to communicate with diverse audiences. TEAMWORK - Ability to collaborate effectively with people of comparable talents and different strengths; handles conflict constructively; avoids being argumentative; willing to pitch in and do the mundane things that need to be done; treats people at all levels and all roles with respect. PASSION for technology and must be technically and Social Media Savvy.
公告
Tingting Jiang · 六月 21

InterSystems热招职位(4):Support Facilitator

我们正在招聘Support Facilitator,欢迎您的自荐、推荐。 请将简历投递至Belinda.Glasson@intersystems.com,愿您的加入给我们带来新的活力,我们也将为您提供广阔的发展空间!(由于岗位职能要求,职位说明以英文形式发布。) Location:Beijing Job Title:Support Facilitator Department:Product Support Reporting to:China Support Supervisor What We Do Matters Why are we here? To ensure that our customers have reliable access to the right information at the right time—information they can share and use to draw insights, leading to better decisions. Job Summary Ensure customer satisfaction by triaging support requests, facilitating rapid responses, managing the support queue, Service Level Agreements and backlog and assisting the China Support Supervisor with the coordination of projects. Key Responsibilities of the Role Provide immediate response to customer support inquiries via phone or iService (the TrakCare ticketing system) Ensure iService tickets contain sufficient information and detail for second line support to work with, according to the minimum datasets laid out Where possible, provide immediate resolution to support inquiries. Alternatively, triage the inquiry and determine the best person to pass it to Assist level 2 support staff and the Support Manager with the monitoring, maintenance, administration and processing of support queues and tickets Develop and maintain a set of Standard Operating Procedures for responding to common and/or repeatable inquiries Assist the Support Manager with adherence to Service Level Agreements Assist the Support Manager with the coordination and management of projects to deliver new functionality to existing customers Identify opportunities to act as a “multiplier” in order to drive efficiency Provide regular reports to management and customers as requested Acquire new skills by assuming additional responsibilities as requested. Additional responsibilities as determined by management. Experience and Qualifications Friendly and professional verbal and written communication skills demonstrated by prior customer service experience Good organizational skills with demonstrable attention to detail 1-2 years’ experience in a support or Project Management Office role or an administrative role in a similar organization Must be fluent in English Personal Specifications IT or health-based degree or 2 years’ related experience
文章
Jingwei Wang · 八月 30

使用Python DB-API连接InterSystems IRIS

InterSystems IRIS 允许从任何符合DB-API的Python应用程序对InterSystems IRIS 进行快速、无缝地访问。Python DB-API驱动是对PEP 249 v2.0(Python数据库API规范 v2.0)的完整兼容。 步骤 前提是要有一个Python的开发环境。 本示例使用vs code 如下所示创建一个dbapi.py文件。 dbapi.py : # Embedded Python examples from summer 2022 import iris as dbapi ​ mytable = "mypydbapi.test_things" conn = dbapi.connect(hostname='localhost', port=1972, namespace='IRISAPP', username='superuser', password='iris') ​ # Create table cursor = conn.cursor() try: cursor.execute(f"CREATE TABLE {mytable} (myvarchar VARCHAR(255), myint INTEGER, myfloat FLOAT)") except Exception as inst: pass cursor.close() conn.commit() ​ # Create some data to fill in chunks = [] paramSequence = [] for row in range(10): paramSequence.append(["This is a non-selective string every row is the same data", row%10, row * 4.57292]) if (row>0 and ((row % 10) == 0)): chunks.append(paramSequence) paramSequence = [] chunks.append(paramSequence) ​ query = f"INSERT INTO {mytable} (myvarchar, myint, myfloat) VALUES (?, ?, ?)" ​ for chunk in chunks: cursor = conn.cursor() cursor.executemany(query, chunk) cursor.close() conn.commit() # conn.close() ​ sql = f"select * from {mytable}" rowsRead = 0 cursor = conn.cursor() cursor.arraysize = 20 ​ cursor.execute(sql) rc = cursor.rowcount rows = cursor.fetchall() for row in rows: print(row) rowsRead += len(rows) ​ cursor.close() conn.close() 安装 DB-API驱动,点击此链接下载DB-API驱动 pip install intersystems_irispython-version-py3-none-any.whl 配置Connection String - 按照Intersystems IRIS的服务器,在dbapi.py文件中配置 hostname port namespace username password 在InterSystems IRIS管理门户中创建IRISAPP命名空间。 在VS code中运行dbapi.py文件,运行结果如下,说明数据成功导入。 ['This is a non-selective string every row is the same data', 0, 0.0] ['This is a non-selective string every row is the same data', 1, 4.57292] ['This is a non-selective string every row is the same data', 2, 9.14584] ['This is a non-selective string every row is the same data', 3, 13.71876] ['This is a non-selective string every row is the same data', 4, 18.29168] ['This is a non-selective string every row is the same data', 5, 22.8646] ['This is a non-selective string every row is the same data', 6, 27.43752] ['This is a non-selective string every row is the same data', 7, 32.01044] ['This is a non-selective string every row is the same data', 8, 36.58336] ['This is a non-selective string every row is the same data', 9, 41.156279999999995] 在IRISAPP命名空间下,查看InterSystems IRIS 数据库,可以看到数据,说明数据导入成功InterSystems IRIS。 SELECT myvarchar, myint, myfloat FROM mypydbapi.test_things
公告
Claire Zheng · 九月 27

首届InterSystems Idea创意马拉松

社区成员们,大家好! 我们开心地宣布一种全新类型的比赛——寻找最聪明的创意比赛!欢迎了解: 💡 InterSystems Idea 创意马拉松 💡 在9月26日至10月16日期间提出一个与InterSystems产品和服务相关的想法,即可获得达成奖。 最重要的是,此次赛事InterSystems的员工和社区成员都可以参与! >> 点击提交你的想法吧! << 规则 InterSystems Idea创意马拉松是由InterSystems Ideas反馈门户组织的,在InterSystems Ideas反馈门户,您可以提交与我们的服务(文档、开发社区、全球大师等)相关的产品增强请求和想法,并投票选出您喜欢的。 在本次比赛中,我们邀请大家在这个门户网站上分享自己的想法,并为他人投票。 只需在 InterSystems Ideas网站 提交想法即可参赛。 合格的参赛创意应符合: 用户在Idea-A-Thon创意马拉松期间提交,由通过InterSystems Ideas网站注册的用户创建(您可以通过InterSystems SSO登录); 不要成为其他已经存在的想法的一部分——只允许新的想法; 不描述InterSystems产品或服务的现有功能; 除了标题之外,还要对观点的本质进行详细而清晰的解释; 以英文发帖; 被专家认为是有意义的。 所有符合条件的想法将在InterSystems ideas门户网站上拥有一个特殊的“Idea-A-Thon”状态,可以很容易地在Idea创意马拉松上找到。 谁可以参加? 我们邀请所有人加入我们的创意马拉松。欢迎InterSystems员工和社区成员参与并提交创意想法。 奖项 1. 参与奖 :每个发布合格想法的人都会将获得奖励: 🎁 InterSystems Branded T-Shirt 2. 专家奖:获胜者将由InterSystems专家团队选出,并将获得: 🎁 LEGO Star Wars™ R2-D2™ / BOSE Sleepbuds™ II / BOSE SoundLink Flex Bluetooth® speaker bundle 3. 社区奖:获得最多投票的创意,获奖者将获得: 🎁 LEGO Star Wars™ R2-D2™ / BOSE Sleepbuds™ II / BOSE SoundLink Flex Bluetooth® speaker bundle 重要提示:InterSystems的员工只能获得参与奖。专家奖和社区奖只能由非intersystems社区成员获得。 参赛时间 📝 9月26日 - 10月16日:创意发布、投票阶段 在此期间发布一个或几个创意。InterSystems Ideas网站的注册会员可以为发表的创意投票,这些投票将计入社区奖。 注意:越早发表你的创意,你就越有更多的时间去收集投票。 来参加吧! 来 InterSystems Ideas 发布你的创意拿大奖!时刻关注你的创意! 祝大家好运 👍 Important note: All prizes are subject to availability and shipping options. Some items may not be available to ship internationally to specific countries. Prizes cannot be delivered to residents of Crimea, Russia, Belarus, Iran, North Korea, Syria, or other US-embargoed countries. We will let you know if a prize is not available and offer a possible replacement. 重要提示:所有奖品均受可用性和运输选择。有些项目可能无法国际运输到特定国家。奖品不能发放给克里米亚、俄罗斯、白俄罗斯、伊朗、朝鲜、叙利亚或其他美国禁运国家的居民。如果没有奖品,我们将告知您,并提供可替代品。
文章
Jingwei Wang · 二月 14

使用嵌入式Python实现InterSystems IRIS 互操作性

# 1. 互操作性-嵌入式Python(interoperability-embedded-python) 这个概念旨在展示**iris互操作性框架**如何与嵌入的python一起使用。 ## 1.2. 示例代码 ``` import grongier.pex import iris import MyResponse class MyBusinessOperation(grongier.pex.BusinessOperation): def OnInit(self): print("[Python] ...MyBusinessOperation:OnInit() is called") self.LOGINFO("Operation OnInit") return def OnTeardown(self): print("[Python] ...MyBusinessOperation:OnTeardown() is called") return def OnMessage(self, messageInput): if hasattr(messageInput,"_IsA"): if messageInput._IsA("Ens.StringRequest"): self.LOGINFO(f"[Python] ...This iris class is a Ens.StringRequest with this message {messageInput.StringValue}") self.LOGINFO("Operation OnMessage") response = MyResponse.MyResponse("...MyBusinessOperation:OnMessage() echos") return response ``` ## 1.3. 注册一个组件 **不需要 ObjectScript 代码**. 多亏Grongier.PEX.Utils.RegisterComponent()方法。 启动一个嵌入式的Python shell: ``` /usr/irissys/bin/irispython ``` 然后使用这个类方法将一个新的py文件添加到组件列表中,以实现互操作性。 ``` iris.cls("Grongier.PEX.Utils").RegisterComponent(,,,,) ``` 例如 : ``` iris.cls("Grongier.PEX.Utils").RegisterComponent("MyCombinedBusinessOperation","MyCombinedBusinessOperation","/irisdev/app/src/python/demo/",1,"PEX.MyCombinedBusinessOperation") ``` # 2. 演示 Production有四个Python组件: - 两个业务服务组件 : - 用Grongier.PEX.MyCombinedBusinessService持续的给业务操作组件发送同步消息 - 这些消息是JSON格式的Python对象,存储于Grongier.PEX.Message类 - Thoses messages are python objects casted in JSON and stored in Grongier.PEX.Message. - Python代码 : src/python/demo/MyCombinedBusinessService.py - Grongier.PEX.MyBusinessService是一个用于写消息日志的原始业务服务组件,无其他作用。 - Python 代码 : src/python/demo/MyBusinessService.py - 两个业务操作组件: - Grongier.PEX.BusinessOperation是用于接收业务服务组件Grongier.PEX.MyCombinedBusinessService的消息 - Python 代码 : src/python/demo/MyBusinessOperation.py - Grongier.PEX.CombinedBusinessOperation可以接收Ens.StringRequest消息,并返回Ens.StringResponse消息 - Python 代码 : src/python/demo/MyCombinedBusinessOperation.py 为Python本地消息新增json跟踪: # 3. 前置需求 Git和Docker必须已安装 # 4. 使用Docker安装 从git拉取repo到本地 ``` git clone https://github.com/grongierisc/interpeorability-embedded-python ``` 在安装路径打开terminal,并运行: ``` docker-compose build ``` 使用IRIS容器运行你的项目: ``` docker-compose up -d ``` # 5. 无Docker安装 在iris 实例上安装 grongier_pex-1.0.0-py3-none-any.whl : ``` /usr/irissys/bin/irispython -m pip install grongier_pex-1.0.0-py3-none-any.whl ``` 然后,加载ObjectScript类: ``` do $System.OBJ.LoadDir("/opt/irisapp/src","cubk","*.cls",1) ``` # 6. 运行How to Run the Sample 打开production,并运行。 示例代码会开始运行。 # 7. repo中包含什么内容What's inside the repository ## 7.1. Dockerfile Dockerfile包含在容器中安装一些python的依赖项,例如pip, venv和sudo 然后创建dev目录将git仓库复制进入目录 Dockerfile启动IRIS并导入Titanics csv文件,然后为Python Shell激活**%Service_CallIn**。 可以使用使用相关的docker-compose.yml来轻松地设置额外的参数,如端口号和映射键和主机文件夹的位置。 这个dockerfile以安装python模块的需求结束。 最后一部分是关于安装jupyter notebook和它的内核。 使用.env/文件来调整在docker-compose中使用的dockerfile。 ## 7.2. .vscode/settings.json VSCode配置文件 [VSCode ObjectScript plugin](https://marketplace.visualstudio.com/items?itemName=daimor.vscode-objectscript) ## 7.3. .vscode/launch.json VSCode ObjectScript 调试配置文件 [获取更多相关信息](https://community.intersystems.com/post/dockerfile-and-friends-or-how-run-and-collaborate-objectscript-projects-intersystems-iris) ## 7.4. .vscode/extensions.json 如果你想在容器中用VSCode运行,可以添加扩展。 [获取更多相关信息](https://code.visualstudio.com/docs/remote/containers) 对于使用嵌入式python非常有用。 ## 7.5. src 文件夹 ``` src ├── Grongier │ └── PEX // ObjectScript classes that wrap python code │ ├── BusinessOperation.cls │ ├── BusinessProcess.cls │ ├── BusinessService.cls │ ├── Common.cls │ ├── Director.cls │ ├── InboundAdapter.cls │ ├── Message.cls │ ├── OutboundAdapter.cls │ ├── Python.cls │ ├── Test.cls │ └── Utils.cls ├── PEX // Some example of wrapped classes │ ├── MyBusinessOperationWithAdapter.cls │ ├── MyBusinessOperationWithIrisAdapter.cls │ ├── MyBusinessOperationWithPythonAdapter.cls │ ├── MyBusinessService.cls │ ├── MyOutboundAdapter.cls │ └── Production.cls └── python ├── demo // Actual python code to run this demo │ ├── MyBusinessOperation.py │ ├── MyBusinessOperationWithAdapter.py │ ├── MyBusinessOperationWithIrisAdapter.py │ ├── MyBusinessProcess.py │ ├── MyBusinessService.py │ ├── MyCombinedBusinessOperation.py │ ├── MyCombinedBusinessProcess.py │ ├── MyCombinedBusinessService.py │ ├── MyInboundAdapter.py │ ├── MyLoggingOperation.py │ ├── MyNonPollingStarter.py │ ├── MyOutboundAdapter.py │ ├── MyRequest.py │ ├── MyResponse.py │ ├── MySyncBusinessProcess.py │ └── SimpleObject.py ├── dist // Wheel used to implement python interoperability components │ └── grongier_pex-1.0.0-py3-none-any.whl ├── grongier │ └── pex // Helper classes to implement interoperability components │ ├── _BusinessHost.py │ ├── _BusinessOperation.py │ ├── _BusinessProcess.py │ ├── _BusinessService.py │ ├── _Common.py │ ├── _Director.py │ ├── _InboundAdapter.py │ ├── _Message.py │ ├── _OutboundAdapter.py │ └── __init__.py └── setup.py // setup to build the wheel ``` # 8. 如何增加一个新组件 ## 8.1. 入站适配器InboundAdapter 使用python执行入站适配器,使用grongier.pex.InboundAdapter子类,覆盖OnTask()方法。 ## 8.2. 出站适配器OutboundAdapter 使用python执行出站适配器,使用grongier.pex.OutboundAdapter子类,实现所需action方法。 ## 8.3. 业务服务组件BusinessService 使用python执行业务服务组件,使用grongier.pex.BusinessService子类,覆盖OnProcessInput()方法。 ## 8.4. 业务流程组件BusinessProcess 使用python执行业务流程组件,使用grongier.pex.BusinessProcess子类,覆盖 OnRequest(), OnResponse() and OnComplete()方法。 ## 8.5. 业务操作BusinessOperation 使用python执行业务流程组件,使用grongier.pex.BusinessOperation子类,覆盖 OnMessage()方法。 ## 8.6. 注册一个组件 启动一个嵌入式python shell: ``` /usr/irissys/bin/irispython ``` 然后使用这个类方法将一个新的py文件添加到组件列表中,以实现互操作性。 ``` iris.cls("Grongier.PEX.Utils").RegisterComponent(,,,,) ``` 例如 : ``` iris.cls("Grongier.PEX.Utils").RegisterComponent("MyCombinedBusinessOperation","MyCombinedBusinessOperation","/irisdev/app/src/python/demo/",1,"PEX.MyCombinedBusinessOperation") ``` ## 8.7. 直接使用Grongier.PEX 如果你不想使用RegisterComponent,你可以添加一个Grongier.PEX.Business*组件并配置其属性 - %module : - 你的python代码的模块名称 - %classname : - 你的组件的类名 - %classpaths - 你的组件所在的路径。 - 除了PYTHON_PATH之外,可以有一个或多个Classpaths(用'|'字符分隔) 例如 : # 9. 其他工作 - 仅业务服务组件和业务操作组件可以被测试 - 在适配器上工作 # 10. 认证 大部分代码来自Mo Cheng和Summer Gerry的PEX for Python。 注册部分来自于尚未发布的IRIS 2021.3的功能。
文章
Jingwei Wang · 二月 15

如何用Python访问InterSystems IRIS数据库

1. 使用PyODBC访问InterSystems IRIS数据库 pyodbc是一个开源的Python模块,可以利用ODBC来访问底层数据库。InterSystems支持使用pyodbc作为使用关系模式从Python访问数据库的一种方式。这个模块也可以用于InterSystems IRIS的早期版本。 代码示例 import pyodbc def run(): # connection information ip = localhost port = 51773 # IRIS超级服务端口号 namespace = USER username = <userName> password = <password> driver = "{InterSystems IRIS ODBC35}" # ODBC data source名称, IRIS 安装时一般自带ODBC驱动,所以不需要独立安装 ​ # Create connection to InterSystems IRIS connection_string = 'DRIVER={};SERVER={};PORT={};DATABASE={};UID={};PWD={}' \ .format(driver, ip, port, namespace, username, password) print(connection_string) connection = pyodbc.connect(connection_string) connection.setdecoding(pyodbc.SQL_CHAR, encoding='utf-8') connection.setencoding(encoding='utf-8') print("Connected to InterSystems IRIS") ​ ​ if __name__ == '__main__': run() 在windows终端执行上面的python文件,可以运行成功,代表您已经可以从通过pyodbc访问InterSystems IRIS 2. 使用 InterSystems IRIS Native API 访问InterSystems IRIS 数据库 2.1 安装 .whl 文件 2.2 代码示例 """ PURPOSE: Makes a connection to an instance of InterSystems IRIS Data Platform using the native API """ ​ import irisnative def run(): # connection information ip = localhost port = 51773 # IRIS超级服务端口号 namespace = USER username = <userName> password = <password> ​ # Create connection to InterSystems IRIS connection = irisnative.createConnection(ip, port, namespace, username, password) ​ print("Connected to InterSystems IRIS") ​ # Create an iris object iris_native = irisnative.createIris(connection) ​ ​ if __name__ == '__main__': run() 可以在windows终端执行上面的python文件,可以运行成功,代表您已经可以从通过Native API访问InterSystems IRIS 3. Pyodbc 与 Native API的区别 PyODBC可以让你的应用程序快速检索、更新和删除数据。 Native API可以让你的应用程序直接访问InterSystems IRIS中的底层数据结构(globals),以及调用ObjectScript方法和例程。