6 Followers · 347 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.

Question Sorin Petrescu · Mar 8, 2021

Hi,

I have to create to a web socket client, but I'm unable to read any data from the server, after flushing the buffer. I have no access to the server, only two examples for the client, one in java and the other one in php:

java example:

socket = new Socket("192.168.0.1", 2003);

DataOutputStream out = new DataOutputStream(socket.getOutputStream());

out.writeUTF("aPassword");

out.writeInt(websiteId);

out.flush();

DataInputStream in = new DataInputStream(socket.getInputStream());

int orderId = in.readInt();

in.close();
out.close();
socket.

8
0 739
Article Eduard Lebedyuk · Oct 21, 2019 4m read

InterSystems API Management (IAM) - a new feature of the InterSystems IRIS Data Platform, enables you to monitor, control and govern traffic to and from web-based APIs within your IT infrastructure. In case you missed it, here is the link to the announcement. And here's an article explaining how to start working with IAM.

In this article, we would use InterSystems API Management to Load Balance an API.

In our case, we have 2 InterSystems IRIS instances with /api/atelier REST API that we want to publish for our clients.

There are many different reasons why we might want to do that, such as:

  • Load balancing to spread the workload across servers
  • Blue-green deployment: we have two servers, one "prod", other "dev" and we might want to switch between them
  • Canary deployment: we might publish the new version only on one server and move 1% of clients there
  • High availability configuration
  • etc.
3
4 1049
Article Alberto Fuentes · Feb 24, 2021 1m read

Hi Community!  Today I'd like to share with you a link to some exercises from a workshop about developing REST APIs and how to manage them using InterSystems API Manager.

It includes step by step exercises to:

  • Developing REST APIs from OpenAPI specifications.
  • Adding the created API in an interoperability production (optional).
  • Basic API management in InterSystems API Manager (service, route, auth, consumers, rate limiting, etc.).
  • Some other more complex scenarios in InterSystems API Manager like load balancing, or routing by header.

You will find it all here: https://openexchange.intersystems.com/package/workshop-rest-iam

0
0 365
Question Duc Anh Tran · Oct 5, 2018

Hello everyone,

