6 Followers · 332 Posts

Application Programming Interface (API) is a set of subroutine definitions, protocols, and tools for building application software. In general terms, it is a set of clearly defined methods of communication between various software components.

Learn more.

Article Lucas Enard · Aug 17, 2022 9m read

In this GitHub based on this InterSystems community rest api template Guillaume and I have created this example of all the import CRUD operations usable using ONLY Python on IRIS and using Flask.

Using the IRIS ORM or by simply doing SQL requests as both methods are seen in the GitHub.

1. intersystems-iris-docker-rest-template

This is a template of a REST API application built in python in InterSystems IRIS. It also has OPEN API spec, can be developed with Docker and VSCode.






Here is an example

13
0 924
Article Niyaz Khafizov · Aug 3, 2018 4m read

Hi all. Today we are going to install Jupyter Notebook and connect it to Apache Spark and InterSystems IRIS.

Note: I have done the following on Ubuntu 18.04,  Python 3.6.5.

Introduction

If you are looking for well-known, widely-spread and mainly popular among Python users notebook instead of Apache Zeppelin, you should choose Jupyter notebook. Jupyter notebook is a very powerful and great data science tool. it has a big community and a lot of additional software and integrations. Jupyter notebook allows you to create and share documents that contain live code, equations, visualizations and








1
2 4691
Article Lucas Enard · Sep 11, 2022 16m read

Hello everyone, I’m a French student that just arrived in Prague for an academical exchange for my fifth year of engineering school and here is my participation in the interop contest.

I hadn’t much time to code since I was moving from France to Prague and I’m participating alone, so I decided to make a project that’s more like a template rather than an application.

I wanted to participate since my field (Data Science and AI) is not often linked with sustainability and the contest was a way for me to express myself in this important subject that is sustainability and Environnement.

As you know































Train request

4
0 396
Question Hengameh Karimi · Aug 9, 2022

I am  building a DTL to transform from a JSON/XML to a custom message. The DTL works fine, but I wants to move some part of the data transformation to another DTL and calls it using the <subtransform> action from the main DTL.

to define 

I have the <subtransform class='ADT.DTL.SDAToPatientIdentifierInfo' targetObj='target.PatientIdentifierInfo.()' sourceObj='source.{Patient.Extension.PatientIdentifiers(k1)}' />

when I am testing this subtransform I am getting the following for each identifier in the message.

<PatientIdentifierInfo>
    <PatientIdentifier xsi:nil="true" xmlns:xsi="http://
4
0 441
Article Michael Braam · Aug 17, 2022 12m read

Being interoperable is more and more important nowadays. InterSystems IRIS 2022.1 comes with a new messaging API to communicate with event streaming platforms like Kafka, AWS SQS/SNS, JMS and RabbitMQ.
This article shows how you can connect to Kafka and AWS SQS easily.
We start with a brief discussion of the basic concepts and terms of event streaming platforms. 

Event streaming platforms purpose and common terms

Event streaming platforms like Kafka or AWS SQS are capable to consume a unbound stream of events in a very high frequency and can react to events. Consumers read the data from stream



0
1 637
Article David Reche · Oct 15, 2018 5m read

Background

InterSystems IRIS 2019 is going to introduce new and exciting features. One of the areas with new interesting must-to-know things is the API Management. 

