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 Gevorg Arutiunian · Jul 6, 2018 6m read

GraphQL is a standard for declaring data structures and methods of data access that serves as a middleware layer between the client and the server. If you’ve never heard about GraphQL, here is a couple of useful online resources: here, here and here.

In this article, I will tell you how you can use GraphQL in your projects based on InterSystems technologies.

24
10 2894
Question Rubens Silva · Mar 9, 2020

Just like the title says, I'm attempting to find a way to create a web application that instead of serving CSP files, it uses a dispatch class.
I searched for clues in the documentation, but the CSPApplication tag seems to be exclusively for CSP file-based applications.
I'm trying to avoid implementing a workaround such as using the Invoke tag to call the Security.Applications to generate the web application but I might be forced to do so, even though it's unpleasant if I had to say...
So, is there an official way to execute this task?

22
0 792
Discussion Adel Elsayed · Feb 8, 2020

I'm looking into finding ways to  fetch data from cache efficiently and work with it with python - specially pandas.

i tried the following but i'm wondering if this is the most efficient way?

to run the stored procedure as %ResultSet inside cache in a classmethod and serialize the data to JSON

and then call that class method from python

Class User.RegObj Extends %RegisteredObject{ClassMethod runAlpha() As %Library.DynamicAbstractObject{set QHi=##class(%DynamicAbstractObject).%FromJSON("{}")set rs=##class(%ResultSet).%New("User.Person:alpha")set pr=rs.Execute("","")set idx=0w
5
0 723
Article Eduard Lebedyuk · Mar 14, 2018 10m read

Intro

For many in today's interoperability landscape, REST reigns supreme. With the overabundance of tools and approaches to REST API development, what tools do you choose and what do you need to plan for before writing any code? This article focuses on design patterns and considerations that allow you to build highly robust, adaptive, and consistent REST APIs. Viable approaches to challenges of CORS support and authentication management will be discussed, along with various tips and tricks and best tools for all stages of REST API development. Learn about the open-source REST APIs available for InterSystems IRIS Data Platform and how they tackle the challenge of ever-increasing API complexity. The article is a write-up for a recent webinar on the same topic.

5
6 3106
Question Michael Davidovich · Dec 3, 2019

I am writing an API that sends over a very large JSON object. 

The code I'm using to get the data is actually used in our production system today for the use of writing a report.

However when I call the code using the API (using SoapUI) I am getting 'Error getting response; java.net.SocketTimeoutException: Read timed out'

The web applications settings have a session timeout setting at 15 minutes, but this is timing out within just a few minutes, so I know it's not hitting this mark.

Has anyone experienced this issue with APIs?  We are used to spitting out a lot of data and quickly with Cac

3
0 412
Question Jimmy Christian · Nov 23, 2019

Hello community,

I have a very simple REST API connection doing a POST of JSON messages via AZURE APIM. 

It worked successfully for few weeks until a day ago when i started receiving a bad response as below.

<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"><meta name="format-detection" content="telephone=no"><meta name="viewport" content="initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><script type="text/javascript" src="/_Incapsula_Resource?......................................
 

Is there anything to put in the http header to avoid this message or any sugge

2
0 455
Article Eduard Lebedyuk · Nov 22, 2019 1m read

This quick guide shows how to serve HTTPS requests with InterSystems API Management. Advantage here is that you have your certs on one separated server and you don't need to configure each backend web-server separately.

Here's how:

1. Buy the domain name.

2. Adjust DNS records from your domain to the IAM IP address.

3. Generate HTTPS certificate and private key. I use Let's Encrypt - it's free.

4. Start IAM if you didn't already.

5. Send this request to IAM:

POST http://host:8001/certificates/
{
    "cert": "-----BEGIN CERTIFICATE-----...",
    "key": "-----BEGIN PRIVATE KEY-----..."
2
1 675
Announcement Eduard Lebedyuk · Nov 12, 2019

First webinar on  InterSystems API Management!


We are pleased to invite you to the upcoming webinar in Russian: Introduction to InterSystems API Management on November 21 at 10:00 Moscow time (GMT+3)!

As you might have heard, we recently introduced the InterSystems API Manager (IAM) - a new feature of the InterSystems IRIS Data Platform,
enabling you to monitor, control and govern traffic to and from web-based APIs within your IT infrastructure.

In this webinar I will highlight some of the many capabilities IAM allows you to leverage. InterSystems API Manager brings everything you need:

  • to monitor your HTTP-based API traffic and understand who is using your APIs; what are your most popular APIs and which could require a rework.
  • to control who is using your APIs and restrict usage in various ways. From simple access restrictions to throttling API traffic and fine-tuning request payloads, you have fine-grained control and can react quickly.
  • to protect your APIs with central security mechanisms like OAuth2.0 or Key Token Authentication.
  • to onboard third-party developers and provide them with a superb developer experience right from the start by providing a dedicated Developer Portal for their needs.
  • to scale your API demands and deliver low-latency responses

There would be a live demo.

This webinar is for System Architects, Developers and DevOps Engineers.
Time: November 21 at 10:00 Moscow time (GMT+3)!

The language of the webinar is Russian.


Register!

5
0 419
Announcement Anastasia Dyubaylo · Oct 30, 2019

Hi Community,

Please join the upcoming InterSystems Israel Meetup in Herzelia which will be held on November 21st, 2019! 

It will take place in the Spaces Herzliya Oxygen Ltd from 9:00 a.m. to 5:30 p.m.

The event will be focused on the InterSystems IRIS: it will be divided into IRIS for Healthcare and IRIS Data Platform. A joint lunch will be also included.

Please check the draft of the agenda below:

2
0 427
Announcement Anastasia Dyubaylo · Oct 3, 2019

Hi Community!

We are pleased to invite you to the upcoming webinar in Spanish "Desarrollar y gestionar APIs con InterSystems IRIS Data Platform" / "Developing and managing APIs with InterSystems IRIS Data Platform" on October 15 at 16:00 CET!

Are you a backend developer? Or a Systems integration specialist? If so… this webinar is for you!

0
0 256
Question Craig Regester · Sep 30, 2019

Good morning -

I am attempting to pass some HL7 content (say, a complete ADT message) from one server to another via REST/JSON - for reasons. 

I can get the data across but when I try to create an EnsLib.HL7.Message object from the message in the JSON body, I end up with just the start of an HL7 msg in the resulting object. Looks like: MSH|^~\&

The start of the code accepting the data looks like this:

tReq = {}.%FromJSON(%request.Content.Read())
tInput = tReq.Message

tMsg = ##class(EnsLib.HL7.Message).%New()
tMsg.ImportFromString(tInput)
tMsg.DocType = "2.3.1:ADT_A01"

So now if I

3
0 1154
Question Thembelani Mlalazi · Sep 23, 2019

I am trying to return a stream soap response using web services I can call my web service supply it with a xml string which works fine . I then work on that XML and try to return  a Stream but all works in the production when my service receives the stream after I get the error  as if its trying to copy stream to a variable and I am confused as to where that operation happens.

The errors I am getting 
ERROR <Ens>ErrException: <METHOD DOES NOT EXIST>zCopyFrom+28^%Stream.TmpCharacter.1 *Rewind

and here is the stack trace in case I am missing something

  • $$^zGetErrorTrace+3^Ens.Util.Trace.1 +1
3
0 993
Question Cristiano Silva · Sep 18, 2019

Hi folks,

I started to play with docker and InterSystems products, it's amazing, but I got the error when try to load the IAM-0.34-1-1.tar.gz image to docker:


[root@CONF-RHEL-DOCKER-IRIS-API admconf]# docker load -i IAM-0.34-1-1.tar.gz
open /var/lib/docker/tmp/docker-import-547148651/IAM/json: no such file or directory

Bellow docker and docker-compose version:

[root@CONF-RHEL-DOCKER-IRIS-API admconf]# docker --version
Docker version 19.03.2, build 6a30dfc

[root@CONF-RHEL-DOCKER-IRIS-API admconf]# docker-compose --version
docker-compose version 1.18.0, build 8dd22a9

OS version (Azure VM)

[root@CONF-RHEL-

4
0 391
Announcement Jacquie Clermont · Sep 9, 2019

Hi Community:

Interested in getting hands-on with our technology? Come to Global Summit, where you'll find five experiences to choose from in the Experience Lab:

  • The Machine Learning Toolkit on OpenExchange
  • The Next Evolution of APIs
  • Working with the FHIR Resource Repository
  • Using AI Services to Build Intelligent Apps
  • Containerizing Apps with InterSystems IRIS

If you've never tried these out, Experiences are guided exercises in which you engage with our technology. Each Experience starts with a brief introduction outlining a particular task. Then you complete the task on your ow

0
0 258
Announcement Jacquie Clermont · Sep 6, 2019

Hi Community,

Our latest issues of Developments  and Developments Healthcare Edition have been posted to the Developments Archive site, where you'll also find other previous issues. Learn about InterSystems API Manager, preview releases of InterSystem IRIS and IRIS for Health, and live webinars this month about how you can easily move your Ensemble or Caché applications to InterSystems IRIS. 
 

Optimize your investment in InterSystems technology by subscribing to these and other InterSystems publications.

0
0 285
Article Nikita Savchenko · Jan 5, 2019 6m read

This article introduces InterSystems iKnow Entity Browser, a web application which allows to visualize extracted and organized text data mined from a large number of texts, powered by InterSystems iKnow technology, which is also known as InterSystems Text Analytics in InterSystems IRIS. Feel free to play with the demo of this tool or learn more about it on InterSystems Open Exchange.

I started the development of this project in late 2016. From now on, my iKnow Entity Browser is used around the world by those who use InterSystems technology in their stack and those who do text mining. This

6
3 1339
Question Alexey Maslov · Jun 14, 2018

I am still working on a generic task where I need to apply journal file records to another database. Initially I didn't want to use Journal.Restore class methods as I need to perform some data transformation, and it seemed that the clearest way to achieve it was to read journal file record by record using %SYS.Journal.Record API. 

This approach worked (with some help from @Dmitry Maslennikov and @Eduard Lebedyuk), while it turned that the processing speed of %SYS.Journal.Record:List query was very slow, about 1MB of journal data per second on a mid-range server.

Therefore my second try was t

8
0 633
Announcement Sourabh Sethi · Aug 4, 2019

 Pre-requisite - Basic knowledge of ENSEMBLE and ObjectScript

My both previous sessions were related to OBJECTSCRIPT.
This time, we are going to add a flavour Ensemble/Healthshare,
to be informative and fast.

In this session we are going to discuss about - 
"Informative and Fast WEB API VIA ObjectScript and Ensemble/HealthShare"

Web API can be REST or SOAP. We will taking example of SOAP in this session.
However, whatever I demonstrate today, will also be applicable for REST.

In today's Session, we will creating 2 versions of same API and will Compare there performance using tool called SOAP U

0
0 376
Article Niyaz Khafizov · Jul 27, 2018 4m read

Hi all. Today we are going to upload a ML model into IRIS Manager and test it.

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

Introduction

These days many available different tools for Data Mining enable you to develop predictive models and analyze the data you have with unprecedented ease. InterSystems IRIS Data Platform provide a stable foundation for your big data and fast data applications, providing interoperability with modern DataMining tools. 

In this series of articles we explore Data mining capabilities available with InterSystems IRIS. In t







2
2 1541
InterSystems Official Jeff Fried · May 9, 2019

The preview release of InterSystems IRIS 2019.2 is now  available - give it a try!

 

Container images are available via the WRC's preview download site.

The build number for these releases is 2019.2.0.100.0.

InterSystems IRIS Data Platform 2019.2  is the first CD (continuous delivery) release of InterSystems IRIS.  It has many new capabilities including:

  • Addition of the IRIS Native API for Python and Node.js and relational access for Node.js
  • Simplified sharding architecture and flexible sharded schema design
  • Support for the new PowerBI connector for InterSystems IRIS
  • New look in t
2
0 684
Question Soundar Aswin · Apr 9, 2019

Hi There ,

     We are trying to do a small POC trying to integrate NHS Careconnect with Ensemble/Healthconnect. Does anyone have implemented this before. It would be good that you provide some suggestions  or any sample implementation. It would be good to get suggestions any  interesting use cases 

within NHS England for the POC.

2
0 416
Question Craig Regester · Oct 16, 2017

Good afternoon - I am in the process of writing a AngularJS front-end for some CoS functions that my integration team uses for auditing, analyzing and various other purposes. I have re-tooled the functions to return JSON results that AngularJS can then interpret and display. Many kudos to the AngularJS series on this site for giving me a jump start.

One of these functions uses %SQL.Statement to prepare a class query on %Dictionary.CompiledClassQuery, Summary. This works perfectly if I give the web app making the call %All privileges but obviously I don't want to do that. I cannot determine the

6
0 898