i already asked this question in another post (https://community.intersystems.com/post/how-can-i-import-my-json-format…) and i'm sorry for creating a new post but i still didn't get an answer so i try it again. Now i know how to import my JSON formatted data from my API to my DocDB but now i have the problem that my JSON formatted data from my API is imported only to the %Doc  column and not to the columns that i created with my properties.

6
0 2216
Question Luiz Raeder · Feb 1, 2021

In the context of IKO (Iris Kubernetes Operator) the question of Service not redirecting dynamically to the correct Pod is still pending.
In production this can be dangerous since an overload (or any other simpler problem) can cause you to change the main Pod and leave the application inoperable until we intervene.

Intersystems support warned that this is still an issue of IKO, but there are some possibilities that I am studying.

3
0 409
Question Florian Hansmann · Nov 10, 2020

Hey Intersystems Community,

I have a Problem with the Session Handling in .csp.

I wrote all my Web Services in .csp-Pages and do the work for example in the OnPreHttp Method for to get some data.

After that the Web Service response is in JSON.

I call These Web Services via fetch in my react Single Page application, also Many request parallel. The react App is Rolled out as index.html.
Everything Works Fine with the session Handling via Cookie.

3
0 612
Question Ben Anderson · Sep 23, 2020

I've run into an issue where job IDs are being retained through multiple calls. My team is doing a rewrite of our system that allows VB6 apps and web apps to directly interact with our Cache databases.

The new process has those applications calling into a WebAPI which then calls into the routines.

In one example of the issue we're having, the VB6 app calls into our api which then does the routine call. The Cache routine I'm working with has a load linetag that loads data into a temporary global called ^SORT($J). Upon completion, the process returns back through the api and the VB6 app.

2
0 309
Question Sebastian Thiele · Sep 1, 2020

Hi all,

a HealthConnect customer of ours came across with a question to use an external service via REST and OpenID within one of his HealthConnect  (2020.1) productions. The overal idea is to send data to the external system after receiving a baerer token to use for the communication between HealthConnect and this system.

Since I´ve never done such thing before I have an idea to solve this task but looking for a best practise way to do so. Using the RESt-Api of the external system is not the question here.

4
0 653
Announcement Anastasia Dyubaylo · Aug 31, 2020

Hi Community!

We're pleased to invite you to the Online meetup with the winners of the InterSystems FHIR programming contest!

Date & Time: Friday, September 4, 2020 – 11:00 EDT

What awaits you at this virtual Meetup? 

  • Our winners' bios.
  • Short demos on their applications.
  • A short interview with all the winners about the past contest. Plans for the next contests.

 

3
0 438
Announcement Anastasia Dyubaylo · Aug 24, 2020

Hey Developers!

This week is a voting week for the InterSystems IRIS for Health FHIR Contest!

So, it's time to give your vote to the best FHIR solutions built with InterSystems IRIS for Health.

🔥 You decide: VOTING IS HERE 🔥

How to vote? This is easy: you will have one vote, and your vote goes either in Experts Nomination or in Community Nomination.

6
0 442
Article Vinicius Maranhao Ribeiro de Castro · Apr 2, 2020 4m read

Introduction

Nowadays, there is a lot of applications that are using Open Authorization framework (OAuth) to access resources from all kinds of services in a secure, reliable and efficient manner. InterSystems IRIS is already compatible with OAuth 2.0 framework, in fact, there is a great article in the community regarding OAuth 2.0 and InterSystems IRIS in the following link here.

1
1 1646
Question Florian Hansmann · Aug 3, 2020

Hello Intersystems-Community,

I build an API and there I use $order to get the Data from my Globals.
When I first time use that API it's get an error (504 Gateway-Timout > 60 Sec.).

After 2 reloads it works with a loading time of 2 Sec.! Sounds for me like the $order is cached and it works faster. Is it true $order will be cached?

When it works, I only get the error at the next day. So it's very hard to reproduce that error.

8
0 545
Question David Foard · Jun 12, 2020

I have a couple of questions regarding /api/monitor and configuring it to use with SAM. In our environment we only expose port 443, so even though I define the Web Application to use unauthenticated, SAM is unable to make a connection. Is there any alternatives to get this working?

Also, even if  there is a way to configure using port 443, unauthenticated access will never fly in our environment. Are there any plans to enhance SAM so it you use OAuth or even mutual TLS?

Dave

2
0 379
Question Henrique Dias · Jun 29, 2020

Hi, 

During the implementation of iris-history-monitor using ZPM, I'm bumping on the following scenario:

My Installer.cls has a call for the Custom Sensors Class method.  The Custom information looks like a charm as I described in this article: 

IRIS History Monitor using custom built-in REST API /api/monitor/metrics

But, now I'm trying to replicate the same behavior using the module.xml to work with ZPM.

<?xml version="1.0" encoding="UTF-8"?>
<Export generator="Cache" version="25">
  <Document name="iris-history-monitor.ZPM">
    <Module>
      <Name>iris-history-monitor</Name>
      <Version>1.2.2</Version>
      <Packaging>module</Packaging>
      <SourcesRoot>src</SourcesRoot>
      <Resource Name="diashenrique.historymonitor.dashboard.PKG"/>
      <Resource Name="diashenrique.historymonitor.util.PKG"/>
      <Invokes>
        <Invoke Class="diashenrique.historymonitor.util.customSensors" Method="CustomApplicationMetrics"></Invoke>
        <Invoke Class="diashenrique.historymonitor.util.Favorite" Method="%AddFavorite">
          <Arg>HistoryMonitor</Arg>
          <Arg>/csp/irismonitor/dashboard.csp</Arg>
        </Invoke>
      </Invokes>
      <CSPApplication
        Url="/csp/irismonitor"
        Path="/src/csp"
        Directory="{$cspdir}/irismonitor"
        ServeFiles="1"
        Recurse="1"
        CookiePath="/csp/irismonitor"
        UseCookies="2"
        MatchRoles=":%DB_${Namespace}"
        PasswordAuthEnabled="1"
        UnauthenticatedEnabled="0"
       />
    </Module>
  </Document>
</Export>
4
0 335
Question Pavithra Rajamohan · Jun 29, 2020

Hello,

I would like some advice please. I am trying to send a Httpnetrequest in the form of a JSON message. To request for the web token I have created a method which has the relevant message body and its corresponding values and sent this to the Process. The Process has a method called Transform Message which takes the message and changes it to JSON format and passes it through to the Operation. The Operation currently has the basic HTTPNetrequest listing the relevant information for the website that we are trying to reach. The task has been created to try and invoke the service into action.

1
0 441
Question Joao Palma · Jun 19, 2020

Hi all

Does anyone have an easy way of reading the cdata in the xml response returned buy a Webservice?

At the moment I have a XML class and then I use read.Correlate() to read through that XML bit.  

However, depending on the message I have different things in the CData and I don't want to create a class for each one of these.

The API returns the cddata as  KeyValueOfstringstring.

My idea would be to send to my method the cdata as a parameter which is the KeyValueOfstringstring part of the response message and then deal with it...

Any help would be appreciated...

Best Regards

4
0 671
Article Yuri Marx · Jun 17, 2020 1m read

In 2017, Forbes published an article talking about API Economy (see: https://www.forbes.com/sites/louiscolumbus/2017/01/29/2017-is-quickly-becoming-the-year-of-the-api-economy/). This article was the trigger to popularize the use of API and API Management by large companies. The article published a maturity model. My understanding is that Intersystems IRIS allows you to reach the top of the pyramid with your current technologies. See the figure above.
For this it is important to combine % CSP.

0
2 612
Announcement Anastasia Dyubaylo · Jun 17, 2020

Hey Developers,

We're pleased to invite you to join the nextInterSystems IRIS 2020.1 Tech Talk: Using InterSystems Managed FHIR Service in the AWS Cloudon June 30 at 10:00 AM EDT!

In this InterSystems IRIS2020.1 Tech Talk, we’ll focus on using InterSystems Managed FHIR Service in the AWS Cloud. We’ll start with an overview of FHIR, which stands for Fast Healthcare Interoperability Resources, and is a next generation standards framework for working with healthcare data. 

You'll learn how to:

  • provision the InterSystems IRIS FHIR server in the cloud;
  • integrate your own data with the FHIR server;
  • use SMART on FHIR applications and enterprise identity, such as Active Directory, with the FHIR server.

We will discuss an API-first development approach using the InterSystems IRIS FHIR server. Plus, we’ll cover the scalability, availability, security, regulatory, and compliance requirements that using InterSystems FHIR as a managed service in the AWS Cloud can help you address.

    
 

0
0 509
Question Arun Kumar · Oct 15, 2018

Hi All,

Actually, I'm developing few restful API's. I want to create a authentication tokens and display it on my login restful API. If I'm using CSP sessionId, how can I validate the session Id's in another or continues restful API's. else, is there any other approach to handle this task. 

My Primary goal is, I have to integrate 2 different front end applications. One is Zen framework another one is web pages from Python. 

If any lead, it would be appreciated. 

Thanks,

Arun Kumar Durairaj. 

1
0 615