OpenAPI initiative (https://www.openapis.org/) is the organization supporting a standard specification to define APIs (https://github.com/OAI/OpenAPI-Specification). The OpenAPI Specification (OAS) defines a standard, programming language-agnostic interface description for REST APIs, which allows both humans and computers to discover and understand the capabilities of a service without requiring access to source code, additional





16
3 2786
Article Eduard Lebedyuk · Nov 20, 2019 9m read

In this article, I would like to talk about the spec-first approach to REST API development.

While traditional code-first REST API development goes like this:

  • Writing code
  • REST-enabling it
  • Documenting it (as a REST API)

Spec-first follows the same steps but reverse. We start with a spec, also doubling as documentation, generate a boilerplate REST app from that and finally write some business logic.

This is advantageous because:

  • You always have relevant and useful documentation for external or frontend developers who want to use your REST API
  • Specification created in OAS (Swagger) can be imported into a variety of tools allowing editing, client generation, API Management, Unit Testing and automation or simplification of many other tasks
  • Improved API architecture.  In code-first approach, API is developed method by method so a developer can easily lose track of the overall API  architecture, however with the spec-first developer is forced to interact with an API from the position if API consumer which usually helps with designing cleaner API architecture
  • Faster development - as all boilerplate code is automatically generated you won't have to write it, all that's left is developing business logic.
  • Faster feedback loops - consumers can get a view of the API immediately and they can easier offer suggestions simply by modifying the spec

Let's develop our API in a spec-first approach!

6
10 3522
Article Nikita Mullin · Jun 1, 2020 4m read

Jupyter Notebook is an interactive environment consisting of cells that allow executing code in a great number of different markup and programming languages.

To do this Jupyter has to connect to an appropriate kernel. There was no ObjectScript Kernel, that is why I decided to create one.

You can try it out here.

Here's a sneak peek of the results:

Jupyter Kernels 101

There are several ways to create a Jupyter Kernel. I decided to make a Python wrapper kernel.

We have to create a subclass of ipykernel.kernelbase.Kernel and implement the do_execute method which receives a code to be executed i

alt text

4
3 1008
Article Lucas Enard · May 3, 2022 44m read


This formation, accessible on my GitHub, will cover, in half a hour, how to read and write in csv and txt files, insert and get inside the IRIS database and a distant database using Postgres or how to use a FLASK API, all of that using the Interoperability framework using ONLY Python following the PEP8 convention.

This formation can mostly be done using copy paste and will guide you through everystep before challenging you with a global exercise.
We are available to answer any question or doubt in the comment of that post, on teams or even by mail at lucas.enard@intersystems.com .

We would






























































































RESTResults

1
1 832
InterSystems Official Bob Kuszewski · Jun 21, 2022

IAM 2.8.1 Release

InterSystems API Manager (IAM) version 2.8.1 is now Generally Available.  In addition to a spade of performance improvements and bug fixes, this release adds significant new functionality, including:

  • Core
    • Consumer Groups - Lets you group together consumers to create service tiers
    • Event Hooks - Enables IAM to call a web hook when certain events occur. For example, send a PagerDuty message if an endpoint fails.
    • Improvements to Hybrid Mode - Relaxed version checking; control plane can continue to work if the database is down.
  • New Plug-ins
    • JQ - Apply transformati
0
0 362
Article Tani Frankel · May 6, 2020 2m read

While reviewing our documentation for our ^pButtons (in IRIS renamed as ^SystemPerformance) performance monitoring utility, a customer told me: "I understand all of this, but I wish it could be simpler… easier to define profiles, manage them etc.".

After this session I thought it would be a nice exercise to try and provide some easier human interface for this.

The first step in this was to wrap a class-based API to the existing pButtons routine.

I was also able to add some more "features" like showing what profiles are currently running, their time remaining to run, previously running processes and more.

The next step was to add on top of this API, a REST API class.

With this artifact (a pButtons REST API) in hand, one can go ahead and build a modern UI on top of that.

For example -

15
4 1349
Question Daniel Bertozzi · Apr 13, 2022

Recently our team have been getting requests to pickup a large amount of data from API nightly (e.g. using ODATA to loop through pages) and placing that into MS SQL databases.

My question is, what is considered the best practice to get data from API and route to external SQL database WITHOUT persisting any messages/traces etc?

At the moment my thinking would be to write a service that triggers an action once a day to an EnsLib.HTTP.OutboundAdapter, then map the HTTP response into a linked table (via method to keep the operation clean that managed the gateway on the way in and out of the meth

5
0 511
Article Eduard Lebedyuk · Jun 19, 2020 2m read

Recently I needed to generate a Swagger spec from persistent and serial classes, so I'm publishing my code (it's not complete - you still need to hash out the application specifics, but it's a start). It's available here.

Let's say you have these classes:

 

Classes

14
3 1971
InterSystems Official Stefan Wittmann · Feb 16, 2021

The GA release is now published for the 1.5 version of the InterSystems API Manager (IAM).

 

The container for IAM, including all relevant artifacts to upgrade from earlier versions of IAM can be downloaded from the WRC Software Distribution site in the Components area.

 

The build number for this release is IAM 1.5.0.9-4.

 

InterSystems API Manager 1.5 makes it easier to manage your API traffic, integrate with your environment and onboard users of your APIs. It has many new capabilities, including:

 

  • Improved User Experience
  • Introducing new Developer Portal tools
  • Support for Kafka connectivity
6
0 702
Question Jose-Tomas Salvador · Sep 24, 2018

I would like to know any experience working with OPC UA standard in industry sector or IoT. Currently there is no adaptor implemented in IS IRIS for it but it seems to be pushed as the main standard in industry. Did anyone had to implement their own libraries or adaptors to deal with it? Or do you advice to use any already implemented library in Java, Python,...? Any feedback would be appreciated. 

1
0 501
Question Emanuel Lazar · Sep 5, 2018

SQL gateway. 'Locking' problem.

while debugging, is there in Caché a command to 'unlock' the instance of a class ?

close class, and kill class is not enough.

same problem in %Activate link

for each debug I have to exit (Halt) the terminal, 

make debug in C#

coming back , and re-load again in Caché.

Regards,

Emanuel

1
0 386
Question Neerav Verma · Jan 17, 2020

Hi All,

We have been using DeepSee which has been the integrated Analytic Dashboard built over Cache Cubes. It works fine but it's visual capabilities are limited and most probably is getting phased out.

If I am not wrong, Tableau is the suggested alternative to DeepSee . It is expensive and a big and considerable shift from existing technology

I wanted to get an opinion of the community as to these few key points
- What other BI tools others have been using with IRIS and what have been their experience
- For which tools are the best inbuilt support / api's avaialble in IRIS
-

10
0 728
Question Stella Ticker · Jan 22, 2022

We are using the out-of-the-box  IHE components to exchange CCDs with an external system. A requirement to audit the outbound CCDs has arisen.

Is there an existing report that will show these ? If not, how can we audit these?

Thank you for reading

1
0 221
Question Daniel Castro · Jan 11, 2022

Hi !

 I am new to the language and I am trying to read some json data from a government site (it is public data).

The address is: https://apisidra.ibge.gov.br/values/t/1736/n1/all/v/all/p/all/d/v44%202…

Here is some data sample:

[{"NC":"Nível Territorial (Código)","NN":"Nível Territorial","MC":"Unidade de Medida (Código)","MN":"Unidade de Medida","V":"Valor","D1C":"Brasil (Código)","D1N":"Brasil","D2C":"Variável (Código)","D2N":"Variável","D3C":"Mês (Código)","D3N":"Mês"},{"NC":"1","NN":"Brasil","MC":"30","MN":"Número-índice","V"
15
0 910
Article José Pereira · Dec 22, 2021 5m read

What about having your IRIS REST APIs scanned every push you did and being reported on possible vulnerabilities? This is what I am going to show you in this article.

Recently, we had the Security Contest with amazing applications and examples showing how to improve security on your IRIS solutions. One of such examples was the zap-api-scan-sample, made by me and my colleague Henrique Dias. Our application shows how to use the OWASP ZAP API scanner to perform security tests on your REST APIs OpenAPI definitions generated by IRIS.

Now, we did an improvement on such example, using ZAP GitHub Actio

0
0 1614